浏览代码

Added i18n and modified format for korean

Jace Shim 6 年之前
父节点
当前提交
5c3ae64bc2
共有 2 个文件被更改,包括 46 次插入0 次删除
  1. 7 0
      lib/src/date_format.dart
  2. 39 0
      lib/src/i18n_model.dart

+ 7 - 0
lib/src/date_format.dart

@@ -233,6 +233,8 @@ String formatDate(DateTime date, List<String> formats, LocaleType locale) {
         return formatDate(date, [mm, '月', dd, '日 ', D], locale);
       } else if (locale == LocaleType.nl) {
         return formatDate(date, [D, ' ', dd, ' ', M], locale);
+      } else if (locale == LocaleType.ko) {
+        return formatDate(date, [mm, '월', dd, '일 ', D], locale);
       } else {
         return formatDate(date, [D, ' ', M, ' ', dd], locale);
       }
@@ -241,6 +243,8 @@ String formatDate(DateTime date, List<String> formats, LocaleType locale) {
         return formatDate(date, [yyyy, '年', mm, '月', dd, '日 ', D], locale);
       } else if (locale == LocaleType.nl) {
         return formatDate(date, [D, ' ', dd, ' ', M, ' ', yyyy], locale);
+      } else if (locale == LocaleType.ko) {
+        return formatDate(date, [yyyy, '년', mm, '월', dd, '일 ', D], locale);
       } else {
         return formatDate(date, [D, ' ', M, ' ', dd, ', ', yyyy], locale);
       }
@@ -276,6 +280,9 @@ String formatDate(DateTime date, List<String> formats, LocaleType locale) {
       sb.write(digits((dayInYear(date) + 7) ~/ 7, 2));
     } else if (format == D) {
       String day = i18nObjInLocale(locale)['day'][date.weekday - 1];
+      if (locale == LocaleType.ko) {
+        day = "($day)";
+      }
       sb.write(day);
     } else if (format == HH) {
       sb.write(digits(date.hour, 2));

+ 39 - 0
lib/src/i18n_model.dart

@@ -7,6 +7,7 @@ enum LocaleType {
   fr,
   es,
   pt,
+  ko,
 }
 final _i18nModel = {
   'en': {
@@ -308,6 +309,42 @@ final _i18nModel = {
     'am': 'AM',
     'pm': 'PM'
   },
+  'ko': {
+    'cancel': '취소',
+    'done': '완료',
+    'today': '오늘',
+    'monthShort': [
+      '1월',
+      '2월',
+      '3월',
+      '4월',
+      '5월',
+      '6월',
+      '7월',
+      '8월',
+      '9월',
+      '10월',
+      '11월',
+      '12월'
+    ],
+    'monthLong': [
+      '1월',
+      '2월',
+      '3월',
+      '4월',
+      '5월',
+      '6월',
+      '7월',
+      '8월',
+      '9월',
+      '10월',
+      '11월',
+      '12월'
+    ],
+    'day': ['월', '화', '수', '목', '금', '토', '일'],
+    'am': '오전',
+    'pm': '오후'
+  },
 };
 //get international object
 Map<String, dynamic> i18nObjInLocale(LocaleType type) {
@@ -326,6 +363,8 @@ Map<String, dynamic> i18nObjInLocale(LocaleType type) {
       return _i18nModel['es'];
     case LocaleType.pt:
       return _i18nModel['pt'];
+    case LocaleType.ko:
+      return _i18nModel['ko'];
     default:
       return _i18nModel['en'];
   }