discourse/app/assets/javascripts/locales/date_locales.js

99 lines
3.5 KiB
JavaScript

// create CS locale, because it's not supported by Sugar at all
Date.addLocale('cs', {
'plural': true,
'capitalizeUnit': false,
'months': 'ledna,února,března,dubna,května,června,července,srpna,září,října,listopadu,prosince',
'weekdays': 'neděle,pondělí,úterý,středa,čtvrtek,pátek,sobota',
'units': 'milisekund:a|y||ou|ami,sekund:a|y||ou|ami,minut:a|y||ou|ami,hodin:a|y||ou|ami,den|dny|dnů|dnem|dny,týden|týdny|týdnů|týdnem|týdny,měsíc:|e|ů|em|emi,rok|roky|let|rokem|lety',
'short': '{d}. {month} {yyyy}',
'short_no_year': '{d}. {month}',
'long': '{d}. {month} {yyyy} {H}:{mm}',
'full': '{weekday} {d}. {month} {yyyy} {H}:{mm}:{ss}',
'relative': function(num, unit, ms, format) {
var numberWithUnit, last = num.toString().slice(-1);
var mult;
if (format === 'past' || format === 'future') {
if (num === 1) mult = 3;
else mult = 4;
} else {
if (num === 1) mult = 0;
else if (num >= 2 && num <= 4) mult = 1;
else mult = 2;
}
numberWithUnit = num + ' ' + this.units[(mult * 8) + unit];
switch(format) {
case 'duration': return numberWithUnit;
case 'past': return 'před ' + numberWithUnit;
case 'future': return 'za ' + numberWithUnit;
}
}
});
// create DA locale, because it's not supported by Sugar at all
// TODO: currently just English, needs to be translated and localized
Date.addLocale('da', {
'plural': true,
'capitalizeUnit': false,
'months': 'January,February,March,April,May,June,July,August,September,October,November,December',
'weekdays': 'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday',
'units': 'millisecond:|s,second:|s,minute:|s,hour:|s,day:|s,week:|s,month:|s,year:|s',
'short': '{Month} {d}, {yyyy}',
'short_no_year': '{Month} {d}',
'long': '{Month} {d}, {yyyy} {h}:{mm}{tt}',
'full': '{Weekday} {Month} {d}, {yyyy} {h}:{mm}:{ss}{tt}',
'past': '{num} {unit} {sign}',
'future': '{num} {unit} {sign}',
'duration': '{num} {unit}'
});
// fix DE locale
Date.getLocale('de').short_no_year = '{d}. {month}';
// fix EN locale
Date.getLocale('en').short_no_year = '{d} {Mon}';
// fix ES locale
Date.getLocale('es').short_no_year = '{d} {month}';
// fix FR locale
Date.getLocale('fr').short_no_year = '{d} {month}';
// create ID locale, because it's not supported by Sugar at all
// TODO: currently just English, needs to be translated and localized
Date.addLocale('id', {
'plural': true,
'capitalizeUnit': false,
'months': 'January,February,March,April,May,June,July,August,September,October,November,December',
'weekdays': 'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday',
'units': 'millisecond:|s,second:|s,minute:|s,hour:|s,day:|s,week:|s,month:|s,year:|s',
'short': '{Month} {d}, {yyyy}',
'short_no_year': '{Month} {d}',
'long': '{Month} {d}, {yyyy} {h}:{mm}{tt}',
'full': '{Weekday} {Month} {d}, {yyyy} {h}:{mm}:{ss}{tt}',
'past': '{num} {unit} {sign}',
'future': '{num} {unit} {sign}',
'duration': '{num} {unit}'
});
// fix IT locale
Date.getLocale('it').short_no_year = '{d} {Month}';
// fix NL locale
Date.getLocale('nl').short_no_year = '{d} {Month}';
// fix PT locale
Date.getLocale('pt').short_no_year = '{d} de {month}';
// fix SV locale
Date.getLocale('sv').short_no_year = 'den {d} {month}';
// fix zh_CN locale
Date.getLocale('zh-CN').short_no_year = '{yyyy}年{M}月';
// fix zh_TW locale
Date.getLocale('zh-TW').short_no_year = '{yyyy}年{M}月';
// set the current date locale, replace underscore with dash to make zh_CN work
Date.setLocale(I18n.locale.replace("_","-"));