Ver código fonte

Merge pull request #36 from thorbenPollack/master

Added german language support
刘彦博 6 anos atrás
pai
commit
92d0528634
3 arquivos alterados com 60 adições e 1 exclusões
  1. 15 0
      example/lib/main.dart
  2. 4 0
      lib/src/date_format.dart
  3. 41 1
      lib/src/i18n_model.dart

+ 15 - 0
example/lib/main.dart

@@ -120,6 +120,21 @@ class HomePage extends StatelessWidget {
                   'show date time picker (Russian)',
                   style: TextStyle(color: Colors.blue),
                 )),
+            FlatButton(
+                onPressed: () {
+                  DatePicker.showDateTimePicker(context, showTitleActions: true,
+                      onChanged: (date) {
+                        print('change $date');
+                      }, onConfirm: (date) {
+                        print('confirm $date');
+                      },
+                      currentTime: DateTime(2019, 12, 31, 23, 12, 34),
+                      locale: LocaleType.de);
+                },
+                child: Text(
+                  'show date time picker (German)',
+                  style: TextStyle(color: Colors.blue),
+                )),
           ],
         ),
       ),

+ 4 - 0
lib/src/date_format.dart

@@ -235,6 +235,8 @@ String formatDate(DateTime date, List<String> formats, LocaleType locale) {
         return formatDate(date, [D, ' ', dd, ' ', M], locale);
       } else if (locale == LocaleType.ko) {
         return formatDate(date, [mm, '월', dd, '일 ', D], locale);
+      } else if (locale == LocaleType.de) {
+        return formatDate(date, [D, ', ', dd, '. ', M], locale);
       } else {
         return formatDate(date, [D, ' ', M, ' ', dd], locale);
       }
@@ -245,6 +247,8 @@ String formatDate(DateTime date, List<String> formats, LocaleType locale) {
         return formatDate(date, [D, ' ', dd, ' ', M, ' ', yyyy], locale);
       } else if (locale == LocaleType.ko) {
         return formatDate(date, [yyyy, '년', mm, '월', dd, '일 ', D], locale);
+      } else if (locale == LocaleType.de) {
+        return formatDate(date, [D, ', ', dd, '. ', M, ' ', yyyy], locale);
       } else {
         return formatDate(date, [D, ' ', M, ' ', dd, ', ', yyyy], locale);
       }

+ 41 - 1
lib/src/i18n_model.dart

@@ -1,4 +1,5 @@
-enum LocaleType { en, zh, nl, ru, it, fr, es, pt, ko, ar, tr, jp }
+enum LocaleType { en, zh, nl, ru, it, fr, es, pt, ko, ar, tr, jp, de }
+
 final _i18nModel = {
   'en': {
     'cancel': 'Cancel',
@@ -451,6 +452,43 @@ final _i18nModel = {
     'am': '朝',
     'pm': '午後'
   },
+  'de': {
+    //German
+    'cancel': 'Abbrechen',
+    'done': 'OK',
+    'today': 'Heute',
+    'monthShort': [
+      'Jan',
+      'Feb',
+      'Mrz',
+      'Apr',
+      'Mai',
+      'Jun',
+      'Jul',
+      'Aug',
+      'Sep',
+      'Okt',
+      'Nov',
+      'Dez'
+    ],
+    'monthLong': [
+      'Januar',
+      'Februar',
+      'März',
+      'April',
+      'Mai',
+      'Juni',
+      'Juli',
+      'August',
+      'September',
+      'Oktober',
+      'November',
+      'Dezember'
+    ],
+    'day': ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],
+    'am': 'AM',
+    'pm': 'PM'
+  },
 };
 //get international object
 Map<String, dynamic> i18nObjInLocale(LocaleType type) {
@@ -477,6 +515,8 @@ Map<String, dynamic> i18nObjInLocale(LocaleType type) {
       return _i18nModel['tr'];
     case LocaleType.jp:
       return _i18nModel['jp'];
+    case LocaleType.de:
+      return _i18nModel['de'];
     default:
       return _i18nModel['en'];
   }