diff options
Diffstat (limited to 'date-fns/src/locale/bn/_lib/localize/index.js')
-rw-r--r-- | date-fns/src/locale/bn/_lib/localize/index.js | 265 |
1 files changed, 265 insertions, 0 deletions
diff --git a/date-fns/src/locale/bn/_lib/localize/index.js b/date-fns/src/locale/bn/_lib/localize/index.js new file mode 100644 index 0000000..c704a96 --- /dev/null +++ b/date-fns/src/locale/bn/_lib/localize/index.js @@ -0,0 +1,265 @@ +import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index' + +var numberValues = { + locale: { + '1': '১', + '2': '২', + '3': '৩', + '4': '৪', + '5': '৫', + '6': '৬', + '7': '৭', + '8': '৮', + '9': '৯', + '0': '০' + }, + number: { + '১': '1', + '২': '2', + '৩': '3', + '৪': '4', + '৫': '5', + '৬': '6', + '৭': '7', + '৮': '8', + '৯': '9', + '০': '0' + } +} + +var eraValues = { + narrow: ['খ্রিঃপূঃ', 'খ্রিঃ'], + abbreviated: ['খ্রিঃপূর্ব', 'খ্রিঃ'], + wide: ['খ্রিস্টপূর্ব', 'খ্রিস্টাব্দ'] +} + +var quarterValues = { + narrow: ['১', '২', '৩', '৪'], + abbreviated: ['১ত্রৈ', '২ত্রৈ', '৩ত্রৈ', '৪ত্রৈ'], + wide: ['১ম ত্রৈমাসিক', '২য় ত্রৈমাসিক', '৩য় ত্রৈমাসিক', '৪র্থ ত্রৈমাসিক'] +} + +var monthValues = { + narrow: [ + 'জানু', + 'ফেব্রু', + 'মার্চ', + 'এপ্রিল', + 'মে', + 'জুন', + 'জুলাই', + 'আগস্ট', + 'সেপ্ট', + 'অক্টো', + 'নভে', + 'ডিসে' + ], + abbreviated: [ + 'জানু', + 'ফেব্রু', + 'মার্চ', + 'এপ্রিল', + 'মে', + 'জুন', + 'জুলাই', + 'আগস্ট', + 'সেপ্ট', + 'অক্টো', + 'নভে', + 'ডিসে' + ], + wide: [ + 'জানুয়ারি', + 'ফেব্রুয়ারি', + 'মার্চ', + 'এপ্রিল', + 'মে', + 'জুন', + 'জুলাই', + 'আগস্ট', + 'সেপ্টেম্বর', + 'অক্টোবর', + 'নভেম্বর', + 'ডিসেম্বর' + ] +} + +var dayValues = { + narrow: ['র', 'সো', 'ম', 'বু', 'বৃ', 'শু', 'শ'], + short: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহ', 'শুক্র', 'শনি'], + abbreviated: ['রবি', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহ', 'শুক্র', 'শনি'], + wide: [ + 'রবিবার', + 'সোমবার', + 'মঙ্গলবার', + 'বুধবার', + 'বৃহস্পতিবার ', + 'শুক্রবার', + 'শনিবার' + ] +} + +var dayPeriodValues = { + narrow: { + am: 'পূ', + pm: 'অপ', + midnight: 'মধ্যরাত', + noon: 'মধ্যাহ্ন', + morning: 'সকাল', + afternoon: 'বিকাল', + evening: 'সন্ধ্যা', + night: 'রাত' + }, + abbreviated: { + am: 'পূর্বাহ্ন', + pm: 'অপরাহ্ন', + midnight: 'মধ্যরাত', + noon: 'মধ্যাহ্ন', + morning: 'সকাল', + afternoon: 'বিকাল', + evening: 'সন্ধ্যা', + night: 'রাত' + }, + wide: { + am: 'পূর্বাহ্ন', + pm: 'অপরাহ্ন', + midnight: 'মধ্যরাত', + noon: 'মধ্যাহ্ন', + morning: 'সকাল', + afternoon: 'বিকাল', + evening: 'সন্ধ্যা', + night: 'রাত' + } +} +var formattingDayPeriodValues = { + narrow: { + am: 'পূ', + pm: 'অপ', + midnight: 'মধ্যরাত', + noon: 'মধ্যাহ্ন', + morning: 'সকাল', + afternoon: 'বিকাল', + evening: 'সন্ধ্যা', + night: 'রাত' + }, + abbreviated: { + am: 'পূর্বাহ্ন', + pm: 'অপরাহ্ন', + midnight: 'মধ্যরাত', + noon: 'মধ্যাহ্ন', + morning: 'সকাল', + afternoon: 'বিকাল', + evening: 'সন্ধ্যা', + night: 'রাত' + }, + wide: { + am: 'পূর্বাহ্ন', + pm: 'অপরাহ্ন', + midnight: 'মধ্যরাত', + noon: 'মধ্যাহ্ন', + morning: 'সকাল', + afternoon: 'বিকাল', + evening: 'সন্ধ্যা', + night: 'রাত' + } +} + +function dateOrdinalNumber(number, localeNumber) { + if (number > 18 && number <= 31) { + return localeNumber + 'শে' + } else { + switch (number) { + case 1: + return localeNumber + 'লা' + case 2: + case 3: + return localeNumber + 'রা' + case 4: + return localeNumber + 'ঠা' + default: + return localeNumber + 'ই' + } + } +} + +function ordinalNumber(dirtyNumber, dirtyOptions) { + var number = localize.localeToNumber(dirtyNumber) + var localeNumber = localize.numberToLocale(number) + var unit = dirtyOptions.unit + + if (unit === 'date') { + return dateOrdinalNumber(number, localeNumber) + } + if (number > 10 || number === 0) return localeNumber + 'তম' + + var rem10 = number % 10 + switch (rem10) { + case 2: + case 3: + return localeNumber + 'য়' + case 4: + return localeNumber + 'র্থ' + case 6: + return localeNumber + 'ষ্ঠ' + case 1: + case 5: + case 7: + case 8: + case 9: + case 0: + return localeNumber + 'ম' + } +} + +function localeToNumber(locale) { + var number = locale.toString().replace(/[১২৩৪৫৬৭৮৯০]/g, function(match) { + return numberValues.number[match] + }) + return Number(number) +} + +function numberToLocale(number) { + return number.toString().replace(/\d/g, function(match) { + return numberValues.locale[match] + }) +} + +var localize = { + localeToNumber: localeToNumber, + + numberToLocale: numberToLocale, + + ordinalNumber: ordinalNumber, + + era: buildLocalizeFn({ + values: eraValues, + defaultWidth: 'wide' + }), + + quarter: buildLocalizeFn({ + values: quarterValues, + defaultWidth: 'wide', + argumentCallback: function(quarter) { + return Number(quarter) - 1 + } + }), + + month: buildLocalizeFn({ + values: monthValues, + defaultWidth: 'wide' + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: 'wide' + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: 'wide', + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: 'wide' + }) +} + +export default localize |