]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
[locale/ar] Use native plural forms
authorMuhammad Fawwaz Orabi <mfawwaz93@gmail.com>
Sat, 26 Jul 2014 12:20:46 +0000 (15:20 +0300)
committerIskren Chernev <iskren.chernev@gmail.com>
Fri, 5 Sep 2014 07:02:51 +0000 (00:02 -0700)
locale/ar.js
test/locale/ar.js

index 70b3bed24a6bb327ad92298d0d5c89413255447b..1791a6b39facc3080765f61ce00661d843dc62c9 100644 (file)
@@ -1,7 +1,8 @@
 // moment.js locale configuration
-// locale : Arabic (ar)
-// author : Abdel Said : https://github.com/abdelsaid
-// changes in months, weekdays : Ahmed Elkhatib
+// Locale: Arabic (ar)
+// Author: Abdel Said: https://github.com/abdelsaid
+// Changes in months, weekdays: Ahmed Elkhatib
+// Native plural forms: forabi https://github.com/forabi
 
 (function (factory) {
     if (typeof define === 'function' && define.amd) {
         '٨': '8',
         '٩': '9',
         '٠': '0'
-    };
+    }, pluralForm = function (n) {
+        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
+    }, plurals = {
+        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
+        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
+        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
+        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
+        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
+        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
+    }, pluralize = function (u) {
+        return function (number, withoutSuffix, string, isFuture) {
+            var f = pluralForm(number),
+                str = plurals[u][pluralForm(number)];
+            if (f === 2) {
+                str = str[withoutSuffix ? 0 : 1];
+            }
+            return str.replace(/%d/i, number);
+        };
+    }, months = [
+        'كانون الثاني يناير',
+        'شباط فبراير',
+        'آذار مارس',
+        'نيسان أبريل',
+        'أيار مايو',
+        'حزيران يونيو',
+        'تموز يوليو',
+        'آب أغسطس',
+        'أيلول سبتمبر',
+        'تشرين الأول أكتوبر',
+        'تشرين الثاني نوفمبر',
+        'كانون الأول ديسمبر'
+    ];
 
     return moment.defineLocale('ar', {
-        months : 'يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول'.split('_'),
-        monthsShort : 'يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول'.split('_'),
+        months : months,
+        monthsShort : months,
         weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
         weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
         weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
             }
         },
         calendar : {
-            sameDay: '[اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\84Ù\89 الساعة] LT',
-            nextDay: '[غدا على الساعة] LT',
-            nextWeek: 'dddd [عÙ\84Ù\89 الساعة] LT',
-            lastDay: '[Ø£Ù\85س Ø¹Ù\84Ù\89 الساعة] LT',
-            lastWeek: 'dddd [عÙ\84Ù\89 الساعة] LT',
+            sameDay: '[اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\86د الساعة] LT',
+            nextDay: '[غدًا عند الساعة] LT',
+            nextWeek: 'dddd [عÙ\86د الساعة] LT',
+            lastDay: '[Ø£Ù\85س Ø¹Ù\86د الساعة] LT',
+            lastWeek: 'dddd [عÙ\86د الساعة] LT',
             sameElse: 'L'
         },
         relativeTime : {
-            future : 'في %s',
+            future : 'بعد %s',
             past : 'منذ %s',
-            s : 'ثوان',
-            m : 'دقيقة',
-            mm : '%d دقائق',
-            h : 'ساعة',
-            hh : '%d ساعات',
-            d : 'يوم',
-            dd : '%d أيام',
-            M : 'شهر',
-            MM : '%d أشهر',
-            y : 'سنة',
-            yy : '%d سنوات'
+            s : pluralize('s'),
+            m : pluralize('m'),
+            mm : pluralize('m'),
+            h : pluralize('h'),
+            hh : pluralize('h'),
+            d : pluralize('d'),
+            dd : pluralize('d'),
+            M : pluralize('M'),
+            MM : pluralize('M'),
+            y : pluralize('y'),
+            yy : pluralize('y')
         },
         preparse: function (string) {
             return string.replace(/[۰-۹]/g, function (match) {
index 55b71edc8c5d887c5f66294969f5e8a7e15aed41..035c0451ab0da2314a77ce9056909c424edd52c5 100644 (file)
@@ -1,6 +1,21 @@
 // moment.js arabic (ar) tests
-// author: Abdel Said : https://github.com/abdelsaid
-var moment = require('../../moment');
+// Author: Abdel Said: https://github.com/abdelsaid
+// Tests updated by forabi (https://github.com/forabi)
+var moment = require('../../moment'),
+    months = [
+        'كانون الثاني يناير',
+        'شباط فبراير',
+        'آذار مارس',
+        'نيسان أبريل',
+        'أيار مايو',
+        'حزيران يونيو',
+        'تموز يوليو',
+        'آب أغسطس',
+        'أيلول سبتمبر',
+        'تشرين الأول أكتوبر',
+        'تشرين الثاني نوفمبر',
+        'كانون الأول ديسمبر'
+    ];
 
 exports['locale:ar'] = {
     setUp : function (cb) {
@@ -17,29 +32,28 @@ exports['locale:ar'] = {
     },
 
     'parse' : function (test) {
-        var tests = 'يناير/ كانون الثاني:يناير/ كانون الثاني_فبراير/ شباط:فبراير/ شباط_مارس/ آذار:مارس/ آذار_أبريل/ نيسان:أبريل/ نيسان_مايو/ أيار:مايو/ أيار_يونيو/ حزيران:يونيو/ حزيران_يوليو/ تموز:يوليو/ تموز_أغسطس/ آب:أغسطس/ آب_سبتمبر/ أيلول:سبتمبر/ أيلول_أكتوبر/ تشرين الأول:أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني:نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول:ديسمبر/ كانون الأول'.split('_'), i;
+        var tests = months, i;
         function equalTest(input, mmm, i) {
             test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1) + ' instead is month ' + moment(input, mmm).month());
         }
         for (i = 0; i < 12; i++) {
-            tests[i] = tests[i].split(':');
-            equalTest(tests[i][0], 'MMM', i);
-            equalTest(tests[i][1], 'MMM', i);
-            equalTest(tests[i][0], 'MMMM', i);
-            equalTest(tests[i][1], 'MMMM', i);
-            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i], 'MMM', i);
+            equalTest(tests[i], 'MMM', i);
+            equalTest(tests[i], 'MMMM', i);
+            equalTest(tests[i], 'MMMM', i);
+            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
         }
         test.done();
     },
 
     'format' : function (test) {
         var a = [
-                ['dddd, MMMM Do YYYY, h:mm:ss a',      'الأحد، فبراير/ شباط ١٤ ٢٠١٠، ٣:٢٥:٥٠ م'],
+                ['dddd, MMMM Do YYYY, h:mm:ss a',      'الأحد، شباط فبراير ١٤ ٢٠١٠، ٣:٢٥:٥٠ م'],
                 ['ddd, hA',                            'أحد، ٣م'],
-                ['M Mo MM MMMM MMM',                   '٢ ٢ ٠٢ فبراير/ شباط فبراير/ شباط'],
+                ['M Mo MM MMMM MMM',                   '٢ ٢ ٠٢ شباط فبراير شباط فبراير'],
                 ['YYYY YY',                            '٢٠١٠ ١٠'],
                 ['D Do DD',                            '١٤ ١٤ ١٤'],
                 ['d do dddd ddd dd',                   '٠ ٠ الأحد أحد ح'],
@@ -52,13 +66,13 @@ exports['locale:ar'] = {
                 ['a A',                                'م م'],
                 ['[the] DDDo [day of the year]',       'the ٤٥ day of the year'],
                 ['L',                                  '١٤/٠٢/٢٠١٠'],
-                ['LL',                                 '١٤ فبراير/ شباط ٢٠١٠'],
-                ['LLL',                                '١٤ فبراير/ شباط ٢٠١٠ ١٥:٢٥'],
-                ['LLLL',                               'الأحد ١٤ فبراير/ شباط ٢٠١٠ ١٥:٢٥'],
+                ['LL',                                 '١٤ شباط فبراير ٢٠١٠'],
+                ['LLL',                                '١٤ شباط فبراير ٢٠١٠ ١٥:٢٥'],
+                ['LLLL',                               'الأحد ١٤ شباط فبراير ٢٠١٠ ١٥:٢٥'],
                 ['l',                                  '١٤/٢/٢٠١٠'],
-                ['ll',                                 '١٤ فبراير/ شباط ٢٠١٠'],
-                ['lll',                                '١٤ فبراير/ شباط ٢٠١٠ ١٥:٢٥'],
-                ['llll',                               'أحد ١٤ فبراير/ شباط ٢٠١٠ ١٥:٢٥']
+                ['ll',                                 '١٤ شباط فبراير ٢٠١٠'],
+                ['lll',                                '١٤ شباط فبراير ٢٠١٠ ١٥:٢٥'],
+                ['llll',                               'أحد ١٤ شباط فبراير ٢٠١٠ ١٥:٢٥']
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
@@ -107,9 +121,10 @@ exports['locale:ar'] = {
     },
 
     'format month' : function (test) {
-        var expected = 'يناير/ كانون الثاني يناير/ كانون الثاني_فبراير/ شباط فبراير/ شباط_مارس/ آذار مارس/ آذار_أبريل/ نيسان أبريل/ نيسان_مايو/ أيار مايو/ أيار_يونيو/ حزيران يونيو/ حزيران_يوليو/ تموز يوليو/ تموز_أغسطس/ آب أغسطس/ آب_سبتمبر/ أيلول سبتمبر/ أيلول_أكتوبر/ تشرين الأول أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول ديسمبر/ كانون الأول'.split('_'), i;
+        var expected = months, i;
         for (i = 0; i < expected.length; i++) {
-            test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+            test.equal(moment([2011, i, 1]).format('MMMM'), expected[i], expected[i]);
+            test.equal(moment([2011, i, 1]).format('MMM'), expected[i], expected[i]);
         }
         test.done();
     },
@@ -124,63 +139,63 @@ exports['locale:ar'] = {
 
     'from' : function (test) {
         var start = moment([2007, 1, 28]);
-        test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true),  'ثوان', '44 seconds = a few seconds');
-        test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true),  'دقيقة',      '45 seconds = a minute');
-        test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true),  'دقيقة',      '89 seconds = a minute');
-        test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true),  '٢ دقائق',     '90 seconds = 2 minutes');
-        test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true),  '٤٤ دقائق',    '44 minutes = 44 minutes');
-        test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true),  'ساعة',       '45 minutes = an hour');
-        test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true),  'ساعة',       '89 minutes = an hour');
-        test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true),  '٢ ساعات',       '90 minutes = 2 hours');
+        test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true),  '٤٤ ثانية', '44 seconds = a few seconds');
+        test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true),  'دقيقة واحدة',      '45 seconds = a minute');
+        test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true),  'دقيقة واحدة',      '89 seconds = a minute');
+        test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true),  'دقيقتان',     '90 seconds = 2 minutes');
+        test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true),  '٤٤ دقيقة',    '44 minutes = 44 minutes');
+        test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true),  'ساعة واحدة',       '45 minutes = an hour');
+        test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true),  'ساعة واحدة',       '89 minutes = an hour');
+        test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true),  'ساعتان',       '90 minutes = 2 hours');
         test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true),   '٥ ساعات',       '5 hours = 5 hours');
