diff options
Diffstat (limited to 'date-fns/src/locale/ar-MA/_lib')
-rw-r--r-- | date-fns/src/locale/ar-MA/_lib/formatDistance/index.js | 135 | ||||
-rw-r--r-- | date-fns/src/locale/ar-MA/_lib/formatLong/index.js | 41 | ||||
-rw-r--r-- | date-fns/src/locale/ar-MA/_lib/formatRelative/index.js | 12 | ||||
-rw-r--r-- | date-fns/src/locale/ar-MA/_lib/localize/index.js | 163 | ||||
-rw-r--r-- | date-fns/src/locale/ar-MA/_lib/match/index.js | 146 |
5 files changed, 497 insertions, 0 deletions
diff --git a/date-fns/src/locale/ar-MA/_lib/formatDistance/index.js b/date-fns/src/locale/ar-MA/_lib/formatDistance/index.js new file mode 100644 index 0000000..bcdb373 --- /dev/null +++ b/date-fns/src/locale/ar-MA/_lib/formatDistance/index.js @@ -0,0 +1,135 @@ +var formatDistanceLocale = { + lessThanXSeconds: { + one: 'أقل من ثانية واحدة', + two: 'أقل من ثانتين', + threeToTen: 'أقل من {{count}} ثواني', + other: 'أقل من {{count}} ثانية' + }, + + xSeconds: { + one: 'ثانية واحدة', + two: 'ثانتين', + threeToTen: '{{count}} ثواني', + other: '{{count}} ثانية' + }, + + halfAMinute: 'نصف دقيقة', + + lessThanXMinutes: { + one: 'أقل من دقيقة', + two: 'أقل من دقيقتين', + threeToTen: 'أقل من {{count}} دقائق', + other: 'أقل من {{count}} دقيقة' + }, + + xMinutes: { + one: 'دقيقة واحدة', + two: 'دقيقتين', + threeToTen: '{{count}} دقائق', + other: '{{count}} دقيقة' + }, + + aboutXHours: { + one: 'ساعة واحدة تقريباً', + two: 'ساعتين تقريباً', + threeToTen: '{{count}} ساعات تقريباً', + other: '{{count}} ساعة تقريباً' + }, + + xHours: { + one: 'ساعة واحدة', + two: 'ساعتين', + threeToTen: '{{count}} ساعات', + other: '{{count}} ساعة' + }, + + xDays: { + one: 'يوم واحد', + two: 'يومين', + threeToTen: '{{count}} أيام', + other: '{{count}} يوم' + }, + + aboutXWeeks: { + one: 'أسبوع واحد تقريباً', + two: 'أسبوعين تقريباً', + threeToTen: '{{count}} أسابيع تقريباً', + other: '{{count}} أسبوع تقريباً' + }, + + xWeeks: { + one: 'أسبوع واحد', + two: 'أسبوعين', + threeToTen: '{{count}} أسابيع', + other: '{{count}} أسبوع' + }, + + aboutXMonths: { + one: 'شهر واحد تقريباً', + two: 'شهرين تقريباً', + threeToTen: '{{count}} أشهر تقريباً', + other: '{{count}} شهر تقريباً' + }, + + xMonths: { + one: 'شهر واحد', + two: 'شهرين', + threeToTen: '{{count}} أشهر', + other: '{{count}} شهر' + }, + + aboutXYears: { + one: 'عام واحد تقريباً', + two: 'عامين تقريباً', + threeToTen: '{{count}} أعوام تقريباً', + other: '{{count}} عام تقريباً' + }, + + xYears: { + one: 'عام واحد', + two: 'عامين', + threeToTen: '{{count}} أعوام', + other: '{{count}} عام' + }, + + overXYears: { + one: 'أكثر من عام', + two: 'أكثر من عامين', + threeToTen: 'أكثر من {{count}} أعوام', + other: 'أكثر من {{count}} عام' + }, + + almostXYears: { + one: 'عام واحد تقريباً', + two: 'عامين تقريباً', + threeToTen: '{{count}} أعوام تقريباً', + other: '{{count}} عام تقريباً' + } +} + +export default function formatDistance(token, count, options) { + options = options || {} + + var result + if (typeof formatDistanceLocale[token] === 'string') { + result = formatDistanceLocale[token] + } else if (count === 1) { + result = formatDistanceLocale[token].one + } else if (count === 2) { + result = formatDistanceLocale[token].two + } else if (count <= 10) { + result = formatDistanceLocale[token].threeToTen.replace('{{count}}', count) + } else { + result = formatDistanceLocale[token].other.replace('{{count}}', count) + } + + if (options.addSuffix) { + if (options.comparison > 0) { + return 'في خلال ' + result + } else { + return 'منذ ' + result + } + } + + return result +} diff --git a/date-fns/src/locale/ar-MA/_lib/formatLong/index.js b/date-fns/src/locale/ar-MA/_lib/formatLong/index.js new file mode 100644 index 0000000..a65ad56 --- /dev/null +++ b/date-fns/src/locale/ar-MA/_lib/formatLong/index.js @@ -0,0 +1,41 @@ +import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index' + +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' + }) +} + +export default formatLong diff --git a/date-fns/src/locale/ar-MA/_lib/formatRelative/index.js b/date-fns/src/locale/ar-MA/_lib/formatRelative/index.js new file mode 100644 index 0000000..9276495 --- /dev/null +++ b/date-fns/src/locale/ar-MA/_lib/formatRelative/index.js @@ -0,0 +1,12 @@ +var formatRelativeLocale = { + lastWeek: "'أخر' eeee 'عند' p", + yesterday: "'أمس عند' p", + today: "'اليوم عند' p", + tomorrow: "'غداً عند' p", + nextWeek: "eeee 'عند' p", + other: 'P' +} + +export default function formatRelative(token, _date, _baseDate, _options) { + return formatRelativeLocale[token] +} diff --git a/date-fns/src/locale/ar-MA/_lib/localize/index.js b/date-fns/src/locale/ar-MA/_lib/localize/index.js new file mode 100644 index 0000000..f165992 --- /dev/null +++ b/date-fns/src/locale/ar-MA/_lib/localize/index.js @@ -0,0 +1,163 @@ +import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index' + +var eraValues = { + narrow: ['ق', 'ب'], + abbreviated: ['ق.م.', 'ب.م.'], + wide: ['قبل الميلاد', 'بعد الميلاد'] +} + +var quarterValues = { + narrow: ['1', '2', '3', '4'], + abbreviated: ['ر1', 'ر2', 'ر3', 'ر4'], + 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: 'في الصباح', + evening: 'في المساء', + night: 'في الليل' + }, + wide: { + am: 'ص', + pm: 'م', + midnight: 'نصف الليل', + noon: 'ظهر', + afternoon: 'بعد الظـهر', + evening: 'في المساء', + night: 'في الليل' + } +} + +function ordinalNumber(dirtyNumber) { + return String(dirtyNumber) +} + +var localize = { + 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 diff --git a/date-fns/src/locale/ar-MA/_lib/match/index.js b/date-fns/src/locale/ar-MA/_lib/match/index.js new file mode 100644 index 0000000..62c87a5 --- /dev/null +++ b/date-fns/src/locale/ar-MA/_lib/match/index.js @@ -0,0 +1,146 @@ +import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index' +import buildMatchFn from '../../../_lib/buildMatchFn/index' + +var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i +var parseOrdinalNumberPattern = /\d+/i + +var matchEraPatterns = { + narrow: /^(ق|ب)/i, + abbreviated: /^(ق\.?\s?م\.?|ق\.?\s?م\.?\s?|a\.?\s?d\.?|c\.?\s?)/i, + wide: /^(قبل الميلاد|قبل الميلاد|بعد الميلاد|بعد الميلاد)/i +} +var parseEraPatterns = { + any: [/^قبل/i, /^بعد/i] +} + +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^ر[1234]/i, + wide: /^الربع [1234]/i +} +var parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i] +} + +var matchMonthPatterns = { + narrow: /^[يفمأمسند]/i, + abbreviated: /^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i, + wide: /^(ين|ف|مار|أب|ماي|يون|يول|غش|شت|أك|ن|د)/i +} +var parseMonthPatterns = { + narrow: [ + /^ي/i, + /^ف/i, + /^م/i, + /^أ/i, + /^م/i, + /^ي/i, + /^ي/i, + /^غ/i, + /^ش/i, + /^أ/i, + /^ن/i, + /^د/i + ], + 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], + wide: [ + /^الأحد/i, + /^الإثنين/i, + /^الثلاثاء/i, + /^الأربعاء/i, + /^الخميس/i, + /^الجمعة/i, + /^السبت/i + ], + any: [/^أح/i, /^إث/i, /^ث/i, /^أر/i, /^خ/i, /^ج/i, /^س/i] +} + +var matchDayPeriodPatterns = { + narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, + any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i +} +var parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mi/i, + noon: /^no/i, + morning: /morning/i, + afternoon: /afternoon/i, + evening: /evening/i, + night: /night/i + } +} + +var match = { + ordinalNumber: buildMatchPatternFn({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function(value) { + return parseInt(value, 10) + } + }), + + era: buildMatchFn({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseEraPatterns, + defaultParseWidth: 'any' + }), + + quarter: buildMatchFn({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseQuarterPatterns, + defaultParseWidth: 'any', + valueCallback: function(index) { + return index + 1 + } + }), + + month: buildMatchFn({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseMonthPatterns, + defaultParseWidth: 'any' + }), + + day: buildMatchFn({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseDayPatterns, + defaultParseWidth: 'any' + }), + + dayPeriod: buildMatchFn({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: 'any', + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: 'any' + }) +} + +export default match |