From b827809d975aa93547a80e92e1d617c0d35131bd Mon Sep 17 00:00:00 2001 From: AbdAllah Date: Thu, 9 May 2024 17:06:06 +0300 Subject: [PATCH 1/2] init commit --- humanize-duration.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/humanize-duration.js b/humanize-duration.js index 933dfd9..5671dba 100644 --- a/humanize-duration.js +++ b/humanize-duration.js @@ -2,6 +2,9 @@ ;(function () { var languages = { + //In AR, should differnaciate between 1, 2, [3-10] and the rest of the numbers. + // see https://github.com/EvanHahn/HumanizeDuration.js/blob/4373d00a97785321088c7a2ebcd1a5b969f3beb0/humanize-duration.js#L157 in the main repo + ar: { y: function (c) { return c === 1 ? 'سنة' : 'سنوات' }, mo: function (c) { return c === 1 ? 'شهر' : 'أشهر' }, From f717d4f8d9ca2b527fc031f7c7b40e086c233fdc Mon Sep 17 00:00:00 2001 From: AbdAllah Date: Thu, 9 May 2024 17:18:02 +0300 Subject: [PATCH 2/2] init draft --- humanize-duration.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/humanize-duration.js b/humanize-duration.js index 5671dba..ba78ccc 100644 --- a/humanize-duration.js +++ b/humanize-duration.js @@ -6,14 +6,14 @@ // see https://github.com/EvanHahn/HumanizeDuration.js/blob/4373d00a97785321088c7a2ebcd1a5b969f3beb0/humanize-duration.js#L157 in the main repo ar: { - y: function (c) { return c === 1 ? 'سنة' : 'سنوات' }, - mo: function (c) { return c === 1 ? 'شهر' : 'أشهر' }, - w: function (c) { return c === 1 ? 'أسبوع' : 'أسابيع' }, - d: function (c) { return c === 1 ? 'يوم' : 'أيام' }, - h: function (c) { return c === 1 ? 'ساعة' : 'ساعات' }, - m: function (c) { return c === 1 ? 'دقيقة' : 'دقائق' }, - s: function (c) { return c === 1 ? 'ثانية' : 'ثواني' }, - ms: function (c) { return c === 1 ? 'جزء من الثانية' : 'أجزاء من الثانية' }, + y: function (c) { return ["سنة", "سنتان", "سنوات"][getArabicForm(c)] }, + mo: function (c) { return ["شهر", "شهران", "أشهر"][getArabicForm(c)] }, + w: function (c) { return ["أسبوع", "أسبوعين", "أسابيع"][getArabicForm(c)]}, + d: function (c) { return ["يوم", "يومين", "أيام"][getArabicForm(c)] }, + h: function (c) { return ["ساعة", "ساعتين", "ساعات"][getArabicForm(c)] }, + m: function (c) { return ["دقيقة", "دقيقتان", "دقائق"][getArabicForm(c)] }, + s: function (c) { return ["ثانية", "ثانيتان", "ثواني"][getArabicForm(c)]; }, + ms: function (c) { return ["جزء من الثانية", "جزآن من الثانية", "أجزاء من الثانية"][getArabicForm(c)] }, decimal: ',' }, en: { @@ -194,6 +194,17 @@ return destination } + function getArabicForm(c) { + if (c === 2) { + return 1; + } + if (c > 2 && c < 11) { + return 2; + } + return 0; + } + + humanizeDuration.getSupportedLanguages = function getSupportedLanguages () { var result = [] for (var language in languages) {