-        test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true),  '٢١ Ø³Ø§Ø¹Ø§Øª',      '21 hours = 21 hours');
-        test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true),  'يوم',         '22 hours = a day');
-        test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true),  'يوم',         '35 hours = a day');
-        test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true),  'Ù¢ Ø£Ù\8aاÙ\85',        '36 hours = 2 days');
-        test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true),   'يوم',         '1 day = a day');
+        test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true),  '٢١ Ø³Ø§Ø¹Ø©',      '21 hours = 21 hours');
+        test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true),  'يوم واحد',         '22 hours = a day');
+        test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true),  'يوم واحد',         '35 hours = a day');
+        test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true),  'Ù\8aÙ\88Ù\85اÙ\86',        '36 hours = 2 days');
+        test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true),   'يوم واحد',         '1 day = a day');
         test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true),   '٥ أيام',        '5 days = 5 days');
-        test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true),  '٢٥ أيام',       '25 days = 25 days');
-        test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true),  'شهر',       '26 days = a month');
-        test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true),  'شهر',       '30 days = a month');
-        test.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true),  'شهر',       '43 days = a month');
-        test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true),  '٢ أشهر',      '46 days = 2 months');
-        test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true),  '٢ أشهر',      '75 days = 2 months');
+        test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true),  '٢٥ يومًا',       '25 days = 25 days');
+        test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true),  'شهر واحد',       '26 days = a month');
+        test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true),  'شهر واحد',       '30 days = a month');
+        test.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true),  'شهر واحد',       '43 days = a month');
+        test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true),  'شهران',      '46 days = 2 months');
+        test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true),  'شهران',      '75 days = 2 months');
         test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true),  '٣ أشهر',      '76 days = 3 months');
