Skip to content

Commit

Permalink
Merge pull request #234 from Kuntheasoung/master
Browse files Browse the repository at this point in the history
Add km_kh locale
  • Loading branch information
jama5262 authored Jun 2, 2023
2 parents f972ce2 + 0c0ca7f commit ca5ae13
Show file tree
Hide file tree
Showing 3 changed files with 205 additions and 1 deletion.
5 changes: 4 additions & 1 deletion lib/src/locale/available_locales.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'package:jiffy/src/locale/locales/kh_locale.dart';

import 'locale.dart';
import 'locales/ar_locale.dart';
import 'locales/de_locale.dart';
Expand Down Expand Up @@ -75,7 +77,8 @@ Map<String, Locale> _availableLocales = {
'fa': FaLocale(),
'bn': BnLocale(),
'nl': NlLocale(),
'th': ThLocale()
'th': ThLocale(),
'km_kh': KmKhLocale()
};

Locale getLocale(String locale) {
Expand Down
53 changes: 53 additions & 0 deletions lib/src/locale/locales/kh_locale.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import '../../enums/start_of_week.dart';
import '../locale.dart';
import '../relative_date_time.dart';

class KmKhLocale extends Locale {
@override
String code() => 'km_kh';

@override
List<String> ordinals() =>
List.from(['ទី', 'ទី', 'ទី', 'ទី'], growable: false);

@override
StartOfWeek startOfWeek() => StartOfWeek.monday;

@override
RelativeDateTime relativeDateTime() => KmKhRelativeTime();
}

class KmKhRelativeTime extends RelativeDateTime {
@override
String prefixAgo() => '';
@override
String prefixFromNow() => 'ក្នុងរយៈពេល';
@override
String suffixAgo() => 'មុន';
@override
String suffixFromNow() => '';
@override
String lessThanOneMinute(int seconds) => 'ពីរបីវិនាទី';
@override
String aboutAMinute(int minutes) => 'មួយនាទី';
@override
String minutes(int minutes) => '$minutes នាទី';
@override
String aboutAnHour(int minutes) => 'មួយម៉ោង';
@override
String hours(int hours) => '$hours ម៉ោង';
@override
String aDay(int hours) => 'មួយថ្ងៃ';
@override
String days(int days) => '$days ថ្ងៃ';
@override
String aboutAMonth(int days) => 'មួយខែ';
@override
String months(int months) => '$months ខែ';
@override
String aboutAYear(int year) => 'មួយឆ្នាំ';
@override
String years(int years) => '$years ឆ្នាំ';
@override
String wordSeparator() => ' ';
}
148 changes: 148 additions & 0 deletions test/src/locale/locales/locales_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import 'package:jiffy/src/locale/locales/hu_locale.dart';
import 'package:jiffy/src/locale/locales/id_locale.dart';
import 'package:jiffy/src/locale/locales/it_locale.dart';
import 'package:jiffy/src/locale/locales/ja_locale.dart';
import 'package:jiffy/src/locale/locales/kh_locale.dart';
import 'package:jiffy/src/locale/locales/ko_locale.dart';
import 'package:jiffy/src/locale/locales/nb_locale.dart';
import 'package:jiffy/src/locale/locales/nl_locale.dart';
Expand Down Expand Up @@ -430,6 +431,13 @@ List<Map<String, dynamic>> localesTestData() {
'startOfWeek': StartOfWeek.sunday,
'relativeTime': ThRelativeTime()
},
{
'locale': KmKhLocale(),
'code': 'km_kh',
'ordinals': ['ទី', 'ទី', 'ទី', 'ទី'],
'startOfWeek': StartOfWeek.monday,
'relativeTime': KmKhRelativeTime()
},
];
}

Expand Down Expand Up @@ -4074,5 +4082,145 @@ List<Map<String, dynamic>> localesRelativeDateTimeTestData() {
'secondDateTime': DateTime(1995),
'expectedRelativeDateTime': '3 ปีที่แล้ว',
},

