UNPKG

@freshworks/crayons

Version:
463 lines (436 loc) 15 kB
import { a as buildLocalizeFn, b as buildFormatLongFn, c as buildMatchPatternFn, d as buildMatchFn } from './index-dc611d24.js'; 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 + 'ই'; } } } var ordinalNumber = function ordinalNumber(dirtyNumber, dirtyOptions) { var number = Number(dirtyNumber); var localeNumber = numberToLocale(number); var unit = dirtyOptions === null || dirtyOptions === void 0 ? void 0 : 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 + 'ষ্ঠ'; default: return localeNumber + 'ম'; } }; // function localeToNumber(locale: string): number { // const enNumber = locale.toString().replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { // return numberValues.number[match as keyof typeof numberValues.number] // }) // return Number(enNumber) // } function numberToLocale(enNumber) { return enNumber.toString().replace(/\d/g, function (match) { return numberValues.locale[match]; }); } var localize = { ordinalNumber: ordinalNumber, era: buildLocalizeFn({ values: eraValues, defaultWidth: 'wide' }), quarter: buildLocalizeFn({ values: quarterValues, defaultWidth: 'wide', argumentCallback: function argumentCallback(quarter) { return quarter - 1; } }), month: buildLocalizeFn({ values: monthValues, defaultWidth: 'wide' }), day: buildLocalizeFn({ values: dayValues, defaultWidth: 'wide' }), dayPeriod: buildLocalizeFn({ values: dayPeriodValues, defaultWidth: 'wide', formattingValues: formattingDayPeriodValues, defaultFormattingWidth: 'wide' }) }; var formatDistanceLocale = { lessThanXSeconds: { one: 'প্রায় ১ সেকেন্ড', other: 'প্রায় {{count}} সেকেন্ড' }, xSeconds: { one: '১ সেকেন্ড', other: '{{count}} সেকেন্ড' }, halfAMinute: 'আধ মিনিট', lessThanXMinutes: { one: 'প্রায় ১ মিনিট', other: 'প্রায় {{count}} মিনিট' }, xMinutes: { one: '১ মিনিট', other: '{{count}} মিনিট' }, aboutXHours: { one: 'প্রায় ১ ঘন্টা', other: 'প্রায় {{count}} ঘন্টা' }, xHours: { one: '১ ঘন্টা', other: '{{count}} ঘন্টা' }, xDays: { one: '১ দিন', other: '{{count}} দিন' }, aboutXWeeks: { one: 'প্রায় ১ সপ্তাহ', other: 'প্রায় {{count}} সপ্তাহ' }, xWeeks: { one: '১ সপ্তাহ', other: '{{count}} সপ্তাহ' }, aboutXMonths: { one: 'প্রায় ১ মাস', other: 'প্রায় {{count}} মাস' }, xMonths: { one: '১ মাস', other: '{{count}} মাস' }, aboutXYears: { one: 'প্রায় ১ বছর', other: 'প্রায় {{count}} বছর' }, xYears: { one: '১ বছর', other: '{{count}} বছর' }, overXYears: { one: '১ বছরের বেশি', other: '{{count}} বছরের বেশি' }, almostXYears: { one: 'প্রায় ১ বছর', other: 'প্রায় {{count}} বছর' } }; var formatDistance = function formatDistance(token, count, options) { var result; var tokenValue = formatDistanceLocale[token]; if (typeof tokenValue === 'string') { result = tokenValue; } else if (count === 1) { result = tokenValue.one; } else { result = tokenValue.other.replace('{{count}}', numberToLocale(count)); } if (options !== null && options !== void 0 && options.addSuffix) { if (options.comparison && options.comparison > 0) { return result + ' এর মধ্যে'; } else { return result + ' আগে'; } } return result; }; var dateFormats = { full: 'EEEE, MMMM do, y', "long": 'MMMM do, y', medium: 'MMM d, y', "short": 'MM/dd/yyyy' }; var timeFormats = { full: 'h:mm:ss a zzzz', "long": 'h:mm:ss a z', medium: 'h:mm:ss a', "short": 'h:mm a' }; var dateTimeFormats = { full: "{{date}} {{time}} 'সময়'", "long": "{{date}} {{time}} 'সময়'", medium: '{{date}}, {{time}}', "short": '{{date}}, {{time}}' }; var formatLong = { date: buildFormatLongFn({ formats: dateFormats, defaultWidth: 'full' }), time: buildFormatLongFn({ formats: timeFormats, defaultWidth: 'full' }), dateTime: buildFormatLongFn({ formats: dateTimeFormats, defaultWidth: 'full' }) }; var formatRelativeLocale = { lastWeek: "'গত' eeee 'সময়' p", yesterday: "'গতকাল' 'সময়' p", today: "'আজ' 'সময়' p", tomorrow: "'আগামীকাল' 'সময়' p", nextWeek: "eeee 'সময়' p", other: 'P' }; var formatRelative = function formatRelative(token, _date, _baseDate, _options) { return formatRelativeLocale[token]; }; var matchOrdinalNumberPattern = /^(\d+)(ম|য়|র্থ|ষ্ঠ|শে|ই|তম)?/i; var parseOrdinalNumberPattern = /\d+/i; var matchEraPatterns = { narrow: /^(খ্রিঃপূঃ|খ্রিঃ)/i, abbreviated: /^(খ্রিঃপূর্ব|খ্রিঃ)/i, wide: /^(খ্রিস্টপূর্ব|খ্রিস্টাব্দ)/i }; var parseEraPatterns = { narrow: [/^খ্রিঃপূঃ/i, /^খ্রিঃ/i], abbreviated: [/^খ্রিঃপূর্ব/i, /^খ্রিঃ/i], wide: [/^খ্রিস্টপূর্ব/i, /^খ্রিস্টাব্দ/i] }; var matchQuarterPatterns = { narrow: /^[১২৩৪]/i, abbreviated: /^[১২৩৪]ত্রৈ/i, wide: /^[১২৩৪](ম|য়|র্থ)? ত্রৈমাসিক/i }; var parseQuarterPatterns = { any: [/১/i, /২/i, /৩/i, /৪/i] }; var matchMonthPatterns = { narrow: /^(জানু|ফেব্রু|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্ট|অক্টো|নভে|ডিসে)/i, abbreviated: /^(জানু|ফেব্রু|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্ট|অক্টো|নভে|ডিসে)/i, wide: /^(জানুয়ারি|ফেব্রুয়ারি|মার্চ|এপ্রিল|মে|জুন|জুলাই|আগস্ট|সেপ্টেম্বর|অক্টোবর|নভেম্বর|ডিসেম্বর)/i }; var parseMonthPatterns = { any: [/^জানু/i, /^ফেব্রু/i, /^মার্চ/i, /^এপ্রিল/i, /^মে/i, /^জুন/i, /^জুলাই/i, /^আগস্ট/i, /^সেপ্ট/i, /^অক্টো/i, /^নভে/i, /^ডিসে/i] }; var matchDayPatterns = { narrow: /^(র|সো|ম|বু|বৃ|শু|শ)+/i, "short": /^(রবি|সোম|মঙ্গল|বুধ|বৃহ|শুক্র|শনি)+/i, abbreviated: /^(রবি|সোম|মঙ্গল|বুধ|বৃহ|শুক্র|শনি)+/i, wide: /^(রবিবার|সোমবার|মঙ্গলবার|বুধবার|বৃহস্পতিবার |শুক্রবার|শনিবার)+/i }; var parseDayPatterns = { narrow: [/^র/i, /^সো/i, /^ম/i, /^বু/i, /^বৃ/i, /^শু/i, /^শ/i], "short": [/^রবি/i, /^সোম/i, /^মঙ্গল/i, /^বুধ/i, /^বৃহ/i, /^শুক্র/i, /^শনি/i], abbreviated: [/^রবি/i, /^সোম/i, /^মঙ্গল/i, /^বুধ/i, /^বৃহ/i, /^শুক্র/i, /^শনি/i], wide: [/^রবিবার/i, /^সোমবার/i, /^মঙ্গলবার/i, /^বুধবার/i, /^বৃহস্পতিবার /i, /^শুক্রবার/i, /^শনিবার/i] }; var matchDayPeriodPatterns = { narrow: /^(পূ|অপ|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i, abbreviated: /^(পূর্বাহ্ন|অপরাহ্ন|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i, wide: /^(পূর্বাহ্ন|অপরাহ্ন|মধ্যরাত|মধ্যাহ্ন|সকাল|বিকাল|সন্ধ্যা|রাত)/i }; var parseDayPeriodPatterns = { any: { am: /^পূ/i, pm: /^অপ/i, midnight: /^মধ্যরাত/i, noon: /^মধ্যাহ্ন/i, morning: /সকাল/i, afternoon: /বিকাল/i, evening: /সন্ধ্যা/i, night: /রাত/i } }; var match = { ordinalNumber: buildMatchPatternFn({ matchPattern: matchOrdinalNumberPattern, parsePattern: parseOrdinalNumberPattern, valueCallback: function valueCallback(value) { return parseInt(value, 10); } }), era: buildMatchFn({ matchPatterns: matchEraPatterns, defaultMatchWidth: 'wide', parsePatterns: parseEraPatterns, defaultParseWidth: 'wide' }), quarter: buildMatchFn({ matchPatterns: matchQuarterPatterns, defaultMatchWidth: 'wide', parsePatterns: parseQuarterPatterns, defaultParseWidth: 'any', valueCallback: function valueCallback(index) { return index + 1; } }), month: buildMatchFn({ matchPatterns: matchMonthPatterns, defaultMatchWidth: 'wide', parsePatterns: parseMonthPatterns, defaultParseWidth: 'any' }), day: buildMatchFn({ matchPatterns: matchDayPatterns, defaultMatchWidth: 'wide', parsePatterns: parseDayPatterns, defaultParseWidth: 'wide' }), dayPeriod: buildMatchFn({ matchPatterns: matchDayPeriodPatterns, defaultMatchWidth: 'wide', parsePatterns: parseDayPeriodPatterns, defaultParseWidth: 'any' }) }; /** * @type {Locale} * @category Locales * @summary Bengali locale. * @language Bengali * @iso-639-2 ben * @author Touhidur Rahman [@touhidrahman]{@link https://github.com/touhidrahman} * @author Farhad Yasir [@nutboltu]{@link https://github.com/nutboltu} */ var locale = { code: 'bn', formatDistance: formatDistance, formatLong: formatLong, formatRelative: formatRelative, localize: localize, match: match, options: { weekStartsOn: 0 /* Sunday */ , firstWeekContainsDate: 1 } }; export default locale;