-        test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true),   'شهر',       '1 month = a month');
+        test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true),   'شهر واحد',       '1 month = a month');
         test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true),   '٥ أشهر',      '5 months = 5 months');
-        test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'سÙ\86Ø©',        '345 days = a year');
-        test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '٢ سنوات',       '548 days = 2 years');
-        test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true),   'سÙ\86Ø©',        '1 year = a year');
-        test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true),   'Ù¥ Ø³Ù\86Ù\88ات',       '5 years = 5 years');
+        test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'عاÙ\85 Ù\88احد',        '345 days = a year');
+        test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'عامان',       '548 days = 2 years');
+        test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true),   'عاÙ\85 Ù\88احد',        '1 year = a year');
+        test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true),   'Ù¥ Ø£Ø¹Ù\88اÙ\85',       '5 years = 5 years');
         test.done();
     },
 
     'suffix' : function (test) {
-        test.equal(moment(30000).from(0), 'في ثوان',  'prefix');
-        test.equal(moment(0).from(30000), 'منذ ثوان', 'suffix');
+        test.equal(moment(30000).from(0), 'بعد ٣٠ ثانية',  'prefix');
+        test.equal(moment(0).from(30000), 'منذ ٣٠ ثانية', 'suffix');
         test.done();
     },
 
     'now from now' : function (test) {
-        test.equal(moment().fromNow(), 'منذ ثوان',  'now from now should display as in the past');
+        test.equal(moment().fromNow(), 'منذ ثانية واحدة',  'now from now should display as in the past');
         test.done();
     },
 
     'fromNow' : function (test) {
-        test.equal(moment().add({s: 30}).fromNow(), 'في ثوان', 'in a few seconds');
-        test.equal(moment().add({d: 5}).fromNow(), 'في ٥ أيام', 'in 5 days');
+        test.equal(moment().add({s: 30}).fromNow(), 'بعد ٣٠ ثانية', 'in a few seconds');
+        test.equal(moment().add({d: 5}).fromNow(), 'بعد ٥ أيام', 'in 5 days');
         test.done();
     },
 
     'calendar day' : function (test) {
         var a = moment().hours(2).minutes(0).seconds(0);
 
-        test.equal(moment(a).calendar(),                     'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\84Ù\89 الساعة ٠٢:٠٠',     'today at the same time');
-        test.equal(moment(a).add({m: 25}).calendar(),      'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\84Ù\89 الساعة ٠٢:٢٥',     'Now plus 25 min');
-        test.equal(moment(a).add({h: 1}).calendar(),       'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\84Ù\89 الساعة ٠٣:٠٠',     'Now plus 1 hour');
-        test.equal(moment(a).add({d: 1}).calendar(),       'غدا على الساعة ٠٢:٠٠',  'tomorrow at the same time');
-        test.equal(moment(a).subtract({h: 1}).calendar(),  'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\84Ù\89 الساعة ٠١:٠٠',     'Now minus 1 hour');
-        test.equal(moment(a).subtract({d: 1}).calendar(),  'Ø£Ù\85س Ø¹Ù\84Ù\89 الساعة ٠٢:٠٠', 'yesterday at the same time');
+        test.equal(moment(a).calendar(),                     'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\86د الساعة ٠٢:٠٠',     'today at the same time');
+        test.equal(moment(a).add({m: 25}).calendar(),      'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\86د الساعة ٠٢:٢٥',     'Now plus 25 min');
+        test.equal(moment(a).add({h: 1}).calendar(),       'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\86د الساعة ٠٣:٠٠',     'Now plus 1 hour');
+        test.equal(moment(a).add({d: 1}).calendar(),       'غدًا عند الساعة ٠٢:٠٠',  'tomorrow at the same time');
+        test.equal(moment(a).subtract({h: 1}).calendar(),  'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\86د الساعة ٠١:٠٠',     'Now minus 1 hour');
+        test.equal(moment(a).subtract({d: 1}).calendar(),  'Ø£Ù\85س Ø¹Ù\86د الساعة ٠٢:٠٠', 'yesterday at the same time');
         test.done();
     },
 
