mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			124 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| //! moment.js locale configuration
 | ||
| //! locale : Klingon [tlh]
 | ||
| //! author : Dominika Kruk : https://github.com/amaranthrose
 | ||
| 
 | ||
| import moment from '../moment';
 | ||
| 
 | ||
| var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
 | ||
| 
 | ||
| function translateFuture(output) {
 | ||
|     var time = output;
 | ||
|     time =
 | ||
|         output.indexOf('jaj') !== -1
 | ||
|             ? time.slice(0, -3) + 'leS'
 | ||
|             : output.indexOf('jar') !== -1
 | ||
|             ? time.slice(0, -3) + 'waQ'
 | ||
|             : output.indexOf('DIS') !== -1
 | ||
|             ? time.slice(0, -3) + 'nem'
 | ||
|             : time + ' pIq';
 | ||
|     return time;
 | ||
| }
 | ||
| 
 | ||
| function translatePast(output) {
 | ||
|     var time = output;
 | ||
|     time =
 | ||
|         output.indexOf('jaj') !== -1
 | ||
|             ? time.slice(0, -3) + 'Hu’'
 | ||
|             : output.indexOf('jar') !== -1
 | ||
|             ? time.slice(0, -3) + 'wen'
 | ||
|             : output.indexOf('DIS') !== -1
 | ||
|             ? time.slice(0, -3) + 'ben'
 | ||
|             : time + ' ret';
 | ||
|     return time;
 | ||
| }
 | ||
| 
 | ||
| function translate(number, withoutSuffix, string, isFuture) {
 | ||
|     var numberNoun = numberAsNoun(number);
 | ||
|     switch (string) {
 | ||
|         case 'ss':
 | ||
|             return numberNoun + ' lup';
 | ||
|         case 'mm':
 | ||
|             return numberNoun + ' tup';
 | ||
|         case 'hh':
 | ||
|             return numberNoun + ' rep';
 | ||
|         case 'dd':
 | ||
|             return numberNoun + ' jaj';
 | ||
|         case 'MM':
 | ||
|             return numberNoun + ' jar';
 | ||
|         case 'yy':
 | ||
|             return numberNoun + ' DIS';
 | ||
|     }
 | ||
| }
 | ||
| 
 | ||
| function numberAsNoun(number) {
 | ||
|     var hundred = Math.floor((number % 1000) / 100),
 | ||
|         ten = Math.floor((number % 100) / 10),
 | ||
|         one = number % 10,
 | ||
|         word = '';
 | ||
|     if (hundred > 0) {
 | ||
|         word += numbersNouns[hundred] + 'vatlh';
 | ||
|     }
 | ||
|     if (ten > 0) {
 | ||
|         word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';
 | ||
|     }
 | ||
|     if (one > 0) {
 | ||
|         word += (word !== '' ? ' ' : '') + numbersNouns[one];
 | ||
|     }
 | ||
|     return word === '' ? 'pagh' : word;
 | ||
| }
 | ||
| 
 | ||
| export default moment.defineLocale('tlh', {
 | ||
|     months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(
 | ||
|         '_'
 | ||
|     ),
 | ||
|     monthsShort:
 | ||
|         'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(
 | ||
|             '_'
 | ||
|         ),
 | ||
|     monthsParseExact: true,
 | ||
|     weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
 | ||
|         '_'
 | ||
|     ),
 | ||
|     weekdaysShort:
 | ||
|         'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
 | ||
|     weekdaysMin:
 | ||
|         'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
 | ||
|     longDateFormat: {
 | ||
|         LT: 'HH:mm',
 | ||
|         LTS: 'HH:mm:ss',
 | ||
|         L: 'DD.MM.YYYY',
 | ||
|         LL: 'D MMMM YYYY',
 | ||
|         LLL: 'D MMMM YYYY HH:mm',
 | ||
|         LLLL: 'dddd, D MMMM YYYY HH:mm',
 | ||
|     },
 | ||
|     calendar: {
 | ||
|         sameDay: '[DaHjaj] LT',
 | ||
|         nextDay: '[wa’leS] LT',
 | ||
|         nextWeek: 'LLL',
 | ||
|         lastDay: '[wa’Hu’] LT',
 | ||
|         lastWeek: 'LLL',
 | ||
|         sameElse: 'L',
 | ||
|     },
 | ||
|     relativeTime: {
 | ||
|         future: translateFuture,
 | ||
|         past: translatePast,
 | ||
|         s: 'puS lup',
 | ||
|         ss: translate,
 | ||
|         m: 'wa’ tup',
 | ||
|         mm: translate,
 | ||
|         h: 'wa’ rep',
 | ||
|         hh: translate,
 | ||
|         d: 'wa’ jaj',
 | ||
|         dd: translate,
 | ||
|         M: 'wa’ jar',
 | ||
|         MM: translate,
 | ||
|         y: 'wa’ DIS',
 | ||
|         yy: translate,
 | ||
|     },
 | ||
|     dayOfMonthOrdinalParse: /\d{1,2}\./,
 | ||
|     ordinal: '%d.',
 | ||
|     week: {
 | ||
|         dow: 1, // Monday is the first day of the week.
 | ||
|         doy: 4, // The week that contains Jan 4th is the first week of the year.
 | ||
|     },
 | ||
| });
 |