// KmKhLocale
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 12, 11, 22),
'secondDateTime': DateTime(1997, 10, 23, 12, 11, 22),
'expectedRelativeDateTime': 'ក្នុងរយៈពេលពីរបីវិនាទី',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 12, 11, 22),
'secondDateTime': DateTime(1997, 10, 23, 12, 11, 23),
'expectedRelativeDateTime': 'ក្នុងរយៈពេលពីរបីវិនាទី',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 12, 11, 23),
'secondDateTime': DateTime(1997, 10, 23, 12, 11, 22),
'expectedRelativeDateTime': 'ប៉ុន្មានវិនាទីមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 12, 11, 0),
'secondDateTime': DateTime(1997, 10, 23, 12, 11, 45),
'expectedRelativeDateTime': 'ក្នុងមួយនាទី',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 12, 11, 45),
'secondDateTime': DateTime(1997, 10, 23, 12, 11, 0),
'expectedRelativeDateTime': 'មួយនាទីមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 12, 1),
'secondDateTime': DateTime(1997, 10, 23, 12, 3),
'expectedRelativeDateTime': 'ក្នុងរយៈពេល 2 នាទី',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 12, 3),
'secondDateTime': DateTime(1997, 10, 23, 12, 1),
'expectedRelativeDateTime': '2 នាទីមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 12, 0),
'secondDateTime': DateTime(1997, 10, 23, 12, 45),
'expectedRelativeDateTime': 'ក្នុងរយៈពេលមួយម៉ោង',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 12, 45),
'secondDateTime': DateTime(1997, 10, 23, 12, 0),
'expectedRelativeDateTime': 'មួយម៉ោងមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 1),
'secondDateTime': DateTime(1997, 10, 23, 3),
'expectedRelativeDateTime': 'ក្នុងរយៈពេល 2 ម៉ោង',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23, 3),
'secondDateTime': DateTime(1997, 10, 23, 1),
'expectedRelativeDateTime': '2 ម៉ោងមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 22),
'secondDateTime': DateTime(1997, 10, 23),
'expectedRelativeDateTime': 'ក្នុងមួយថ្ងៃ',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23),
'secondDateTime': DateTime(1997, 10, 22),
'expectedRelativeDateTime': 'មួយថ្ងៃមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 20),
'secondDateTime': DateTime(1997, 10, 23),
'expectedRelativeDateTime': 'ក្នុងរយៈពេល 3 ថ្ងៃ',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 23),
'secondDateTime': DateTime(1997, 10, 20),
'expectedRelativeDateTime': '3 ថ្ងៃមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10, 1),
'secondDateTime': DateTime(1997, 11, 1),
'expectedRelativeDateTime': 'ក្នុងមួយខែ',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 11, 1),
'secondDateTime': DateTime(1997, 10, 1),
'expectedRelativeDateTime': 'មួយខែមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 10),
'secondDateTime': DateTime(1997, 12),
'expectedRelativeDateTime': 'ក្នុងរយៈពេល 2 ខែ',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997, 12),
'secondDateTime': DateTime(1997, 10),
'expectedRelativeDateTime': '2 ខែមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1997),
'secondDateTime': DateTime(1998),
'expectedRelativeDateTime': 'ក្នុងមួយឆ្នាំ',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1998),
'secondDateTime': DateTime(1997),
'expectedRelativeDateTime': 'មួយឆ្នាំមុន',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1995),
'secondDateTime': DateTime(1998),
'expectedRelativeDateTime': 'ក្នុងរយៈពេល 3 ឆ្នាំ',
},
{
'locale': KmKhLocale(),
'firstDateTime': DateTime(1998),
'secondDateTime': DateTime(1995),
'expectedRelativeDateTime': '3 ឆ្នាំមុន',
},
];
}

0 comments on commit ca5ae13

Please sign in to comment.