@@ -188,11 +203,11 @@ exports['locale:ar'] = {
         var i, m;
         for (i = 2; i < 7; i++) {
             m = moment().add({d: i});
-            test.equal(m.calendar(),       m.format('dddd [عÙ\84Ù\89 الساعة] LT'),  'Today + ' + i + ' days current time');
+            test.equal(m.calendar(),       m.format('dddd [عÙ\86د الساعة] LT'),  'Today + ' + i + ' days current time');
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
-            test.equal(m.calendar(),       m.format('dddd [عÙ\84Ù\89 الساعة] LT'),  'Today + ' + i + ' days beginning of day');
+            test.equal(m.calendar(),       m.format('dddd [عÙ\86د الساعة] LT'),  'Today + ' + i + ' days beginning of day');
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
-            test.equal(m.calendar(),       m.format('dddd [عÙ\84Ù\89 الساعة] LT'),  'Today + ' + i + ' days end of day');
+            test.equal(m.calendar(),       m.format('dddd [عÙ\86د الساعة] LT'),  'Today + ' + i + ' days end of day');
         }
         test.done();
     },
@@ -201,11 +216,11 @@ exports['locale:ar'] = {
         var i, m;
         for (i = 2; i < 7; i++) {
             m = moment().subtract({d: i});
-            test.equal(m.calendar(),       m.format('dddd [عÙ\84Ù\89 الساعة] LT'),  'Today - ' + i + ' days current time');
+            test.equal(m.calendar(),       m.format('dddd [عÙ\86د الساعة] LT'),  'Today - ' + i + ' days current time');
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
-            test.equal(m.calendar(),       m.format('dddd [عÙ\84Ù\89 الساعة] LT'),  'Today - ' + i + ' days beginning of day');
+            test.equal(m.calendar(),       m.format('dddd [عÙ\86د الساعة] LT'),  'Today - ' + i + ' days beginning of day');
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
-            test.equal(m.calendar(),       m.format('dddd [عÙ\84Ù\89 الساعة] LT'),  'Today - ' + i + ' days end of day');
+            test.equal(m.calendar(),       m.format('dddd [عÙ\86د الساعة] LT'),  'Today - ' + i + ' days end of day');
         }
         test.done();
     },