Return-Path: X-Original-To: apmail-incubator-callback-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-callback-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1DE3ED26F for ; Fri, 24 Aug 2012 20:29:49 +0000 (UTC) Received: (qmail 13973 invoked by uid 500); 24 Aug 2012 20:29:45 -0000 Delivered-To: apmail-incubator-callback-commits-archive@incubator.apache.org Received: (qmail 13784 invoked by uid 500); 24 Aug 2012 20:29:44 -0000 Mailing-List: contact callback-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: callback-dev@incubator.apache.org Delivered-To: mailing list callback-commits@incubator.apache.org Received: (qmail 12342 invoked by uid 99); 24 Aug 2012 20:29:41 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Aug 2012 20:29:41 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 259711FB84; Fri, 24 Aug 2012 20:29:41 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: anis@apache.org To: callback-commits@incubator.apache.org X-Mailer: ASF-Git Admin Mailer Subject: [62/72] [abbrv] [partial] [tizen] Add samples and templates Message-Id: <20120824202941.259711FB84@tyr.zones.apache.org> Date: Fri, 24 Aug 2012 20:29:41 +0000 (UTC) http://git-wip-us.apache.org/repos/asf/incubator-cordova-tizen/blob/f98b376a/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-KW.js ---------------------------------------------------------------------- diff --git a/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-KW.js b/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-KW.js new file mode 100644 index 0000000..07d1f89 --- /dev/null +++ b/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-KW.js @@ -0,0 +1,462 @@ +/* + * Globalize Culture ar-KW + * + * http://github.com/jquery/globalize + * + * Copyright Software Freedom Conservancy, Inc. + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * This file was generated by the Globalize Culture Generator + * Translation: bugs found in this file need to be fixed in the generator + */ + +(function( window, undefined ) { + +var Globalize; + +if ( typeof require !== "undefined" + && typeof exports !== "undefined" + && typeof module !== "undefined" ) { + // Assume CommonJS + Globalize = require( "globalize" ); +} else { + // Global variable + Globalize = window.Globalize; +} + +Globalize.addCultureInfo( "ar-KW", "default", { + name: "ar-KW", + englishName: "Arabic (Kuwait)", + nativeName: "العربية (الكويت)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + decimals: 3, + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + percent: { + decimals: 3 + }, + currency: { + pattern: ["$n-","$ n"], + decimals: 3, + symbol: "د.ك.‏" + } + }, + calendars: { + standard: { + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM, yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dd MMMM, yyyy hh:mm tt", + F: "dd MMMM, yyyy hh:mm:ss tt", + M: "dd MMMM" + } + }, + Hijri: { + name: "Hijri", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MM/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dd/MM/yyyy hh:mm tt", + F: "dd/MM/yyyy hh:mm:ss tt", + M: "dd MMMM" + }, + convert: { + // Adapted to Script from System.Globalization.HijriCalendar + ticks1970: 62135596800000, + // number of days leading up to each month + monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355], + minDate: -42521673600000, + maxDate: 253402300799999, + // The number of days to add or subtract from the calendar to accommodate the variances + // in the start and the end of Ramadan and to accommodate the date difference between + // countries/regions. May be dynamically adjusted based on user preference, but should + // remain in the range of -2 to 2, inclusive. + hijriAdjustment: 0, + toGregorian: function(hyear, hmonth, hday) { + var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment; + // 86400000 = ticks per day + var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970); + // adjust for timezone, because we are interested in the gregorian date for the same timezone + // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base + // date in the current timezone. + gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset()); + return gdate; + }, + fromGregorian: function(gdate) { + if ((gdate < this.minDate) || (gdate > this.maxDate)) return null; + var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000, + daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment; + // very particular formula determined by someone smart, adapted from the server-side implementation. + // it approximates the hijri year. + var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1, + absDays = this.daysToYear(hyear), + daysInYear = this.isLeapYear(hyear) ? 355 : 354; + // hyear is just approximate, it may need adjustment up or down by 1. + if (daysSinceJan0101 < absDays) { + hyear--; + absDays -= daysInYear; + } + else if (daysSinceJan0101 === absDays) { + hyear--; + absDays = this.daysToYear(hyear); + } + else { + if (daysSinceJan0101 > (absDays + daysInYear)) { + absDays += daysInYear; + hyear++; + } + } + // determine month by looking at how many days into the hyear we are + // monthDays contains the number of days up to each month. + hmonth = 0; + var daysIntoYear = daysSinceJan0101 - absDays; + while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) { + hmonth++; + } + hmonth--; + hday = daysIntoYear - this.monthDays[hmonth]; + return [hyear, hmonth, hday]; + }, + daysToYear: function(year) { + // calculates how many days since Jan 1, 0001 + var yearsToYear30 = Math.floor((year - 1) / 30) * 30, + yearsInto30 = year - yearsToYear30 - 1, + days = Math.floor((yearsToYear30 * 10631) / 30) + 227013; + while (yearsInto30 > 0) { + days += (this.isLeapYear(yearsInto30) ? 355 : 354); + yearsInto30--; + } + return days; + }, + isLeapYear: function(year) { + return ((((year * 11) + 14) % 30) < 11); + } + } + }, + UmAlQura: { + name: "UmAlQura", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MMMM/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dd/MMMM/yyyy hh:mm tt", + F: "dd/MMMM/yyyy hh:mm:ss tt", + M: "dd MMMM" + }, + convert: { + _yearInfo: [ + // MonthLengthFlags, Gregorian Date + [746, -2198707200000], + [1769, -2168121600000], + [3794, -2137449600000], + [3748, -2106777600000], + [3402, -2076192000000], + [2710, -2045606400000], + [1334, -2015020800000], + [2741, -1984435200000], + [3498, -1953763200000], + [2980, -1923091200000], + [2889, -1892505600000], + [2707, -1861920000000], + [1323, -1831334400000], + [2647, -1800748800000], + [1206, -1770076800000], + [2741, -1739491200000], + [1450, -1708819200000], + [3413, -1678233600000], + [3370, -1647561600000], + [2646, -1616976000000], + [1198, -1586390400000], + [2397, -1555804800000], + [748, -1525132800000], + [1749, -1494547200000], + [1706, -1463875200000], + [1365, -1433289600000], + [1195, -1402704000000], + [2395, -1372118400000], + [698, -1341446400000], + [1397, -1310860800000], + [2994, -1280188800000], + [1892, -1249516800000], + [1865, -1218931200000], + [1621, -1188345600000], + [683, -1157760000000], + [1371, -1127174400000], + [2778, -1096502400000], + [1748, -1065830400000], + [3785, -1035244800000], + [3474, -1004572800000], + [3365, -973987200000], + [2637, -943401600000], + [685, -912816000000], + [1389, -882230400000], + [2922, -851558400000], + [2898, -820886400000], + [2725, -790300800000], + [2635, -759715200000], + [1175, -729129600000], + [2359, -698544000000], + [694, -667872000000], + [1397, -637286400000], + [3434, -606614400000], + [3410, -575942400000], + [2710, -545356800000], + [2349, -514771200000], + [605, -484185600000], + [1245, -453600000000], + [2778, -422928000000], + [1492, -392256000000], + [3497, -361670400000], + [3410, -330998400000], + [2730, -300412800000], + [1238, -269827200000], + [2486, -239241600000], + [884, -208569600000], + [1897, -177984000000], + [1874, -147312000000], + [1701, -116726400000], + [1355, -86140800000], + [2731, -55555200000], + [1370, -24883200000], + [2773, 5702400000], + [3538, 36374400000], + [3492, 67046400000], + [3401, 97632000000], + [2709, 128217600000], + [1325, 158803200000], + [2653, 189388800000], + [1370, 220060800000], + [2773, 250646400000], + [1706, 281318400000], + [1685, 311904000000], + [1323, 342489600000], + [2647, 373075200000], + [1198, 403747200000], + [2422, 434332800000], + [1388, 465004800000], + [2901, 495590400000], + [2730, 526262400000], + [2645, 556848000000], + [1197, 587433600000], + [2397, 618019200000], + [730, 648691200000], + [1497, 679276800000], + [3506, 709948800000], + [2980, 740620800000], + [2890, 771206400000], + [2645, 801792000000], + [693, 832377600000], + [1397, 862963200000], + [2922, 893635200000], + [3026, 924307200000], + [3012, 954979200000], + [2953, 985564800000], + [2709, 1016150400000], + [1325, 1046736000000], + [1453, 1077321600000], + [2922, 1107993600000], + [1748, 1138665600000], + [3529, 1169251200000], + [3474, 1199923200000], + [2726, 1230508800000], + [2390, 1261094400000], + [686, 1291680000000], + [1389, 1322265600000], + [874, 1352937600000], + [2901, 1383523200000], + [2730, 1414195200000], + [2381, 1444780800000], + [1181, 1475366400000], + [2397, 1505952000000], + [698, 1536624000000], + [1461, 1567209600000], + [1450, 1597881600000], + [3413, 1628467200000], + [2714, 1659139200000], + [2350, 1689724800000], + [622, 1720310400000], + [1373, 1750896000000], + [2778, 1781568000000], + [1748, 1812240000000], + [1701, 1842825600000], + [0, 1873411200000] + ], + minDate: -2198707200000, + maxDate: 1873411199999, + toGregorian: function(hyear, hmonth, hday) { + var days = hday - 1, + gyear = hyear - 1318; + if (gyear < 0 || gyear >= this._yearInfo.length) return null; + var info = this._yearInfo[gyear], + gdate = new Date(info[1]), + monthLength = info[0]; + // Date's ticks in javascript are always from the GMT time, + // but we are interested in the gregorian date in the same timezone, + // not what the gregorian date was at GMT time, so we adjust for the offset. + gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset()); + for (var i = 0; i < hmonth; i++) { + days += 29 + (monthLength & 1); + monthLength = monthLength >> 1; + } + gdate.setDate(gdate.getDate() + days); + return gdate; + }, + fromGregorian: function(gdate) { + // Date's ticks in javascript are always from the GMT time, + // but we are interested in the hijri date in the same timezone, + // not what the hijri date was at GMT time, so we adjust for the offset. + var ticks = gdate - gdate.getTimezoneOffset() * 60000; + if (ticks < this.minDate || ticks > this.maxDate) return null; + var hyear = 0, + hmonth = 1; + // find the earliest gregorian date in the array that is greater than or equal to the given date + while (ticks > this._yearInfo[++hyear][1]) { } + if (ticks !== this._yearInfo[hyear][1]) { + hyear--; + } + var info = this._yearInfo[hyear], + // how many days has it been since the date we found in the array? + // 86400000 = ticks per day + days = Math.floor((ticks - info[1]) / 86400000), + monthLength = info[0]; + hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N + // now increment day/month based on the total days, considering + // how many days are in each month. We cannot run past the year + // mark since we would have found a different array entry in that case. + var daysInMonth = 29 + (monthLength & 1); + while (days >= daysInMonth) { + days -= daysInMonth; + monthLength = monthLength >> 1; + daysInMonth = 29 + (monthLength & 1); + hmonth++; + } + // remaining days is less than is in one month, thus is the day of the month we landed on + // hmonth-1 because in javascript months are zero based, stay consistent with that. + return [hyear, hmonth - 1, days + 1]; + } + } + }, + Gregorian_MiddleEastFrench: { + name: "Gregorian_MiddleEastFrench", + firstDay: 6, + days: { + names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"], + namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."], + namesShort: ["di","lu","ma","me","je","ve","sa"] + }, + months: { + names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""], + namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, MMMM dd, yyyy hh:mm tt", + F: "dddd, MMMM dd, yyyy hh:mm:ss tt", + M: "dd MMMM" + } + }, + Gregorian_Arabic: { + name: "Gregorian_Arabic", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""], + namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, MMMM dd, yyyy hh:mm tt", + F: "dddd, MMMM dd, yyyy hh:mm:ss tt" + } + }, + Gregorian_TransliteratedFrench: { + name: "Gregorian_TransliteratedFrench", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, MMMM dd, yyyy hh:mm tt", + F: "dddd, MMMM dd, yyyy hh:mm:ss tt" + } + } + } +}); + +}( this )); http://git-wip-us.apache.org/repos/asf/incubator-cordova-tizen/blob/f98b376a/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-LB.js ---------------------------------------------------------------------- diff --git a/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-LB.js b/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-LB.js new file mode 100644 index 0000000..8c82f5a --- /dev/null +++ b/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-LB.js @@ -0,0 +1,457 @@ +/* + * Globalize Culture ar-LB + * + * http://github.com/jquery/globalize + * + * Copyright Software Freedom Conservancy, Inc. + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * This file was generated by the Globalize Culture Generator + * Translation: bugs found in this file need to be fixed in the generator + */ + +(function( window, undefined ) { + +var Globalize; + +if ( typeof require !== "undefined" + && typeof exports !== "undefined" + && typeof module !== "undefined" ) { + // Assume CommonJS + Globalize = require( "globalize" ); +} else { + // Global variable + Globalize = window.Globalize; +} + +Globalize.addCultureInfo( "ar-LB", "default", { + name: "ar-LB", + englishName: "Arabic (Lebanon)", + nativeName: "العربية (لبنان)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + symbol: "ل.ل.‏" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""], + namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM, yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dd MMMM, yyyy hh:mm tt", + F: "dd MMMM, yyyy hh:mm:ss tt", + M: "dd MMMM" + } + }, + UmAlQura: { + name: "UmAlQura", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MMMM/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dd/MMMM/yyyy hh:mm tt", + F: "dd/MMMM/yyyy hh:mm:ss tt", + M: "dd MMMM" + }, + convert: { + _yearInfo: [ + // MonthLengthFlags, Gregorian Date + [746, -2198707200000], + [1769, -2168121600000], + [3794, -2137449600000], + [3748, -2106777600000], + [3402, -2076192000000], + [2710, -2045606400000], + [1334, -2015020800000], + [2741, -1984435200000], + [3498, -1953763200000], + [2980, -1923091200000], + [2889, -1892505600000], + [2707, -1861920000000], + [1323, -1831334400000], + [2647, -1800748800000], + [1206, -1770076800000], + [2741, -1739491200000], + [1450, -1708819200000], + [3413, -1678233600000], + [3370, -1647561600000], + [2646, -1616976000000], + [1198, -1586390400000], + [2397, -1555804800000], + [748, -1525132800000], + [1749, -1494547200000], + [1706, -1463875200000], + [1365, -1433289600000], + [1195, -1402704000000], + [2395, -1372118400000], + [698, -1341446400000], + [1397, -1310860800000], + [2994, -1280188800000], + [1892, -1249516800000], + [1865, -1218931200000], + [1621, -1188345600000], + [683, -1157760000000], + [1371, -1127174400000], + [2778, -1096502400000], + [1748, -1065830400000], + [3785, -1035244800000], + [3474, -1004572800000], + [3365, -973987200000], + [2637, -943401600000], + [685, -912816000000], + [1389, -882230400000], + [2922, -851558400000], + [2898, -820886400000], + [2725, -790300800000], + [2635, -759715200000], + [1175, -729129600000], + [2359, -698544000000], + [694, -667872000000], + [1397, -637286400000], + [3434, -606614400000], + [3410, -575942400000], + [2710, -545356800000], + [2349, -514771200000], + [605, -484185600000], + [1245, -453600000000], + [2778, -422928000000], + [1492, -392256000000], + [3497, -361670400000], + [3410, -330998400000], + [2730, -300412800000], + [1238, -269827200000], + [2486, -239241600000], + [884, -208569600000], + [1897, -177984000000], + [1874, -147312000000], + [1701, -116726400000], + [1355, -86140800000], + [2731, -55555200000], + [1370, -24883200000], + [2773, 5702400000], + [3538, 36374400000], + [3492, 67046400000], + [3401, 97632000000], + [2709, 128217600000], + [1325, 158803200000], + [2653, 189388800000], + [1370, 220060800000], + [2773, 250646400000], + [1706, 281318400000], + [1685, 311904000000], + [1323, 342489600000], + [2647, 373075200000], + [1198, 403747200000], + [2422, 434332800000], + [1388, 465004800000], + [2901, 495590400000], + [2730, 526262400000], + [2645, 556848000000], + [1197, 587433600000], + [2397, 618019200000], + [730, 648691200000], + [1497, 679276800000], + [3506, 709948800000], + [2980, 740620800000], + [2890, 771206400000], + [2645, 801792000000], + [693, 832377600000], + [1397, 862963200000], + [2922, 893635200000], + [3026, 924307200000], + [3012, 954979200000], + [2953, 985564800000], + [2709, 1016150400000], + [1325, 1046736000000], + [1453, 1077321600000], + [2922, 1107993600000], + [1748, 1138665600000], + [3529, 1169251200000], + [3474, 1199923200000], + [2726, 1230508800000], + [2390, 1261094400000], + [686, 1291680000000], + [1389, 1322265600000], + [874, 1352937600000], + [2901, 1383523200000], + [2730, 1414195200000], + [2381, 1444780800000], + [1181, 1475366400000], + [2397, 1505952000000], + [698, 1536624000000], + [1461, 1567209600000], + [1450, 1597881600000], + [3413, 1628467200000], + [2714, 1659139200000], + [2350, 1689724800000], + [622, 1720310400000], + [1373, 1750896000000], + [2778, 1781568000000], + [1748, 1812240000000], + [1701, 1842825600000], + [0, 1873411200000] + ], + minDate: -2198707200000, + maxDate: 1873411199999, + toGregorian: function(hyear, hmonth, hday) { + var days = hday - 1, + gyear = hyear - 1318; + if (gyear < 0 || gyear >= this._yearInfo.length) return null; + var info = this._yearInfo[gyear], + gdate = new Date(info[1]), + monthLength = info[0]; + // Date's ticks in javascript are always from the GMT time, + // but we are interested in the gregorian date in the same timezone, + // not what the gregorian date was at GMT time, so we adjust for the offset. + gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset()); + for (var i = 0; i < hmonth; i++) { + days += 29 + (monthLength & 1); + monthLength = monthLength >> 1; + } + gdate.setDate(gdate.getDate() + days); + return gdate; + }, + fromGregorian: function(gdate) { + // Date's ticks in javascript are always from the GMT time, + // but we are interested in the hijri date in the same timezone, + // not what the hijri date was at GMT time, so we adjust for the offset. + var ticks = gdate - gdate.getTimezoneOffset() * 60000; + if (ticks < this.minDate || ticks > this.maxDate) return null; + var hyear = 0, + hmonth = 1; + // find the earliest gregorian date in the array that is greater than or equal to the given date + while (ticks > this._yearInfo[++hyear][1]) { } + if (ticks !== this._yearInfo[hyear][1]) { + hyear--; + } + var info = this._yearInfo[hyear], + // how many days has it been since the date we found in the array? + // 86400000 = ticks per day + days = Math.floor((ticks - info[1]) / 86400000), + monthLength = info[0]; + hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N + // now increment day/month based on the total days, considering + // how many days are in each month. We cannot run past the year + // mark since we would have found a different array entry in that case. + var daysInMonth = 29 + (monthLength & 1); + while (days >= daysInMonth) { + days -= daysInMonth; + monthLength = monthLength >> 1; + daysInMonth = 29 + (monthLength & 1); + hmonth++; + } + // remaining days is less than is in one month, thus is the day of the month we landed on + // hmonth-1 because in javascript months are zero based, stay consistent with that. + return [hyear, hmonth - 1, days + 1]; + } + } + }, + Hijri: { + name: "Hijri", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MM/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dd/MM/yyyy hh:mm tt", + F: "dd/MM/yyyy hh:mm:ss tt", + M: "dd MMMM" + }, + convert: { + // Adapted to Script from System.Globalization.HijriCalendar + ticks1970: 62135596800000, + // number of days leading up to each month + monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355], + minDate: -42521673600000, + maxDate: 253402300799999, + // The number of days to add or subtract from the calendar to accommodate the variances + // in the start and the end of Ramadan and to accommodate the date difference between + // countries/regions. May be dynamically adjusted based on user preference, but should + // remain in the range of -2 to 2, inclusive. + hijriAdjustment: 0, + toGregorian: function(hyear, hmonth, hday) { + var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment; + // 86400000 = ticks per day + var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970); + // adjust for timezone, because we are interested in the gregorian date for the same timezone + // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base + // date in the current timezone. + gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset()); + return gdate; + }, + fromGregorian: function(gdate) { + if ((gdate < this.minDate) || (gdate > this.maxDate)) return null; + var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000, + daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment; + // very particular formula determined by someone smart, adapted from the server-side implementation. + // it approximates the hijri year. + var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1, + absDays = this.daysToYear(hyear), + daysInYear = this.isLeapYear(hyear) ? 355 : 354; + // hyear is just approximate, it may need adjustment up or down by 1. + if (daysSinceJan0101 < absDays) { + hyear--; + absDays -= daysInYear; + } + else if (daysSinceJan0101 === absDays) { + hyear--; + absDays = this.daysToYear(hyear); + } + else { + if (daysSinceJan0101 > (absDays + daysInYear)) { + absDays += daysInYear; + hyear++; + } + } + // determine month by looking at how many days into the hyear we are + // monthDays contains the number of days up to each month. + hmonth = 0; + var daysIntoYear = daysSinceJan0101 - absDays; + while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) { + hmonth++; + } + hmonth--; + hday = daysIntoYear - this.monthDays[hmonth]; + return [hyear, hmonth, hday]; + }, + daysToYear: function(year) { + // calculates how many days since Jan 1, 0001 + var yearsToYear30 = Math.floor((year - 1) / 30) * 30, + yearsInto30 = year - yearsToYear30 - 1, + days = Math.floor((yearsToYear30 * 10631) / 30) + 227013; + while (yearsInto30 > 0) { + days += (this.isLeapYear(yearsInto30) ? 355 : 354); + yearsInto30--; + } + return days; + }, + isLeapYear: function(year) { + return ((((year * 11) + 14) % 30) < 11); + } + } + }, + Gregorian_MiddleEastFrench: { + name: "Gregorian_MiddleEastFrench", + firstDay: 1, + days: { + names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"], + namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."], + namesShort: ["di","lu","ma","me","je","ve","sa"] + }, + months: { + names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""], + namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, MMMM dd, yyyy hh:mm tt", + F: "dddd, MMMM dd, yyyy hh:mm:ss tt", + M: "dd MMMM" + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["أ","ا","ث","أ","خ","ج","س"] + }, + months: { + names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, MMMM dd, yyyy hh:mm tt", + F: "dddd, MMMM dd, yyyy hh:mm:ss tt" + } + }, + Gregorian_TransliteratedFrench: { + name: "Gregorian_TransliteratedFrench", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, MMMM dd, yyyy hh:mm tt", + F: "dddd, MMMM dd, yyyy hh:mm:ss tt" + } + } + } +}); + +}( this )); http://git-wip-us.apache.org/repos/asf/incubator-cordova-tizen/blob/f98b376a/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-LY.js ---------------------------------------------------------------------- diff --git a/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-LY.js b/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-LY.js new file mode 100644 index 0000000..5c16db8 --- /dev/null +++ b/templates/CordovaTizenWebUIFrameworkTemplate/project/tizen-web-ui-fw/0.1/js/cultures/globalize.culture.ar-LY.js @@ -0,0 +1,462 @@ +/* + * Globalize Culture ar-LY + * + * http://github.com/jquery/globalize + * + * Copyright Software Freedom Conservancy, Inc. + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * This file was generated by the Globalize Culture Generator + * Translation: bugs found in this file need to be fixed in the generator + */ + +(function( window, undefined ) { + +var Globalize; + +if ( typeof require !== "undefined" + && typeof exports !== "undefined" + && typeof module !== "undefined" ) { + // Assume CommonJS + Globalize = require( "globalize" ); +} else { + // Global variable + Globalize = window.Globalize; +} + +Globalize.addCultureInfo( "ar-LY", "default", { + name: "ar-LY", + englishName: "Arabic (Libya)", + nativeName: "العربية (ليبيا)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + decimals: 3, + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + percent: { + decimals: 3 + }, + currency: { + pattern: ["$n-","$n"], + decimals: 3, + symbol: "د.ل.‏" + } + }, + calendars: { + standard: { + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM, yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dd MMMM, yyyy hh:mm tt", + F: "dd MMMM, yyyy hh:mm:ss tt", + M: "dd MMMM" + } + }, + Hijri: { + name: "Hijri", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MM/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dd/MM/yyyy hh:mm tt", + F: "dd/MM/yyyy hh:mm:ss tt", + M: "dd MMMM" + }, + convert: { + // Adapted to Script from System.Globalization.HijriCalendar + ticks1970: 62135596800000, + // number of days leading up to each month + monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355], + minDate: -42521673600000, + maxDate: 253402300799999, + // The number of days to add or subtract from the calendar to accommodate the variances + // in the start and the end of Ramadan and to accommodate the date difference between + // countries/regions. May be dynamically adjusted based on user preference, but should + // remain in the range of -2 to 2, inclusive. + hijriAdjustment: 0, + toGregorian: function(hyear, hmonth, hday) { + var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.hijriAdjustment; + // 86400000 = ticks per day + var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970); + // adjust for timezone, because we are interested in the gregorian date for the same timezone + // but ticks in javascript is always from GMT, unlike the server were ticks counts from the base + // date in the current timezone. + gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset()); + return gdate; + }, + fromGregorian: function(gdate) { + if ((gdate < this.minDate) || (gdate > this.maxDate)) return null; + var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000, + daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.hijriAdjustment; + // very particular formula determined by someone smart, adapted from the server-side implementation. + // it approximates the hijri year. + var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1, + absDays = this.daysToYear(hyear), + daysInYear = this.isLeapYear(hyear) ? 355 : 354; + // hyear is just approximate, it may need adjustment up or down by 1. + if (daysSinceJan0101 < absDays) { + hyear--; + absDays -= daysInYear; + } + else if (daysSinceJan0101 === absDays) { + hyear--; + absDays = this.daysToYear(hyear); + } + else { + if (daysSinceJan0101 > (absDays + daysInYear)) { + absDays += daysInYear; + hyear++; + } + } + // determine month by looking at how many days into the hyear we are + // monthDays contains the number of days up to each month. + hmonth = 0; + var daysIntoYear = daysSinceJan0101 - absDays; + while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) { + hmonth++; + } + hmonth--; + hday = daysIntoYear - this.monthDays[hmonth]; + return [hyear, hmonth, hday]; + }, + daysToYear: function(year) { + // calculates how many days since Jan 1, 0001 + var yearsToYear30 = Math.floor((year - 1) / 30) * 30, + yearsInto30 = year - yearsToYear30 - 1, + days = Math.floor((yearsToYear30 * 10631) / 30) + 227013; + while (yearsInto30 > 0) { + days += (this.isLeapYear(yearsInto30) ? 355 : 354); + yearsInto30--; + } + return days; + }, + isLeapYear: function(year) { + return ((((year * 11) + 14) % 30) < 11); + } + } + }, + UmAlQura: { + name: "UmAlQura", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MMMM/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dd/MMMM/yyyy hh:mm tt", + F: "dd/MMMM/yyyy hh:mm:ss tt", + M: "dd MMMM" + }, + convert: { + _yearInfo: [ + // MonthLengthFlags, Gregorian Date + [746, -2198707200000], + [1769, -2168121600000], + [3794, -2137449600000], + [3748, -2106777600000], + [3402, -2076192000000], + [2710, -2045606400000], + [1334, -2015020800000], + [2741, -1984435200000], + [3498, -1953763200000], + [2980, -1923091200000], + [2889, -1892505600000], + [2707, -1861920000000], + [1323, -1831334400000], + [2647, -1800748800000], + [1206, -1770076800000], + [2741, -1739491200000], + [1450, -1708819200000], + [3413, -1678233600000], + [3370, -1647561600000], + [2646, -1616976000000], + [1198, -1586390400000], + [2397, -1555804800000], + [748, -1525132800000], + [1749, -1494547200000], + [1706, -1463875200000], + [1365, -1433289600000], + [1195, -1402704000000], + [2395, -1372118400000], + [698, -1341446400000], + [1397, -1310860800000], + [2994, -1280188800000], + [1892, -1249516800000], + [1865, -1218931200000], + [1621, -1188345600000], + [683, -1157760000000], + [1371, -1127174400000], + [2778, -1096502400000], + [1748, -1065830400000], + [3785, -1035244800000], + [3474, -1004572800000], + [3365, -973987200000], + [2637, -943401600000], + [685, -912816000000], + [1389, -882230400000], + [2922, -851558400000], + [2898, -820886400000], + [2725, -790300800000], + [2635, -759715200000], + [1175, -729129600000], + [2359, -698544000000], + [694, -667872000000], + [1397, -637286400000], + [3434, -606614400000], + [3410, -575942400000], + [2710, -545356800000], + [2349, -514771200000], + [605, -484185600000], + [1245, -453600000000], + [2778, -422928000000], + [1492, -392256000000], + [3497, -361670400000], + [3410, -330998400000], + [2730, -300412800000], + [1238, -269827200000], + [2486, -239241600000], + [884, -208569600000], + [1897, -177984000000], + [1874, -147312000000], + [1701, -116726400000], + [1355, -86140800000], + [2731, -55555200000], + [1370, -24883200000], + [2773, 5702400000], + [3538, 36374400000], + [3492, 67046400000], + [3401, 97632000000], + [2709, 128217600000], + [1325, 158803200000], + [2653, 189388800000], + [1370, 220060800000], + [2773, 250646400000], + [1706, 281318400000], + [1685, 311904000000], + [1323, 342489600000], + [2647, 373075200000], + [1198, 403747200000], + [2422, 434332800000], + [1388, 465004800000], + [2901, 495590400000], + [2730, 526262400000], + [2645, 556848000000], + [1197, 587433600000], + [2397, 618019200000], + [730, 648691200000], + [1497, 679276800000], + [3506, 709948800000], + [2980, 740620800000], + [2890, 771206400000], + [2645, 801792000000], + [693, 832377600000], + [1397, 862963200000], + [2922, 893635200000], + [3026, 924307200000], + [3012, 954979200000], + [2953, 985564800000], + [2709, 1016150400000], + [1325, 1046736000000], + [1453, 1077321600000], + [2922, 1107993600000], + [1748, 1138665600000], + [3529, 1169251200000], + [3474, 1199923200000], + [2726, 1230508800000], + [2390, 1261094400000], + [686, 1291680000000], + [1389, 1322265600000], + [874, 1352937600000], + [2901, 1383523200000], + [2730, 1414195200000], + [2381, 1444780800000], + [1181, 1475366400000], + [2397, 1505952000000], + [698, 1536624000000], + [1461, 1567209600000], + [1450, 1597881600000], + [3413, 1628467200000], + [2714, 1659139200000], + [2350, 1689724800000], + [622, 1720310400000], + [1373, 1750896000000], + [2778, 1781568000000], + [1748, 1812240000000], + [1701, 1842825600000], + [0, 1873411200000] + ], + minDate: -2198707200000, + maxDate: 1873411199999, + toGregorian: function(hyear, hmonth, hday) { + var days = hday - 1, + gyear = hyear - 1318; + if (gyear < 0 || gyear >= this._yearInfo.length) return null; + var info = this._yearInfo[gyear], + gdate = new Date(info[1]), + monthLength = info[0]; + // Date's ticks in javascript are always from the GMT time, + // but we are interested in the gregorian date in the same timezone, + // not what the gregorian date was at GMT time, so we adjust for the offset. + gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset()); + for (var i = 0; i < hmonth; i++) { + days += 29 + (monthLength & 1); + monthLength = monthLength >> 1; + } + gdate.setDate(gdate.getDate() + days); + return gdate; + }, + fromGregorian: function(gdate) { + // Date's ticks in javascript are always from the GMT time, + // but we are interested in the hijri date in the same timezone, + // not what the hijri date was at GMT time, so we adjust for the offset. + var ticks = gdate - gdate.getTimezoneOffset() * 60000; + if (ticks < this.minDate || ticks > this.maxDate) return null; + var hyear = 0, + hmonth = 1; + // find the earliest gregorian date in the array that is greater than or equal to the given date + while (ticks > this._yearInfo[++hyear][1]) { } + if (ticks !== this._yearInfo[hyear][1]) { + hyear--; + } + var info = this._yearInfo[hyear], + // how many days has it been since the date we found in the array? + // 86400000 = ticks per day + days = Math.floor((ticks - info[1]) / 86400000), + monthLength = info[0]; + hyear += 1318; // the Nth array entry corresponds to hijri year 1318+N + // now increment day/month based on the total days, considering + // how many days are in each month. We cannot run past the year + // mark since we would have found a different array entry in that case. + var daysInMonth = 29 + (monthLength & 1); + while (days >= daysInMonth) { + days -= daysInMonth; + monthLength = monthLength >> 1; + daysInMonth = 29 + (monthLength & 1); + hmonth++; + } + // remaining days is less than is in one month, thus is the day of the month we landed on + // hmonth-1 because in javascript months are zero based, stay consistent with that. + return [hyear, hmonth - 1, days + 1]; + } + } + }, + Gregorian_MiddleEastFrench: { + name: "Gregorian_MiddleEastFrench", + firstDay: 6, + days: { + names: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"], + namesAbbr: ["dim.","lun.","mar.","mer.","jeu.","ven.","sam."], + namesShort: ["di","lu","ma","me","je","ve","sa"] + }, + months: { + names: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre",""], + namesAbbr: ["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc.",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, MMMM dd, yyyy hh:mm tt", + F: "dddd, MMMM dd, yyyy hh:mm:ss tt", + M: "dd MMMM" + } + }, + Gregorian_Arabic: { + name: "Gregorian_Arabic", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""], + namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, MMMM dd, yyyy hh:mm tt", + F: "dddd, MMMM dd, yyyy hh:mm:ss tt" + } + }, + Gregorian_TransliteratedFrench: { + name: "Gregorian_TransliteratedFrench", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, MMMM dd, yyyy hh:mm tt", + F: "dddd, MMMM dd, yyyy hh:mm:ss tt" + } + } + } +}); + +}( this ));