diff options
author | Kibum Kim <kb0929.kim@samsung.com> | 2012-02-27 21:16:46 +0900 |
---|---|---|
committer | Kibum Kim <kb0929.kim@samsung.com> | 2012-02-27 21:16:46 +0900 |
commit | 5304d4c62a76f7517fedcc510afbebe2239173a5 (patch) | |
tree | 98e10389e4ace91777bb691800b78bd5f716744d /libs/js/globalize | |
download | web-ui-fw-5304d4c62a76f7517fedcc510afbebe2239173a5.tar.gz web-ui-fw-5304d4c62a76f7517fedcc510afbebe2239173a5.tar.bz2 web-ui-fw-5304d4c62a76f7517fedcc510afbebe2239173a5.zip |
tizen beta release
Diffstat (limited to 'libs/js/globalize')
382 files changed, 71275 insertions, 0 deletions
diff --git a/libs/js/globalize/.gitignore b/libs/js/globalize/.gitignore new file mode 100644 index 00000000..a4f14d97 --- /dev/null +++ b/libs/js/globalize/.gitignore @@ -0,0 +1,7 @@ +.project +*~ +*.diff +*.patch +.DS_Store +generator/bin +generator/obj diff --git a/libs/js/globalize/.npmignore b/libs/js/globalize/.npmignore new file mode 100644 index 00000000..dba9ccc8 --- /dev/null +++ b/libs/js/globalize/.npmignore @@ -0,0 +1 @@ +generator/ diff --git a/libs/js/globalize/LICENSE b/libs/js/globalize/LICENSE new file mode 100644 index 00000000..9c8b0224 --- /dev/null +++ b/libs/js/globalize/LICENSE @@ -0,0 +1,21 @@ +Copyright Software Freedom Conservancy, Inc. +http://jquery.org/license + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/libs/js/globalize/README.md b/libs/js/globalize/README.md new file mode 100644 index 00000000..19152a07 --- /dev/null +++ b/libs/js/globalize/README.md @@ -0,0 +1,810 @@ +# Globalize + +A JavaScript library for globalization and localization. Enables complex +culture-aware number and date parsing and formatting, including the raw +culture information for hundreds of different languages and countries, as well +as an extensible system for localization. + +<hr> +<ul> +<li><a href="#why">Why Globalization</a></li> +<li><a href="#what">What is a Culture?</a></li> +<li><a href="#addCultureInfo">Globalize.addCultureInfo</a></li> +<li><a href="#cultures">Globalize.cultures</a></li> +<li><a href="#culture">Globalize.culture</a></li> +<li><a href="#find">Globalize.findClosestCulture</a></li> +<li><a href="#format">Globalize.format</a></li> +<li><a href="#localize">Globalize.localize</a></li> +<li><a href="#parseInt">Globalize.parseInt</a></li> +<li><a href="#parseFloat">Globalize.parseFloat</a></li> +<li><a href="#parseDate">Globalize.parseDate</a></li> +<li><a href="#extend">Utilizing and Extending Cultures</a></li> +<li><a href="#defining">Defining Culture Information</a></li> +<li><a href="#numbers">Number Formatting</a></li> +<li><a href="#dates">Date Formatting</a></li> +<li><a href="#generating">Generating Culture Files</a></li> +</ul> + +<a name="why"></a> +<h2 id="why">Why Globalization?</h2> +<p> +Each language, and the countries that speak that language, have different +expectations when it comes to how numbers (including currency and percentages) +and dates should appear. Obviously, each language has different names for the +days of the week and the months of the year. But they also have different +expectations for the structure of dates, such as what order the day, month and +year are in. In number formatting, not only does the character used to +delineate number groupings and the decimal portion differ, but the placement of +those characters differ as well. +</p> +<p> +A user using an application should be able to read and write dates and numbers +in the format they are accustomed to. This library makes this possible, +providing an API to convert user-entered number and date strings - in their +own format - into actual numbers and dates, and conversely, to format numbers +and dates into that string format. +</p> + +<a name="what"></a> +<h2 id="what">What is a Culture?</h2> +<p> +Globalize defines roughly 350 cultures. Part of the reason for this large +number, besides there being a lot of cultures in the world, is because for +some languages, expectations differ among the countries that speak it. +English, for example, is an official language in dozens of countries. Despite +the language being English, the expected date formatting still greatly differs +between them. +</p> +<p> +So, it does not seem useful to define cultures by their language alone. Nor +is it useful to define a culture by its country alone, as many countries have +several official languages, spoken by sizable populations. Therefore, cultures +are defined as a combination of the language and the country speaking it. Each +culture is given a unique code that is a combination of an ISO 639 two-letter +lowercase culture code for the language, and a two-letter uppercase code for +the country or region. For example, "en-US" is the culture code for English in +the United States. +</p> +<p> +Yet, it is perhaps unreasonable to expect application developers to cater to +every possible language/country combination perfectly. It is important then to +define so-called "neutral" cultures based on each language. These cultures +define the most likely accepted set of rules by anyone speaking that language, +whatever the country. Neutral cultures are defined only by their language code. +For example, "es" is the neutral culture for Spanish. +</p> + +<a name="addCultureInfo"></a> +<h2 id="addCultureInfo">Globalize.addCultureInfo( cultureName, extendCultureName, info )</h2> +<p> +This method allows you to create a new culture based on an existing culture or +add to existing culture info. If the optional argument <pre>extendCultureName</pre> +is not supplied, it will extend the existing culture if it exists or create a new +culture based on the default culture if it doesn't exist. If cultureName is not +supplied, it will add the supplied info to the current culture. See .culture(). +</p> + + +<a name="cultures"></a> +<h2 id="cultures">Globalize.cultures</h2> +<p> +A mapping of culture codes to culture objects. For example, +Globalize.cultures.fr is an object representing the complete culture +definition for the neutral French culture. Note that the main globalize.js file +alone only includes a neutral English culture. To get additional cultures, you +must include one or more of the culture scripts that come with it. You +can see in the section <a href="#defining">Defining Culture Information</a> +below which fields are defined in each culture. +</p> + +<a name="culture"></a> +<h2 id="culture">Globalize.culture( selector )</h2> +<p> +An application that supports globalization and/or localization will need to +have a way to determine the user's preference. Attempting to automatically +determine the appropriate culture is useful, but it is good practice to always +offer the user a choice, by whatever means. +</p> +<p> +Whatever your mechanism, it is likely that you will have to correlate the +user's preferences with the list of cultures supported in the app. This +method allows you to select the best match given the culture scripts that you +have included and to set the Globalize culture to the culture which the user +prefers. +</p> +<p> +If you pass an array of names instead of a single name string, the first +culture for which there is a match (that culture's script has been referenced) +will be used. If none match, the search restarts using the corresponding +neutral cultures. For example, if the application has included only the neutral +"fr" culture, any of these would select it: +<pre> +Globalize.culture( "fr" ); +console.log( Globalize.culture().name ) // "fr" + +Globalize.culture( "fr-FR" ); +console.log( Globalize.culture().name ) // "fr-FR" + +Globalize.culture([ "es-MX", "fr-FR" ]); +console.log( Globalize.culture().name ) // "es-MX" +</pre> + +In any case, if no match is found, the neutral English culture "en" is selected +by default. + +If you don't pass a selector, .culture() will return the current Globalize +culture. +</p> +<p> +Each culture string may also follow the pattern defined in +<a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4" +>RFC2616 sec 14.4</a>. That is, a culture name may include a "quality" value +that indicates an estimate of the user's preference for the language. + +<pre> +Globalize.culture( "fr;q=0.4, es;q=0.5, he" ); +</pre> +In this example, the neutral Hebrew culture "he" is given top priority (an +unspecified quality is equal to 1). If that language is not an exact match for +any of the cultures available in Globalize.cultures, then "es" is the next +highest priority with 0.5, etc. If none of these match, just like with the array +syntax, the search starts over and the same rules are applied to the +corresponding neutral language culture for each. If still none match, the +neutral English culture "en" is used. +</p> + +<a name="find"></a> +<h2 id="find">Globalize.findClosestCulture( selector )</h2> +<p> +Just like .culture( selector ), but it just returns the matching culture, if +any, without setting it to the current Globalize culture, returned by +.culture(). +</p> + +<a name="format"></a> +<h2 id="format">Globalize.format( value, format, culture )</h2> +<p> +Formats a date or number according to the given format string and the given +culture (or the current culture if not specified). See the sections +<a href="#numbers">Number Formatting</a> and +<a href="#dates">Date Formatting</a> below for details on the available +formats. +<pre> +// assuming a culture with number grouping of 3 digits, +// using "," separator and "." decimal symbol. +Globalize.format( 1234.567, "n" ); // "1,234.57" +Globalize.format( 1234.567, "n1" ); // "1,234.6" +Globalize.format( 1234.567, "n0" ); // "1,235" + +// assuming a culture with "/" as the date separator symbol +Globalize.format( new Date(1955,10,5), "yyyy/MM/dd" ); // "1955/11/05" +Globalize.format( new Date(1955,10,5), "dddd MMMM d, yyyy" ); // "Saturday November 5, 1955" +</pre> +</p> + +<a name="localize"></a> +<h2 id="localize">Globalize.localize( key, culture )</h2> +<p> +Gets or sets a localized value. This method allows you to extend the +information available to a particular culture, and to easily retrieve it +without worrying about finding the most appropriate culture. For example, to +define the word "translate" in French: +<pre> +Globalize.addCultureInfo( "fr", { + messages: { + "translate": "traduire" + } +}); +console.log( Globalize.localize( "translate", "fr" ) ); // "traduire" +</pre> +Note that localize() will find the closest match available per the same +semantics as the Globalize.findClosestCulture() method. If there is no +match, the translation given is for the neutral English culture "en" by +default. +</p> + + +<a name="parseInt"></a> +<h2 id="parseInt">Globalize.parseInt( value, radix, culture )</h2> +<p> +Parses a string representing a whole number in the given radix (10 by default), +taking into account any formatting rules followed by the given culture (or the +current culture, if not specified). +<pre> +// assuming a culture where "," is the group separator +// and "." is the decimal separator +Globalize.parseInt( "1,234.56" ); // 1234 +// assuming a culture where "." is the group separator +// and "," is the decimal separator +Globalize.parseInt( "1.234,56" ); // 1234 +</pre> +</p> + +<a name="parseFloat"></a> +<h2 id="parseFloat">Globalize.parseFloat( value, radix, culture )</h2> +<p> +Parses a string representing a floating point number in the given radix (10 by +default), taking into account any formatting rules followed by the given +culture (or the current culture, if not specified). +<pre> +// assuming a culture where "," is the group separator +// and "." is the decimal separator +Globalize.parseFloat( "1,234.56" ); // 1234.56 +// assuming a culture where "." is the group separator +// and "," is the decimal separator +Globalize.parseFloat( "1.234,56" ); // 1234.56 +</pre> +</p> + +<a name="parseDate"></a> +<h2 id="parseDate">Globalize.parseDate( value, formats, culture )</h2> +<p> +Parses a string representing a date into a JavaScript Date object, taking into +account the given possible formats (or the given culture's set of default +formats if not given). As before, the current culture is used if one is not +specified. +<pre> +Globalize.culture( "en" ); +Globalize.parseDate( "1/2/2003" ); // Thu Jan 02 2003 +Globalize.culture( "fr" ); +Globalize.parseDate( "1/2/2003" ); // Sat Feb 01 2003 +</pre> +</p> + +<a name="extend"></a> +<h2 id="extend">Utilizing and Extending Cultures</h2> +<p> +The culture information included with each culture is mostly necessary for the +parsing and formatting methods, but not all of it. For example, the Native and +English names for each culture is given, as well as a boolean indicating +whether the language is right-to-left. This may be useful information for your +own purposes. You may also add to the culture information directly if so +desired. +</p> +<p> +As an example, in the U.S., the word "billion" means the number 1,000,000,000 +(9 zeros). But in other countries, that number is "1000 million" or a +"milliard", and a billion is 1,000,000,000,000 (12 zeros). If you needed to +provide functionality to your app or custom plugin that needed to know how many +zeros are in a "billion", you could extend the culture information as follows: +<pre> +// define additional culture information for a possibly existing culture +Globalize.addCultureInfo( "fr", { + numberFormat: { + billionZeroes: 12 + } +}); +</pre> +Using this mechanism, the "fr" culture will be created if it does not exist. +And if it does, the given values will be added to it. +</p> + +<a name="defining"></a> +<h2 id="defining">Defining Culture Information</h2> +<p> +Each culture is defined in its own script with the naming scheme +globalize.culture.<name>.js. You may include any number of these scripts, +making them available in the Globalize.cultures mapping. Including one of +these scripts does NOT automatically make it the current culture selected in the +Globalize.culture property. +</p> +<p> +The neutral English culture is defined directly in globalize.js, and set +both to the properties "en" and "default" of the Globalize.cultures mapping. +Extensive comments describe the purpose of each of the fields defined. +</p> +<p> +Looking at the source code of the scripts for each culture, you will notice +that each script uses Globalize.addCultureInfo() to have the "default" neutral +English culture "en", as a common basis, and defines only the properties that +differ from neutral English. +</p> +<p> +The neutral English culture is listed here along with the comments: +<pre> +Globalize.cultures[ "default" ] = { + // A unique name for the culture in the form + // <language code>-<country/region code> + name: "English", + // the name of the culture in the English language + englishName: "English", + // the name of the culture in its own language + nativeName: "English", + // whether the culture uses right-to-left text + isRTL: false, + // "language" is used for so-called "specific" cultures. + // For example, the culture "es-CL" means Spanish in Chili. + // It represents the Spanish-speaking culture as it is in Chili, + // which might have different formatting rules or even translations + // than Spanish in Spain. A "neutral" culture is one that is not + // specific to a region. For example, the culture "es" is the generic + // Spanish culture, which may be a more generalized version of the language + // that may or may not be what a specific culture expects. + // For a specific culture like "es-CL", the "language" field refers to the + // neutral, generic culture information for the language it is using. + // This is not always a simple matter of the string before the dash. + // For example, the "zh-Hans" culture is neutral (Simplified Chinese). + // And the "zh-SG" culture is Simplified Chinese in Singapore, whose + // language field is "zh-CHS", not "zh". + // This field should be used to navigate from a specific culture to its + // more general, neutral culture. If a culture is already as general as it + // can get, the language may refer to itself. + language: "en", + // "numberFormat" defines general number formatting rules, like the digits + // in each grouping, the group separator, and how negative numbers are + // displayed. + numberFormat: { + // [negativePattern] + // Note, numberFormat.pattern has no "positivePattern" unlike percent + // and currency, but is still defined as an array for consistency with + // them. + // negativePattern: one of "(n)|-n|- n|n-|n -" + pattern: [ "-n" ], + // number of decimal places normally shown + decimals: 2, + // string that separates number groups, as in 1,000,000 + ",": ",", + // string that separates a number from the fractional portion, + // as in 1.99 + ".": ".", + // array of numbers indicating the size of each number group. + groupSizes: [ 3 ], + // symbol used for positive numbers + "+": "+", + // symbol used for negative numbers + "-": "-", + percent: { + // [negativePattern, positivePattern] + // negativePattern: one of "-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %" + // positivePattern: one of "n %|n%|%n|% n" + pattern: [ "-n %", "n %" ], + // number of decimal places normally shown + decimals: 2, + // array of numbers indicating the size of each number group. + groupSizes: [ 3 ], + // string that separates number groups, as in 1,000,000 + ",": ",", + // string that separates a number from the fractional portion, as in 1.99 + ".": ".", + // symbol used to represent a percentage + symbol: "%" + }, + currency: { + // [negativePattern, positivePattern] + // negativePattern: one of "($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)" + // positivePattern: one of "$n|n$|$ n|n $" + pattern: [ "($n)", "$n" ], + // number of decimal places normally shown + decimals: 2, + // array of numbers indicating the size of each number group. + groupSizes: [ 3 ], + // string that separates number groups, as in 1,000,000 + ",": ",", + // string that separates a number from the fractional portion, as in 1.99 + ".": ".", + // symbol used to represent currency + symbol: "$" + } + }, + // "calendars" property defines all the possible calendars used by this + // culture. There should be at least one defined with name "standard" which + // is the default calendar used by the culture. + // A calendar contains information about how dates are formatted, + // information about the calendar's eras, a standard set of the date + // formats, translations for day and month names, and if the calendar is + // not based on the Gregorian calendar, conversion functions to and from + // the Gregorian calendar. + calendars: { + standard: { + // name that identifies the type of calendar this is + name: "Gregorian_USEnglish", + // separator of parts of a date (e.g. "/" in 11/05/1955) + "/": "/", + // separator of parts of a time (e.g. ":" in 05:44 PM) + ":": ":", + // the first day of the week (0 = Sunday, 1 = Monday, etc) + firstDay: 0, + days: { + // full day names + names: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], + // abbreviated day names + namesAbbr: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], + // shortest day names + namesShort: [ "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ] + }, + months: [ + // full month names (13 months for lunar calendars -- 13th month should be "" if not lunar) + names: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "" ], + // abbreviated month names + namesAbbr: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "" ] + ], + // AM and PM designators in one of these forms: + // The usual view, and the upper and lower case versions + // [standard,lowercase,uppercase] + // The culture does not use AM or PM (likely all standard date + // formats use 24 hour time) + // null + AM: [ "AM", "am", "AM" ], + PM: [ "PM", "pm", "PM" ], + eras: [ + // eras in reverse chronological order. + // name: the name of the era in this culture (e.g. A.D., C.E.) + // start: when the era starts in ticks, null if it is the + // earliest supported era. + // offset: offset in years from gregorian calendar + {"name":"A.D.","start":null,"offset":0} + ], + // when a two digit year is given, it will never be parsed as a + // four digit year greater than this year (in the appropriate era + // for the culture) + // Set it as a full year (e.g. 2029) or use an offset format + // starting from the current year: "+19" would correspond to 2029 + // if the current year is 2010. + twoDigitYearMax: 2029, + // set of predefined date and time patterns used by the culture. + // These represent the format someone in this culture would expect + // to see given the portions of the date that are shown. + patterns: { + // short date pattern + d: "M/d/yyyy", + // long date pattern + D: "dddd, MMMM dd, yyyy", + // short time pattern + t: "h:mm tt", + // long time pattern + T: "h:mm:ss tt", + // long date, short time pattern + f: "dddd, MMMM dd, yyyy h:mm tt", + // long date, long time pattern + F: "dddd, MMMM dd, yyyy h:mm:ss tt", + // month/day pattern + M: "MMMM dd", + // month/year pattern + Y: "yyyy MMMM", + // S is a sortable format that does not vary by culture + S: "yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss" + } + // optional fields for each calendar: + /* + monthsGenitive: + Same as months but used when the day preceeds the month. + Omit if the culture has no genitive distinction in month names. + For an explanation of genitive months, see + http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx + convert: + Allows for the support of non-gregorian based calendars. This + "convert" object defines two functions to convert a date to and + from a gregorian calendar date: + fromGregorian( date ) + Given the date as a parameter, return an array with + parts [ year, month, day ] corresponding to the + non-gregorian based year, month, and day for the + calendar. + toGregorian( year, month, day ) + Given the non-gregorian year, month, and day, return a + new Date() object set to the corresponding date in the + gregorian calendar. + */ + } + }, + // Map of messages used by .localize() + messages: {} +} +</pre> +</p> +<p> +Each culture can have several possible calendars. The calendar named "standard" +is the default calendar used by that culture. You may change the calendar in +use by setting the "calendar" field. Take a look at the calendars defined by +each culture by looking at the script or enumerating its calendars collection. +<pre> +// switch to a non-standard calendar +Globalize.culture().calendar = Globalize.culture().calendars.SomeOtherCalendar; +// back to the standard calendar +Globalize.culture().calendar = Globalize.culture().calendars.standard; +</pre> + +</p> + +<a name="numbers"></a> +<h2 id="numbers">Number Formatting</h2> +<p> +When formatting a number with format(), the main purpose is to convert the +number into a human readable string using the culture's standard grouping and +decimal rules. The rules between cultures can vary a lot. For example, in some +cultures, the grouping of numbers is done unevenly. In the "te-IN" culture +(Telugu in India), groups have 3 digits and then 2 digits. The number 1000000 +(one million) is written as "10,00,000". Some cultures do not group numbers at +all. +</p> +<p> +There are four main types of number formatting: +<ul> +<li><strong>n</strong> for number</li> +<li><strong>d</strong> for decimal digits</li> +<li><strong>p</strong> for percentage</li> +<li><strong>c</strong> for currency</li> +</ul> +Even within the same culture, the formatting rules can vary between these four +types of numbers. For example, the expected number of decimal places may differ +from the number format to the currency format. Each format token may also be +followed by a number. The number determines how many decimal places to display +for all the format types except decimal, for which it means the minimum number +of digits to display, zero padding it if necessary. Also note that the way +negative numbers are represented in each culture can vary, such as what the +negative sign is, and whether the negative sign appears before or after the +number. This is especially apparent with currency formatting, where many +cultures use parentheses instead of a negative sign. +<pre> +// just for example - will vary by culture +Globalize.format( 123.45, "n" ); // 123.45 +Globalize.format( 123.45, "n0" ); // 123 +Globalize.format( 123.45, "n1" ); // 123.5 + +Globalize.format( 123.45, "d" ); // 123 +Globalize.format( 12, "d3" ); // 012 + +Globalize.format( 123.45, "c" ); // $123.45 +Globalize.format( 123.45, "c0" ); // $123 +Globalize.format( 123.45, "c1" ); // $123.5 +Globalize.format( -123.45, "c" ); // ($123.45) + +Globalize.format( 0.12345, "p" ); // 12.35 % +Globalize.format( 0.12345, "p0" ); // 12 % +Globalize.format( 0.12345, "p4" ); // 12.3450 % +</pre> +Parsing with parseInt and parseFloat also accepts any of these formats. +</p> + +<a name="dates"></a> +<h2 id="dates">Date Formatting</h2> +<p> +Date formatting varies wildly by culture, not just in the spelling of month and +day names, and the date separator, but by the expected order of the various +date components, whether to use a 12 or 24 hour clock, and how months and days +are abbreviated. Many cultures even include "genitive" month names, which are +different from the typical names and are used only in certain cases. +</p> +<p> +Also, each culture has a set of "standard" or "typical" formats. For example, +in "en-US", when displaying a date in its fullest form, it looks like +"Saturday, November 05, 1955". Note the non-abbreviated day and month name, the +zero padded date, and four digit year. So, Globalize expects a certain set +of "standard" formatting strings for dates in the "patterns" property of the +"standard" calendar of each culture, that describe specific formats for the +culture. The third column shows example values in the neutral English culture +"en-US"; see the second table for the meaning tokens used in date formats. +<table> +<tr> + <th>Format</th> + <th>Meaning</th> + <th>"en-US"</th> +</tr> +<tr> + <td>f</td> + <td>Long Date, Short Time</td> + <td>dddd, MMMM dd, yyyy h:mm tt</td> +</tr> +<tr> + <td>F</td> + <td>Long Date, Long Time</td> + <td>dddd, MMMM dd, yyyy h:mm:ss tt</td> +</tr> +<tr> + <td>t</td> + <td>Short Time</td> + <td>h:mm tt</td> +</tr> +<tr> + <td>T</td> + <td>Long Time</td> + <td>h:mm:ss tt</td> +</tr> +<tr> + <td>d</td> + <td>Short Date</td> + <td>M/d/yyyy</td> +</tr> +<tr> + <td>D</td> + <td>Long Date</td> + <td>dddd, MMMM dd, yyyy</td> +</tr> +<tr> + <td>Y</td> + <td>Month/Year</td> + <td>MMMM, yyyy</td> +</tr> +<tr> + <td>M</td> + <td>Month/Day</td> + <td>yyyy MMMM</td> +</tr> +</table> +</p> +<p> +In addition to these standard formats, there is the "S" format. This is a +sortable format that is identical in every culture: +"<strong>yyyy'-'MM'-'dd'T'HH':'mm':'ss</strong>". +</p> +<p> +When more specific control is needed over the formatting, you may use any +format you wish by specifying the following custom tokens: +<table> +<tr> + <th>Token</th> + <th>Meaning</th> + <th>Example</th> +</tr> +<tr> + <td>d</td> + <td>Day of month (no leading zero)</td> + <td>5</td> +</tr> +<tr> + <td>dd</td> + <td>Day of month (leading zero)</td> + <td>05</td> +</tr> +<tr> + <td>ddd</td> + <td>Day name (abbreviated)</td> + <td>Sat</td> +</tr> +<tr> + <td>dddd</td> + <td>Day name (full)</td> + <td>Saturday</td> +</tr> +<tr> + <td>M</td> + <td>Month of year (no leading zero)</td> + <td>9</td> +</tr> +<tr> + <td>MM</td> + <td>Month of year (leading zero)</td> + <td>09</td> +</tr> +<tr> + <td>MMM</td> + <td>Month name (abbreviated)</td> + <td>Sept</td> +</tr> +<tr> + <td>MMMM</td> + <td>Month name (full)</td> + <td>September</td> +</tr> +<tr> + <td>yy</td> + <td>Year (two digits)</td> + <td>55</td> +</tr> +<tr> + <td>yyyy</td> + <td>Year (four digits)</td> + <td>1955</td> +</tr> +<tr> + <td>'literal'</td> + <td>Literal Text</td> + <td>'of the clock'</td> +</tr> +<tr> + <td>\'</td> + <td>Single Quote</td> + <td>'o'\''clock'</td><!-- o'clock --> +</tr> +<tr> + <td>m</td> + <td>Minutes (no leading zero)</td> + <td>9</td> +</tr> +<tr> + <td>mm</td> + <td>Minutes (leading zero)</td> + <td>09</td> +</tr> +<tr> + <td>h</td> + <td>Hours (12 hour time, no leading zero)</td> + <td>6</td> +</tr> +<tr> + <td>hh</td> + <td>Hours (12 hour time, leading zero)</td> + <td>06</td> +</tr> +<tr> + <td>H</td> + <td>Hours (24 hour time, no leading zero)</td> + <td>5 (5am) 15 (3pm)</td> +</tr> +<tr> + <td>HH</td> + <td>Hours (24 hour time, leading zero)</td> + <td>05 (5am) 15 (3pm)</td> +</tr> +<tr> + <td>s</td> + <td>Seconds (no leading zero)</td> + <td>9</td> +</tr> +<tr> + <td>ss</td> + <td>Seconds (leading zero)</td> + <td>09</td> +</tr> +<tr> + <td>f</td> + <td>Deciseconds</td> + <td>1</td> +</tr> +<tr> + <td>ff</td> + <td>Centiseconds</td> + <td>11</td> +</tr> +<tr> + <td>fff</td> + <td>Milliseconds</td> + <td>111</td> +</tr> +<tr> + <td>t</td> + <td>AM/PM indicator (first letter)</td> + <td>A or P</td> +</tr> +<tr> + <td>tt</td> + <td>AM/PM indicator (full)</td> + <td>AM or PM</td> +</tr> +<tr> + <td>z</td> + <td>Timezone offset (hours only, no leading zero)</td> + <td>-8</td> +</tr> +<tr> + <td>zz</td> + <td>Timezone offset (hours only, leading zero)</td> + <td>-08</td> +</tr> +<tr> + <td>zzz</td> + <td>Timezone offset (full hours/minutes)</td> + <td>-08:00</td> +</tr> +<tr> + <td>g or gg</td> + <td>Era name</td> + <td>A.D.</td> +</tr> +</table> +</p> + +<a name="generating"> +<h1 id="generating">Generating Culture Files</h1> + +The Globalize culture files are generated JavaScript containing metadata and +functions based on culture info in the Microsoft .Net Framework 4. + +<h2>Requirements</h2> + +<ul> + <li>Windows</li> + <li>Microsoft .Net Framework 4 (Full, not just Client Profile) <a href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7">download dotNetFx40_Full_x86_x64.exe</a></li> +</ul> + +<h2>Building the generator</h2> + +1. Open a Windows Command Prompt ( Start -> Run... -> cmd ) +1. Change directory to root of Globalize project (where README.md file is located) +1. >"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild" generator\generator.csproj + +<h2>Running the generator</h2> + +1. Open a Windows Command Prompt +1. Change directory to root of Globalize project (where README.md file is located) +1. >"generator\bin\Debug\generator.exe" diff --git a/libs/js/globalize/examples/browser/browser.css b/libs/js/globalize/examples/browser/browser.css new file mode 100644 index 00000000..3b8bc5b6 --- /dev/null +++ b/libs/js/globalize/examples/browser/browser.css @@ -0,0 +1,80 @@ +body { + font-family: Arial +} +a { + color: #6D929B; +} +input { + width: 100px; + margin: 5px; +} +.results { + border-collapse: collapse; +} +.results td { + border: 1px solid #C1DAD7; + padding: 2px 2px 2px 2px; + color: #6D929B; + font-size: x-small; + white-space: nowrap; + text-align: center; +} +.results th { + border: 1px solid #C1DAD7; + letter-spacing: 2px; + text-align: center; + padding: 6px 6px 6px 12px; + white-space: nowrap; +} +table { + width: 100%; +} +fieldset.info { + width: 45%; + float: left; +} +.info td { + font-size: x-small; +} + +.tab { + margin-top: 5px; + margin-right: 5px; + padding: 2px; + cursor: pointer; + background-color: #EEEEEE; +} + +.active { + border: 1px solid black; + float: left; +} + +.inactive { + float: left; +} + +.tab.active { + font-weight: bold; + border: 1px solid black; + float: left; +} + +div.inactive { + display: none; +} + +div.active { + clear: both; + min-width: 100%; +} + +.pane { + margin-top: 10px; + clear: both; +} + +#intro { + font-size: x-small; + margin-bottom: 10px; +}
\ No newline at end of file diff --git a/libs/js/globalize/examples/browser/browser.js b/libs/js/globalize/examples/browser/browser.js new file mode 100644 index 00000000..a6394355 --- /dev/null +++ b/libs/js/globalize/examples/browser/browser.js @@ -0,0 +1,115 @@ +(function( $ ) { + +$(function() { + + // setup sample data + window.numbers = [ + 0, 1, 10, 100, 1000, 10000, 0.1, 0.12, 0.123, 0.1234, 0.12345, 1000.123, 10000.12345, + -1, -10, -100, -1000, -10000, -0.1, -0.12, -0.123, -0.1234, -0.12345, -1000.123, -10000.12345 + ]; + window.formats = [ + "n", "n1", "n3", "d", "d2", "d3", "p", "p1", "p3", "c", "c0" + ]; + window.dates = $.map([ + "Jan 1, 1970 1:34 PM", "Dec 31, 1970 1:34 PM", "Apr 1, 1999 1:34 PM", "Dec 31, 1999 1:34 PM", "Jan 1, 2000 1:34 PM", "Nov 5, 1955 1:34 PM" + ], function(d) { return d instanceof Date ? d : new Date(Date.parse(d)); } ); + + window.dateFormats = [ + "d", "D", "f", "F", "M", "S", "t", "T", "Y" + ]; + + // add template extensions to format numbers and dates declaratively + $.extend( $.tmplcmd, { + demoFormat: { + _default: [0,0], + prefix: "_.push(Globalize.format(numbers[$2],formats[$1]));" + }, + demoDateFormat: { + _default: [0,0], + prefix: "_.push(Globalize.format(dates[$2],typeof $1 === 'number' ? dateFormats[$1] : $1));" + } + }); + + // activate tabs + $(".tab").click(function() { + $(".active").removeClass("active").addClass("inactive"); + $("#" + this.id + "content").removeClass("inactive").addClass("active"); + $(this).removeClass("inactive").addClass("active"); + }); + + // fill cultures dropdown with the available cultures + $.each(sortByName(Globalize.cultures), function(i, culture) { + $("<option/>", { + value: culture.name, + text: culture.name + ": " + culture.englishName + " (" + culture.nativeName + ")" + }).appendTo("#cultures"); + }); + + // re-render templates after selecting a culture + $("#cultures").bind("change keyup", selectCulture) + // set default culture to Japanese in Japan + .val("ja-JP"); + + // re-render templates after selecting a calendar + var calendars = $("#calendars").bind("change keyup", function() { + Globalize.culture().calendar = Globalize.culture().calendars[calendars.val()] || Globalize.culture().calendars.standard; + render(); + }); + + $("#parseDate").change(function() { + $("#parseDateResult").text(Globalize.parseDate($(this).val()).toString()); + }); + $("#parseNumber").change(function() { + $("#parseNumberResult").text(Globalize.parseFloat($(this).val()).toString()); + }); + + function sortByName(map) { + // converts a dictionary into a sorted dictionary based on obj.name + var arr = []; + $.each(map, function(name, value) { + arr.push(value); + }); + arr.sort(function(a, b) { + return a.name < b.name ? -1 : 1; + }); + return arr; + } + + function selectCulture() { + // sets the current culture to the value specified in the cultures dropdown, + // populates the calendars dropdown with that cultures calendars, + // and renders the formatting templates. + Globalize.culture($("#cultures").val()); + + calendars.empty(); + $.each(sortByName(Globalize.culture().calendars), function(i, cal) { + $("<option/>", { value: cal.name, text: cal.name }).appendTo(calendars); + }); + calendars.val(Globalize.culture().calendar.name); + + render(); + } + + function render() { + $("#dateformat").empty(); + $("#dateformattmpl").render({}).appendTo("#dateformat"); + + $("#format").empty(); + $("#formattmpl").render({}).appendTo("#format"); + + $("#englishName").text(Globalize.culture().englishName); + $("#nativeName").text(Globalize.culture().nativeName); + $("#isRTL").text(Globalize.culture().isRTL ? "YES" : "no"); + + $("#infonumber").empty(); + $("#infonumbertmpl").render(Globalize.culture().numberFormat).appendTo("#infonumber"); + + $("#infodate").empty(); + $("#infodatetmpl").render(Globalize.culture().calendar).appendTo("#infodate"); + } + + // initial rendering + selectCulture(); +}); + +}( jQuery )); diff --git a/libs/js/globalize/examples/browser/index.html b/libs/js/globalize/examples/browser/index.html new file mode 100644 index 00000000..c7af94d8 --- /dev/null +++ b/libs/js/globalize/examples/browser/index.html @@ -0,0 +1,265 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="UTF-8"> + <title>Globalization Demo</title> + <link type="text/css" rel="Stylesheet" href="browser.css"> + <script src="../../lib/globalize.js"></script> + <script src="../../lib/cultures/globalize.cultures.js"></script> + <script src="jquery-1.4.4.js"></script> + <script src="jquery.tmpl.js"></script> + <script src="browser.js"></script> + <script id="formattmpl" type="text/x-jquery-tmpl"> + <tr> + <th>Number</th> + {{each formats}} + <th>{{=}}</th> + {{/each}} + </tr> + {{each(i) numbers}} + <tr class="result"> + <td> + ${numbers[i]} + </td> + {{each(j) formats}} + <td> + {{demoFormat(i) j}} + </td> + {{/each}} + </tr> + {{/each}} + </script> + <script id="dateformattmpl" type="text/x-jquery-tmpl"> + <tr> + <th>Date</th> + {{each dateFormats}} + <th>{{=}}</th> + {{/each}} + </tr> + {{each(i) dates}} + <tr class="result"> + <td> + {{=}} + </td> + {{each(j) dateFormats}} + <td> + {{demoDateFormat(i) j}} + </td> + {{/each}} + </tr> + {{/each}} + </script> + <script id="infonumbertmpl" type="text/x-jquery-tmpl"> + <legend>Number Formatting</legend> + <table class="info"> + <tr> + <td>Pattern</td> + <td>${pattern}</td> + <td>Decimals</td> + <td>${decimals} (${$data['.']})</td> + </tr> + <tr> + <td>Grouping</td> + <td>${$data[',']}</td> + <td>Group Size</td> + <td>${groupSizes}</td> + </tr> + <tr> + <td>Positive</td> + <td>${$data['+']}</td> + <td>Negative</td> + <td>${$data['-']}</td> + </tr> + <tr> + <td colspan="4" align="center">Percent (symbol = ${percent.symbol})</td> + </tr> + <tr> + <td>Pattern</td> + <td>${percent.pattern}</td> + <td>Decimals</td> + <td>${percent.decimals} (${percent['.']})</td> + </tr> + <tr> + <td>Grouping</td> + <td>${percent[',']}</td> + <td>Group Size</td> + <td>${percent.groupSizes}</td> + </tr> + <tr> + <td colspan="4" align="center">Currency (symbol = ${currency.symbol})</td> + </tr> + <tr> + <td>Pattern</td> + <td>${currency.pattern}</td> + <td>Decimals</td> + <td>${currency.decimals} (${currency['.']})</td> + </tr> + <tr> + <td>Grouping</td> + <td>${currency[',']}</td> + <td>Group Size</td> + <td>${currency.groupSizes}</td> + </tr> + </table> + </script> + <script id="infodatetmpl" type="text/x-jquery-tmpl"> + <legend>Date Formatting</legend> + <table class="info"> + <tr> + <td>Name</td> + <td colspan="3">${name}</td> + </tr> + <tr> + <td>AM</td> + <td>${AM}</td> + <td>PM</td> + <td>${PM}</td> + </tr> + <tr> + <td>Eras</td> + <td colspan="3"> + <ol> + {{each eras}} + <li>${name} (year offset ${offset})</li> + {{/each}} + </ol> + </td> + </tr> + <tr> + <td>Days</td> + <td colspan="3"> + <ol> + {{each days.names}} + <li>{{=}}</li> + {{/each}} + </ol> + </td> + </tr> + <tr> + <td>Days (abbreviated)</td> + <td colspan="3"> + <ol> + {{each days.namesAbbr}} + <li>{{=}}</li> + {{/each}} + </ol> + </td> + </tr> + <tr> + <td>Days (shortest)</td> + <td colspan="3"> + <ol> + {{each days.namesShort}} + <li>{{=}}</li> + {{/each}} + </ol> + </td> + </tr> + <tr> + <td>Months</td> + <td colspan="3"> + <ol> + {{each months.names}} + <li>{{=}}</li> + {{/each}} + </ol> + </td> + </tr> + <tr> + <td>Months (abbreviated)</td> + <td colspan="3"> + <ol> + {{each months.namesAbbr}} + <li>{{=}}</li> + {{/each}} + </ol> + </td> + </tr> + {{if typeof monthsGenitive !== 'undefined'}} + <tr> + <td>Months (Genitive)</td> + <td>${monthsGenitive.names}</td> + <td>Months (Abbr. Gen.)</td> + <td>${monthsGenitive.namesAbbr}</td> + </tr> + {{/if}} + <tr> + <td align="center" colspan="4">Patterns</td> + </tr> + {{each(n,v) patterns}} + <tr> + <td>${n}</td> + <td colspan="3">{{=}}</td> + </tr> + {{/each}} + </table> + </script> +</head> + +<body> +<div id="intro"> +This is a demo of the Globalize library. You can follow the discussion and provide feedback on the planning page, here: +<br/><a href="http://wiki.jqueryui.com/Globalization">Globalization wiki page</a> +<br/> +And you can view the source from here or keep up to date with it on github, here: +<br/><a href="https://github.com/jquery/globalize/">Globalize on GitHub</a> +</div> + +<div> + Culture: + <select id="cultures"></select> +</div> +<div> + Calendar: + <select id="calendars"></select> +</div> + +<div class="pane"> + <span class="tab active" id="dates">Dates</span> + <span class="tab inactive" id="numbers">Numbers</span> + <span class="tab inactive" id="info">Info</span> + + <div id="datescontent" class="active"> + <table id="dateformat" class="results"> + </table> + <b>Parsing:</b> Type a date in one of the culture formats: + <input id="parseDate" type="text" /><span id="parseDateResult"></span> + </div> + + <div id="numberscontent" class="inactive"> + <table id="format" class="results"> + </table> + <b>Parsing:</b> Type a number using the culture group and decimal separators: + <input id="parseNumber" type="text" /><span id="parseNumberResult"></span> + </div> + + <div id="infocontent" class="inactive"> + <p> + Name (in English) "<span id="englishName"></span>"<br /> + Name (in Native Language) "<span id="nativeName"></span>".<br /> + Is RTL culture? <span id="isRTL"></span>. + </p> + <fieldset id="infonumber" class="info"> + </fieldset> + <fieldset id="infodate" class="info"> + </fieldset> + </div> + +</div> + +<div class="pane"> + +Interesting cultures to preview: +<ul> + <li>ja-JP: Has an optional calendar that has 4 different eras.</li> + <li>th-TH: Standard calendar has a year offset.</li> + <li>te-IN: Numbers have unequal groupings.</li> + <li>ar-SA: Standard calendar is UmAlQura, a non-gregorian based calendar that requires custom conversion logic. + It also supports the Hijri calendar, and a standard gregorian calendar translated into one of <i>4 languages</i>. + </li> +</ul> + +</div> + +</body> +</html> diff --git a/libs/js/globalize/examples/browser/jquery-1.4.4.js b/libs/js/globalize/examples/browser/jquery-1.4.4.js new file mode 100644 index 00000000..a4f11458 --- /dev/null +++ b/libs/js/globalize/examples/browser/jquery-1.4.4.js @@ -0,0 +1,7179 @@ +/*! + * jQuery JavaScript Library v1.4.4 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Nov 11 19:04:53 2010 -0500 + */ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // (both of which we optimize for) + quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, + + // Is it a simple selector + isSimple = /^.[^:#\[\.,]*$/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + rwhite = /\s/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for non-word characters + rnonword = /\W/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The functions to execute on DOM ready + readyList = [], + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + init: function( selector, context ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $("TAG") + } else if ( !context && !rnonword.test( selector ) ) { + this.selector = selector; + this.context = document; + selector = document.getElementsByTagName( selector ); + return jQuery.merge( this, selector ); + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return jQuery( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.4.4", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = jQuery(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // If the DOM is already ready + if ( jQuery.isReady ) { + // Execute the function immediately + fn.call( document, jQuery ); + + // Otherwise, remember the function for later + } else if ( readyList ) { + // Add the function to the wait list + readyList.push( fn ); + } + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || jQuery(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + window.$ = _$; + + if ( deep ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + // A third-party is pushing the ready event forwards + if ( wait === true ) { + jQuery.readyWait--; + } + + // Make sure that the DOM is not already loaded + if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + if ( readyList ) { + // Execute all of them + var fn, + i = 0, + ready = readyList; + + // Reset the list of functions + readyList = null; + + while ( (fn = ready[ i++ ]) ) { + fn.call( document, jQuery ); + } + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent("onreadystatechange", DOMContentLoaded); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test(data.replace(rvalidescape, "@") + .replace(rvalidtokens, "]") + .replace(rvalidbraces, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + noop: function() {}, + + // Evalulates a script in a global context + globalEval: function( data ) { + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.getElementsByTagName("head")[0] || document.documentElement, + script = document.createElement("script"); + + script.type = "text/javascript"; + + if ( jQuery.support.scriptEval ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction(object); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type(array); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can be optionally by executed if its a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + browser: {} +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// Verify that \s matches non-breaking spaces +// (IE fails on this test) +if ( !rwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +// Expose jQuery to the global object +return (window.jQuery = window.$ = jQuery); + +})(); + + +(function() { + + jQuery.support = {}; + + var root = document.documentElement, + script = document.createElement("script"), + div = document.createElement("div"), + id = "script" + jQuery.now(); + + div.style.display = "none"; + div.innerHTML = " <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; + + var all = div.getElementsByTagName("*"), + a = div.getElementsByTagName("a")[0], + select = document.createElement("select"), + opt = select.appendChild( document.createElement("option") ); + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return; + } + + jQuery.support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText insted) + style: /red/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55$/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: div.getElementsByTagName("input")[0].value === "on", + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Will be defined later + deleteExpando: true, + optDisabled: false, + checkClone: false, + scriptEval: false, + noCloneEvent: true, + boxModel: null, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableHiddenOffsets: true + }; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as diabled) + select.disabled = true; + jQuery.support.optDisabled = !opt.disabled; + + script.type = "text/javascript"; + try { + script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + } catch(e) {} + + root.insertBefore( script, root.firstChild ); + + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) + if ( window[ id ] ) { + jQuery.support.scriptEval = true; + delete window[ id ]; + } + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete script.test; + + } catch(e) { + jQuery.support.deleteExpando = false; + } + + root.removeChild( script ); + + if ( div.attachEvent && div.fireEvent ) { + div.attachEvent("onclick", function click() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + jQuery.support.noCloneEvent = false; + div.detachEvent("onclick", click); + }); + div.cloneNode(true).fireEvent("onclick"); + } + + div = document.createElement("div"); + div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; + + var fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // Figure out if the W3C box model works as expected + // document.body must exist before we can do this + jQuery(function() { + var div = document.createElement("div"); + div.style.width = div.style.paddingLeft = "1px"; + + document.body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.style.display = "inline"; + div.style.zoom = 1; + jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "<div style='width:4px;'></div>"; + jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; + } + + div.innerHTML = "<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>"; + var tds = div.getElementsByTagName("td"); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; + + tds[0].style.display = ""; + tds[1].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE < 8 fail this test) + jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; + div.innerHTML = ""; + + document.body.removeChild( div ).style.display = "none"; + div = tds = null; + }); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + + // release memory in IE + root = script = div = all = a = null; +})(); + + + +var windowData = {}, + rbrace = /^(?:\{.*\}|\[.*\])$/; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + expando: "jQuery" + jQuery.now(), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + data: function( elem, name, data ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var isNode = elem.nodeType, + id = isNode ? elem[ jQuery.expando ] : null, + cache = jQuery.cache, thisCache; + + if ( isNode && !id && typeof name === "string" && data === undefined ) { + return; + } + + // Get the data from the object directly + if ( !isNode ) { + cache = elem; + + // Compute a unique ID for the element + } else if ( !id ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } + + // Avoid generating a new cache unless none exists and we + // want to manipulate it. + if ( typeof name === "object" ) { + if ( isNode ) { + cache[ id ] = jQuery.extend(cache[ id ], name); + + } else { + jQuery.extend( cache, name ); + } + + } else if ( isNode && !cache[ id ] ) { + cache[ id ] = {}; + } + + thisCache = isNode ? cache[ id ] : cache; + + // Prevent overriding the named cache with undefined values + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + return typeof name === "string" ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + elem = elem == window ? + windowData : + elem; + + var isNode = elem.nodeType, + id = isNode ? elem[ jQuery.expando ] : elem, + cache = jQuery.cache, + thisCache = isNode ? cache[ id ] : id; + + // If we want to remove a specific section of the element's data + if ( name ) { + if ( thisCache ) { + // Remove the section of cache data + delete thisCache[ name ]; + + // If we've removed all the data, remove the element's cache + if ( isNode && jQuery.isEmptyObject(thisCache) ) { + jQuery.removeData( elem ); + } + } + + // Otherwise, we want to remove all of the element's data + } else { + if ( isNode && jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + + // Completely remove the data cache + } else if ( isNode ) { + delete cache[ id ]; + + // Remove all fields from the object + } else { + for ( var n in elem ) { + delete elem[ n ]; + } + } + } + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + var attr = this[0].attributes, name; + data = jQuery.data( this[0] ); + + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + data = elem.getAttribute( "data-" + key ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( data ) ? parseFloat( data ) : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + + + + +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery.data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + if ( !q || jQuery.isArray(data) ) { + q = jQuery.data( elem, type, jQuery.makeArray(data) ); + + } else { + q.push( data ); + } + + return q; + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(); + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function( i ) { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + } +}); + + + + +var rclass = /[\n\t]/g, + rspaces = /\s+/, + rreturn = /\r/g, + rspecialurl = /^(?:href|src|style)$/, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rradiocheck = /^(?:radio|checkbox)$/i; + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", + setClass = elem.className; + + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[c] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspaces ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery.data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery.data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + if ( !arguments.length ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery(option).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray(val) ) { + val = jQuery.map(val, function (value) { + return value == null ? "" : value + ""; + }); + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + // don't set attributes on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + if ( value === null ) { + if ( elem.nodeType === 1 ) { + elem.removeAttribute( name ); + } + + } else { + elem[ name ] = value; + } + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + // Ensure that missing attributes return undefined + // Blackberry 4.7 returns "" from getAttribute #6938 + if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { + return undefined; + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspace = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }, + focusCounts = { focusin: 0, focusout: 0 }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery.data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + // Use a key less likely to result in collisions for plain JS objects. + // Fixes bug #7150. + var eventKey = elem.nodeType ? "events" : "__events__", + events = elemData[ eventKey ], + eventHandle = elemData.handle; + + if ( typeof events === "function" ) { + // On plain objects events is a fn that holds the the data + // which prevents this data from being JSON serialized + // the function does not need to be called, it just contains the data + eventHandle = events.handle; + events = events.events; + + } else if ( !events ) { + if ( !elem.nodeType ) { + // On plain objects, create a fn that acts as the holder + // of the values to avoid JSON serialization of event data + elemData[ eventKey ] = elemData = function(){}; + } + + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + eventKey = elem.nodeType ? "events" : "__events__", + elemData = jQuery.data( elem ), + events = elemData && elemData[ eventKey ]; + + if ( !elemData || !events ) { + return; + } + + if ( typeof events === "function" ) { + elemData = events; + events = events.events; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( typeof elemData === "function" ) { + jQuery.removeData( elem, eventKey ); + + } else if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + jQuery.each( jQuery.cache, function() { + if ( this.events && this.events[type] ) { + jQuery.event.trigger( event, data, this.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = elem.nodeType ? + jQuery.data( elem, "handle" ) : + (jQuery.data( elem, "__events__" ) || {}).handle; + + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + event.preventDefault(); + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (inlineError) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var old, + target = event.target, + targetType = type.replace( rnamespaces, "" ), + isClick = jQuery.nodeName( target, "a" ) && targetType === "click", + special = jQuery.event.special[ targetType ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ targetType ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + targetType ]; + + if ( old ) { + target[ "on" + targetType ] = null; + } + + jQuery.event.triggered = true; + target[ targetType ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (triggerError) {} + + if ( old ) { + target[ "on" + targetType ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + var all, handlers, namespaces, namespace_re, events, + namespace_sort = [], + args = jQuery.makeArray( arguments ); + + event = args[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace_sort = namespaces.slice(0).sort(); + namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.namespace = event.namespace || namespace_sort.join("."); + + events = jQuery.data(this, this.nodeType ? "events" : "__events__"); + + if ( typeof events === "function" ) { + events = events.events; + } + + handlers = (events || {})[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, + body = document.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + // Event type + } else { + this.type = src; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + e.liveFired = undefined; + return trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery.data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery.data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + return jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + return testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + return testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery.data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + args[0].type = type; + return jQuery.event.handle.apply( elem, args ); +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + if ( focusCounts[fix]++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --focusCounts[fix] === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.trigger( e, null, e.target ); + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) || data === false ) { + fn = data; + data = undefined; + } + + var handler = name === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + })); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( type === "focus" || type === "blur" ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +}); + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery.data( this, this.nodeType ? "events" : "__events__" ); + + if ( typeof events === "function" ) { + events = events.events; + } + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) + if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); +} + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + +// Prevent memory leaks in IE +// Window isn't included so as not to unbind existing unload events +// More info: +// - http://isaacschlueter.com/2006/10/msie-memory-leaks/ +if ( window.attachEvent && !window.addEventListener ) { + jQuery(window).bind("unload", function() { + for ( var id in jQuery.cache ) { + if ( jQuery.cache[ id ].handle ) { + // Try/Catch is to handle iframes being unloaded, see #4280 + try { + jQuery.event.remove( jQuery.cache[ id ].handle.elem ); + } catch(e) {} + } + } + }); +} + + +/*! + * Sizzle CSS Selector Engine - v1.0 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace(/\\/g, ""); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = context.getElementsByTagName( "*" ); + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !/\W/.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !/\W/.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test(part) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !/\W/.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + return context.getElementsByTagName( match[1] ); + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace(/\\/g, "") + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace(/\\/g, ""); + }, + + TAG: function( match, curLoop ) { + return match[1].toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1].replace(/\\/g, ""); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + elem.parentNode.selectedIndex; + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + return "text" === elem.type; + }, + radio: function( elem ) { + return "radio" === elem.type; + }, + + checkbox: function( elem ) { + return "checkbox" === elem.type; + }, + + file: function( elem ) { + return "file" === elem.type; + }, + password: function( elem ) { + return "password" === elem.type; + }, + + submit: function( elem ) { + return "submit" === elem.type; + }, + + image: function( elem ) { + return "image" === elem.type; + }, + + reset: function( elem ) { + return "reset" === elem.type; + }, + + button: function( elem ) { + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( "Syntax error, unrecognized expression: " + name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // If the nodes are siblings (or identical) we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = "<a name='" + id + "'/>"; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = "<a href='#'></a>"; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "<p class='TEST'></p>"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Make sure that attribute selectors are quoted + query = query.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + if ( context.nodeType === 9 ) { + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var old = context.getAttribute( "id" ), + nid = old || id; + + if ( !old ) { + context.setAttribute( "id", nid ); + } + + try { + return makeArray( context.querySelectorAll( "#" + nid + " " + query ), extra ); + + } catch(pseudoError) { + } finally { + if ( !old ) { + context.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + if ( matches ) { + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + return matches.call( node, expr ); + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "<div class='test e'></div><div class='test'></div>"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS; + +jQuery.fn.extend({ + find: function( selector ) { + var ret = this.pushStack( "", "find", selector ), + length = 0; + + for ( var i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( var n = length; n < ret.length; n++ ) { + for ( var r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + var pos = POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique(ret) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context || this.context ) : + jQuery.makeArray( selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, slice.call(arguments).join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /<tbody/i, + rhtml = /<|&#?\w+;/, + rnocache = /<(?:script|object|embed|option|style)/i, + // checked="checked" or checked (html5) + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + raction = /\=([^="'>\s]+\/)>/g, + wrapMap = { + option: [ 1, "<select multiple='multiple'>", "</select>" ], + legend: [ 1, "<fieldset>", "</fieldset>" ], + thead: [ 1, "<table>", "</table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], + area: [ 1, "<map>", "</map>" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize <link> and <script> tags normally +if ( !jQuery.support.htmlSerialize ) { + wrapMap._default = [ 1, "div<div>", "</div>" ]; +} + +jQuery.fn.extend({ + text: function( text ) { + if ( jQuery.isFunction(text) ) { + return this.each(function(i) { + var self = jQuery( this ); + + self.text( text.call(this, i, self.text()) ); + }); + } + + if ( typeof text !== "object" && text !== undefined ) { + return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); + } + + return jQuery.text( this ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append(this); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + return this.each(function() { + jQuery( this ).wrapAll( html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + if ( this[0] && this[0].parentNode ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this ); + }); + } else if ( arguments.length ) { + var set = jQuery(arguments[0]); + set.push.apply( set, this.toArray() ); + return this.pushStack( set, "before", arguments ); + } + }, + + after: function() { + if ( this[0] && this[0].parentNode ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + }); + } else if ( arguments.length ) { + var set = this.pushStack( this, "after", arguments ); + set.push.apply( set, jQuery(arguments[0]).toArray() ); + return set; + } + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + jQuery.cleanData( [ elem ] ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + } + + return this; + }, + + clone: function( events ) { + // Do the clone + var ret = this.map(function() { + if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) { + // IE copies events bound via attachEvent when + // using cloneNode. Calling detachEvent on the + // clone will also remove the events from the orignal + // In order to get around this, we use innerHTML. + // Unfortunately, this means some modifications to + // attributes in IE that are actually only stored + // as properties will not be copied (such as the + // the name attribute on an input). + var html = this.outerHTML, + ownerDocument = this.ownerDocument; + + if ( !html ) { + var div = ownerDocument.createElement("div"); + div.appendChild( this.cloneNode(true) ); + html = div.innerHTML; + } + + return jQuery.clean([html.replace(rinlinejQuery, "") + // Handle the case in IE 8 where action=/test/> self-closes a tag + .replace(raction, '="$1">') + .replace(rleadingWhitespace, "")], ownerDocument)[0]; + } else { + return this.cloneNode(true); + } + }); + + // Copy the events from the original to the clone + if ( events === true ) { + cloneCopyEvent( this, ret ); + cloneCopyEvent( this.find("*"), ret.find("*") ); + } + + // Return the cloned set + return ret; + }, + + html: function( value ) { + if ( value === undefined ) { + return this[0] && this[0].nodeType === 1 ? + this[0].innerHTML.replace(rinlinejQuery, "") : + null; + + // See if we can take a shortcut and just use innerHTML + } else if ( typeof value === "string" && !rnocache.test( value ) && + (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) && + !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) { + + value = value.replace(rxhtmlTag, "<$1></$2>"); + + try { + for ( var i = 0, l = this.length; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + if ( this[i].nodeType === 1 ) { + jQuery.cleanData( this[i].getElementsByTagName("*") ); + this[i].innerHTML = value; + } + } + + // If using innerHTML throws an exception, use the fallback method + } catch(e) { + this.empty().append( value ); + } + + } else if ( jQuery.isFunction( value ) ) { + this.each(function(i){ + var self = jQuery( this ); + + self.html( value.call(this, i, self.html()) ); + }); + + } else { + this.empty().append( value ); + } + + return this; + }, + + replaceWith: function( value ) { + if ( this[0] && this[0].parentNode ) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this), old = self.html(); + self.replaceWith( value.call( this, i, old ) ); + }); + } + + if ( typeof value !== "string" ) { + value = jQuery( value ).detach(); + } + + return this.each(function() { + var next = this.nextSibling, + parent = this.parentNode; + + jQuery( this ).remove(); + + if ( next ) { + jQuery(next).before( value ); + } else { + jQuery(parent).append( value ); + } + }); + } else { + return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ); + } + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + var results, first, fragment, parent, + value = args[0], + scripts = []; + + // We can't cloneNode fragments that contain checked, in WebKit + if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) { + return this.each(function() { + jQuery(this).domManip( args, table, callback, true ); + }); + } + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + args[0] = value.call(this, i, table ? self.html() : undefined); + self.domManip( args, table, callback ); + }); + } + + if ( this[0] ) { + parent = value && value.parentNode; + + // If we're in a fragment, just use that instead of building a new one + if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) { + results = { fragment: parent }; + + } else { + results = jQuery.buildFragment( args, this, scripts ); + } + + fragment = results.fragment; + + if ( fragment.childNodes.length === 1 ) { + first = fragment = fragment.firstChild; + } else { + first = fragment.firstChild; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + callback.call( + table ? + root(this[i], first) : + this[i], + i > 0 || results.cacheable || this.length > 1 ? + fragment.cloneNode(true) : + fragment + ); + } + } + + if ( scripts.length ) { + jQuery.each( scripts, evalScript ); + } + } + + return this; + } +}); + +function root( elem, cur ) { + return jQuery.nodeName(elem, "table") ? + (elem.getElementsByTagName("tbody")[0] || + elem.appendChild(elem.ownerDocument.createElement("tbody"))) : + elem; +} + +function cloneCopyEvent(orig, ret) { + var i = 0; + + ret.each(function() { + if ( this.nodeName !== (orig[i] && orig[i].nodeName) ) { + return; + } + + var oldData = jQuery.data( orig[i++] ), + curData = jQuery.data( this, oldData ), + events = oldData && oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( var type in events ) { + for ( var handler in events[ type ] ) { + jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data ); + } + } + } + }); +} + +jQuery.buildFragment = function( args, nodes, scripts ) { + var fragment, cacheable, cacheresults, + doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document); + + // Only cache "small" (1/2 KB) strings that are associated with the main document + // Cloning options loses the selected state, so don't cache them + // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment + // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache + if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document && + !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) { + + cacheable = true; + cacheresults = jQuery.fragments[ args[0] ]; + if ( cacheresults ) { + if ( cacheresults !== 1 ) { + fragment = cacheresults; + } + } + } + + if ( !fragment ) { + fragment = doc.createDocumentFragment(); + jQuery.clean( args, doc, fragment, scripts ); + } + + if ( cacheable ) { + jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1; + } + + return { fragment: fragment, cacheable: cacheable }; +}; + +jQuery.fragments = {}; + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var ret = [], + insert = jQuery( selector ), + parent = this.length === 1 && this[0].parentNode; + + if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) { + insert[ original ]( this[0] ); + return this; + + } else { + for ( var i = 0, l = insert.length; i < l; i++ ) { + var elems = (i > 0 ? this.clone(true) : this).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +}); + +jQuery.extend({ + clean: function( elems, context, fragment, scripts ) { + context = context || document; + + // !context.createElement fails in IE with an error but returns typeof 'object' + if ( typeof context.createElement === "undefined" ) { + context = context.ownerDocument || context[0] && context[0].ownerDocument || document; + } + + var ret = []; + + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + if ( typeof elem === "number" ) { + elem += ""; + } + + if ( !elem ) { + continue; + } + + // Convert html string into DOM nodes + if ( typeof elem === "string" && !rhtml.test( elem ) ) { + elem = context.createTextNode( elem ); + + } else if ( typeof elem === "string" ) { + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, "<$1></$2>"); + + // Trim whitespace, otherwise indexOf won't work as expected + var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(), + wrap = wrapMap[ tag ] || wrapMap._default, + depth = wrap[0], + div = context.createElement("div"); + + // Go to html and back, then peel off extra wrappers + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while ( depth-- ) { + div = div.lastChild; + } + + // Remove IE's autoinserted <tbody> from table fragments + if ( !jQuery.support.tbody ) { + + // String was a <table>, *may* have spurious <tbody> + var hasBody = rtbody.test(elem), + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare <thead> or <tfoot> + wrap[1] === "<table>" && !hasBody ? + div.childNodes : + []; + + for ( var j = tbody.length - 1; j >= 0 ; --j ) { + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + } + } + + } + + // IE completely kills leading whitespace when innerHTML is used + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + } + + elem = div.childNodes; + } + + if ( elem.nodeType ) { + ret.push( elem ); + } else { + ret = jQuery.merge( ret, elem ); + } + } + + if ( fragment ) { + for ( i = 0; ret[i]; i++ ) { + if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) { + scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] ); + + } else { + if ( ret[i].nodeType === 1 ) { + ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) ); + } + fragment.appendChild( ret[i] ); + } + } + } + + return ret; + }, + + cleanData: function( elems ) { + var data, id, cache = jQuery.cache, + special = jQuery.event.special, + deleteExpando = jQuery.support.deleteExpando; + + for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { + if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) { + continue; + } + + id = elem[ jQuery.expando ]; + + if ( id ) { + data = cache[ id ]; + + if ( data && data.events ) { + for ( var type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + if ( deleteExpando ) { + delete elem[ jQuery.expando ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } + + delete cache[ id ]; + } + } + } +}); + +function evalScript( i, elem ) { + if ( elem.src ) { + jQuery.ajax({ + url: elem.src, + async: false, + dataType: "script" + }); + } else { + jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } +} + + + + +var ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity=([^)]*)/, + rdashAlpha = /-([a-z])/ig, + rupper = /([A-Z])/g, + rnumpx = /^-?\d+(?:px)?$/i, + rnum = /^-?\d/, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssWidth = [ "Left", "Right" ], + cssHeight = [ "Top", "Bottom" ], + curCSS, + + getComputedStyle, + currentStyle, + + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn.css = function( name, value ) { + // Setting 'undefined' is a no-op + if ( arguments.length === 2 && value === undefined ) { + return this; + } + + return jQuery.access( this, name, value, true, function( elem, name, value ) { + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }); +}; + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity", "opacity" ); + return ret === "" ? "1" : ret; + + } else { + return elem.style.opacity; + } + } + } + }, + + // Exclude the following css properties to add px + cssNumber: { + "zIndex": true, + "fontWeight": true, + "opacity": true, + "zoom": true, + "lineHeight": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, origName = jQuery.camelCase( name ), + style = elem.style, hooks = jQuery.cssHooks[ origName ]; + + name = jQuery.cssProps[ origName ] || origName; + + // Check if we're setting a value + if ( value !== undefined ) { + // Make sure that NaN and null values aren't set. See: #7116 + if ( typeof value === "number" && isNaN( value ) || value == null ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( typeof value === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) { + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra ) { + // Make sure that we're working with the right name + var ret, origName = jQuery.camelCase( name ), + hooks = jQuery.cssHooks[ origName ]; + + name = jQuery.cssProps[ origName ] || origName; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) { + return ret; + + // Otherwise, if a way to get the computed value exists, use that + } else if ( curCSS ) { + return curCSS( elem, name, origName ); + } + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback ) { + var old = {}; + + // Remember the old values, and insert the new ones + for ( var name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + }, + + camelCase: function( string ) { + return string.replace( rdashAlpha, fcamelCase ); + } +}); + +// DEPRECATED, Use jQuery.css() instead +jQuery.curCSS = jQuery.css; + +jQuery.each(["height", "width"], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + var val; + + if ( computed ) { + if ( elem.offsetWidth !== 0 ) { + val = getWH( elem, name, extra ); + + } else { + jQuery.swap( elem, cssShow, function() { + val = getWH( elem, name, extra ); + }); + } + + if ( val <= 0 ) { + val = curCSS( elem, name, name ); + + if ( val === "0px" && currentStyle ) { + val = currentStyle( elem, name, name ); + } + + if ( val != null ) { + // Should return "auto" instead of 0, use 0 for + // temporary backwards-compat + return val === "" || val === "auto" ? "0px" : val; + } + } + + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + + // Should return "auto" instead of 0, use 0 for + // temporary backwards-compat + return val === "" || val === "auto" ? "0px" : val; + } + + return typeof val === "string" ? val : val + "px"; + } + }, + + set: function( elem, value ) { + if ( rnumpx.test( value ) ) { + // ignore negative width and height values #1599 + value = parseFloat(value); + + if ( value >= 0 ) { + return value + "px"; + } + + } else { + return value; + } + } + }; +}); + +if ( !jQuery.support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + // IE uses filters for opacity + return ropacity.test((computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "") ? + (parseFloat(RegExp.$1) / 100) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // Set the alpha filter to set the opacity + var opacity = jQuery.isNaN(value) ? + "" : + "alpha(opacity=" + value * 100 + ")", + filter = style.filter || ""; + + style.filter = ralpha.test(filter) ? + filter.replace(ralpha, opacity) : + style.filter + ' ' + opacity; + } + }; +} + +if ( document.defaultView && document.defaultView.getComputedStyle ) { + getComputedStyle = function( elem, newName, name ) { + var ret, defaultView, computedStyle; + + name = name.replace( rupper, "-$1" ).toLowerCase(); + + if ( !(defaultView = elem.ownerDocument.defaultView) ) { + return undefined; + } + + if ( (computedStyle = defaultView.getComputedStyle( elem, null )) ) { + ret = computedStyle.getPropertyValue( name ); + if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) { + ret = jQuery.style( elem, name ); + } + } + + return ret; + }; +} + +if ( document.documentElement.currentStyle ) { + currentStyle = function( elem, name ) { + var left, rsLeft, + ret = elem.currentStyle && elem.currentStyle[ name ], + style = elem.style; + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + if ( !rnumpx.test( ret ) && rnum.test( ret ) ) { + // Remember the original values + left = style.left; + rsLeft = elem.runtimeStyle.left; + + // Put in the new values to get a computed value out + elem.runtimeStyle.left = elem.currentStyle.left; + style.left = name === "fontSize" ? "1em" : (ret || 0); + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + elem.runtimeStyle.left = rsLeft; + } + + return ret === "" ? "auto" : ret; + }; +} + +curCSS = getComputedStyle || currentStyle; + +function getWH( elem, name, extra ) { + var which = name === "width" ? cssWidth : cssHeight, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight; + + if ( extra === "border" ) { + return val; + } + + jQuery.each( which, function() { + if ( !extra ) { + val -= parseFloat(jQuery.css( elem, "padding" + this )) || 0; + } + + if ( extra === "margin" ) { + val += parseFloat(jQuery.css( elem, "margin" + this )) || 0; + + } else { + val -= parseFloat(jQuery.css( elem, "border" + this + "Width" )) || 0; + } + }); + + return val; +} + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + var width = elem.offsetWidth, + height = elem.offsetHeight; + + return (width === 0 && height === 0) || (!jQuery.support.reliableHiddenOffsets && (elem.style.display || jQuery.css( elem, "display" )) === "none"); + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} + + + + +var jsc = jQuery.now(), + rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, + rselectTextarea = /^(?:select|textarea)/i, + rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, + rnoContent = /^(?:GET|HEAD)$/, + rbracket = /\[\]$/, + jsre = /\=\?(&|$)/, + rquery = /\?/, + rts = /([?&])_=[^&]*/, + rurl = /^(\w+:)?\/\/([^\/?#]+)/, + r20 = /%20/g, + rhash = /#.*$/, + + // Keep a copy of the old load method + _load = jQuery.fn.load; + +jQuery.fn.extend({ + load: function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + + // Don't do a request if no elements are being requested + } else if ( !this.length ) { + return this; + } + + var off = url.indexOf(" "); + if ( off >= 0 ) { + var selector = url.slice(off, url.length); + url = url.slice(0, off); + } + + // Default to a GET request + var type = "GET"; + + // If the second parameter was provided + if ( params ) { + // If it's a function + if ( jQuery.isFunction( params ) ) { + // We assume that it's the callback + callback = params; + params = null; + + // Otherwise, build a param string + } else if ( typeof params === "object" ) { + params = jQuery.param( params, jQuery.ajaxSettings.traditional ); + type = "POST"; + } + } + + var self = this; + + // Request the remote document + jQuery.ajax({ + url: url, + type: type, + dataType: "html", + data: params, + complete: function( res, status ) { + // If successful, inject the HTML into all the matched elements + if ( status === "success" || status === "notmodified" ) { + // See if a selector was specified + self.html( selector ? + // Create a dummy div to hold the results + jQuery("<div>") + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append(res.responseText.replace(rscript, "")) + + // Locate the specified elements + .find(selector) : + + // If not, just inject the full result + res.responseText ); + } + + if ( callback ) { + self.each( callback, [res.responseText, status, res] ); + } + } + }); + + return this; + }, + + serialize: function() { + return jQuery.param(this.serializeArray()); + }, + + serializeArray: function() { + return this.map(function() { + return this.elements ? jQuery.makeArray(this.elements) : this; + }) + .filter(function() { + return this.name && !this.disabled && + (this.checked || rselectTextarea.test(this.nodeName) || + rinput.test(this.type)); + }) + .map(function( i, elem ) { + var val = jQuery(this).val(); + + return val == null ? + null : + jQuery.isArray(val) ? + jQuery.map( val, function( val, i ) { + return { name: elem.name, value: val }; + }) : + { name: elem.name, value: val }; + }).get(); + } +}); + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function( i, o ) { + jQuery.fn[o] = function( f ) { + return this.bind(o, f); + }; +}); + +jQuery.extend({ + get: function( url, data, callback, type ) { + // shift arguments if data argument was omited + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = null; + } + + return jQuery.ajax({ + type: "GET", + url: url, + data: data, + success: callback, + dataType: type + }); + }, + + getScript: function( url, callback ) { + return jQuery.get(url, null, callback, "script"); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get(url, data, callback, "json"); + }, + + post: function( url, data, callback, type ) { + // shift arguments if data argument was omited + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = {}; + } + + return jQuery.ajax({ + type: "POST", + url: url, + data: data, + success: callback, + dataType: type + }); + }, + + ajaxSetup: function( settings ) { + jQuery.extend( jQuery.ajaxSettings, settings ); + }, + + ajaxSettings: { + url: location.href, + global: true, + type: "GET", + contentType: "application/x-www-form-urlencoded", + processData: true, + async: true, + /* + timeout: 0, + data: null, + username: null, + password: null, + traditional: false, + */ + // This function can be overriden by calling jQuery.ajaxSetup + xhr: function() { + return new window.XMLHttpRequest(); + }, + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + script: "text/javascript, application/javascript", + json: "application/json, text/javascript", + text: "text/plain", + _default: "*/*" + } + }, + + ajax: function( origSettings ) { + var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings), + jsonp, status, data, type = s.type.toUpperCase(), noContent = rnoContent.test(type); + + s.url = s.url.replace( rhash, "" ); + + // Use original (not extended) context object if it was provided + s.context = origSettings && origSettings.context != null ? origSettings.context : s; + + // convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Handle JSONP Parameter Callbacks + if ( s.dataType === "jsonp" ) { + if ( type === "GET" ) { + if ( !jsre.test( s.url ) ) { + s.url += (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || "callback") + "=?"; + } + } else if ( !s.data || !jsre.test(s.data) ) { + s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?"; + } + s.dataType = "json"; + } + + // Build temporary JSONP function + if ( s.dataType === "json" && (s.data && jsre.test(s.data) || jsre.test(s.url)) ) { + jsonp = s.jsonpCallback || ("jsonp" + jsc++); + + // Replace the =? sequence both in the query string and the data + if ( s.data ) { + s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1"); + } + + s.url = s.url.replace(jsre, "=" + jsonp + "$1"); + + // We need to make sure + // that a JSONP style response is executed properly + s.dataType = "script"; + + // Handle JSONP-style loading + var customJsonp = window[ jsonp ]; + + window[ jsonp ] = function( tmp ) { + if ( jQuery.isFunction( customJsonp ) ) { + customJsonp( tmp ); + + } else { + // Garbage collect + window[ jsonp ] = undefined; + + try { + delete window[ jsonp ]; + } catch( jsonpError ) {} + } + + data = tmp; + jQuery.handleSuccess( s, xhr, status, data ); + jQuery.handleComplete( s, xhr, status, data ); + + if ( head ) { + head.removeChild( script ); + } + }; + } + + if ( s.dataType === "script" && s.cache === null ) { + s.cache = false; + } + + if ( s.cache === false && noContent ) { + var ts = jQuery.now(); + + // try replacing _= if it is there + var ret = s.url.replace(rts, "$1_=" + ts); + + // if nothing was replaced, add timestamp to the end + s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : ""); + } + + // If data is available, append data to url for GET/HEAD requests + if ( s.data && noContent ) { + s.url += (rquery.test(s.url) ? "&" : "?") + s.data; + } + + // Watch for a new set of requests + if ( s.global && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Matches an absolute URL, and saves the domain + var parts = rurl.exec( s.url ), + remote = parts && (parts[1] && parts[1].toLowerCase() !== location.protocol || parts[2].toLowerCase() !== location.host); + + // If we're requesting a remote document + // and trying to load JSON or Script with a GET + if ( s.dataType === "script" && type === "GET" && remote ) { + var head = document.getElementsByTagName("head")[0] || document.documentElement; + var script = document.createElement("script"); + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + script.src = s.url; + + // Handle Script loading + if ( !jsonp ) { + var done = false; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function() { + if ( !done && (!this.readyState || + this.readyState === "loaded" || this.readyState === "complete") ) { + done = true; + jQuery.handleSuccess( s, xhr, status, data ); + jQuery.handleComplete( s, xhr, status, data ); + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + if ( head && script.parentNode ) { + head.removeChild( script ); + } + } + }; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709 and #4378). + head.insertBefore( script, head.firstChild ); + + // We handle everything using the script element injection + return undefined; + } + + var requestDone = false; + + // Create the request object + var xhr = s.xhr(); + + if ( !xhr ) { + return; + } + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open(type, s.url, s.async, s.username, s.password); + } else { + xhr.open(type, s.url, s.async); + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + // Set content-type if data specified and content-body is valid for this type + if ( (s.data != null && !noContent) || (origSettings && origSettings.contentType) ) { + xhr.setRequestHeader("Content-Type", s.contentType); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[s.url] ) { + xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url]); + } + + if ( jQuery.etag[s.url] ) { + xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]); + } + } + + // Set header so the called script knows that it's an XMLHttpRequest + // Only send the header if it's not a remote XHR + if ( !remote ) { + xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + } + + // Set the Accepts header for the server, depending on the dataType + xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ? + s.accepts[ s.dataType ] + ", */*; q=0.01" : + s.accepts._default ); + } catch( headerError ) {} + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false ) { + // Handle the global AJAX counter + if ( s.global && jQuery.active-- === 1 ) { + jQuery.event.trigger( "ajaxStop" ); + } + + // close opended socket + xhr.abort(); + return false; + } + + if ( s.global ) { + jQuery.triggerGlobal( s, "ajaxSend", [xhr, s] ); + } + + // Wait for a response to come back + var onreadystatechange = xhr.onreadystatechange = function( isTimeout ) { + // The request was aborted + if ( !xhr || xhr.readyState === 0 || isTimeout === "abort" ) { + // Opera doesn't call onreadystatechange before this point + // so we simulate the call + if ( !requestDone ) { + jQuery.handleComplete( s, xhr, status, data ); + } + + requestDone = true; + if ( xhr ) { + xhr.onreadystatechange = jQuery.noop; + } + + // The transfer is complete and the data is available, or the request timed out + } else if ( !requestDone && xhr && (xhr.readyState === 4 || isTimeout === "timeout") ) { + requestDone = true; + xhr.onreadystatechange = jQuery.noop; + + status = isTimeout === "timeout" ? + "timeout" : + !jQuery.httpSuccess( xhr ) ? + "error" : + s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? + "notmodified" : + "success"; + + var errMsg; + + if ( status === "success" ) { + // Watch for, and catch, XML document parse errors + try { + // process the data (runs the xml through httpData regardless of callback) + data = jQuery.httpData( xhr, s.dataType, s ); + } catch( parserError ) { + status = "parsererror"; + errMsg = parserError; + } + } + + // Make sure that the request was successful or notmodified + if ( status === "success" || status === "notmodified" ) { + // JSONP handles its own success callback + if ( !jsonp ) { + jQuery.handleSuccess( s, xhr, status, data ); + } + } else { + jQuery.handleError( s, xhr, status, errMsg ); + } + + // Fire the complete handlers + if ( !jsonp ) { + jQuery.handleComplete( s, xhr, status, data ); + } + + if ( isTimeout === "timeout" ) { + xhr.abort(); + } + + // Stop memory leaks + if ( s.async ) { + xhr = null; + } + } + }; + + // Override the abort handler, if we can (IE 6 doesn't allow it, but that's OK) + // Opera doesn't fire onreadystatechange at all on abort + try { + var oldAbort = xhr.abort; + xhr.abort = function() { + if ( xhr ) { + // oldAbort has no call property in IE7 so + // just do it this way, which works in all + // browsers + Function.prototype.call.call( oldAbort, xhr ); + } + + onreadystatechange( "abort" ); + }; + } catch( abortError ) {} + + // Timeout checker + if ( s.async && s.timeout > 0 ) { + setTimeout(function() { + // Check to see if the request is still happening + if ( xhr && !requestDone ) { + onreadystatechange( "timeout" ); + } + }, s.timeout); + } + + // Send the data + try { + xhr.send( noContent || s.data == null ? null : s.data ); + + } catch( sendError ) { + jQuery.handleError( s, xhr, null, sendError ); + + // Fire the complete handlers + jQuery.handleComplete( s, xhr, status, data ); + } + + // firefox 1.5 doesn't fire statechange for sync requests + if ( !s.async ) { + onreadystatechange(); + } + + // return XMLHttpRequest to allow aborting the request etc. + return xhr; + }, + + // Serialize an array of form elements or a set of + // key/values into a query string + param: function( a, traditional ) { + var s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction(value) ? value() : value; + s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray(a) || a.jquery ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( var prefix in a ) { + buildParams( prefix, a[prefix], traditional, add ); + } + } + + // Return the resulting serialization + return s.join("&").replace(r20, "+"); + } +}); + +function buildParams( prefix, obj, traditional, add ) { + if ( jQuery.isArray(obj) && obj.length ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + // If array item is non-scalar (array or object), encode its + // numeric index to resolve deserialization ambiguity issues. + // Note that rack (as of 1.0.0) can't currently deserialize + // nested arrays properly, and attempting to do so may cause + // a server error. Possible fixes are to modify rack's + // deserialization algorithm or to provide an option or flag + // to force array serialization to be shallow. + buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add ); + } + }); + + } else if ( !traditional && obj != null && typeof obj === "object" ) { + if ( jQuery.isEmptyObject( obj ) ) { + add( prefix, "" ); + + // Serialize object item. + } else { + jQuery.each( obj, function( k, v ) { + buildParams( prefix + "[" + k + "]", v, traditional, add ); + }); + } + + } else { + // Serialize scalar item. + add( prefix, obj ); + } +} + +// This is still on the jQuery object... for now +// Want to move this to jQuery.ajax some day +jQuery.extend({ + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + handleError: function( s, xhr, status, e ) { + // If a local callback was specified, fire it + if ( s.error ) { + s.error.call( s.context, xhr, status, e ); + } + + // Fire the global callback + if ( s.global ) { + jQuery.triggerGlobal( s, "ajaxError", [xhr, s, e] ); + } + }, + + handleSuccess: function( s, xhr, status, data ) { + // If a local callback was specified, fire it and pass it the data + if ( s.success ) { + s.success.call( s.context, data, status, xhr ); + } + + // Fire the global callback + if ( s.global ) { + jQuery.triggerGlobal( s, "ajaxSuccess", [xhr, s] ); + } + }, + + handleComplete: function( s, xhr, status ) { + // Process result + if ( s.complete ) { + s.complete.call( s.context, xhr, status ); + } + + // The request was completed + if ( s.global ) { + jQuery.triggerGlobal( s, "ajaxComplete", [xhr, s] ); + } + + // Handle the global AJAX counter + if ( s.global && jQuery.active-- === 1 ) { + jQuery.event.trigger( "ajaxStop" ); + } + }, + + triggerGlobal: function( s, type, args ) { + (s.context && s.context.url == null ? jQuery(s.context) : jQuery.event).trigger(type, args); + }, + + // Determines if an XMLHttpRequest was successful or not + httpSuccess: function( xhr ) { + try { + // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 + return !xhr.status && location.protocol === "file:" || + xhr.status >= 200 && xhr.status < 300 || + xhr.status === 304 || xhr.status === 1223; + } catch(e) {} + + return false; + }, + + // Determines if an XMLHttpRequest returns NotModified + httpNotModified: function( xhr, url ) { + var lastModified = xhr.getResponseHeader("Last-Modified"), + etag = xhr.getResponseHeader("Etag"); + + if ( lastModified ) { + jQuery.lastModified[url] = lastModified; + } + + if ( etag ) { + jQuery.etag[url] = etag; + } + + return xhr.status === 304; + }, + + httpData: function( xhr, type, s ) { + var ct = xhr.getResponseHeader("content-type") || "", + xml = type === "xml" || !type && ct.indexOf("xml") >= 0, + data = xml ? xhr.responseXML : xhr.responseText; + + if ( xml && data.documentElement.nodeName === "parsererror" ) { + jQuery.error( "parsererror" ); + } + + // Allow a pre-filtering function to sanitize the response + // s is checked to keep backwards compatibility + if ( s && s.dataFilter ) { + data = s.dataFilter( data, type ); + } + + // The filter can actually parse the response + if ( typeof data === "string" ) { + // Get the JavaScript object, if JSON is used. + if ( type === "json" || !type && ct.indexOf("json") >= 0 ) { + data = jQuery.parseJSON( data ); + + // If the type is "script", eval it in global context + } else if ( type === "script" || !type && ct.indexOf("javascript") >= 0 ) { + jQuery.globalEval( data ); + } + } + + return data; + } + +}); + +/* + * Create the request object; Microsoft failed to properly + * implement the XMLHttpRequest in IE7 (can't request local files), + * so we use the ActiveXObject when it is available + * Additionally XMLHttpRequest can be disabled in IE7/IE8 so + * we need a fallback. + */ +if ( window.ActiveXObject ) { + jQuery.ajaxSettings.xhr = function() { + if ( window.location.protocol !== "file:" ) { + try { + return new window.XMLHttpRequest(); + } catch(xhrError) {} + } + + try { + return new window.ActiveXObject("Microsoft.XMLHTTP"); + } catch(activeError) {} + }; +} + +// Does this browser support XHR requests? +jQuery.support.ajax = !!jQuery.ajaxSettings.xhr(); + + + + +var elemdisplay = {}, + rfxtypes = /^(?:toggle|show|hide)$/, + rfxnum = /^([+\-]=)?([\d+.\-]+)(.*)$/, + timerId, + fxAttrs = [ + // height animations + [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ], + // width animations + [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ], + // opacity animations + [ "opacity" ] + ]; + +jQuery.fn.extend({ + show: function( speed, easing, callback ) { + var elem, display; + + if ( speed || speed === 0 ) { + return this.animate( genFx("show", 3), speed, easing, callback); + + } else { + for ( var i = 0, j = this.length; i < j; i++ ) { + elem = this[i]; + display = elem.style.display; + + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !jQuery.data(elem, "olddisplay") && display === "none" ) { + display = elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( display === "" && jQuery.css( elem, "display" ) === "none" ) { + jQuery.data(elem, "olddisplay", defaultDisplay(elem.nodeName)); + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( i = 0; i < j; i++ ) { + elem = this[i]; + display = elem.style.display; + + if ( display === "" || display === "none" ) { + elem.style.display = jQuery.data(elem, "olddisplay") || ""; + } + } + + return this; + } + }, + + hide: function( speed, easing, callback ) { + if ( speed || speed === 0 ) { + return this.animate( genFx("hide", 3), speed, easing, callback); + + } else { + for ( var i = 0, j = this.length; i < j; i++ ) { + var display = jQuery.css( this[i], "display" ); + + if ( display !== "none" ) { + jQuery.data( this[i], "olddisplay", display ); + } + } + + // Set the display of the elements in a second loop + // to avoid the constant reflow + for ( i = 0; i < j; i++ ) { + this[i].style.display = "none"; + } + + return this; + } + }, + + // Save the old toggle function + _toggle: jQuery.fn.toggle, + + toggle: function( fn, fn2, callback ) { + var bool = typeof fn === "boolean"; + + if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) { + this._toggle.apply( this, arguments ); + + } else if ( fn == null || bool ) { + this.each(function() { + var state = bool ? fn : jQuery(this).is(":hidden"); + jQuery(this)[ state ? "show" : "hide" ](); + }); + + } else { + this.animate(genFx("toggle", 3), fn, fn2, callback); + } + + return this; + }, + + fadeTo: function( speed, to, easing, callback ) { + return this.filter(":hidden").css("opacity", 0).show().end() + .animate({opacity: to}, speed, easing, callback); + }, + + animate: function( prop, speed, easing, callback ) { + var optall = jQuery.speed(speed, easing, callback); + + if ( jQuery.isEmptyObject( prop ) ) { + return this.each( optall.complete ); + } + + return this[ optall.queue === false ? "each" : "queue" ](function() { + // XXX 'this' does not always have a nodeName when running the + // test suite + + var opt = jQuery.extend({}, optall), p, + isElement = this.nodeType === 1, + hidden = isElement && jQuery(this).is(":hidden"), + self = this; + + for ( p in prop ) { + var name = jQuery.camelCase( p ); + + if ( p !== name ) { + prop[ name ] = prop[ p ]; + delete prop[ p ]; + p = name; + } + + if ( prop[p] === "hide" && hidden || prop[p] === "show" && !hidden ) { + return opt.complete.call(this); + } + + if ( isElement && ( p === "height" || p === "width" ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height + // animated + if ( jQuery.css( this, "display" ) === "inline" && + jQuery.css( this, "float" ) === "none" ) { + if ( !jQuery.support.inlineBlockNeedsLayout ) { + this.style.display = "inline-block"; + + } else { + var display = defaultDisplay(this.nodeName); + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( display === "inline" ) { + this.style.display = "inline-block"; + + } else { + this.style.display = "inline"; + this.style.zoom = 1; + } + } + } + } + + if ( jQuery.isArray( prop[p] ) ) { + // Create (if needed) and add to specialEasing + (opt.specialEasing = opt.specialEasing || {})[p] = prop[p][1]; + prop[p] = prop[p][0]; + } + } + + if ( opt.overflow != null ) { + this.style.overflow = "hidden"; + } + + opt.curAnim = jQuery.extend({}, prop); + + jQuery.each( prop, function( name, val ) { + var e = new jQuery.fx( self, opt, name ); + + if ( rfxtypes.test(val) ) { + e[ val === "toggle" ? hidden ? "show" : "hide" : val ]( prop ); + + } else { + var parts = rfxnum.exec(val), + start = e.cur() || 0; + + if ( parts ) { + var end = parseFloat( parts[2] ), + unit = parts[3] || "px"; + + // We need to compute starting value + if ( unit !== "px" ) { + jQuery.style( self, name, (end || 1) + unit); + start = ((end || 1) / e.cur()) * start; + jQuery.style( self, name, start + unit); + } + + // If a +=/-= token was provided, we're doing a relative animation + if ( parts[1] ) { + end = ((parts[1] === "-=" ? -1 : 1) * end) + start; + } + + e.custom( start, end, unit ); + + } else { + e.custom( start, val, "" ); + } + } + }); + + // For JS strict compliance + return true; + }); + }, + + stop: function( clearQueue, gotoEnd ) { + var timers = jQuery.timers; + + if ( clearQueue ) { + this.queue([]); + } + + this.each(function() { + // go in reverse order so anything added to the queue during the loop is ignored + for ( var i = timers.length - 1; i >= 0; i-- ) { + if ( timers[i].elem === this ) { + if (gotoEnd) { + // force the next step to be the last + timers[i](true); + } + + timers.splice(i, 1); + } + } + }); + + // start the next in the queue if the last step wasn't forced + if ( !gotoEnd ) { + this.dequeue(); + } + + return this; + } + +}); + +function genFx( type, num ) { + var obj = {}; + + jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() { + obj[ this ] = type; + }); + + return obj; +} + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show", 1), + slideUp: genFx("hide", 1), + slideToggle: genFx("toggle", 1), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +}); + +jQuery.extend({ + speed: function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend({}, speed) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction(easing) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[opt.duration] : jQuery.fx.speeds._default; + + // Queueing + opt.old = opt.complete; + opt.complete = function() { + if ( opt.queue !== false ) { + jQuery(this).dequeue(); + } + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + }; + + return opt; + }, + + easing: { + linear: function( p, n, firstNum, diff ) { + return firstNum + diff * p; + }, + swing: function( p, n, firstNum, diff ) { + return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum; + } + }, + + timers: [], + + fx: function( elem, options, prop ) { + this.options = options; + this.elem = elem; + this.prop = prop; + + if ( !options.orig ) { + options.orig = {}; + } + } + +}); + +jQuery.fx.prototype = { + // Simple function for setting a style value + update: function() { + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this ); + }, + + // Get the current size + cur: function() { + if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) { + return this.elem[ this.prop ]; + } + + var r = parseFloat( jQuery.css( this.elem, this.prop ) ); + return r && r > -10000 ? r : 0; + }, + + // Start an animation from one number to another + custom: function( from, to, unit ) { + var self = this, + fx = jQuery.fx; + + this.startTime = jQuery.now(); + this.start = from; + this.end = to; + this.unit = unit || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + + function t( gotoEnd ) { + return self.step(gotoEnd); + } + + t.elem = this.elem; + + if ( t() && jQuery.timers.push(t) && !timerId ) { + timerId = setInterval(fx.tick, fx.interval); + } + }, + + // Simple 'show' function + show: function() { + // Remember where we started, so that we can go back to it later + this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); + this.options.show = true; + + // Begin the animation + // Make sure that we start at a small width/height to avoid any + // flash of content + this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); + + // Start by showing the element + jQuery( this.elem ).show(); + }, + + // Simple 'hide' function + hide: function() { + // Remember where we started, so that we can go back to it later + this.options.orig[this.prop] = jQuery.style( this.elem, this.prop ); + this.options.hide = true; + + // Begin the animation + this.custom(this.cur(), 0); + }, + + // Each step of an animation + step: function( gotoEnd ) { + var t = jQuery.now(), done = true; + + if ( gotoEnd || t >= this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + for ( var i in this.options.curAnim ) { + if ( this.options.curAnim[i] !== true ) { + done = false; + } + } + + if ( done ) { + // Reset the overflow + if ( this.options.overflow != null && !jQuery.support.shrinkWrapBlocks ) { + var elem = this.elem, + options = this.options; + + jQuery.each( [ "", "X", "Y" ], function (index, value) { + elem.style[ "overflow" + value ] = options.overflow[index]; + } ); + } + + // Hide the element if the "hide" operation was done + if ( this.options.hide ) { + jQuery(this.elem).hide(); + } + + // Reset the properties, if the item has been hidden or shown + if ( this.options.hide || this.options.show ) { + for ( var p in this.options.curAnim ) { + jQuery.style( this.elem, p, this.options.orig[p] ); + } + } + + // Execute the complete function + this.options.complete.call( this.elem ); + } + + return false; + + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + + // Perform the easing function, defaults to swing + var specialEasing = this.options.specialEasing && this.options.specialEasing[this.prop]; + var defaultEasing = this.options.easing || (jQuery.easing.swing ? "swing" : "linear"); + this.pos = jQuery.easing[specialEasing || defaultEasing](this.state, n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + + // Perform the next step of the animation + this.update(); + } + + return true; + } +}; + +jQuery.extend( jQuery.fx, { + tick: function() { + var timers = jQuery.timers; + + for ( var i = 0; i < timers.length; i++ ) { + if ( !timers[i]() ) { + timers.splice(i--, 1); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + }, + + interval: 13, + + stop: function() { + clearInterval( timerId ); + timerId = null; + }, + + speeds: { + slow: 600, + fast: 200, + // Default speed + _default: 400 + }, + + step: { + opacity: function( fx ) { + jQuery.style( fx.elem, "opacity", fx.now ); + }, + + _default: function( fx ) { + if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) { + fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit; + } else { + fx.elem[ fx.prop ] = fx.now; + } + } + } +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} + +function defaultDisplay( nodeName ) { + if ( !elemdisplay[ nodeName ] ) { + var elem = jQuery("<" + nodeName + ">").appendTo("body"), + display = elem.css("display"); + + elem.remove(); + + if ( display === "none" || display === "" ) { + display = "block"; + } + + elemdisplay[ nodeName ] = display; + } + + return elemdisplay[ nodeName ]; +} + + + + +var rtable = /^t(?:able|d|h)$/i, + rroot = /^(?:body|html)$/i; + +if ( "getBoundingClientRect" in document.documentElement ) { + jQuery.fn.offset = function( options ) { + var elem = this[0], box; + + if ( options ) { + return this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + if ( !elem || !elem.ownerDocument ) { + return null; + } + + if ( elem === elem.ownerDocument.body ) { + return jQuery.offset.bodyOffset( elem ); + } + + try { + box = elem.getBoundingClientRect(); + } catch(e) {} + + var doc = elem.ownerDocument, + docElem = doc.documentElement; + + // Make sure we're not dealing with a disconnected DOM node + if ( !box || !jQuery.contains( docElem, elem ) ) { + return box || { top: 0, left: 0 }; + } + + var body = doc.body, + win = getWindow(doc), + clientTop = docElem.clientTop || body.clientTop || 0, + clientLeft = docElem.clientLeft || body.clientLeft || 0, + scrollTop = (win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop ), + scrollLeft = (win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft), + top = box.top + scrollTop - clientTop, + left = box.left + scrollLeft - clientLeft; + + return { top: top, left: left }; + }; + +} else { + jQuery.fn.offset = function( options ) { + var elem = this[0]; + + if ( options ) { + return this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + if ( !elem || !elem.ownerDocument ) { + return null; + } + + if ( elem === elem.ownerDocument.body ) { + return jQuery.offset.bodyOffset( elem ); + } + + jQuery.offset.initialize(); + + var computedStyle, + offsetParent = elem.offsetParent, + prevOffsetParent = elem, + doc = elem.ownerDocument, + docElem = doc.documentElement, + body = doc.body, + defaultView = doc.defaultView, + prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle, + top = elem.offsetTop, + left = elem.offsetLeft; + + while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) { + if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) { + break; + } + + computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle; + top -= elem.scrollTop; + left -= elem.scrollLeft; + + if ( elem === offsetParent ) { + top += elem.offsetTop; + left += elem.offsetLeft; + + if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && rtable.test(elem.nodeName)) ) { + top += parseFloat( computedStyle.borderTopWidth ) || 0; + left += parseFloat( computedStyle.borderLeftWidth ) || 0; + } + + prevOffsetParent = offsetParent; + offsetParent = elem.offsetParent; + } + + if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) { + top += parseFloat( computedStyle.borderTopWidth ) || 0; + left += parseFloat( computedStyle.borderLeftWidth ) || 0; + } + + prevComputedStyle = computedStyle; + } + + if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) { + top += body.offsetTop; + left += body.offsetLeft; + } + + if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) { + top += Math.max( docElem.scrollTop, body.scrollTop ); + left += Math.max( docElem.scrollLeft, body.scrollLeft ); + } + + return { top: top, left: left }; + }; +} + +jQuery.offset = { + initialize: function() { + var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.css(body, "marginTop") ) || 0, + html = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; + + jQuery.extend( container.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" } ); + + container.innerHTML = html; + body.insertBefore( container, body.firstChild ); + innerDiv = container.firstChild; + checkDiv = innerDiv.firstChild; + td = innerDiv.nextSibling.firstChild.firstChild; + + this.doesNotAddBorder = (checkDiv.offsetTop !== 5); + this.doesAddBorderForTableAndCells = (td.offsetTop === 5); + + checkDiv.style.position = "fixed"; + checkDiv.style.top = "20px"; + + // safari subtracts parent border width here which is 5px + this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15); + checkDiv.style.position = checkDiv.style.top = ""; + + innerDiv.style.overflow = "hidden"; + innerDiv.style.position = "relative"; + + this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5); + + this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop); + + body.removeChild( container ); + body = container = innerDiv = checkDiv = table = td = null; + jQuery.offset.initialize = jQuery.noop; + }, + + bodyOffset: function( body ) { + var top = body.offsetTop, + left = body.offsetLeft; + + jQuery.offset.initialize(); + + if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) { + top += parseFloat( jQuery.css(body, "marginTop") ) || 0; + left += parseFloat( jQuery.css(body, "marginLeft") ) || 0; + } + + return { top: top, left: left }; + }, + + setOffset: function( elem, options, i ) { + var position = jQuery.css( elem, "position" ); + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curCSSTop = jQuery.css( elem, "top" ), + curCSSLeft = jQuery.css( elem, "left" ), + calculatePosition = (position === "absolute" && jQuery.inArray('auto', [curCSSTop, curCSSLeft]) > -1), + props = {}, curPosition = {}, curTop, curLeft; + + // need to be able to calculate position if either top or left is auto and position is absolute + if ( calculatePosition ) { + curPosition = curElem.position(); + } + + curTop = calculatePosition ? curPosition.top : parseInt( curCSSTop, 10 ) || 0; + curLeft = calculatePosition ? curPosition.left : parseInt( curCSSLeft, 10 ) || 0; + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + if (options.top != null) { + props.top = (options.top - curOffset.top) + curTop; + } + if (options.left != null) { + props.left = (options.left - curOffset.left) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + position: function() { + if ( !this[0] ) { + return null; + } + + var elem = this[0], + + // Get *real* offsetParent + offsetParent = this.offsetParent(), + + // Get correct offsets + offset = this.offset(), + parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + + // Subtract element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; + offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; + + // Add offsetParent borders + parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; + parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; + + // Subtract the two offsets + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.body; + while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( ["Left", "Top"], function( i, name ) { + var method = "scroll" + name; + + jQuery.fn[ method ] = function(val) { + var elem = this[0], win; + + if ( !elem ) { + return null; + } + + if ( val !== undefined ) { + // Set the scroll offset + return this.each(function() { + win = getWindow( this ); + + if ( win ) { + win.scrollTo( + !i ? val : jQuery(win).scrollLeft(), + i ? val : jQuery(win).scrollTop() + ); + + } else { + this[ method ] = val; + } + }); + } else { + win = getWindow( elem ); + + // Return the scroll offset + return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] : + jQuery.support.boxModel && win.document.documentElement[ method ] || + win.document.body[ method ] : + elem[ method ]; + } + }; +}); + +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} + + + + +// Create innerHeight, innerWidth, outerHeight and outerWidth methods +jQuery.each([ "Height", "Width" ], function( i, name ) { + + var type = name.toLowerCase(); + + // innerHeight and innerWidth + jQuery.fn["inner" + name] = function() { + return this[0] ? + parseFloat( jQuery.css( this[0], type, "padding" ) ) : + null; + }; + + // outerHeight and outerWidth + jQuery.fn["outer" + name] = function( margin ) { + return this[0] ? + parseFloat( jQuery.css( this[0], type, margin ? "margin" : "border" ) ) : + null; + }; + + jQuery.fn[ type ] = function( size ) { + // Get window width or height + var elem = this[0]; + if ( !elem ) { + return size == null ? null : this; + } + + if ( jQuery.isFunction( size ) ) { + return this.each(function( i ) { + var self = jQuery( this ); + self[ type ]( size.call( this, i, self[ type ]() ) ); + }); + } + + if ( jQuery.isWindow( elem ) ) { + // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode + return elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] || + elem.document.body[ "client" + name ]; + + // Get document width or height + } else if ( elem.nodeType === 9 ) { + // Either scroll[Width/Height] or offset[Width/Height], whichever is greater + return Math.max( + elem.documentElement["client" + name], + elem.body["scroll" + name], elem.documentElement["scroll" + name], + elem.body["offset" + name], elem.documentElement["offset" + name] + ); + + // Get or set width or height on the element + } else if ( size === undefined ) { + var orig = jQuery.css( elem, type ), + ret = parseFloat( orig ); + + return jQuery.isNaN( ret ) ? orig : ret; + + // Set the width or height on the element (default to pixels if value is unitless) + } else { + return this.css( type, typeof size === "string" ? size : size + "px" ); + } + }; + +}); + + +})(window); diff --git a/libs/js/globalize/examples/browser/jquery.tmpl.js b/libs/js/globalize/examples/browser/jquery.tmpl.js new file mode 100644 index 00000000..f731a321 --- /dev/null +++ b/libs/js/globalize/examples/browser/jquery.tmpl.js @@ -0,0 +1,131 @@ +/* + * jQuery Templating Plugin + * NOTE: Created for demonstration purposes. + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + */ +(function(jQuery){ + // Override the DOM manipulation function + var oldManip = jQuery.fn.domManip; + + jQuery.fn.extend({ + render: function( data ) { + return this.map(function(i, tmpl){ + return jQuery.render( tmpl, data ); + }); + }, + + // This will allow us to do: .append( "template", dataObject ) + domManip: function( args ) { + // This appears to be a bug in the appendTo, etc. implementation + // it should be doing .call() instead of .apply(). See #6227 + if ( args.length > 1 && args[0].nodeType ) { + arguments[0] = [ jQuery.makeArray(args) ]; + } + + if ( args.length === 2 && typeof args[0] === "string" && typeof args[1] !== "string" ) { + arguments[0] = [ jQuery.render( args[0], args[1] ) ]; + } + + return oldManip.apply( this, arguments ); + } + }); + + jQuery.extend({ + render: function( tmpl, data ) { + var fn; + + // Use a pre-defined template, if available + if ( jQuery.templates[ tmpl ] ) { + fn = jQuery.templates[ tmpl ]; + + // We're pulling from a script node + } else if ( tmpl.nodeType ) { + var node = tmpl, elemData = jQuery.data( node ); + fn = elemData.tmpl || jQuery.tmpl( node.innerHTML ); + } + + fn = fn || jQuery.tmpl( tmpl ); + + // We assume that if the template string is being passed directly + // in the user doesn't want it cached. They can stick it in + // jQuery.templates to cache it. + + if ( jQuery.isArray( data ) ) { + return jQuery.map( data, function( data, i ) { + return fn.call( data, jQuery, data, i ); + }); + + } else { + return fn.call( data, jQuery, data, 0 ); + } + }, + + // You can stick pre-built template functions here + templates: {}, + + /* + * For example, someone could do: + * jQuery.templates.foo = jQuery.tmpl("some long templating string"); + * $("#test").append("foo", data); + */ + + tmplcmd: { + each: { + _default: [ null, "$i" ], + prefix: "jQuery.each($1,function($2){with(this){", + suffix: "}});" + }, + "if": { + prefix: "if($1){", + suffix: "}" + }, + "else": { + prefix: "}else{" + }, + html: { + prefix: "_.push(typeof $1==='function'?$1.call(this):$1);" + }, + "=": { + _default: [ "this" ], + prefix: "_.push($.encode(typeof $1==='function'?$1.call(this):$1));" + } + }, + + encode: function( text ) { + return text != null ? document.createTextNode( text.toString() ).nodeValue : ""; + }, + + tmpl: function(str, data, i) { + // Generate a reusable function that will serve as a template + // generator (and which will be cached). + var fn = new Function("jQuery","$data","$i", + "var $=jQuery,_=[];_.data=$data;_.index=$i;" + + + // Introduce the data as local variables using with(){} + "with($data){_.push('" + + + // Convert the template into pure JavaScript + str + .replace(/[\r\t\n]/g, " ") + .replace(/\${([^}]*)}/g, "{{= $1}}") + .replace(/{{(\/?)(\w+|.)(?:\((.*?)\))?(?: (.*?))?}}/g, function(all, slash, type, fnargs, args) { + var tmpl = jQuery.tmplcmd[ type ]; + + if ( !tmpl ) { + throw "Template not found: " + type; + } + + var def = tmpl._default; + + return "');" + tmpl[slash ? "suffix" : "prefix"] + .split("$1").join(args || (def?def[0]:null)) + .split("$2").join(fnargs || (def?def[1]:null)) + "_.push('"; + }) + + "');}return $(_.join('')).get();"); + + // Provide some basic currying to the user + return data ? fn.call( this, jQuery, data, i ) : fn; + } + }); +})(jQuery);
\ No newline at end of file diff --git a/libs/js/globalize/generator/HijriCalendar.js b/libs/js/globalize/generator/HijriCalendar.js new file mode 100644 index 00000000..461833bc --- /dev/null +++ b/libs/js/globalize/generator/HijriCalendar.js @@ -0,0 +1,70 @@ + // 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: %HIJRIADJUSTMENT%, + 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); + }
\ No newline at end of file diff --git a/libs/js/globalize/generator/Program.cs b/libs/js/globalize/generator/Program.cs new file mode 100644 index 00000000..412f7c62 --- /dev/null +++ b/libs/js/globalize/generator/Program.cs @@ -0,0 +1,660 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Globalization; +using System.Web.Script.Serialization; +using System.Collections.Specialized; +using System.Collections; +using System.Text.RegularExpressions; +using System.Reflection; +using System.Diagnostics; +using Globalization; + +namespace Globalization { + public class GlobalizationInfo { + public string name = ""; + public string englishName; + public string nativeName; + public string language; + public bool isRTL; + public NumberFormatInfo numberFormat; + public Dictionary<String, DateFormatInfo> calendars; + private CultureInfo culture; + public static Dictionary<String, Object> BasisGlobInfo; + + + private static string[] _numberNegativePatterns = "(n)|-n|- n|n-|n -".Split('|'); + private static string[] _currencyNegativePatterns = "($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)".Split('|'); + private static string[] _percentNegativePatterns = "-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %".Split('|'); + private static string[] _currencyPositivePatterns = "$n|n$|$ n|n $".Split('|'); + private static string[] _percentPositivePatterns = "n %|n%|%n|% n".Split('|'); + + public static GlobalizationInfo GetGlobInfo(CultureInfo culture) { + var info = new GlobalizationInfo { + culture = culture, + language = (culture == CultureInfo.InvariantCulture || culture.IsNeutralCulture) ? culture.Name : culture.Parent.Name, + name = String.IsNullOrEmpty(culture.Name) ? "invariant" : culture.Name, + englishName = String.IsNullOrEmpty(culture.Name) ? "invariant" : culture.EnglishName, + nativeName = String.IsNullOrEmpty(culture.Name) ? "invariant" : culture.NativeName, + isRTL = culture.TextInfo.IsRightToLeft, + numberFormat = GetNumberFormatInfo(culture), + calendars = GetCalendars(culture) + }; + return info; + } + + public static Dictionary<String, DateFormatInfo> GetCalendars(CultureInfo culture) { + var calendars = new Dictionary<String, DateFormatInfo>(); + bool foundStandard = false; + var gregorianType = typeof(GregorianCalendar); + var defaultCalendar = culture.DateTimeFormat.Calendar; + var defaultCalendarType = defaultCalendar.GetType(); + GregorianCalendarTypes? gregorianCalendarType = null; + if (defaultCalendarType == gregorianType) { + gregorianCalendarType = ((GregorianCalendar)defaultCalendar).CalendarType; + } + var optionalCalendars = culture.OptionalCalendars; + foreach (var calendar in optionalCalendars) { + var type = calendar.GetType(); + string name; + bool isStandard = false; + if (type == gregorianType) { + var calendarType = ((GregorianCalendar)calendar).CalendarType; + if (calendarType == GregorianCalendarTypes.USEnglish) { + // we include the Gregorian_USEnglish culture as part of the built-in 'en' culture + // because it is so common -- it is an optional calendar of every single english + // speaking culture. So, skip it when found for any other culture. + continue; + } + else if (culture == CultureInfo.InvariantCulture) { + // invariant has one calendar, Gregorian_Localized, which is identical + // to Gregorian_USEnglish. + name = " Gregorian_USEnglish"; + } + else { + name = "Gregorian_" + calendarType.ToString(); + } + if (!foundStandard && gregorianCalendarType.HasValue && gregorianCalendarType == gregorianCalendarType.Value) { + isStandard = true; + foundStandard = true; + } + } + else { + name = type.Name.Replace("Calendar", ""); + if (!foundStandard) { + isStandard = true; + foundStandard = true; + } + } + string key = name; + if (isStandard) { + key = "standard"; + } + if (culture != CultureInfo.InvariantCulture) { + culture.DateTimeFormat.Calendar = calendar; + } + var calendarInfo = GetDateTimeFormatInfo(culture, name); + calendars.Add(key, calendarInfo); + } + if (!foundStandard) { + throw new ApplicationException("Could not locate the standard calendar type for culture '" + culture.Name + "'."); + } + return calendars; + } + + public static GlobalizationInfo.NumberFormatInfo GetNumberFormatInfo(CultureInfo culture) { + var nf = culture.NumberFormat; + return new GlobalizationInfo.NumberFormatInfo { + decimals = nf.NumberDecimalDigits, + decimalSeparator = nf.NumberDecimalSeparator, + groupSeparator = nf.NumberGroupSeparator, + groupSizes = nf.NumberGroupSizes, + NaN = nf.NaNSymbol, + negative = nf.NegativeSign, + negativeInfinity = nf.NegativeInfinitySymbol, + positive = nf.PositiveSign, + positiveInfinity = nf.PositiveInfinitySymbol, + pattern = new string[] { GetFromStringList(_numberNegativePatterns, nf.NumberNegativePattern) }, + currency = new GlobalizationInfo.NumberFormatInfo.NumberClassFormatInfo { + decimals = nf.CurrencyDecimalDigits, + decimalSeparator = nf.CurrencyDecimalSeparator, + groupSeparator = nf.CurrencyGroupSeparator, + groupSizes = nf.CurrencyGroupSizes, + pattern = new string[] { + GetFromStringList(_currencyNegativePatterns, nf.CurrencyNegativePattern), + GetFromStringList(_currencyPositivePatterns, nf.CurrencyPositivePattern) + }, + symbol = nf.CurrencySymbol + }, + percent = new GlobalizationInfo.NumberFormatInfo.NumberClassFormatInfo { + decimals = nf.PercentDecimalDigits, + decimalSeparator = nf.PercentDecimalSeparator, + groupSeparator = nf.PercentGroupSeparator, + groupSizes = nf.PercentGroupSizes, + pattern = new string[] { + GetFromStringList(_percentNegativePatterns, nf.PercentNegativePattern), + GetFromStringList(_percentPositivePatterns, nf.PercentPositivePattern) + }, + symbol = nf.PercentSymbol + } + }; + } + + public static string[] GetAMPMDesignators(CultureInfo culture, string ampm) { + return String.IsNullOrEmpty(ampm) ? null : new string[] { ampm, culture.TextInfo.ToLower(ampm), culture.TextInfo.ToUpper(ampm) }; + } + + public static GlobalizationInfo.DateFormatInfo GetDateTimeFormatInfo(CultureInfo culture, string calendarName) { + var df = culture.DateTimeFormat; + var info = new GlobalizationInfo.DateFormatInfo { + name = calendarName, + months = new DateFormatInfo.MonthInfo { names = df.MonthNames, namesAbbr = df.AbbreviatedMonthNames }, + monthsGenitive = new DateFormatInfo.MonthInfo { names = df.MonthGenitiveNames, namesAbbr = df.AbbreviatedMonthGenitiveNames }, + firstDay = (int) df.FirstDayOfWeek, + dateSeparator = df.DateSeparator, + timeSeparator = df.TimeSeparator, + days = new DateFormatInfo.DayInfo { names = df.DayNames, namesAbbr = df.AbbreviatedDayNames, namesShort = df.ShortestDayNames }, + eras = GetEraInfo(culture), + twoDigitYearMax = df.Calendar.TwoDigitYearMax, + patterns = GetPatterns(df) + }; + info.AM = GetAMPMDesignators(culture, df.AMDesignator); + info.PM = GetAMPMDesignators(culture, df.PMDesignator); + if (df.Calendar != null) { + var type = df.Calendar.GetType(); + if (type == typeof(HijriCalendar)) { + string convert; + using (var sr = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Generator.HijriCalendar.js"))) { + convert = sr.ReadToEnd(); + } + int adjustment = ((HijriCalendar)df.Calendar).HijriAdjustment; + convert = convert.Replace("%HIJRIADJUSTMENT%", adjustment.ToString(CultureInfo.InvariantCulture)); + info.convertScriptBlock = convert; + } + else if (type == typeof(UmAlQuraCalendar)) { + using (var sr = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Generator.UmAlQuraCalendar.js"))) { + info.convertScriptBlock = sr.ReadToEnd(); + } + } + } + return info; + } + + private static GlobalizationInfo.DateFormatInfo.EraInfo[] GetEraInfo(CultureInfo culture) { + Calendar cal = culture.DateTimeFormat.Calendar; + List<GlobalizationInfo.DateFormatInfo.EraInfo> eras = null; + if (cal != null) { + eras = new List<GlobalizationInfo.DateFormatInfo.EraInfo>(); + foreach (var eraNum in cal.Eras) { + eras.Add(GetEraInfo(culture, eraNum)); + } + } + return eras == null ? null : eras.ToArray(); + } + + private static GlobalizationInfo.DateFormatInfo.EraInfo GetEraInfo(CultureInfo culture, int eraNum) { + var era = new GlobalizationInfo.DateFormatInfo.EraInfo { + name = culture.DateTimeFormat.GetEraName(eraNum), + offset = 0, + start = null + }; + var calendar = culture.DateTimeFormat.Calendar; + + Type type = calendar.GetType(); + if (type != typeof(GregorianCalendar)) { + if (type == typeof(TaiwanCalendar)) { + era.offset = 0x777; + } + else if (type == typeof(KoreanCalendar)) { + era.offset = -2333; + } + else if (type == typeof(ThaiBuddhistCalendar)) { + era.offset = -543; + } + else if (type == typeof(JapaneseCalendar)) { + switch (eraNum) { + case 1: + era.start = 0xdf9984200L; + era.offset = 0x7c4; + break; + case 2: + era.start = -1357603200000L; + era.offset = 0x785; + break; + case 3: + era.start = -1812153600000L; + era.offset = 0x777; + break; + case 4: + era.start = null; + era.offset = 0x74b; + break; + default: + throw new InvalidOperationException("Invalid era number for JapaneseCalendar: " + eraNum.ToString()); + } + } + } + return era; + } + + private static Dictionary<String, String> GetPatterns(DateTimeFormatInfo df) { + var patterns = new Dictionary<String, String> { + { "d", df.ShortDatePattern }, + { "D", df.LongDatePattern }, + { "t", df.ShortTimePattern }, + { "T", df.LongTimePattern }, + { "f", df.LongDatePattern + " " + df.ShortTimePattern }, + { "F", df.FullDateTimePattern }, + { "M", df.MonthDayPattern }, + { "S", df.SortableDateTimePattern }, + { "Y", df.YearMonthPattern } + }; + return patterns; + } + + private static bool ArrayEquality(Array arr1, Array arr2) { + if (arr1.Length == arr2.Length) { + for (int i = 0; i < arr1.Length; i++) { + if (!arr1.GetValue(i).Equals(arr2.GetValue(i))) { + return false; + } + } + return true; + } + return false; + } + + private static bool ListEquality(IList arr1, IList arr2) { + if (arr1.Count == arr2.Count) { + for (int i = 0; i < arr1.Count; i++) { + var val1 = arr1[i]; + var val2 = arr2[i]; + if (val1 == null || !val1.Equals(val2)) { + if (val1 is IList && val2 is IList) { + if (!ListEquality(val1 as IList, val2 as IList)) { + return false; + } + } + else if (val1 is Dictionary<String, Object> && val2 is Dictionary<String, Object>) { + var diff = DiffGlobInfos((Dictionary<String, Object>)val1, (Dictionary<String, Object>)val2); + if (diff.Count > 0) { + return false; + } + } + else { + return false; + } + } + } + return true; + } + return false; + } + + private static string GetFromStringList(string[] list, int value) { + return value < list.Length ? list[value] : null; + } + + public Dictionary<String, Object> ToDictionary(bool diffCalendars) { + var jss = new JavaScriptSerializer(); + var str = jss.Serialize(this); + var dictionary = jss.Deserialize<Dictionary<String, Object>>(str); + var cals = (Dictionary<String, Object>) dictionary["calendars"]; + Dictionary<String, Object> basisStandardCal = null; + if (GlobalizationInfo.BasisGlobInfo != null) { + basisStandardCal = (Dictionary<String, Object>)((Dictionary<String, Object>)GlobalizationInfo.BasisGlobInfo["calendars"])["standard"]; + foreach (var pair in this.calendars) { + var cal = (Dictionary<String, Object>)cals[pair.Key]; + if (diffCalendars) { + // make each calendar a diff from the standard basis calendar + cals[pair.Key] = cal = DiffGlobInfos(basisStandardCal, cal); + } + // apply convert script if it exists + if (!String.IsNullOrEmpty(pair.Value.convertScriptBlock)) { + cal["convert"] = pair.Value.convertScriptBlock; + } + // remove redundant monthsGenitive array if it is equivilent to months + Dictionary<String, Object> months = cal.ContainsKey("months") ? (Dictionary<String, Object>)cal["months"] : null; + Dictionary<String, Object> monthsGenitive = cal.ContainsKey("monthsGenitive") ? (Dictionary<String, Object>)cal["monthsGenitive"] : null; + Dictionary<String, Object> diff = (months != null && monthsGenitive != null) ? DiffGlobInfos(months, monthsGenitive) : null; + if (diff != null && diff.Count == 0) { + // the genitive months are the same as months, so remove it since it's optional + cal.Remove("monthsGenitive"); + } + } + } + return dictionary; + } + + public static string GenerateJavaScript(string extend, string global, CultureInfo culture, string name, Dictionary<String, Object> dictionary, StringBuilder aggregateScript) { + string cultureFragment = ToJavaScript(extend, culture, dictionary, 1, false); + + if (aggregateScript != null) { + aggregateScript.AppendFormat(CultureInfo.InvariantCulture, @" +Globalize.addCultureInfo( ""{0}"", ""default"", {{ +{1} +}}); +", name, cultureFragment, extend); + } + + return string.Format(CultureInfo.InvariantCulture, @"/* + * Globalize Culture {0} + * + * 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( ""{0}"", ""default"", {{ +{1} +}}); + +}}( this )); +", name, cultureFragment); + } + + private static string Serialize(object value) { + // no need to escape single quotes + return _jss.Serialize(value).Replace("\\u0027", "'"); + } + + private static string ToJavaScript(string extend, CultureInfo culture, Dictionary<String, Object> dictionary, int level, bool isCalendars) { + StringBuilder sb = new StringBuilder(); + string padding = _padding.Substring(0, level); + bool first = true; + foreach (var pair in dictionary) { + if (!first) { + sb.Append(",\n"); + } + first = false; + if (pair.Value is Dictionary<String, Object>) { + sb.AppendFormat("{0}{1}: {{\n{2}\n{0}}}", padding, pair.Key, ToJavaScript(extend, culture, (Dictionary<String, Object>)pair.Value, level + 1, pair.Key.Equals("calendars"))); + } + else if (pair.Key.Equals("convert")) { + sb.AppendFormat("{0}convert: {{\n{1}\n{0}}}", padding, pair.Value); + } + else if (pair.Key.Equals("groupSeparator")) { + sb.AppendFormat("{0}\",\": {1}", padding, Serialize(pair.Value)); + } + else if (pair.Key.Equals("decimalSeparator")) { + sb.AppendFormat("{0}\".\": {1}", padding, Serialize(pair.Value)); + } + else if (pair.Key.Equals("positive")) { + sb.AppendFormat("{0}\"+\": {1}", padding, Serialize(pair.Value)); + } + else if (pair.Key.Equals("negative")) { + sb.AppendFormat("{0}\"-\": {1}", padding, Serialize(pair.Value)); + } + else if (pair.Key.Equals("dateSeparator")) { + sb.AppendFormat("{0}\"/\": {1}", padding, Serialize(pair.Value)); + } + else if (pair.Key.Equals("timeSeparator")) { + sb.AppendFormat("{0}\":\": {1}", padding, Serialize(pair.Value)); + } + else { + sb.AppendFormat("{0}{1}: {2}", padding, pair.Key, Serialize(pair.Value)); + } + } + return sb.ToString(); + } + + private static JavaScriptSerializer _jss = new JavaScriptSerializer(); + private static string _padding = " "; + + private static Dictionary<String, Object> ToDictionary(IEnumerable<KeyValuePair<String, Object>> pairs) { + var d = new Dictionary<String, Object>(); + foreach (var pair in pairs) { + d.Add(pair.Key, pair.Value); + } + return d; + } + + public static Dictionary<String, Object> DiffGlobInfos(Dictionary<String, Object> glob1, Dictionary<String, Object> glob2) { + var unique = new Dictionary<String, Object>(); + var comparer = new KeyValueComparer(); + + var diff = ToDictionary(glob2.Except(glob1, comparer)); + foreach (var pair in glob2) { + if (diff.ContainsKey(pair.Key) && pair.Value != null) { + if (pair.Value is Dictionary<String, Object>) { + var subdiff = glob1.ContainsKey(pair.Key) ? DiffGlobInfos((Dictionary<String, Object>)glob1[pair.Key], (Dictionary<String, Object>)pair.Value) : (Dictionary<String, Object>)pair.Value; + if (subdiff.Count > 0) { + //Debug.WriteLine("Replacing\n {0}\nwith\n {1}", _jss.Serialize(diff[pair.Key]), _jss.Serialize(subdiff)); + diff[pair.Key] = subdiff; + } + else { + //Debug.WriteLine("\nRemoving {0}\n", _jss.Serialize(pair.Key)); + diff.Remove(pair.Key); + } + } + else if (pair.Value is IList) { + if (glob1.ContainsKey(pair.Key) && ListEquality((IList)pair.Value, (IList)glob1[pair.Key])) { + diff.Remove(pair.Key); + } + } + } + } + + return diff; + } + + public class KeyValueComparer : IEqualityComparer<KeyValuePair<String, Object>> { + public bool Equals(KeyValuePair<String, Object> x, KeyValuePair<String, Object> y) { + if (x.Key.Equals(y.Key)) { + if ((x.Value == null && y.Value == null) || (x.Value != null && x.Value.Equals(y.Value))) { + return true; + } + else if (x.Value is ArrayList && y.Value is ArrayList) { + return ListEquality((IList)x.Value, (IList)y.Value); + } + else if (x.Value is Array && y.Value is Array) { + return ArrayEquality(x.Value as Array, y.Value as Array); + } + else if (x.Value is Dictionary<String, Object> && y.Value is Dictionary<String, Object>) { + var diff = DiffGlobInfos((Dictionary<String, Object>)x.Value, (Dictionary<String, Object>)y.Value); + if (diff.Count == 0) { + return true; + } + //else { + // Debug.WriteLine(" Dictionaries diff:\n {0}\n {1}", _jss.Serialize(x.Value), _jss.Serialize(y.Value)); + //} + } + } + //Debug.WriteLine(" Diff found: {0}={1}, {2}={3}", x.Key, x.Value, y.Key, y.Value); + return false; + } + + public int GetHashCode(KeyValuePair<String, Object> obj) { + return obj.GetHashCode(); + } + } + + public class NumberFormatInfo { + public string[] pattern; + public int decimals; + public string groupSeparator; + public string decimalSeparator; + public int[] groupSizes; + public string NaN; + public string negative; + public string negativeInfinity; + public string positive; + public string positiveInfinity; + public NumberClassFormatInfo percent; + public NumberClassFormatInfo currency; + + public class NumberClassFormatInfo { + public string[] pattern; + public int decimals; + public int[] groupSizes; + public string groupSeparator; + public string decimalSeparator; + public string symbol; + } + } + + public class DateFormatInfo { + public string name; + public string dateSeparator; + public string timeSeparator; + public int firstDay; + public DayInfo days; + public MonthInfo months; + public MonthInfo monthsGenitive; + public string[] AM; + public string[] PM; + public EraInfo[] eras; + public int twoDigitYearMax; + public Dictionary<String, String> patterns; + internal string convertScriptBlock; + + public class EraInfo { + public string name; + public long? start; + public long offset; + } + + public class MonthInfo { + public string[] names; + public string[] namesAbbr; + } + + public class DayInfo { + public string[] names; + public string[] namesAbbr; + public string[] namesShort; + } + } + + } + + public class Program { + + private static void WriteCulture(string outputdir, string fileName, string extend, string global, CultureInfo culture, StringBuilder aggregateScript) { + var globInfo = GlobalizationInfo.GetGlobInfo(culture); + var diff = (String.IsNullOrEmpty(extend) || culture == CultureInfo.InvariantCulture || culture.Name.Equals("en")) ? globInfo.ToDictionary(false) : GlobalizationInfo.DiffGlobInfos(GlobalizationInfo.BasisGlobInfo, globInfo.ToDictionary(true)); + + // Fix for Issue #31 - en-US 'englishName' is wrong + // Special case diff of englishName for en-US. The generator diff seemingly finds both "en" and "en-US" to + // have englishName "English (United States)" but globalize.js (correctly) has the neutral "English" for "en"/"default" + if (culture.Name.Equals("en-US")) { + diff.Add("name", globInfo.name); + diff.Add("englishName", globInfo.englishName); + } + + var script = GlobalizationInfo.GenerateJavaScript(extend, global, culture, culture.Name, diff, aggregateScript); + var filePath = Path.Combine(outputdir, String.Format(fileName, (String.IsNullOrEmpty(culture.Name) ? "invariant" : culture.Name))); + + File.WriteAllText(filePath, script); + Console.WriteLine(filePath); + } + + [STAThread] + static void Main(string[] args) { + string outputdir = "lib\\cultures"; + string extend = "extend"; + string global = "Globalization"; + string fileName = "globalize.culture.{0}.js"; + string aggregateFileName = "globalize.cultures.js"; + foreach (string param in string.Join(" ", args).SplitCommandLine()) { + if (param.StartsWith("/o:")) { + outputdir = param.Substring("/o:".Length); + } + else if (param == "/?") { + Console.Write(@" +Usage:glob-generator [<options>] + +options: + + /o: The directory to put the culture scripts into. The directory will be + created if it does not exist. Existing scripts there will be + overwritten if necessary. + default: ""lib\cultures"" + +"); + return; + } + } + Directory.CreateDirectory(outputdir); + GlobalizationInfo.BasisGlobInfo = GlobalizationInfo.GetGlobInfo(CultureInfo.CreateSpecificCulture("en")).ToDictionary(false); + + StringBuilder aggregateScript = new StringBuilder(); + +/* + +Globalize.addCultureInfo( ""{0}"", ""default"", {{ +{1} +}}); + +}}( this )); +" +*/ + + aggregateScript.Append( + @"/* + * Globalize Cultures + * + * 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; +} +"); + + int count = 0; + foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures)) { + if (!String.IsNullOrEmpty(culture.Name) && culture != CultureInfo.InvariantCulture && culture.Name != "en") { + WriteCulture(outputdir, fileName, extend, global, culture, aggregateScript); + count++; + } + } + + aggregateScript.Append("\r\n}( this ));\r\n"); + string aggregateScriptString = aggregateScript.ToString(); + string aggregatePath = Path.Combine(outputdir, aggregateFileName); + File.WriteAllText(aggregatePath, aggregateScriptString); + Console.WriteLine(aggregatePath); + + Console.WriteLine("Done! Generated scripts for a total of {0} cultures, and 1 aggregate script.", count); + } + } +} diff --git a/libs/js/globalize/generator/Properties/AssemblyInfo.cs b/libs/js/globalize/generator/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..36a678fd --- /dev/null +++ b/libs/js/globalize/generator/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("GlobalizationCultures")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("jQuery")] +[assembly: AssemblyProduct("GlobalizeCultureGenerator")] +[assembly: AssemblyCopyright("Copyright Software Freedom Conservancy, Inc.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("d485ddf1-b620-429a-bc9e-619e9aa5edc4")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/libs/js/globalize/generator/StringExt.cs b/libs/js/globalize/generator/StringExt.cs new file mode 100644 index 00000000..4fa450b9 --- /dev/null +++ b/libs/js/globalize/generator/StringExt.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Globalization; + +namespace Globalization { + public static class StringExtensions { + public static IEnumerable<string> Split(this string str, Func<char, bool> controller) { + int nextPiece = 0; + + for (int c = 0; c < str.Length; c++) { + if (controller(str[c])) { + yield return str.Substring(nextPiece, c - nextPiece); + nextPiece = c + 1; + } + } + + yield return str.Substring(nextPiece); + } + + public static string TrimMatchingQuotes(this string input, char quote) { + if ((input.Length >= 2) && + (input[0] == quote) && (input[input.Length - 1] == quote)) + return input.Substring(1, input.Length - 2); + + return input; + } + + public static IEnumerable<string> SplitCommandLine(this string commandLine) { + bool inQuotes = false; + + return commandLine.Split(c => { + if (c == '\"') + inQuotes = !inQuotes; + + return !inQuotes && c == ' '; + }).Select(arg => arg.Trim().TrimMatchingQuotes('\"')) + .Where(arg => !string.IsNullOrEmpty(arg)); + } + + } +} diff --git a/libs/js/globalize/generator/UmAlQuraCalendar.js b/libs/js/globalize/generator/UmAlQuraCalendar.js new file mode 100644 index 00000000..7dc25ee9 --- /dev/null +++ b/libs/js/globalize/generator/UmAlQuraCalendar.js @@ -0,0 +1,190 @@ + _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]; + }
\ No newline at end of file diff --git a/libs/js/globalize/generator/generator.csproj b/libs/js/globalize/generator/generator.csproj new file mode 100644 index 00000000..3c9f5038 --- /dev/null +++ b/libs/js/globalize/generator/generator.csproj @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">x86</Platform> + <ProjectGuid>{6EBDAB07-7C5E-4CF5-91CA-368ED36D6600}</ProjectGuid> + <OutputType>Exe</OutputType> + <NoStandardLibraries>false</NoStandardLibraries> + <AssemblyName>generator</AssemblyName> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <TargetFrameworkProfile> + </TargetFrameworkProfile> + <FileAlignment>512</FileAlignment> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <PlatformTarget>x86</PlatformTarget> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <PlatformTarget>x86</PlatformTarget> + </PropertyGroup> + <PropertyGroup> + <RootNamespace>Generator</RootNamespace> + </PropertyGroup> + <ItemGroup> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Data" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="System.Web" /> + <Reference Include="System.Web.Extensions" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Xml.Linq" /> + </ItemGroup> + <ItemGroup> + <Compile Include="StringExt.cs" /> + <Compile Include="Program.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="UmAlQuraCalendar.js" /> + <EmbeddedResource Include="HijriCalendar.js" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSHARP.Targets" /> + <ProjectExtensions> + <VisualStudio AllowExistingFolder="true" /> + </ProjectExtensions> +</Project>
\ No newline at end of file diff --git a/libs/js/globalize/git-checkout.txt b/libs/js/globalize/git-checkout.txt new file mode 100644 index 00000000..d9d6a11c --- /dev/null +++ b/libs/js/globalize/git-checkout.txt @@ -0,0 +1,2 @@ +Cloned from https://github.com/jquery/globalize.git +Revision 2be340f57157799ad8667fe7fd4bf5ecec43a93e diff --git a/libs/js/globalize/lib/cultures/globalize.culture.af-ZA.js b/libs/js/globalize/lib/cultures/globalize.culture.af-ZA.js new file mode 100644 index 00000000..8588aefd --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.af-ZA.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture af-ZA + * + * 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( "af-ZA", "default", { + name: "af-ZA", + englishName: "Afrikaans (South Africa)", + nativeName: "Afrikaans (Suid Afrika)", + language: "af", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"], + namesAbbr: ["Son","Maan","Dins","Woen","Dond","Vry","Sat"], + namesShort: ["So","Ma","Di","Wo","Do","Vr","Sa"] + }, + months: { + names: ["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember",""], + namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.af.js b/libs/js/globalize/lib/cultures/globalize.culture.af.js new file mode 100644 index 00000000..0f17c0d2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.af.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture af + * + * 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( "af", "default", { + name: "af", + englishName: "Afrikaans", + nativeName: "Afrikaans", + language: "af", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"], + namesAbbr: ["Son","Maan","Dins","Woen","Dond","Vry","Sat"], + namesShort: ["So","Ma","Di","Wo","Do","Vr","Sa"] + }, + months: { + names: ["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember",""], + namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.am-ET.js b/libs/js/globalize/lib/cultures/globalize.culture.am-ET.js new file mode 100644 index 00000000..e603a0b2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.am-ET.js @@ -0,0 +1,74 @@ +/* + * Globalize Culture am-ET + * + * 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( "am-ET", "default", { + name: "am-ET", + englishName: "Amharic (Ethiopia)", + nativeName: "አማርኛ (ኢትዮጵያ)", + language: "am", + numberFormat: { + decimals: 1, + groupSizes: [3,0], + NaN: "NAN", + percent: { + pattern: ["-n%","n%"], + decimals: 1, + groupSizes: [3,0] + }, + currency: { + pattern: ["-$n","$n"], + groupSizes: [3,0], + symbol: "ETB" + } + }, + calendars: { + standard: { + days: { + names: ["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"], + namesAbbr: ["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"], + namesShort: ["እ","ሰ","ማ","ረ","ሐ","ዓ","ቅ"] + }, + months: { + names: ["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር",""], + namesAbbr: ["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም",""] + }, + AM: ["ጡዋት","ጡዋት","ጡዋት"], + PM: ["ከሰዓት","ከሰዓት","ከሰዓት"], + eras: [{"name":"ዓመተ ምሕረት","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "dddd '፣' MMMM d 'ቀን' yyyy", + f: "dddd '፣' MMMM d 'ቀን' yyyy h:mm tt", + F: "dddd '፣' MMMM d 'ቀን' yyyy h:mm:ss tt", + M: "MMMM d ቀን", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.am.js b/libs/js/globalize/lib/cultures/globalize.culture.am.js new file mode 100644 index 00000000..fe1a37c2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.am.js @@ -0,0 +1,74 @@ +/* + * Globalize Culture am + * + * 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( "am", "default", { + name: "am", + englishName: "Amharic", + nativeName: "አማርኛ", + language: "am", + numberFormat: { + decimals: 1, + groupSizes: [3,0], + NaN: "NAN", + percent: { + pattern: ["-n%","n%"], + decimals: 1, + groupSizes: [3,0] + }, + currency: { + pattern: ["-$n","$n"], + groupSizes: [3,0], + symbol: "ETB" + } + }, + calendars: { + standard: { + days: { + names: ["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"], + namesAbbr: ["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"], + namesShort: ["እ","ሰ","ማ","ረ","ሐ","ዓ","ቅ"] + }, + months: { + names: ["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር",""], + namesAbbr: ["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም",""] + }, + AM: ["ጡዋት","ጡዋት","ጡዋት"], + PM: ["ከሰዓት","ከሰዓት","ከሰዓት"], + eras: [{"name":"ዓመተ ምሕረት","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "dddd '፣' MMMM d 'ቀን' yyyy", + f: "dddd '፣' MMMM d 'ቀን' yyyy h:mm tt", + F: "dddd '፣' MMMM d 'ቀን' yyyy h:mm:ss tt", + M: "MMMM d ቀን", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-AE.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-AE.js new file mode 100644 index 00000000..fdf1a512 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-AE.js @@ -0,0 +1,457 @@ +/* + * Globalize Culture ar-AE + * + * 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-AE", "default", { + name: "ar-AE", + englishName: "Arabic (U.A.E.)", + nativeName: "العربية (الإمارات العربية المتحدة)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-BH.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-BH.js new file mode 100644 index 00000000..b073e2c7 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-BH.js @@ -0,0 +1,462 @@ +/* + * Globalize Culture ar-BH + * + * 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-BH", "default", { + name: "ar-BH", + englishName: "Arabic (Bahrain)", + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-DZ.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-DZ.js new file mode 100644 index 00000000..75eaa7f7 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-DZ.js @@ -0,0 +1,458 @@ +/* + * Globalize Culture ar-DZ + * + * 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-DZ", "default", { + name: "ar-DZ", + englishName: "Arabic (Algeria)", + nativeName: "العربية (الجزائر)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + symbol: "د.ج." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + 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: "H:mm", + T: "H:mm:ss", + f: "dd/MM/yyyy H:mm", + F: "dd/MM/yyyy H:mm:ss", + 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: "H:mm", + T: "H:mm:ss", + f: "dd/MMMM/yyyy H:mm", + F: "dd/MMMM/yyyy H:mm:ss", + 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss", + 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["أ","ا","ث","أ","خ","ج","س"] + }, + months: { + names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-EG.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-EG.js new file mode 100644 index 00000000..9d2365c1 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-EG.js @@ -0,0 +1,484 @@ +/* + * Globalize Culture ar-EG + * + * 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-EG", "default", { + name: "ar-EG", + englishName: "Arabic (Egypt)", + nativeName: "العربية (مصر)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + decimals: 3, + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + percent: { + decimals: 3 + }, + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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" + } + }, + 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); + } + } + }, + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-IQ.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-IQ.js new file mode 100644 index 00000000..02353362 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-IQ.js @@ -0,0 +1,457 @@ +/* + * Globalize Culture ar-IQ + * + * 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-IQ", "default", { + name: "ar-IQ", + englishName: "Arabic (Iraq)", + nativeName: "العربية (العراق)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-JO.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-JO.js new file mode 100644 index 00000000..152ce08a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-JO.js @@ -0,0 +1,462 @@ +/* + * Globalize Culture ar-JO + * + * 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-JO", "default", { + name: "ar-JO", + englishName: "Arabic (Jordan)", + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-KW.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-KW.js new file mode 100644 index 00000000..07d1f89e --- /dev/null +++ b/libs/js/globalize/lib/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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-LB.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-LB.js new file mode 100644 index 00000000..8c82f5a9 --- /dev/null +++ b/libs/js/globalize/lib/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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-LY.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-LY.js new file mode 100644 index 00000000..5c16db8f --- /dev/null +++ b/libs/js/globalize/lib/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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-MA.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-MA.js new file mode 100644 index 00000000..483eba87 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-MA.js @@ -0,0 +1,458 @@ +/* + * Globalize Culture ar-MA + * + * 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-MA", "default", { + name: "ar-MA", + englishName: "Arabic (Morocco)", + 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: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + }, + 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: "H:mm", + T: "H:mm:ss", + f: "dd/MM/yyyy H:mm", + F: "dd/MM/yyyy H:mm:ss", + 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: 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: "H:mm", + T: "H:mm:ss", + f: "dd/MMMM/yyyy H:mm", + F: "dd/MMMM/yyyy H:mm:ss", + 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: 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss", + M: "dd MMMM" + } + }, + Gregorian_Arabic: { + name: "Gregorian_Arabic", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""], + namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + }, + 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-OM.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-OM.js new file mode 100644 index 00000000..630fef04 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-OM.js @@ -0,0 +1,458 @@ +/* + * Globalize Culture ar-OM + * + * 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-OM", "default", { + name: "ar-OM", + englishName: "Arabic (Oman)", + nativeName: "العربية (عمان)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-QA.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-QA.js new file mode 100644 index 00000000..69839a2b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-QA.js @@ -0,0 +1,457 @@ +/* + * Globalize Culture ar-QA + * + * 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-QA", "default", { + name: "ar-QA", + englishName: "Arabic (Qatar)", + nativeName: "العربية (قطر)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-SA.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-SA.js new file mode 100644 index 00000000..86c73cd5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-SA.js @@ -0,0 +1,457 @@ +/* + * Globalize Culture ar-SA + * + * 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-SA", "default", { + name: "ar-SA", + englishName: "Arabic (Saudi Arabia)", + nativeName: "العربية (المملكة العربية السعودية)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + symbol: "ر.س." + } + }, + calendars: { + standard: { + 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]; + } + } + }, + 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); + } + } + }, + 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_Localized: { + 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" + } + }, + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-SY.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-SY.js new file mode 100644 index 00000000..1444e7ef --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-SY.js @@ -0,0 +1,457 @@ +/* + * Globalize Culture ar-SY + * + * 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-SY", "default", { + name: "ar-SY", + englishName: "Arabic (Syria)", + nativeName: "العربية (سوريا)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-TN.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-TN.js new file mode 100644 index 00000000..47eb3ca9 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-TN.js @@ -0,0 +1,463 @@ +/* + * Globalize Culture ar-TN + * + * 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-TN", "default", { + name: "ar-TN", + englishName: "Arabic (Tunisia)", + 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: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + }, + 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: "H:mm", + T: "H:mm:ss", + f: "dd/MM/yyyy H:mm", + F: "dd/MM/yyyy H:mm:ss", + 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: 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: "H:mm", + T: "H:mm:ss", + f: "dd/MMMM/yyyy H:mm", + F: "dd/MMMM/yyyy H:mm:ss", + 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: 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss", + M: "dd MMMM" + } + }, + Gregorian_Arabic: { + name: "Gregorian_Arabic", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""], + namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + }, + 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar-YE.js b/libs/js/globalize/lib/cultures/globalize.culture.ar-YE.js new file mode 100644 index 00000000..2d25f2f0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar-YE.js @@ -0,0 +1,457 @@ +/* + * Globalize Culture ar-YE + * + * 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-YE", "default", { + name: "ar-YE", + englishName: "Arabic (Yemen)", + nativeName: "العربية (اليمن)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ar.js b/libs/js/globalize/lib/cultures/globalize.culture.ar.js new file mode 100644 index 00000000..31938bd3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ar.js @@ -0,0 +1,457 @@ +/* + * Globalize Culture ar + * + * 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", "default", { + name: "ar", + englishName: "Arabic", + nativeName: "العربية", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + symbol: "ر.س." + } + }, + calendars: { + standard: { + 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]; + } + } + }, + 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); + } + } + }, + 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_Localized: { + 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" + } + }, + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.arn-CL.js b/libs/js/globalize/lib/cultures/globalize.culture.arn-CL.js new file mode 100644 index 00000000..12a7ebe1 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.arn-CL.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture arn-CL + * + * 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( "arn-CL", "default", { + name: "arn-CL", + englishName: "Mapudungun (Chile)", + nativeName: "Mapudungun (Chile)", + language: "arn", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.arn.js b/libs/js/globalize/lib/cultures/globalize.culture.arn.js new file mode 100644 index 00000000..9839cd99 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.arn.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture arn + * + * 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( "arn", "default", { + name: "arn", + englishName: "Mapudungun", + nativeName: "Mapudungun", + language: "arn", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.as-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.as-IN.js new file mode 100644 index 00000000..ead83ba1 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.as-IN.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture as-IN + * + * 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( "as-IN", "default", { + name: "as-IN", + englishName: "Assamese (India)", + nativeName: "অসমীয়া (ভাৰত)", + language: "as", + numberFormat: { + groupSizes: [3,2], + NaN: "nan", + negativeInfinity: "-infinity", + positiveInfinity: "infinity", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","n$"], + groupSizes: [3,2], + symbol: "ট" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["সোমবাৰ","মঙ্গলবাৰ","বুধবাৰ","বৃহস্পতিবাৰ","শুক্রবাৰ","শনিবাৰ","ৰবিবাৰ"], + namesAbbr: ["সোম.","মঙ্গল.","বুধ.","বৃহ.","শুক্র.","শনি.","ৰবি."], + namesShort: ["সো","ম","বু","বৃ","শু","শ","র"] + }, + months: { + names: ["জানুৱাৰী","ফেব্রুৱাৰী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টেম্বর","অক্টোবর","নবেম্বর","ডিচেম্বর",""], + namesAbbr: ["জানু","ফেব্রু","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টে","অক্টো","নবে","ডিচে",""] + }, + AM: ["ৰাতিপু","ৰাতিপু","ৰাতিপু"], + PM: ["আবেলি","আবেলি","আবেলি"], + eras: [{"name":"খ্রীষ্টাব্দ","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "yyyy,MMMM dd, dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy,MMMM dd, dddd tt h:mm", + F: "yyyy,MMMM dd, dddd tt h:mm:ss", + M: "dd MMMM", + Y: "MMMM,yy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.as.js b/libs/js/globalize/lib/cultures/globalize.culture.as.js new file mode 100644 index 00000000..f20cccf0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.as.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture as + * + * 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( "as", "default", { + name: "as", + englishName: "Assamese", + nativeName: "অসমীয়া", + language: "as", + numberFormat: { + groupSizes: [3,2], + NaN: "nan", + negativeInfinity: "-infinity", + positiveInfinity: "infinity", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","n$"], + groupSizes: [3,2], + symbol: "ট" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["সোমবাৰ","মঙ্গলবাৰ","বুধবাৰ","বৃহস্পতিবাৰ","শুক্রবাৰ","শনিবাৰ","ৰবিবাৰ"], + namesAbbr: ["সোম.","মঙ্গল.","বুধ.","বৃহ.","শুক্র.","শনি.","ৰবি."], + namesShort: ["সো","ম","বু","বৃ","শু","শ","র"] + }, + months: { + names: ["জানুৱাৰী","ফেব্রুৱাৰী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টেম্বর","অক্টোবর","নবেম্বর","ডিচেম্বর",""], + namesAbbr: ["জানু","ফেব্রু","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টে","অক্টো","নবে","ডিচে",""] + }, + AM: ["ৰাতিপু","ৰাতিপু","ৰাতিপু"], + PM: ["আবেলি","আবেলি","আবেলি"], + eras: [{"name":"খ্রীষ্টাব্দ","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "yyyy,MMMM dd, dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy,MMMM dd, dddd tt h:mm", + F: "yyyy,MMMM dd, dddd tt h:mm:ss", + M: "dd MMMM", + Y: "MMMM,yy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.az-Cyrl-AZ.js b/libs/js/globalize/lib/cultures/globalize.culture.az-Cyrl-AZ.js new file mode 100644 index 00000000..5808bdf6 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.az-Cyrl-AZ.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture az-Cyrl-AZ + * + * 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( "az-Cyrl-AZ", "default", { + name: "az-Cyrl-AZ", + englishName: "Azeri (Cyrillic, Azerbaijan)", + nativeName: "Азәрбајҹан (Азәрбајҹан)", + language: "az-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "ман." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Базар","Базар ертәси","Чәршәнбә ахшамы","Чәршәнбә","Ҹүмә ахшамы","Ҹүмә","Шәнбә"], + namesAbbr: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"], + namesShort: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"] + }, + months: { + names: ["Јанвар","Феврал","Март","Апрел","Мај","Ијун","Ијул","Август","Сентјабр","Октјабр","Нојабр","Декабр",""], + namesAbbr: ["Јан","Фев","Мар","Апр","Мај","Ијун","Ијул","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["јанвар","феврал","март","апрел","мај","ијун","ијул","август","сентјабр","октјабр","нојабр","декабр",""], + namesAbbr: ["Јан","Фев","Мар","Апр","мая","ијун","ијул","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.az-Cyrl.js b/libs/js/globalize/lib/cultures/globalize.culture.az-Cyrl.js new file mode 100644 index 00000000..786b81ff --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.az-Cyrl.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture az-Cyrl + * + * 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( "az-Cyrl", "default", { + name: "az-Cyrl", + englishName: "Azeri (Cyrillic)", + nativeName: "Азәрбајҹан дили", + language: "az-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "ман." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Базар","Базар ертәси","Чәршәнбә ахшамы","Чәршәнбә","Ҹүмә ахшамы","Ҹүмә","Шәнбә"], + namesAbbr: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"], + namesShort: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"] + }, + months: { + names: ["Јанвар","Феврал","Март","Апрел","Мај","Ијун","Ијул","Август","Сентјабр","Октјабр","Нојабр","Декабр",""], + namesAbbr: ["Јан","Фев","Мар","Апр","Мај","Ијун","Ијул","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["јанвар","феврал","март","апрел","мај","ијун","ијул","август","сентјабр","октјабр","нојабр","декабр",""], + namesAbbr: ["Јан","Фев","Мар","Апр","мая","ијун","ијул","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.az-Latn-AZ.js b/libs/js/globalize/lib/cultures/globalize.culture.az-Latn-AZ.js new file mode 100644 index 00000000..a70d6370 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.az-Latn-AZ.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture az-Latn-AZ + * + * 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( "az-Latn-AZ", "default", { + name: "az-Latn-AZ", + englishName: "Azeri (Latin, Azerbaijan)", + nativeName: "Azərbaycanılı (Azərbaycan)", + language: "az-Latn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "man." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"], + namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"], + namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"] + }, + months: { + names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + monthsGenitive: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.az-Latn.js b/libs/js/globalize/lib/cultures/globalize.culture.az-Latn.js new file mode 100644 index 00000000..a8175c2a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.az-Latn.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture az-Latn + * + * 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( "az-Latn", "default", { + name: "az-Latn", + englishName: "Azeri (Latin)", + nativeName: "Azərbaycanılı", + language: "az-Latn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "man." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"], + namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"], + namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"] + }, + months: { + names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + monthsGenitive: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.az.js b/libs/js/globalize/lib/cultures/globalize.culture.az.js new file mode 100644 index 00000000..94c9ad05 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.az.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture az + * + * 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( "az", "default", { + name: "az", + englishName: "Azeri", + nativeName: "Azərbaycanılı", + language: "az", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "man." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"], + namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"], + namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"] + }, + months: { + names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + monthsGenitive: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ba-RU.js b/libs/js/globalize/lib/cultures/globalize.culture.ba-RU.js new file mode 100644 index 00000000..b5f95598 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ba-RU.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture ba-RU + * + * 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( "ba-RU", "default", { + name: "ba-RU", + englishName: "Bashkir (Russia)", + nativeName: "Башҡорт (Россия)", + language: "ba", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ",", + symbol: "һ." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Йәкшәмбе","Дүшәмбе","Шишәмбе","Шаршамбы","Кесаҙна","Йома","Шәмбе"], + namesAbbr: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"], + namesShort: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"] + }, + months: { + names: ["ғинуар","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь",""], + namesAbbr: ["ғин","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy 'й'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'й' H:mm", + F: "d MMMM yyyy 'й' H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ba.js b/libs/js/globalize/lib/cultures/globalize.culture.ba.js new file mode 100644 index 00000000..b026451a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ba.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture ba + * + * 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( "ba", "default", { + name: "ba", + englishName: "Bashkir", + nativeName: "Башҡорт", + language: "ba", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ",", + symbol: "һ." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Йәкшәмбе","Дүшәмбе","Шишәмбе","Шаршамбы","Кесаҙна","Йома","Шәмбе"], + namesAbbr: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"], + namesShort: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"] + }, + months: { + names: ["ғинуар","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь",""], + namesAbbr: ["ғин","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy 'й'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'й' H:mm", + F: "d MMMM yyyy 'й' H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.be-BY.js b/libs/js/globalize/lib/cultures/globalize.culture.be-BY.js new file mode 100644 index 00000000..9f736f21 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.be-BY.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture be-BY + * + * 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( "be-BY", "default", { + name: "be-BY", + englishName: "Belarusian (Belarus)", + nativeName: "Беларускі (Беларусь)", + language: "be", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["нядзеля","панядзелак","аўторак","серада","чацвер","пятніца","субота"], + namesAbbr: ["нд","пн","аў","ср","чц","пт","сб"], + namesShort: ["нд","пн","аў","ср","чц","пт","сб"] + }, + months: { + names: ["Студзень","Люты","Сакавік","Красавік","Май","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань",""], + namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""] + }, + monthsGenitive: { + names: ["студзеня","лютага","сакавіка","красавіка","мая","чэрвеня","ліпеня","жніўня","верасня","кастрычніка","лістапада","снежня",""], + namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.be.js b/libs/js/globalize/lib/cultures/globalize.culture.be.js new file mode 100644 index 00000000..422a6445 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.be.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture be + * + * 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( "be", "default", { + name: "be", + englishName: "Belarusian", + nativeName: "Беларускі", + language: "be", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["нядзеля","панядзелак","аўторак","серада","чацвер","пятніца","субота"], + namesAbbr: ["нд","пн","аў","ср","чц","пт","сб"], + namesShort: ["нд","пн","аў","ср","чц","пт","сб"] + }, + months: { + names: ["Студзень","Люты","Сакавік","Красавік","Май","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань",""], + namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""] + }, + monthsGenitive: { + names: ["студзеня","лютага","сакавіка","красавіка","мая","чэрвеня","ліпеня","жніўня","верасня","кастрычніка","лістапада","снежня",""], + namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bg-BG.js b/libs/js/globalize/lib/cultures/globalize.culture.bg-BG.js new file mode 100644 index 00000000..bf3e0858 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bg-BG.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture bg-BG + * + * 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( "bg-BG", "default", { + name: "bg-BG", + englishName: "Bulgarian (Bulgaria)", + nativeName: "български (България)", + language: "bg", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "- безкрайност", + positiveInfinity: "+ безкрайност", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "лв." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"], + namesAbbr: ["нед","пон","вт","ср","четв","пет","съб"], + namesShort: ["н","п","в","с","ч","п","с"] + }, + months: { + names: ["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември",""], + namesAbbr: ["ян","февр","март","апр","май","юни","юли","авг","септ","окт","ноември","дек",""] + }, + AM: null, + PM: null, + eras: [{"name":"след новата ера","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy 'г.'", + D: "dd MMMM yyyy 'г.'", + t: "HH:mm 'ч.'", + T: "HH:mm:ss 'ч.'", + f: "dd MMMM yyyy 'г.' HH:mm 'ч.'", + F: "dd MMMM yyyy 'г.' HH:mm:ss 'ч.'", + M: "dd MMMM", + Y: "MMMM yyyy 'г.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bg.js b/libs/js/globalize/lib/cultures/globalize.culture.bg.js new file mode 100644 index 00000000..06574e6b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bg.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture bg + * + * 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( "bg", "default", { + name: "bg", + englishName: "Bulgarian", + nativeName: "български", + language: "bg", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "- безкрайност", + positiveInfinity: "+ безкрайност", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "лв." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"], + namesAbbr: ["нед","пон","вт","ср","четв","пет","съб"], + namesShort: ["н","п","в","с","ч","п","с"] + }, + months: { + names: ["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември",""], + namesAbbr: ["ян","февр","март","апр","май","юни","юли","авг","септ","окт","ноември","дек",""] + }, + AM: null, + PM: null, + eras: [{"name":"след новата ера","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy 'г.'", + D: "dd MMMM yyyy 'г.'", + t: "HH:mm 'ч.'", + T: "HH:mm:ss 'ч.'", + f: "dd MMMM yyyy 'г.' HH:mm 'ч.'", + F: "dd MMMM yyyy 'г.' HH:mm:ss 'ч.'", + M: "dd MMMM", + Y: "MMMM yyyy 'г.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bn-BD.js b/libs/js/globalize/lib/cultures/globalize.culture.bn-BD.js new file mode 100644 index 00000000..7f746f8e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bn-BD.js @@ -0,0 +1,74 @@ +/* + * Globalize Culture bn-BD + * + * 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( "bn-BD", "default", { + name: "bn-BD", + englishName: "Bengali (Bangladesh)", + nativeName: "বাংলা (বাংলাদেশ)", + language: "bn", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "৳" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"], + namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."], + namesShort: ["র","স","ম","ব","ব","শ","শ"] + }, + months: { + names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""], + namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""] + }, + AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"], + PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bn-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.bn-IN.js new file mode 100644 index 00000000..169e4af2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bn-IN.js @@ -0,0 +1,74 @@ +/* + * Globalize Culture bn-IN + * + * 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( "bn-IN", "default", { + name: "bn-IN", + englishName: "Bengali (India)", + nativeName: "বাংলা (ভারত)", + language: "bn", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "টা" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"], + namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."], + namesShort: ["র","স","ম","ব","ব","শ","শ"] + }, + months: { + names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""], + namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""] + }, + AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"], + PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bn.js b/libs/js/globalize/lib/cultures/globalize.culture.bn.js new file mode 100644 index 00000000..9a07ddbd --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bn.js @@ -0,0 +1,74 @@ +/* + * Globalize Culture bn + * + * 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( "bn", "default", { + name: "bn", + englishName: "Bengali", + nativeName: "বাংলা", + language: "bn", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "টা" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"], + namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."], + namesShort: ["র","স","ম","ব","ব","শ","শ"] + }, + months: { + names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""], + namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""] + }, + AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"], + PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bo-CN.js b/libs/js/globalize/lib/cultures/globalize.culture.bo-CN.js new file mode 100644 index 00000000..b337e02e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bo-CN.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture bo-CN + * + * 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( "bo-CN", "default", { + name: "bo-CN", + englishName: "Tibetan (PRC)", + nativeName: "བོད་ཡིག (ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ།)", + language: "bo", + numberFormat: { + groupSizes: [3,0], + NaN: "ཨང་ཀི་མིན་པ།", + negativeInfinity: "མོ་གྲངས་ཚད་མེད་ཆུང་བ།", + positiveInfinity: "ཕོ་གྲངས་ཚད་མེད་ཆེ་བ།", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + groupSizes: [3,0], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["གཟའ་ཉི་མ།","གཟའ་ཟླ་བ།","གཟའ་མིག་དམར།","གཟའ་ལྷག་པ།","གཟའ་ཕུར་བུ།","གཟའ་པ་སངས།","གཟའ་སྤེན་པ།"], + namesAbbr: ["ཉི་མ།","ཟླ་བ།","མིག་དམར།","ལྷག་པ།","ཕུར་བུ།","པ་སངས།","སྤེན་པ།"], + namesShort: ["༧","༡","༢","༣","༤","༥","༦"] + }, + months: { + names: ["སྤྱི་ཟླ་དང་པོ།","སྤྱི་ཟླ་གཉིས་པ།","སྤྱི་ཟླ་གསུམ་པ།","སྤྱི་ཟླ་བཞི་པ།","སྤྱི་ཟླ་ལྔ་པ།","སྤྱི་ཟླ་དྲུག་པ།","སྤྱི་ཟླ་བདུན་པ།","སྤྱི་ཟླ་བརྒྱད་པ།","སྤྱི་ཟླ་དགུ་པ།","སྤྱི་ཟླ་བཅུ་པོ།","སྤྱི་ཟླ་བཅུ་གཅིག་པ།","སྤྱི་ཟླ་བཅུ་གཉིས་པ།",""], + namesAbbr: ["ཟླ་ ༡","ཟླ་ ༢","ཟླ་ ༣","ཟླ་ ༤","ཟླ་ ༥","ཟླ་ ༦","ཟླ་ ༧","ཟླ་ ༨","ཟླ་ ༩","ཟླ་ ༡༠","ཟླ་ ༡༡","ཟླ་ ༡༢",""] + }, + AM: ["སྔ་དྲོ","སྔ་དྲོ","སྔ་དྲོ"], + PM: ["ཕྱི་དྲོ","ཕྱི་དྲོ","ཕྱི་དྲོ"], + eras: [{"name":"སྤྱི་ལོ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ལོའི་ཟླ' M'ཚེས' d", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm", + F: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm:ss", + M: "'ཟླ་' M'ཚེས'd", + Y: "yyyy.M" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bo.js b/libs/js/globalize/lib/cultures/globalize.culture.bo.js new file mode 100644 index 00000000..f36be06a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bo.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture bo + * + * 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( "bo", "default", { + name: "bo", + englishName: "Tibetan", + nativeName: "བོད་ཡིག", + language: "bo", + numberFormat: { + groupSizes: [3,0], + NaN: "ཨང་ཀི་མིན་པ།", + negativeInfinity: "མོ་གྲངས་ཚད་མེད་ཆུང་བ།", + positiveInfinity: "ཕོ་གྲངས་ཚད་མེད་ཆེ་བ།", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + groupSizes: [3,0], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["གཟའ་ཉི་མ།","གཟའ་ཟླ་བ།","གཟའ་མིག་དམར།","གཟའ་ལྷག་པ།","གཟའ་ཕུར་བུ།","གཟའ་པ་སངས།","གཟའ་སྤེན་པ།"], + namesAbbr: ["ཉི་མ།","ཟླ་བ།","མིག་དམར།","ལྷག་པ།","ཕུར་བུ།","པ་སངས།","སྤེན་པ།"], + namesShort: ["༧","༡","༢","༣","༤","༥","༦"] + }, + months: { + names: ["སྤྱི་ཟླ་དང་པོ།","སྤྱི་ཟླ་གཉིས་པ།","སྤྱི་ཟླ་གསུམ་པ།","སྤྱི་ཟླ་བཞི་པ།","སྤྱི་ཟླ་ལྔ་པ།","སྤྱི་ཟླ་དྲུག་པ།","སྤྱི་ཟླ་བདུན་པ།","སྤྱི་ཟླ་བརྒྱད་པ།","སྤྱི་ཟླ་དགུ་པ།","སྤྱི་ཟླ་བཅུ་པོ།","སྤྱི་ཟླ་བཅུ་གཅིག་པ།","སྤྱི་ཟླ་བཅུ་གཉིས་པ།",""], + namesAbbr: ["ཟླ་ ༡","ཟླ་ ༢","ཟླ་ ༣","ཟླ་ ༤","ཟླ་ ༥","ཟླ་ ༦","ཟླ་ ༧","ཟླ་ ༨","ཟླ་ ༩","ཟླ་ ༡༠","ཟླ་ ༡༡","ཟླ་ ༡༢",""] + }, + AM: ["སྔ་དྲོ","སྔ་དྲོ","སྔ་དྲོ"], + PM: ["ཕྱི་དྲོ","ཕྱི་དྲོ","ཕྱི་དྲོ"], + eras: [{"name":"སྤྱི་ལོ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ལོའི་ཟླ' M'ཚེས' d", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm", + F: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm:ss", + M: "'ཟླ་' M'ཚེས'd", + Y: "yyyy.M" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.br-FR.js b/libs/js/globalize/lib/cultures/globalize.culture.br-FR.js new file mode 100644 index 00000000..73a711c6 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.br-FR.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture br-FR + * + * 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( "br-FR", "default", { + name: "br-FR", + englishName: "Breton (France)", + nativeName: "brezhoneg (Frañs)", + language: "br", + numberFormat: { + ",": " ", + ".": ",", + NaN: "NkN", + negativeInfinity: "-Anfin", + positiveInfinity: "+Anfin", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"], + namesAbbr: ["Sul","Lun","Meu.","Mer.","Yaou","Gwe.","Sad."], + namesShort: ["Su","Lu","Mz","Mc","Ya","Gw","Sa"] + }, + months: { + names: ["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu",""], + namesAbbr: ["Gen.","C'hwe.","Meur.","Ebr.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kzu",""] + }, + AM: null, + PM: null, + eras: [{"name":"g. J.-K.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.br.js b/libs/js/globalize/lib/cultures/globalize.culture.br.js new file mode 100644 index 00000000..cac444b0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.br.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture br + * + * 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( "br", "default", { + name: "br", + englishName: "Breton", + nativeName: "brezhoneg", + language: "br", + numberFormat: { + ",": " ", + ".": ",", + NaN: "NkN", + negativeInfinity: "-Anfin", + positiveInfinity: "+Anfin", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"], + namesAbbr: ["Sul","Lun","Meu.","Mer.","Yaou","Gwe.","Sad."], + namesShort: ["Su","Lu","Mz","Mc","Ya","Gw","Sa"] + }, + months: { + names: ["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu",""], + namesAbbr: ["Gen.","C'hwe.","Meur.","Ebr.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kzu",""] + }, + AM: null, + PM: null, + eras: [{"name":"g. J.-K.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bs-Cyrl-BA.js b/libs/js/globalize/lib/cultures/globalize.culture.bs-Cyrl-BA.js new file mode 100644 index 00000000..dea619b5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bs-Cyrl-BA.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture bs-Cyrl-BA + * + * 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( "bs-Cyrl-BA", "default", { + name: "bs-Cyrl-BA", + englishName: "Bosnian (Cyrillic, Bosnia and Herzegovina)", + nativeName: "босански (Босна и Херцеговина)", + language: "bs-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "КМ" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недјеља","понедјељак","уторак","сриједа","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["н","п","у","с","ч","п","с"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bs-Cyrl.js b/libs/js/globalize/lib/cultures/globalize.culture.bs-Cyrl.js new file mode 100644 index 00000000..47d2fa59 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bs-Cyrl.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture bs-Cyrl + * + * 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( "bs-Cyrl", "default", { + name: "bs-Cyrl", + englishName: "Bosnian (Cyrillic)", + nativeName: "босански", + language: "bs-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "КМ" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недјеља","понедјељак","уторак","сриједа","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["н","п","у","с","ч","п","с"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bs-Latn-BA.js b/libs/js/globalize/lib/cultures/globalize.culture.bs-Latn-BA.js new file mode 100644 index 00000000..08c41d84 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bs-Latn-BA.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture bs-Latn-BA + * + * 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( "bs-Latn-BA", "default", { + name: "bs-Latn-BA", + englishName: "Bosnian (Latin, Bosnia and Herzegovina)", + nativeName: "bosanski (Bosna i Hercegovina)", + language: "bs-Latn", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bs-Latn.js b/libs/js/globalize/lib/cultures/globalize.culture.bs-Latn.js new file mode 100644 index 00000000..f962bb3e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bs-Latn.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture bs-Latn + * + * 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( "bs-Latn", "default", { + name: "bs-Latn", + englishName: "Bosnian (Latin)", + nativeName: "bosanski", + language: "bs-Latn", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.bs.js b/libs/js/globalize/lib/cultures/globalize.culture.bs.js new file mode 100644 index 00000000..3fac524c --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.bs.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture bs + * + * 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( "bs", "default", { + name: "bs", + englishName: "Bosnian", + nativeName: "bosanski", + language: "bs", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ca-ES.js b/libs/js/globalize/lib/cultures/globalize.culture.ca-ES.js new file mode 100644 index 00000000..b8823303 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ca-ES.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture ca-ES + * + * 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( "ca-ES", "default", { + name: "ca-ES", + englishName: "Catalan (Catalan)", + nativeName: "català (català)", + language: "ca", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinit", + positiveInfinity: "Infinit", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"], + namesAbbr: ["dg.","dl.","dt.","dc.","dj.","dv.","ds."], + namesShort: ["dg","dl","dt","dc","dj","dv","ds"] + }, + months: { + names: ["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre",""], + namesAbbr: ["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' / 'MMMM' / 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' / 'MMMM' / 'yyyy HH:mm", + F: "dddd, d' / 'MMMM' / 'yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM' / 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ca.js b/libs/js/globalize/lib/cultures/globalize.culture.ca.js new file mode 100644 index 00000000..5b515d8e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ca.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture ca + * + * 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( "ca", "default", { + name: "ca", + englishName: "Catalan", + nativeName: "català", + language: "ca", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinit", + positiveInfinity: "Infinit", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"], + namesAbbr: ["dg.","dl.","dt.","dc.","dj.","dv.","ds."], + namesShort: ["dg","dl","dt","dc","dj","dv","ds"] + }, + months: { + names: ["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre",""], + namesAbbr: ["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' / 'MMMM' / 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' / 'MMMM' / 'yyyy HH:mm", + F: "dddd, d' / 'MMMM' / 'yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM' / 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.co-FR.js b/libs/js/globalize/lib/cultures/globalize.culture.co-FR.js new file mode 100644 index 00000000..203fecb0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.co-FR.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture co-FR + * + * 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( "co-FR", "default", { + name: "co-FR", + englishName: "Corsican (France)", + nativeName: "Corsu (France)", + language: "co", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Mica numericu", + negativeInfinity: "-Infinitu", + positiveInfinity: "+Infinitu", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dumenica","luni","marti","mercuri","ghjovi","venderi","sabbatu"], + namesAbbr: ["dum.","lun.","mar.","mer.","ghj.","ven.","sab."], + namesShort: ["du","lu","ma","me","gh","ve","sa"] + }, + months: { + names: ["ghjennaghju","ferraghju","marzu","aprile","maghju","ghjunghju","lugliu","aostu","settembre","ottobre","nuvembre","dicembre",""], + namesAbbr: ["ghje","ferr","marz","apri","magh","ghju","lugl","aost","sett","otto","nuve","dice",""] + }, + AM: null, + PM: null, + eras: [{"name":"dopu J-C","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.co.js b/libs/js/globalize/lib/cultures/globalize.culture.co.js new file mode 100644 index 00000000..885b5af0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.co.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture co + * + * 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( "co", "default", { + name: "co", + englishName: "Corsican", + nativeName: "Corsu", + language: "co", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Mica numericu", + negativeInfinity: "-Infinitu", + positiveInfinity: "+Infinitu", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dumenica","luni","marti","mercuri","ghjovi","venderi","sabbatu"], + namesAbbr: ["dum.","lun.","mar.","mer.","ghj.","ven.","sab."], + namesShort: ["du","lu","ma","me","gh","ve","sa"] + }, + months: { + names: ["ghjennaghju","ferraghju","marzu","aprile","maghju","ghjunghju","lugliu","aostu","settembre","ottobre","nuvembre","dicembre",""], + namesAbbr: ["ghje","ferr","marz","apri","magh","ghju","lugl","aost","sett","otto","nuve","dice",""] + }, + AM: null, + PM: null, + eras: [{"name":"dopu J-C","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.cs-CZ.js b/libs/js/globalize/lib/cultures/globalize.culture.cs-CZ.js new file mode 100644 index 00000000..fd1c5c35 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.cs-CZ.js @@ -0,0 +1,85 @@ +/* + * Globalize Culture cs-CZ + * + * 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( "cs-CZ", "default", { + name: "cs-CZ", + englishName: "Czech (Czech Republic)", + nativeName: "čeština (Česká republika)", + language: "cs", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Není číslo", + negativeInfinity: "-nekonečno", + positiveInfinity: "+nekonečno", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Kč" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"], + namesAbbr: ["ne","po","út","st","čt","pá","so"], + namesShort: ["ne","po","út","st","čt","pá","so"] + }, + months: { + names: ["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + monthsGenitive: { + names: ["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["dop.","dop.","DOP."], + PM: ["odp.","odp.","ODP."], + eras: [{"name":"n. l.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.cs.js b/libs/js/globalize/lib/cultures/globalize.culture.cs.js new file mode 100644 index 00000000..4d6397be --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.cs.js @@ -0,0 +1,85 @@ +/* + * Globalize Culture cs + * + * 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( "cs", "default", { + name: "cs", + englishName: "Czech", + nativeName: "čeština", + language: "cs", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Není číslo", + negativeInfinity: "-nekonečno", + positiveInfinity: "+nekonečno", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Kč" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"], + namesAbbr: ["ne","po","út","st","čt","pá","so"], + namesShort: ["ne","po","út","st","čt","pá","so"] + }, + months: { + names: ["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + monthsGenitive: { + names: ["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["dop.","dop.","DOP."], + PM: ["odp.","odp.","ODP."], + eras: [{"name":"n. l.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.cy-GB.js b/libs/js/globalize/lib/cultures/globalize.culture.cy-GB.js new file mode 100644 index 00000000..83e37b6a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.cy-GB.js @@ -0,0 +1,70 @@ +/* + * Globalize Culture cy-GB + * + * 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( "cy-GB", "default", { + name: "cy-GB", + englishName: "Welsh (United Kingdom)", + nativeName: "Cymraeg (y Deyrnas Unedig)", + language: "cy", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"], + namesAbbr: ["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"], + namesShort: ["Su","Ll","Ma","Me","Ia","Gw","Sa"] + }, + months: { + names: ["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr",""], + namesAbbr: ["Ion","Chwe","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rhag",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.cy.js b/libs/js/globalize/lib/cultures/globalize.culture.cy.js new file mode 100644 index 00000000..fdaba633 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.cy.js @@ -0,0 +1,70 @@ +/* + * Globalize Culture cy + * + * 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( "cy", "default", { + name: "cy", + englishName: "Welsh", + nativeName: "Cymraeg", + language: "cy", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"], + namesAbbr: ["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"], + namesShort: ["Su","Ll","Ma","Me","Ia","Gw","Sa"] + }, + months: { + names: ["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr",""], + namesAbbr: ["Ion","Chwe","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rhag",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.da-DK.js b/libs/js/globalize/lib/cultures/globalize.culture.da-DK.js new file mode 100644 index 00000000..703722cf --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.da-DK.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture da-DK + * + * 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( "da-DK", "default", { + name: "da-DK", + englishName: "Danish (Denmark)", + nativeName: "dansk (Danmark)", + language: "da", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.da.js b/libs/js/globalize/lib/cultures/globalize.culture.da.js new file mode 100644 index 00000000..259e63e4 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.da.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture da + * + * 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( "da", "default", { + name: "da", + englishName: "Danish", + nativeName: "dansk", + language: "da", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.de-AT.js b/libs/js/globalize/lib/cultures/globalize.culture.de-AT.js new file mode 100644 index 00000000..d00ffc5b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.de-AT.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture de-AT + * + * 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( "de-AT", "default", { + name: "de-AT", + englishName: "German (Austria)", + nativeName: "Deutsch (Österreich)", + language: "de", + numberFormat: { + ",": ".", + ".": ",", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Jänner","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jän","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, dd. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, dd. MMMM yyyy HH:mm", + F: "dddd, dd. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.de-CH.js b/libs/js/globalize/lib/cultures/globalize.culture.de-CH.js new file mode 100644 index 00000000..4cd202a8 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.de-CH.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture de-CH + * + * 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( "de-CH", "default", { + name: "de-CH", + englishName: "German (Switzerland)", + nativeName: "Deutsch (Schweiz)", + language: "de", + numberFormat: { + ",": "'", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "Fr." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.de-DE.js b/libs/js/globalize/lib/cultures/globalize.culture.de-DE.js new file mode 100644 index 00000000..5466bd75 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.de-DE.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture de-DE + * + * 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( "de-DE", "default", { + name: "de-DE", + englishName: "German (Germany)", + nativeName: "Deutsch (Deutschland)", + language: "de", + numberFormat: { + ",": ".", + ".": ",", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.de-LI.js b/libs/js/globalize/lib/cultures/globalize.culture.de-LI.js new file mode 100644 index 00000000..b821044d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.de-LI.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture de-LI + * + * 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( "de-LI", "default", { + name: "de-LI", + englishName: "German (Liechtenstein)", + nativeName: "Deutsch (Liechtenstein)", + language: "de", + numberFormat: { + ",": "'", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "CHF" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.de-LU.js b/libs/js/globalize/lib/cultures/globalize.culture.de-LU.js new file mode 100644 index 00000000..76f5febb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.de-LU.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture de-LU + * + * 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( "de-LU", "default", { + name: "de-LU", + englishName: "German (Luxembourg)", + nativeName: "Deutsch (Luxemburg)", + language: "de", + numberFormat: { + ",": ".", + ".": ",", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.de.js b/libs/js/globalize/lib/cultures/globalize.culture.de.js new file mode 100644 index 00000000..a2183acd --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.de.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture de + * + * 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( "de", "default", { + name: "de", + englishName: "German", + nativeName: "Deutsch", + language: "de", + numberFormat: { + ",": ".", + ".": ",", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.dsb-DE.js b/libs/js/globalize/lib/cultures/globalize.culture.dsb-DE.js new file mode 100644 index 00000000..04ad5116 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.dsb-DE.js @@ -0,0 +1,84 @@ +/* + * Globalize Culture dsb-DE + * + * 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( "dsb-DE", "default", { + name: "dsb-DE", + englishName: "Lower Sorbian (Germany)", + nativeName: "dolnoserbšćina (Nimska)", + language: "dsb", + numberFormat: { + ",": ".", + ".": ",", + NaN: "njedefinowane", + negativeInfinity: "-njekońcne", + positiveInfinity: "+njekońcne", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["njeźela","ponjeźele","wałtora","srjoda","stwortk","pětk","sobota"], + namesAbbr: ["nje","pon","wał","srj","stw","pět","sob"], + namesShort: ["n","p","w","s","s","p","s"] + }, + months: { + names: ["januar","februar","měrc","apryl","maj","junij","julij","awgust","september","oktober","nowember","december",""], + namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""] + }, + monthsGenitive: { + names: ["januara","februara","měrca","apryla","maja","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""], + namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"po Chr.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "dddd, 'dnja' d. MMMM yyyy", + t: "H.mm 'goź.'", + T: "H:mm:ss", + f: "dddd, 'dnja' d. MMMM yyyy H.mm 'goź.'", + F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.dsb.js b/libs/js/globalize/lib/cultures/globalize.culture.dsb.js new file mode 100644 index 00000000..f75129eb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.dsb.js @@ -0,0 +1,84 @@ +/* + * Globalize Culture dsb + * + * 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( "dsb", "default", { + name: "dsb", + englishName: "Lower Sorbian", + nativeName: "dolnoserbšćina", + language: "dsb", + numberFormat: { + ",": ".", + ".": ",", + NaN: "njedefinowane", + negativeInfinity: "-njekońcne", + positiveInfinity: "+njekońcne", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["njeźela","ponjeźele","wałtora","srjoda","stwortk","pětk","sobota"], + namesAbbr: ["nje","pon","wał","srj","stw","pět","sob"], + namesShort: ["n","p","w","s","s","p","s"] + }, + months: { + names: ["januar","februar","měrc","apryl","maj","junij","julij","awgust","september","oktober","nowember","december",""], + namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""] + }, + monthsGenitive: { + names: ["januara","februara","měrca","apryla","maja","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""], + namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"po Chr.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "dddd, 'dnja' d. MMMM yyyy", + t: "H.mm 'goź.'", + T: "H:mm:ss", + f: "dddd, 'dnja' d. MMMM yyyy H.mm 'goź.'", + F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.dv-MV.js b/libs/js/globalize/lib/cultures/globalize.culture.dv-MV.js new file mode 100644 index 00000000..367a7591 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.dv-MV.js @@ -0,0 +1,164 @@ +/* + * Globalize Culture dv-MV + * + * 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( "dv-MV", "default", { + name: "dv-MV", + englishName: "Divehi (Maldives)", + nativeName: "ދިވެހިބަސް (ދިވެހި ރާއްޖެ)", + language: "dv", + isRTL: true, + numberFormat: { + currency: { + pattern: ["n $-","n $"], + symbol: "ރ." + } + }, + calendars: { + standard: { + name: "Hijri", + 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", + T: "HH:mm:ss", + f: "dd/MM/yyyy HH:mm", + F: "dd/MM/yyyy HH:mm:ss", + 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_Localized: { + days: { + names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"], + namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"], + namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"] + }, + months: { + names: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""], + namesAbbr: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""] + }, + AM: ["މކ","މކ","މކ"], + PM: ["މފ","މފ","މފ"], + eras: [{"name":"މީލާދީ","start":null,"offset":0}], + patterns: { + d: "dd/MM/yy", + D: "ddd, yyyy MMMM dd", + t: "HH:mm", + T: "HH:mm:ss", + f: "ddd, yyyy MMMM dd HH:mm", + F: "ddd, yyyy MMMM dd HH:mm:ss", + Y: "yyyy, MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.dv.js b/libs/js/globalize/lib/cultures/globalize.culture.dv.js new file mode 100644 index 00000000..04043e83 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.dv.js @@ -0,0 +1,164 @@ +/* + * Globalize Culture dv + * + * 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( "dv", "default", { + name: "dv", + englishName: "Divehi", + nativeName: "ދިވެހިބަސް", + language: "dv", + isRTL: true, + numberFormat: { + currency: { + pattern: ["n $-","n $"], + symbol: "ރ." + } + }, + calendars: { + standard: { + name: "Hijri", + 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", + T: "HH:mm:ss", + f: "dd/MM/yyyy HH:mm", + F: "dd/MM/yyyy HH:mm:ss", + 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_Localized: { + days: { + names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"], + namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"], + namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"] + }, + months: { + names: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""], + namesAbbr: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""] + }, + AM: ["މކ","މކ","މކ"], + PM: ["މފ","މފ","މފ"], + eras: [{"name":"މީލާދީ","start":null,"offset":0}], + patterns: { + d: "dd/MM/yy", + D: "ddd, yyyy MMMM dd", + t: "HH:mm", + T: "HH:mm:ss", + f: "ddd, yyyy MMMM dd HH:mm", + F: "ddd, yyyy MMMM dd HH:mm:ss", + Y: "yyyy, MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.el-GR.js b/libs/js/globalize/lib/cultures/globalize.culture.el-GR.js new file mode 100644 index 00000000..a598e0d9 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.el-GR.js @@ -0,0 +1,82 @@ +/* + * Globalize Culture el-GR + * + * 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( "el-GR", "default", { + name: "el-GR", + englishName: "Greek (Greece)", + nativeName: "Ελληνικά (Ελλάδα)", + language: "el", + numberFormat: { + ",": ".", + ".": ",", + NaN: "μη αριθμός", + negativeInfinity: "-Άπειρο", + positiveInfinity: "Άπειρο", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"], + namesAbbr: ["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"], + namesShort: ["Κυ","Δε","Τρ","Τε","Πε","Πα","Σά"] + }, + months: { + names: ["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος",""], + namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""] + }, + monthsGenitive: { + names: ["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου",""], + namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""] + }, + AM: ["πμ","πμ","ΠΜ"], + PM: ["μμ","μμ","ΜΜ"], + eras: [{"name":"μ.Χ.","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "dddd, d MMMM yyyy", + f: "dddd, d MMMM yyyy h:mm tt", + F: "dddd, d MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.el.js b/libs/js/globalize/lib/cultures/globalize.culture.el.js new file mode 100644 index 00000000..7ab0a517 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.el.js @@ -0,0 +1,82 @@ +/* + * Globalize Culture el + * + * 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( "el", "default", { + name: "el", + englishName: "Greek", + nativeName: "Ελληνικά", + language: "el", + numberFormat: { + ",": ".", + ".": ",", + NaN: "μη αριθμός", + negativeInfinity: "-Άπειρο", + positiveInfinity: "Άπειρο", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"], + namesAbbr: ["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"], + namesShort: ["Κυ","Δε","Τρ","Τε","Πε","Πα","Σά"] + }, + months: { + names: ["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος",""], + namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""] + }, + monthsGenitive: { + names: ["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου",""], + namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""] + }, + AM: ["πμ","πμ","ΠΜ"], + PM: ["μμ","μμ","ΜΜ"], + eras: [{"name":"μ.Χ.","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "dddd, d MMMM yyyy", + f: "dddd, d MMMM yyyy h:mm tt", + F: "dddd, d MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-029.js b/libs/js/globalize/lib/cultures/globalize.culture.en-029.js new file mode 100644 index 00000000..28a1705e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-029.js @@ -0,0 +1,47 @@ +/* + * Globalize Culture en-029 + * + * 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( "en-029", "default", { + name: "en-029", + englishName: "English (Caribbean)", + nativeName: "English (Caribbean)", + numberFormat: { + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + patterns: { + d: "MM/dd/yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-AU.js b/libs/js/globalize/lib/cultures/globalize.culture.en-AU.js new file mode 100644 index 00000000..8c620883 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-AU.js @@ -0,0 +1,52 @@ +/* + * Globalize Culture en-AU + * + * 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( "en-AU", "default", { + name: "en-AU", + englishName: "English (Australia)", + nativeName: "English (Australia)", + numberFormat: { + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + patterns: { + d: "d/MM/yyyy", + D: "dddd, d MMMM yyyy", + f: "dddd, d MMMM yyyy h:mm tt", + F: "dddd, d MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-BZ.js b/libs/js/globalize/lib/cultures/globalize.culture.en-BZ.js new file mode 100644 index 00000000..1dd1ba6d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-BZ.js @@ -0,0 +1,54 @@ +/* + * Globalize Culture en-BZ + * + * 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( "en-BZ", "default", { + name: "en-BZ", + englishName: "English (Belize)", + nativeName: "English (Belize)", + numberFormat: { + currency: { + groupSizes: [3,0], + symbol: "BZ$" + } + }, + calendars: { + standard: { + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd MMMM yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd MMMM yyyy hh:mm tt", + F: "dddd, dd MMMM yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-CA.js b/libs/js/globalize/lib/cultures/globalize.culture.en-CA.js new file mode 100644 index 00000000..7e0bab31 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-CA.js @@ -0,0 +1,49 @@ +/* + * Globalize Culture en-CA + * + * 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( "en-CA", "default", { + name: "en-CA", + englishName: "English (Canada)", + nativeName: "English (Canada)", + numberFormat: { + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + patterns: { + d: "dd/MM/yyyy", + D: "MMMM-dd-yy", + f: "MMMM-dd-yy h:mm tt", + F: "MMMM-dd-yy h:mm:ss tt" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-GB.js b/libs/js/globalize/lib/cultures/globalize.culture.en-GB.js new file mode 100644 index 00000000..5167db77 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-GB.js @@ -0,0 +1,55 @@ +/* + * Globalize Culture en-GB + * + * 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( "en-GB", "default", { + name: "en-GB", + englishName: "English (United Kingdom)", + nativeName: "English (United Kingdom)", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-IE.js b/libs/js/globalize/lib/cultures/globalize.culture.en-IE.js new file mode 100644 index 00000000..52772b11 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-IE.js @@ -0,0 +1,57 @@ +/* + * Globalize Culture en-IE + * + * 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( "en-IE", "default", { + name: "en-IE", + englishName: "English (Ireland)", + nativeName: "English (Ireland)", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.en-IN.js new file mode 100644 index 00000000..8dd0d361 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-IN.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture en-IN + * + * 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( "en-IN", "default", { + name: "en-IN", + englishName: "English (India)", + nativeName: "English (India)", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "Rs." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-JM.js b/libs/js/globalize/lib/cultures/globalize.culture.en-JM.js new file mode 100644 index 00000000..f1442b72 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-JM.js @@ -0,0 +1,51 @@ +/* + * Globalize Culture en-JM + * + * 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( "en-JM", "default", { + name: "en-JM", + englishName: "English (Jamaica)", + nativeName: "English (Jamaica)", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "J$" + } + }, + calendars: { + standard: { + patterns: { + d: "dd/MM/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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-MY.js b/libs/js/globalize/lib/cultures/globalize.culture.en-MY.js new file mode 100644 index 00000000..5d6b8ccd --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-MY.js @@ -0,0 +1,56 @@ +/* + * Globalize Culture en-MY + * + * 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( "en-MY", "default", { + name: "en-MY", + englishName: "English (Malaysia)", + nativeName: "English (Malaysia)", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "RM" + } + }, + calendars: { + standard: { + days: { + namesShort: ["S","M","T","W","T","F","S"] + }, + patterns: { + d: "d/M/yyyy", + D: "dddd, d MMMM, yyyy", + f: "dddd, d MMMM, yyyy h:mm tt", + F: "dddd, d MMMM, yyyy h:mm:ss tt", + M: "d MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-NZ.js b/libs/js/globalize/lib/cultures/globalize.culture.en-NZ.js new file mode 100644 index 00000000..08c28e95 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-NZ.js @@ -0,0 +1,54 @@ +/* + * Globalize Culture en-NZ + * + * 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( "en-NZ", "default", { + name: "en-NZ", + englishName: "English (New Zealand)", + nativeName: "English (New Zealand)", + numberFormat: { + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "d/MM/yyyy", + D: "dddd, d MMMM yyyy", + f: "dddd, d MMMM yyyy h:mm tt", + F: "dddd, d MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-PH.js b/libs/js/globalize/lib/cultures/globalize.culture.en-PH.js new file mode 100644 index 00000000..8be79ebb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-PH.js @@ -0,0 +1,39 @@ +/* + * Globalize Culture en-PH + * + * 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( "en-PH", "default", { + name: "en-PH", + englishName: "English (Republic of the Philippines)", + nativeName: "English (Philippines)", + numberFormat: { + currency: { + symbol: "Php" + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-SG.js b/libs/js/globalize/lib/cultures/globalize.culture.en-SG.js new file mode 100644 index 00000000..a4aaf125 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-SG.js @@ -0,0 +1,53 @@ +/* + * Globalize Culture en-SG + * + * 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( "en-SG", "default", { + name: "en-SG", + englishName: "English (Singapore)", + nativeName: "English (Singapore)", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + } + }, + calendars: { + standard: { + days: { + namesShort: ["S","M","T","W","T","F","S"] + }, + patterns: { + d: "d/M/yyyy", + D: "dddd, d MMMM, yyyy", + f: "dddd, d MMMM, yyyy h:mm tt", + F: "dddd, d MMMM, yyyy h:mm:ss tt", + M: "d MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-TT.js b/libs/js/globalize/lib/cultures/globalize.culture.en-TT.js new file mode 100644 index 00000000..1ac4aa5c --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-TT.js @@ -0,0 +1,54 @@ +/* + * Globalize Culture en-TT + * + * 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( "en-TT", "default", { + name: "en-TT", + englishName: "English (Trinidad and Tobago)", + nativeName: "English (Trinidad y Tobago)", + numberFormat: { + currency: { + groupSizes: [3,0], + symbol: "TT$" + } + }, + calendars: { + standard: { + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd MMMM yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd MMMM yyyy hh:mm tt", + F: "dddd, dd MMMM yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-US.js b/libs/js/globalize/lib/cultures/globalize.culture.en-US.js new file mode 100644 index 00000000..0958d1d7 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-US.js @@ -0,0 +1,33 @@ +/* + * Globalize Culture en-US + * + * 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( "en-US", "default", { + name: "en-US", + englishName: "English (United States)" +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-ZA.js b/libs/js/globalize/lib/cultures/globalize.culture.en-ZA.js new file mode 100644 index 00000000..64f2a0cb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-ZA.js @@ -0,0 +1,61 @@ +/* + * Globalize Culture en-ZA + * + * 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( "en-ZA", "default", { + name: "en-ZA", + englishName: "English (South Africa)", + nativeName: "English (South Africa)", + numberFormat: { + ",": " ", + percent: { + pattern: ["-n%","n%"], + ",": " " + }, + currency: { + pattern: ["$-n","$ n"], + ",": " ", + ".": ",", + symbol: "R" + } + }, + calendars: { + standard: { + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.en-ZW.js b/libs/js/globalize/lib/cultures/globalize.culture.en-ZW.js new file mode 100644 index 00000000..8323c62b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.en-ZW.js @@ -0,0 +1,39 @@ +/* + * Globalize Culture en-ZW + * + * 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( "en-ZW", "default", { + name: "en-ZW", + englishName: "English (Zimbabwe)", + nativeName: "English (Zimbabwe)", + numberFormat: { + currency: { + symbol: "Z$" + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-AR.js b/libs/js/globalize/lib/cultures/globalize.culture.es-AR.js new file mode 100644 index 00000000..853296f2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-AR.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture es-AR + * + * 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( "es-AR", "default", { + name: "es-AR", + englishName: "Spanish (Argentina)", + nativeName: "Español (Argentina)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$-n","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-BO.js b/libs/js/globalize/lib/cultures/globalize.culture.es-BO.js new file mode 100644 index 00000000..f784f682 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-BO.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture es-BO + * + * 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( "es-BO", "default", { + name: "es-BO", + englishName: "Spanish (Bolivia)", + nativeName: "Español (Bolivia)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "$b" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-CL.js b/libs/js/globalize/lib/cultures/globalize.culture.es-CL.js new file mode 100644 index 00000000..769ad2c0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-CL.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture es-CL + * + * 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( "es-CL", "default", { + name: "es-CL", + englishName: "Spanish (Chile)", + nativeName: "Español (Chile)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-CO.js b/libs/js/globalize/lib/cultures/globalize.culture.es-CO.js new file mode 100644 index 00000000..fb75fc96 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-CO.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture es-CO + * + * 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( "es-CO", "default", { + name: "es-CO", + englishName: "Spanish (Colombia)", + nativeName: "Español (Colombia)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-CR.js b/libs/js/globalize/lib/cultures/globalize.culture.es-CR.js new file mode 100644 index 00000000..13b90cf6 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-CR.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture es-CR + * + * 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( "es-CR", "default", { + name: "es-CR", + englishName: "Spanish (Costa Rica)", + nativeName: "Español (Costa Rica)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + ",": ".", + ".": ",", + symbol: "₡" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-DO.js b/libs/js/globalize/lib/cultures/globalize.culture.es-DO.js new file mode 100644 index 00000000..33a4f993 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-DO.js @@ -0,0 +1,69 @@ +/* + * Globalize Culture es-DO + * + * 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( "es-DO", "default", { + name: "es-DO", + englishName: "Spanish (Dominican Republic)", + nativeName: "Español (República Dominicana)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + symbol: "RD$" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-EC.js b/libs/js/globalize/lib/cultures/globalize.culture.es-EC.js new file mode 100644 index 00000000..c2779ea1 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-EC.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture es-EC + * + * 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( "es-EC", "default", { + name: "es-EC", + englishName: "Spanish (Ecuador)", + nativeName: "Español (Ecuador)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-ES.js b/libs/js/globalize/lib/cultures/globalize.culture.es-ES.js new file mode 100644 index 00000000..8a5b3dfd --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-ES.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture es-ES + * + * 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( "es-ES", "default", { + name: "es-ES", + englishName: "Spanish (Spain, International Sort)", + nativeName: "Español (España, alfabetización internacional)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-GT.js b/libs/js/globalize/lib/cultures/globalize.culture.es-GT.js new file mode 100644 index 00000000..1e55ce6d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-GT.js @@ -0,0 +1,69 @@ +/* + * Globalize Culture es-GT + * + * 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( "es-GT", "default", { + name: "es-GT", + englishName: "Spanish (Guatemala)", + nativeName: "Español (Guatemala)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + symbol: "Q" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-HN.js b/libs/js/globalize/lib/cultures/globalize.culture.es-HN.js new file mode 100644 index 00000000..d392d64d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-HN.js @@ -0,0 +1,71 @@ +/* + * Globalize Culture es-HN + * + * 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( "es-HN", "default", { + name: "es-HN", + englishName: "Spanish (Honduras)", + nativeName: "Español (Honduras)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,0], + symbol: "L." + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-MX.js b/libs/js/globalize/lib/cultures/globalize.culture.es-MX.js new file mode 100644 index 00000000..7cbf3930 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-MX.js @@ -0,0 +1,69 @@ +/* + * Globalize Culture es-MX + * + * 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( "es-MX", "default", { + name: "es-MX", + englishName: "Spanish (Mexico)", + nativeName: "Español (México)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-NI.js b/libs/js/globalize/lib/cultures/globalize.culture.es-NI.js new file mode 100644 index 00000000..1b4a4c13 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-NI.js @@ -0,0 +1,71 @@ +/* + * Globalize Culture es-NI + * + * 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( "es-NI", "default", { + name: "es-NI", + englishName: "Spanish (Nicaragua)", + nativeName: "Español (Nicaragua)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["($ n)","$ n"], + groupSizes: [3,0], + symbol: "C$" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-PA.js b/libs/js/globalize/lib/cultures/globalize.culture.es-PA.js new file mode 100644 index 00000000..6369ea76 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-PA.js @@ -0,0 +1,70 @@ +/* + * Globalize Culture es-PA + * + * 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( "es-PA", "default", { + name: "es-PA", + englishName: "Spanish (Panama)", + nativeName: "Español (Panamá)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["($ n)","$ n"], + symbol: "B/." + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-PE.js b/libs/js/globalize/lib/cultures/globalize.culture.es-PE.js new file mode 100644 index 00000000..b0261ac9 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-PE.js @@ -0,0 +1,70 @@ +/* + * Globalize Culture es-PE + * + * 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( "es-PE", "default", { + name: "es-PE", + englishName: "Spanish (Peru)", + nativeName: "Español (Perú)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["$ -n","$ n"], + symbol: "S/." + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-PR.js b/libs/js/globalize/lib/cultures/globalize.culture.es-PR.js new file mode 100644 index 00000000..63774f91 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-PR.js @@ -0,0 +1,70 @@ +/* + * Globalize Culture es-PR + * + * 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( "es-PR", "default", { + name: "es-PR", + englishName: "Spanish (Puerto Rico)", + nativeName: "Español (Puerto Rico)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["($ n)","$ n"], + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-PY.js b/libs/js/globalize/lib/cultures/globalize.culture.es-PY.js new file mode 100644 index 00000000..6a1eed00 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-PY.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture es-PY + * + * 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( "es-PY", "default", { + name: "es-PY", + englishName: "Spanish (Paraguay)", + nativeName: "Español (Paraguay)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "Gs" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-SV.js b/libs/js/globalize/lib/cultures/globalize.culture.es-SV.js new file mode 100644 index 00000000..4b4d0886 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-SV.js @@ -0,0 +1,69 @@ +/* + * Globalize Culture es-SV + * + * 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( "es-SV", "default", { + name: "es-SV", + englishName: "Spanish (El Salvador)", + nativeName: "Español (El Salvador)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-US.js b/libs/js/globalize/lib/cultures/globalize.culture.es-US.js new file mode 100644 index 00000000..2e4a89aa --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-US.js @@ -0,0 +1,62 @@ +/* + * Globalize Culture es-US + * + * 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( "es-US", "default", { + name: "es-US", + englishName: "Spanish (United States)", + nativeName: "Español (Estados Unidos)", + language: "es", + numberFormat: { + groupSizes: [3,0], + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sa"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + M: "dd' de 'MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-UY.js b/libs/js/globalize/lib/cultures/globalize.culture.es-UY.js new file mode 100644 index 00000000..50d6a2b3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-UY.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture es-UY + * + * 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( "es-UY", "default", { + name: "es-UY", + englishName: "Spanish (Uruguay)", + nativeName: "Español (Uruguay)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "$U" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es-VE.js b/libs/js/globalize/lib/cultures/globalize.culture.es-VE.js new file mode 100644 index 00000000..445181d5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es-VE.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture es-VE + * + * 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( "es-VE", "default", { + name: "es-VE", + englishName: "Spanish (Bolivarian Republic of Venezuela)", + nativeName: "Español (Republica Bolivariana de Venezuela)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "Bs. F." + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.es.js b/libs/js/globalize/lib/cultures/globalize.culture.es.js new file mode 100644 index 00000000..6441bcdf --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.es.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture es + * + * 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( "es", "default", { + name: "es", + englishName: "Spanish", + nativeName: "español", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.et-EE.js b/libs/js/globalize/lib/cultures/globalize.culture.et-EE.js new file mode 100644 index 00000000..6164b318 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.et-EE.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture et-EE + * + * 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( "et-EE", "default", { + name: "et-EE", + englishName: "Estonian (Estonia)", + nativeName: "eesti (Eesti)", + language: "et", + numberFormat: { + ",": " ", + ".": ",", + NaN: "avaldamatu", + negativeInfinity: "miinuslõpmatus", + positiveInfinity: "plusslõpmatus", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"], + namesAbbr: ["P","E","T","K","N","R","L"], + namesShort: ["P","E","T","K","N","R","L"] + }, + months: { + names: ["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember",""], + namesAbbr: ["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets",""] + }, + AM: ["EL","el","EL"], + PM: ["PL","pl","PL"], + patterns: { + d: "d.MM.yyyy", + D: "d. MMMM yyyy'. a.'", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy'. a.' H:mm", + F: "d. MMMM yyyy'. a.' H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy'. a.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.et.js b/libs/js/globalize/lib/cultures/globalize.culture.et.js new file mode 100644 index 00000000..bf3384f0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.et.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture et + * + * 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( "et", "default", { + name: "et", + englishName: "Estonian", + nativeName: "eesti", + language: "et", + numberFormat: { + ",": " ", + ".": ",", + NaN: "avaldamatu", + negativeInfinity: "miinuslõpmatus", + positiveInfinity: "plusslõpmatus", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"], + namesAbbr: ["P","E","T","K","N","R","L"], + namesShort: ["P","E","T","K","N","R","L"] + }, + months: { + names: ["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember",""], + namesAbbr: ["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets",""] + }, + AM: ["EL","el","EL"], + PM: ["PL","pl","PL"], + patterns: { + d: "d.MM.yyyy", + D: "d. MMMM yyyy'. a.'", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy'. a.' H:mm", + F: "d. MMMM yyyy'. a.' H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy'. a.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.eu-ES.js b/libs/js/globalize/lib/cultures/globalize.culture.eu-ES.js new file mode 100644 index 00000000..2a98ef62 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.eu-ES.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture eu-ES + * + * 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( "eu-ES", "default", { + name: "eu-ES", + englishName: "Basque (Basque)", + nativeName: "euskara (euskara)", + language: "eu", + numberFormat: { + ",": ".", + ".": ",", + NaN: "EdZ", + negativeInfinity: "-Infinitu", + positiveInfinity: "Infinitu", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"], + namesAbbr: ["ig.","al.","as.","az.","og.","or.","lr."], + namesShort: ["ig","al","as","az","og","or","lr"] + }, + months: { + names: ["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua",""], + namesAbbr: ["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe.",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "yyyy/MM/dd", + D: "dddd, yyyy.'eko' MMMM'k 'd", + t: "HH:mm", + T: "H:mm:ss", + f: "dddd, yyyy.'eko' MMMM'k 'd HH:mm", + F: "dddd, yyyy.'eko' MMMM'k 'd H:mm:ss", + Y: "yyyy.'eko' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.eu.js b/libs/js/globalize/lib/cultures/globalize.culture.eu.js new file mode 100644 index 00000000..ab2f3d99 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.eu.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture eu + * + * 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( "eu", "default", { + name: "eu", + englishName: "Basque", + nativeName: "euskara", + language: "eu", + numberFormat: { + ",": ".", + ".": ",", + NaN: "EdZ", + negativeInfinity: "-Infinitu", + positiveInfinity: "Infinitu", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"], + namesAbbr: ["ig.","al.","as.","az.","og.","or.","lr."], + namesShort: ["ig","al","as","az","og","or","lr"] + }, + months: { + names: ["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua",""], + namesAbbr: ["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe.",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "yyyy/MM/dd", + D: "dddd, yyyy.'eko' MMMM'k 'd", + t: "HH:mm", + T: "H:mm:ss", + f: "dddd, yyyy.'eko' MMMM'k 'd HH:mm", + F: "dddd, yyyy.'eko' MMMM'k 'd H:mm:ss", + Y: "yyyy.'eko' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fa-IR.js b/libs/js/globalize/lib/cultures/globalize.culture.fa-IR.js new file mode 100644 index 00000000..3386f5f4 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fa-IR.js @@ -0,0 +1,213 @@ +/* + * Globalize Culture fa-IR + * + * 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( "fa-IR", "default", { + name: "fa-IR", + englishName: "Persian", + nativeName: "فارسى (ایران)", + language: "fa", + isRTL: true, + numberFormat: { + pattern: ["n-"], + currency: { + pattern: ["$n-","$ n"], + ".": "/", + symbol: "ريال" + } + }, + calendars: { + standard: { + 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" + } + }, + Gregorian_Localized: { + firstDay: 6, + days: { + names: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""], + namesAbbr: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""] + }, + AM: ["ق.ظ","ق.ظ","ق.ظ"], + PM: ["ب.ظ","ب.ظ","ب.ظ"], + patterns: { + d: "yyyy/MM/dd", + D: "yyyy/MM/dd", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "yyyy/MM/dd hh:mm tt", + F: "yyyy/MM/dd 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); + } + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fa.js b/libs/js/globalize/lib/cultures/globalize.culture.fa.js new file mode 100644 index 00000000..580eac12 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fa.js @@ -0,0 +1,213 @@ +/* + * Globalize Culture fa + * + * 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( "fa", "default", { + name: "fa", + englishName: "Persian", + nativeName: "فارسى", + language: "fa", + isRTL: true, + numberFormat: { + pattern: ["n-"], + currency: { + pattern: ["$n-","$ n"], + ".": "/", + symbol: "ريال" + } + }, + calendars: { + standard: { + 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" + } + }, + Gregorian_Localized: { + firstDay: 6, + days: { + names: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""], + namesAbbr: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""] + }, + AM: ["ق.ظ","ق.ظ","ق.ظ"], + PM: ["ب.ظ","ب.ظ","ب.ظ"], + patterns: { + d: "yyyy/MM/dd", + D: "yyyy/MM/dd", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "yyyy/MM/dd hh:mm tt", + F: "yyyy/MM/dd 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); + } + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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 )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fi-FI.js b/libs/js/globalize/lib/cultures/globalize.culture.fi-FI.js new file mode 100644 index 00000000..09f0dad5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fi-FI.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture fi-FI + * + * 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( "fi-FI", "default", { + name: "fi-FI", + englishName: "Finnish (Finland)", + nativeName: "suomi (Suomi)", + language: "fi", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"], + namesAbbr: ["su","ma","ti","ke","to","pe","la"], + namesShort: ["su","ma","ti","ke","to","pe","la"] + }, + months: { + names: ["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu",""], + namesAbbr: ["tammi","helmi","maalis","huhti","touko","kesä","heinä","elo","syys","loka","marras","joulu",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM'ta 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM'ta 'yyyy H:mm", + F: "d. MMMM'ta 'yyyy H:mm:ss", + M: "d. MMMM'ta'", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fi.js b/libs/js/globalize/lib/cultures/globalize.culture.fi.js new file mode 100644 index 00000000..e8fa06ce --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fi.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture fi + * + * 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( "fi", "default", { + name: "fi", + englishName: "Finnish", + nativeName: "suomi", + language: "fi", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"], + namesAbbr: ["su","ma","ti","ke","to","pe","la"], + namesShort: ["su","ma","ti","ke","to","pe","la"] + }, + months: { + names: ["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu",""], + namesAbbr: ["tammi","helmi","maalis","huhti","touko","kesä","heinä","elo","syys","loka","marras","joulu",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM'ta 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM'ta 'yyyy H:mm", + F: "d. MMMM'ta 'yyyy H:mm:ss", + M: "d. MMMM'ta'", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fil-PH.js b/libs/js/globalize/lib/cultures/globalize.culture.fil-PH.js new file mode 100644 index 00000000..3e6c8fac --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fil-PH.js @@ -0,0 +1,54 @@ +/* + * Globalize Culture fil-PH + * + * 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( "fil-PH", "default", { + name: "fil-PH", + englishName: "Filipino (Philippines)", + nativeName: "Filipino (Pilipinas)", + language: "fil", + numberFormat: { + currency: { + symbol: "PhP" + } + }, + calendars: { + standard: { + days: { + names: ["Linggo","Lunes","Martes","Mierkoles","Huebes","Biernes","Sabado"], + namesAbbr: ["Lin","Lun","Mar","Mier","Hueb","Bier","Saba"], + namesShort: ["L","L","M","M","H","B","S"] + }, + months: { + names: ["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Septyembre","Oktubre","Nobyembre","Disyembre",""], + namesAbbr: ["En","Peb","Mar","Abr","Mayo","Hun","Hul","Agos","Sept","Okt","Nob","Dis",""] + }, + eras: [{"name":"Anno Domini","start":null,"offset":0}] + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fil.js b/libs/js/globalize/lib/cultures/globalize.culture.fil.js new file mode 100644 index 00000000..6e4509fb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fil.js @@ -0,0 +1,54 @@ +/* + * Globalize Culture fil + * + * 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( "fil", "default", { + name: "fil", + englishName: "Filipino", + nativeName: "Filipino", + language: "fil", + numberFormat: { + currency: { + symbol: "PhP" + } + }, + calendars: { + standard: { + days: { + names: ["Linggo","Lunes","Martes","Mierkoles","Huebes","Biernes","Sabado"], + namesAbbr: ["Lin","Lun","Mar","Mier","Hueb","Bier","Saba"], + namesShort: ["L","L","M","M","H","B","S"] + }, + months: { + names: ["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Septyembre","Oktubre","Nobyembre","Disyembre",""], + namesAbbr: ["En","Peb","Mar","Abr","Mayo","Hun","Hul","Agos","Sept","Okt","Nob","Dis",""] + }, + eras: [{"name":"Anno Domini","start":null,"offset":0}] + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fo-FO.js b/libs/js/globalize/lib/cultures/globalize.culture.fo-FO.js new file mode 100644 index 00000000..68783ce7 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fo-FO.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture fo-FO + * + * 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( "fo-FO", "default", { + name: "fo-FO", + englishName: "Faroese (Faroe Islands)", + nativeName: "føroyskt (Føroyar)", + language: "fo", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sunnudagur","mánadagur","týsdagur","mikudagur","hósdagur","fríggjadagur","leygardagur"], + namesAbbr: ["sun","mán","týs","mik","hós","frí","leyg"], + namesShort: ["su","má","tý","mi","hó","fr","ley"] + }, + months: { + names: ["januar","februar","mars","apríl","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fo.js b/libs/js/globalize/lib/cultures/globalize.culture.fo.js new file mode 100644 index 00000000..7b98c7dc --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fo.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture fo + * + * 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( "fo", "default", { + name: "fo", + englishName: "Faroese", + nativeName: "føroyskt", + language: "fo", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sunnudagur","mánadagur","týsdagur","mikudagur","hósdagur","fríggjadagur","leygardagur"], + namesAbbr: ["sun","mán","týs","mik","hós","frí","leyg"], + namesShort: ["su","má","tý","mi","hó","fr","ley"] + }, + months: { + names: ["januar","februar","mars","apríl","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fr-BE.js b/libs/js/globalize/lib/cultures/globalize.culture.fr-BE.js new file mode 100644 index 00000000..e5d5b9bd --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fr-BE.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture fr-BE + * + * 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( "fr-BE", "default", { + name: "fr-BE", + englishName: "French (Belgium)", + nativeName: "français (Belgique)", + language: "fr", + numberFormat: { + ",": ".", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "d/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fr-CA.js b/libs/js/globalize/lib/cultures/globalize.culture.fr-CA.js new file mode 100644 index 00000000..d91d60e9 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fr-CA.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture fr-CA + * + * 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( "fr-CA", "default", { + name: "fr-CA", + englishName: "French (Canada)", + nativeName: "français (Canada)", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["(n $)","n $"], + ",": " ", + ".": "," + } + }, + calendars: { + standard: { + "/": "-", + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fr-CH.js b/libs/js/globalize/lib/cultures/globalize.culture.fr-CH.js new file mode 100644 index 00000000..89d416b5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fr-CH.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture fr-CH + * + * 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( "fr-CH", "default", { + name: "fr-CH", + englishName: "French (Switzerland)", + nativeName: "français (Suisse)", + language: "fr", + numberFormat: { + ",": "'", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "fr." + } + }, + calendars: { + standard: { + "/": ".", + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fr-FR.js b/libs/js/globalize/lib/cultures/globalize.culture.fr-FR.js new file mode 100644 index 00000000..ddd833a7 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fr-FR.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture fr-FR + * + * 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( "fr-FR", "default", { + name: "fr-FR", + englishName: "French (France)", + nativeName: "français (France)", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fr-LU.js b/libs/js/globalize/lib/cultures/globalize.culture.fr-LU.js new file mode 100644 index 00000000..1a3408f5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fr-LU.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture fr-LU + * + * 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( "fr-LU", "default", { + name: "fr-LU", + englishName: "French (Luxembourg)", + nativeName: "français (Luxembourg)", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fr-MC.js b/libs/js/globalize/lib/cultures/globalize.culture.fr-MC.js new file mode 100644 index 00000000..a4870977 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fr-MC.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture fr-MC + * + * 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( "fr-MC", "default", { + name: "fr-MC", + englishName: "French (Monaco)", + nativeName: "français (Principauté de Monaco)", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fr.js b/libs/js/globalize/lib/cultures/globalize.culture.fr.js new file mode 100644 index 00000000..a6ce16e8 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fr.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture fr + * + * 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( "fr", "default", { + name: "fr", + englishName: "French", + nativeName: "français", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fy-NL.js b/libs/js/globalize/lib/cultures/globalize.culture.fy-NL.js new file mode 100644 index 00000000..bf16672e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fy-NL.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture fy-NL + * + * 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( "fy-NL", "default", { + name: "fy-NL", + englishName: "Frisian (Netherlands)", + nativeName: "Frysk (Nederlân)", + language: "fy", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["Snein","Moandei","Tiisdei","Woansdei","Tongersdei","Freed","Sneon"], + namesAbbr: ["Sn","Mo","Ti","Wo","To","Fr","Sn"], + namesShort: ["S","M","T","W","T","F","S"] + }, + months: { + names: ["jannewaris","febrewaris","maart","april","maaie","juny","july","augustus","septimber","oktober","novimber","desimber",""], + namesAbbr: ["jann","febr","mrt","apr","maaie","jun","jul","aug","sept","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "d-M-yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.fy.js b/libs/js/globalize/lib/cultures/globalize.culture.fy.js new file mode 100644 index 00000000..7d617a0f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.fy.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture fy + * + * 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( "fy", "default", { + name: "fy", + englishName: "Frisian", + nativeName: "Frysk", + language: "fy", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["Snein","Moandei","Tiisdei","Woansdei","Tongersdei","Freed","Sneon"], + namesAbbr: ["Sn","Mo","Ti","Wo","To","Fr","Sn"], + namesShort: ["S","M","T","W","T","F","S"] + }, + months: { + names: ["jannewaris","febrewaris","maart","april","maaie","juny","july","augustus","septimber","oktober","novimber","desimber",""], + namesAbbr: ["jann","febr","mrt","apr","maaie","jun","jul","aug","sept","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "d-M-yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ga-IE.js b/libs/js/globalize/lib/cultures/globalize.culture.ga-IE.js new file mode 100644 index 00000000..dabd2ca4 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ga-IE.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture ga-IE + * + * 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( "ga-IE", "default", { + name: "ga-IE", + englishName: "Irish (Ireland)", + nativeName: "Gaeilge (Éire)", + language: "ga", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Sathairn"], + namesAbbr: ["Domh","Luan","Máir","Céad","Déar","Aoi","Sath"], + namesShort: ["Do","Lu","Má","Cé","De","Ao","Sa"] + }, + months: { + names: ["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Meitheamh","Iúil","Lúnasa","Meán Fómhair","Deireadh Fómhair","Samhain","Nollaig",""], + namesAbbr: ["Ean","Feabh","Már","Aib","Bealt","Meith","Iúil","Lún","M.Fómh","D.Fómh","Samh","Noll",""] + }, + AM: ["r.n.","r.n.","R.N."], + PM: ["i.n.","i.n.","I.N."], + patterns: { + d: "dd/MM/yyyy", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ga.js b/libs/js/globalize/lib/cultures/globalize.culture.ga.js new file mode 100644 index 00000000..b7df2941 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ga.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture ga + * + * 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( "ga", "default", { + name: "ga", + englishName: "Irish", + nativeName: "Gaeilge", + language: "ga", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Sathairn"], + namesAbbr: ["Domh","Luan","Máir","Céad","Déar","Aoi","Sath"], + namesShort: ["Do","Lu","Má","Cé","De","Ao","Sa"] + }, + months: { + names: ["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Meitheamh","Iúil","Lúnasa","Meán Fómhair","Deireadh Fómhair","Samhain","Nollaig",""], + namesAbbr: ["Ean","Feabh","Már","Aib","Bealt","Meith","Iúil","Lún","M.Fómh","D.Fómh","Samh","Noll",""] + }, + AM: ["r.n.","r.n.","R.N."], + PM: ["i.n.","i.n.","I.N."], + patterns: { + d: "dd/MM/yyyy", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.gd-GB.js b/libs/js/globalize/lib/cultures/globalize.culture.gd-GB.js new file mode 100644 index 00000000..37161696 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.gd-GB.js @@ -0,0 +1,69 @@ +/* + * Globalize Culture gd-GB + * + * 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( "gd-GB", "default", { + name: "gd-GB", + englishName: "Scottish Gaelic (United Kingdom)", + nativeName: "Gàidhlig (An Rìoghachd Aonaichte)", + language: "gd", + numberFormat: { + negativeInfinity: "-Neo-chrìochnachd", + positiveInfinity: "Neo-chrìochnachd", + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"], + namesAbbr: ["Dòm","Lua","Mài","Cia","Ard","Hao","Sat"], + namesShort: ["D","L","M","C","A","H","S"] + }, + months: { + names: ["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd",""], + namesAbbr: ["Fao","Gea","Màr","Gib","Cèi","Ògm","Iuc","Lùn","Sul","Dàm","Sam","Dùb",""] + }, + AM: ["m","m","M"], + PM: ["f","f","F"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.gd.js b/libs/js/globalize/lib/cultures/globalize.culture.gd.js new file mode 100644 index 00000000..7c0c35ba --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.gd.js @@ -0,0 +1,69 @@ +/* + * Globalize Culture gd + * + * 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( "gd", "default", { + name: "gd", + englishName: "Scottish Gaelic", + nativeName: "Gàidhlig", + language: "gd", + numberFormat: { + negativeInfinity: "-Neo-chrìochnachd", + positiveInfinity: "Neo-chrìochnachd", + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"], + namesAbbr: ["Dòm","Lua","Mài","Cia","Ard","Hao","Sat"], + namesShort: ["D","L","M","C","A","H","S"] + }, + months: { + names: ["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd",""], + namesAbbr: ["Fao","Gea","Màr","Gib","Cèi","Ògm","Iuc","Lùn","Sul","Dàm","Sam","Dùb",""] + }, + AM: ["m","m","M"], + PM: ["f","f","F"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.gl-ES.js b/libs/js/globalize/lib/cultures/globalize.culture.gl-ES.js new file mode 100644 index 00000000..2f30b61e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.gl-ES.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture gl-ES + * + * 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( "gl-ES", "default", { + name: "gl-ES", + englishName: "Galician (Galician)", + nativeName: "galego (galego)", + language: "gl", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","luns","martes","mércores","xoves","venres","sábado"], + namesAbbr: ["dom","luns","mar","mér","xov","ven","sáb"], + namesShort: ["do","lu","ma","mé","xo","ve","sá"] + }, + months: { + names: ["xaneiro","febreiro","marzo","abril","maio","xuño","xullo","agosto","setembro","outubro","novembro","decembro",""], + namesAbbr: ["xan","feb","mar","abr","maio","xuñ","xull","ago","set","out","nov","dec",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.gl.js b/libs/js/globalize/lib/cultures/globalize.culture.gl.js new file mode 100644 index 00000000..a1fd8f14 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.gl.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture gl + * + * 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( "gl", "default", { + name: "gl", + englishName: "Galician", + nativeName: "galego", + language: "gl", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","luns","martes","mércores","xoves","venres","sábado"], + namesAbbr: ["dom","luns","mar","mér","xov","ven","sáb"], + namesShort: ["do","lu","ma","mé","xo","ve","sá"] + }, + months: { + names: ["xaneiro","febreiro","marzo","abril","maio","xuño","xullo","agosto","setembro","outubro","novembro","decembro",""], + namesAbbr: ["xan","feb","mar","abr","maio","xuñ","xull","ago","set","out","nov","dec",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.gsw-FR.js b/libs/js/globalize/lib/cultures/globalize.culture.gsw-FR.js new file mode 100644 index 00000000..a6528d3d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.gsw-FR.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture gsw-FR + * + * 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( "gsw-FR", "default", { + name: "gsw-FR", + englishName: "Alsatian (France)", + nativeName: "Elsässisch (Frànkrisch)", + language: "gsw", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Ohne Nummer", + negativeInfinity: "-Unendlich", + positiveInfinity: "+Unendlich", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sundàà","Mondàà","Dienschdàà","Mittwuch","Dunnerschdàà","Fridàà","Sàmschdàà"], + namesAbbr: ["Su.","Mo.","Di.","Mi.","Du.","Fr.","Sà."], + namesShort: ["Su","Mo","Di","Mi","Du","Fr","Sà"] + }, + months: { + names: ["Jänner","Feverje","März","Àpril","Mai","Jüni","Jüli","Augscht","September","Oktower","Nowember","Dezember",""], + namesAbbr: ["Jän.","Fev.","März","Apr.","Mai","Jüni","Jüli","Aug.","Sept.","Okt.","Now.","Dez.",""] + }, + AM: null, + PM: null, + eras: [{"name":"Vor J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.gsw.js b/libs/js/globalize/lib/cultures/globalize.culture.gsw.js new file mode 100644 index 00000000..8eca7be3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.gsw.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture gsw + * + * 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( "gsw", "default", { + name: "gsw", + englishName: "Alsatian", + nativeName: "Elsässisch", + language: "gsw", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Ohne Nummer", + negativeInfinity: "-Unendlich", + positiveInfinity: "+Unendlich", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sundàà","Mondàà","Dienschdàà","Mittwuch","Dunnerschdàà","Fridàà","Sàmschdàà"], + namesAbbr: ["Su.","Mo.","Di.","Mi.","Du.","Fr.","Sà."], + namesShort: ["Su","Mo","Di","Mi","Du","Fr","Sà"] + }, + months: { + names: ["Jänner","Feverje","März","Àpril","Mai","Jüni","Jüli","Augscht","September","Oktower","Nowember","Dezember",""], + namesAbbr: ["Jän.","Fev.","März","Apr.","Mai","Jüni","Jüli","Aug.","Sept.","Okt.","Now.","Dez.",""] + }, + AM: null, + PM: null, + eras: [{"name":"Vor J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.gu-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.gu-IN.js new file mode 100644 index 00000000..b6c40090 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.gu-IN.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture gu-IN + * + * 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( "gu-IN", "default", { + name: "gu-IN", + englishName: "Gujarati (India)", + nativeName: "ગુજરાતી (ભારત)", + language: "gu", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "રૂ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["રવિવાર","સોમવાર","મંગળવાર","બુધવાર","ગુરુવાર","શુક્રવાર","શનિવાર"], + namesAbbr: ["રવિ","સોમ","મંગળ","બુધ","ગુરુ","શુક્ર","શનિ"], + namesShort: ["ર","સ","મ","બ","ગ","શ","શ"] + }, + months: { + names: ["જાન્યુઆરી","ફેબ્રુઆરી","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટેમ્બર","ઑક્ટ્બર","નવેમ્બર","ડિસેમ્બર",""], + namesAbbr: ["જાન્યુ","ફેબ્રુ","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટે","ઑક્ટો","નવે","ડિસે",""] + }, + AM: ["પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન"], + PM: ["ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.gu.js b/libs/js/globalize/lib/cultures/globalize.culture.gu.js new file mode 100644 index 00000000..cab1c0e5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.gu.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture gu + * + * 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( "gu", "default", { + name: "gu", + englishName: "Gujarati", + nativeName: "ગુજરાતી", + language: "gu", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "રૂ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["રવિવાર","સોમવાર","મંગળવાર","બુધવાર","ગુરુવાર","શુક્રવાર","શનિવાર"], + namesAbbr: ["રવિ","સોમ","મંગળ","બુધ","ગુરુ","શુક્ર","શનિ"], + namesShort: ["ર","સ","મ","બ","ગ","શ","શ"] + }, + months: { + names: ["જાન્યુઆરી","ફેબ્રુઆરી","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટેમ્બર","ઑક્ટ્બર","નવેમ્બર","ડિસેમ્બર",""], + namesAbbr: ["જાન્યુ","ફેબ્રુ","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટે","ઑક્ટો","નવે","ડિસે",""] + }, + AM: ["પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન"], + PM: ["ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ha-Latn-NG.js b/libs/js/globalize/lib/cultures/globalize.culture.ha-Latn-NG.js new file mode 100644 index 00000000..5ac8bd8c --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ha-Latn-NG.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture ha-Latn-NG + * + * 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( "ha-Latn-NG", "default", { + name: "ha-Latn-NG", + englishName: "Hausa (Latin, Nigeria)", + nativeName: "Hausa (Nigeria)", + language: "ha-Latn", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Lahadi","Litinin","Talata","Laraba","Alhamis","Juma'a","Asabar"], + namesAbbr: ["Lah","Lit","Tal","Lar","Alh","Jum","Asa"], + namesShort: ["L","L","T","L","A","J","A"] + }, + months: { + names: ["Januwaru","Febreru","Maris","Afrilu","Mayu","Yuni","Yuli","Agusta","Satumba","Oktocba","Nuwamba","Disamba",""], + namesAbbr: ["Jan","Feb","Mar","Afr","May","Yun","Yul","Agu","Sat","Okt","Nuw","Dis",""] + }, + AM: ["Safe","safe","SAFE"], + PM: ["Yamma","yamma","YAMMA"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ha-Latn.js b/libs/js/globalize/lib/cultures/globalize.culture.ha-Latn.js new file mode 100644 index 00000000..049ca5a6 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ha-Latn.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture ha-Latn + * + * 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( "ha-Latn", "default", { + name: "ha-Latn", + englishName: "Hausa (Latin)", + nativeName: "Hausa", + language: "ha-Latn", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Lahadi","Litinin","Talata","Laraba","Alhamis","Juma'a","Asabar"], + namesAbbr: ["Lah","Lit","Tal","Lar","Alh","Jum","Asa"], + namesShort: ["L","L","T","L","A","J","A"] + }, + months: { + names: ["Januwaru","Febreru","Maris","Afrilu","Mayu","Yuni","Yuli","Agusta","Satumba","Oktocba","Nuwamba","Disamba",""], + namesAbbr: ["Jan","Feb","Mar","Afr","May","Yun","Yul","Agu","Sat","Okt","Nuw","Dis",""] + }, + AM: ["Safe","safe","SAFE"], + PM: ["Yamma","yamma","YAMMA"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ha.js b/libs/js/globalize/lib/cultures/globalize.culture.ha.js new file mode 100644 index 00000000..07f4be8b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ha.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture ha + * + * 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( "ha", "default", { + name: "ha", + englishName: "Hausa", + nativeName: "Hausa", + language: "ha", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Lahadi","Litinin","Talata","Laraba","Alhamis","Juma'a","Asabar"], + namesAbbr: ["Lah","Lit","Tal","Lar","Alh","Jum","Asa"], + namesShort: ["L","L","T","L","A","J","A"] + }, + months: { + names: ["Januwaru","Febreru","Maris","Afrilu","Mayu","Yuni","Yuli","Agusta","Satumba","Oktocba","Nuwamba","Disamba",""], + namesAbbr: ["Jan","Feb","Mar","Afr","May","Yun","Yul","Agu","Sat","Okt","Nuw","Dis",""] + }, + AM: ["Safe","safe","SAFE"], + PM: ["Yamma","yamma","YAMMA"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.he-IL.js b/libs/js/globalize/lib/cultures/globalize.culture.he-IL.js new file mode 100644 index 00000000..b0bd6b82 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.he-IL.js @@ -0,0 +1,97 @@ +/* + * Globalize Culture he-IL + * + * 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( "he-IL", "default", { + name: "he-IL", + englishName: "Hebrew (Israel)", + nativeName: "עברית (ישראל)", + language: "he", + isRTL: true, + numberFormat: { + NaN: "לא מספר", + negativeInfinity: "אינסוף שלילי", + positiveInfinity: "אינסוף חיובי", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "₪" + } + }, + calendars: { + standard: { + days: { + names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"], + namesAbbr: ["יום א","יום ב","יום ג","יום ד","יום ה","יום ו","שבת"], + namesShort: ["א","ב","ג","ד","ה","ו","ש"] + }, + months: { + names: ["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר",""], + namesAbbr: ["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ",""] + }, + eras: [{"name":"לספירה","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd dd MMMM yyyy HH:mm", + F: "dddd dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + }, + Hebrew: { + name: "Hebrew", + "/": " ", + days: { + names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"], + namesAbbr: ["א","ב","ג","ד","ה","ו","ש"], + namesShort: ["א","ב","ג","ד","ה","ו","ש"] + }, + months: { + names: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"], + namesAbbr: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"] + }, + eras: [{"name":"C.E.","start":null,"offset":0}], + twoDigitYearMax: 5790, + patterns: { + d: "dd MMMM yyyy", + D: "dddd dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd dd MMMM yyyy HH:mm", + F: "dddd dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.he.js b/libs/js/globalize/lib/cultures/globalize.culture.he.js new file mode 100644 index 00000000..bca17f38 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.he.js @@ -0,0 +1,97 @@ +/* + * Globalize Culture he + * + * 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( "he", "default", { + name: "he", + englishName: "Hebrew", + nativeName: "עברית", + language: "he", + isRTL: true, + numberFormat: { + NaN: "לא מספר", + negativeInfinity: "אינסוף שלילי", + positiveInfinity: "אינסוף חיובי", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "₪" + } + }, + calendars: { + standard: { + days: { + names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"], + namesAbbr: ["יום א","יום ב","יום ג","יום ד","יום ה","יום ו","שבת"], + namesShort: ["א","ב","ג","ד","ה","ו","ש"] + }, + months: { + names: ["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר",""], + namesAbbr: ["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ",""] + }, + eras: [{"name":"לספירה","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd dd MMMM yyyy HH:mm", + F: "dddd dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + }, + Hebrew: { + name: "Hebrew", + "/": " ", + days: { + names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"], + namesAbbr: ["א","ב","ג","ד","ה","ו","ש"], + namesShort: ["א","ב","ג","ד","ה","ו","ש"] + }, + months: { + names: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"], + namesAbbr: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"] + }, + eras: [{"name":"C.E.","start":null,"offset":0}], + twoDigitYearMax: 5790, + patterns: { + d: "dd MMMM yyyy", + D: "dddd dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd dd MMMM yyyy HH:mm", + F: "dddd dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hi-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.hi-IN.js new file mode 100644 index 00000000..7e228b25 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hi-IN.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture hi-IN + * + * 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( "hi-IN", "default", { + name: "hi-IN", + englishName: "Hindi (India)", + nativeName: "हिंदी (भारत)", + language: "hi", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hi.js b/libs/js/globalize/lib/cultures/globalize.culture.hi.js new file mode 100644 index 00000000..15dc5d4f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hi.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture hi + * + * 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( "hi", "default", { + name: "hi", + englishName: "Hindi", + nativeName: "हिंदी", + language: "hi", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hr-BA.js b/libs/js/globalize/lib/cultures/globalize.culture.hr-BA.js new file mode 100644 index 00000000..63ff67ec --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hr-BA.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture hr-BA + * + * 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( "hr-BA", "default", { + name: "hr-BA", + englishName: "Croatian (Latin, Bosnia and Herzegovina)", + nativeName: "hrvatski (Bosna i Hercegovina)", + language: "hr", + numberFormat: { + pattern: ["- n"], + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["siječanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + monthsGenitive: { + names: ["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenog","prosinca",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy.", + D: "d. MMMM yyyy.", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy. H:mm", + F: "d. MMMM yyyy. H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hr-HR.js b/libs/js/globalize/lib/cultures/globalize.culture.hr-HR.js new file mode 100644 index 00000000..f63a4596 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hr-HR.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture hr-HR + * + * 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( "hr-HR", "default", { + name: "hr-HR", + englishName: "Croatian (Croatia)", + nativeName: "hrvatski (Hrvatska)", + language: "hr", + numberFormat: { + pattern: ["- n"], + ",": ".", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kn" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["siječanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + monthsGenitive: { + names: ["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenog","prosinca",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy.", + D: "d. MMMM yyyy.", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy. H:mm", + F: "d. MMMM yyyy. H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hr.js b/libs/js/globalize/lib/cultures/globalize.culture.hr.js new file mode 100644 index 00000000..747e76c5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hr.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture hr + * + * 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( "hr", "default", { + name: "hr", + englishName: "Croatian", + nativeName: "hrvatski", + language: "hr", + numberFormat: { + pattern: ["- n"], + ",": ".", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kn" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["siječanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + monthsGenitive: { + names: ["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenog","prosinca",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy.", + D: "d. MMMM yyyy.", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy. H:mm", + F: "d. MMMM yyyy. H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hsb-DE.js b/libs/js/globalize/lib/cultures/globalize.culture.hsb-DE.js new file mode 100644 index 00000000..8588f95d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hsb-DE.js @@ -0,0 +1,84 @@ +/* + * Globalize Culture hsb-DE + * + * 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( "hsb-DE", "default", { + name: "hsb-DE", + englishName: "Upper Sorbian (Germany)", + nativeName: "hornjoserbšćina (Němska)", + language: "hsb", + numberFormat: { + ",": ".", + ".": ",", + NaN: "njedefinowane", + negativeInfinity: "-njekónčne", + positiveInfinity: "+njekónčne", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["njedźela","póndźela","wutora","srjeda","štwórtk","pjatk","sobota"], + namesAbbr: ["nje","pón","wut","srj","štw","pja","sob"], + namesShort: ["n","p","w","s","š","p","s"] + }, + months: { + names: ["januar","februar","měrc","apryl","meja","junij","julij","awgust","september","oktober","nowember","december",""], + namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""] + }, + monthsGenitive: { + names: ["januara","februara","měrca","apryla","meje","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""], + namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"po Chr.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "dddd, 'dnja' d. MMMM yyyy", + t: "H.mm 'hodź.'", + T: "H:mm:ss", + f: "dddd, 'dnja' d. MMMM yyyy H.mm 'hodź.'", + F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hsb.js b/libs/js/globalize/lib/cultures/globalize.culture.hsb.js new file mode 100644 index 00000000..a6ce6541 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hsb.js @@ -0,0 +1,84 @@ +/* + * Globalize Culture hsb + * + * 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( "hsb", "default", { + name: "hsb", + englishName: "Upper Sorbian", + nativeName: "hornjoserbšćina", + language: "hsb", + numberFormat: { + ",": ".", + ".": ",", + NaN: "njedefinowane", + negativeInfinity: "-njekónčne", + positiveInfinity: "+njekónčne", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["njedźela","póndźela","wutora","srjeda","štwórtk","pjatk","sobota"], + namesAbbr: ["nje","pón","wut","srj","štw","pja","sob"], + namesShort: ["n","p","w","s","š","p","s"] + }, + months: { + names: ["januar","februar","měrc","apryl","meja","junij","julij","awgust","september","oktober","nowember","december",""], + namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""] + }, + monthsGenitive: { + names: ["januara","februara","měrca","apryla","meje","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""], + namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"po Chr.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "dddd, 'dnja' d. MMMM yyyy", + t: "H.mm 'hodź.'", + T: "H:mm:ss", + f: "dddd, 'dnja' d. MMMM yyyy H.mm 'hodź.'", + F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hu-HU.js b/libs/js/globalize/lib/cultures/globalize.culture.hu-HU.js new file mode 100644 index 00000000..e48037a3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hu-HU.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture hu-HU + * + * 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( "hu-HU", "default", { + name: "hu-HU", + englishName: "Hungarian (Hungary)", + nativeName: "magyar (Magyarország)", + language: "hu", + numberFormat: { + ",": " ", + ".": ",", + NaN: "nem szám", + negativeInfinity: "negatív végtelen", + positiveInfinity: "végtelen", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Ft" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"], + namesAbbr: ["V","H","K","Sze","Cs","P","Szo"], + namesShort: ["V","H","K","Sze","Cs","P","Szo"] + }, + months: { + names: ["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december",""], + namesAbbr: ["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec.",""] + }, + AM: ["de.","de.","DE."], + PM: ["du.","du.","DU."], + eras: [{"name":"i.sz.","start":null,"offset":0}], + patterns: { + d: "yyyy.MM.dd.", + D: "yyyy. MMMM d.", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy. MMMM d. H:mm", + F: "yyyy. MMMM d. H:mm:ss", + M: "MMMM d.", + Y: "yyyy. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hu.js b/libs/js/globalize/lib/cultures/globalize.culture.hu.js new file mode 100644 index 00000000..5db2111b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hu.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture hu + * + * 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( "hu", "default", { + name: "hu", + englishName: "Hungarian", + nativeName: "magyar", + language: "hu", + numberFormat: { + ",": " ", + ".": ",", + NaN: "nem szám", + negativeInfinity: "negatív végtelen", + positiveInfinity: "végtelen", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Ft" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"], + namesAbbr: ["V","H","K","Sze","Cs","P","Szo"], + namesShort: ["V","H","K","Sze","Cs","P","Szo"] + }, + months: { + names: ["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december",""], + namesAbbr: ["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec.",""] + }, + AM: ["de.","de.","DE."], + PM: ["du.","du.","DU."], + eras: [{"name":"i.sz.","start":null,"offset":0}], + patterns: { + d: "yyyy.MM.dd.", + D: "yyyy. MMMM d.", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy. MMMM d. H:mm", + F: "yyyy. MMMM d. H:mm:ss", + M: "MMMM d.", + Y: "yyyy. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hy-AM.js b/libs/js/globalize/lib/cultures/globalize.culture.hy-AM.js new file mode 100644 index 00000000..d4b0e3f3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hy-AM.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture hy-AM + * + * 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( "hy-AM", "default", { + name: "hy-AM", + englishName: "Armenian (Armenia)", + nativeName: "Հայերեն (Հայաստան)", + language: "hy", + numberFormat: { + currency: { + pattern: ["-n $","n $"], + symbol: "դր." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","ՈՒրբաթ","Շաբաթ"], + namesAbbr: ["Կիր","Երկ","Երք","Չրք","Հնգ","ՈՒր","Շբթ"], + namesShort: ["Կ","Ե","Ե","Չ","Հ","Ո","Շ"] + }, + months: { + names: ["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր",""], + namesAbbr: ["ՀՆՎ","ՓՏՎ","ՄՐՏ","ԱՊՐ","ՄՅՍ","ՀՆՍ","ՀԼՍ","ՕԳՍ","ՍԵՊ","ՀՈԿ","ՆՈՅ","ԴԵԿ",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM, yyyy H:mm", + F: "d MMMM, yyyy H:mm:ss", + M: "d MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.hy.js b/libs/js/globalize/lib/cultures/globalize.culture.hy.js new file mode 100644 index 00000000..914d70f2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.hy.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture hy + * + * 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( "hy", "default", { + name: "hy", + englishName: "Armenian", + nativeName: "Հայերեն", + language: "hy", + numberFormat: { + currency: { + pattern: ["-n $","n $"], + symbol: "դր." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","ՈՒրբաթ","Շաբաթ"], + namesAbbr: ["Կիր","Երկ","Երք","Չրք","Հնգ","ՈՒր","Շբթ"], + namesShort: ["Կ","Ե","Ե","Չ","Հ","Ո","Շ"] + }, + months: { + names: ["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր",""], + namesAbbr: ["ՀՆՎ","ՓՏՎ","ՄՐՏ","ԱՊՐ","ՄՅՍ","ՀՆՍ","ՀԼՍ","ՕԳՍ","ՍԵՊ","ՀՈԿ","ՆՈՅ","ԴԵԿ",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM, yyyy H:mm", + F: "d MMMM, yyyy H:mm:ss", + M: "d MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.id-ID.js b/libs/js/globalize/lib/cultures/globalize.culture.id-ID.js new file mode 100644 index 00000000..7f7c890b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.id-ID.js @@ -0,0 +1,75 @@ +/* + * Globalize Culture id-ID + * + * 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( "id-ID", "default", { + name: "id-ID", + englishName: "Indonesian (Indonesia)", + nativeName: "Bahasa Indonesia (Indonesia)", + language: "id", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + decimals: 0, + ",": ".", + ".": ",", + symbol: "Rp" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"], + namesAbbr: ["Minggu","Sen","Sel","Rabu","Kamis","Jumat","Sabtu"], + namesShort: ["M","S","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember",""], + namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agust","Sep","Okt","Nop","Des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.id.js b/libs/js/globalize/lib/cultures/globalize.culture.id.js new file mode 100644 index 00000000..278522df --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.id.js @@ -0,0 +1,75 @@ +/* + * Globalize Culture id + * + * 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( "id", "default", { + name: "id", + englishName: "Indonesian", + nativeName: "Bahasa Indonesia", + language: "id", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + decimals: 0, + ",": ".", + ".": ",", + symbol: "Rp" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"], + namesAbbr: ["Minggu","Sen","Sel","Rabu","Kamis","Jumat","Sabtu"], + namesShort: ["M","S","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember",""], + namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agust","Sep","Okt","Nop","Des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ig-NG.js b/libs/js/globalize/lib/cultures/globalize.culture.ig-NG.js new file mode 100644 index 00000000..444f59fc --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ig-NG.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture ig-NG + * + * 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( "ig-NG", "default", { + name: "ig-NG", + englishName: "Igbo (Nigeria)", + nativeName: "Igbo (Nigeria)", + language: "ig", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"], + namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"], + namesShort: ["A","A","I","O","O","E","A"] + }, + months: { + names: ["Onwa mbu","Onwa ibua","Onwa ato","Onwa ano","Onwa ise","Onwa isi","Onwa asa","Onwa asato","Onwa itolu","Onwa iri","Onwa iri n'ofu","Onwa iri n'ibua",""], + namesAbbr: ["mbu.","ibu.","ato.","ano.","ise","isi","asa","asa.","ito.","iri.","n'of.","n'ib.",""] + }, + AM: ["Ututu","ututu","UTUTU"], + PM: ["Efifie","efifie","EFIFIE"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ig.js b/libs/js/globalize/lib/cultures/globalize.culture.ig.js new file mode 100644 index 00000000..bce57712 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ig.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture ig + * + * 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( "ig", "default", { + name: "ig", + englishName: "Igbo", + nativeName: "Igbo", + language: "ig", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"], + namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"], + namesShort: ["A","A","I","O","O","E","A"] + }, + months: { + names: ["Onwa mbu","Onwa ibua","Onwa ato","Onwa ano","Onwa ise","Onwa isi","Onwa asa","Onwa asato","Onwa itolu","Onwa iri","Onwa iri n'ofu","Onwa iri n'ibua",""], + namesAbbr: ["mbu.","ibu.","ato.","ano.","ise","isi","asa","asa.","ito.","iri.","n'of.","n'ib.",""] + }, + AM: ["Ututu","ututu","UTUTU"], + PM: ["Efifie","efifie","EFIFIE"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ii-CN.js b/libs/js/globalize/lib/cultures/globalize.culture.ii-CN.js new file mode 100644 index 00000000..7157e365 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ii-CN.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture ii-CN + * + * 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( "ii-CN", "default", { + name: "ii-CN", + englishName: "Yi (PRC)", + nativeName: "ꆈꌠꁱꂷ (ꍏꉸꏓꂱꇭꉼꇩ)", + language: "ii", + numberFormat: { + groupSizes: [3,0], + NaN: "ꌗꂷꀋꉬ", + negativeInfinity: "ꀄꊭꌐꀋꉆ", + positiveInfinity: "ꈤꇁꑖꀋꉬ", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["ꑭꆏꑍ","ꆏꊂ꒔","ꆏꊂꑍ","ꆏꊂꌕ","ꆏꊂꇖ","ꆏꊂꉬ","ꆏꊂꃘ"], + namesAbbr: ["ꑭꆏ","ꆏ꒔","ꆏꑍ","ꆏꌕ","ꆏꇖ","ꆏꉬ","ꆏꃘ"], + namesShort: ["ꆏ","꒔","ꑍ","ꌕ","ꇖ","ꉬ","ꃘ"] + }, + months: { + names: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""], + namesAbbr: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""] + }, + AM: ["ꂵꆪꈌꈐ","ꂵꆪꈌꈐ","ꂵꆪꈌꈐ"], + PM: ["ꂵꆪꈌꉈ","ꂵꆪꈌꉈ","ꂵꆪꈌꉈ"], + eras: [{"name":"ꇬꑼ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ꈎ' M'ꆪ' d'ꑍ'", + t: "tt h:mm", + T: "H:mm:ss", + f: "yyyy'ꈎ' M'ꆪ' d'ꑍ' tt h:mm", + F: "yyyy'ꈎ' M'ꆪ' d'ꑍ' H:mm:ss", + M: "M'ꆪ' d'ꑍ'", + Y: "yyyy'ꈎ' M'ꆪ'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ii.js b/libs/js/globalize/lib/cultures/globalize.culture.ii.js new file mode 100644 index 00000000..6aace197 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ii.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture ii + * + * 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( "ii", "default", { + name: "ii", + englishName: "Yi", + nativeName: "ꆈꌠꁱꂷ", + language: "ii", + numberFormat: { + groupSizes: [3,0], + NaN: "ꌗꂷꀋꉬ", + negativeInfinity: "ꀄꊭꌐꀋꉆ", + positiveInfinity: "ꈤꇁꑖꀋꉬ", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["ꑭꆏꑍ","ꆏꊂ꒔","ꆏꊂꑍ","ꆏꊂꌕ","ꆏꊂꇖ","ꆏꊂꉬ","ꆏꊂꃘ"], + namesAbbr: ["ꑭꆏ","ꆏ꒔","ꆏꑍ","ꆏꌕ","ꆏꇖ","ꆏꉬ","ꆏꃘ"], + namesShort: ["ꆏ","꒔","ꑍ","ꌕ","ꇖ","ꉬ","ꃘ"] + }, + months: { + names: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""], + namesAbbr: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""] + }, + AM: ["ꂵꆪꈌꈐ","ꂵꆪꈌꈐ","ꂵꆪꈌꈐ"], + PM: ["ꂵꆪꈌꉈ","ꂵꆪꈌꉈ","ꂵꆪꈌꉈ"], + eras: [{"name":"ꇬꑼ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ꈎ' M'ꆪ' d'ꑍ'", + t: "tt h:mm", + T: "H:mm:ss", + f: "yyyy'ꈎ' M'ꆪ' d'ꑍ' tt h:mm", + F: "yyyy'ꈎ' M'ꆪ' d'ꑍ' H:mm:ss", + M: "M'ꆪ' d'ꑍ'", + Y: "yyyy'ꈎ' M'ꆪ'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.is-IS.js b/libs/js/globalize/lib/cultures/globalize.culture.is-IS.js new file mode 100644 index 00000000..7af91210 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.is-IS.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture is-IS + * + * 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( "is-IS", "default", { + name: "is-IS", + englishName: "Icelandic (Iceland)", + nativeName: "íslenska (Ísland)", + language: "is", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"], + namesAbbr: ["sun.","mán.","þri.","mið.","fim.","fös.","lau."], + namesShort: ["su","má","þr","mi","fi","fö","la"] + }, + months: { + names: ["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember",""], + namesAbbr: ["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des.",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.is.js b/libs/js/globalize/lib/cultures/globalize.culture.is.js new file mode 100644 index 00000000..971e18a2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.is.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture is + * + * 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( "is", "default", { + name: "is", + englishName: "Icelandic", + nativeName: "íslenska", + language: "is", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"], + namesAbbr: ["sun.","mán.","þri.","mið.","fim.","fös.","lau."], + namesShort: ["su","má","þr","mi","fi","fö","la"] + }, + months: { + names: ["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember",""], + namesAbbr: ["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des.",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.it-CH.js b/libs/js/globalize/lib/cultures/globalize.culture.it-CH.js new file mode 100644 index 00000000..e231c2ff --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.it-CH.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture it-CH + * + * 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( "it-CH", "default", { + name: "it-CH", + englishName: "Italian (Switzerland)", + nativeName: "italiano (Svizzera)", + language: "it", + numberFormat: { + ",": "'", + NaN: "Non un numero reale", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "fr." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"], + namesAbbr: ["dom","lun","mar","mer","gio","ven","sab"], + namesShort: ["do","lu","ma","me","gi","ve","sa"] + }, + months: { + names: ["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre",""], + namesAbbr: ["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.it-IT.js b/libs/js/globalize/lib/cultures/globalize.culture.it-IT.js new file mode 100644 index 00000000..42ec54ad --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.it-IT.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture it-IT + * + * 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( "it-IT", "default", { + name: "it-IT", + englishName: "Italian (Italy)", + nativeName: "italiano (Italia)", + language: "it", + numberFormat: { + ",": ".", + ".": ",", + NaN: "Non un numero reale", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"], + namesAbbr: ["dom","lun","mar","mer","gio","ven","sab"], + namesShort: ["do","lu","ma","me","gi","ve","sa"] + }, + months: { + names: ["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre",""], + namesAbbr: ["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.it.js b/libs/js/globalize/lib/cultures/globalize.culture.it.js new file mode 100644 index 00000000..34594b02 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.it.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture it + * + * 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( "it", "default", { + name: "it", + englishName: "Italian", + nativeName: "italiano", + language: "it", + numberFormat: { + ",": ".", + ".": ",", + NaN: "Non un numero reale", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"], + namesAbbr: ["dom","lun","mar","mer","gio","ven","sab"], + namesShort: ["do","lu","ma","me","gi","ve","sa"] + }, + months: { + names: ["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre",""], + namesAbbr: ["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.iu-Cans-CA.js b/libs/js/globalize/lib/cultures/globalize.culture.iu-Cans-CA.js new file mode 100644 index 00000000..f5468479 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.iu-Cans-CA.js @@ -0,0 +1,65 @@ +/* + * Globalize Culture iu-Cans-CA + * + * 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( "iu-Cans-CA", "default", { + name: "iu-Cans-CA", + englishName: "Inuktitut (Syllabics, Canada)", + nativeName: "ᐃᓄᒃᑎᑐᑦ (ᑲᓇᑕᒥ)", + language: "iu-Cans", + numberFormat: { + groupSizes: [3,0], + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["ᓈᑦᑏᖑᔭ","ᓇᒡᒐᔾᔭᐅ","ᐊᐃᑉᐱᖅ","ᐱᖓᑦᓯᖅ","ᓯᑕᒻᒥᖅ","ᑕᓪᓕᕐᒥᖅ","ᓯᕙᑖᕐᕕᒃ"], + namesAbbr: ["ᓈᑦᑏ","ᓇᒡᒐ","ᐊᐃᑉᐱ","ᐱᖓᑦᓯ","ᓯᑕ","ᑕᓪᓕ","ᓯᕙᑖᕐᕕᒃ"], + namesShort: ["ᓈ","ᓇ","ᐊ","ᐱ","ᓯ","ᑕ","ᓯ"] + }, + months: { + names: ["ᔮᓐᓄᐊᕆ","ᕖᕝᕗᐊᕆ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌᓯ","ᓯᑎᐱᕆ","ᐅᑐᐱᕆ","ᓄᕕᐱᕆ","ᑎᓯᐱᕆ",""], + namesAbbr: ["ᔮᓐᓄ","ᕖᕝᕗ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌ","ᓯᑎᐱ","ᐅᑐᐱ","ᓄᕕᐱ","ᑎᓯᐱ",""] + }, + patterns: { + d: "d/M/yyyy", + D: "dddd,MMMM dd,yyyy", + f: "dddd,MMMM dd,yyyy h:mm tt", + F: "dddd,MMMM dd,yyyy h:mm:ss tt", + Y: "MMMM,yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.iu-Cans.js b/libs/js/globalize/lib/cultures/globalize.culture.iu-Cans.js new file mode 100644 index 00000000..62f15abc --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.iu-Cans.js @@ -0,0 +1,65 @@ +/* + * Globalize Culture iu-Cans + * + * 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( "iu-Cans", "default", { + name: "iu-Cans", + englishName: "Inuktitut (Syllabics)", + nativeName: "ᐃᓄᒃᑎᑐᑦ", + language: "iu-Cans", + numberFormat: { + groupSizes: [3,0], + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["ᓈᑦᑏᖑᔭ","ᓇᒡᒐᔾᔭᐅ","ᐊᐃᑉᐱᖅ","ᐱᖓᑦᓯᖅ","ᓯᑕᒻᒥᖅ","ᑕᓪᓕᕐᒥᖅ","ᓯᕙᑖᕐᕕᒃ"], + namesAbbr: ["ᓈᑦᑏ","ᓇᒡᒐ","ᐊᐃᑉᐱ","ᐱᖓᑦᓯ","ᓯᑕ","ᑕᓪᓕ","ᓯᕙᑖᕐᕕᒃ"], + namesShort: ["ᓈ","ᓇ","ᐊ","ᐱ","ᓯ","ᑕ","ᓯ"] + }, + months: { + names: ["ᔮᓐᓄᐊᕆ","ᕖᕝᕗᐊᕆ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌᓯ","ᓯᑎᐱᕆ","ᐅᑐᐱᕆ","ᓄᕕᐱᕆ","ᑎᓯᐱᕆ",""], + namesAbbr: ["ᔮᓐᓄ","ᕖᕝᕗ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌ","ᓯᑎᐱ","ᐅᑐᐱ","ᓄᕕᐱ","ᑎᓯᐱ",""] + }, + patterns: { + d: "d/M/yyyy", + D: "dddd,MMMM dd,yyyy", + f: "dddd,MMMM dd,yyyy h:mm tt", + F: "dddd,MMMM dd,yyyy h:mm:ss tt", + Y: "MMMM,yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.iu-Latn-CA.js b/libs/js/globalize/lib/cultures/globalize.culture.iu-Latn-CA.js new file mode 100644 index 00000000..2fa14676 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.iu-Latn-CA.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture iu-Latn-CA + * + * 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( "iu-Latn-CA", "default", { + name: "iu-Latn-CA", + englishName: "Inuktitut (Latin, Canada)", + nativeName: "Inuktitut (Kanatami)", + language: "iu-Latn", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Naattiinguja","Naggajjau","Aippiq","Pingatsiq","Sitammiq","Tallirmiq","Sivataarvik"], + namesAbbr: ["Nat","Nag","Aip","Pi","Sit","Tal","Siv"], + namesShort: ["N","N","A","P","S","T","S"] + }, + months: { + names: ["Jaannuari","Viivvuari","Maatsi","Iipuri","Mai","Juuni","Julai","Aaggiisi","Sitipiri","Utupiri","Nuvipiri","Tisipiri",""], + namesAbbr: ["Jan","Viv","Mas","Ipu","Mai","Jun","Jul","Agi","Sii","Uut","Nuv","Tis",""] + }, + patterns: { + d: "d/MM/yyyy", + D: "ddd, MMMM dd,yyyy", + f: "ddd, MMMM dd,yyyy h:mm tt", + F: "ddd, MMMM dd,yyyy h:mm:ss tt" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.iu-Latn.js b/libs/js/globalize/lib/cultures/globalize.culture.iu-Latn.js new file mode 100644 index 00000000..d2e54fa8 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.iu-Latn.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture iu-Latn + * + * 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( "iu-Latn", "default", { + name: "iu-Latn", + englishName: "Inuktitut (Latin)", + nativeName: "Inuktitut", + language: "iu-Latn", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Naattiinguja","Naggajjau","Aippiq","Pingatsiq","Sitammiq","Tallirmiq","Sivataarvik"], + namesAbbr: ["Nat","Nag","Aip","Pi","Sit","Tal","Siv"], + namesShort: ["N","N","A","P","S","T","S"] + }, + months: { + names: ["Jaannuari","Viivvuari","Maatsi","Iipuri","Mai","Juuni","Julai","Aaggiisi","Sitipiri","Utupiri","Nuvipiri","Tisipiri",""], + namesAbbr: ["Jan","Viv","Mas","Ipu","Mai","Jun","Jul","Agi","Sii","Uut","Nuv","Tis",""] + }, + patterns: { + d: "d/MM/yyyy", + D: "ddd, MMMM dd,yyyy", + f: "ddd, MMMM dd,yyyy h:mm tt", + F: "ddd, MMMM dd,yyyy h:mm:ss tt" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.iu.js b/libs/js/globalize/lib/cultures/globalize.culture.iu.js new file mode 100644 index 00000000..093956b9 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.iu.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture iu + * + * 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( "iu", "default", { + name: "iu", + englishName: "Inuktitut", + nativeName: "Inuktitut", + language: "iu", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Naattiinguja","Naggajjau","Aippiq","Pingatsiq","Sitammiq","Tallirmiq","Sivataarvik"], + namesAbbr: ["Nat","Nag","Aip","Pi","Sit","Tal","Siv"], + namesShort: ["N","N","A","P","S","T","S"] + }, + months: { + names: ["Jaannuari","Viivvuari","Maatsi","Iipuri","Mai","Juuni","Julai","Aaggiisi","Sitipiri","Utupiri","Nuvipiri","Tisipiri",""], + namesAbbr: ["Jan","Viv","Mas","Ipu","Mai","Jun","Jul","Agi","Sii","Uut","Nuv","Tis",""] + }, + patterns: { + d: "d/MM/yyyy", + D: "ddd, MMMM dd,yyyy", + f: "ddd, MMMM dd,yyyy h:mm tt", + F: "ddd, MMMM dd,yyyy h:mm:ss tt" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ja-JP.js b/libs/js/globalize/lib/cultures/globalize.culture.ja-JP.js new file mode 100644 index 00000000..a9469d70 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ja-JP.js @@ -0,0 +1,100 @@ +/* + * Globalize Culture ja-JP + * + * 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( "ja-JP", "default", { + name: "ja-JP", + englishName: "Japanese (Japan)", + nativeName: "日本語 (日本)", + language: "ja", + numberFormat: { + NaN: "NaN (非数値)", + negativeInfinity: "-∞", + positiveInfinity: "+∞", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["-$n","$n"], + decimals: 0, + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], + namesAbbr: ["日","月","火","水","木","金","土"], + namesShort: ["日","月","火","水","木","金","土"] + }, + months: { + names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["午前","午前","午前"], + PM: ["午後","午後","午後"], + eras: [{"name":"西暦","start":null,"offset":0}], + patterns: { + d: "yyyy/MM/dd", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + }, + Japanese: { + name: "Japanese", + days: { + names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], + namesAbbr: ["日","月","火","水","木","金","土"], + namesShort: ["日","月","火","水","木","金","土"] + }, + months: { + names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["午前","午前","午前"], + PM: ["午後","午後","午後"], + eras: [{"name":"平成","start":null,"offset":1867},{"name":"昭和","start":-1812153600000,"offset":1911},{"name":"大正","start":-1357603200000,"offset":1925},{"name":"明治","start":60022080000,"offset":1988}], + twoDigitYearMax: 99, + patterns: { + d: "gg y/M/d", + D: "gg y'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "gg y'年'M'月'd'日' H:mm", + F: "gg y'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "gg y'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ja.js b/libs/js/globalize/lib/cultures/globalize.culture.ja.js new file mode 100644 index 00000000..1539f993 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ja.js @@ -0,0 +1,100 @@ +/* + * Globalize Culture ja + * + * 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( "ja", "default", { + name: "ja", + englishName: "Japanese", + nativeName: "日本語", + language: "ja", + numberFormat: { + NaN: "NaN (非数値)", + negativeInfinity: "-∞", + positiveInfinity: "+∞", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["-$n","$n"], + decimals: 0, + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], + namesAbbr: ["日","月","火","水","木","金","土"], + namesShort: ["日","月","火","水","木","金","土"] + }, + months: { + names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["午前","午前","午前"], + PM: ["午後","午後","午後"], + eras: [{"name":"西暦","start":null,"offset":0}], + patterns: { + d: "yyyy/MM/dd", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + }, + Japanese: { + name: "Japanese", + days: { + names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], + namesAbbr: ["日","月","火","水","木","金","土"], + namesShort: ["日","月","火","水","木","金","土"] + }, + months: { + names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["午前","午前","午前"], + PM: ["午後","午後","午後"], + eras: [{"name":"平成","start":null,"offset":1867},{"name":"昭和","start":-1812153600000,"offset":1911},{"name":"大正","start":-1357603200000,"offset":1925},{"name":"明治","start":60022080000,"offset":1988}], + twoDigitYearMax: 99, + patterns: { + d: "gg y/M/d", + D: "gg y'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "gg y'年'M'月'd'日' H:mm", + F: "gg y'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "gg y'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ka-GE.js b/libs/js/globalize/lib/cultures/globalize.culture.ka-GE.js new file mode 100644 index 00000000..97b767b6 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ka-GE.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture ka-GE + * + * 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( "ka-GE", "default", { + name: "ka-GE", + englishName: "Georgian (Georgia)", + nativeName: "ქართული (საქართველო)", + language: "ka", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Lari" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"], + namesAbbr: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"], + namesShort: ["კ","ო","ს","ო","ხ","პ","შ"] + }, + months: { + names: ["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი",""], + namesAbbr: ["იან","თებ","მარ","აპრ","მაის","ივნ","ივლ","აგვ","სექ","ოქტ","ნოემ","დეკ",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "yyyy 'წლის' dd MM, dddd", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'წლის' dd MM, dddd H:mm", + F: "yyyy 'წლის' dd MM, dddd H:mm:ss", + M: "dd MM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ka.js b/libs/js/globalize/lib/cultures/globalize.culture.ka.js new file mode 100644 index 00000000..6e19adf3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ka.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture ka + * + * 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( "ka", "default", { + name: "ka", + englishName: "Georgian", + nativeName: "ქართული", + language: "ka", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Lari" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"], + namesAbbr: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"], + namesShort: ["კ","ო","ს","ო","ხ","პ","შ"] + }, + months: { + names: ["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი",""], + namesAbbr: ["იან","თებ","მარ","აპრ","მაის","ივნ","ივლ","აგვ","სექ","ოქტ","ნოემ","დეკ",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "yyyy 'წლის' dd MM, dddd", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'წლის' dd MM, dddd H:mm", + F: "yyyy 'წლის' dd MM, dddd H:mm:ss", + M: "dd MM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.kk-KZ.js b/libs/js/globalize/lib/cultures/globalize.culture.kk-KZ.js new file mode 100644 index 00000000..138d4862 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.kk-KZ.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture kk-KZ + * + * 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( "kk-KZ", "default", { + name: "kk-KZ", + englishName: "Kazakh (Kazakhstan)", + nativeName: "Қазақ (Қазақстан)", + language: "kk", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-$n","$n"], + ",": " ", + ".": "-", + symbol: "Т" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"], + namesAbbr: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"], + namesShort: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"] + }, + months: { + names: ["қаңтар","ақпан","наурыз","сәуір","мамыр","маусым","шілде","тамыз","қыркүйек","қазан","қараша","желтоқсан",""], + namesAbbr: ["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy 'ж.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'ж.' H:mm", + F: "d MMMM yyyy 'ж.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.kk.js b/libs/js/globalize/lib/cultures/globalize.culture.kk.js new file mode 100644 index 00000000..75309888 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.kk.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture kk + * + * 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( "kk", "default", { + name: "kk", + englishName: "Kazakh", + nativeName: "Қазақ", + language: "kk", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-$n","$n"], + ",": " ", + ".": "-", + symbol: "Т" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"], + namesAbbr: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"], + namesShort: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"] + }, + months: { + names: ["қаңтар","ақпан","наурыз","сәуір","мамыр","маусым","шілде","тамыз","қыркүйек","қазан","қараша","желтоқсан",""], + namesAbbr: ["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy 'ж.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'ж.' H:mm", + F: "d MMMM yyyy 'ж.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.kl-GL.js b/libs/js/globalize/lib/cultures/globalize.culture.kl-GL.js new file mode 100644 index 00000000..03b9637f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.kl-GL.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture kl-GL + * + * 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( "kl-GL", "default", { + name: "kl-GL", + englishName: "Greenlandic (Greenland)", + nativeName: "kalaallisut (Kalaallit Nunaat)", + language: "kl", + numberFormat: { + ",": ".", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + groupSizes: [3,0], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,0], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sapaat","ataasinngorneq","marlunngorneq","pingasunngorneq","sisamanngorneq","tallimanngorneq","arfininngorneq"], + namesAbbr: ["sap","ata","mar","ping","sis","tal","arf"], + namesShort: ["sa","at","ma","pi","si","ta","ar"] + }, + months: { + names: ["januari","februari","martsi","apriili","maaji","juni","juli","aggusti","septembari","oktobari","novembari","decembari",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.kl.js b/libs/js/globalize/lib/cultures/globalize.culture.kl.js new file mode 100644 index 00000000..cf71fed7 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.kl.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture kl + * + * 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( "kl", "default", { + name: "kl", + englishName: "Greenlandic", + nativeName: "kalaallisut", + language: "kl", + numberFormat: { + ",": ".", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + groupSizes: [3,0], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,0], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sapaat","ataasinngorneq","marlunngorneq","pingasunngorneq","sisamanngorneq","tallimanngorneq","arfininngorneq"], + namesAbbr: ["sap","ata","mar","ping","sis","tal","arf"], + namesShort: ["sa","at","ma","pi","si","ta","ar"] + }, + months: { + names: ["januari","februari","martsi","apriili","maaji","juni","juli","aggusti","septembari","oktobari","novembari","decembari",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.km-KH.js b/libs/js/globalize/lib/cultures/globalize.culture.km-KH.js new file mode 100644 index 00000000..6c2ea1cf --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.km-KH.js @@ -0,0 +1,99 @@ +/* + * Globalize Culture km-KH + * + * 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( "km-KH", "default", { + name: "km-KH", + englishName: "Khmer (Cambodia)", + nativeName: "ខ្មែរ (កម្ពុជា)", + language: "km", + numberFormat: { + pattern: ["- n"], + groupSizes: [3,0], + NaN: "NAN", + negativeInfinity: "-- អនន្ត", + positiveInfinity: "អនន្ត", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["-n$","n$"], + symbol: "៛" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["ថ្ងៃអាទិត្យ","ថ្ងៃច័ន្ទ","ថ្ងៃអង្គារ","ថ្ងៃពុធ","ថ្ងៃព្រហស្បតិ៍","ថ្ងៃសុក្រ","ថ្ងៃសៅរ៍"], + namesAbbr: ["អាទិ.","ច.","អ.","ពុ","ព្រហ.","សុ.","ស."], + namesShort: ["អា","ច","អ","ពុ","ព្","សុ","ស"] + }, + months: { + names: ["មករា","កុម្ភៈ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ",""], + namesAbbr: ["១","២","៣","៤","៥","៦","៧","៨","៩","១០","១១","១២",""] + }, + AM: ["ព្រឹក","ព្រឹក","ព្រឹក"], + PM: ["ល្ងាច","ល្ងាច","ល្ងាច"], + eras: [{"name":"មុនគ.ស.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "d MMMM yyyy H:mm tt", + F: "d MMMM yyyy HH:mm:ss", + M: "'ថ្ងៃទី' dd 'ខែ' MM", + Y: "'ខែ' MM 'ឆ្នាំ' yyyy" + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["أ","ا","ث","أ","خ","ج","س"] + }, + months: { + names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ព្រឹក","ព្រឹក","ព្រឹក"], + PM: ["ល្ងាច","ល្ងាច","ល្ងាច"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm tt", + F: "dddd, MMMM dd, yyyy HH:mm:ss" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.km.js b/libs/js/globalize/lib/cultures/globalize.culture.km.js new file mode 100644 index 00000000..b3d9b4c2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.km.js @@ -0,0 +1,99 @@ +/* + * Globalize Culture km + * + * 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( "km", "default", { + name: "km", + englishName: "Khmer", + nativeName: "ខ្មែរ", + language: "km", + numberFormat: { + pattern: ["- n"], + groupSizes: [3,0], + NaN: "NAN", + negativeInfinity: "-- អនន្ត", + positiveInfinity: "អនន្ត", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["-n$","n$"], + symbol: "៛" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["ថ្ងៃអាទិត្យ","ថ្ងៃច័ន្ទ","ថ្ងៃអង្គារ","ថ្ងៃពុធ","ថ្ងៃព្រហស្បតិ៍","ថ្ងៃសុក្រ","ថ្ងៃសៅរ៍"], + namesAbbr: ["អាទិ.","ច.","អ.","ពុ","ព្រហ.","សុ.","ស."], + namesShort: ["អា","ច","អ","ពុ","ព្","សុ","ស"] + }, + months: { + names: ["មករា","កុម្ភៈ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ",""], + namesAbbr: ["១","២","៣","៤","៥","៦","៧","៨","៩","១០","១១","១២",""] + }, + AM: ["ព្រឹក","ព្រឹក","ព្រឹក"], + PM: ["ល្ងាច","ល្ងាច","ល្ងាច"], + eras: [{"name":"មុនគ.ស.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "d MMMM yyyy H:mm tt", + F: "d MMMM yyyy HH:mm:ss", + M: "'ថ្ងៃទី' dd 'ខែ' MM", + Y: "'ខែ' MM 'ឆ្នាំ' yyyy" + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["أ","ا","ث","أ","خ","ج","س"] + }, + months: { + names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ព្រឹក","ព្រឹក","ព្រឹក"], + PM: ["ល្ងាច","ល្ងាច","ល្ងាច"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm tt", + F: "dddd, MMMM dd, yyyy HH:mm:ss" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.kn-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.kn-IN.js new file mode 100644 index 00000000..23b86847 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.kn-IN.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture kn-IN + * + * 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( "kn-IN", "default", { + name: "kn-IN", + englishName: "Kannada (India)", + nativeName: "ಕನ್ನಡ (ಭಾರತ)", + language: "kn", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ರೂ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ಭಾನುವಾರ","ಸೋಮವಾರ","ಮಂಗಳವಾರ","ಬುಧವಾರ","ಗುರುವಾರ","ಶುಕ್ರವಾರ","ಶನಿವಾರ"], + namesAbbr: ["ಭಾನು.","ಸೋಮ.","ಮಂಗಳ.","ಬುಧ.","ಗುರು.","ಶುಕ್ರ.","ಶನಿ."], + namesShort: ["ರ","ಸ","ಮ","ಬ","ಗ","ಶ","ಶ"] + }, + months: { + names: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""], + namesAbbr: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""] + }, + AM: ["ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"], + PM: ["ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.kn.js b/libs/js/globalize/lib/cultures/globalize.culture.kn.js new file mode 100644 index 00000000..43322e2f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.kn.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture kn + * + * 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( "kn", "default", { + name: "kn", + englishName: "Kannada", + nativeName: "ಕನ್ನಡ", + language: "kn", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ರೂ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ಭಾನುವಾರ","ಸೋಮವಾರ","ಮಂಗಳವಾರ","ಬುಧವಾರ","ಗುರುವಾರ","ಶುಕ್ರವಾರ","ಶನಿವಾರ"], + namesAbbr: ["ಭಾನು.","ಸೋಮ.","ಮಂಗಳ.","ಬುಧ.","ಗುರು.","ಶುಕ್ರ.","ಶನಿ."], + namesShort: ["ರ","ಸ","ಮ","ಬ","ಗ","ಶ","ಶ"] + }, + months: { + names: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""], + namesAbbr: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""] + }, + AM: ["ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"], + PM: ["ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ko-KR.js b/libs/js/globalize/lib/cultures/globalize.culture.ko-KR.js new file mode 100644 index 00000000..ce976857 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ko-KR.js @@ -0,0 +1,96 @@ +/* + * Globalize Culture ko-KR + * + * 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( "ko-KR", "default", { + name: "ko-KR", + englishName: "Korean (Korea)", + nativeName: "한국어 (대한민국)", + language: "ko", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + decimals: 0, + symbol: "₩" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"], + namesAbbr: ["일","월","화","수","목","금","토"], + namesShort: ["일","월","화","수","목","금","토"] + }, + months: { + names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["오전","오전","오전"], + PM: ["오후","오후","오후"], + eras: [{"name":"서기","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy'년' M'월' d'일' dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy'년' M'월' d'일' dddd tt h:mm", + F: "yyyy'년' M'월' d'일' dddd tt h:mm:ss", + M: "M'월' d'일'", + Y: "yyyy'년' M'월'" + } + }, + Korean: { + name: "Korean", + "/": "-", + days: { + names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"], + namesAbbr: ["일","월","화","수","목","금","토"], + namesShort: ["일","월","화","수","목","금","토"] + }, + months: { + names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["오전","오전","오전"], + PM: ["오후","오후","오후"], + eras: [{"name":"단기","start":null,"offset":-2333}], + twoDigitYearMax: 4362, + patterns: { + d: "gg yyyy-MM-dd", + D: "gg yyyy'년' M'월' d'일' dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "gg yyyy'년' M'월' d'일' dddd tt h:mm", + F: "gg yyyy'년' M'월' d'일' dddd tt h:mm:ss", + M: "M'월' d'일'", + Y: "gg yyyy'년' M'월'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ko.js b/libs/js/globalize/lib/cultures/globalize.culture.ko.js new file mode 100644 index 00000000..a0a73760 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ko.js @@ -0,0 +1,96 @@ +/* + * Globalize Culture ko + * + * 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( "ko", "default", { + name: "ko", + englishName: "Korean", + nativeName: "한국어", + language: "ko", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + decimals: 0, + symbol: "₩" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"], + namesAbbr: ["일","월","화","수","목","금","토"], + namesShort: ["일","월","화","수","목","금","토"] + }, + months: { + names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["오전","오전","오전"], + PM: ["오후","오후","오후"], + eras: [{"name":"서기","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy'년' M'월' d'일' dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy'년' M'월' d'일' dddd tt h:mm", + F: "yyyy'년' M'월' d'일' dddd tt h:mm:ss", + M: "M'월' d'일'", + Y: "yyyy'년' M'월'" + } + }, + Korean: { + name: "Korean", + "/": "-", + days: { + names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"], + namesAbbr: ["일","월","화","수","목","금","토"], + namesShort: ["일","월","화","수","목","금","토"] + }, + months: { + names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["오전","오전","오전"], + PM: ["오후","오후","오후"], + eras: [{"name":"단기","start":null,"offset":-2333}], + twoDigitYearMax: 4362, + patterns: { + d: "gg yyyy-MM-dd", + D: "gg yyyy'년' M'월' d'일' dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "gg yyyy'년' M'월' d'일' dddd tt h:mm", + F: "gg yyyy'년' M'월' d'일' dddd tt h:mm:ss", + M: "M'월' d'일'", + Y: "gg yyyy'년' M'월'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.kok-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.kok-IN.js new file mode 100644 index 00000000..ec8cab9a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.kok-IN.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture kok-IN + * + * 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( "kok-IN", "default", { + name: "kok-IN", + englishName: "Konkani (India)", + nativeName: "कोंकणी (भारत)", + language: "kok", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.kok.js b/libs/js/globalize/lib/cultures/globalize.culture.kok.js new file mode 100644 index 00000000..65a3678c --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.kok.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture kok + * + * 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( "kok", "default", { + name: "kok", + englishName: "Konkani", + nativeName: "कोंकणी", + language: "kok", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ky-KG.js b/libs/js/globalize/lib/cultures/globalize.culture.ky-KG.js new file mode 100644 index 00000000..3c35abdd --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ky-KG.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture ky-KG + * + * 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( "ky-KG", "default", { + name: "ky-KG", + englishName: "Kyrgyz (Kyrgyzstan)", + nativeName: "Кыргыз (Кыргызстан)", + language: "ky", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": "-", + symbol: "сом" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Жекшемби","Дүйшөмбү","Шейшемби","Шаршемби","Бейшемби","Жума","Ишемби"], + namesAbbr: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"], + namesShort: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"] + }, + months: { + names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d'-'MMMM yyyy'-ж.'", + t: "H:mm", + T: "H:mm:ss", + f: "d'-'MMMM yyyy'-ж.' H:mm", + F: "d'-'MMMM yyyy'-ж.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy'-ж.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ky.js b/libs/js/globalize/lib/cultures/globalize.culture.ky.js new file mode 100644 index 00000000..7bc386b3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ky.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture ky + * + * 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( "ky", "default", { + name: "ky", + englishName: "Kyrgyz", + nativeName: "Кыргыз", + language: "ky", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": "-", + symbol: "сом" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Жекшемби","Дүйшөмбү","Шейшемби","Шаршемби","Бейшемби","Жума","Ишемби"], + namesAbbr: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"], + namesShort: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"] + }, + months: { + names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d'-'MMMM yyyy'-ж.'", + t: "H:mm", + T: "H:mm:ss", + f: "d'-'MMMM yyyy'-ж.' H:mm", + F: "d'-'MMMM yyyy'-ж.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy'-ж.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.lb-LU.js b/libs/js/globalize/lib/cultures/globalize.culture.lb-LU.js new file mode 100644 index 00000000..ef9d39ad --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.lb-LU.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture lb-LU + * + * 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( "lb-LU", "default", { + name: "lb-LU", + englishName: "Luxembourgish (Luxembourg)", + nativeName: "Lëtzebuergesch (Luxembourg)", + language: "lb", + numberFormat: { + ",": " ", + ".": ",", + NaN: "n. num.", + negativeInfinity: "-onendlech", + positiveInfinity: "+onendlech", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"], + namesAbbr: ["Son","Méi","Dën","Mët","Don","Fre","Sam"], + namesShort: ["So","Mé","Dë","Më","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.lb.js b/libs/js/globalize/lib/cultures/globalize.culture.lb.js new file mode 100644 index 00000000..56983ff8 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.lb.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture 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( "lb", "default", { + name: "lb", + englishName: "Luxembourgish", + nativeName: "Lëtzebuergesch", + language: "lb", + numberFormat: { + ",": " ", + ".": ",", + NaN: "n. num.", + negativeInfinity: "-onendlech", + positiveInfinity: "+onendlech", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"], + namesAbbr: ["Son","Méi","Dën","Mët","Don","Fre","Sam"], + namesShort: ["So","Mé","Dë","Më","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.lo-LA.js b/libs/js/globalize/lib/cultures/globalize.culture.lo-LA.js new file mode 100644 index 00000000..5556d3cf --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.lo-LA.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture lo-LA + * + * 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( "lo-LA", "default", { + name: "lo-LA", + englishName: "Lao (Lao P.D.R.)", + nativeName: "ລາວ (ສ.ປ.ປ. ລາວ)", + language: "lo", + numberFormat: { + pattern: ["(n)"], + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + }, + currency: { + pattern: ["(n$)","n$"], + groupSizes: [3,0], + symbol: "₭" + } + }, + calendars: { + standard: { + days: { + names: ["ວັນອາທິດ","ວັນຈັນ","ວັນອັງຄານ","ວັນພຸດ","ວັນພະຫັດ","ວັນສຸກ","ວັນເສົາ"], + namesAbbr: ["ອາທິດ","ຈັນ","ອັງຄານ","ພຸດ","ພະຫັດ","ສຸກ","ເສົາ"], + namesShort: ["ອ","ຈ","ອ","ພ","ພ","ສ","ເ"] + }, + months: { + names: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""], + namesAbbr: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""] + }, + AM: ["ເຊົ້າ","ເຊົ້າ","ເຊົ້າ"], + PM: ["ແລງ","ແລງ","ແລງ"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "dd MMMM yyyy H:mm tt", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.lo.js b/libs/js/globalize/lib/cultures/globalize.culture.lo.js new file mode 100644 index 00000000..bea14aaa --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.lo.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture lo + * + * 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( "lo", "default", { + name: "lo", + englishName: "Lao", + nativeName: "ລາວ", + language: "lo", + numberFormat: { + pattern: ["(n)"], + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + }, + currency: { + pattern: ["(n$)","n$"], + groupSizes: [3,0], + symbol: "₭" + } + }, + calendars: { + standard: { + days: { + names: ["ວັນອາທິດ","ວັນຈັນ","ວັນອັງຄານ","ວັນພຸດ","ວັນພະຫັດ","ວັນສຸກ","ວັນເສົາ"], + namesAbbr: ["ອາທິດ","ຈັນ","ອັງຄານ","ພຸດ","ພະຫັດ","ສຸກ","ເສົາ"], + namesShort: ["ອ","ຈ","ອ","ພ","ພ","ສ","ເ"] + }, + months: { + names: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""], + namesAbbr: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""] + }, + AM: ["ເຊົ້າ","ເຊົ້າ","ເຊົ້າ"], + PM: ["ແລງ","ແລງ","ແລງ"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "dd MMMM yyyy H:mm tt", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.lt-LT.js b/libs/js/globalize/lib/cultures/globalize.culture.lt-LT.js new file mode 100644 index 00000000..d0d31a3f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.lt-LT.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture lt-LT + * + * 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( "lt-LT", "default", { + name: "lt-LT", + englishName: "Lithuanian (Lithuania)", + nativeName: "lietuvių (Lietuva)", + language: "lt", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-begalybė", + positiveInfinity: "begalybė", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Lt" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"], + namesAbbr: ["Sk","Pr","An","Tr","Kt","Pn","Št"], + namesShort: ["S","P","A","T","K","Pn","Š"] + }, + months: { + names: ["sausis","vasaris","kovas","balandis","gegužė","birželis","liepa","rugpjūtis","rugsėjis","spalis","lapkritis","gruodis",""], + namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""] + }, + monthsGenitive: { + names: ["sausio","vasario","kovo","balandžio","gegužės","birželio","liepos","rugpjūčio","rugsėjo","spalio","lapkričio","gruodžio",""], + namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy.MM.dd", + D: "yyyy 'm.' MMMM d 'd.'", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'm.' MMMM d 'd.' HH:mm", + F: "yyyy 'm.' MMMM d 'd.' HH:mm:ss", + M: "MMMM d 'd.'", + Y: "yyyy 'm.' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.lt.js b/libs/js/globalize/lib/cultures/globalize.culture.lt.js new file mode 100644 index 00000000..e06d87f4 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.lt.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture lt + * + * 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( "lt", "default", { + name: "lt", + englishName: "Lithuanian", + nativeName: "lietuvių", + language: "lt", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-begalybė", + positiveInfinity: "begalybė", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Lt" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"], + namesAbbr: ["Sk","Pr","An","Tr","Kt","Pn","Št"], + namesShort: ["S","P","A","T","K","Pn","Š"] + }, + months: { + names: ["sausis","vasaris","kovas","balandis","gegužė","birželis","liepa","rugpjūtis","rugsėjis","spalis","lapkritis","gruodis",""], + namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""] + }, + monthsGenitive: { + names: ["sausio","vasario","kovo","balandžio","gegužės","birželio","liepos","rugpjūčio","rugsėjo","spalio","lapkričio","gruodžio",""], + namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy.MM.dd", + D: "yyyy 'm.' MMMM d 'd.'", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'm.' MMMM d 'd.' HH:mm", + F: "yyyy 'm.' MMMM d 'd.' HH:mm:ss", + M: "MMMM d 'd.'", + Y: "yyyy 'm.' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.lv-LV.js b/libs/js/globalize/lib/cultures/globalize.culture.lv-LV.js new file mode 100644 index 00000000..145329b1 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.lv-LV.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture lv-LV + * + * 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( "lv-LV", "default", { + name: "lv-LV", + englishName: "Latvian (Latvia)", + nativeName: "latviešu (Latvija)", + language: "lv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-bezgalība", + positiveInfinity: "bezgalība", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": " ", + ".": ",", + symbol: "Ls" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"], + namesAbbr: ["sv","pr","ot","tr","ce","pk","se"], + namesShort: ["sv","pr","ot","tr","ce","pk","se"] + }, + months: { + names: ["janvāris","februāris","marts","aprīlis","maijs","jūnijs","jūlijs","augusts","septembris","oktobris","novembris","decembris",""], + namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""] + }, + monthsGenitive: { + names: ["janvārī","februārī","martā","aprīlī","maijā","jūnijā","jūlijā","augustā","septembrī","oktobrī","novembrī","decembrī",""], + namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy.MM.dd.", + D: "dddd, yyyy'. gada 'd. MMMM", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, yyyy'. gada 'd. MMMM H:mm", + F: "dddd, yyyy'. gada 'd. MMMM H:mm:ss", + M: "d. MMMM", + Y: "yyyy. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.lv.js b/libs/js/globalize/lib/cultures/globalize.culture.lv.js new file mode 100644 index 00000000..5065722c --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.lv.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture lv + * + * 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( "lv", "default", { + name: "lv", + englishName: "Latvian", + nativeName: "latviešu", + language: "lv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-bezgalība", + positiveInfinity: "bezgalība", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": " ", + ".": ",", + symbol: "Ls" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"], + namesAbbr: ["sv","pr","ot","tr","ce","pk","se"], + namesShort: ["sv","pr","ot","tr","ce","pk","se"] + }, + months: { + names: ["janvāris","februāris","marts","aprīlis","maijs","jūnijs","jūlijs","augusts","septembris","oktobris","novembris","decembris",""], + namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""] + }, + monthsGenitive: { + names: ["janvārī","februārī","martā","aprīlī","maijā","jūnijā","jūlijā","augustā","septembrī","oktobrī","novembrī","decembrī",""], + namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy.MM.dd.", + D: "dddd, yyyy'. gada 'd. MMMM", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, yyyy'. gada 'd. MMMM H:mm", + F: "dddd, yyyy'. gada 'd. MMMM H:mm:ss", + M: "d. MMMM", + Y: "yyyy. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mi-NZ.js b/libs/js/globalize/lib/cultures/globalize.culture.mi-NZ.js new file mode 100644 index 00000000..03720c9f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mi-NZ.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture mi-NZ + * + * 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( "mi-NZ", "default", { + name: "mi-NZ", + englishName: "Maori (New Zealand)", + nativeName: "Reo Māori (Aotearoa)", + language: "mi", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Rātapu","Rāhina","Rātū","Rāapa","Rāpare","Rāmere","Rāhoroi"], + namesAbbr: ["Ta","Hi","Tū","Apa","Pa","Me","Ho"], + namesShort: ["Ta","Hi","Tū","Aa","Pa","Me","Ho"] + }, + months: { + names: ["Kohi-tātea","Hui-tanguru","Poutū-te-rangi","Paenga-whāwhā","Haratua","Pipiri","Hōngongoi","Here-turi-kōkā","Mahuru","Whiringa-ā-nuku","Whiringa-ā-rangi","Hakihea",""], + namesAbbr: ["Kohi","Hui","Pou","Pae","Hara","Pipi","Hōngo","Here","Mahu","Nuku","Rangi","Haki",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd MMMM, yyyy", + f: "dddd, dd MMMM, yyyy h:mm tt", + F: "dddd, dd MMMM, yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM, yy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mi.js b/libs/js/globalize/lib/cultures/globalize.culture.mi.js new file mode 100644 index 00000000..5f861dbb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mi.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture mi + * + * 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( "mi", "default", { + name: "mi", + englishName: "Maori", + nativeName: "Reo Māori", + language: "mi", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Rātapu","Rāhina","Rātū","Rāapa","Rāpare","Rāmere","Rāhoroi"], + namesAbbr: ["Ta","Hi","Tū","Apa","Pa","Me","Ho"], + namesShort: ["Ta","Hi","Tū","Aa","Pa","Me","Ho"] + }, + months: { + names: ["Kohi-tātea","Hui-tanguru","Poutū-te-rangi","Paenga-whāwhā","Haratua","Pipiri","Hōngongoi","Here-turi-kōkā","Mahuru","Whiringa-ā-nuku","Whiringa-ā-rangi","Hakihea",""], + namesAbbr: ["Kohi","Hui","Pou","Pae","Hara","Pipi","Hōngo","Here","Mahu","Nuku","Rangi","Haki",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd MMMM, yyyy", + f: "dddd, dd MMMM, yyyy h:mm tt", + F: "dddd, dd MMMM, yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM, yy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mk-MK.js b/libs/js/globalize/lib/cultures/globalize.culture.mk-MK.js new file mode 100644 index 00000000..f0d5e517 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mk-MK.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture mk-MK + * + * 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( "mk-MK", "default", { + name: "mk-MK", + englishName: "Macedonian (Former Yugoslav Republic of Macedonia)", + nativeName: "македонски јазик (Македонија)", + language: "mk", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "ден." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недела","понеделник","вторник","среда","четврток","петок","сабота"], + namesAbbr: ["нед","пон","втр","срд","чет","пет","саб"], + namesShort: ["не","по","вт","ср","че","пе","са"] + }, + months: { + names: ["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември",""], + namesAbbr: ["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "dddd, dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, dd MMMM yyyy HH:mm", + F: "dddd, dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mk.js b/libs/js/globalize/lib/cultures/globalize.culture.mk.js new file mode 100644 index 00000000..a6f82109 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mk.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture mk + * + * 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( "mk", "default", { + name: "mk", + englishName: "Macedonian (FYROM)", + nativeName: "македонски јазик", + language: "mk", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "ден." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недела","понеделник","вторник","среда","четврток","петок","сабота"], + namesAbbr: ["нед","пон","втр","срд","чет","пет","саб"], + namesShort: ["не","по","вт","ср","че","пе","са"] + }, + months: { + names: ["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември",""], + namesAbbr: ["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "dddd, dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, dd MMMM yyyy HH:mm", + F: "dddd, dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ml-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.ml-IN.js new file mode 100644 index 00000000..3a915e57 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ml-IN.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture ml-IN + * + * 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( "ml-IN", "default", { + name: "ml-IN", + englishName: "Malayalam (India)", + nativeName: "മലയാളം (ഭാരതം)", + language: "ml", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ക" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["ഞായറാഴ്ച","തിങ്കളാഴ്ച","ചൊവ്വാഴ്ച","ബുധനാഴ്ച","വ്യാഴാഴ്ച","വെള്ളിയാഴ്ച","ശനിയാഴ്ച"], + namesAbbr: ["ഞായർ.","തിങ്കൾ.","ചൊവ്വ.","ബുധൻ.","വ്യാഴം.","വെള്ളി.","ശനി."], + namesShort: ["ഞ","ത","ച","ബ","വ","വെ","ശ"] + }, + months: { + names: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""], + namesAbbr: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""] + }, + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ml.js b/libs/js/globalize/lib/cultures/globalize.culture.ml.js new file mode 100644 index 00000000..183a2235 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ml.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture ml + * + * 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( "ml", "default", { + name: "ml", + englishName: "Malayalam", + nativeName: "മലയാളം", + language: "ml", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ക" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["ഞായറാഴ്ച","തിങ്കളാഴ്ച","ചൊവ്വാഴ്ച","ബുധനാഴ്ച","വ്യാഴാഴ്ച","വെള്ളിയാഴ്ച","ശനിയാഴ്ച"], + namesAbbr: ["ഞായർ.","തിങ്കൾ.","ചൊവ്വ.","ബുധൻ.","വ്യാഴം.","വെള്ളി.","ശനി."], + namesShort: ["ഞ","ത","ച","ബ","വ","വെ","ശ"] + }, + months: { + names: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""], + namesAbbr: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""] + }, + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mn-Cyrl.js b/libs/js/globalize/lib/cultures/globalize.culture.mn-Cyrl.js new file mode 100644 index 00000000..9493c43e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mn-Cyrl.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture mn-Cyrl + * + * 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( "mn-Cyrl", "default", { + name: "mn-Cyrl", + englishName: "Mongolian (Cyrillic)", + nativeName: "Монгол хэл", + language: "mn-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₮" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"], + namesAbbr: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"], + namesShort: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"] + }, + months: { + names: ["1 дүгээр сар","2 дугаар сар","3 дугаар сар","4 дүгээр сар","5 дугаар сар","6 дугаар сар","7 дугаар сар","8 дугаар сар","9 дүгээр сар","10 дугаар сар","11 дүгээр сар","12 дугаар сар",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + monthsGenitive: { + names: ["1 дүгээр сарын","2 дугаар сарын","3 дугаар сарын","4 дүгээр сарын","5 дугаар сарын","6 дугаар сарын","7 дугаар сарын","8 дугаар сарын","9 дүгээр сарын","10 дугаар сарын","11 дүгээр сарын","12 дугаар сарын",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + AM: null, + PM: null, + patterns: { + d: "yy.MM.dd", + D: "yyyy 'оны' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'оны' MMMM d H:mm", + F: "yyyy 'оны' MMMM d H:mm:ss", + M: "d MMMM", + Y: "yyyy 'он' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mn-MN.js b/libs/js/globalize/lib/cultures/globalize.culture.mn-MN.js new file mode 100644 index 00000000..90577b4f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mn-MN.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture mn-MN + * + * 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( "mn-MN", "default", { + name: "mn-MN", + englishName: "Mongolian (Cyrillic, Mongolia)", + nativeName: "Монгол хэл (Монгол улс)", + language: "mn-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₮" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"], + namesAbbr: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"], + namesShort: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"] + }, + months: { + names: ["1 дүгээр сар","2 дугаар сар","3 дугаар сар","4 дүгээр сар","5 дугаар сар","6 дугаар сар","7 дугаар сар","8 дугаар сар","9 дүгээр сар","10 дугаар сар","11 дүгээр сар","12 дугаар сар",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + monthsGenitive: { + names: ["1 дүгээр сарын","2 дугаар сарын","3 дугаар сарын","4 дүгээр сарын","5 дугаар сарын","6 дугаар сарын","7 дугаар сарын","8 дугаар сарын","9 дүгээр сарын","10 дугаар сарын","11 дүгээр сарын","12 дугаар сарын",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + AM: null, + PM: null, + patterns: { + d: "yy.MM.dd", + D: "yyyy 'оны' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'оны' MMMM d H:mm", + F: "yyyy 'оны' MMMM d H:mm:ss", + M: "d MMMM", + Y: "yyyy 'он' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mn-Mong-CN.js b/libs/js/globalize/lib/cultures/globalize.culture.mn-Mong-CN.js new file mode 100644 index 00000000..94b57dd4 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mn-Mong-CN.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture mn-Mong-CN + * + * 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( "mn-Mong-CN", "default", { + name: "mn-Mong-CN", + englishName: "Mongolian (Traditional Mongolian, PRC)", + nativeName: "ᠮᠤᠨᠭᠭᠤᠯ ᠬᠡᠯᠡ (ᠪᠦᠭᠦᠳᠡ ᠨᠠᠢᠷᠠᠮᠳᠠᠬᠤ ᠳᠤᠮᠳᠠᠳᠤ ᠠᠷᠠᠳ ᠣᠯᠣᠰ)", + language: "mn-Mong", + numberFormat: { + groupSizes: [3,0], + NaN: "ᠲᠤᠭᠠᠠ ᠪᠤᠰᠤ", + negativeInfinity: "ᠰᠦᠬᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠡᠬᠡ", + positiveInfinity: "ᠡᠶ᠋ᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠠᠬᠡ", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + groupSizes: [3,0], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["ᠭᠠᠷᠠᠭ ᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"], + namesAbbr: ["ᠭᠠᠷᠠᠭ ᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"], + namesShort: ["ᠡ","ᠨᠢ","ᠬᠣ","ᠭᠤ","ᠳᠥ","ᠲᠠ","ᠵᠢ"] + }, + months: { + names: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ",""], + namesAbbr: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ",""] + }, + AM: null, + PM: null, + eras: [{"name":"ᠣᠨ ᠲᠣᠭᠠᠯᠠᠯ ᠤᠨ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm", + F: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm:ss", + M: "M'ᠰᠠᠷᠠ' d'ᠡᠳᠦᠷ'", + Y: "yyyy'ᠣᠨ' M'ᠰᠠᠷᠠ'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mn-Mong.js b/libs/js/globalize/lib/cultures/globalize.culture.mn-Mong.js new file mode 100644 index 00000000..a2639730 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mn-Mong.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture mn-Mong + * + * 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( "mn-Mong", "default", { + name: "mn-Mong", + englishName: "Mongolian (Traditional Mongolian)", + nativeName: "ᠮᠤᠨᠭᠭᠤᠯ ᠬᠡᠯᠡ", + language: "mn-Mong", + numberFormat: { + groupSizes: [3,0], + NaN: "ᠲᠤᠭᠠᠠ ᠪᠤᠰᠤ", + negativeInfinity: "ᠰᠦᠬᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠡᠬᠡ", + positiveInfinity: "ᠡᠶ᠋ᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠠᠬᠡ", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + groupSizes: [3,0], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["ᠭᠠᠷᠠᠭ ᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"], + namesAbbr: ["ᠭᠠᠷᠠᠭ ᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"], + namesShort: ["ᠡ","ᠨᠢ","ᠬᠣ","ᠭᠤ","ᠳᠥ","ᠲᠠ","ᠵᠢ"] + }, + months: { + names: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ",""], + namesAbbr: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ",""] + }, + AM: null, + PM: null, + eras: [{"name":"ᠣᠨ ᠲᠣᠭᠠᠯᠠᠯ ᠤᠨ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm", + F: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm:ss", + M: "M'ᠰᠠᠷᠠ' d'ᠡᠳᠦᠷ'", + Y: "yyyy'ᠣᠨ' M'ᠰᠠᠷᠠ'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mn.js b/libs/js/globalize/lib/cultures/globalize.culture.mn.js new file mode 100644 index 00000000..acc45c4d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mn.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture mn + * + * 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( "mn", "default", { + name: "mn", + englishName: "Mongolian", + nativeName: "Монгол хэл", + language: "mn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₮" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"], + namesAbbr: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"], + namesShort: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"] + }, + months: { + names: ["1 дүгээр сар","2 дугаар сар","3 дугаар сар","4 дүгээр сар","5 дугаар сар","6 дугаар сар","7 дугаар сар","8 дугаар сар","9 дүгээр сар","10 дугаар сар","11 дүгээр сар","12 дугаар сар",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + monthsGenitive: { + names: ["1 дүгээр сарын","2 дугаар сарын","3 дугаар сарын","4 дүгээр сарын","5 дугаар сарын","6 дугаар сарын","7 дугаар сарын","8 дугаар сарын","9 дүгээр сарын","10 дугаар сарын","11 дүгээр сарын","12 дугаар сарын",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + AM: null, + PM: null, + patterns: { + d: "yy.MM.dd", + D: "yyyy 'оны' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'оны' MMMM d H:mm", + F: "yyyy 'оны' MMMM d H:mm:ss", + M: "d MMMM", + Y: "yyyy 'он' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.moh-CA.js b/libs/js/globalize/lib/cultures/globalize.culture.moh-CA.js new file mode 100644 index 00000000..ebea7928 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.moh-CA.js @@ -0,0 +1,52 @@ +/* + * Globalize Culture moh-CA + * + * 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( "moh-CA", "default", { + name: "moh-CA", + englishName: "Mohawk (Mohawk)", + nativeName: "Kanien'kéha", + language: "moh", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Awentatokentì:ke","Awentataón'ke","Ratironhia'kehronòn:ke","Soséhne","Okaristiiáhne","Ronwaia'tanentaktonhne","Entákta"], + namesShort: ["S","M","T","W","T","F","S"] + }, + months: { + names: ["Tsothohrkó:Wa","Enniska","Enniskó:Wa","Onerahtókha","Onerahtohkó:Wa","Ohiari:Ha","Ohiarihkó:Wa","Seskéha","Seskehkó:Wa","Kenténha","Kentenhkó:Wa","Tsothóhrha",""] + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.moh.js b/libs/js/globalize/lib/cultures/globalize.culture.moh.js new file mode 100644 index 00000000..e8fa748d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.moh.js @@ -0,0 +1,52 @@ +/* + * Globalize Culture moh + * + * 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( "moh", "default", { + name: "moh", + englishName: "Mohawk", + nativeName: "Kanien'kéha", + language: "moh", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Awentatokentì:ke","Awentataón'ke","Ratironhia'kehronòn:ke","Soséhne","Okaristiiáhne","Ronwaia'tanentaktonhne","Entákta"], + namesShort: ["S","M","T","W","T","F","S"] + }, + months: { + names: ["Tsothohrkó:Wa","Enniska","Enniskó:Wa","Onerahtókha","Onerahtohkó:Wa","Ohiari:Ha","Ohiarihkó:Wa","Seskéha","Seskehkó:Wa","Kenténha","Kentenhkó:Wa","Tsothóhrha",""] + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mr-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.mr-IN.js new file mode 100644 index 00000000..b671dca2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mr-IN.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture mr-IN + * + * 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( "mr-IN", "default", { + name: "mr-IN", + englishName: "Marathi (India)", + nativeName: "मराठी (भारत)", + language: "mr", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mr.js b/libs/js/globalize/lib/cultures/globalize.culture.mr.js new file mode 100644 index 00000000..2a59f153 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mr.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture mr + * + * 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( "mr", "default", { + name: "mr", + englishName: "Marathi", + nativeName: "मराठी", + language: "mr", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ms-BN.js b/libs/js/globalize/lib/cultures/globalize.culture.ms-BN.js new file mode 100644 index 00000000..61bedd07 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ms-BN.js @@ -0,0 +1,74 @@ +/* + * Globalize Culture ms-BN + * + * 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( "ms-BN", "default", { + name: "ms-BN", + englishName: "Malay (Brunei Darussalam)", + nativeName: "Bahasa Melayu (Brunei Darussalam)", + language: "ms", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + decimals: 0, + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"], + namesAbbr: ["Ahad","Isnin","Sel","Rabu","Khamis","Jumaat","Sabtu"], + namesShort: ["A","I","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sept","Okt","Nov","Dis",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ms-MY.js b/libs/js/globalize/lib/cultures/globalize.culture.ms-MY.js new file mode 100644 index 00000000..d6d916d4 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ms-MY.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture ms-MY + * + * 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( "ms-MY", "default", { + name: "ms-MY", + englishName: "Malay (Malaysia)", + nativeName: "Bahasa Melayu (Malaysia)", + language: "ms", + numberFormat: { + currency: { + decimals: 0, + symbol: "RM" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"], + namesAbbr: ["Ahad","Isnin","Sel","Rabu","Khamis","Jumaat","Sabtu"], + namesShort: ["A","I","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sept","Okt","Nov","Dis",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ms.js b/libs/js/globalize/lib/cultures/globalize.culture.ms.js new file mode 100644 index 00000000..033e5d25 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ms.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture ms + * + * 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( "ms", "default", { + name: "ms", + englishName: "Malay", + nativeName: "Bahasa Melayu", + language: "ms", + numberFormat: { + currency: { + decimals: 0, + symbol: "RM" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"], + namesAbbr: ["Ahad","Isnin","Sel","Rabu","Khamis","Jumaat","Sabtu"], + namesShort: ["A","I","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sept","Okt","Nov","Dis",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mt-MT.js b/libs/js/globalize/lib/cultures/globalize.culture.mt-MT.js new file mode 100644 index 00000000..bb7d40e1 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mt-MT.js @@ -0,0 +1,68 @@ +/* + * Globalize Culture mt-MT + * + * 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( "mt-MT", "default", { + name: "mt-MT", + englishName: "Maltese (Malta)", + nativeName: "Malti (Malta)", + language: "mt", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Il-Ħadd","It-Tnejn","It-Tlieta","L-Erbgħa","Il-Ħamis","Il-Ġimgħa","Is-Sibt"], + namesAbbr: ["Ħad","Tne","Tli","Erb","Ħam","Ġim","Sib"], + namesShort: ["I","I","I","L","I","I","I"] + }, + months: { + names: ["Jannar","Frar","Marzu","April","Mejju","Ġunju","Lulju","Awissu","Settembru","Ottubru","Novembru","Diċembru",""], + namesAbbr: ["Jan","Fra","Mar","Apr","Mej","Ġun","Lul","Awi","Set","Ott","Nov","Diċ",""] + }, + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' ta\\' 'MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' ta\\' 'MMMM yyyy HH:mm", + F: "dddd, d' ta\\' 'MMMM yyyy HH:mm:ss", + M: "d' ta\\' 'MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.mt.js b/libs/js/globalize/lib/cultures/globalize.culture.mt.js new file mode 100644 index 00000000..b7423600 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.mt.js @@ -0,0 +1,68 @@ +/* + * Globalize Culture mt + * + * 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( "mt", "default", { + name: "mt", + englishName: "Maltese", + nativeName: "Malti", + language: "mt", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Il-Ħadd","It-Tnejn","It-Tlieta","L-Erbgħa","Il-Ħamis","Il-Ġimgħa","Is-Sibt"], + namesAbbr: ["Ħad","Tne","Tli","Erb","Ħam","Ġim","Sib"], + namesShort: ["I","I","I","L","I","I","I"] + }, + months: { + names: ["Jannar","Frar","Marzu","April","Mejju","Ġunju","Lulju","Awissu","Settembru","Ottubru","Novembru","Diċembru",""], + namesAbbr: ["Jan","Fra","Mar","Apr","Mej","Ġun","Lul","Awi","Set","Ott","Nov","Diċ",""] + }, + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' ta\\' 'MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' ta\\' 'MMMM yyyy HH:mm", + F: "dddd, d' ta\\' 'MMMM yyyy HH:mm:ss", + M: "d' ta\\' 'MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.nb-NO.js b/libs/js/globalize/lib/cultures/globalize.culture.nb-NO.js new file mode 100644 index 00000000..4961cb1f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.nb-NO.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture nb-NO + * + * 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( "nb-NO", "default", { + name: "nb-NO", + englishName: "Norwegian, Bokmål (Norway)", + nativeName: "norsk, bokmål (Norge)", + language: "nb", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.nb.js b/libs/js/globalize/lib/cultures/globalize.culture.nb.js new file mode 100644 index 00000000..31e31441 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.nb.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture nb + * + * 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( "nb", "default", { + name: "nb", + englishName: "Norwegian (Bokmål)", + nativeName: "norsk (bokmål)", + language: "nb", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ne-NP.js b/libs/js/globalize/lib/cultures/globalize.culture.ne-NP.js new file mode 100644 index 00000000..6b408008 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ne-NP.js @@ -0,0 +1,68 @@ +/* + * Globalize Culture ne-NP + * + * 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( "ne-NP", "default", { + name: "ne-NP", + englishName: "Nepali (Nepal)", + nativeName: "नेपाली (नेपाल)", + language: "ne", + numberFormat: { + groupSizes: [3,2], + NaN: "nan", + negativeInfinity: "-infinity", + positiveInfinity: "infinity", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,2] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "रु" + } + }, + calendars: { + standard: { + days: { + names: ["आइतवार","सोमवार","मङ्गलवार","बुधवार","बिहीवार","शुक्रवार","शनिवार"], + namesAbbr: ["आइत","सोम","मङ्गल","बुध","बिही","शुक्र","शनि"], + namesShort: ["आ","सो","म","बु","बि","शु","श"] + }, + months: { + names: ["जनवरी","फेब्रुअरी","मार्च","अप्रिल","मे","जून","जुलाई","अगस्त","सेप्टेम्बर","अक्टोबर","नोभेम्बर","डिसेम्बर",""], + namesAbbr: ["जन","फेब","मार्च","अप्रिल","मे","जून","जुलाई","अग","सेप्ट","अक्ट","नोभ","डिस",""] + }, + AM: ["विहानी","विहानी","विहानी"], + PM: ["बेलुकी","बेलुकी","बेलुकी"], + eras: [{"name":"a.d.","start":null,"offset":0}], + patterns: { + Y: "MMMM,yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ne.js b/libs/js/globalize/lib/cultures/globalize.culture.ne.js new file mode 100644 index 00000000..874982fe --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ne.js @@ -0,0 +1,68 @@ +/* + * Globalize Culture ne + * + * 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( "ne", "default", { + name: "ne", + englishName: "Nepali", + nativeName: "नेपाली", + language: "ne", + numberFormat: { + groupSizes: [3,2], + NaN: "nan", + negativeInfinity: "-infinity", + positiveInfinity: "infinity", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,2] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "रु" + } + }, + calendars: { + standard: { + days: { + names: ["आइतवार","सोमवार","मङ्गलवार","बुधवार","बिहीवार","शुक्रवार","शनिवार"], + namesAbbr: ["आइत","सोम","मङ्गल","बुध","बिही","शुक्र","शनि"], + namesShort: ["आ","सो","म","बु","बि","शु","श"] + }, + months: { + names: ["जनवरी","फेब्रुअरी","मार्च","अप्रिल","मे","जून","जुलाई","अगस्त","सेप्टेम्बर","अक्टोबर","नोभेम्बर","डिसेम्बर",""], + namesAbbr: ["जन","फेब","मार्च","अप्रिल","मे","जून","जुलाई","अग","सेप्ट","अक्ट","नोभ","डिस",""] + }, + AM: ["विहानी","विहानी","विहानी"], + PM: ["बेलुकी","बेलुकी","बेलुकी"], + eras: [{"name":"a.d.","start":null,"offset":0}], + patterns: { + Y: "MMMM,yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.nl-BE.js b/libs/js/globalize/lib/cultures/globalize.culture.nl-BE.js new file mode 100644 index 00000000..c9f93c7f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.nl-BE.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture nl-BE + * + * 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( "nl-BE", "default", { + name: "nl-BE", + englishName: "Dutch (Belgium)", + nativeName: "Nederlands (België)", + language: "nl", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NaN (Niet-een-getal)", + negativeInfinity: "-oneindig", + positiveInfinity: "oneindig", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"], + namesAbbr: ["zo","ma","di","wo","do","vr","za"], + namesShort: ["zo","ma","di","wo","do","vr","za"] + }, + months: { + names: ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.nl-NL.js b/libs/js/globalize/lib/cultures/globalize.culture.nl-NL.js new file mode 100644 index 00000000..263d5afe --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.nl-NL.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture nl-NL + * + * 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( "nl-NL", "default", { + name: "nl-NL", + englishName: "Dutch (Netherlands)", + nativeName: "Nederlands (Nederland)", + language: "nl", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"], + namesAbbr: ["zo","ma","di","wo","do","vr","za"], + namesShort: ["zo","ma","di","wo","do","vr","za"] + }, + months: { + names: ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d-M-yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.nl.js b/libs/js/globalize/lib/cultures/globalize.culture.nl.js new file mode 100644 index 00000000..560fa979 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.nl.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture nl + * + * 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( "nl", "default", { + name: "nl", + englishName: "Dutch", + nativeName: "Nederlands", + language: "nl", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"], + namesAbbr: ["zo","ma","di","wo","do","vr","za"], + namesShort: ["zo","ma","di","wo","do","vr","za"] + }, + months: { + names: ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d-M-yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.nn-NO.js b/libs/js/globalize/lib/cultures/globalize.culture.nn-NO.js new file mode 100644 index 00000000..921debff --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.nn-NO.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture nn-NO + * + * 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( "nn-NO", "default", { + name: "nn-NO", + englishName: "Norwegian, Nynorsk (Norway)", + nativeName: "norsk, nynorsk (Noreg)", + language: "nn", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","måndag","tysdag","onsdag","torsdag","fredag","laurdag"], + namesAbbr: ["sø","må","ty","on","to","fr","la"], + namesShort: ["sø","må","ty","on","to","fr","la"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.nn.js b/libs/js/globalize/lib/cultures/globalize.culture.nn.js new file mode 100644 index 00000000..9942d9ea --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.nn.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture nn + * + * 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( "nn", "default", { + name: "nn", + englishName: "Norwegian (Nynorsk)", + nativeName: "norsk (nynorsk)", + language: "nn", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","måndag","tysdag","onsdag","torsdag","fredag","laurdag"], + namesAbbr: ["sø","må","ty","on","to","fr","la"], + namesShort: ["sø","må","ty","on","to","fr","la"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.no.js b/libs/js/globalize/lib/cultures/globalize.culture.no.js new file mode 100644 index 00000000..e1131dfa --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.no.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture no + * + * 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( "no", "default", { + name: "no", + englishName: "Norwegian", + nativeName: "norsk", + language: "no", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.nso-ZA.js b/libs/js/globalize/lib/cultures/globalize.culture.nso-ZA.js new file mode 100644 index 00000000..ad3afa03 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.nso-ZA.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture nso-ZA + * + * 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( "nso-ZA", "default", { + name: "nso-ZA", + englishName: "Sesotho sa Leboa (South Africa)", + nativeName: "Sesotho sa Leboa (Afrika Borwa)", + language: "nso", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Lamorena","Mošupologo","Labobedi","Laboraro","Labone","Labohlano","Mokibelo"], + namesAbbr: ["Lam","Moš","Lbb","Lbr","Lbn","Lbh","Mok"], + namesShort: ["L","M","L","L","L","L","M"] + }, + months: { + names: ["Pherekgong","Hlakola","Mopitlo","Moranang","Mosegamanye","Ngoatobošego","Phuphu","Phato","Lewedi","Diphalana","Dibatsela","Manthole",""], + namesAbbr: ["Pher","Hlak","Mop","Mor","Mos","Ngwat","Phup","Phat","Lew","Dip","Dib","Man",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.nso.js b/libs/js/globalize/lib/cultures/globalize.culture.nso.js new file mode 100644 index 00000000..76621b87 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.nso.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture nso + * + * 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( "nso", "default", { + name: "nso", + englishName: "Sesotho sa Leboa", + nativeName: "Sesotho sa Leboa", + language: "nso", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Lamorena","Mošupologo","Labobedi","Laboraro","Labone","Labohlano","Mokibelo"], + namesAbbr: ["Lam","Moš","Lbb","Lbr","Lbn","Lbh","Mok"], + namesShort: ["L","M","L","L","L","L","M"] + }, + months: { + names: ["Pherekgong","Hlakola","Mopitlo","Moranang","Mosegamanye","Ngoatobošego","Phuphu","Phato","Lewedi","Diphalana","Dibatsela","Manthole",""], + namesAbbr: ["Pher","Hlak","Mop","Mor","Mos","Ngwat","Phup","Phat","Lew","Dip","Dib","Man",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.oc-FR.js b/libs/js/globalize/lib/cultures/globalize.culture.oc-FR.js new file mode 100644 index 00000000..66818137 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.oc-FR.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture oc-FR + * + * 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( "oc-FR", "default", { + name: "oc-FR", + englishName: "Occitan (France)", + nativeName: "Occitan (França)", + language: "oc", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numeric", + negativeInfinity: "-Infinit", + positiveInfinity: "+Infinit", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dimenge","diluns","dimars","dimècres","dijòus","divendres","dissabte"], + namesAbbr: ["dim.","lun.","mar.","mèc.","jòu.","ven.","sab."], + namesShort: ["di","lu","ma","mè","jò","ve","sa"] + }, + months: { + names: ["genier","febrier","març","abril","mai","junh","julh","agost","setembre","octobre","novembre","desembre",""], + namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""] + }, + monthsGenitive: { + names: ["de genier","de febrier","de març","d'abril","de mai","de junh","de julh","d'agost","de setembre","d'octobre","de novembre","de desembre",""], + namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""] + }, + AM: null, + PM: null, + eras: [{"name":"après Jèsus-Crist","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd,' lo 'd MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd,' lo 'd MMMM' de 'yyyy HH:mm", + F: "dddd,' lo 'd MMMM' de 'yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.oc.js b/libs/js/globalize/lib/cultures/globalize.culture.oc.js new file mode 100644 index 00000000..34705f07 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.oc.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture oc + * + * 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( "oc", "default", { + name: "oc", + englishName: "Occitan", + nativeName: "Occitan", + language: "oc", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numeric", + negativeInfinity: "-Infinit", + positiveInfinity: "+Infinit", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dimenge","diluns","dimars","dimècres","dijòus","divendres","dissabte"], + namesAbbr: ["dim.","lun.","mar.","mèc.","jòu.","ven.","sab."], + namesShort: ["di","lu","ma","mè","jò","ve","sa"] + }, + months: { + names: ["genier","febrier","març","abril","mai","junh","julh","agost","setembre","octobre","novembre","desembre",""], + namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""] + }, + monthsGenitive: { + names: ["de genier","de febrier","de març","d'abril","de mai","de junh","de julh","d'agost","de setembre","d'octobre","de novembre","de desembre",""], + namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""] + }, + AM: null, + PM: null, + eras: [{"name":"après Jèsus-Crist","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd,' lo 'd MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd,' lo 'd MMMM' de 'yyyy HH:mm", + F: "dddd,' lo 'd MMMM' de 'yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.or-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.or-IN.js new file mode 100644 index 00000000..f7733236 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.or-IN.js @@ -0,0 +1,70 @@ +/* + * Globalize Culture or-IN + * + * 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( "or-IN", "default", { + name: "or-IN", + englishName: "Oriya (India)", + nativeName: "ଓଡ଼ିଆ (ଭାରତ)", + language: "or", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ଟ" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["ରବିବାର","ସୋମବାର","ମଙ୍ଗଳବାର","ବୁଧବାର","ଗୁରୁବାର","ଶୁକ୍ରବାର","ଶନିବାର"], + namesAbbr: ["ରବି.","ସୋମ.","ମଙ୍ଗଳ.","ବୁଧ.","ଗୁରୁ.","ଶୁକ୍ର.","ଶନି."], + namesShort: ["ର","ସୋ","ମ","ବୁ","ଗୁ","ଶୁ","ଶ"] + }, + months: { + names: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍","ମେ","ଜୁନ୍","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""], + namesAbbr: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍","ମେ","ଜୁନ୍","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""] + }, + eras: [{"name":"ଖ୍ରୀଷ୍ଟାବ୍ଦ","start":null,"offset":0}], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.or.js b/libs/js/globalize/lib/cultures/globalize.culture.or.js new file mode 100644 index 00000000..55581bd0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.or.js @@ -0,0 +1,70 @@ +/* + * Globalize Culture or + * + * 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( "or", "default", { + name: "or", + englishName: "Oriya", + nativeName: "ଓଡ଼ିଆ", + language: "or", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ଟ" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["ରବିବାର","ସୋମବାର","ମଙ୍ଗଳବାର","ବୁଧବାର","ଗୁରୁବାର","ଶୁକ୍ରବାର","ଶନିବାର"], + namesAbbr: ["ରବି.","ସୋମ.","ମଙ୍ଗଳ.","ବୁଧ.","ଗୁରୁ.","ଶୁକ୍ର.","ଶନି."], + namesShort: ["ର","ସୋ","ମ","ବୁ","ଗୁ","ଶୁ","ଶ"] + }, + months: { + names: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍","ମେ","ଜୁନ୍","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""], + namesAbbr: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍","ମେ","ଜୁନ୍","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""] + }, + eras: [{"name":"ଖ୍ରୀଷ୍ଟାବ୍ଦ","start":null,"offset":0}], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.pa-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.pa-IN.js new file mode 100644 index 00000000..fa6672ae --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.pa-IN.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture pa-IN + * + * 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( "pa-IN", "default", { + name: "pa-IN", + englishName: "Punjabi (India)", + nativeName: "ਪੰਜਾਬੀ (ਭਾਰਤ)", + language: "pa", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ਰੁ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ਐਤਵਾਰ","ਸੋਮਵਾਰ","ਮੰਗਲਵਾਰ","ਬੁੱਧਵਾਰ","ਵੀਰਵਾਰ","ਸ਼ੁੱਕਰਵਾਰ","ਸ਼ਨਿੱਚਰਵਾਰ"], + namesAbbr: ["ਐਤ.","ਸੋਮ.","ਮੰਗਲ.","ਬੁੱਧ.","ਵੀਰ.","ਸ਼ੁਕਰ.","ਸ਼ਨਿੱਚਰ."], + namesShort: ["ਐ","ਸ","ਮ","ਬ","ਵ","ਸ਼","ਸ਼"] + }, + months: { + names: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""], + namesAbbr: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""] + }, + AM: ["ਸਵੇਰ","ਸਵੇਰ","ਸਵੇਰ"], + PM: ["ਸ਼ਾਮ","ਸ਼ਾਮ","ਸ਼ਾਮ"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy dddd", + t: "tt hh:mm", + T: "tt hh:mm:ss", + f: "dd MMMM yyyy dddd tt hh:mm", + F: "dd MMMM yyyy dddd tt hh:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.pa.js b/libs/js/globalize/lib/cultures/globalize.culture.pa.js new file mode 100644 index 00000000..f0f1bd5d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.pa.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture pa + * + * 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( "pa", "default", { + name: "pa", + englishName: "Punjabi", + nativeName: "ਪੰਜਾਬੀ", + language: "pa", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ਰੁ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ਐਤਵਾਰ","ਸੋਮਵਾਰ","ਮੰਗਲਵਾਰ","ਬੁੱਧਵਾਰ","ਵੀਰਵਾਰ","ਸ਼ੁੱਕਰਵਾਰ","ਸ਼ਨਿੱਚਰਵਾਰ"], + namesAbbr: ["ਐਤ.","ਸੋਮ.","ਮੰਗਲ.","ਬੁੱਧ.","ਵੀਰ.","ਸ਼ੁਕਰ.","ਸ਼ਨਿੱਚਰ."], + namesShort: ["ਐ","ਸ","ਮ","ਬ","ਵ","ਸ਼","ਸ਼"] + }, + months: { + names: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""], + namesAbbr: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""] + }, + AM: ["ਸਵੇਰ","ਸਵੇਰ","ਸਵੇਰ"], + PM: ["ਸ਼ਾਮ","ਸ਼ਾਮ","ਸ਼ਾਮ"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy dddd", + t: "tt hh:mm", + T: "tt hh:mm:ss", + f: "dd MMMM yyyy dddd tt hh:mm", + F: "dd MMMM yyyy dddd tt hh:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.pl-PL.js b/libs/js/globalize/lib/cultures/globalize.culture.pl-PL.js new file mode 100644 index 00000000..59b43306 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.pl-PL.js @@ -0,0 +1,84 @@ +/* + * Globalize Culture pl-PL + * + * 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( "pl-PL", "default", { + name: "pl-PL", + englishName: "Polish (Poland)", + nativeName: "polski (Polska)", + language: "pl", + numberFormat: { + ",": " ", + ".": ",", + NaN: "nie jest liczbą", + negativeInfinity: "-nieskończoność", + positiveInfinity: "+nieskończoność", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "zł" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"], + namesAbbr: ["N","Pn","Wt","Śr","Cz","Pt","So"], + namesShort: ["N","Pn","Wt","Śr","Cz","Pt","So"] + }, + months: { + names: ["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień",""], + namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""] + }, + monthsGenitive: { + names: ["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia",""], + namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.pl.js b/libs/js/globalize/lib/cultures/globalize.culture.pl.js new file mode 100644 index 00000000..5b09eca3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.pl.js @@ -0,0 +1,84 @@ +/* + * Globalize Culture pl + * + * 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( "pl", "default", { + name: "pl", + englishName: "Polish", + nativeName: "polski", + language: "pl", + numberFormat: { + ",": " ", + ".": ",", + NaN: "nie jest liczbą", + negativeInfinity: "-nieskończoność", + positiveInfinity: "+nieskończoność", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "zł" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"], + namesAbbr: ["N","Pn","Wt","Śr","Cz","Pt","So"], + namesShort: ["N","Pn","Wt","Śr","Cz","Pt","So"] + }, + months: { + names: ["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień",""], + namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""] + }, + monthsGenitive: { + names: ["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia",""], + namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.prs-AF.js b/libs/js/globalize/lib/cultures/globalize.culture.prs-AF.js new file mode 100644 index 00000000..d4876902 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.prs-AF.js @@ -0,0 +1,174 @@ +/* + * Globalize Culture prs-AF + * + * 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( "prs-AF", "default", { + name: "prs-AF", + englishName: "Dari (Afghanistan)", + nativeName: "درى (افغانستان)", + language: "prs", + isRTL: true, + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "غ ع", + negativeInfinity: "-∞", + positiveInfinity: "∞", + percent: { + pattern: ["%n-","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$n-","$n"], + symbol: "؋" + } + }, + calendars: { + standard: { + name: "Hijri", + firstDay: 5, + 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", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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_Localized: { + firstDay: 5, + days: { + names: ["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""], + namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""] + }, + AM: ["غ.م","غ.م","غ.م"], + PM: ["غ.و","غ.و","غ.و"], + eras: [{"name":"ل.ه","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy, dd, MMMM, dddd", + f: "yyyy, dd, MMMM, dddd h:mm tt", + F: "yyyy, dd, MMMM, dddd h:mm:ss tt", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.prs.js b/libs/js/globalize/lib/cultures/globalize.culture.prs.js new file mode 100644 index 00000000..5111acc7 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.prs.js @@ -0,0 +1,174 @@ +/* + * Globalize Culture prs + * + * 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( "prs", "default", { + name: "prs", + englishName: "Dari", + nativeName: "درى", + language: "prs", + isRTL: true, + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "غ ع", + negativeInfinity: "-∞", + positiveInfinity: "∞", + percent: { + pattern: ["%n-","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$n-","$n"], + symbol: "؋" + } + }, + calendars: { + standard: { + name: "Hijri", + firstDay: 5, + 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", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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_Localized: { + firstDay: 5, + days: { + names: ["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""], + namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""] + }, + AM: ["غ.م","غ.م","غ.م"], + PM: ["غ.و","غ.و","غ.و"], + eras: [{"name":"ل.ه","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy, dd, MMMM, dddd", + f: "yyyy, dd, MMMM, dddd h:mm tt", + F: "yyyy, dd, MMMM, dddd h:mm:ss tt", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ps-AF.js b/libs/js/globalize/lib/cultures/globalize.culture.ps-AF.js new file mode 100644 index 00000000..15e57f01 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ps-AF.js @@ -0,0 +1,176 @@ +/* + * Globalize Culture ps-AF + * + * 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( "ps-AF", "default", { + name: "ps-AF", + englishName: "Pashto (Afghanistan)", + nativeName: "پښتو (افغانستان)", + language: "ps", + isRTL: true, + numberFormat: { + pattern: ["n-"], + ",": "،", + ".": ",", + NaN: "غ ع", + negativeInfinity: "-∞", + positiveInfinity: "∞", + percent: { + pattern: ["%n-","%n"], + ",": "،", + ".": "," + }, + currency: { + pattern: ["$n-","$n"], + ",": "٬", + ".": "٫", + symbol: "؋" + } + }, + calendars: { + standard: { + 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", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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_Localized: { + firstDay: 6, + days: { + names: ["یکشنبه","دوشنبه","سهشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["یکشنبه","دوشنبه","سهشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښزمرى","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""], + namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښ","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""] + }, + AM: ["غ.م","غ.م","غ.م"], + PM: ["غ.و","غ.و","غ.و"], + eras: [{"name":"ل.ه","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy, dd, MMMM, dddd", + f: "yyyy, dd, MMMM, dddd h:mm tt", + F: "yyyy, dd, MMMM, dddd h:mm:ss tt", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ps.js b/libs/js/globalize/lib/cultures/globalize.culture.ps.js new file mode 100644 index 00000000..73e4c93a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ps.js @@ -0,0 +1,176 @@ +/* + * Globalize Culture ps + * + * 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( "ps", "default", { + name: "ps", + englishName: "Pashto", + nativeName: "پښتو", + language: "ps", + isRTL: true, + numberFormat: { + pattern: ["n-"], + ",": "،", + ".": ",", + NaN: "غ ع", + negativeInfinity: "-∞", + positiveInfinity: "∞", + percent: { + pattern: ["%n-","%n"], + ",": "،", + ".": "," + }, + currency: { + pattern: ["$n-","$n"], + ",": "٬", + ".": "٫", + symbol: "؋" + } + }, + calendars: { + standard: { + 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", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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_Localized: { + firstDay: 6, + days: { + names: ["یکشنبه","دوشنبه","سهشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["یکشنبه","دوشنبه","سهشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښزمرى","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""], + namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښ","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""] + }, + AM: ["غ.م","غ.م","غ.م"], + PM: ["غ.و","غ.و","غ.و"], + eras: [{"name":"ل.ه","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy, dd, MMMM, dddd", + f: "yyyy, dd, MMMM, dddd h:mm tt", + F: "yyyy, dd, MMMM, dddd h:mm:ss tt", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.pt-BR.js b/libs/js/globalize/lib/cultures/globalize.culture.pt-BR.js new file mode 100644 index 00000000..ccbb632c --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.pt-BR.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture pt-BR + * + * 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( "pt-BR", "default", { + name: "pt-BR", + englishName: "Portuguese (Brazil)", + nativeName: "Português (Brasil)", + language: "pt", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NaN (Não é um número)", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "R$" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"], + namesAbbr: ["dom","seg","ter","qua","qui","sex","sáb"], + namesShort: ["D","S","T","Q","Q","S","S"] + }, + months: { + names: ["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro",""], + namesAbbr: ["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' de 'MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' de 'MMMM' de 'yyyy HH:mm", + F: "dddd, d' de 'MMMM' de 'yyyy HH:mm:ss", + M: "dd' de 'MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.pt-PT.js b/libs/js/globalize/lib/cultures/globalize.culture.pt-PT.js new file mode 100644 index 00000000..d521e236 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.pt-PT.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture pt-PT + * + * 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( "pt-PT", "default", { + name: "pt-PT", + englishName: "Portuguese (Portugal)", + nativeName: "português (Portugal)", + language: "pt", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NaN (Não é um número)", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"], + namesAbbr: ["dom","seg","ter","qua","qui","sex","sáb"], + namesShort: ["D","S","T","Q","Q","S","S"] + }, + months: { + names: ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro",""], + namesAbbr: ["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "dddd, d' de 'MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' de 'MMMM' de 'yyyy HH:mm", + F: "dddd, d' de 'MMMM' de 'yyyy HH:mm:ss", + M: "d/M", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.pt.js b/libs/js/globalize/lib/cultures/globalize.culture.pt.js new file mode 100644 index 00000000..5a83321f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.pt.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture pt + * + * 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( "pt", "default", { + name: "pt", + englishName: "Portuguese", + nativeName: "Português", + language: "pt", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NaN (Não é um número)", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "R$" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"], + namesAbbr: ["dom","seg","ter","qua","qui","sex","sáb"], + namesShort: ["D","S","T","Q","Q","S","S"] + }, + months: { + names: ["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro",""], + namesAbbr: ["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' de 'MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' de 'MMMM' de 'yyyy HH:mm", + F: "dddd, d' de 'MMMM' de 'yyyy HH:mm:ss", + M: "dd' de 'MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.qut-GT.js b/libs/js/globalize/lib/cultures/globalize.culture.qut-GT.js new file mode 100644 index 00000000..93bcffbb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.qut-GT.js @@ -0,0 +1,69 @@ +/* + * Globalize Culture qut-GT + * + * 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( "qut-GT", "default", { + name: "qut-GT", + englishName: "K'iche (Guatemala)", + nativeName: "K'iche (Guatemala)", + language: "qut", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + symbol: "Q" + } + }, + calendars: { + standard: { + days: { + names: ["juq'ij","kaq'ij","oxq'ij","kajq'ij","joq'ij","waqq'ij","wuqq'ij"], + namesAbbr: ["juq","kaq","oxq","kajq","joq","waqq","wuqq"], + namesShort: ["ju","ka","ox","ka","jo","wa","wu"] + }, + months: { + names: ["nab'e ik'","ukab' ik'","rox ik'","ukaj ik'","uro' ik'","uwaq ik'","uwuq ik'","uwajxaq ik'","ub'elej ik'","ulaj ik'","ujulaj ik'","ukab'laj ik'",""], + namesAbbr: ["nab'e","ukab","rox","ukaj","uro","uwaq","uwuq","uwajxaq","ub'elej","ulaj","ujulaj","ukab'laj",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.qut.js b/libs/js/globalize/lib/cultures/globalize.culture.qut.js new file mode 100644 index 00000000..5d5790b2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.qut.js @@ -0,0 +1,69 @@ +/* + * Globalize Culture qut + * + * 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( "qut", "default", { + name: "qut", + englishName: "K'iche", + nativeName: "K'iche", + language: "qut", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + symbol: "Q" + } + }, + calendars: { + standard: { + days: { + names: ["juq'ij","kaq'ij","oxq'ij","kajq'ij","joq'ij","waqq'ij","wuqq'ij"], + namesAbbr: ["juq","kaq","oxq","kajq","joq","waqq","wuqq"], + namesShort: ["ju","ka","ox","ka","jo","wa","wu"] + }, + months: { + names: ["nab'e ik'","ukab' ik'","rox ik'","ukaj ik'","uro' ik'","uwaq ik'","uwuq ik'","uwajxaq ik'","ub'elej ik'","ulaj ik'","ujulaj ik'","ukab'laj ik'",""], + namesAbbr: ["nab'e","ukab","rox","ukaj","uro","uwaq","uwuq","uwajxaq","ub'elej","ulaj","ujulaj","ukab'laj",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.quz-BO.js b/libs/js/globalize/lib/cultures/globalize.culture.quz-BO.js new file mode 100644 index 00000000..313a9adb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.quz-BO.js @@ -0,0 +1,74 @@ +/* + * Globalize Culture quz-BO + * + * 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( "quz-BO", "default", { + name: "quz-BO", + englishName: "Quechua (Bolivia)", + nativeName: "runasimi (Qullasuyu)", + language: "quz", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "$b" + } + }, + calendars: { + standard: { + days: { + names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"], + namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"], + namesShort: ["d","k","a","m","h","b","k"] + }, + months: { + names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""], + namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.quz-EC.js b/libs/js/globalize/lib/cultures/globalize.culture.quz-EC.js new file mode 100644 index 00000000..0b75b404 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.quz-EC.js @@ -0,0 +1,73 @@ +/* + * Globalize Culture quz-EC + * + * 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( "quz-EC", "default", { + name: "quz-EC", + englishName: "Quechua (Ecuador)", + nativeName: "runasimi (Ecuador)", + language: "quz", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + days: { + names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"], + namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"], + namesShort: ["d","k","a","m","h","b","k"] + }, + months: { + names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""], + namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.quz-PE.js b/libs/js/globalize/lib/cultures/globalize.culture.quz-PE.js new file mode 100644 index 00000000..51875038 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.quz-PE.js @@ -0,0 +1,68 @@ +/* + * Globalize Culture quz-PE + * + * 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( "quz-PE", "default", { + name: "quz-PE", + englishName: "Quechua (Peru)", + nativeName: "runasimi (Piruw)", + language: "quz", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$ -n","$ n"], + symbol: "S/." + } + }, + calendars: { + standard: { + days: { + names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"], + namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"], + namesShort: ["d","k","a","m","h","b","k"] + }, + months: { + names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""], + namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.quz.js b/libs/js/globalize/lib/cultures/globalize.culture.quz.js new file mode 100644 index 00000000..fef74260 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.quz.js @@ -0,0 +1,74 @@ +/* + * Globalize Culture quz + * + * 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( "quz", "default", { + name: "quz", + englishName: "Quechua", + nativeName: "runasimi", + language: "quz", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "$b" + } + }, + calendars: { + standard: { + days: { + names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"], + namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"], + namesShort: ["d","k","a","m","h","b","k"] + }, + months: { + names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""], + namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.rm-CH.js b/libs/js/globalize/lib/cultures/globalize.culture.rm-CH.js new file mode 100644 index 00000000..9191f4b1 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.rm-CH.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture rm-CH + * + * 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( "rm-CH", "default", { + name: "rm-CH", + englishName: "Romansh (Switzerland)", + nativeName: "Rumantsch (Svizra)", + language: "rm", + numberFormat: { + ",": "'", + NaN: "betg def.", + negativeInfinity: "-infinit", + positiveInfinity: "+infinit", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "fr." + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dumengia","glindesdi","mardi","mesemna","gievgia","venderdi","sonda"], + namesAbbr: ["du","gli","ma","me","gie","ve","so"], + namesShort: ["du","gli","ma","me","gie","ve","so"] + }, + months: { + names: ["schaner","favrer","mars","avrigl","matg","zercladur","fanadur","avust","settember","october","november","december",""], + namesAbbr: ["schan","favr","mars","avr","matg","zercl","fan","avust","sett","oct","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"s. Cr.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d MMMM yyyy HH:mm", + F: "dddd, d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.rm.js b/libs/js/globalize/lib/cultures/globalize.culture.rm.js new file mode 100644 index 00000000..0cbe7d3d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.rm.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture rm + * + * 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( "rm", "default", { + name: "rm", + englishName: "Romansh", + nativeName: "Rumantsch", + language: "rm", + numberFormat: { + ",": "'", + NaN: "betg def.", + negativeInfinity: "-infinit", + positiveInfinity: "+infinit", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "fr." + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dumengia","glindesdi","mardi","mesemna","gievgia","venderdi","sonda"], + namesAbbr: ["du","gli","ma","me","gie","ve","so"], + namesShort: ["du","gli","ma","me","gie","ve","so"] + }, + months: { + names: ["schaner","favrer","mars","avrigl","matg","zercladur","fanadur","avust","settember","october","november","december",""], + namesAbbr: ["schan","favr","mars","avr","matg","zercl","fan","avust","sett","oct","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"s. Cr.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d MMMM yyyy HH:mm", + F: "dddd, d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ro-RO.js b/libs/js/globalize/lib/cultures/globalize.culture.ro-RO.js new file mode 100644 index 00000000..e36fe536 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ro-RO.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture ro-RO + * + * 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( "ro-RO", "default", { + name: "ro-RO", + englishName: "Romanian (Romania)", + nativeName: "română (România)", + language: "ro", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "lei" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["duminică","luni","marţi","miercuri","joi","vineri","sâmbătă"], + namesAbbr: ["D","L","Ma","Mi","J","V","S"], + namesShort: ["D","L","Ma","Mi","J","V","S"] + }, + months: { + names: ["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie",""], + namesAbbr: ["ian.","feb.","mar.","apr.","mai.","iun.","iul.","aug.","sep.","oct.","nov.","dec.",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ro.js b/libs/js/globalize/lib/cultures/globalize.culture.ro.js new file mode 100644 index 00000000..9cbe26ae --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ro.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture ro + * + * 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( "ro", "default", { + name: "ro", + englishName: "Romanian", + nativeName: "română", + language: "ro", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "lei" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["duminică","luni","marţi","miercuri","joi","vineri","sâmbătă"], + namesAbbr: ["D","L","Ma","Mi","J","V","S"], + namesShort: ["D","L","Ma","Mi","J","V","S"] + }, + months: { + names: ["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie",""], + namesAbbr: ["ian.","feb.","mar.","apr.","mai.","iun.","iul.","aug.","sep.","oct.","nov.","dec.",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ru-RU.js b/libs/js/globalize/lib/cultures/globalize.culture.ru-RU.js new file mode 100644 index 00000000..c44493e7 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ru-RU.js @@ -0,0 +1,82 @@ +/* + * Globalize Culture ru-RU + * + * 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( "ru-RU", "default", { + name: "ru-RU", + englishName: "Russian (Russia)", + nativeName: "русский (Россия)", + language: "ru", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"], + namesAbbr: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"], + namesShort: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"] + }, + months: { + names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + monthsGenitive: { + names: ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря",""], + namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy 'г.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'г.' H:mm", + F: "d MMMM yyyy 'г.' H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ru.js b/libs/js/globalize/lib/cultures/globalize.culture.ru.js new file mode 100644 index 00000000..e3f4750d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ru.js @@ -0,0 +1,82 @@ +/* + * Globalize Culture ru + * + * 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( "ru", "default", { + name: "ru", + englishName: "Russian", + nativeName: "русский", + language: "ru", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"], + namesAbbr: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"], + namesShort: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"] + }, + months: { + names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + monthsGenitive: { + names: ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря",""], + namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy 'г.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'г.' H:mm", + F: "d MMMM yyyy 'г.' H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.rw-RW.js b/libs/js/globalize/lib/cultures/globalize.culture.rw-RW.js new file mode 100644 index 00000000..7aa4cbc5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.rw-RW.js @@ -0,0 +1,65 @@ +/* + * Globalize Culture rw-RW + * + * 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( "rw-RW", "default", { + name: "rw-RW", + englishName: "Kinyarwanda (Rwanda)", + nativeName: "Kinyarwanda (Rwanda)", + language: "rw", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$-n","$ n"], + ",": " ", + ".": ",", + symbol: "RWF" + } + }, + calendars: { + standard: { + days: { + names: ["Ku wa mbere","Ku wa kabiri","Ku wa gatatu","Ku wa kane","Ku wa gatanu","Ku wa gatandatu","Ku cyumweru"], + namesAbbr: ["mbe.","kab.","gat.","kan.","gat.","gat.","cyu."], + namesShort: ["mb","ka","ga","ka","ga","ga","cy"] + }, + months: { + names: ["Mutarama","Gashyantare","Werurwe","Mata","Gicurasi","Kamena","Nyakanga","Kanama","Nzeli","Ukwakira","Ugushyingo","Ukuboza",""], + namesAbbr: ["Mut","Gas","Wer","Mat","Gic","Kam","Nya","Kan","Nze","Ukwa","Ugu","Uku",""] + }, + AM: ["saa moya z.m.","saa moya z.m.","SAA MOYA Z.M."], + PM: ["saa moya z.n.","saa moya z.n.","SAA MOYA Z.N."], + eras: [{"name":"AD","start":null,"offset":0}] + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.rw.js b/libs/js/globalize/lib/cultures/globalize.culture.rw.js new file mode 100644 index 00000000..c86c2e9e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.rw.js @@ -0,0 +1,65 @@ +/* + * Globalize Culture rw + * + * 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( "rw", "default", { + name: "rw", + englishName: "Kinyarwanda", + nativeName: "Kinyarwanda", + language: "rw", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$-n","$ n"], + ",": " ", + ".": ",", + symbol: "RWF" + } + }, + calendars: { + standard: { + days: { + names: ["Ku wa mbere","Ku wa kabiri","Ku wa gatatu","Ku wa kane","Ku wa gatanu","Ku wa gatandatu","Ku cyumweru"], + namesAbbr: ["mbe.","kab.","gat.","kan.","gat.","gat.","cyu."], + namesShort: ["mb","ka","ga","ka","ga","ga","cy"] + }, + months: { + names: ["Mutarama","Gashyantare","Werurwe","Mata","Gicurasi","Kamena","Nyakanga","Kanama","Nzeli","Ukwakira","Ugushyingo","Ukuboza",""], + namesAbbr: ["Mut","Gas","Wer","Mat","Gic","Kam","Nya","Kan","Nze","Ukwa","Ugu","Uku",""] + }, + AM: ["saa moya z.m.","saa moya z.m.","SAA MOYA Z.M."], + PM: ["saa moya z.n.","saa moya z.n.","SAA MOYA Z.N."], + eras: [{"name":"AD","start":null,"offset":0}] + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sa-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.sa-IN.js new file mode 100644 index 00000000..5408ab52 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sa-IN.js @@ -0,0 +1,71 @@ +/* + * Globalize Culture sa-IN + * + * 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( "sa-IN", "default", { + name: "sa-IN", + englishName: "Sanskrit (India)", + nativeName: "संस्कृत (भारतम्)", + language: "sa", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "रु" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"], + namesAbbr: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"], + namesShort: ["र","स","म","ब","ग","श","श"] + }, + months: { + names: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""], + namesAbbr: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""] + }, + AM: ["पूर्वाह्न","पूर्वाह्न","पूर्वाह्न"], + PM: ["अपराह्न","अपराह्न","अपराह्न"], + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM yyyy dddd", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy dddd HH:mm", + F: "dd MMMM yyyy dddd HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sa.js b/libs/js/globalize/lib/cultures/globalize.culture.sa.js new file mode 100644 index 00000000..3fb8ceab --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sa.js @@ -0,0 +1,71 @@ +/* + * Globalize Culture sa + * + * 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( "sa", "default", { + name: "sa", + englishName: "Sanskrit", + nativeName: "संस्कृत", + language: "sa", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "रु" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"], + namesAbbr: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"], + namesShort: ["र","स","म","ब","ग","श","श"] + }, + months: { + names: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""], + namesAbbr: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""] + }, + AM: ["पूर्वाह्न","पूर्वाह्न","पूर्वाह्न"], + PM: ["अपराह्न","अपराह्न","अपराह्न"], + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM yyyy dddd", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy dddd HH:mm", + F: "dd MMMM yyyy dddd HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sah-RU.js b/libs/js/globalize/lib/cultures/globalize.culture.sah-RU.js new file mode 100644 index 00000000..17f487ff --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sah-RU.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture sah-RU + * + * 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( "sah-RU", "default", { + name: "sah-RU", + englishName: "Yakut (Russia)", + nativeName: "саха (Россия)", + language: "sah", + numberFormat: { + ",": " ", + ".": ",", + NaN: "NAN", + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "с." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["баскыһыанньа","бэнидиэнньик","оптуорунньук","сэрэдэ","чэппиэр","бээтинсэ","субуота"], + namesAbbr: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"], + namesShort: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"] + }, + months: { + names: ["Тохсунньу","Олунньу","Кулун тутар","Муус устар","Ыам ыйа","Бэс ыйа","От ыйа","Атырдьах ыйа","Балаҕан ыйа","Алтынньы","Сэтинньи","Ахсынньы",""], + namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""] + }, + monthsGenitive: { + names: ["тохсунньу","олунньу","кулун тутар","муус устар","ыам ыйын","бэс ыйын","от ыйын","атырдьах ыйын","балаҕан ыйын","алтынньы","сэтинньи","ахсынньы",""], + namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""] + }, + AM: null, + PM: null, + patterns: { + d: "MM.dd.yyyy", + D: "MMMM d yyyy 'с.'", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d yyyy 'с.' H:mm", + F: "MMMM d yyyy 'с.' H:mm:ss", + Y: "MMMM yyyy 'с.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sah.js b/libs/js/globalize/lib/cultures/globalize.culture.sah.js new file mode 100644 index 00000000..ff1b18ee --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sah.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture sah + * + * 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( "sah", "default", { + name: "sah", + englishName: "Yakut", + nativeName: "саха", + language: "sah", + numberFormat: { + ",": " ", + ".": ",", + NaN: "NAN", + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "с." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["баскыһыанньа","бэнидиэнньик","оптуорунньук","сэрэдэ","чэппиэр","бээтинсэ","субуота"], + namesAbbr: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"], + namesShort: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"] + }, + months: { + names: ["Тохсунньу","Олунньу","Кулун тутар","Муус устар","Ыам ыйа","Бэс ыйа","От ыйа","Атырдьах ыйа","Балаҕан ыйа","Алтынньы","Сэтинньи","Ахсынньы",""], + namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""] + }, + monthsGenitive: { + names: ["тохсунньу","олунньу","кулун тутар","муус устар","ыам ыйын","бэс ыйын","от ыйын","атырдьах ыйын","балаҕан ыйын","алтынньы","сэтинньи","ахсынньы",""], + namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""] + }, + AM: null, + PM: null, + patterns: { + d: "MM.dd.yyyy", + D: "MMMM d yyyy 'с.'", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d yyyy 'с.' H:mm", + F: "MMMM d yyyy 'с.' H:mm:ss", + Y: "MMMM yyyy 'с.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.se-FI.js b/libs/js/globalize/lib/cultures/globalize.culture.se-FI.js new file mode 100644 index 00000000..424df675 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.se-FI.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture se-FI + * + * 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( "se-FI", "default", { + name: "se-FI", + englishName: "Sami, Northern (Finland)", + nativeName: "davvisámegiella (Suopma)", + language: "se", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sotnabeaivi","vuossárga","maŋŋebárga","gaskavahkku","duorastat","bearjadat","lávvardat"], + namesAbbr: ["sotn","vuos","maŋ","gask","duor","bear","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + monthsGenitive: { + names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. b. 'yyyy H:mm", + F: "MMMM d'. b. 'yyyy H:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.se-NO.js b/libs/js/globalize/lib/cultures/globalize.culture.se-NO.js new file mode 100644 index 00000000..ccdb6305 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.se-NO.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture se-NO + * + * 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( "se-NO", "default", { + name: "se-NO", + englishName: "Sami, Northern (Norway)", + nativeName: "davvisámegiella (Norga)", + language: "se", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sotnabeaivi","vuossárga","maŋŋebárga","gaskavahkku","duorastat","bearjadat","lávvardat"], + namesAbbr: ["sotn","vuos","maŋ","gask","duor","bear","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + monthsGenitive: { + names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.se-SE.js b/libs/js/globalize/lib/cultures/globalize.culture.se-SE.js new file mode 100644 index 00000000..b0859558 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.se-SE.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture se-SE + * + * 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( "se-SE", "default", { + name: "se-SE", + englishName: "Sami, Northern (Sweden)", + nativeName: "davvisámegiella (Ruoŧŧa)", + language: "se", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sotnabeaivi","mánnodat","disdat","gaskavahkku","duorastat","bearjadat","lávvardat"], + namesAbbr: ["sotn","mán","dis","gask","duor","bear","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + monthsGenitive: { + names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.se.js b/libs/js/globalize/lib/cultures/globalize.culture.se.js new file mode 100644 index 00000000..c80207b5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.se.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture se + * + * 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( "se", "default", { + name: "se", + englishName: "Sami (Northern)", + nativeName: "davvisámegiella", + language: "se", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sotnabeaivi","vuossárga","maŋŋebárga","gaskavahkku","duorastat","bearjadat","lávvardat"], + namesAbbr: ["sotn","vuos","maŋ","gask","duor","bear","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + monthsGenitive: { + names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.si-LK.js b/libs/js/globalize/lib/cultures/globalize.culture.si-LK.js new file mode 100644 index 00000000..9a114ed9 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.si-LK.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture si-LK + * + * 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( "si-LK", "default", { + name: "si-LK", + englishName: "Sinhala (Sri Lanka)", + nativeName: "සිංහල (ශ්රී ලංකා)", + language: "si", + numberFormat: { + groupSizes: [3,2], + negativeInfinity: "-අනන්තය", + positiveInfinity: "අනන්තය", + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["($ n)","$ n"], + symbol: "රු." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"], + namesAbbr: ["ඉරිදා","සඳුදා","කුජදා","බුදදා","ගුරුදා","කිවිදා","ශනිදා"], + namesShort: ["ඉ","ස","අ","බ","බ්ර","සි","සෙ"] + }, + months: { + names: ["ජනවාරි","පෙබරවාරි","මාර්තු","අප්රේල්","මැයි","ජූනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්",""], + namesAbbr: ["ජන.","පෙබ.","මාර්තු.","අප්රේල්.","මැයි.","ජූනි.","ජූලි.","අගෝ.","සැප්.","ඔක්.","නොවැ.","දෙසැ.",""] + }, + AM: ["පෙ.ව.","පෙ.ව.","පෙ.ව."], + PM: ["ප.ව.","ප.ව.","ප.ව."], + eras: [{"name":"ක්රි.ව.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy MMMM' මස 'dd' වැනිදා 'dddd", + f: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm tt", + F: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm:ss tt", + Y: "yyyy MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.si.js b/libs/js/globalize/lib/cultures/globalize.culture.si.js new file mode 100644 index 00000000..724dc617 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.si.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture si + * + * 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( "si", "default", { + name: "si", + englishName: "Sinhala", + nativeName: "සිංහල", + language: "si", + numberFormat: { + groupSizes: [3,2], + negativeInfinity: "-අනන්තය", + positiveInfinity: "අනන්තය", + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["($ n)","$ n"], + symbol: "රු." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"], + namesAbbr: ["ඉරිදා","සඳුදා","කුජදා","බුදදා","ගුරුදා","කිවිදා","ශනිදා"], + namesShort: ["ඉ","ස","අ","බ","බ්ර","සි","සෙ"] + }, + months: { + names: ["ජනවාරි","පෙබරවාරි","මාර්තු","අප්රේල්","මැයි","ජූනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්",""], + namesAbbr: ["ජන.","පෙබ.","මාර්තු.","අප්රේල්.","මැයි.","ජූනි.","ජූලි.","අගෝ.","සැප්.","ඔක්.","නොවැ.","දෙසැ.",""] + }, + AM: ["පෙ.ව.","පෙ.ව.","පෙ.ව."], + PM: ["ප.ව.","ප.ව.","ප.ව."], + eras: [{"name":"ක්රි.ව.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy MMMM' මස 'dd' වැනිදා 'dddd", + f: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm tt", + F: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm:ss tt", + Y: "yyyy MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sk-SK.js b/libs/js/globalize/lib/cultures/globalize.culture.sk-SK.js new file mode 100644 index 00000000..6bc1656a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sk-SK.js @@ -0,0 +1,85 @@ +/* + * Globalize Culture sk-SK + * + * 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( "sk-SK", "default", { + name: "sk-SK", + englishName: "Slovak (Slovakia)", + nativeName: "slovenčina (Slovenská republika)", + language: "sk", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Nie je číslo", + negativeInfinity: "-nekonečno", + positiveInfinity: "+nekonečno", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"], + namesAbbr: ["ne","po","ut","st","št","pi","so"], + namesShort: ["ne","po","ut","st","št","pi","so"] + }, + months: { + names: ["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + monthsGenitive: { + names: ["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. l.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sk.js b/libs/js/globalize/lib/cultures/globalize.culture.sk.js new file mode 100644 index 00000000..0fd4334a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sk.js @@ -0,0 +1,85 @@ +/* + * Globalize Culture sk + * + * 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( "sk", "default", { + name: "sk", + englishName: "Slovak", + nativeName: "slovenčina", + language: "sk", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Nie je číslo", + negativeInfinity: "-nekonečno", + positiveInfinity: "+nekonečno", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"], + namesAbbr: ["ne","po","ut","st","št","pi","so"], + namesShort: ["ne","po","ut","st","št","pi","so"] + }, + months: { + names: ["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + monthsGenitive: { + names: ["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. l.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sl-SI.js b/libs/js/globalize/lib/cultures/globalize.culture.sl-SI.js new file mode 100644 index 00000000..9cfb1f9b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sl-SI.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture sl-SI + * + * 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( "sl-SI", "default", { + name: "sl-SI", + englishName: "Slovenian (Slovenia)", + nativeName: "slovenski (Slovenija)", + language: "sl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-neskončnost", + positiveInfinity: "neskončnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"], + namesAbbr: ["ned","pon","tor","sre","čet","pet","sob"], + namesShort: ["ne","po","to","sr","če","pe","so"] + }, + months: { + names: ["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sl.js b/libs/js/globalize/lib/cultures/globalize.culture.sl.js new file mode 100644 index 00000000..ebfa5889 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sl.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture sl + * + * 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( "sl", "default", { + name: "sl", + englishName: "Slovenian", + nativeName: "slovenski", + language: "sl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-neskončnost", + positiveInfinity: "neskončnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"], + namesAbbr: ["ned","pon","tor","sre","čet","pet","sob"], + namesShort: ["ne","po","to","sr","če","pe","so"] + }, + months: { + names: ["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sma-NO.js b/libs/js/globalize/lib/cultures/globalize.culture.sma-NO.js new file mode 100644 index 00000000..80879ff9 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sma-NO.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture sma-NO + * + * 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( "sma-NO", "default", { + name: "sma-NO", + englishName: "Sami, Southern (Norway)", + nativeName: "åarjelsaemiengiele (Nöörje)", + language: "sma", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["aejlege","måanta","dæjsta","gaskevåhkoe","duarsta","bearjadahke","laavvardahke"], + namesAbbr: ["aej","måa","dæj","gask","duar","bearj","laav"], + namesShort: ["a","m","d","g","d","b","l"] + }, + months: { + names: ["tsïengele","goevte","njoktje","voerhtje","suehpede","ruffie","snjaltje","mïetske","skïerede","golke","rahka","goeve",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + monthsGenitive: { + names: ["tsïengelen","goevten","njoktjen","voerhtjen","suehpeden","ruffien","snjaltjen","mïetsken","skïereden","golken","rahkan","goeven",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sma-SE.js b/libs/js/globalize/lib/cultures/globalize.culture.sma-SE.js new file mode 100644 index 00000000..36747ffc --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sma-SE.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sma-SE + * + * 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( "sma-SE", "default", { + name: "sma-SE", + englishName: "Sami, Southern (Sweden)", + nativeName: "åarjelsaemiengiele (Sveerje)", + language: "sma", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["aejlege","måanta","dæjsta","gaskevåhkoe","duarsta","bearjadahke","laavvardahke"], + namesAbbr: ["aej","måa","dæj","gask","duar","bearj","laav"], + namesShort: ["a","m","d","g","d","b","l"] + }, + months: { + names: ["tsïengele","goevte","njoktje","voerhtje","suehpede","ruffie","snjaltje","mïetske","skïerede","golke","rahka","goeve",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + monthsGenitive: { + names: ["tsïengelen","goevten","njoktjen","voerhtjen","suehpeden","ruffien","snjaltjen","mïetsken","skïereden","golken","rahkan","goeven",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sma.js b/libs/js/globalize/lib/cultures/globalize.culture.sma.js new file mode 100644 index 00000000..284bf379 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sma.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sma + * + * 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( "sma", "default", { + name: "sma", + englishName: "Sami (Southern)", + nativeName: "åarjelsaemiengiele", + language: "sma", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["aejlege","måanta","dæjsta","gaskevåhkoe","duarsta","bearjadahke","laavvardahke"], + namesAbbr: ["aej","måa","dæj","gask","duar","bearj","laav"], + namesShort: ["a","m","d","g","d","b","l"] + }, + months: { + names: ["tsïengele","goevte","njoktje","voerhtje","suehpede","ruffie","snjaltje","mïetske","skïerede","golke","rahka","goeve",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + monthsGenitive: { + names: ["tsïengelen","goevten","njoktjen","voerhtjen","suehpeden","ruffien","snjaltjen","mïetsken","skïereden","golken","rahkan","goeven",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.smj-NO.js b/libs/js/globalize/lib/cultures/globalize.culture.smj-NO.js new file mode 100644 index 00000000..d6556e58 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.smj-NO.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture smj-NO + * + * 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( "smj-NO", "default", { + name: "smj-NO", + englishName: "Sami, Lule (Norway)", + nativeName: "julevusámegiella (Vuodna)", + language: "smj", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sådnåbiejvve","mánnodahka","dijstahka","gasskavahkko","duorastahka","bierjjedahka","lávvodahka"], + namesAbbr: ["såd","mán","dis","gas","duor","bier","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ådåjakmánno","guovvamánno","sjnjuktjamánno","vuoratjismánno","moarmesmánno","biehtsemánno","sjnjilltjamánno","bårggemánno","ragátmánno","gålgådismánno","basádismánno","javllamánno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + monthsGenitive: { + names: ["ådåjakmáno","guovvamáno","sjnjuktjamáno","vuoratjismáno","moarmesmáno","biehtsemáno","sjnjilltjamáno","bårggemáno","ragátmáno","gålgådismáno","basádismáno","javllamáno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.smj-SE.js b/libs/js/globalize/lib/cultures/globalize.culture.smj-SE.js new file mode 100644 index 00000000..4b3f8a20 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.smj-SE.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture smj-SE + * + * 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( "smj-SE", "default", { + name: "smj-SE", + englishName: "Sami, Lule (Sweden)", + nativeName: "julevusámegiella (Svierik)", + language: "smj", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ájllek","mánnodahka","dijstahka","gasskavahkko","duorastahka","bierjjedahka","lávvodahka"], + namesAbbr: ["ájl","mán","dis","gas","duor","bier","láv"], + namesShort: ["á","m","d","g","d","b","l"] + }, + months: { + names: ["ådåjakmánno","guovvamánno","sjnjuktjamánno","vuoratjismánno","moarmesmánno","biehtsemánno","sjnjilltjamánno","bårggemánno","ragátmánno","gålgådismánno","basádismánno","javllamánno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + monthsGenitive: { + names: ["ådåjakmáno","guovvamáno","sjnjuktjamáno","vuoratjismáno","moarmesmáno","biehtsemáno","sjnjilltjamáno","bårggemáno","ragátmáno","gålgådismáno","basádismáno","javllamáno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.smj.js b/libs/js/globalize/lib/cultures/globalize.culture.smj.js new file mode 100644 index 00000000..fe1e50fa --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.smj.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture smj + * + * 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( "smj", "default", { + name: "smj", + englishName: "Sami (Lule)", + nativeName: "julevusámegiella", + language: "smj", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ájllek","mánnodahka","dijstahka","gasskavahkko","duorastahka","bierjjedahka","lávvodahka"], + namesAbbr: ["ájl","mán","dis","gas","duor","bier","láv"], + namesShort: ["á","m","d","g","d","b","l"] + }, + months: { + names: ["ådåjakmánno","guovvamánno","sjnjuktjamánno","vuoratjismánno","moarmesmánno","biehtsemánno","sjnjilltjamánno","bårggemánno","ragátmánno","gålgådismánno","basádismánno","javllamánno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + monthsGenitive: { + names: ["ådåjakmáno","guovvamáno","sjnjuktjamáno","vuoratjismáno","moarmesmáno","biehtsemáno","sjnjilltjamáno","bårggemáno","ragátmáno","gålgådismáno","basádismáno","javllamáno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.smn-FI.js b/libs/js/globalize/lib/cultures/globalize.culture.smn-FI.js new file mode 100644 index 00000000..8226968e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.smn-FI.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture smn-FI + * + * 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( "smn-FI", "default", { + name: "smn-FI", + englishName: "Sami, Inari (Finland)", + nativeName: "sämikielâ (Suomâ)", + language: "smn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pasepeivi","vuossargâ","majebargâ","koskokko","tuorâstâh","vástuppeivi","lávárdâh"], + namesAbbr: ["pa","vu","ma","ko","tu","vá","lá"], + namesShort: ["p","v","m","k","t","v","l"] + }, + months: { + names: ["uđđâivemáánu","kuovâmáánu","njuhčâmáánu","cuáŋuimáánu","vyesimáánu","kesimáánu","syeinimáánu","porgemáánu","čohčâmáánu","roovvâdmáánu","skammâmáánu","juovlâmáánu",""], + namesAbbr: ["uđiv","kuov","njuh","cuoŋ","vyes","kesi","syei","porg","čoh","roov","ska","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. p. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. p. 'yyyy H:mm", + F: "MMMM d'. p. 'yyyy H:mm:ss", + M: "MMMM d'. p. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.smn.js b/libs/js/globalize/lib/cultures/globalize.culture.smn.js new file mode 100644 index 00000000..ce7bcf8b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.smn.js @@ -0,0 +1,76 @@ +/* + * Globalize Culture smn + * + * 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( "smn", "default", { + name: "smn", + englishName: "Sami (Inari)", + nativeName: "sämikielâ", + language: "smn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pasepeivi","vuossargâ","majebargâ","koskokko","tuorâstâh","vástuppeivi","lávárdâh"], + namesAbbr: ["pa","vu","ma","ko","tu","vá","lá"], + namesShort: ["p","v","m","k","t","v","l"] + }, + months: { + names: ["uđđâivemáánu","kuovâmáánu","njuhčâmáánu","cuáŋuimáánu","vyesimáánu","kesimáánu","syeinimáánu","porgemáánu","čohčâmáánu","roovvâdmáánu","skammâmáánu","juovlâmáánu",""], + namesAbbr: ["uđiv","kuov","njuh","cuoŋ","vyes","kesi","syei","porg","čoh","roov","ska","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. p. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. p. 'yyyy H:mm", + F: "MMMM d'. p. 'yyyy H:mm:ss", + M: "MMMM d'. p. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sms-FI.js b/libs/js/globalize/lib/cultures/globalize.culture.sms-FI.js new file mode 100644 index 00000000..441c2f3b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sms-FI.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sms-FI + * + * 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( "sms-FI", "default", { + name: "sms-FI", + englishName: "Sami, Skolt (Finland)", + nativeName: "sääm´ǩiõll (Lää´ddjânnam)", + language: "sms", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pâ´sspei´vv","vuõssargg","mââibargg","seärad","nelljdpei´vv","piâtnâc","sue´vet"], + namesAbbr: ["pâ","vu","mâ","se","ne","pi","su"], + namesShort: ["p","v","m","s","n","p","s"] + }, + months: { + names: ["ođđee´jjmään","tä´lvvmään","pâ´zzlâšttammään","njuhččmään","vue´ssmään","ǩie´ssmään","suei´nnmään","på´rǧǧmään","čõhččmään","kålggmään","skamm´mään","rosttovmään",""], + namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""] + }, + monthsGenitive: { + names: ["ođđee´jjmannu","tä´lvvmannu","pâ´zzlâšttammannu","njuhččmannu","vue´ssmannu","ǩie´ssmannu","suei´nnmannu","på´rǧǧmannu","čõhččmannu","kålggmannu","skamm´mannu","rosttovmannu",""], + namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. p. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. p. 'yyyy H:mm", + F: "MMMM d'. p. 'yyyy H:mm:ss", + M: "MMMM d'. p. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sms.js b/libs/js/globalize/lib/cultures/globalize.culture.sms.js new file mode 100644 index 00000000..990e43f2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sms.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sms + * + * 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( "sms", "default", { + name: "sms", + englishName: "Sami (Skolt)", + nativeName: "sääm´ǩiõll", + language: "sms", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pâ´sspei´vv","vuõssargg","mââibargg","seärad","nelljdpei´vv","piâtnâc","sue´vet"], + namesAbbr: ["pâ","vu","mâ","se","ne","pi","su"], + namesShort: ["p","v","m","s","n","p","s"] + }, + months: { + names: ["ođđee´jjmään","tä´lvvmään","pâ´zzlâšttammään","njuhččmään","vue´ssmään","ǩie´ssmään","suei´nnmään","på´rǧǧmään","čõhččmään","kålggmään","skamm´mään","rosttovmään",""], + namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""] + }, + monthsGenitive: { + names: ["ođđee´jjmannu","tä´lvvmannu","pâ´zzlâšttammannu","njuhččmannu","vue´ssmannu","ǩie´ssmannu","suei´nnmannu","på´rǧǧmannu","čõhččmannu","kålggmannu","skamm´mannu","rosttovmannu",""], + namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. p. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. p. 'yyyy H:mm", + F: "MMMM d'. p. 'yyyy H:mm:ss", + M: "MMMM d'. p. '", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sq-AL.js b/libs/js/globalize/lib/cultures/globalize.culture.sq-AL.js new file mode 100644 index 00000000..f90be76e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sq-AL.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture sq-AL + * + * 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( "sq-AL", "default", { + name: "sq-AL", + englishName: "Albanian (Albania)", + nativeName: "shqipe (Shqipëria)", + language: "sq", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-infinit", + positiveInfinity: "infinit", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": ".", + ".": ",", + symbol: "Lek" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["e diel","e hënë","e martë","e mërkurë","e enjte","e premte","e shtunë"], + namesAbbr: ["Die","Hën","Mar","Mër","Enj","Pre","Sht"], + namesShort: ["Di","Hë","Ma","Më","En","Pr","Sh"] + }, + months: { + names: ["janar","shkurt","mars","prill","maj","qershor","korrik","gusht","shtator","tetor","nëntor","dhjetor",""], + namesAbbr: ["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj",""] + }, + AM: ["PD","pd","PD"], + PM: ["MD","md","MD"], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy-MM-dd", + t: "h:mm.tt", + T: "h:mm:ss.tt", + f: "yyyy-MM-dd h:mm.tt", + F: "yyyy-MM-dd h:mm:ss.tt", + Y: "yyyy-MM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sq.js b/libs/js/globalize/lib/cultures/globalize.culture.sq.js new file mode 100644 index 00000000..0e9c6b83 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sq.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture sq + * + * 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( "sq", "default", { + name: "sq", + englishName: "Albanian", + nativeName: "shqipe", + language: "sq", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-infinit", + positiveInfinity: "infinit", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": ".", + ".": ",", + symbol: "Lek" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["e diel","e hënë","e martë","e mërkurë","e enjte","e premte","e shtunë"], + namesAbbr: ["Die","Hën","Mar","Mër","Enj","Pre","Sht"], + namesShort: ["Di","Hë","Ma","Më","En","Pr","Sh"] + }, + months: { + names: ["janar","shkurt","mars","prill","maj","qershor","korrik","gusht","shtator","tetor","nëntor","dhjetor",""], + namesAbbr: ["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj",""] + }, + AM: ["PD","pd","PD"], + PM: ["MD","md","MD"], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy-MM-dd", + t: "h:mm.tt", + T: "h:mm:ss.tt", + f: "yyyy-MM-dd h:mm.tt", + F: "yyyy-MM-dd h:mm:ss.tt", + Y: "yyyy-MM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-BA.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-BA.js new file mode 100644 index 00000000..ea6f27ad --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-BA.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture sr-Cyrl-BA + * + * 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( "sr-Cyrl-BA", "default", { + name: "sr-Cyrl-BA", + englishName: "Serbian (Cyrillic, Bosnia and Herzegovina)", + nativeName: "српски (Босна и Херцеговина)", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "КМ" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["н","п","у","с","ч","п","с"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-CS.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-CS.js new file mode 100644 index 00000000..4a1ad32e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-CS.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sr-Cyrl-CS + * + * 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( "sr-Cyrl-CS", "default", { + name: "sr-Cyrl-CS", + englishName: "Serbian (Cyrillic, Serbia and Montenegro (Former))", + nativeName: "српски (Србија и Црна Гора (Претходно))", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Дин." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["не","по","ут","ср","че","пе","су"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-ME.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-ME.js new file mode 100644 index 00000000..d7919522 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-ME.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sr-Cyrl-ME + * + * 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( "sr-Cyrl-ME", "default", { + name: "sr-Cyrl-ME", + englishName: "Serbian (Cyrillic, Montenegro)", + nativeName: "српски (Црна Гора)", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["не","по","ут","ср","че","пе","су"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-RS.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-RS.js new file mode 100644 index 00000000..9e5367d4 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl-RS.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sr-Cyrl-RS + * + * 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( "sr-Cyrl-RS", "default", { + name: "sr-Cyrl-RS", + englishName: "Serbian (Cyrillic, Serbia)", + nativeName: "српски (Србија)", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Дин." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["не","по","ут","ср","че","пе","су"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl.js new file mode 100644 index 00000000..cde93e18 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Cyrl.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sr-Cyrl + * + * 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( "sr-Cyrl", "default", { + name: "sr-Cyrl", + englishName: "Serbian (Cyrillic)", + nativeName: "српски", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Дин." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["не","по","ут","ср","че","пе","су"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-BA.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-BA.js new file mode 100644 index 00000000..ba99cbb8 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-BA.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture sr-Latn-BA + * + * 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( "sr-Latn-BA", "default", { + name: "sr-Latn-BA", + englishName: "Serbian (Latin, Bosnia and Herzegovina)", + nativeName: "srpski (Bosna i Hercegovina)", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-CS.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-CS.js new file mode 100644 index 00000000..02436cb2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-CS.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sr-Latn-CS + * + * 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( "sr-Latn-CS", "default", { + name: "sr-Latn-CS", + englishName: "Serbian (Latin, Serbia and Montenegro (Former))", + nativeName: "srpski (Srbija i Crna Gora (Prethodno))", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Din." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-ME.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-ME.js new file mode 100644 index 00000000..39ac5236 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-ME.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sr-Latn-ME + * + * 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( "sr-Latn-ME", "default", { + name: "sr-Latn-ME", + englishName: "Serbian (Latin, Montenegro)", + nativeName: "srpski (Crna Gora)", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-RS.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-RS.js new file mode 100644 index 00000000..369bcc78 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn-RS.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sr-Latn-RS + * + * 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( "sr-Latn-RS", "default", { + name: "sr-Latn-RS", + englishName: "Serbian (Latin, Serbia)", + nativeName: "srpski (Srbija)", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Din." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn.js b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn.js new file mode 100644 index 00000000..ae10f74a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr-Latn.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sr-Latn + * + * 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( "sr-Latn", "default", { + name: "sr-Latn", + englishName: "Serbian (Latin)", + nativeName: "srpski", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Din." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sr.js b/libs/js/globalize/lib/cultures/globalize.culture.sr.js new file mode 100644 index 00000000..b74cd892 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sr.js @@ -0,0 +1,80 @@ +/* + * Globalize Culture sr + * + * 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( "sr", "default", { + name: "sr", + englishName: "Serbian", + nativeName: "srpski", + language: "sr", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Din." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sv-FI.js b/libs/js/globalize/lib/cultures/globalize.culture.sv-FI.js new file mode 100644 index 00000000..74aeca90 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sv-FI.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture sv-FI + * + * 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( "sv-FI", "default", { + name: "sv-FI", + englishName: "Swedish (Finland)", + nativeName: "svenska (Finland)", + language: "sv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"], + namesAbbr: ["sö","må","ti","on","to","fr","lö"], + namesShort: ["sö","må","ti","on","to","fr","lö"] + }, + months: { + names: ["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "'den 'd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "'den 'd MMMM yyyy HH:mm", + F: "'den 'd MMMM yyyy HH:mm:ss", + M: "'den 'd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sv-SE.js b/libs/js/globalize/lib/cultures/globalize.culture.sv-SE.js new file mode 100644 index 00000000..85e5a207 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sv-SE.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture sv-SE + * + * 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( "sv-SE", "default", { + name: "sv-SE", + englishName: "Swedish (Sweden)", + nativeName: "svenska (Sverige)", + language: "sv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"], + namesAbbr: ["sö","må","ti","on","to","fr","lö"], + namesShort: ["sö","må","ti","on","to","fr","lö"] + }, + months: { + names: ["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "'den 'd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "'den 'd MMMM yyyy HH:mm", + F: "'den 'd MMMM yyyy HH:mm:ss", + M: "'den 'd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sv.js b/libs/js/globalize/lib/cultures/globalize.culture.sv.js new file mode 100644 index 00000000..313eaf72 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sv.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture sv + * + * 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( "sv", "default", { + name: "sv", + englishName: "Swedish", + nativeName: "svenska", + language: "sv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"], + namesAbbr: ["sö","må","ti","on","to","fr","lö"], + namesShort: ["sö","må","ti","on","to","fr","lö"] + }, + months: { + names: ["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "'den 'd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "'den 'd MMMM yyyy HH:mm", + F: "'den 'd MMMM yyyy HH:mm:ss", + M: "'den 'd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sw-KE.js b/libs/js/globalize/lib/cultures/globalize.culture.sw-KE.js new file mode 100644 index 00000000..8df39609 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sw-KE.js @@ -0,0 +1,53 @@ +/* + * Globalize Culture sw-KE + * + * 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( "sw-KE", "default", { + name: "sw-KE", + englishName: "Kiswahili (Kenya)", + nativeName: "Kiswahili (Kenya)", + language: "sw", + numberFormat: { + currency: { + symbol: "S" + } + }, + calendars: { + standard: { + days: { + names: ["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"], + namesAbbr: ["Jumap.","Jumat.","Juman.","Jumat.","Alh.","Iju.","Jumam."], + namesShort: ["P","T","N","T","A","I","M"] + }, + months: { + names: ["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Decemba",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Dec",""] + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.sw.js b/libs/js/globalize/lib/cultures/globalize.culture.sw.js new file mode 100644 index 00000000..c5cfe844 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.sw.js @@ -0,0 +1,53 @@ +/* + * Globalize Culture sw + * + * 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( "sw", "default", { + name: "sw", + englishName: "Kiswahili", + nativeName: "Kiswahili", + language: "sw", + numberFormat: { + currency: { + symbol: "S" + } + }, + calendars: { + standard: { + days: { + names: ["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"], + namesAbbr: ["Jumap.","Jumat.","Juman.","Jumat.","Alh.","Iju.","Jumam."], + namesShort: ["P","T","N","T","A","I","M"] + }, + months: { + names: ["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Decemba",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Dec",""] + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.syr-SY.js b/libs/js/globalize/lib/cultures/globalize.culture.syr-SY.js new file mode 100644 index 00000000..1ef86ec9 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.syr-SY.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture syr-SY + * + * 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( "syr-SY", "default", { + name: "syr-SY", + englishName: "Syriac (Syria)", + nativeName: "ܣܘܪܝܝܐ (سوريا)", + language: "syr", + isRTL: true, + numberFormat: { + currency: { + pattern: ["$n-","$ n"], + 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" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.syr.js b/libs/js/globalize/lib/cultures/globalize.culture.syr.js new file mode 100644 index 00000000..74ea7043 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.syr.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture syr + * + * 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( "syr", "default", { + name: "syr", + englishName: "Syriac", + nativeName: "ܣܘܪܝܝܐ", + language: "syr", + isRTL: true, + numberFormat: { + currency: { + pattern: ["$n-","$ n"], + 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" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ta-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.ta-IN.js new file mode 100644 index 00000000..63b16feb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ta-IN.js @@ -0,0 +1,73 @@ +/* + * Globalize Culture ta-IN + * + * 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( "ta-IN", "default", { + name: "ta-IN", + englishName: "Tamil (India)", + nativeName: "தமிழ் (இந்தியா)", + language: "ta", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ta.js b/libs/js/globalize/lib/cultures/globalize.culture.ta.js new file mode 100644 index 00000000..e67c57fa --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ta.js @@ -0,0 +1,73 @@ +/* + * Globalize Culture ta + * + * 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( "ta", "default", { + name: "ta", + englishName: "Tamil", + nativeName: "தமிழ்", + language: "ta", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.te-IN.js b/libs/js/globalize/lib/cultures/globalize.culture.te-IN.js new file mode 100644 index 00000000..b1b92ee2 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.te-IN.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture te-IN + * + * 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( "te-IN", "default", { + name: "te-IN", + englishName: "Telugu (India)", + nativeName: "తెలుగు (భారత దేశం)", + language: "te", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "రూ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ఆదివారం","సోమవారం","మంగళవారం","బుధవారం","గురువారం","శుక్రవారం","శనివారం"], + namesAbbr: ["ఆది.","సోమ.","మంగళ.","బుధ.","గురు.","శుక్ర.","శని."], + namesShort: ["ఆ","సో","మం","బు","గు","శు","శ"] + }, + months: { + names: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""], + namesAbbr: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""] + }, + AM: ["పూర్వాహ్న","పూర్వాహ్న","పూర్వాహ్న"], + PM: ["అపరాహ్న","అపరాహ్న","అపరాహ్న"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.te.js b/libs/js/globalize/lib/cultures/globalize.culture.te.js new file mode 100644 index 00000000..be5becba --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.te.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture te + * + * 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( "te", "default", { + name: "te", + englishName: "Telugu", + nativeName: "తెలుగు", + language: "te", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "రూ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ఆదివారం","సోమవారం","మంగళవారం","బుధవారం","గురువారం","శుక్రవారం","శనివారం"], + namesAbbr: ["ఆది.","సోమ.","మంగళ.","బుధ.","గురు.","శుక్ర.","శని."], + namesShort: ["ఆ","సో","మం","బు","గు","శు","శ"] + }, + months: { + names: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""], + namesAbbr: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""] + }, + AM: ["పూర్వాహ్న","పూర్వాహ్న","పూర్వాహ్న"], + PM: ["అపరాహ్న","అపరాహ్న","అపరాహ్న"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tg-Cyrl-TJ.js b/libs/js/globalize/lib/cultures/globalize.culture.tg-Cyrl-TJ.js new file mode 100644 index 00000000..3f0f3eb7 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tg-Cyrl-TJ.js @@ -0,0 +1,84 @@ +/* + * Globalize Culture tg-Cyrl-TJ + * + * 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( "tg-Cyrl-TJ", "default", { + name: "tg-Cyrl-TJ", + englishName: "Tajik (Cyrillic, Tajikistan)", + nativeName: "Тоҷикӣ (Тоҷикистон)", + language: "tg-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ";", + symbol: "т.р." + } + }, + calendars: { + standard: { + "/": ".", + days: { + names: ["Яш","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"], + namesAbbr: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"], + namesShort: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январи","феврали","марти","апрели","маи","июни","июли","августи","сентябри","октябри","ноябри","декабри",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tg-Cyrl.js b/libs/js/globalize/lib/cultures/globalize.culture.tg-Cyrl.js new file mode 100644 index 00000000..30fa290e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tg-Cyrl.js @@ -0,0 +1,84 @@ +/* + * Globalize Culture tg-Cyrl + * + * 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( "tg-Cyrl", "default", { + name: "tg-Cyrl", + englishName: "Tajik (Cyrillic)", + nativeName: "Тоҷикӣ", + language: "tg-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ";", + symbol: "т.р." + } + }, + calendars: { + standard: { + "/": ".", + days: { + names: ["Яш","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"], + namesAbbr: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"], + namesShort: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январи","феврали","марти","апрели","маи","июни","июли","августи","сентябри","октябри","ноябри","декабри",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tg.js b/libs/js/globalize/lib/cultures/globalize.culture.tg.js new file mode 100644 index 00000000..df4f26b0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tg.js @@ -0,0 +1,84 @@ +/* + * Globalize Culture tg + * + * 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( "tg", "default", { + name: "tg", + englishName: "Tajik", + nativeName: "Тоҷикӣ", + language: "tg", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ";", + symbol: "т.р." + } + }, + calendars: { + standard: { + "/": ".", + days: { + names: ["Яш","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"], + namesAbbr: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"], + namesShort: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январи","феврали","марти","апрели","маи","июни","июли","августи","сентябри","октябри","ноябри","декабри",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.th-TH.js b/libs/js/globalize/lib/cultures/globalize.culture.th-TH.js new file mode 100644 index 00000000..3ab70ab5 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.th-TH.js @@ -0,0 +1,90 @@ +/* + * Globalize Culture th-TH + * + * 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( "th-TH", "default", { + name: "th-TH", + englishName: "Thai (Thailand)", + nativeName: "ไทย (ไทย)", + language: "th", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "฿" + } + }, + calendars: { + standard: { + name: "ThaiBuddhist", + firstDay: 1, + days: { + names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"], + namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."], + namesShort: ["อ","จ","อ","พ","พ","ศ","ส"] + }, + months: { + names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""], + namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""] + }, + eras: [{"name":"พ.ศ.","start":null,"offset":-543}], + twoDigitYearMax: 2572, + patterns: { + d: "d/M/yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + }, + Gregorian_Localized: { + firstDay: 1, + days: { + names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"], + namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."], + namesShort: ["อ","จ","อ","พ","พ","ศ","ส"] + }, + months: { + names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""], + namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""] + }, + patterns: { + d: "d/M/yyyy", + D: "'วัน'dddd'ที่' d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "'วัน'dddd'ที่' d MMMM yyyy H:mm", + F: "'วัน'dddd'ที่' d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.th.js b/libs/js/globalize/lib/cultures/globalize.culture.th.js new file mode 100644 index 00000000..12943519 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.th.js @@ -0,0 +1,90 @@ +/* + * Globalize Culture th + * + * 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( "th", "default", { + name: "th", + englishName: "Thai", + nativeName: "ไทย", + language: "th", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "฿" + } + }, + calendars: { + standard: { + name: "ThaiBuddhist", + firstDay: 1, + days: { + names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"], + namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."], + namesShort: ["อ","จ","อ","พ","พ","ศ","ส"] + }, + months: { + names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""], + namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""] + }, + eras: [{"name":"พ.ศ.","start":null,"offset":-543}], + twoDigitYearMax: 2572, + patterns: { + d: "d/M/yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + }, + Gregorian_Localized: { + firstDay: 1, + days: { + names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"], + namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."], + namesShort: ["อ","จ","อ","พ","พ","ศ","ส"] + }, + months: { + names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""], + namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""] + }, + patterns: { + d: "d/M/yyyy", + D: "'วัน'dddd'ที่' d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "'วัน'dddd'ที่' d MMMM yyyy H:mm", + F: "'วัน'dddd'ที่' d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tk-TM.js b/libs/js/globalize/lib/cultures/globalize.culture.tk-TM.js new file mode 100644 index 00000000..8abafa07 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tk-TM.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture tk-TM + * + * 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( "tk-TM", "default", { + name: "tk-TM", + englishName: "Turkmen (Turkmenistan)", + nativeName: "türkmençe (Türkmenistan)", + language: "tk", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-üznüksizlik", + positiveInfinity: "üznüksizlik", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "m." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe","Ýekşenbe"], + namesAbbr: ["Db","Sb","Çb","Pb","An","Şb","Ýb"], + namesShort: ["D","S","Ç","P","A","Ş","Ý"] + }, + months: { + names: ["Ýanwar","Fewral","Mart","Aprel","Maý","lýun","lýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr",""], + namesAbbr: ["Ýan","Few","Mart","Apr","Maý","lýun","lýul","Awg","Sen","Okt","Not","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "yyyy 'ý.' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'ý.' MMMM d H:mm", + F: "yyyy 'ý.' MMMM d H:mm:ss", + Y: "yyyy 'ý.' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tk.js b/libs/js/globalize/lib/cultures/globalize.culture.tk.js new file mode 100644 index 00000000..27270411 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tk.js @@ -0,0 +1,78 @@ +/* + * Globalize Culture tk + * + * 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( "tk", "default", { + name: "tk", + englishName: "Turkmen", + nativeName: "türkmençe", + language: "tk", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-üznüksizlik", + positiveInfinity: "üznüksizlik", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "m." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe","Ýekşenbe"], + namesAbbr: ["Db","Sb","Çb","Pb","An","Şb","Ýb"], + namesShort: ["D","S","Ç","P","A","Ş","Ý"] + }, + months: { + names: ["Ýanwar","Fewral","Mart","Aprel","Maý","lýun","lýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr",""], + namesAbbr: ["Ýan","Few","Mart","Apr","Maý","lýun","lýul","Awg","Sen","Okt","Not","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "yyyy 'ý.' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'ý.' MMMM d H:mm", + F: "yyyy 'ý.' MMMM d H:mm:ss", + Y: "yyyy 'ý.' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tn-ZA.js b/libs/js/globalize/lib/cultures/globalize.culture.tn-ZA.js new file mode 100644 index 00000000..32c861dd --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tn-ZA.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture tn-ZA + * + * 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( "tn-ZA", "default", { + name: "tn-ZA", + englishName: "Setswana (South Africa)", + nativeName: "Setswana (Aforika Borwa)", + language: "tn", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Latshipi","Mosupologo","Labobedi","Laboraro","Labone","Labotlhano","Lamatlhatso"], + namesAbbr: ["Ltp.","Mos.","Lbd.","Lbr.","Lbn.","Lbt.","Lmt."], + namesShort: ["Lp","Ms","Lb","Lr","Ln","Lt","Lm"] + }, + months: { + names: ["Ferikgong","Tlhakole","Mopitloe","Moranang","Motsheganong","Seetebosigo","Phukwi","Phatwe","Lwetse","Diphalane","Ngwanatsele","Sedimothole",""], + namesAbbr: ["Fer.","Tlhak.","Mop.","Mor.","Motsh.","Seet.","Phukw.","Phatw.","Lwets.","Diph.","Ngwan.","Sed.",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tn.js b/libs/js/globalize/lib/cultures/globalize.culture.tn.js new file mode 100644 index 00000000..e3315780 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tn.js @@ -0,0 +1,67 @@ +/* + * Globalize Culture tn + * + * 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( "tn", "default", { + name: "tn", + englishName: "Setswana", + nativeName: "Setswana", + language: "tn", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Latshipi","Mosupologo","Labobedi","Laboraro","Labone","Labotlhano","Lamatlhatso"], + namesAbbr: ["Ltp.","Mos.","Lbd.","Lbr.","Lbn.","Lbt.","Lmt."], + namesShort: ["Lp","Ms","Lb","Lr","Ln","Lt","Lm"] + }, + months: { + names: ["Ferikgong","Tlhakole","Mopitloe","Moranang","Motsheganong","Seetebosigo","Phukwi","Phatwe","Lwetse","Diphalane","Ngwanatsele","Sedimothole",""], + namesAbbr: ["Fer.","Tlhak.","Mop.","Mor.","Motsh.","Seet.","Phukw.","Phatw.","Lwets.","Diph.","Ngwan.","Sed.",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tr-TR.js b/libs/js/globalize/lib/cultures/globalize.culture.tr-TR.js new file mode 100644 index 00000000..0fb93f8e --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tr-TR.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture tr-TR + * + * 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( "tr-TR", "default", { + name: "tr-TR", + englishName: "Turkish (Turkey)", + nativeName: "Türkçe (Türkiye)", + language: "tr", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "TL" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"], + namesAbbr: ["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"], + namesShort: ["Pz","Pt","Sa","Ça","Pe","Cu","Ct"] + }, + months: { + names: ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık",""], + namesAbbr: ["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "dd MMMM yyyy dddd", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy dddd HH:mm", + F: "dd MMMM yyyy dddd HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tr.js b/libs/js/globalize/lib/cultures/globalize.culture.tr.js new file mode 100644 index 00000000..a2ef8a5f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tr.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture tr + * + * 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( "tr", "default", { + name: "tr", + englishName: "Turkish", + nativeName: "Türkçe", + language: "tr", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "TL" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"], + namesAbbr: ["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"], + namesShort: ["Pz","Pt","Sa","Ça","Pe","Cu","Ct"] + }, + months: { + names: ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık",""], + namesAbbr: ["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "dd MMMM yyyy dddd", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy dddd HH:mm", + F: "dd MMMM yyyy dddd HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tt-RU.js b/libs/js/globalize/lib/cultures/globalize.culture.tt-RU.js new file mode 100644 index 00000000..b918faae --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tt-RU.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture tt-RU + * + * 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( "tt-RU", "default", { + name: "tt-RU", + englishName: "Tatar (Russia)", + nativeName: "Татар (Россия)", + language: "tt", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Якшәмбе","Дүшәмбе","Сишәмбе","Чәршәмбе","Пәнҗешәмбе","Җомга","Шимбә"], + namesAbbr: ["Якш","Дүш","Сиш","Чәрш","Пәнҗ","Җом","Шим"], + namesShort: ["Я","Д","С","Ч","П","Җ","Ш"] + }, + months: { + names: ["Гыйнвар","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["Гыйн.","Фев.","Мар.","Апр.","Май","Июнь","Июль","Авг.","Сен.","Окт.","Нояб.","Дек.",""] + }, + monthsGenitive: { + names: ["Гыйнварның","Февральнең","Мартның","Апрельнең","Майның","Июньнең","Июльнең","Августның","Сентябрьның","Октябрьның","Ноябрьның","Декабрьның",""], + namesAbbr: ["Гыйн.-ның","Фев.-нең","Мар.-ның","Апр.-нең","Майның","Июньнең","Июльнең","Авг.-ның","Сен.-ның","Окт.-ның","Нояб.-ның","Дек.-ның",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tt.js b/libs/js/globalize/lib/cultures/globalize.culture.tt.js new file mode 100644 index 00000000..efefad62 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tt.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture tt + * + * 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( "tt", "default", { + name: "tt", + englishName: "Tatar", + nativeName: "Татар", + language: "tt", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Якшәмбе","Дүшәмбе","Сишәмбе","Чәршәмбе","Пәнҗешәмбе","Җомга","Шимбә"], + namesAbbr: ["Якш","Дүш","Сиш","Чәрш","Пәнҗ","Җом","Шим"], + namesShort: ["Я","Д","С","Ч","П","Җ","Ш"] + }, + months: { + names: ["Гыйнвар","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["Гыйн.","Фев.","Мар.","Апр.","Май","Июнь","Июль","Авг.","Сен.","Окт.","Нояб.","Дек.",""] + }, + monthsGenitive: { + names: ["Гыйнварның","Февральнең","Мартның","Апрельнең","Майның","Июньнең","Июльнең","Августның","Сентябрьның","Октябрьның","Ноябрьның","Декабрьның",""], + namesAbbr: ["Гыйн.-ның","Фев.-нең","Мар.-ның","Апр.-нең","Майның","Июньнең","Июльнең","Авг.-ның","Сен.-ның","Окт.-ның","Нояб.-ның","Дек.-ның",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tzm-Latn-DZ.js b/libs/js/globalize/lib/cultures/globalize.culture.tzm-Latn-DZ.js new file mode 100644 index 00000000..a05ff0a6 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tzm-Latn-DZ.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture tzm-Latn-DZ + * + * 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( "tzm-Latn-DZ", "default", { + name: "tzm-Latn-DZ", + englishName: "Tamazight (Latin, Algeria)", + nativeName: "Tamazight (Djazaïr)", + language: "tzm-Latn", + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + symbol: "DZD" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 6, + days: { + names: ["Acer","Arime","Aram","Ahad","Amhadh","Sem","Sedh"], + namesAbbr: ["Ace","Ari","Ara","Aha","Amh","Sem","Sed"], + namesShort: ["Ac","Ar","Ar","Ah","Am","Se","Se"] + }, + months: { + names: ["Yenayer","Furar","Maghres","Yebrir","Mayu","Yunyu","Yulyu","Ghuct","Cutenber","Ktuber","Wambir","Dujanbir",""], + namesAbbr: ["Yen","Fur","Mag","Yeb","May","Yun","Yul","Ghu","Cut","Ktu","Wam","Duj",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tzm-Latn.js b/libs/js/globalize/lib/cultures/globalize.culture.tzm-Latn.js new file mode 100644 index 00000000..6e30aa6b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tzm-Latn.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture tzm-Latn + * + * 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( "tzm-Latn", "default", { + name: "tzm-Latn", + englishName: "Tamazight (Latin)", + nativeName: "Tamazight", + language: "tzm-Latn", + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + symbol: "DZD" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 6, + days: { + names: ["Acer","Arime","Aram","Ahad","Amhadh","Sem","Sedh"], + namesAbbr: ["Ace","Ari","Ara","Aha","Amh","Sem","Sed"], + namesShort: ["Ac","Ar","Ar","Ah","Am","Se","Se"] + }, + months: { + names: ["Yenayer","Furar","Maghres","Yebrir","Mayu","Yunyu","Yulyu","Ghuct","Cutenber","Ktuber","Wambir","Dujanbir",""], + namesAbbr: ["Yen","Fur","Mag","Yeb","May","Yun","Yul","Ghu","Cut","Ktu","Wam","Duj",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.tzm.js b/libs/js/globalize/lib/cultures/globalize.culture.tzm.js new file mode 100644 index 00000000..176f0c99 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.tzm.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture tzm + * + * 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( "tzm", "default", { + name: "tzm", + englishName: "Tamazight", + nativeName: "Tamazight", + language: "tzm", + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + symbol: "DZD" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 6, + days: { + names: ["Acer","Arime","Aram","Ahad","Amhadh","Sem","Sedh"], + namesAbbr: ["Ace","Ari","Ara","Aha","Amh","Sem","Sed"], + namesShort: ["Ac","Ar","Ar","Ah","Am","Se","Se"] + }, + months: { + names: ["Yenayer","Furar","Maghres","Yebrir","Mayu","Yunyu","Yulyu","Ghuct","Cutenber","Ktuber","Wambir","Dujanbir",""], + namesAbbr: ["Yen","Fur","Mag","Yeb","May","Yun","Yul","Ghu","Cut","Ktu","Wam","Duj",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ug-CN.js b/libs/js/globalize/lib/cultures/globalize.culture.ug-CN.js new file mode 100644 index 00000000..dcfd8528 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ug-CN.js @@ -0,0 +1,75 @@ +/* + * Globalize Culture ug-CN + * + * 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( "ug-CN", "default", { + name: "ug-CN", + englishName: "Uyghur (PRC)", + nativeName: "ئۇيغۇرچە (جۇڭخۇا خەلق جۇمھۇرىيىتى)", + language: "ug", + isRTL: true, + numberFormat: { + NaN: "سان ئەمەس", + negativeInfinity: "مەنپىي چەكسىزلىك", + positiveInfinity: "مۇسبەت چەكسىزلىك", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"], + namesAbbr: ["يە","دۈ","سە","چا","پە","جۈ","شە"], + namesShort: ["ي","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""], + namesAbbr: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""] + }, + AM: ["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"], + PM: ["چۈشتىن كېيىن","چۈشتىن كېيىن","چۈشتىن كېيىن"], + eras: [{"name":"مىلادى","start":null,"offset":0}], + patterns: { + d: "yyyy-M-d", + D: "yyyy-'يىلى' MMMM d-'كۈنى،'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm", + F: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm:ss", + M: "MMMM d'-كۈنى'", + Y: "yyyy-'يىلى' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ug.js b/libs/js/globalize/lib/cultures/globalize.culture.ug.js new file mode 100644 index 00000000..5ea5a5aa --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ug.js @@ -0,0 +1,75 @@ +/* + * Globalize Culture ug + * + * 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( "ug", "default", { + name: "ug", + englishName: "Uyghur", + nativeName: "ئۇيغۇرچە", + language: "ug", + isRTL: true, + numberFormat: { + NaN: "سان ئەمەس", + negativeInfinity: "مەنپىي چەكسىزلىك", + positiveInfinity: "مۇسبەت چەكسىزلىك", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"], + namesAbbr: ["يە","دۈ","سە","چا","پە","جۈ","شە"], + namesShort: ["ي","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""], + namesAbbr: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""] + }, + AM: ["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"], + PM: ["چۈشتىن كېيىن","چۈشتىن كېيىن","چۈشتىن كېيىن"], + eras: [{"name":"مىلادى","start":null,"offset":0}], + patterns: { + d: "yyyy-M-d", + D: "yyyy-'يىلى' MMMM d-'كۈنى،'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm", + F: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm:ss", + M: "MMMM d'-كۈنى'", + Y: "yyyy-'يىلى' MMMM" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.uk-UA.js b/libs/js/globalize/lib/cultures/globalize.culture.uk-UA.js new file mode 100644 index 00000000..ffd012a3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.uk-UA.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture uk-UA + * + * 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( "uk-UA", "default", { + name: "uk-UA", + englishName: "Ukrainian (Ukraine)", + nativeName: "українська (Україна)", + language: "uk", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-безмежність", + positiveInfinity: "безмежність", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₴" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"], + namesAbbr: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"], + namesShort: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"] + }, + months: { + names: ["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень",""], + namesAbbr: ["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру",""] + }, + monthsGenitive: { + names: ["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня",""], + namesAbbr: ["січ","лют","бер","кві","тра","чер","лип","сер","вер","жов","лис","гру",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy' р.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy' р.' H:mm", + F: "d MMMM yyyy' р.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy' р.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.uk.js b/libs/js/globalize/lib/cultures/globalize.culture.uk.js new file mode 100644 index 00000000..3aba5581 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.uk.js @@ -0,0 +1,83 @@ +/* + * Globalize Culture uk + * + * 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( "uk", "default", { + name: "uk", + englishName: "Ukrainian", + nativeName: "українська", + language: "uk", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-безмежність", + positiveInfinity: "безмежність", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₴" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"], + namesAbbr: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"], + namesShort: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"] + }, + months: { + names: ["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень",""], + namesAbbr: ["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру",""] + }, + monthsGenitive: { + names: ["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня",""], + namesAbbr: ["січ","лют","бер","кві","тра","чер","лип","сер","вер","жов","лис","гру",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy' р.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy' р.' H:mm", + F: "d MMMM yyyy' р.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy' р.'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ur-PK.js b/libs/js/globalize/lib/cultures/globalize.culture.ur-PK.js new file mode 100644 index 00000000..befd62fb --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ur-PK.js @@ -0,0 +1,157 @@ +/* + * Globalize Culture ur-PK + * + * 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( "ur-PK", "default", { + name: "ur-PK", + englishName: "Urdu (Islamic Republic of Pakistan)", + nativeName: "اُردو (پاکستان)", + language: "ur", + isRTL: true, + numberFormat: { + currency: { + pattern: ["$n-","$n"], + symbol: "Rs" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"], + namesAbbr: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"], + namesShort: ["ا","پ","م","ب","ج","ج","ه"] + }, + months: { + names: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""], + namesAbbr: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""] + }, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM, yyyy", + f: "dd MMMM, yyyy h:mm tt", + F: "dd MMMM, yyyy h:mm:ss tt", + M: "dd MMMM" + } + }, + Hijri: { + name: "Hijri", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MM/yyyy", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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); + } + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.ur.js b/libs/js/globalize/lib/cultures/globalize.culture.ur.js new file mode 100644 index 00000000..ce126138 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.ur.js @@ -0,0 +1,157 @@ +/* + * Globalize Culture ur + * + * 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( "ur", "default", { + name: "ur", + englishName: "Urdu", + nativeName: "اُردو", + language: "ur", + isRTL: true, + numberFormat: { + currency: { + pattern: ["$n-","$n"], + symbol: "Rs" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"], + namesAbbr: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"], + namesShort: ["ا","پ","م","ب","ج","ج","ه"] + }, + months: { + names: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""], + namesAbbr: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""] + }, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM, yyyy", + f: "dd MMMM, yyyy h:mm tt", + F: "dd MMMM, yyyy h:mm:ss tt", + M: "dd MMMM" + } + }, + Hijri: { + name: "Hijri", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MM/yyyy", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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); + } + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.uz-Cyrl-UZ.js b/libs/js/globalize/lib/cultures/globalize.culture.uz-Cyrl-UZ.js new file mode 100644 index 00000000..69bd196b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.uz-Cyrl-UZ.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture uz-Cyrl-UZ + * + * 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( "uz-Cyrl-UZ", "default", { + name: "uz-Cyrl-UZ", + englishName: "Uzbek (Cyrillic, Uzbekistan)", + nativeName: "Ўзбек (Ўзбекистон)", + language: "uz-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "сўм" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["якшанба","душанба","сешанба","чоршанба","пайшанба","жума","шанба"], + namesAbbr: ["якш","дш","сш","чш","пш","ж","ш"], + namesShort: ["я","д","с","ч","п","ж","ш"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январ","феврал","март","апрел","май","июн","июл","август","сентябр","октябр","ноябр","декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","мая","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "yyyy 'йил' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'йил' d-MMMM HH:mm", + F: "yyyy 'йил' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.uz-Cyrl.js b/libs/js/globalize/lib/cultures/globalize.culture.uz-Cyrl.js new file mode 100644 index 00000000..90d5f454 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.uz-Cyrl.js @@ -0,0 +1,81 @@ +/* + * Globalize Culture uz-Cyrl + * + * 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( "uz-Cyrl", "default", { + name: "uz-Cyrl", + englishName: "Uzbek (Cyrillic)", + nativeName: "Ўзбек", + language: "uz-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "сўм" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["якшанба","душанба","сешанба","чоршанба","пайшанба","жума","шанба"], + namesAbbr: ["якш","дш","сш","чш","пш","ж","ш"], + namesShort: ["я","д","с","ч","п","ж","ш"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январ","феврал","март","апрел","май","июн","июл","август","сентябр","октябр","ноябр","декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","мая","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "yyyy 'йил' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'йил' d-MMMM HH:mm", + F: "yyyy 'йил' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.uz-Latn-UZ.js b/libs/js/globalize/lib/cultures/globalize.culture.uz-Latn-UZ.js new file mode 100644 index 00000000..b4b1ea42 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.uz-Latn-UZ.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture uz-Latn-UZ + * + * 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( "uz-Latn-UZ", "default", { + name: "uz-Latn-UZ", + englishName: "Uzbek (Latin, Uzbekistan)", + nativeName: "U'zbek (U'zbekiston Respublikasi)", + language: "uz-Latn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": " ", + ".": ",", + symbol: "so'm" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["yakshanba","dushanba","seshanba","chorshanba","payshanba","juma","shanba"], + namesAbbr: ["yak.","dsh.","sesh.","chr.","psh.","jm.","sh."], + namesShort: ["ya","d","s","ch","p","j","sh"] + }, + months: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM yyyy", + D: "yyyy 'yil' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'yil' d-MMMM HH:mm", + F: "yyyy 'yil' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.uz-Latn.js b/libs/js/globalize/lib/cultures/globalize.culture.uz-Latn.js new file mode 100644 index 00000000..95a717e8 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.uz-Latn.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture uz-Latn + * + * 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( "uz-Latn", "default", { + name: "uz-Latn", + englishName: "Uzbek (Latin)", + nativeName: "U'zbek", + language: "uz-Latn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": " ", + ".": ",", + symbol: "so'm" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["yakshanba","dushanba","seshanba","chorshanba","payshanba","juma","shanba"], + namesAbbr: ["yak.","dsh.","sesh.","chr.","psh.","jm.","sh."], + namesShort: ["ya","d","s","ch","p","j","sh"] + }, + months: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM yyyy", + D: "yyyy 'yil' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'yil' d-MMMM HH:mm", + F: "yyyy 'yil' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.uz.js b/libs/js/globalize/lib/cultures/globalize.culture.uz.js new file mode 100644 index 00000000..50bf9ce6 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.uz.js @@ -0,0 +1,77 @@ +/* + * Globalize Culture uz + * + * 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( "uz", "default", { + name: "uz", + englishName: "Uzbek", + nativeName: "U'zbek", + language: "uz", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": " ", + ".": ",", + symbol: "so'm" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["yakshanba","dushanba","seshanba","chorshanba","payshanba","juma","shanba"], + namesAbbr: ["yak.","dsh.","sesh.","chr.","psh.","jm.","sh."], + namesShort: ["ya","d","s","ch","p","j","sh"] + }, + months: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM yyyy", + D: "yyyy 'yil' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'yil' d-MMMM HH:mm", + F: "yyyy 'yil' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.vi-VN.js b/libs/js/globalize/lib/cultures/globalize.culture.vi-VN.js new file mode 100644 index 00000000..bc28d7a8 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.vi-VN.js @@ -0,0 +1,73 @@ +/* + * Globalize Culture vi-VN + * + * 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( "vi-VN", "default", { + name: "vi-VN", + englishName: "Vietnamese (Vietnam)", + nativeName: "Tiếng Việt (Việt Nam)", + language: "vi", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "₫" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"], + namesAbbr: ["CN","Hai","Ba","Tư","Năm","Sáu","Bảy"], + namesShort: ["C","H","B","T","N","S","B"] + }, + months: { + names: ["Tháng Giêng","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai",""], + namesAbbr: ["Thg1","Thg2","Thg3","Thg4","Thg5","Thg6","Thg7","Thg8","Thg9","Thg10","Thg11","Thg12",""] + }, + AM: ["SA","sa","SA"], + PM: ["CH","ch","CH"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + f: "dd MMMM yyyy h:mm tt", + F: "dd MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.vi.js b/libs/js/globalize/lib/cultures/globalize.culture.vi.js new file mode 100644 index 00000000..d0cec0b9 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.vi.js @@ -0,0 +1,73 @@ +/* + * Globalize Culture vi + * + * 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( "vi", "default", { + name: "vi", + englishName: "Vietnamese", + nativeName: "Tiếng Việt", + language: "vi", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "₫" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"], + namesAbbr: ["CN","Hai","Ba","Tư","Năm","Sáu","Bảy"], + namesShort: ["C","H","B","T","N","S","B"] + }, + months: { + names: ["Tháng Giêng","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai",""], + namesAbbr: ["Thg1","Thg2","Thg3","Thg4","Thg5","Thg6","Thg7","Thg8","Thg9","Thg10","Thg11","Thg12",""] + }, + AM: ["SA","sa","SA"], + PM: ["CH","ch","CH"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + f: "dd MMMM yyyy h:mm tt", + F: "dd MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.wo-SN.js b/libs/js/globalize/lib/cultures/globalize.culture.wo-SN.js new file mode 100644 index 00000000..e2def208 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.wo-SN.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture wo-SN + * + * 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( "wo-SN", "default", { + name: "wo-SN", + englishName: "Wolof (Senegal)", + nativeName: "Wolof (Sénégal)", + language: "wo", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "XOF" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.wo.js b/libs/js/globalize/lib/cultures/globalize.culture.wo.js new file mode 100644 index 00000000..f2d4edb3 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.wo.js @@ -0,0 +1,79 @@ +/* + * Globalize Culture wo + * + * 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( "wo", "default", { + name: "wo", + englishName: "Wolof", + nativeName: "Wolof", + language: "wo", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "XOF" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.xh-ZA.js b/libs/js/globalize/lib/cultures/globalize.culture.xh-ZA.js new file mode 100644 index 00000000..4101be62 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.xh-ZA.js @@ -0,0 +1,65 @@ +/* + * Globalize Culture xh-ZA + * + * 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( "xh-ZA", "default", { + name: "xh-ZA", + englishName: "isiXhosa (South Africa)", + nativeName: "isiXhosa (uMzantsi Afrika)", + language: "xh", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["iCawa","uMvulo","uLwesibini","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"], + namesShort: ["Ca","Mv","Lb","Lt","Ln","Lh","Mg"] + }, + months: { + names: ["Mqungu","Mdumba","Kwindla","Tshazimpuzi","Canzibe","Silimela","Khala","Thupha","Msintsi","Dwarha","Nkanga","Mnga",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.xh.js b/libs/js/globalize/lib/cultures/globalize.culture.xh.js new file mode 100644 index 00000000..8325e614 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.xh.js @@ -0,0 +1,65 @@ +/* + * Globalize Culture xh + * + * 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( "xh", "default", { + name: "xh", + englishName: "isiXhosa", + nativeName: "isiXhosa", + language: "xh", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["iCawa","uMvulo","uLwesibini","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"], + namesShort: ["Ca","Mv","Lb","Lt","Ln","Lh","Mg"] + }, + months: { + names: ["Mqungu","Mdumba","Kwindla","Tshazimpuzi","Canzibe","Silimela","Khala","Thupha","Msintsi","Dwarha","Nkanga","Mnga",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.yo-NG.js b/libs/js/globalize/lib/cultures/globalize.culture.yo-NG.js new file mode 100644 index 00000000..39af5b88 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.yo-NG.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture yo-NG + * + * 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( "yo-NG", "default", { + name: "yo-NG", + englishName: "Yoruba (Nigeria)", + nativeName: "Yoruba (Nigeria)", + language: "yo", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"], + namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"], + namesShort: ["A","A","I","O","O","E","A"] + }, + months: { + names: ["Osu kinni","Osu keji","Osu keta","Osu kerin","Osu karun","Osu kefa","Osu keje","Osu kejo","Osu kesan","Osu kewa","Osu kokanla","Osu keresi",""], + namesAbbr: ["kin.","kej.","ket.","ker.","kar.","kef.","kej.","kej.","kes.","kew.","kok.","ker.",""] + }, + AM: ["Owuro","owuro","OWURO"], + PM: ["Ale","ale","ALE"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.yo.js b/libs/js/globalize/lib/cultures/globalize.culture.yo.js new file mode 100644 index 00000000..b5e24cd1 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.yo.js @@ -0,0 +1,60 @@ +/* + * Globalize Culture yo + * + * 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( "yo", "default", { + name: "yo", + englishName: "Yoruba", + nativeName: "Yoruba", + language: "yo", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"], + namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"], + namesShort: ["A","A","I","O","O","E","A"] + }, + months: { + names: ["Osu kinni","Osu keji","Osu keta","Osu kerin","Osu karun","Osu kefa","Osu keje","Osu kejo","Osu kesan","Osu kewa","Osu kokanla","Osu keresi",""], + namesAbbr: ["kin.","kej.","ket.","ker.","kar.","kef.","kej.","kej.","kes.","kew.","kok.","ker.",""] + }, + AM: ["Owuro","owuro","OWURO"], + PM: ["Ale","ale","ALE"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh-CHS.js b/libs/js/globalize/lib/cultures/globalize.culture.zh-CHS.js new file mode 100644 index 00000000..c843bc82 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh-CHS.js @@ -0,0 +1,73 @@ +/* + * Globalize Culture zh-CHS + * + * 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( "zh-CHS", "default", { + name: "zh-CHS", + englishName: "Chinese (Simplified) Legacy", + nativeName: "中文(简体) 旧版", + language: "zh-CHS", + numberFormat: { + NaN: "非数字", + negativeInfinity: "负无穷大", + positiveInfinity: "正无穷大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh-CHT.js b/libs/js/globalize/lib/cultures/globalize.culture.zh-CHT.js new file mode 100644 index 00000000..7ca37c96 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh-CHT.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture zh-CHT + * + * 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( "zh-CHT", "default", { + name: "zh-CHT", + englishName: "Chinese (Traditional) Legacy", + nativeName: "中文(繁體) 舊版", + language: "zh-CHT", + numberFormat: { + NaN: "非數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "HK$" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh-CN.js b/libs/js/globalize/lib/cultures/globalize.culture.zh-CN.js new file mode 100644 index 00000000..41e6294a --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh-CN.js @@ -0,0 +1,73 @@ +/* + * Globalize Culture zh-CN + * + * 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( "zh-CN", "default", { + name: "zh-CN", + englishName: "Chinese (Simplified, PRC)", + nativeName: "中文(中华人民共和国)", + language: "zh-CHS", + numberFormat: { + NaN: "非数字", + negativeInfinity: "负无穷大", + positiveInfinity: "正无穷大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh-HK.js b/libs/js/globalize/lib/cultures/globalize.culture.zh-HK.js new file mode 100644 index 00000000..dd769ca8 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh-HK.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture zh-HK + * + * 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( "zh-HK", "default", { + name: "zh-HK", + englishName: "Chinese (Traditional, Hong Kong S.A.R.)", + nativeName: "中文(香港特別行政區)", + language: "zh-CHT", + numberFormat: { + NaN: "非數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "HK$" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh-Hans.js b/libs/js/globalize/lib/cultures/globalize.culture.zh-Hans.js new file mode 100644 index 00000000..8569374f --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh-Hans.js @@ -0,0 +1,73 @@ +/* + * Globalize Culture zh-Hans + * + * 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( "zh-Hans", "default", { + name: "zh-Hans", + englishName: "Chinese (Simplified)", + nativeName: "中文(简体)", + language: "zh-Hans", + numberFormat: { + NaN: "非数字", + negativeInfinity: "负无穷大", + positiveInfinity: "正无穷大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh-Hant.js b/libs/js/globalize/lib/cultures/globalize.culture.zh-Hant.js new file mode 100644 index 00000000..44ba8653 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh-Hant.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture zh-Hant + * + * 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( "zh-Hant", "default", { + name: "zh-Hant", + englishName: "Chinese (Traditional)", + nativeName: "中文(繁體)", + language: "zh-Hant", + numberFormat: { + NaN: "非數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "HK$" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh-MO.js b/libs/js/globalize/lib/cultures/globalize.culture.zh-MO.js new file mode 100644 index 00000000..e09274fd --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh-MO.js @@ -0,0 +1,72 @@ +/* + * Globalize Culture zh-MO + * + * 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( "zh-MO", "default", { + name: "zh-MO", + englishName: "Chinese (Traditional, Macao S.A.R.)", + nativeName: "中文(澳門特別行政區)", + language: "zh-CHT", + numberFormat: { + NaN: "非數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "MOP" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh-SG.js b/libs/js/globalize/lib/cultures/globalize.culture.zh-SG.js new file mode 100644 index 00000000..8e99e6d0 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh-SG.js @@ -0,0 +1,63 @@ +/* + * Globalize Culture zh-SG + * + * 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( "zh-SG", "default", { + name: "zh-SG", + englishName: "Chinese (Simplified, Singapore)", + nativeName: "中文(新加坡)", + language: "zh-CHS", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy'年'M'月'd'日' tt h:mm", + F: "yyyy'年'M'月'd'日' tt h:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh-TW.js b/libs/js/globalize/lib/cultures/globalize.culture.zh-TW.js new file mode 100644 index 00000000..22eea149 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh-TW.js @@ -0,0 +1,99 @@ +/* + * Globalize Culture zh-TW + * + * 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( "zh-TW", "default", { + name: "zh-TW", + englishName: "Chinese (Traditional, Taiwan)", + nativeName: "中文(台灣)", + language: "zh-CHT", + numberFormat: { + NaN: "不是一個數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "NT$" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"西元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "tt hh:mm", + T: "tt hh:mm:ss", + f: "yyyy'年'M'月'd'日' tt hh:mm", + F: "yyyy'年'M'月'd'日' tt hh:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + }, + Taiwan: { + name: "Taiwan", + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"","start":null,"offset":1911}], + twoDigitYearMax: 99, + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "tt hh:mm", + T: "tt hh:mm:ss", + f: "yyyy'年'M'月'd'日' tt hh:mm", + F: "yyyy'年'M'月'd'日' tt hh:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zh.js b/libs/js/globalize/lib/cultures/globalize.culture.zh.js new file mode 100644 index 00000000..2bab3881 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zh.js @@ -0,0 +1,73 @@ +/* + * Globalize Culture zh + * + * 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( "zh", "default", { + name: "zh", + englishName: "Chinese", + nativeName: "中文", + language: "zh", + numberFormat: { + NaN: "非数字", + negativeInfinity: "负无穷大", + positiveInfinity: "正无穷大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zu-ZA.js b/libs/js/globalize/lib/cultures/globalize.culture.zu-ZA.js new file mode 100644 index 00000000..348cda6b --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zu-ZA.js @@ -0,0 +1,66 @@ +/* + * Globalize Culture zu-ZA + * + * 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( "zu-ZA", "default", { + name: "zu-ZA", + englishName: "isiZulu (South Africa)", + nativeName: "isiZulu (iNingizimu Afrika)", + language: "zu", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["iSonto","uMsombuluko","uLwesibili","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"], + namesAbbr: ["Son.","Mso.","Bi.","Tha.","Ne.","Hla.","Mgq."] + }, + months: { + names: ["uMasingana","uNhlolanja","uNdasa","uMbaso","uNhlaba","uNhlangulana","uNtulikazi","uNcwaba","uMandulo","uMfumfu","uLwezi","uZibandlela",""], + namesAbbr: ["Mas.","Nhlo.","Nda.","Mba.","Nhla.","Nhlang.","Ntu.","Ncwa.","Man.","Mfu.","Lwe.","Zib.",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.culture.zu.js b/libs/js/globalize/lib/cultures/globalize.culture.zu.js new file mode 100644 index 00000000..78873a5d --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.culture.zu.js @@ -0,0 +1,66 @@ +/* + * Globalize Culture zu + * + * 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( "zu", "default", { + name: "zu", + englishName: "isiZulu", + nativeName: "isiZulu", + language: "zu", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["iSonto","uMsombuluko","uLwesibili","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"], + namesAbbr: ["Son.","Mso.","Bi.","Tha.","Ne.","Hla.","Mgq."] + }, + months: { + names: ["uMasingana","uNhlolanja","uNdasa","uMbaso","uNhlaba","uNhlangulana","uNtulikazi","uNcwaba","uMandulo","uMfumfu","uLwezi","uZibandlela",""], + namesAbbr: ["Mas.","Nhlo.","Nda.","Mba.","Nhla.","Nhlang.","Ntu.","Ncwa.","Man.","Mfu.","Lwe.","Zib.",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +}( this )); diff --git a/libs/js/globalize/lib/cultures/globalize.cultures.js b/libs/js/globalize/lib/cultures/globalize.cultures.js new file mode 100644 index 00000000..cf306591 --- /dev/null +++ b/libs/js/globalize/lib/cultures/globalize.cultures.js @@ -0,0 +1,24063 @@ +/* + * Globalize Cultures + * + * 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", "default", { + name: "ar", + englishName: "Arabic", + nativeName: "العربية", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + symbol: "ر.س." + } + }, + calendars: { + standard: { + 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]; + } + } + }, + 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); + } + } + }, + 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_Localized: { + 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" + } + }, + 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" + } + } + } +}); + +Globalize.addCultureInfo( "bg", "default", { + name: "bg", + englishName: "Bulgarian", + nativeName: "български", + language: "bg", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "- безкрайност", + positiveInfinity: "+ безкрайност", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "лв." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"], + namesAbbr: ["нед","пон","вт","ср","четв","пет","съб"], + namesShort: ["н","п","в","с","ч","п","с"] + }, + months: { + names: ["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември",""], + namesAbbr: ["ян","февр","март","апр","май","юни","юли","авг","септ","окт","ноември","дек",""] + }, + AM: null, + PM: null, + eras: [{"name":"след новата ера","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy 'г.'", + D: "dd MMMM yyyy 'г.'", + t: "HH:mm 'ч.'", + T: "HH:mm:ss 'ч.'", + f: "dd MMMM yyyy 'г.' HH:mm 'ч.'", + F: "dd MMMM yyyy 'г.' HH:mm:ss 'ч.'", + M: "dd MMMM", + Y: "MMMM yyyy 'г.'" + } + } + } +}); + +Globalize.addCultureInfo( "ca", "default", { + name: "ca", + englishName: "Catalan", + nativeName: "català", + language: "ca", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinit", + positiveInfinity: "Infinit", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"], + namesAbbr: ["dg.","dl.","dt.","dc.","dj.","dv.","ds."], + namesShort: ["dg","dl","dt","dc","dj","dv","ds"] + }, + months: { + names: ["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre",""], + namesAbbr: ["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' / 'MMMM' / 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' / 'MMMM' / 'yyyy HH:mm", + F: "dddd, d' / 'MMMM' / 'yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM' / 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "zh-Hans", "default", { + name: "zh-Hans", + englishName: "Chinese (Simplified)", + nativeName: "中文(简体)", + language: "zh-Hans", + numberFormat: { + NaN: "非数字", + negativeInfinity: "负无穷大", + positiveInfinity: "正无穷大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "cs", "default", { + name: "cs", + englishName: "Czech", + nativeName: "čeština", + language: "cs", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Není číslo", + negativeInfinity: "-nekonečno", + positiveInfinity: "+nekonečno", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Kč" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"], + namesAbbr: ["ne","po","út","st","čt","pá","so"], + namesShort: ["ne","po","út","st","čt","pá","so"] + }, + months: { + names: ["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + monthsGenitive: { + names: ["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["dop.","dop.","DOP."], + PM: ["odp.","odp.","ODP."], + eras: [{"name":"n. l.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "da", "default", { + name: "da", + englishName: "Danish", + nativeName: "dansk", + language: "da", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "de", "default", { + name: "de", + englishName: "German", + nativeName: "Deutsch", + language: "de", + numberFormat: { + ",": ".", + ".": ",", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "el", "default", { + name: "el", + englishName: "Greek", + nativeName: "Ελληνικά", + language: "el", + numberFormat: { + ",": ".", + ".": ",", + NaN: "μη αριθμός", + negativeInfinity: "-Άπειρο", + positiveInfinity: "Άπειρο", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"], + namesAbbr: ["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"], + namesShort: ["Κυ","Δε","Τρ","Τε","Πε","Πα","Σά"] + }, + months: { + names: ["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος",""], + namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""] + }, + monthsGenitive: { + names: ["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου",""], + namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""] + }, + AM: ["πμ","πμ","ΠΜ"], + PM: ["μμ","μμ","ΜΜ"], + eras: [{"name":"μ.Χ.","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "dddd, d MMMM yyyy", + f: "dddd, d MMMM yyyy h:mm tt", + F: "dddd, d MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es", "default", { + name: "es", + englishName: "Spanish", + nativeName: "español", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fi", "default", { + name: "fi", + englishName: "Finnish", + nativeName: "suomi", + language: "fi", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"], + namesAbbr: ["su","ma","ti","ke","to","pe","la"], + namesShort: ["su","ma","ti","ke","to","pe","la"] + }, + months: { + names: ["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu",""], + namesAbbr: ["tammi","helmi","maalis","huhti","touko","kesä","heinä","elo","syys","loka","marras","joulu",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM'ta 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM'ta 'yyyy H:mm", + F: "d. MMMM'ta 'yyyy H:mm:ss", + M: "d. MMMM'ta'", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fr", "default", { + name: "fr", + englishName: "French", + nativeName: "français", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "he", "default", { + name: "he", + englishName: "Hebrew", + nativeName: "עברית", + language: "he", + isRTL: true, + numberFormat: { + NaN: "לא מספר", + negativeInfinity: "אינסוף שלילי", + positiveInfinity: "אינסוף חיובי", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "₪" + } + }, + calendars: { + standard: { + days: { + names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"], + namesAbbr: ["יום א","יום ב","יום ג","יום ד","יום ה","יום ו","שבת"], + namesShort: ["א","ב","ג","ד","ה","ו","ש"] + }, + months: { + names: ["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר",""], + namesAbbr: ["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ",""] + }, + eras: [{"name":"לספירה","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd dd MMMM yyyy HH:mm", + F: "dddd dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + }, + Hebrew: { + name: "Hebrew", + "/": " ", + days: { + names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"], + namesAbbr: ["א","ב","ג","ד","ה","ו","ש"], + namesShort: ["א","ב","ג","ד","ה","ו","ש"] + }, + months: { + names: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"], + namesAbbr: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"] + }, + eras: [{"name":"C.E.","start":null,"offset":0}], + twoDigitYearMax: 5790, + patterns: { + d: "dd MMMM yyyy", + D: "dddd dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd dd MMMM yyyy HH:mm", + F: "dddd dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "hu", "default", { + name: "hu", + englishName: "Hungarian", + nativeName: "magyar", + language: "hu", + numberFormat: { + ",": " ", + ".": ",", + NaN: "nem szám", + negativeInfinity: "negatív végtelen", + positiveInfinity: "végtelen", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Ft" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"], + namesAbbr: ["V","H","K","Sze","Cs","P","Szo"], + namesShort: ["V","H","K","Sze","Cs","P","Szo"] + }, + months: { + names: ["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december",""], + namesAbbr: ["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec.",""] + }, + AM: ["de.","de.","DE."], + PM: ["du.","du.","DU."], + eras: [{"name":"i.sz.","start":null,"offset":0}], + patterns: { + d: "yyyy.MM.dd.", + D: "yyyy. MMMM d.", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy. MMMM d. H:mm", + F: "yyyy. MMMM d. H:mm:ss", + M: "MMMM d.", + Y: "yyyy. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "is", "default", { + name: "is", + englishName: "Icelandic", + nativeName: "íslenska", + language: "is", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"], + namesAbbr: ["sun.","mán.","þri.","mið.","fim.","fös.","lau."], + namesShort: ["su","má","þr","mi","fi","fö","la"] + }, + months: { + names: ["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember",""], + namesAbbr: ["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des.",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "it", "default", { + name: "it", + englishName: "Italian", + nativeName: "italiano", + language: "it", + numberFormat: { + ",": ".", + ".": ",", + NaN: "Non un numero reale", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"], + namesAbbr: ["dom","lun","mar","mer","gio","ven","sab"], + namesShort: ["do","lu","ma","me","gi","ve","sa"] + }, + months: { + names: ["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre",""], + namesAbbr: ["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ja", "default", { + name: "ja", + englishName: "Japanese", + nativeName: "日本語", + language: "ja", + numberFormat: { + NaN: "NaN (非数値)", + negativeInfinity: "-∞", + positiveInfinity: "+∞", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["-$n","$n"], + decimals: 0, + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], + namesAbbr: ["日","月","火","水","木","金","土"], + namesShort: ["日","月","火","水","木","金","土"] + }, + months: { + names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["午前","午前","午前"], + PM: ["午後","午後","午後"], + eras: [{"name":"西暦","start":null,"offset":0}], + patterns: { + d: "yyyy/MM/dd", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + }, + Japanese: { + name: "Japanese", + days: { + names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], + namesAbbr: ["日","月","火","水","木","金","土"], + namesShort: ["日","月","火","水","木","金","土"] + }, + months: { + names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["午前","午前","午前"], + PM: ["午後","午後","午後"], + eras: [{"name":"平成","start":null,"offset":1867},{"name":"昭和","start":-1812153600000,"offset":1911},{"name":"大正","start":-1357603200000,"offset":1925},{"name":"明治","start":60022080000,"offset":1988}], + twoDigitYearMax: 99, + patterns: { + d: "gg y/M/d", + D: "gg y'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "gg y'年'M'月'd'日' H:mm", + F: "gg y'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "gg y'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "ko", "default", { + name: "ko", + englishName: "Korean", + nativeName: "한국어", + language: "ko", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + decimals: 0, + symbol: "₩" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"], + namesAbbr: ["일","월","화","수","목","금","토"], + namesShort: ["일","월","화","수","목","금","토"] + }, + months: { + names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["오전","오전","오전"], + PM: ["오후","오후","오후"], + eras: [{"name":"서기","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy'년' M'월' d'일' dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy'년' M'월' d'일' dddd tt h:mm", + F: "yyyy'년' M'월' d'일' dddd tt h:mm:ss", + M: "M'월' d'일'", + Y: "yyyy'년' M'월'" + } + }, + Korean: { + name: "Korean", + "/": "-", + days: { + names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"], + namesAbbr: ["일","월","화","수","목","금","토"], + namesShort: ["일","월","화","수","목","금","토"] + }, + months: { + names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["오전","오전","오전"], + PM: ["오후","오후","오후"], + eras: [{"name":"단기","start":null,"offset":-2333}], + twoDigitYearMax: 4362, + patterns: { + d: "gg yyyy-MM-dd", + D: "gg yyyy'년' M'월' d'일' dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "gg yyyy'년' M'월' d'일' dddd tt h:mm", + F: "gg yyyy'년' M'월' d'일' dddd tt h:mm:ss", + M: "M'월' d'일'", + Y: "gg yyyy'년' M'월'" + } + } + } +}); + +Globalize.addCultureInfo( "nl", "default", { + name: "nl", + englishName: "Dutch", + nativeName: "Nederlands", + language: "nl", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"], + namesAbbr: ["zo","ma","di","wo","do","vr","za"], + namesShort: ["zo","ma","di","wo","do","vr","za"] + }, + months: { + names: ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d-M-yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "no", "default", { + name: "no", + englishName: "Norwegian", + nativeName: "norsk", + language: "no", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "pl", "default", { + name: "pl", + englishName: "Polish", + nativeName: "polski", + language: "pl", + numberFormat: { + ",": " ", + ".": ",", + NaN: "nie jest liczbą", + negativeInfinity: "-nieskończoność", + positiveInfinity: "+nieskończoność", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "zł" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"], + namesAbbr: ["N","Pn","Wt","Śr","Cz","Pt","So"], + namesShort: ["N","Pn","Wt","Śr","Cz","Pt","So"] + }, + months: { + names: ["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień",""], + namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""] + }, + monthsGenitive: { + names: ["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia",""], + namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "pt", "default", { + name: "pt", + englishName: "Portuguese", + nativeName: "Português", + language: "pt", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NaN (Não é um número)", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "R$" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"], + namesAbbr: ["dom","seg","ter","qua","qui","sex","sáb"], + namesShort: ["D","S","T","Q","Q","S","S"] + }, + months: { + names: ["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro",""], + namesAbbr: ["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' de 'MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' de 'MMMM' de 'yyyy HH:mm", + F: "dddd, d' de 'MMMM' de 'yyyy HH:mm:ss", + M: "dd' de 'MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "rm", "default", { + name: "rm", + englishName: "Romansh", + nativeName: "Rumantsch", + language: "rm", + numberFormat: { + ",": "'", + NaN: "betg def.", + negativeInfinity: "-infinit", + positiveInfinity: "+infinit", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "fr." + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dumengia","glindesdi","mardi","mesemna","gievgia","venderdi","sonda"], + namesAbbr: ["du","gli","ma","me","gie","ve","so"], + namesShort: ["du","gli","ma","me","gie","ve","so"] + }, + months: { + names: ["schaner","favrer","mars","avrigl","matg","zercladur","fanadur","avust","settember","october","november","december",""], + namesAbbr: ["schan","favr","mars","avr","matg","zercl","fan","avust","sett","oct","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"s. Cr.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d MMMM yyyy HH:mm", + F: "dddd, d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ro", "default", { + name: "ro", + englishName: "Romanian", + nativeName: "română", + language: "ro", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "lei" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["duminică","luni","marţi","miercuri","joi","vineri","sâmbătă"], + namesAbbr: ["D","L","Ma","Mi","J","V","S"], + namesShort: ["D","L","Ma","Mi","J","V","S"] + }, + months: { + names: ["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie",""], + namesAbbr: ["ian.","feb.","mar.","apr.","mai.","iun.","iul.","aug.","sep.","oct.","nov.","dec.",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ru", "default", { + name: "ru", + englishName: "Russian", + nativeName: "русский", + language: "ru", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"], + namesAbbr: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"], + namesShort: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"] + }, + months: { + names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + monthsGenitive: { + names: ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря",""], + namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy 'г.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'г.' H:mm", + F: "d MMMM yyyy 'г.' H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "hr", "default", { + name: "hr", + englishName: "Croatian", + nativeName: "hrvatski", + language: "hr", + numberFormat: { + pattern: ["- n"], + ",": ".", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kn" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["siječanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + monthsGenitive: { + names: ["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenog","prosinca",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy.", + D: "d. MMMM yyyy.", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy. H:mm", + F: "d. MMMM yyyy. H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "sk", "default", { + name: "sk", + englishName: "Slovak", + nativeName: "slovenčina", + language: "sk", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Nie je číslo", + negativeInfinity: "-nekonečno", + positiveInfinity: "+nekonečno", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"], + namesAbbr: ["ne","po","ut","st","št","pi","so"], + namesShort: ["ne","po","ut","st","št","pi","so"] + }, + months: { + names: ["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + monthsGenitive: { + names: ["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. l.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sq", "default", { + name: "sq", + englishName: "Albanian", + nativeName: "shqipe", + language: "sq", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-infinit", + positiveInfinity: "infinit", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": ".", + ".": ",", + symbol: "Lek" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["e diel","e hënë","e martë","e mërkurë","e enjte","e premte","e shtunë"], + namesAbbr: ["Die","Hën","Mar","Mër","Enj","Pre","Sht"], + namesShort: ["Di","Hë","Ma","Më","En","Pr","Sh"] + }, + months: { + names: ["janar","shkurt","mars","prill","maj","qershor","korrik","gusht","shtator","tetor","nëntor","dhjetor",""], + namesAbbr: ["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj",""] + }, + AM: ["PD","pd","PD"], + PM: ["MD","md","MD"], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy-MM-dd", + t: "h:mm.tt", + T: "h:mm:ss.tt", + f: "yyyy-MM-dd h:mm.tt", + F: "yyyy-MM-dd h:mm:ss.tt", + Y: "yyyy-MM" + } + } + } +}); + +Globalize.addCultureInfo( "sv", "default", { + name: "sv", + englishName: "Swedish", + nativeName: "svenska", + language: "sv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"], + namesAbbr: ["sö","må","ti","on","to","fr","lö"], + namesShort: ["sö","må","ti","on","to","fr","lö"] + }, + months: { + names: ["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "'den 'd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "'den 'd MMMM yyyy HH:mm", + F: "'den 'd MMMM yyyy HH:mm:ss", + M: "'den 'd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "th", "default", { + name: "th", + englishName: "Thai", + nativeName: "ไทย", + language: "th", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "฿" + } + }, + calendars: { + standard: { + name: "ThaiBuddhist", + firstDay: 1, + days: { + names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"], + namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."], + namesShort: ["อ","จ","อ","พ","พ","ศ","ส"] + }, + months: { + names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""], + namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""] + }, + eras: [{"name":"พ.ศ.","start":null,"offset":-543}], + twoDigitYearMax: 2572, + patterns: { + d: "d/M/yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + }, + Gregorian_Localized: { + firstDay: 1, + days: { + names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"], + namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."], + namesShort: ["อ","จ","อ","พ","พ","ศ","ส"] + }, + months: { + names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""], + namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""] + }, + patterns: { + d: "d/M/yyyy", + D: "'วัน'dddd'ที่' d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "'วัน'dddd'ที่' d MMMM yyyy H:mm", + F: "'วัน'dddd'ที่' d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "tr", "default", { + name: "tr", + englishName: "Turkish", + nativeName: "Türkçe", + language: "tr", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "TL" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"], + namesAbbr: ["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"], + namesShort: ["Pz","Pt","Sa","Ça","Pe","Cu","Ct"] + }, + months: { + names: ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık",""], + namesAbbr: ["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "dd MMMM yyyy dddd", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy dddd HH:mm", + F: "dd MMMM yyyy dddd HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ur", "default", { + name: "ur", + englishName: "Urdu", + nativeName: "اُردو", + language: "ur", + isRTL: true, + numberFormat: { + currency: { + pattern: ["$n-","$n"], + symbol: "Rs" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"], + namesAbbr: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"], + namesShort: ["ا","پ","م","ب","ج","ج","ه"] + }, + months: { + names: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""], + namesAbbr: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""] + }, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM, yyyy", + f: "dd MMMM, yyyy h:mm tt", + F: "dd MMMM, yyyy h:mm:ss tt", + M: "dd MMMM" + } + }, + Hijri: { + name: "Hijri", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MM/yyyy", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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); + } + } + } + } +}); + +Globalize.addCultureInfo( "id", "default", { + name: "id", + englishName: "Indonesian", + nativeName: "Bahasa Indonesia", + language: "id", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + decimals: 0, + ",": ".", + ".": ",", + symbol: "Rp" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"], + namesAbbr: ["Minggu","Sen","Sel","Rabu","Kamis","Jumat","Sabtu"], + namesShort: ["M","S","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember",""], + namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agust","Sep","Okt","Nop","Des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "uk", "default", { + name: "uk", + englishName: "Ukrainian", + nativeName: "українська", + language: "uk", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-безмежність", + positiveInfinity: "безмежність", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₴" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"], + namesAbbr: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"], + namesShort: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"] + }, + months: { + names: ["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень",""], + namesAbbr: ["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру",""] + }, + monthsGenitive: { + names: ["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня",""], + namesAbbr: ["січ","лют","бер","кві","тра","чер","лип","сер","вер","жов","лис","гру",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy' р.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy' р.' H:mm", + F: "d MMMM yyyy' р.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy' р.'" + } + } + } +}); + +Globalize.addCultureInfo( "be", "default", { + name: "be", + englishName: "Belarusian", + nativeName: "Беларускі", + language: "be", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["нядзеля","панядзелак","аўторак","серада","чацвер","пятніца","субота"], + namesAbbr: ["нд","пн","аў","ср","чц","пт","сб"], + namesShort: ["нд","пн","аў","ср","чц","пт","сб"] + }, + months: { + names: ["Студзень","Люты","Сакавік","Красавік","Май","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань",""], + namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""] + }, + monthsGenitive: { + names: ["студзеня","лютага","сакавіка","красавіка","мая","чэрвеня","ліпеня","жніўня","верасня","кастрычніка","лістапада","снежня",""], + namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sl", "default", { + name: "sl", + englishName: "Slovenian", + nativeName: "slovenski", + language: "sl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-neskončnost", + positiveInfinity: "neskončnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"], + namesAbbr: ["ned","pon","tor","sre","čet","pet","sob"], + namesShort: ["ne","po","to","sr","če","pe","so"] + }, + months: { + names: ["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "et", "default", { + name: "et", + englishName: "Estonian", + nativeName: "eesti", + language: "et", + numberFormat: { + ",": " ", + ".": ",", + NaN: "avaldamatu", + negativeInfinity: "miinuslõpmatus", + positiveInfinity: "plusslõpmatus", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"], + namesAbbr: ["P","E","T","K","N","R","L"], + namesShort: ["P","E","T","K","N","R","L"] + }, + months: { + names: ["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember",""], + namesAbbr: ["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets",""] + }, + AM: ["EL","el","EL"], + PM: ["PL","pl","PL"], + patterns: { + d: "d.MM.yyyy", + D: "d. MMMM yyyy'. a.'", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy'. a.' H:mm", + F: "d. MMMM yyyy'. a.' H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy'. a.'" + } + } + } +}); + +Globalize.addCultureInfo( "lv", "default", { + name: "lv", + englishName: "Latvian", + nativeName: "latviešu", + language: "lv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-bezgalība", + positiveInfinity: "bezgalība", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": " ", + ".": ",", + symbol: "Ls" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"], + namesAbbr: ["sv","pr","ot","tr","ce","pk","se"], + namesShort: ["sv","pr","ot","tr","ce","pk","se"] + }, + months: { + names: ["janvāris","februāris","marts","aprīlis","maijs","jūnijs","jūlijs","augusts","septembris","oktobris","novembris","decembris",""], + namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""] + }, + monthsGenitive: { + names: ["janvārī","februārī","martā","aprīlī","maijā","jūnijā","jūlijā","augustā","septembrī","oktobrī","novembrī","decembrī",""], + namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy.MM.dd.", + D: "dddd, yyyy'. gada 'd. MMMM", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, yyyy'. gada 'd. MMMM H:mm", + F: "dddd, yyyy'. gada 'd. MMMM H:mm:ss", + M: "d. MMMM", + Y: "yyyy. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "lt", "default", { + name: "lt", + englishName: "Lithuanian", + nativeName: "lietuvių", + language: "lt", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-begalybė", + positiveInfinity: "begalybė", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Lt" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"], + namesAbbr: ["Sk","Pr","An","Tr","Kt","Pn","Št"], + namesShort: ["S","P","A","T","K","Pn","Š"] + }, + months: { + names: ["sausis","vasaris","kovas","balandis","gegužė","birželis","liepa","rugpjūtis","rugsėjis","spalis","lapkritis","gruodis",""], + namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""] + }, + monthsGenitive: { + names: ["sausio","vasario","kovo","balandžio","gegužės","birželio","liepos","rugpjūčio","rugsėjo","spalio","lapkričio","gruodžio",""], + namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy.MM.dd", + D: "yyyy 'm.' MMMM d 'd.'", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'm.' MMMM d 'd.' HH:mm", + F: "yyyy 'm.' MMMM d 'd.' HH:mm:ss", + M: "MMMM d 'd.'", + Y: "yyyy 'm.' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "tg", "default", { + name: "tg", + englishName: "Tajik", + nativeName: "Тоҷикӣ", + language: "tg", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ";", + symbol: "т.р." + } + }, + calendars: { + standard: { + "/": ".", + days: { + names: ["Яш","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"], + namesAbbr: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"], + namesShort: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январи","феврали","марти","апрели","маи","июни","июли","августи","сентябри","октябри","ноябри","декабри",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fa", "default", { + name: "fa", + englishName: "Persian", + nativeName: "فارسى", + language: "fa", + isRTL: true, + numberFormat: { + pattern: ["n-"], + currency: { + pattern: ["$n-","$ n"], + ".": "/", + symbol: "ريال" + } + }, + calendars: { + standard: { + 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" + } + }, + Gregorian_Localized: { + firstDay: 6, + days: { + names: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""], + namesAbbr: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""] + }, + AM: ["ق.ظ","ق.ظ","ق.ظ"], + PM: ["ب.ظ","ب.ظ","ب.ظ"], + patterns: { + d: "yyyy/MM/dd", + D: "yyyy/MM/dd", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "yyyy/MM/dd hh:mm tt", + F: "yyyy/MM/dd 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); + } + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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" + } + } + } +}); + +Globalize.addCultureInfo( "vi", "default", { + name: "vi", + englishName: "Vietnamese", + nativeName: "Tiếng Việt", + language: "vi", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "₫" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"], + namesAbbr: ["CN","Hai","Ba","Tư","Năm","Sáu","Bảy"], + namesShort: ["C","H","B","T","N","S","B"] + }, + months: { + names: ["Tháng Giêng","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai",""], + namesAbbr: ["Thg1","Thg2","Thg3","Thg4","Thg5","Thg6","Thg7","Thg8","Thg9","Thg10","Thg11","Thg12",""] + }, + AM: ["SA","sa","SA"], + PM: ["CH","ch","CH"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + f: "dd MMMM yyyy h:mm tt", + F: "dd MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "hy", "default", { + name: "hy", + englishName: "Armenian", + nativeName: "Հայերեն", + language: "hy", + numberFormat: { + currency: { + pattern: ["-n $","n $"], + symbol: "դր." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","ՈՒրբաթ","Շաբաթ"], + namesAbbr: ["Կիր","Երկ","Երք","Չրք","Հնգ","ՈՒր","Շբթ"], + namesShort: ["Կ","Ե","Ե","Չ","Հ","Ո","Շ"] + }, + months: { + names: ["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր",""], + namesAbbr: ["ՀՆՎ","ՓՏՎ","ՄՐՏ","ԱՊՐ","ՄՅՍ","ՀՆՍ","ՀԼՍ","ՕԳՍ","ՍԵՊ","ՀՈԿ","ՆՈՅ","ԴԵԿ",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM, yyyy H:mm", + F: "d MMMM, yyyy H:mm:ss", + M: "d MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "az", "default", { + name: "az", + englishName: "Azeri", + nativeName: "Azərbaycanılı", + language: "az", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "man." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"], + namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"], + namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"] + }, + months: { + names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + monthsGenitive: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "eu", "default", { + name: "eu", + englishName: "Basque", + nativeName: "euskara", + language: "eu", + numberFormat: { + ",": ".", + ".": ",", + NaN: "EdZ", + negativeInfinity: "-Infinitu", + positiveInfinity: "Infinitu", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"], + namesAbbr: ["ig.","al.","as.","az.","og.","or.","lr."], + namesShort: ["ig","al","as","az","og","or","lr"] + }, + months: { + names: ["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua",""], + namesAbbr: ["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe.",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "yyyy/MM/dd", + D: "dddd, yyyy.'eko' MMMM'k 'd", + t: "HH:mm", + T: "H:mm:ss", + f: "dddd, yyyy.'eko' MMMM'k 'd HH:mm", + F: "dddd, yyyy.'eko' MMMM'k 'd H:mm:ss", + Y: "yyyy.'eko' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "hsb", "default", { + name: "hsb", + englishName: "Upper Sorbian", + nativeName: "hornjoserbšćina", + language: "hsb", + numberFormat: { + ",": ".", + ".": ",", + NaN: "njedefinowane", + negativeInfinity: "-njekónčne", + positiveInfinity: "+njekónčne", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["njedźela","póndźela","wutora","srjeda","štwórtk","pjatk","sobota"], + namesAbbr: ["nje","pón","wut","srj","štw","pja","sob"], + namesShort: ["n","p","w","s","š","p","s"] + }, + months: { + names: ["januar","februar","měrc","apryl","meja","junij","julij","awgust","september","oktober","nowember","december",""], + namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""] + }, + monthsGenitive: { + names: ["januara","februara","měrca","apryla","meje","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""], + namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"po Chr.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "dddd, 'dnja' d. MMMM yyyy", + t: "H.mm 'hodź.'", + T: "H:mm:ss", + f: "dddd, 'dnja' d. MMMM yyyy H.mm 'hodź.'", + F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "mk", "default", { + name: "mk", + englishName: "Macedonian (FYROM)", + nativeName: "македонски јазик", + language: "mk", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "ден." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недела","понеделник","вторник","среда","четврток","петок","сабота"], + namesAbbr: ["нед","пон","втр","срд","чет","пет","саб"], + namesShort: ["не","по","вт","ср","че","пе","са"] + }, + months: { + names: ["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември",""], + namesAbbr: ["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "dddd, dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, dd MMMM yyyy HH:mm", + F: "dddd, dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "tn", "default", { + name: "tn", + englishName: "Setswana", + nativeName: "Setswana", + language: "tn", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Latshipi","Mosupologo","Labobedi","Laboraro","Labone","Labotlhano","Lamatlhatso"], + namesAbbr: ["Ltp.","Mos.","Lbd.","Lbr.","Lbn.","Lbt.","Lmt."], + namesShort: ["Lp","Ms","Lb","Lr","Ln","Lt","Lm"] + }, + months: { + names: ["Ferikgong","Tlhakole","Mopitloe","Moranang","Motsheganong","Seetebosigo","Phukwi","Phatwe","Lwetse","Diphalane","Ngwanatsele","Sedimothole",""], + namesAbbr: ["Fer.","Tlhak.","Mop.","Mor.","Motsh.","Seet.","Phukw.","Phatw.","Lwets.","Diph.","Ngwan.","Sed.",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "xh", "default", { + name: "xh", + englishName: "isiXhosa", + nativeName: "isiXhosa", + language: "xh", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["iCawa","uMvulo","uLwesibini","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"], + namesShort: ["Ca","Mv","Lb","Lt","Ln","Lh","Mg"] + }, + months: { + names: ["Mqungu","Mdumba","Kwindla","Tshazimpuzi","Canzibe","Silimela","Khala","Thupha","Msintsi","Dwarha","Nkanga","Mnga",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "zu", "default", { + name: "zu", + englishName: "isiZulu", + nativeName: "isiZulu", + language: "zu", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["iSonto","uMsombuluko","uLwesibili","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"], + namesAbbr: ["Son.","Mso.","Bi.","Tha.","Ne.","Hla.","Mgq."] + }, + months: { + names: ["uMasingana","uNhlolanja","uNdasa","uMbaso","uNhlaba","uNhlangulana","uNtulikazi","uNcwaba","uMandulo","uMfumfu","uLwezi","uZibandlela",""], + namesAbbr: ["Mas.","Nhlo.","Nda.","Mba.","Nhla.","Nhlang.","Ntu.","Ncwa.","Man.","Mfu.","Lwe.","Zib.",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "af", "default", { + name: "af", + englishName: "Afrikaans", + nativeName: "Afrikaans", + language: "af", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"], + namesAbbr: ["Son","Maan","Dins","Woen","Dond","Vry","Sat"], + namesShort: ["So","Ma","Di","Wo","Do","Vr","Sa"] + }, + months: { + names: ["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember",""], + namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ka", "default", { + name: "ka", + englishName: "Georgian", + nativeName: "ქართული", + language: "ka", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Lari" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"], + namesAbbr: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"], + namesShort: ["კ","ო","ს","ო","ხ","პ","შ"] + }, + months: { + names: ["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი",""], + namesAbbr: ["იან","თებ","მარ","აპრ","მაის","ივნ","ივლ","აგვ","სექ","ოქტ","ნოემ","დეკ",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "yyyy 'წლის' dd MM, dddd", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'წლის' dd MM, dddd H:mm", + F: "yyyy 'წლის' dd MM, dddd H:mm:ss", + M: "dd MM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fo", "default", { + name: "fo", + englishName: "Faroese", + nativeName: "føroyskt", + language: "fo", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sunnudagur","mánadagur","týsdagur","mikudagur","hósdagur","fríggjadagur","leygardagur"], + namesAbbr: ["sun","mán","týs","mik","hós","frí","leyg"], + namesShort: ["su","má","tý","mi","hó","fr","ley"] + }, + months: { + names: ["januar","februar","mars","apríl","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "hi", "default", { + name: "hi", + englishName: "Hindi", + nativeName: "हिंदी", + language: "hi", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "mt", "default", { + name: "mt", + englishName: "Maltese", + nativeName: "Malti", + language: "mt", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Il-Ħadd","It-Tnejn","It-Tlieta","L-Erbgħa","Il-Ħamis","Il-Ġimgħa","Is-Sibt"], + namesAbbr: ["Ħad","Tne","Tli","Erb","Ħam","Ġim","Sib"], + namesShort: ["I","I","I","L","I","I","I"] + }, + months: { + names: ["Jannar","Frar","Marzu","April","Mejju","Ġunju","Lulju","Awissu","Settembru","Ottubru","Novembru","Diċembru",""], + namesAbbr: ["Jan","Fra","Mar","Apr","Mej","Ġun","Lul","Awi","Set","Ott","Nov","Diċ",""] + }, + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' ta\\' 'MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' ta\\' 'MMMM yyyy HH:mm", + F: "dddd, d' ta\\' 'MMMM yyyy HH:mm:ss", + M: "d' ta\\' 'MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "se", "default", { + name: "se", + englishName: "Sami (Northern)", + nativeName: "davvisámegiella", + language: "se", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sotnabeaivi","vuossárga","maŋŋebárga","gaskavahkku","duorastat","bearjadat","lávvardat"], + namesAbbr: ["sotn","vuos","maŋ","gask","duor","bear","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + monthsGenitive: { + names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ga", "default", { + name: "ga", + englishName: "Irish", + nativeName: "Gaeilge", + language: "ga", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Sathairn"], + namesAbbr: ["Domh","Luan","Máir","Céad","Déar","Aoi","Sath"], + namesShort: ["Do","Lu","Má","Cé","De","Ao","Sa"] + }, + months: { + names: ["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Meitheamh","Iúil","Lúnasa","Meán Fómhair","Deireadh Fómhair","Samhain","Nollaig",""], + namesAbbr: ["Ean","Feabh","Már","Aib","Bealt","Meith","Iúil","Lún","M.Fómh","D.Fómh","Samh","Noll",""] + }, + AM: ["r.n.","r.n.","R.N."], + PM: ["i.n.","i.n.","I.N."], + patterns: { + d: "dd/MM/yyyy", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ms", "default", { + name: "ms", + englishName: "Malay", + nativeName: "Bahasa Melayu", + language: "ms", + numberFormat: { + currency: { + decimals: 0, + symbol: "RM" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"], + namesAbbr: ["Ahad","Isnin","Sel","Rabu","Khamis","Jumaat","Sabtu"], + namesShort: ["A","I","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sept","Okt","Nov","Dis",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "kk", "default", { + name: "kk", + englishName: "Kazakh", + nativeName: "Қазақ", + language: "kk", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-$n","$n"], + ",": " ", + ".": "-", + symbol: "Т" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"], + namesAbbr: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"], + namesShort: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"] + }, + months: { + names: ["қаңтар","ақпан","наурыз","сәуір","мамыр","маусым","шілде","тамыз","қыркүйек","қазан","қараша","желтоқсан",""], + namesAbbr: ["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy 'ж.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'ж.' H:mm", + F: "d MMMM yyyy 'ж.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ky", "default", { + name: "ky", + englishName: "Kyrgyz", + nativeName: "Кыргыз", + language: "ky", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": "-", + symbol: "сом" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Жекшемби","Дүйшөмбү","Шейшемби","Шаршемби","Бейшемби","Жума","Ишемби"], + namesAbbr: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"], + namesShort: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"] + }, + months: { + names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d'-'MMMM yyyy'-ж.'", + t: "H:mm", + T: "H:mm:ss", + f: "d'-'MMMM yyyy'-ж.' H:mm", + F: "d'-'MMMM yyyy'-ж.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy'-ж.'" + } + } + } +}); + +Globalize.addCultureInfo( "sw", "default", { + name: "sw", + englishName: "Kiswahili", + nativeName: "Kiswahili", + language: "sw", + numberFormat: { + currency: { + symbol: "S" + } + }, + calendars: { + standard: { + days: { + names: ["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"], + namesAbbr: ["Jumap.","Jumat.","Juman.","Jumat.","Alh.","Iju.","Jumam."], + namesShort: ["P","T","N","T","A","I","M"] + }, + months: { + names: ["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Decemba",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Dec",""] + } + } + } +}); + +Globalize.addCultureInfo( "tk", "default", { + name: "tk", + englishName: "Turkmen", + nativeName: "türkmençe", + language: "tk", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-üznüksizlik", + positiveInfinity: "üznüksizlik", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "m." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe","Ýekşenbe"], + namesAbbr: ["Db","Sb","Çb","Pb","An","Şb","Ýb"], + namesShort: ["D","S","Ç","P","A","Ş","Ý"] + }, + months: { + names: ["Ýanwar","Fewral","Mart","Aprel","Maý","lýun","lýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr",""], + namesAbbr: ["Ýan","Few","Mart","Apr","Maý","lýun","lýul","Awg","Sen","Okt","Not","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "yyyy 'ý.' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'ý.' MMMM d H:mm", + F: "yyyy 'ý.' MMMM d H:mm:ss", + Y: "yyyy 'ý.' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "uz", "default", { + name: "uz", + englishName: "Uzbek", + nativeName: "U'zbek", + language: "uz", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": " ", + ".": ",", + symbol: "so'm" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["yakshanba","dushanba","seshanba","chorshanba","payshanba","juma","shanba"], + namesAbbr: ["yak.","dsh.","sesh.","chr.","psh.","jm.","sh."], + namesShort: ["ya","d","s","ch","p","j","sh"] + }, + months: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM yyyy", + D: "yyyy 'yil' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'yil' d-MMMM HH:mm", + F: "yyyy 'yil' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "tt", "default", { + name: "tt", + englishName: "Tatar", + nativeName: "Татар", + language: "tt", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Якшәмбе","Дүшәмбе","Сишәмбе","Чәршәмбе","Пәнҗешәмбе","Җомга","Шимбә"], + namesAbbr: ["Якш","Дүш","Сиш","Чәрш","Пәнҗ","Җом","Шим"], + namesShort: ["Я","Д","С","Ч","П","Җ","Ш"] + }, + months: { + names: ["Гыйнвар","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["Гыйн.","Фев.","Мар.","Апр.","Май","Июнь","Июль","Авг.","Сен.","Окт.","Нояб.","Дек.",""] + }, + monthsGenitive: { + names: ["Гыйнварның","Февральнең","Мартның","Апрельнең","Майның","Июньнең","Июльнең","Августның","Сентябрьның","Октябрьның","Ноябрьның","Декабрьның",""], + namesAbbr: ["Гыйн.-ның","Фев.-нең","Мар.-ның","Апр.-нең","Майның","Июньнең","Июльнең","Авг.-ның","Сен.-ның","Окт.-ның","Нояб.-ның","Дек.-ның",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "bn", "default", { + name: "bn", + englishName: "Bengali", + nativeName: "বাংলা", + language: "bn", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "টা" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"], + namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."], + namesShort: ["র","স","ম","ব","ব","শ","শ"] + }, + months: { + names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""], + namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""] + }, + AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"], + PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "pa", "default", { + name: "pa", + englishName: "Punjabi", + nativeName: "ਪੰਜਾਬੀ", + language: "pa", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ਰੁ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ਐਤਵਾਰ","ਸੋਮਵਾਰ","ਮੰਗਲਵਾਰ","ਬੁੱਧਵਾਰ","ਵੀਰਵਾਰ","ਸ਼ੁੱਕਰਵਾਰ","ਸ਼ਨਿੱਚਰਵਾਰ"], + namesAbbr: ["ਐਤ.","ਸੋਮ.","ਮੰਗਲ.","ਬੁੱਧ.","ਵੀਰ.","ਸ਼ੁਕਰ.","ਸ਼ਨਿੱਚਰ."], + namesShort: ["ਐ","ਸ","ਮ","ਬ","ਵ","ਸ਼","ਸ਼"] + }, + months: { + names: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""], + namesAbbr: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""] + }, + AM: ["ਸਵੇਰ","ਸਵੇਰ","ਸਵੇਰ"], + PM: ["ਸ਼ਾਮ","ਸ਼ਾਮ","ਸ਼ਾਮ"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy dddd", + t: "tt hh:mm", + T: "tt hh:mm:ss", + f: "dd MMMM yyyy dddd tt hh:mm", + F: "dd MMMM yyyy dddd tt hh:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "gu", "default", { + name: "gu", + englishName: "Gujarati", + nativeName: "ગુજરાતી", + language: "gu", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "રૂ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["રવિવાર","સોમવાર","મંગળવાર","બુધવાર","ગુરુવાર","શુક્રવાર","શનિવાર"], + namesAbbr: ["રવિ","સોમ","મંગળ","બુધ","ગુરુ","શુક્ર","શનિ"], + namesShort: ["ર","સ","મ","બ","ગ","શ","શ"] + }, + months: { + names: ["જાન્યુઆરી","ફેબ્રુઆરી","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટેમ્બર","ઑક્ટ્બર","નવેમ્બર","ડિસેમ્બર",""], + namesAbbr: ["જાન્યુ","ફેબ્રુ","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટે","ઑક્ટો","નવે","ડિસે",""] + }, + AM: ["પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન"], + PM: ["ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "or", "default", { + name: "or", + englishName: "Oriya", + nativeName: "ଓଡ଼ିଆ", + language: "or", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ଟ" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["ରବିବାର","ସୋମବାର","ମଙ୍ଗଳବାର","ବୁଧବାର","ଗୁରୁବାର","ଶୁକ୍ରବାର","ଶନିବାର"], + namesAbbr: ["ରବି.","ସୋମ.","ମଙ୍ଗଳ.","ବୁଧ.","ଗୁରୁ.","ଶୁକ୍ର.","ଶନି."], + namesShort: ["ର","ସୋ","ମ","ବୁ","ଗୁ","ଶୁ","ଶ"] + }, + months: { + names: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍","ମେ","ଜୁନ୍","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""], + namesAbbr: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍","ମେ","ଜୁନ୍","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""] + }, + eras: [{"name":"ଖ୍ରୀଷ୍ଟାବ୍ଦ","start":null,"offset":0}], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "ta", "default", { + name: "ta", + englishName: "Tamil", + nativeName: "தமிழ்", + language: "ta", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "te", "default", { + name: "te", + englishName: "Telugu", + nativeName: "తెలుగు", + language: "te", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "రూ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ఆదివారం","సోమవారం","మంగళవారం","బుధవారం","గురువారం","శుక్రవారం","శనివారం"], + namesAbbr: ["ఆది.","సోమ.","మంగళ.","బుధ.","గురు.","శుక్ర.","శని."], + namesShort: ["ఆ","సో","మం","బు","గు","శు","శ"] + }, + months: { + names: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""], + namesAbbr: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""] + }, + AM: ["పూర్వాహ్న","పూర్వాహ్న","పూర్వాహ్న"], + PM: ["అపరాహ్న","అపరాహ్న","అపరాహ్న"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "kn", "default", { + name: "kn", + englishName: "Kannada", + nativeName: "ಕನ್ನಡ", + language: "kn", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ರೂ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ಭಾನುವಾರ","ಸೋಮವಾರ","ಮಂಗಳವಾರ","ಬುಧವಾರ","ಗುರುವಾರ","ಶುಕ್ರವಾರ","ಶನಿವಾರ"], + namesAbbr: ["ಭಾನು.","ಸೋಮ.","ಮಂಗಳ.","ಬುಧ.","ಗುರು.","ಶುಕ್ರ.","ಶನಿ."], + namesShort: ["ರ","ಸ","ಮ","ಬ","ಗ","ಶ","ಶ"] + }, + months: { + names: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""], + namesAbbr: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""] + }, + AM: ["ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"], + PM: ["ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "ml", "default", { + name: "ml", + englishName: "Malayalam", + nativeName: "മലയാളം", + language: "ml", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ക" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["ഞായറാഴ്ച","തിങ്കളാഴ്ച","ചൊവ്വാഴ്ച","ബുധനാഴ്ച","വ്യാഴാഴ്ച","വെള്ളിയാഴ്ച","ശനിയാഴ്ച"], + namesAbbr: ["ഞായർ.","തിങ്കൾ.","ചൊവ്വ.","ബുധൻ.","വ്യാഴം.","വെള്ളി.","ശനി."], + namesShort: ["ഞ","ത","ച","ബ","വ","വെ","ശ"] + }, + months: { + names: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""], + namesAbbr: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""] + }, + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "as", "default", { + name: "as", + englishName: "Assamese", + nativeName: "অসমীয়া", + language: "as", + numberFormat: { + groupSizes: [3,2], + NaN: "nan", + negativeInfinity: "-infinity", + positiveInfinity: "infinity", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","n$"], + groupSizes: [3,2], + symbol: "ট" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["সোমবাৰ","মঙ্গলবাৰ","বুধবাৰ","বৃহস্পতিবাৰ","শুক্রবাৰ","শনিবাৰ","ৰবিবাৰ"], + namesAbbr: ["সোম.","মঙ্গল.","বুধ.","বৃহ.","শুক্র.","শনি.","ৰবি."], + namesShort: ["সো","ম","বু","বৃ","শু","শ","র"] + }, + months: { + names: ["জানুৱাৰী","ফেব্রুৱাৰী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টেম্বর","অক্টোবর","নবেম্বর","ডিচেম্বর",""], + namesAbbr: ["জানু","ফেব্রু","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টে","অক্টো","নবে","ডিচে",""] + }, + AM: ["ৰাতিপু","ৰাতিপু","ৰাতিপু"], + PM: ["আবেলি","আবেলি","আবেলি"], + eras: [{"name":"খ্রীষ্টাব্দ","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "yyyy,MMMM dd, dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy,MMMM dd, dddd tt h:mm", + F: "yyyy,MMMM dd, dddd tt h:mm:ss", + M: "dd MMMM", + Y: "MMMM,yy" + } + } + } +}); + +Globalize.addCultureInfo( "mr", "default", { + name: "mr", + englishName: "Marathi", + nativeName: "मराठी", + language: "mr", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "sa", "default", { + name: "sa", + englishName: "Sanskrit", + nativeName: "संस्कृत", + language: "sa", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "रु" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"], + namesAbbr: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"], + namesShort: ["र","स","म","ब","ग","श","श"] + }, + months: { + names: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""], + namesAbbr: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""] + }, + AM: ["पूर्वाह्न","पूर्वाह्न","पूर्वाह्न"], + PM: ["अपराह्न","अपराह्न","अपराह्न"], + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM yyyy dddd", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy dddd HH:mm", + F: "dd MMMM yyyy dddd HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "mn", "default", { + name: "mn", + englishName: "Mongolian", + nativeName: "Монгол хэл", + language: "mn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₮" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"], + namesAbbr: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"], + namesShort: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"] + }, + months: { + names: ["1 дүгээр сар","2 дугаар сар","3 дугаар сар","4 дүгээр сар","5 дугаар сар","6 дугаар сар","7 дугаар сар","8 дугаар сар","9 дүгээр сар","10 дугаар сар","11 дүгээр сар","12 дугаар сар",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + monthsGenitive: { + names: ["1 дүгээр сарын","2 дугаар сарын","3 дугаар сарын","4 дүгээр сарын","5 дугаар сарын","6 дугаар сарын","7 дугаар сарын","8 дугаар сарын","9 дүгээр сарын","10 дугаар сарын","11 дүгээр сарын","12 дугаар сарын",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + AM: null, + PM: null, + patterns: { + d: "yy.MM.dd", + D: "yyyy 'оны' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'оны' MMMM d H:mm", + F: "yyyy 'оны' MMMM d H:mm:ss", + M: "d MMMM", + Y: "yyyy 'он' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "bo", "default", { + name: "bo", + englishName: "Tibetan", + nativeName: "བོད་ཡིག", + language: "bo", + numberFormat: { + groupSizes: [3,0], + NaN: "ཨང་ཀི་མིན་པ།", + negativeInfinity: "མོ་གྲངས་ཚད་མེད་ཆུང་བ།", + positiveInfinity: "ཕོ་གྲངས་ཚད་མེད་ཆེ་བ།", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + groupSizes: [3,0], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["གཟའ་ཉི་མ།","གཟའ་ཟླ་བ།","གཟའ་མིག་དམར།","གཟའ་ལྷག་པ།","གཟའ་ཕུར་བུ།","གཟའ་པ་སངས།","གཟའ་སྤེན་པ།"], + namesAbbr: ["ཉི་མ།","ཟླ་བ།","མིག་དམར།","ལྷག་པ།","ཕུར་བུ།","པ་སངས།","སྤེན་པ།"], + namesShort: ["༧","༡","༢","༣","༤","༥","༦"] + }, + months: { + names: ["སྤྱི་ཟླ་དང་པོ།","སྤྱི་ཟླ་གཉིས་པ།","སྤྱི་ཟླ་གསུམ་པ།","སྤྱི་ཟླ་བཞི་པ།","སྤྱི་ཟླ་ལྔ་པ།","སྤྱི་ཟླ་དྲུག་པ།","སྤྱི་ཟླ་བདུན་པ།","སྤྱི་ཟླ་བརྒྱད་པ།","སྤྱི་ཟླ་དགུ་པ།","སྤྱི་ཟླ་བཅུ་པོ།","སྤྱི་ཟླ་བཅུ་གཅིག་པ།","སྤྱི་ཟླ་བཅུ་གཉིས་པ།",""], + namesAbbr: ["ཟླ་ ༡","ཟླ་ ༢","ཟླ་ ༣","ཟླ་ ༤","ཟླ་ ༥","ཟླ་ ༦","ཟླ་ ༧","ཟླ་ ༨","ཟླ་ ༩","ཟླ་ ༡༠","ཟླ་ ༡༡","ཟླ་ ༡༢",""] + }, + AM: ["སྔ་དྲོ","སྔ་དྲོ","སྔ་དྲོ"], + PM: ["ཕྱི་དྲོ","ཕྱི་དྲོ","ཕྱི་དྲོ"], + eras: [{"name":"སྤྱི་ལོ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ལོའི་ཟླ' M'ཚེས' d", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm", + F: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm:ss", + M: "'ཟླ་' M'ཚེས'd", + Y: "yyyy.M" + } + } + } +}); + +Globalize.addCultureInfo( "cy", "default", { + name: "cy", + englishName: "Welsh", + nativeName: "Cymraeg", + language: "cy", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"], + namesAbbr: ["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"], + namesShort: ["Su","Ll","Ma","Me","Ia","Gw","Sa"] + }, + months: { + names: ["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr",""], + namesAbbr: ["Ion","Chwe","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rhag",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "km", "default", { + name: "km", + englishName: "Khmer", + nativeName: "ខ្មែរ", + language: "km", + numberFormat: { + pattern: ["- n"], + groupSizes: [3,0], + NaN: "NAN", + negativeInfinity: "-- អនន្ត", + positiveInfinity: "អនន្ត", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["-n$","n$"], + symbol: "៛" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["ថ្ងៃអាទិត្យ","ថ្ងៃច័ន្ទ","ថ្ងៃអង្គារ","ថ្ងៃពុធ","ថ្ងៃព្រហស្បតិ៍","ថ្ងៃសុក្រ","ថ្ងៃសៅរ៍"], + namesAbbr: ["អាទិ.","ច.","អ.","ពុ","ព្រហ.","សុ.","ស."], + namesShort: ["អា","ច","អ","ពុ","ព្","សុ","ស"] + }, + months: { + names: ["មករា","កុម្ភៈ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ",""], + namesAbbr: ["១","២","៣","៤","៥","៦","៧","៨","៩","១០","១១","១២",""] + }, + AM: ["ព្រឹក","ព្រឹក","ព្រឹក"], + PM: ["ល្ងាច","ល្ងាច","ល្ងាច"], + eras: [{"name":"មុនគ.ស.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "d MMMM yyyy H:mm tt", + F: "d MMMM yyyy HH:mm:ss", + M: "'ថ្ងៃទី' dd 'ខែ' MM", + Y: "'ខែ' MM 'ឆ្នាំ' yyyy" + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["أ","ا","ث","أ","خ","ج","س"] + }, + months: { + names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ព្រឹក","ព្រឹក","ព្រឹក"], + PM: ["ល្ងាច","ល្ងាច","ល្ងាច"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm tt", + F: "dddd, MMMM dd, yyyy HH:mm:ss" + } + } + } +}); + +Globalize.addCultureInfo( "lo", "default", { + name: "lo", + englishName: "Lao", + nativeName: "ລາວ", + language: "lo", + numberFormat: { + pattern: ["(n)"], + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + }, + currency: { + pattern: ["(n$)","n$"], + groupSizes: [3,0], + symbol: "₭" + } + }, + calendars: { + standard: { + days: { + names: ["ວັນອາທິດ","ວັນຈັນ","ວັນອັງຄານ","ວັນພຸດ","ວັນພະຫັດ","ວັນສຸກ","ວັນເສົາ"], + namesAbbr: ["ອາທິດ","ຈັນ","ອັງຄານ","ພຸດ","ພະຫັດ","ສຸກ","ເສົາ"], + namesShort: ["ອ","ຈ","ອ","ພ","ພ","ສ","ເ"] + }, + months: { + names: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""], + namesAbbr: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""] + }, + AM: ["ເຊົ້າ","ເຊົ້າ","ເຊົ້າ"], + PM: ["ແລງ","ແລງ","ແລງ"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "dd MMMM yyyy H:mm tt", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "gl", "default", { + name: "gl", + englishName: "Galician", + nativeName: "galego", + language: "gl", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","luns","martes","mércores","xoves","venres","sábado"], + namesAbbr: ["dom","luns","mar","mér","xov","ven","sáb"], + namesShort: ["do","lu","ma","mé","xo","ve","sá"] + }, + months: { + names: ["xaneiro","febreiro","marzo","abril","maio","xuño","xullo","agosto","setembro","outubro","novembro","decembro",""], + namesAbbr: ["xan","feb","mar","abr","maio","xuñ","xull","ago","set","out","nov","dec",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "kok", "default", { + name: "kok", + englishName: "Konkani", + nativeName: "कोंकणी", + language: "kok", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "syr", "default", { + name: "syr", + englishName: "Syriac", + nativeName: "ܣܘܪܝܝܐ", + language: "syr", + isRTL: true, + numberFormat: { + currency: { + pattern: ["$n-","$ n"], + 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" + } + } + } +}); + +Globalize.addCultureInfo( "si", "default", { + name: "si", + englishName: "Sinhala", + nativeName: "සිංහල", + language: "si", + numberFormat: { + groupSizes: [3,2], + negativeInfinity: "-අනන්තය", + positiveInfinity: "අනන්තය", + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["($ n)","$ n"], + symbol: "රු." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"], + namesAbbr: ["ඉරිදා","සඳුදා","කුජදා","බුදදා","ගුරුදා","කිවිදා","ශනිදා"], + namesShort: ["ඉ","ස","අ","බ","බ්ර","සි","සෙ"] + }, + months: { + names: ["ජනවාරි","පෙබරවාරි","මාර්තු","අප්රේල්","මැයි","ජූනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්",""], + namesAbbr: ["ජන.","පෙබ.","මාර්තු.","අප්රේල්.","මැයි.","ජූනි.","ජූලි.","අගෝ.","සැප්.","ඔක්.","නොවැ.","දෙසැ.",""] + }, + AM: ["පෙ.ව.","පෙ.ව.","පෙ.ව."], + PM: ["ප.ව.","ප.ව.","ප.ව."], + eras: [{"name":"ක්රි.ව.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy MMMM' මස 'dd' වැනිදා 'dddd", + f: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm tt", + F: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm:ss tt", + Y: "yyyy MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "iu", "default", { + name: "iu", + englishName: "Inuktitut", + nativeName: "Inuktitut", + language: "iu", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Naattiinguja","Naggajjau","Aippiq","Pingatsiq","Sitammiq","Tallirmiq","Sivataarvik"], + namesAbbr: ["Nat","Nag","Aip","Pi","Sit","Tal","Siv"], + namesShort: ["N","N","A","P","S","T","S"] + }, + months: { + names: ["Jaannuari","Viivvuari","Maatsi","Iipuri","Mai","Juuni","Julai","Aaggiisi","Sitipiri","Utupiri","Nuvipiri","Tisipiri",""], + namesAbbr: ["Jan","Viv","Mas","Ipu","Mai","Jun","Jul","Agi","Sii","Uut","Nuv","Tis",""] + }, + patterns: { + d: "d/MM/yyyy", + D: "ddd, MMMM dd,yyyy", + f: "ddd, MMMM dd,yyyy h:mm tt", + F: "ddd, MMMM dd,yyyy h:mm:ss tt" + } + } + } +}); + +Globalize.addCultureInfo( "am", "default", { + name: "am", + englishName: "Amharic", + nativeName: "አማርኛ", + language: "am", + numberFormat: { + decimals: 1, + groupSizes: [3,0], + NaN: "NAN", + percent: { + pattern: ["-n%","n%"], + decimals: 1, + groupSizes: [3,0] + }, + currency: { + pattern: ["-$n","$n"], + groupSizes: [3,0], + symbol: "ETB" + } + }, + calendars: { + standard: { + days: { + names: ["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"], + namesAbbr: ["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"], + namesShort: ["እ","ሰ","ማ","ረ","ሐ","ዓ","ቅ"] + }, + months: { + names: ["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር",""], + namesAbbr: ["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም",""] + }, + AM: ["ጡዋት","ጡዋት","ጡዋት"], + PM: ["ከሰዓት","ከሰዓት","ከሰዓት"], + eras: [{"name":"ዓመተ ምሕረት","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "dddd '፣' MMMM d 'ቀን' yyyy", + f: "dddd '፣' MMMM d 'ቀን' yyyy h:mm tt", + F: "dddd '፣' MMMM d 'ቀን' yyyy h:mm:ss tt", + M: "MMMM d ቀን", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "tzm", "default", { + name: "tzm", + englishName: "Tamazight", + nativeName: "Tamazight", + language: "tzm", + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + symbol: "DZD" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 6, + days: { + names: ["Acer","Arime","Aram","Ahad","Amhadh","Sem","Sedh"], + namesAbbr: ["Ace","Ari","Ara","Aha","Amh","Sem","Sed"], + namesShort: ["Ac","Ar","Ar","Ah","Am","Se","Se"] + }, + months: { + names: ["Yenayer","Furar","Maghres","Yebrir","Mayu","Yunyu","Yulyu","Ghuct","Cutenber","Ktuber","Wambir","Dujanbir",""], + namesAbbr: ["Yen","Fur","Mag","Yeb","May","Yun","Yul","Ghu","Cut","Ktu","Wam","Duj",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "ne", "default", { + name: "ne", + englishName: "Nepali", + nativeName: "नेपाली", + language: "ne", + numberFormat: { + groupSizes: [3,2], + NaN: "nan", + negativeInfinity: "-infinity", + positiveInfinity: "infinity", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,2] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "रु" + } + }, + calendars: { + standard: { + days: { + names: ["आइतवार","सोमवार","मङ्गलवार","बुधवार","बिहीवार","शुक्रवार","शनिवार"], + namesAbbr: ["आइत","सोम","मङ्गल","बुध","बिही","शुक्र","शनि"], + namesShort: ["आ","सो","म","बु","बि","शु","श"] + }, + months: { + names: ["जनवरी","फेब्रुअरी","मार्च","अप्रिल","मे","जून","जुलाई","अगस्त","सेप्टेम्बर","अक्टोबर","नोभेम्बर","डिसेम्बर",""], + namesAbbr: ["जन","फेब","मार्च","अप्रिल","मे","जून","जुलाई","अग","सेप्ट","अक्ट","नोभ","डिस",""] + }, + AM: ["विहानी","विहानी","विहानी"], + PM: ["बेलुकी","बेलुकी","बेलुकी"], + eras: [{"name":"a.d.","start":null,"offset":0}], + patterns: { + Y: "MMMM,yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fy", "default", { + name: "fy", + englishName: "Frisian", + nativeName: "Frysk", + language: "fy", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["Snein","Moandei","Tiisdei","Woansdei","Tongersdei","Freed","Sneon"], + namesAbbr: ["Sn","Mo","Ti","Wo","To","Fr","Sn"], + namesShort: ["S","M","T","W","T","F","S"] + }, + months: { + names: ["jannewaris","febrewaris","maart","april","maaie","juny","july","augustus","septimber","oktober","novimber","desimber",""], + namesAbbr: ["jann","febr","mrt","apr","maaie","jun","jul","aug","sept","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "d-M-yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ps", "default", { + name: "ps", + englishName: "Pashto", + nativeName: "پښتو", + language: "ps", + isRTL: true, + numberFormat: { + pattern: ["n-"], + ",": "،", + ".": ",", + NaN: "غ ع", + negativeInfinity: "-∞", + positiveInfinity: "∞", + percent: { + pattern: ["%n-","%n"], + ",": "،", + ".": "," + }, + currency: { + pattern: ["$n-","$n"], + ",": "٬", + ".": "٫", + symbol: "؋" + } + }, + calendars: { + standard: { + 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", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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_Localized: { + firstDay: 6, + days: { + names: ["یکشنبه","دوشنبه","سهشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["یکشنبه","دوشنبه","سهشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښزمرى","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""], + namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښ","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""] + }, + AM: ["غ.م","غ.م","غ.م"], + PM: ["غ.و","غ.و","غ.و"], + eras: [{"name":"ل.ه","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy, dd, MMMM, dddd", + f: "yyyy, dd, MMMM, dddd h:mm tt", + F: "yyyy, dd, MMMM, dddd h:mm:ss tt", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fil", "default", { + name: "fil", + englishName: "Filipino", + nativeName: "Filipino", + language: "fil", + numberFormat: { + currency: { + symbol: "PhP" + } + }, + calendars: { + standard: { + days: { + names: ["Linggo","Lunes","Martes","Mierkoles","Huebes","Biernes","Sabado"], + namesAbbr: ["Lin","Lun","Mar","Mier","Hueb","Bier","Saba"], + namesShort: ["L","L","M","M","H","B","S"] + }, + months: { + names: ["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Septyembre","Oktubre","Nobyembre","Disyembre",""], + namesAbbr: ["En","Peb","Mar","Abr","Mayo","Hun","Hul","Agos","Sept","Okt","Nob","Dis",""] + }, + eras: [{"name":"Anno Domini","start":null,"offset":0}] + } + } +}); + +Globalize.addCultureInfo( "dv", "default", { + name: "dv", + englishName: "Divehi", + nativeName: "ދިވެހިބަސް", + language: "dv", + isRTL: true, + numberFormat: { + currency: { + pattern: ["n $-","n $"], + symbol: "ރ." + } + }, + calendars: { + standard: { + name: "Hijri", + 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", + T: "HH:mm:ss", + f: "dd/MM/yyyy HH:mm", + F: "dd/MM/yyyy HH:mm:ss", + 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_Localized: { + days: { + names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"], + namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"], + namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"] + }, + months: { + names: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""], + namesAbbr: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""] + }, + AM: ["މކ","މކ","މކ"], + PM: ["މފ","މފ","މފ"], + eras: [{"name":"މީލާދީ","start":null,"offset":0}], + patterns: { + d: "dd/MM/yy", + D: "ddd, yyyy MMMM dd", + t: "HH:mm", + T: "HH:mm:ss", + f: "ddd, yyyy MMMM dd HH:mm", + F: "ddd, yyyy MMMM dd HH:mm:ss", + Y: "yyyy, MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "ha", "default", { + name: "ha", + englishName: "Hausa", + nativeName: "Hausa", + language: "ha", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Lahadi","Litinin","Talata","Laraba","Alhamis","Juma'a","Asabar"], + namesAbbr: ["Lah","Lit","Tal","Lar","Alh","Jum","Asa"], + namesShort: ["L","L","T","L","A","J","A"] + }, + months: { + names: ["Januwaru","Febreru","Maris","Afrilu","Mayu","Yuni","Yuli","Agusta","Satumba","Oktocba","Nuwamba","Disamba",""], + namesAbbr: ["Jan","Feb","Mar","Afr","May","Yun","Yul","Agu","Sat","Okt","Nuw","Dis",""] + }, + AM: ["Safe","safe","SAFE"], + PM: ["Yamma","yamma","YAMMA"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "yo", "default", { + name: "yo", + englishName: "Yoruba", + nativeName: "Yoruba", + language: "yo", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"], + namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"], + namesShort: ["A","A","I","O","O","E","A"] + }, + months: { + names: ["Osu kinni","Osu keji","Osu keta","Osu kerin","Osu karun","Osu kefa","Osu keje","Osu kejo","Osu kesan","Osu kewa","Osu kokanla","Osu keresi",""], + namesAbbr: ["kin.","kej.","ket.","ker.","kar.","kef.","kej.","kej.","kes.","kew.","kok.","ker.",""] + }, + AM: ["Owuro","owuro","OWURO"], + PM: ["Ale","ale","ALE"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "quz", "default", { + name: "quz", + englishName: "Quechua", + nativeName: "runasimi", + language: "quz", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "$b" + } + }, + calendars: { + standard: { + days: { + names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"], + namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"], + namesShort: ["d","k","a","m","h","b","k"] + }, + months: { + names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""], + namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "nso", "default", { + name: "nso", + englishName: "Sesotho sa Leboa", + nativeName: "Sesotho sa Leboa", + language: "nso", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Lamorena","Mošupologo","Labobedi","Laboraro","Labone","Labohlano","Mokibelo"], + namesAbbr: ["Lam","Moš","Lbb","Lbr","Lbn","Lbh","Mok"], + namesShort: ["L","M","L","L","L","L","M"] + }, + months: { + names: ["Pherekgong","Hlakola","Mopitlo","Moranang","Mosegamanye","Ngoatobošego","Phuphu","Phato","Lewedi","Diphalana","Dibatsela","Manthole",""], + namesAbbr: ["Pher","Hlak","Mop","Mor","Mos","Ngwat","Phup","Phat","Lew","Dip","Dib","Man",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ba", "default", { + name: "ba", + englishName: "Bashkir", + nativeName: "Башҡорт", + language: "ba", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ",", + symbol: "һ." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Йәкшәмбе","Дүшәмбе","Шишәмбе","Шаршамбы","Кесаҙна","Йома","Шәмбе"], + namesAbbr: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"], + namesShort: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"] + }, + months: { + names: ["ғинуар","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь",""], + namesAbbr: ["ғин","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy 'й'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'й' H:mm", + F: "d MMMM yyyy 'й' H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "lb", "default", { + name: "lb", + englishName: "Luxembourgish", + nativeName: "Lëtzebuergesch", + language: "lb", + numberFormat: { + ",": " ", + ".": ",", + NaN: "n. num.", + negativeInfinity: "-onendlech", + positiveInfinity: "+onendlech", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"], + namesAbbr: ["Son","Méi","Dën","Mët","Don","Fre","Sam"], + namesShort: ["So","Mé","Dë","Më","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "kl", "default", { + name: "kl", + englishName: "Greenlandic", + nativeName: "kalaallisut", + language: "kl", + numberFormat: { + ",": ".", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + groupSizes: [3,0], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,0], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sapaat","ataasinngorneq","marlunngorneq","pingasunngorneq","sisamanngorneq","tallimanngorneq","arfininngorneq"], + namesAbbr: ["sap","ata","mar","ping","sis","tal","arf"], + namesShort: ["sa","at","ma","pi","si","ta","ar"] + }, + months: { + names: ["januari","februari","martsi","apriili","maaji","juni","juli","aggusti","septembari","oktobari","novembari","decembari",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ig", "default", { + name: "ig", + englishName: "Igbo", + nativeName: "Igbo", + language: "ig", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"], + namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"], + namesShort: ["A","A","I","O","O","E","A"] + }, + months: { + names: ["Onwa mbu","Onwa ibua","Onwa ato","Onwa ano","Onwa ise","Onwa isi","Onwa asa","Onwa asato","Onwa itolu","Onwa iri","Onwa iri n'ofu","Onwa iri n'ibua",""], + namesAbbr: ["mbu.","ibu.","ato.","ano.","ise","isi","asa","asa.","ito.","iri.","n'of.","n'ib.",""] + }, + AM: ["Ututu","ututu","UTUTU"], + PM: ["Efifie","efifie","EFIFIE"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ii", "default", { + name: "ii", + englishName: "Yi", + nativeName: "ꆈꌠꁱꂷ", + language: "ii", + numberFormat: { + groupSizes: [3,0], + NaN: "ꌗꂷꀋꉬ", + negativeInfinity: "ꀄꊭꌐꀋꉆ", + positiveInfinity: "ꈤꇁꑖꀋꉬ", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["ꑭꆏꑍ","ꆏꊂ꒔","ꆏꊂꑍ","ꆏꊂꌕ","ꆏꊂꇖ","ꆏꊂꉬ","ꆏꊂꃘ"], + namesAbbr: ["ꑭꆏ","ꆏ꒔","ꆏꑍ","ꆏꌕ","ꆏꇖ","ꆏꉬ","ꆏꃘ"], + namesShort: ["ꆏ","꒔","ꑍ","ꌕ","ꇖ","ꉬ","ꃘ"] + }, + months: { + names: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""], + namesAbbr: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""] + }, + AM: ["ꂵꆪꈌꈐ","ꂵꆪꈌꈐ","ꂵꆪꈌꈐ"], + PM: ["ꂵꆪꈌꉈ","ꂵꆪꈌꉈ","ꂵꆪꈌꉈ"], + eras: [{"name":"ꇬꑼ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ꈎ' M'ꆪ' d'ꑍ'", + t: "tt h:mm", + T: "H:mm:ss", + f: "yyyy'ꈎ' M'ꆪ' d'ꑍ' tt h:mm", + F: "yyyy'ꈎ' M'ꆪ' d'ꑍ' H:mm:ss", + M: "M'ꆪ' d'ꑍ'", + Y: "yyyy'ꈎ' M'ꆪ'" + } + } + } +}); + +Globalize.addCultureInfo( "arn", "default", { + name: "arn", + englishName: "Mapudungun", + nativeName: "Mapudungun", + language: "arn", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "moh", "default", { + name: "moh", + englishName: "Mohawk", + nativeName: "Kanien'kéha", + language: "moh", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Awentatokentì:ke","Awentataón'ke","Ratironhia'kehronòn:ke","Soséhne","Okaristiiáhne","Ronwaia'tanentaktonhne","Entákta"], + namesShort: ["S","M","T","W","T","F","S"] + }, + months: { + names: ["Tsothohrkó:Wa","Enniska","Enniskó:Wa","Onerahtókha","Onerahtohkó:Wa","Ohiari:Ha","Ohiarihkó:Wa","Seskéha","Seskehkó:Wa","Kenténha","Kentenhkó:Wa","Tsothóhrha",""] + } + } + } +}); + +Globalize.addCultureInfo( "br", "default", { + name: "br", + englishName: "Breton", + nativeName: "brezhoneg", + language: "br", + numberFormat: { + ",": " ", + ".": ",", + NaN: "NkN", + negativeInfinity: "-Anfin", + positiveInfinity: "+Anfin", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"], + namesAbbr: ["Sul","Lun","Meu.","Mer.","Yaou","Gwe.","Sad."], + namesShort: ["Su","Lu","Mz","Mc","Ya","Gw","Sa"] + }, + months: { + names: ["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu",""], + namesAbbr: ["Gen.","C'hwe.","Meur.","Ebr.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kzu",""] + }, + AM: null, + PM: null, + eras: [{"name":"g. J.-K.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ug", "default", { + name: "ug", + englishName: "Uyghur", + nativeName: "ئۇيغۇرچە", + language: "ug", + isRTL: true, + numberFormat: { + NaN: "سان ئەمەس", + negativeInfinity: "مەنپىي چەكسىزلىك", + positiveInfinity: "مۇسبەت چەكسىزلىك", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"], + namesAbbr: ["يە","دۈ","سە","چا","پە","جۈ","شە"], + namesShort: ["ي","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""], + namesAbbr: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""] + }, + AM: ["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"], + PM: ["چۈشتىن كېيىن","چۈشتىن كېيىن","چۈشتىن كېيىن"], + eras: [{"name":"مىلادى","start":null,"offset":0}], + patterns: { + d: "yyyy-M-d", + D: "yyyy-'يىلى' MMMM d-'كۈنى،'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm", + F: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm:ss", + M: "MMMM d'-كۈنى'", + Y: "yyyy-'يىلى' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "mi", "default", { + name: "mi", + englishName: "Maori", + nativeName: "Reo Māori", + language: "mi", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Rātapu","Rāhina","Rātū","Rāapa","Rāpare","Rāmere","Rāhoroi"], + namesAbbr: ["Ta","Hi","Tū","Apa","Pa","Me","Ho"], + namesShort: ["Ta","Hi","Tū","Aa","Pa","Me","Ho"] + }, + months: { + names: ["Kohi-tātea","Hui-tanguru","Poutū-te-rangi","Paenga-whāwhā","Haratua","Pipiri","Hōngongoi","Here-turi-kōkā","Mahuru","Whiringa-ā-nuku","Whiringa-ā-rangi","Hakihea",""], + namesAbbr: ["Kohi","Hui","Pou","Pae","Hara","Pipi","Hōngo","Here","Mahu","Nuku","Rangi","Haki",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd MMMM, yyyy", + f: "dddd, dd MMMM, yyyy h:mm tt", + F: "dddd, dd MMMM, yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM, yy" + } + } + } +}); + +Globalize.addCultureInfo( "oc", "default", { + name: "oc", + englishName: "Occitan", + nativeName: "Occitan", + language: "oc", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numeric", + negativeInfinity: "-Infinit", + positiveInfinity: "+Infinit", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dimenge","diluns","dimars","dimècres","dijòus","divendres","dissabte"], + namesAbbr: ["dim.","lun.","mar.","mèc.","jòu.","ven.","sab."], + namesShort: ["di","lu","ma","mè","jò","ve","sa"] + }, + months: { + names: ["genier","febrier","març","abril","mai","junh","julh","agost","setembre","octobre","novembre","desembre",""], + namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""] + }, + monthsGenitive: { + names: ["de genier","de febrier","de març","d'abril","de mai","de junh","de julh","d'agost","de setembre","d'octobre","de novembre","de desembre",""], + namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""] + }, + AM: null, + PM: null, + eras: [{"name":"après Jèsus-Crist","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd,' lo 'd MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd,' lo 'd MMMM' de 'yyyy HH:mm", + F: "dddd,' lo 'd MMMM' de 'yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "co", "default", { + name: "co", + englishName: "Corsican", + nativeName: "Corsu", + language: "co", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Mica numericu", + negativeInfinity: "-Infinitu", + positiveInfinity: "+Infinitu", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dumenica","luni","marti","mercuri","ghjovi","venderi","sabbatu"], + namesAbbr: ["dum.","lun.","mar.","mer.","ghj.","ven.","sab."], + namesShort: ["du","lu","ma","me","gh","ve","sa"] + }, + months: { + names: ["ghjennaghju","ferraghju","marzu","aprile","maghju","ghjunghju","lugliu","aostu","settembre","ottobre","nuvembre","dicembre",""], + namesAbbr: ["ghje","ferr","marz","apri","magh","ghju","lugl","aost","sett","otto","nuve","dice",""] + }, + AM: null, + PM: null, + eras: [{"name":"dopu J-C","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "gsw", "default", { + name: "gsw", + englishName: "Alsatian", + nativeName: "Elsässisch", + language: "gsw", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Ohne Nummer", + negativeInfinity: "-Unendlich", + positiveInfinity: "+Unendlich", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sundàà","Mondàà","Dienschdàà","Mittwuch","Dunnerschdàà","Fridàà","Sàmschdàà"], + namesAbbr: ["Su.","Mo.","Di.","Mi.","Du.","Fr.","Sà."], + namesShort: ["Su","Mo","Di","Mi","Du","Fr","Sà"] + }, + months: { + names: ["Jänner","Feverje","März","Àpril","Mai","Jüni","Jüli","Augscht","September","Oktower","Nowember","Dezember",""], + namesAbbr: ["Jän.","Fev.","März","Apr.","Mai","Jüni","Jüli","Aug.","Sept.","Okt.","Now.","Dez.",""] + }, + AM: null, + PM: null, + eras: [{"name":"Vor J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sah", "default", { + name: "sah", + englishName: "Yakut", + nativeName: "саха", + language: "sah", + numberFormat: { + ",": " ", + ".": ",", + NaN: "NAN", + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "с." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["баскыһыанньа","бэнидиэнньик","оптуорунньук","сэрэдэ","чэппиэр","бээтинсэ","субуота"], + namesAbbr: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"], + namesShort: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"] + }, + months: { + names: ["Тохсунньу","Олунньу","Кулун тутар","Муус устар","Ыам ыйа","Бэс ыйа","От ыйа","Атырдьах ыйа","Балаҕан ыйа","Алтынньы","Сэтинньи","Ахсынньы",""], + namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""] + }, + monthsGenitive: { + names: ["тохсунньу","олунньу","кулун тутар","муус устар","ыам ыйын","бэс ыйын","от ыйын","атырдьах ыйын","балаҕан ыйын","алтынньы","сэтинньи","ахсынньы",""], + namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""] + }, + AM: null, + PM: null, + patterns: { + d: "MM.dd.yyyy", + D: "MMMM d yyyy 'с.'", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d yyyy 'с.' H:mm", + F: "MMMM d yyyy 'с.' H:mm:ss", + Y: "MMMM yyyy 'с.'" + } + } + } +}); + +Globalize.addCultureInfo( "qut", "default", { + name: "qut", + englishName: "K'iche", + nativeName: "K'iche", + language: "qut", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + symbol: "Q" + } + }, + calendars: { + standard: { + days: { + names: ["juq'ij","kaq'ij","oxq'ij","kajq'ij","joq'ij","waqq'ij","wuqq'ij"], + namesAbbr: ["juq","kaq","oxq","kajq","joq","waqq","wuqq"], + namesShort: ["ju","ka","ox","ka","jo","wa","wu"] + }, + months: { + names: ["nab'e ik'","ukab' ik'","rox ik'","ukaj ik'","uro' ik'","uwaq ik'","uwuq ik'","uwajxaq ik'","ub'elej ik'","ulaj ik'","ujulaj ik'","ukab'laj ik'",""], + namesAbbr: ["nab'e","ukab","rox","ukaj","uro","uwaq","uwuq","uwajxaq","ub'elej","ulaj","ujulaj","ukab'laj",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "rw", "default", { + name: "rw", + englishName: "Kinyarwanda", + nativeName: "Kinyarwanda", + language: "rw", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$-n","$ n"], + ",": " ", + ".": ",", + symbol: "RWF" + } + }, + calendars: { + standard: { + days: { + names: ["Ku wa mbere","Ku wa kabiri","Ku wa gatatu","Ku wa kane","Ku wa gatanu","Ku wa gatandatu","Ku cyumweru"], + namesAbbr: ["mbe.","kab.","gat.","kan.","gat.","gat.","cyu."], + namesShort: ["mb","ka","ga","ka","ga","ga","cy"] + }, + months: { + names: ["Mutarama","Gashyantare","Werurwe","Mata","Gicurasi","Kamena","Nyakanga","Kanama","Nzeli","Ukwakira","Ugushyingo","Ukuboza",""], + namesAbbr: ["Mut","Gas","Wer","Mat","Gic","Kam","Nya","Kan","Nze","Ukwa","Ugu","Uku",""] + }, + AM: ["saa moya z.m.","saa moya z.m.","SAA MOYA Z.M."], + PM: ["saa moya z.n.","saa moya z.n.","SAA MOYA Z.N."], + eras: [{"name":"AD","start":null,"offset":0}] + } + } +}); + +Globalize.addCultureInfo( "wo", "default", { + name: "wo", + englishName: "Wolof", + nativeName: "Wolof", + language: "wo", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "XOF" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "prs", "default", { + name: "prs", + englishName: "Dari", + nativeName: "درى", + language: "prs", + isRTL: true, + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "غ ع", + negativeInfinity: "-∞", + positiveInfinity: "∞", + percent: { + pattern: ["%n-","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$n-","$n"], + symbol: "؋" + } + }, + calendars: { + standard: { + name: "Hijri", + firstDay: 5, + 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", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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_Localized: { + firstDay: 5, + days: { + names: ["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""], + namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""] + }, + AM: ["غ.م","غ.م","غ.م"], + PM: ["غ.و","غ.و","غ.و"], + eras: [{"name":"ل.ه","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy, dd, MMMM, dddd", + f: "yyyy, dd, MMMM, dddd h:mm tt", + F: "yyyy, dd, MMMM, dddd h:mm:ss tt", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "gd", "default", { + name: "gd", + englishName: "Scottish Gaelic", + nativeName: "Gàidhlig", + language: "gd", + numberFormat: { + negativeInfinity: "-Neo-chrìochnachd", + positiveInfinity: "Neo-chrìochnachd", + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"], + namesAbbr: ["Dòm","Lua","Mài","Cia","Ard","Hao","Sat"], + namesShort: ["D","L","M","C","A","H","S"] + }, + months: { + names: ["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd",""], + namesAbbr: ["Fao","Gea","Màr","Gib","Cèi","Ògm","Iuc","Lùn","Sul","Dàm","Sam","Dùb",""] + }, + AM: ["m","m","M"], + PM: ["f","f","F"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-SA", "default", { + name: "ar-SA", + englishName: "Arabic (Saudi Arabia)", + nativeName: "العربية (المملكة العربية السعودية)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + symbol: "ر.س." + } + }, + calendars: { + standard: { + 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]; + } + } + }, + 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); + } + } + }, + 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_Localized: { + 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" + } + }, + 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" + } + } + } +}); + +Globalize.addCultureInfo( "bg-BG", "default", { + name: "bg-BG", + englishName: "Bulgarian (Bulgaria)", + nativeName: "български (България)", + language: "bg", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "- безкрайност", + positiveInfinity: "+ безкрайност", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "лв." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"], + namesAbbr: ["нед","пон","вт","ср","четв","пет","съб"], + namesShort: ["н","п","в","с","ч","п","с"] + }, + months: { + names: ["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември",""], + namesAbbr: ["ян","февр","март","апр","май","юни","юли","авг","септ","окт","ноември","дек",""] + }, + AM: null, + PM: null, + eras: [{"name":"след новата ера","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy 'г.'", + D: "dd MMMM yyyy 'г.'", + t: "HH:mm 'ч.'", + T: "HH:mm:ss 'ч.'", + f: "dd MMMM yyyy 'г.' HH:mm 'ч.'", + F: "dd MMMM yyyy 'г.' HH:mm:ss 'ч.'", + M: "dd MMMM", + Y: "MMMM yyyy 'г.'" + } + } + } +}); + +Globalize.addCultureInfo( "ca-ES", "default", { + name: "ca-ES", + englishName: "Catalan (Catalan)", + nativeName: "català (català)", + language: "ca", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinit", + positiveInfinity: "Infinit", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"], + namesAbbr: ["dg.","dl.","dt.","dc.","dj.","dv.","ds."], + namesShort: ["dg","dl","dt","dc","dj","dv","ds"] + }, + months: { + names: ["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre",""], + namesAbbr: ["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' / 'MMMM' / 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' / 'MMMM' / 'yyyy HH:mm", + F: "dddd, d' / 'MMMM' / 'yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM' / 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "zh-TW", "default", { + name: "zh-TW", + englishName: "Chinese (Traditional, Taiwan)", + nativeName: "中文(台灣)", + language: "zh-CHT", + numberFormat: { + NaN: "不是一個數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "NT$" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"西元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "tt hh:mm", + T: "tt hh:mm:ss", + f: "yyyy'年'M'月'd'日' tt hh:mm", + F: "yyyy'年'M'月'd'日' tt hh:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + }, + Taiwan: { + name: "Taiwan", + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"","start":null,"offset":1911}], + twoDigitYearMax: 99, + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "tt hh:mm", + T: "tt hh:mm:ss", + f: "yyyy'年'M'月'd'日' tt hh:mm", + F: "yyyy'年'M'月'd'日' tt hh:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "cs-CZ", "default", { + name: "cs-CZ", + englishName: "Czech (Czech Republic)", + nativeName: "čeština (Česká republika)", + language: "cs", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Není číslo", + negativeInfinity: "-nekonečno", + positiveInfinity: "+nekonečno", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Kč" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"], + namesAbbr: ["ne","po","út","st","čt","pá","so"], + namesShort: ["ne","po","út","st","čt","pá","so"] + }, + months: { + names: ["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + monthsGenitive: { + names: ["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["dop.","dop.","DOP."], + PM: ["odp.","odp.","ODP."], + eras: [{"name":"n. l.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "da-DK", "default", { + name: "da-DK", + englishName: "Danish (Denmark)", + nativeName: "dansk (Danmark)", + language: "da", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "de-DE", "default", { + name: "de-DE", + englishName: "German (Germany)", + nativeName: "Deutsch (Deutschland)", + language: "de", + numberFormat: { + ",": ".", + ".": ",", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "el-GR", "default", { + name: "el-GR", + englishName: "Greek (Greece)", + nativeName: "Ελληνικά (Ελλάδα)", + language: "el", + numberFormat: { + ",": ".", + ".": ",", + NaN: "μη αριθμός", + negativeInfinity: "-Άπειρο", + positiveInfinity: "Άπειρο", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"], + namesAbbr: ["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"], + namesShort: ["Κυ","Δε","Τρ","Τε","Πε","Πα","Σά"] + }, + months: { + names: ["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος",""], + namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""] + }, + monthsGenitive: { + names: ["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου",""], + namesAbbr: ["Ιαν","Φεβ","Μαρ","Απρ","Μαϊ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ",""] + }, + AM: ["πμ","πμ","ΠΜ"], + PM: ["μμ","μμ","ΜΜ"], + eras: [{"name":"μ.Χ.","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "dddd, d MMMM yyyy", + f: "dddd, d MMMM yyyy h:mm tt", + F: "dddd, d MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "en-US", "default", { + name: "en-US", + englishName: "English (United States)" +}); + +Globalize.addCultureInfo( "fi-FI", "default", { + name: "fi-FI", + englishName: "Finnish (Finland)", + nativeName: "suomi (Suomi)", + language: "fi", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"], + namesAbbr: ["su","ma","ti","ke","to","pe","la"], + namesShort: ["su","ma","ti","ke","to","pe","la"] + }, + months: { + names: ["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu",""], + namesAbbr: ["tammi","helmi","maalis","huhti","touko","kesä","heinä","elo","syys","loka","marras","joulu",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM'ta 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM'ta 'yyyy H:mm", + F: "d. MMMM'ta 'yyyy H:mm:ss", + M: "d. MMMM'ta'", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fr-FR", "default", { + name: "fr-FR", + englishName: "French (France)", + nativeName: "français (France)", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "he-IL", "default", { + name: "he-IL", + englishName: "Hebrew (Israel)", + nativeName: "עברית (ישראל)", + language: "he", + isRTL: true, + numberFormat: { + NaN: "לא מספר", + negativeInfinity: "אינסוף שלילי", + positiveInfinity: "אינסוף חיובי", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "₪" + } + }, + calendars: { + standard: { + days: { + names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"], + namesAbbr: ["יום א","יום ב","יום ג","יום ד","יום ה","יום ו","שבת"], + namesShort: ["א","ב","ג","ד","ה","ו","ש"] + }, + months: { + names: ["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר",""], + namesAbbr: ["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ",""] + }, + eras: [{"name":"לספירה","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd dd MMMM yyyy HH:mm", + F: "dddd dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + }, + Hebrew: { + name: "Hebrew", + "/": " ", + days: { + names: ["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"], + namesAbbr: ["א","ב","ג","ד","ה","ו","ש"], + namesShort: ["א","ב","ג","ד","ה","ו","ש"] + }, + months: { + names: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"], + namesAbbr: ["תשרי","חשון","כסלו","טבת","שבט","אדר","אדר ב","ניסן","אייר","סיון","תמוז","אב","אלול"] + }, + eras: [{"name":"C.E.","start":null,"offset":0}], + twoDigitYearMax: 5790, + patterns: { + d: "dd MMMM yyyy", + D: "dddd dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd dd MMMM yyyy HH:mm", + F: "dddd dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "hu-HU", "default", { + name: "hu-HU", + englishName: "Hungarian (Hungary)", + nativeName: "magyar (Magyarország)", + language: "hu", + numberFormat: { + ",": " ", + ".": ",", + NaN: "nem szám", + negativeInfinity: "negatív végtelen", + positiveInfinity: "végtelen", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Ft" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"], + namesAbbr: ["V","H","K","Sze","Cs","P","Szo"], + namesShort: ["V","H","K","Sze","Cs","P","Szo"] + }, + months: { + names: ["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december",""], + namesAbbr: ["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec.",""] + }, + AM: ["de.","de.","DE."], + PM: ["du.","du.","DU."], + eras: [{"name":"i.sz.","start":null,"offset":0}], + patterns: { + d: "yyyy.MM.dd.", + D: "yyyy. MMMM d.", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy. MMMM d. H:mm", + F: "yyyy. MMMM d. H:mm:ss", + M: "MMMM d.", + Y: "yyyy. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "is-IS", "default", { + name: "is-IS", + englishName: "Icelandic (Iceland)", + nativeName: "íslenska (Ísland)", + language: "is", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"], + namesAbbr: ["sun.","mán.","þri.","mið.","fim.","fös.","lau."], + namesShort: ["su","má","þr","mi","fi","fö","la"] + }, + months: { + names: ["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember",""], + namesAbbr: ["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des.",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "it-IT", "default", { + name: "it-IT", + englishName: "Italian (Italy)", + nativeName: "italiano (Italia)", + language: "it", + numberFormat: { + ",": ".", + ".": ",", + NaN: "Non un numero reale", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"], + namesAbbr: ["dom","lun","mar","mer","gio","ven","sab"], + namesShort: ["do","lu","ma","me","gi","ve","sa"] + }, + months: { + names: ["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre",""], + namesAbbr: ["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ja-JP", "default", { + name: "ja-JP", + englishName: "Japanese (Japan)", + nativeName: "日本語 (日本)", + language: "ja", + numberFormat: { + NaN: "NaN (非数値)", + negativeInfinity: "-∞", + positiveInfinity: "+∞", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["-$n","$n"], + decimals: 0, + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], + namesAbbr: ["日","月","火","水","木","金","土"], + namesShort: ["日","月","火","水","木","金","土"] + }, + months: { + names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["午前","午前","午前"], + PM: ["午後","午後","午後"], + eras: [{"name":"西暦","start":null,"offset":0}], + patterns: { + d: "yyyy/MM/dd", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + }, + Japanese: { + name: "Japanese", + days: { + names: ["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"], + namesAbbr: ["日","月","火","水","木","金","土"], + namesShort: ["日","月","火","水","木","金","土"] + }, + months: { + names: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["午前","午前","午前"], + PM: ["午後","午後","午後"], + eras: [{"name":"平成","start":null,"offset":1867},{"name":"昭和","start":-1812153600000,"offset":1911},{"name":"大正","start":-1357603200000,"offset":1925},{"name":"明治","start":60022080000,"offset":1988}], + twoDigitYearMax: 99, + patterns: { + d: "gg y/M/d", + D: "gg y'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "gg y'年'M'月'd'日' H:mm", + F: "gg y'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "gg y'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "ko-KR", "default", { + name: "ko-KR", + englishName: "Korean (Korea)", + nativeName: "한국어 (대한민국)", + language: "ko", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + decimals: 0, + symbol: "₩" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"], + namesAbbr: ["일","월","화","수","목","금","토"], + namesShort: ["일","월","화","수","목","금","토"] + }, + months: { + names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["오전","오전","오전"], + PM: ["오후","오후","오후"], + eras: [{"name":"서기","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy'년' M'월' d'일' dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy'년' M'월' d'일' dddd tt h:mm", + F: "yyyy'년' M'월' d'일' dddd tt h:mm:ss", + M: "M'월' d'일'", + Y: "yyyy'년' M'월'" + } + }, + Korean: { + name: "Korean", + "/": "-", + days: { + names: ["일요일","월요일","화요일","수요일","목요일","금요일","토요일"], + namesAbbr: ["일","월","화","수","목","금","토"], + namesShort: ["일","월","화","수","목","금","토"] + }, + months: { + names: ["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: ["오전","오전","오전"], + PM: ["오후","오후","오후"], + eras: [{"name":"단기","start":null,"offset":-2333}], + twoDigitYearMax: 4362, + patterns: { + d: "gg yyyy-MM-dd", + D: "gg yyyy'년' M'월' d'일' dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "gg yyyy'년' M'월' d'일' dddd tt h:mm", + F: "gg yyyy'년' M'월' d'일' dddd tt h:mm:ss", + M: "M'월' d'일'", + Y: "gg yyyy'년' M'월'" + } + } + } +}); + +Globalize.addCultureInfo( "nl-NL", "default", { + name: "nl-NL", + englishName: "Dutch (Netherlands)", + nativeName: "Nederlands (Nederland)", + language: "nl", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"], + namesAbbr: ["zo","ma","di","wo","do","vr","za"], + namesShort: ["zo","ma","di","wo","do","vr","za"] + }, + months: { + names: ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d-M-yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "nb-NO", "default", { + name: "nb-NO", + englishName: "Norwegian, Bokmål (Norway)", + nativeName: "norsk, bokmål (Norge)", + language: "nb", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "pl-PL", "default", { + name: "pl-PL", + englishName: "Polish (Poland)", + nativeName: "polski (Polska)", + language: "pl", + numberFormat: { + ",": " ", + ".": ",", + NaN: "nie jest liczbą", + negativeInfinity: "-nieskończoność", + positiveInfinity: "+nieskończoność", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "zł" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"], + namesAbbr: ["N","Pn","Wt","Śr","Cz","Pt","So"], + namesShort: ["N","Pn","Wt","Śr","Cz","Pt","So"] + }, + months: { + names: ["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień",""], + namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""] + }, + monthsGenitive: { + names: ["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia",""], + namesAbbr: ["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "pt-BR", "default", { + name: "pt-BR", + englishName: "Portuguese (Brazil)", + nativeName: "Português (Brasil)", + language: "pt", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NaN (Não é um número)", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "R$" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"], + namesAbbr: ["dom","seg","ter","qua","qui","sex","sáb"], + namesShort: ["D","S","T","Q","Q","S","S"] + }, + months: { + names: ["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro",""], + namesAbbr: ["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' de 'MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' de 'MMMM' de 'yyyy HH:mm", + F: "dddd, d' de 'MMMM' de 'yyyy HH:mm:ss", + M: "dd' de 'MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "rm-CH", "default", { + name: "rm-CH", + englishName: "Romansh (Switzerland)", + nativeName: "Rumantsch (Svizra)", + language: "rm", + numberFormat: { + ",": "'", + NaN: "betg def.", + negativeInfinity: "-infinit", + positiveInfinity: "+infinit", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "fr." + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dumengia","glindesdi","mardi","mesemna","gievgia","venderdi","sonda"], + namesAbbr: ["du","gli","ma","me","gie","ve","so"], + namesShort: ["du","gli","ma","me","gie","ve","so"] + }, + months: { + names: ["schaner","favrer","mars","avrigl","matg","zercladur","fanadur","avust","settember","october","november","december",""], + namesAbbr: ["schan","favr","mars","avr","matg","zercl","fan","avust","sett","oct","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"s. Cr.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d MMMM yyyy HH:mm", + F: "dddd, d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ro-RO", "default", { + name: "ro-RO", + englishName: "Romanian (Romania)", + nativeName: "română (România)", + language: "ro", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "lei" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["duminică","luni","marţi","miercuri","joi","vineri","sâmbătă"], + namesAbbr: ["D","L","Ma","Mi","J","V","S"], + namesShort: ["D","L","Ma","Mi","J","V","S"] + }, + months: { + names: ["ianuarie","februarie","martie","aprilie","mai","iunie","iulie","august","septembrie","octombrie","noiembrie","decembrie",""], + namesAbbr: ["ian.","feb.","mar.","apr.","mai.","iun.","iul.","aug.","sep.","oct.","nov.","dec.",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ru-RU", "default", { + name: "ru-RU", + englishName: "Russian (Russia)", + nativeName: "русский (Россия)", + language: "ru", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"], + namesAbbr: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"], + namesShort: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"] + }, + months: { + names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + monthsGenitive: { + names: ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря",""], + namesAbbr: ["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy 'г.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'г.' H:mm", + F: "d MMMM yyyy 'г.' H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "hr-HR", "default", { + name: "hr-HR", + englishName: "Croatian (Croatia)", + nativeName: "hrvatski (Hrvatska)", + language: "hr", + numberFormat: { + pattern: ["- n"], + ",": ".", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kn" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["siječanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + monthsGenitive: { + names: ["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenog","prosinca",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy.", + D: "d. MMMM yyyy.", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy. H:mm", + F: "d. MMMM yyyy. H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "sk-SK", "default", { + name: "sk-SK", + englishName: "Slovak (Slovakia)", + nativeName: "slovenčina (Slovenská republika)", + language: "sk", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Nie je číslo", + negativeInfinity: "-nekonečno", + positiveInfinity: "+nekonečno", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"], + namesAbbr: ["ne","po","ut","st","št","pi","so"], + namesShort: ["ne","po","ut","st","št","pi","so"] + }, + months: { + names: ["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + monthsGenitive: { + names: ["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra",""], + namesAbbr: ["1","2","3","4","5","6","7","8","9","10","11","12",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. l.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sq-AL", "default", { + name: "sq-AL", + englishName: "Albanian (Albania)", + nativeName: "shqipe (Shqipëria)", + language: "sq", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-infinit", + positiveInfinity: "infinit", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": ".", + ".": ",", + symbol: "Lek" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["e diel","e hënë","e martë","e mërkurë","e enjte","e premte","e shtunë"], + namesAbbr: ["Die","Hën","Mar","Mër","Enj","Pre","Sht"], + namesShort: ["Di","Hë","Ma","Më","En","Pr","Sh"] + }, + months: { + names: ["janar","shkurt","mars","prill","maj","qershor","korrik","gusht","shtator","tetor","nëntor","dhjetor",""], + namesAbbr: ["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj",""] + }, + AM: ["PD","pd","PD"], + PM: ["MD","md","MD"], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy-MM-dd", + t: "h:mm.tt", + T: "h:mm:ss.tt", + f: "yyyy-MM-dd h:mm.tt", + F: "yyyy-MM-dd h:mm:ss.tt", + Y: "yyyy-MM" + } + } + } +}); + +Globalize.addCultureInfo( "sv-SE", "default", { + name: "sv-SE", + englishName: "Swedish (Sweden)", + nativeName: "svenska (Sverige)", + language: "sv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"], + namesAbbr: ["sö","må","ti","on","to","fr","lö"], + namesShort: ["sö","må","ti","on","to","fr","lö"] + }, + months: { + names: ["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "'den 'd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "'den 'd MMMM yyyy HH:mm", + F: "'den 'd MMMM yyyy HH:mm:ss", + M: "'den 'd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "th-TH", "default", { + name: "th-TH", + englishName: "Thai (Thailand)", + nativeName: "ไทย (ไทย)", + language: "th", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "฿" + } + }, + calendars: { + standard: { + name: "ThaiBuddhist", + firstDay: 1, + days: { + names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"], + namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."], + namesShort: ["อ","จ","อ","พ","พ","ศ","ส"] + }, + months: { + names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""], + namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""] + }, + eras: [{"name":"พ.ศ.","start":null,"offset":-543}], + twoDigitYearMax: 2572, + patterns: { + d: "d/M/yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + }, + Gregorian_Localized: { + firstDay: 1, + days: { + names: ["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"], + namesAbbr: ["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."], + namesShort: ["อ","จ","อ","พ","พ","ศ","ส"] + }, + months: { + names: ["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม",""], + namesAbbr: ["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.",""] + }, + patterns: { + d: "d/M/yyyy", + D: "'วัน'dddd'ที่' d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "'วัน'dddd'ที่' d MMMM yyyy H:mm", + F: "'วัน'dddd'ที่' d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "tr-TR", "default", { + name: "tr-TR", + englishName: "Turkish (Turkey)", + nativeName: "Türkçe (Türkiye)", + language: "tr", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "TL" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"], + namesAbbr: ["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"], + namesShort: ["Pz","Pt","Sa","Ça","Pe","Cu","Ct"] + }, + months: { + names: ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık",""], + namesAbbr: ["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "dd MMMM yyyy dddd", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy dddd HH:mm", + F: "dd MMMM yyyy dddd HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ur-PK", "default", { + name: "ur-PK", + englishName: "Urdu (Islamic Republic of Pakistan)", + nativeName: "اُردو (پاکستان)", + language: "ur", + isRTL: true, + numberFormat: { + currency: { + pattern: ["$n-","$n"], + symbol: "Rs" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"], + namesAbbr: ["اتوار","پير","منگل","بدھ","جمعرات","جمعه","هفته"], + namesShort: ["ا","پ","م","ب","ج","ج","ه"] + }, + months: { + names: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""], + namesAbbr: ["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر",""] + }, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM, yyyy", + f: "dd MMMM, yyyy h:mm tt", + F: "dd MMMM, yyyy h:mm:ss tt", + M: "dd MMMM" + } + }, + Hijri: { + name: "Hijri", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""], + namesAbbr: ["محرم","صفر","ربيع الأول","ربيع الثاني","جمادى الأولى","جمادى الثانية","رجب","شعبان","رمضان","شوال","ذو القعدة","ذو الحجة",""] + }, + eras: [{"name":"بعد الهجرة","start":null,"offset":0}], + twoDigitYearMax: 1451, + patterns: { + d: "dd/MM/yy", + D: "dd/MM/yyyy", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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); + } + } + } + } +}); + +Globalize.addCultureInfo( "id-ID", "default", { + name: "id-ID", + englishName: "Indonesian (Indonesia)", + nativeName: "Bahasa Indonesia (Indonesia)", + language: "id", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + decimals: 0, + ",": ".", + ".": ",", + symbol: "Rp" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"], + namesAbbr: ["Minggu","Sen","Sel","Rabu","Kamis","Jumat","Sabtu"], + namesShort: ["M","S","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember",""], + namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agust","Sep","Okt","Nop","Des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "uk-UA", "default", { + name: "uk-UA", + englishName: "Ukrainian (Ukraine)", + nativeName: "українська (Україна)", + language: "uk", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-безмежність", + positiveInfinity: "безмежність", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₴" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"], + namesAbbr: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"], + namesShort: ["Нд","Пн","Вт","Ср","Чт","Пт","Сб"] + }, + months: { + names: ["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень",""], + namesAbbr: ["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру",""] + }, + monthsGenitive: { + names: ["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня",""], + namesAbbr: ["січ","лют","бер","кві","тра","чер","лип","сер","вер","жов","лис","гру",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy' р.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy' р.' H:mm", + F: "d MMMM yyyy' р.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy' р.'" + } + } + } +}); + +Globalize.addCultureInfo( "be-BY", "default", { + name: "be-BY", + englishName: "Belarusian (Belarus)", + nativeName: "Беларускі (Беларусь)", + language: "be", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["нядзеля","панядзелак","аўторак","серада","чацвер","пятніца","субота"], + namesAbbr: ["нд","пн","аў","ср","чц","пт","сб"], + namesShort: ["нд","пн","аў","ср","чц","пт","сб"] + }, + months: { + names: ["Студзень","Люты","Сакавік","Красавік","Май","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань",""], + namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""] + }, + monthsGenitive: { + names: ["студзеня","лютага","сакавіка","красавіка","мая","чэрвеня","ліпеня","жніўня","верасня","кастрычніка","лістапада","снежня",""], + namesAbbr: ["Сту","Лют","Сак","Кра","Май","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сне",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sl-SI", "default", { + name: "sl-SI", + englishName: "Slovenian (Slovenia)", + nativeName: "slovenski (Slovenija)", + language: "sl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-neskončnost", + positiveInfinity: "neskončnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljek","torek","sreda","četrtek","petek","sobota"], + namesAbbr: ["ned","pon","tor","sre","čet","pet","sob"], + namesShort: ["ne","po","to","sr","če","pe","so"] + }, + months: { + names: ["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "et-EE", "default", { + name: "et-EE", + englishName: "Estonian (Estonia)", + nativeName: "eesti (Eesti)", + language: "et", + numberFormat: { + ",": " ", + ".": ",", + NaN: "avaldamatu", + negativeInfinity: "miinuslõpmatus", + positiveInfinity: "plusslõpmatus", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pühapäev","esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev"], + namesAbbr: ["P","E","T","K","N","R","L"], + namesShort: ["P","E","T","K","N","R","L"] + }, + months: { + names: ["jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember",""], + namesAbbr: ["jaan","veebr","märts","apr","mai","juuni","juuli","aug","sept","okt","nov","dets",""] + }, + AM: ["EL","el","EL"], + PM: ["PL","pl","PL"], + patterns: { + d: "d.MM.yyyy", + D: "d. MMMM yyyy'. a.'", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy'. a.' H:mm", + F: "d. MMMM yyyy'. a.' H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy'. a.'" + } + } + } +}); + +Globalize.addCultureInfo( "lv-LV", "default", { + name: "lv-LV", + englishName: "Latvian (Latvia)", + nativeName: "latviešu (Latvija)", + language: "lv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-bezgalība", + positiveInfinity: "bezgalība", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": " ", + ".": ",", + symbol: "Ls" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"], + namesAbbr: ["sv","pr","ot","tr","ce","pk","se"], + namesShort: ["sv","pr","ot","tr","ce","pk","se"] + }, + months: { + names: ["janvāris","februāris","marts","aprīlis","maijs","jūnijs","jūlijs","augusts","septembris","oktobris","novembris","decembris",""], + namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""] + }, + monthsGenitive: { + names: ["janvārī","februārī","martā","aprīlī","maijā","jūnijā","jūlijā","augustā","septembrī","oktobrī","novembrī","decembrī",""], + namesAbbr: ["jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy.MM.dd.", + D: "dddd, yyyy'. gada 'd. MMMM", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, yyyy'. gada 'd. MMMM H:mm", + F: "dddd, yyyy'. gada 'd. MMMM H:mm:ss", + M: "d. MMMM", + Y: "yyyy. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "lt-LT", "default", { + name: "lt-LT", + englishName: "Lithuanian (Lithuania)", + nativeName: "lietuvių (Lietuva)", + language: "lt", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-begalybė", + positiveInfinity: "begalybė", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Lt" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"], + namesAbbr: ["Sk","Pr","An","Tr","Kt","Pn","Št"], + namesShort: ["S","P","A","T","K","Pn","Š"] + }, + months: { + names: ["sausis","vasaris","kovas","balandis","gegužė","birželis","liepa","rugpjūtis","rugsėjis","spalis","lapkritis","gruodis",""], + namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""] + }, + monthsGenitive: { + names: ["sausio","vasario","kovo","balandžio","gegužės","birželio","liepos","rugpjūčio","rugsėjo","spalio","lapkričio","gruodžio",""], + namesAbbr: ["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spl","Lap","Grd",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy.MM.dd", + D: "yyyy 'm.' MMMM d 'd.'", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'm.' MMMM d 'd.' HH:mm", + F: "yyyy 'm.' MMMM d 'd.' HH:mm:ss", + M: "MMMM d 'd.'", + Y: "yyyy 'm.' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "tg-Cyrl-TJ", "default", { + name: "tg-Cyrl-TJ", + englishName: "Tajik (Cyrillic, Tajikistan)", + nativeName: "Тоҷикӣ (Тоҷикистон)", + language: "tg-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ";", + symbol: "т.р." + } + }, + calendars: { + standard: { + "/": ".", + days: { + names: ["Яш","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"], + namesAbbr: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"], + namesShort: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январи","феврали","марти","апрели","маи","июни","июли","августи","сентябри","октябри","ноябри","декабри",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fa-IR", "default", { + name: "fa-IR", + englishName: "Persian", + nativeName: "فارسى (ایران)", + language: "fa", + isRTL: true, + numberFormat: { + pattern: ["n-"], + currency: { + pattern: ["$n-","$ n"], + ".": "/", + symbol: "ريال" + } + }, + calendars: { + standard: { + 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" + } + }, + Gregorian_Localized: { + firstDay: 6, + days: { + names: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["يكشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""], + namesAbbr: ["ژانويه","فوريه","مارس","آوريل","مى","ژوئن","ژوئيه","اوت","سپتامبر","اُكتبر","نوامبر","دسامبر",""] + }, + AM: ["ق.ظ","ق.ظ","ق.ظ"], + PM: ["ب.ظ","ب.ظ","ب.ظ"], + patterns: { + d: "yyyy/MM/dd", + D: "yyyy/MM/dd", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "yyyy/MM/dd hh:mm tt", + F: "yyyy/MM/dd 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); + } + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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" + } + } + } +}); + +Globalize.addCultureInfo( "vi-VN", "default", { + name: "vi-VN", + englishName: "Vietnamese (Vietnam)", + nativeName: "Tiếng Việt (Việt Nam)", + language: "vi", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "₫" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"], + namesAbbr: ["CN","Hai","Ba","Tư","Năm","Sáu","Bảy"], + namesShort: ["C","H","B","T","N","S","B"] + }, + months: { + names: ["Tháng Giêng","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai",""], + namesAbbr: ["Thg1","Thg2","Thg3","Thg4","Thg5","Thg6","Thg7","Thg8","Thg9","Thg10","Thg11","Thg12",""] + }, + AM: ["SA","sa","SA"], + PM: ["CH","ch","CH"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + f: "dd MMMM yyyy h:mm tt", + F: "dd MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "hy-AM", "default", { + name: "hy-AM", + englishName: "Armenian (Armenia)", + nativeName: "Հայերեն (Հայաստան)", + language: "hy", + numberFormat: { + currency: { + pattern: ["-n $","n $"], + symbol: "դր." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","ՈՒրբաթ","Շաբաթ"], + namesAbbr: ["Կիր","Երկ","Երք","Չրք","Հնգ","ՈՒր","Շբթ"], + namesShort: ["Կ","Ե","Ե","Չ","Հ","Ո","Շ"] + }, + months: { + names: ["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր",""], + namesAbbr: ["ՀՆՎ","ՓՏՎ","ՄՐՏ","ԱՊՐ","ՄՅՍ","ՀՆՍ","ՀԼՍ","ՕԳՍ","ՍԵՊ","ՀՈԿ","ՆՈՅ","ԴԵԿ",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM, yyyy H:mm", + F: "d MMMM, yyyy H:mm:ss", + M: "d MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "az-Latn-AZ", "default", { + name: "az-Latn-AZ", + englishName: "Azeri (Latin, Azerbaijan)", + nativeName: "Azərbaycanılı (Azərbaycan)", + language: "az-Latn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "man." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"], + namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"], + namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"] + }, + months: { + names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + monthsGenitive: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "eu-ES", "default", { + name: "eu-ES", + englishName: "Basque (Basque)", + nativeName: "euskara (euskara)", + language: "eu", + numberFormat: { + ",": ".", + ".": ",", + NaN: "EdZ", + negativeInfinity: "-Infinitu", + positiveInfinity: "Infinitu", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"], + namesAbbr: ["ig.","al.","as.","az.","og.","or.","lr."], + namesShort: ["ig","al","as","az","og","or","lr"] + }, + months: { + names: ["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua",""], + namesAbbr: ["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe.",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "yyyy/MM/dd", + D: "dddd, yyyy.'eko' MMMM'k 'd", + t: "HH:mm", + T: "H:mm:ss", + f: "dddd, yyyy.'eko' MMMM'k 'd HH:mm", + F: "dddd, yyyy.'eko' MMMM'k 'd H:mm:ss", + Y: "yyyy.'eko' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "hsb-DE", "default", { + name: "hsb-DE", + englishName: "Upper Sorbian (Germany)", + nativeName: "hornjoserbšćina (Němska)", + language: "hsb", + numberFormat: { + ",": ".", + ".": ",", + NaN: "njedefinowane", + negativeInfinity: "-njekónčne", + positiveInfinity: "+njekónčne", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["njedźela","póndźela","wutora","srjeda","štwórtk","pjatk","sobota"], + namesAbbr: ["nje","pón","wut","srj","štw","pja","sob"], + namesShort: ["n","p","w","s","š","p","s"] + }, + months: { + names: ["januar","februar","měrc","apryl","meja","junij","julij","awgust","september","oktober","nowember","december",""], + namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""] + }, + monthsGenitive: { + names: ["januara","februara","měrca","apryla","meje","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""], + namesAbbr: ["jan","feb","měr","apr","mej","jun","jul","awg","sep","okt","now","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"po Chr.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "dddd, 'dnja' d. MMMM yyyy", + t: "H.mm 'hodź.'", + T: "H:mm:ss", + f: "dddd, 'dnja' d. MMMM yyyy H.mm 'hodź.'", + F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "mk-MK", "default", { + name: "mk-MK", + englishName: "Macedonian (Former Yugoslav Republic of Macedonia)", + nativeName: "македонски јазик (Македонија)", + language: "mk", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "ден." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недела","понеделник","вторник","среда","четврток","петок","сабота"], + namesAbbr: ["нед","пон","втр","срд","чет","пет","саб"], + namesShort: ["не","по","вт","ср","че","пе","са"] + }, + months: { + names: ["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември",""], + namesAbbr: ["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "dddd, dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, dd MMMM yyyy HH:mm", + F: "dddd, dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "tn-ZA", "default", { + name: "tn-ZA", + englishName: "Setswana (South Africa)", + nativeName: "Setswana (Aforika Borwa)", + language: "tn", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Latshipi","Mosupologo","Labobedi","Laboraro","Labone","Labotlhano","Lamatlhatso"], + namesAbbr: ["Ltp.","Mos.","Lbd.","Lbr.","Lbn.","Lbt.","Lmt."], + namesShort: ["Lp","Ms","Lb","Lr","Ln","Lt","Lm"] + }, + months: { + names: ["Ferikgong","Tlhakole","Mopitloe","Moranang","Motsheganong","Seetebosigo","Phukwi","Phatwe","Lwetse","Diphalane","Ngwanatsele","Sedimothole",""], + namesAbbr: ["Fer.","Tlhak.","Mop.","Mor.","Motsh.","Seet.","Phukw.","Phatw.","Lwets.","Diph.","Ngwan.","Sed.",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "xh-ZA", "default", { + name: "xh-ZA", + englishName: "isiXhosa (South Africa)", + nativeName: "isiXhosa (uMzantsi Afrika)", + language: "xh", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["iCawa","uMvulo","uLwesibini","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"], + namesShort: ["Ca","Mv","Lb","Lt","Ln","Lh","Mg"] + }, + months: { + names: ["Mqungu","Mdumba","Kwindla","Tshazimpuzi","Canzibe","Silimela","Khala","Thupha","Msintsi","Dwarha","Nkanga","Mnga",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "zu-ZA", "default", { + name: "zu-ZA", + englishName: "isiZulu (South Africa)", + nativeName: "isiZulu (iNingizimu Afrika)", + language: "zu", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["iSonto","uMsombuluko","uLwesibili","uLwesithathu","uLwesine","uLwesihlanu","uMgqibelo"], + namesAbbr: ["Son.","Mso.","Bi.","Tha.","Ne.","Hla.","Mgq."] + }, + months: { + names: ["uMasingana","uNhlolanja","uNdasa","uMbaso","uNhlaba","uNhlangulana","uNtulikazi","uNcwaba","uMandulo","uMfumfu","uLwezi","uZibandlela",""], + namesAbbr: ["Mas.","Nhlo.","Nda.","Mba.","Nhla.","Nhlang.","Ntu.","Ncwa.","Man.","Mfu.","Lwe.","Zib.",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "af-ZA", "default", { + name: "af-ZA", + englishName: "Afrikaans (South Africa)", + nativeName: "Afrikaans (Suid Afrika)", + language: "af", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"], + namesAbbr: ["Son","Maan","Dins","Woen","Dond","Vry","Sat"], + namesShort: ["So","Ma","Di","Wo","Do","Vr","Sa"] + }, + months: { + names: ["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember",""], + namesAbbr: ["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ka-GE", "default", { + name: "ka-GE", + englishName: "Georgian (Georgia)", + nativeName: "ქართული (საქართველო)", + language: "ka", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "Lari" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"], + namesAbbr: ["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"], + namesShort: ["კ","ო","ს","ო","ხ","პ","შ"] + }, + months: { + names: ["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი",""], + namesAbbr: ["იან","თებ","მარ","აპრ","მაის","ივნ","ივლ","აგვ","სექ","ოქტ","ნოემ","დეკ",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "yyyy 'წლის' dd MM, dddd", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'წლის' dd MM, dddd H:mm", + F: "yyyy 'წლის' dd MM, dddd H:mm:ss", + M: "dd MM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fo-FO", "default", { + name: "fo-FO", + englishName: "Faroese (Faroe Islands)", + nativeName: "føroyskt (Føroyar)", + language: "fo", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sunnudagur","mánadagur","týsdagur","mikudagur","hósdagur","fríggjadagur","leygardagur"], + namesAbbr: ["sun","mán","týs","mik","hós","frí","leyg"], + namesShort: ["su","má","tý","mi","hó","fr","ley"] + }, + months: { + names: ["januar","februar","mars","apríl","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "hi-IN", "default", { + name: "hi-IN", + englishName: "Hindi (India)", + nativeName: "हिंदी (भारत)", + language: "hi", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "mt-MT", "default", { + name: "mt-MT", + englishName: "Maltese (Malta)", + nativeName: "Malti (Malta)", + language: "mt", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Il-Ħadd","It-Tnejn","It-Tlieta","L-Erbgħa","Il-Ħamis","Il-Ġimgħa","Is-Sibt"], + namesAbbr: ["Ħad","Tne","Tli","Erb","Ħam","Ġim","Sib"], + namesShort: ["I","I","I","L","I","I","I"] + }, + months: { + names: ["Jannar","Frar","Marzu","April","Mejju","Ġunju","Lulju","Awissu","Settembru","Ottubru","Novembru","Diċembru",""], + namesAbbr: ["Jan","Fra","Mar","Apr","Mej","Ġun","Lul","Awi","Set","Ott","Nov","Diċ",""] + }, + patterns: { + d: "dd/MM/yyyy", + D: "dddd, d' ta\\' 'MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' ta\\' 'MMMM yyyy HH:mm", + F: "dddd, d' ta\\' 'MMMM yyyy HH:mm:ss", + M: "d' ta\\' 'MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "se-NO", "default", { + name: "se-NO", + englishName: "Sami, Northern (Norway)", + nativeName: "davvisámegiella (Norga)", + language: "se", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sotnabeaivi","vuossárga","maŋŋebárga","gaskavahkku","duorastat","bearjadat","lávvardat"], + namesAbbr: ["sotn","vuos","maŋ","gask","duor","bear","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + monthsGenitive: { + names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ms-MY", "default", { + name: "ms-MY", + englishName: "Malay (Malaysia)", + nativeName: "Bahasa Melayu (Malaysia)", + language: "ms", + numberFormat: { + currency: { + decimals: 0, + symbol: "RM" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"], + namesAbbr: ["Ahad","Isnin","Sel","Rabu","Khamis","Jumaat","Sabtu"], + namesShort: ["A","I","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sept","Okt","Nov","Dis",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "kk-KZ", "default", { + name: "kk-KZ", + englishName: "Kazakh (Kazakhstan)", + nativeName: "Қазақ (Қазақстан)", + language: "kk", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-$n","$n"], + ",": " ", + ".": "-", + symbol: "Т" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"], + namesAbbr: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"], + namesShort: ["Жк","Дс","Сс","Ср","Бс","Жм","Сн"] + }, + months: { + names: ["қаңтар","ақпан","наурыз","сәуір","мамыр","маусым","шілде","тамыз","қыркүйек","қазан","қараша","желтоқсан",""], + namesAbbr: ["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy 'ж.'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'ж.' H:mm", + F: "d MMMM yyyy 'ж.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ky-KG", "default", { + name: "ky-KG", + englishName: "Kyrgyz (Kyrgyzstan)", + nativeName: "Кыргыз (Кыргызстан)", + language: "ky", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": "-", + symbol: "сом" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Жекшемби","Дүйшөмбү","Шейшемби","Шаршемби","Бейшемби","Жума","Ишемби"], + namesAbbr: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"], + namesShort: ["Жш","Дш","Шш","Шр","Бш","Жм","Иш"] + }, + months: { + names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d'-'MMMM yyyy'-ж.'", + t: "H:mm", + T: "H:mm:ss", + f: "d'-'MMMM yyyy'-ж.' H:mm", + F: "d'-'MMMM yyyy'-ж.' H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy'-ж.'" + } + } + } +}); + +Globalize.addCultureInfo( "sw-KE", "default", { + name: "sw-KE", + englishName: "Kiswahili (Kenya)", + nativeName: "Kiswahili (Kenya)", + language: "sw", + numberFormat: { + currency: { + symbol: "S" + } + }, + calendars: { + standard: { + days: { + names: ["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"], + namesAbbr: ["Jumap.","Jumat.","Juman.","Jumat.","Alh.","Iju.","Jumam."], + namesShort: ["P","T","N","T","A","I","M"] + }, + months: { + names: ["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Decemba",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Dec",""] + } + } + } +}); + +Globalize.addCultureInfo( "tk-TM", "default", { + name: "tk-TM", + englishName: "Turkmen (Turkmenistan)", + nativeName: "türkmençe (Türkmenistan)", + language: "tk", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-üznüksizlik", + positiveInfinity: "üznüksizlik", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "m." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe","Ýekşenbe"], + namesAbbr: ["Db","Sb","Çb","Pb","An","Şb","Ýb"], + namesShort: ["D","S","Ç","P","A","Ş","Ý"] + }, + months: { + names: ["Ýanwar","Fewral","Mart","Aprel","Maý","lýun","lýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr",""], + namesAbbr: ["Ýan","Few","Mart","Apr","Maý","lýun","lýul","Awg","Sen","Okt","Not","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "yyyy 'ý.' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'ý.' MMMM d H:mm", + F: "yyyy 'ý.' MMMM d H:mm:ss", + Y: "yyyy 'ý.' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "uz-Latn-UZ", "default", { + name: "uz-Latn-UZ", + englishName: "Uzbek (Latin, Uzbekistan)", + nativeName: "U'zbek (U'zbekiston Respublikasi)", + language: "uz-Latn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": " ", + ".": ",", + symbol: "so'm" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["yakshanba","dushanba","seshanba","chorshanba","payshanba","juma","shanba"], + namesAbbr: ["yak.","dsh.","sesh.","chr.","psh.","jm.","sh."], + namesShort: ["ya","d","s","ch","p","j","sh"] + }, + months: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM yyyy", + D: "yyyy 'yil' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'yil' d-MMMM HH:mm", + F: "yyyy 'yil' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "tt-RU", "default", { + name: "tt-RU", + englishName: "Tatar (Russia)", + nativeName: "Татар (Россия)", + language: "tt", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "р." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Якшәмбе","Дүшәмбе","Сишәмбе","Чәршәмбе","Пәнҗешәмбе","Җомга","Шимбә"], + namesAbbr: ["Якш","Дүш","Сиш","Чәрш","Пәнҗ","Җом","Шим"], + namesShort: ["Я","Д","С","Ч","П","Җ","Ш"] + }, + months: { + names: ["Гыйнвар","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь",""], + namesAbbr: ["Гыйн.","Фев.","Мар.","Апр.","Май","Июнь","Июль","Авг.","Сен.","Окт.","Нояб.","Дек.",""] + }, + monthsGenitive: { + names: ["Гыйнварның","Февральнең","Мартның","Апрельнең","Майның","Июньнең","Июльнең","Августның","Сентябрьның","Октябрьның","Ноябрьның","Декабрьның",""], + namesAbbr: ["Гыйн.-ның","Фев.-нең","Мар.-ның","Апр.-нең","Майның","Июньнең","Июльнең","Авг.-ның","Сен.-ның","Окт.-ның","Нояб.-ның","Дек.-ның",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "bn-IN", "default", { + name: "bn-IN", + englishName: "Bengali (India)", + nativeName: "বাংলা (ভারত)", + language: "bn", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "টা" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"], + namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."], + namesShort: ["র","স","ম","ব","ব","শ","শ"] + }, + months: { + names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""], + namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""] + }, + AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"], + PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "pa-IN", "default", { + name: "pa-IN", + englishName: "Punjabi (India)", + nativeName: "ਪੰਜਾਬੀ (ਭਾਰਤ)", + language: "pa", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ਰੁ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ਐਤਵਾਰ","ਸੋਮਵਾਰ","ਮੰਗਲਵਾਰ","ਬੁੱਧਵਾਰ","ਵੀਰਵਾਰ","ਸ਼ੁੱਕਰਵਾਰ","ਸ਼ਨਿੱਚਰਵਾਰ"], + namesAbbr: ["ਐਤ.","ਸੋਮ.","ਮੰਗਲ.","ਬੁੱਧ.","ਵੀਰ.","ਸ਼ੁਕਰ.","ਸ਼ਨਿੱਚਰ."], + namesShort: ["ਐ","ਸ","ਮ","ਬ","ਵ","ਸ਼","ਸ਼"] + }, + months: { + names: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""], + namesAbbr: ["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ",""] + }, + AM: ["ਸਵੇਰ","ਸਵੇਰ","ਸਵੇਰ"], + PM: ["ਸ਼ਾਮ","ਸ਼ਾਮ","ਸ਼ਾਮ"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy dddd", + t: "tt hh:mm", + T: "tt hh:mm:ss", + f: "dd MMMM yyyy dddd tt hh:mm", + F: "dd MMMM yyyy dddd tt hh:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "gu-IN", "default", { + name: "gu-IN", + englishName: "Gujarati (India)", + nativeName: "ગુજરાતી (ભારત)", + language: "gu", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "રૂ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["રવિવાર","સોમવાર","મંગળવાર","બુધવાર","ગુરુવાર","શુક્રવાર","શનિવાર"], + namesAbbr: ["રવિ","સોમ","મંગળ","બુધ","ગુરુ","શુક્ર","શનિ"], + namesShort: ["ર","સ","મ","બ","ગ","શ","શ"] + }, + months: { + names: ["જાન્યુઆરી","ફેબ્રુઆરી","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટેમ્બર","ઑક્ટ્બર","નવેમ્બર","ડિસેમ્બર",""], + namesAbbr: ["જાન્યુ","ફેબ્રુ","માર્ચ","એપ્રિલ","મે","જૂન","જુલાઈ","ઑગસ્ટ","સપ્ટે","ઑક્ટો","નવે","ડિસે",""] + }, + AM: ["પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન","પૂર્વ મધ્યાહ્ન"], + PM: ["ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન","ઉત્તર મધ્યાહ્ન"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "or-IN", "default", { + name: "or-IN", + englishName: "Oriya (India)", + nativeName: "ଓଡ଼ିଆ (ଭାରତ)", + language: "or", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ଟ" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["ରବିବାର","ସୋମବାର","ମଙ୍ଗଳବାର","ବୁଧବାର","ଗୁରୁବାର","ଶୁକ୍ରବାର","ଶନିବାର"], + namesAbbr: ["ରବି.","ସୋମ.","ମଙ୍ଗଳ.","ବୁଧ.","ଗୁରୁ.","ଶୁକ୍ର.","ଶନି."], + namesShort: ["ର","ସୋ","ମ","ବୁ","ଗୁ","ଶୁ","ଶ"] + }, + months: { + names: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍","ମେ","ଜୁନ୍","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""], + namesAbbr: ["ଜାନୁୟାରୀ","ଫ୍ରେବୃୟାରୀ","ମାର୍ଚ୍ଚ","ଏପ୍ରିଲ୍","ମେ","ଜୁନ୍","ଜୁଲାଇ","ଅଗଷ୍ଟ","ସେପ୍ଟେମ୍ବର","ଅକ୍ଟୋବର","ନଭେମ୍ବର","(ଡିସେମ୍ବର",""] + }, + eras: [{"name":"ଖ୍ରୀଷ୍ଟାବ୍ଦ","start":null,"offset":0}], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "ta-IN", "default", { + name: "ta-IN", + englishName: "Tamil (India)", + nativeName: "தமிழ் (இந்தியா)", + language: "ta", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "te-IN", "default", { + name: "te-IN", + englishName: "Telugu (India)", + nativeName: "తెలుగు (భారత దేశం)", + language: "te", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "రూ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ఆదివారం","సోమవారం","మంగళవారం","బుధవారం","గురువారం","శుక్రవారం","శనివారం"], + namesAbbr: ["ఆది.","సోమ.","మంగళ.","బుధ.","గురు.","శుక్ర.","శని."], + namesShort: ["ఆ","సో","మం","బు","గు","శు","శ"] + }, + months: { + names: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""], + namesAbbr: ["జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్",""] + }, + AM: ["పూర్వాహ్న","పూర్వాహ్న","పూర్వాహ్న"], + PM: ["అపరాహ్న","అపరాహ్న","అపరాహ్న"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "kn-IN", "default", { + name: "kn-IN", + englishName: "Kannada (India)", + nativeName: "ಕನ್ನಡ (ಭಾರತ)", + language: "kn", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ರೂ" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ಭಾನುವಾರ","ಸೋಮವಾರ","ಮಂಗಳವಾರ","ಬುಧವಾರ","ಗುರುವಾರ","ಶುಕ್ರವಾರ","ಶನಿವಾರ"], + namesAbbr: ["ಭಾನು.","ಸೋಮ.","ಮಂಗಳ.","ಬುಧ.","ಗುರು.","ಶುಕ್ರ.","ಶನಿ."], + namesShort: ["ರ","ಸ","ಮ","ಬ","ಗ","ಶ","ಶ"] + }, + months: { + names: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""], + namesAbbr: ["ಜನವರಿ","ಫೆಬ್ರವರಿ","ಮಾರ್ಚ್","ಎಪ್ರಿಲ್","ಮೇ","ಜೂನ್","ಜುಲೈ","ಆಗಸ್ಟ್","ಸೆಪ್ಟಂಬರ್","ಅಕ್ಟೋಬರ್","ನವೆಂಬರ್","ಡಿಸೆಂಬರ್",""] + }, + AM: ["ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"], + PM: ["ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ","ಅಪರಾಹ್ನ"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "ml-IN", "default", { + name: "ml-IN", + englishName: "Malayalam (India)", + nativeName: "മലയാളം (ഭാരതം)", + language: "ml", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "ക" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["ഞായറാഴ്ച","തിങ്കളാഴ്ച","ചൊവ്വാഴ്ച","ബുധനാഴ്ച","വ്യാഴാഴ്ച","വെള്ളിയാഴ്ച","ശനിയാഴ്ച"], + namesAbbr: ["ഞായർ.","തിങ്കൾ.","ചൊവ്വ.","ബുധൻ.","വ്യാഴം.","വെള്ളി.","ശനി."], + namesShort: ["ഞ","ത","ച","ബ","വ","വെ","ശ"] + }, + months: { + names: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""], + namesAbbr: ["ജനുവരി","ഫെബ്റുവരി","മാറ്ച്ച്","ഏപ്റില്","മെയ്","ജൂണ്","ജൂലൈ","ഓഗസ്ററ്","സെപ്ററംബറ്","ഒക്ടോബറ്","നവംബറ്","ഡിസംബറ്",""] + }, + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "as-IN", "default", { + name: "as-IN", + englishName: "Assamese (India)", + nativeName: "অসমীয়া (ভাৰত)", + language: "as", + numberFormat: { + groupSizes: [3,2], + NaN: "nan", + negativeInfinity: "-infinity", + positiveInfinity: "infinity", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","n$"], + groupSizes: [3,2], + symbol: "ট" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["সোমবাৰ","মঙ্গলবাৰ","বুধবাৰ","বৃহস্পতিবাৰ","শুক্রবাৰ","শনিবাৰ","ৰবিবাৰ"], + namesAbbr: ["সোম.","মঙ্গল.","বুধ.","বৃহ.","শুক্র.","শনি.","ৰবি."], + namesShort: ["সো","ম","বু","বৃ","শু","শ","র"] + }, + months: { + names: ["জানুৱাৰী","ফেব্রুৱাৰী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টেম্বর","অক্টোবর","নবেম্বর","ডিচেম্বর",""], + namesAbbr: ["জানু","ফেব্রু","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগষ্ট","চেপ্টে","অক্টো","নবে","ডিচে",""] + }, + AM: ["ৰাতিপু","ৰাতিপু","ৰাতিপু"], + PM: ["আবেলি","আবেলি","আবেলি"], + eras: [{"name":"খ্রীষ্টাব্দ","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "yyyy,MMMM dd, dddd", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy,MMMM dd, dddd tt h:mm", + F: "yyyy,MMMM dd, dddd tt h:mm:ss", + M: "dd MMMM", + Y: "MMMM,yy" + } + } + } +}); + +Globalize.addCultureInfo( "mr-IN", "default", { + name: "mr-IN", + englishName: "Marathi (India)", + nativeName: "मराठी (भारत)", + language: "mr", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "sa-IN", "default", { + name: "sa-IN", + englishName: "Sanskrit (India)", + nativeName: "संस्कृत (भारतम्)", + language: "sa", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "रु" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"], + namesAbbr: ["रविवासरः","सोमवासरः","मङ्गलवासरः","बुधवासरः","गुरुवासरः","शुक्रवासरः","शनिवासरः"], + namesShort: ["र","स","म","ब","ग","श","श"] + }, + months: { + names: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""], + namesAbbr: ["जनवरी","फरवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्तूबर","नवम्बर","दिसम्बर",""] + }, + AM: ["पूर्वाह्न","पूर्वाह्न","पूर्वाह्न"], + PM: ["अपराह्न","अपराह्न","अपराह्न"], + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM yyyy dddd", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy dddd HH:mm", + F: "dd MMMM yyyy dddd HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "mn-MN", "default", { + name: "mn-MN", + englishName: "Mongolian (Cyrillic, Mongolia)", + nativeName: "Монгол хэл (Монгол улс)", + language: "mn-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₮" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"], + namesAbbr: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"], + namesShort: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"] + }, + months: { + names: ["1 дүгээр сар","2 дугаар сар","3 дугаар сар","4 дүгээр сар","5 дугаар сар","6 дугаар сар","7 дугаар сар","8 дугаар сар","9 дүгээр сар","10 дугаар сар","11 дүгээр сар","12 дугаар сар",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + monthsGenitive: { + names: ["1 дүгээр сарын","2 дугаар сарын","3 дугаар сарын","4 дүгээр сарын","5 дугаар сарын","6 дугаар сарын","7 дугаар сарын","8 дугаар сарын","9 дүгээр сарын","10 дугаар сарын","11 дүгээр сарын","12 дугаар сарын",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + AM: null, + PM: null, + patterns: { + d: "yy.MM.dd", + D: "yyyy 'оны' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'оны' MMMM d H:mm", + F: "yyyy 'оны' MMMM d H:mm:ss", + M: "d MMMM", + Y: "yyyy 'он' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "bo-CN", "default", { + name: "bo-CN", + englishName: "Tibetan (PRC)", + nativeName: "བོད་ཡིག (ཀྲུང་ཧྭ་མི་དམངས་སྤྱི་མཐུན་རྒྱལ་ཁབ།)", + language: "bo", + numberFormat: { + groupSizes: [3,0], + NaN: "ཨང་ཀི་མིན་པ།", + negativeInfinity: "མོ་གྲངས་ཚད་མེད་ཆུང་བ།", + positiveInfinity: "ཕོ་གྲངས་ཚད་མེད་ཆེ་བ།", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + groupSizes: [3,0], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["གཟའ་ཉི་མ།","གཟའ་ཟླ་བ།","གཟའ་མིག་དམར།","གཟའ་ལྷག་པ།","གཟའ་ཕུར་བུ།","གཟའ་པ་སངས།","གཟའ་སྤེན་པ།"], + namesAbbr: ["ཉི་མ།","ཟླ་བ།","མིག་དམར།","ལྷག་པ།","ཕུར་བུ།","པ་སངས།","སྤེན་པ།"], + namesShort: ["༧","༡","༢","༣","༤","༥","༦"] + }, + months: { + names: ["སྤྱི་ཟླ་དང་པོ།","སྤྱི་ཟླ་གཉིས་པ།","སྤྱི་ཟླ་གསུམ་པ།","སྤྱི་ཟླ་བཞི་པ།","སྤྱི་ཟླ་ལྔ་པ།","སྤྱི་ཟླ་དྲུག་པ།","སྤྱི་ཟླ་བདུན་པ།","སྤྱི་ཟླ་བརྒྱད་པ།","སྤྱི་ཟླ་དགུ་པ།","སྤྱི་ཟླ་བཅུ་པོ།","སྤྱི་ཟླ་བཅུ་གཅིག་པ།","སྤྱི་ཟླ་བཅུ་གཉིས་པ།",""], + namesAbbr: ["ཟླ་ ༡","ཟླ་ ༢","ཟླ་ ༣","ཟླ་ ༤","ཟླ་ ༥","ཟླ་ ༦","ཟླ་ ༧","ཟླ་ ༨","ཟླ་ ༩","ཟླ་ ༡༠","ཟླ་ ༡༡","ཟླ་ ༡༢",""] + }, + AM: ["སྔ་དྲོ","སྔ་དྲོ","སྔ་དྲོ"], + PM: ["ཕྱི་དྲོ","ཕྱི་དྲོ","ཕྱི་དྲོ"], + eras: [{"name":"སྤྱི་ལོ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ལོའི་ཟླ' M'ཚེས' d", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm", + F: "yyyy'ལོའི་ཟླ' M'ཚེས' d HH:mm:ss", + M: "'ཟླ་' M'ཚེས'd", + Y: "yyyy.M" + } + } + } +}); + +Globalize.addCultureInfo( "cy-GB", "default", { + name: "cy-GB", + englishName: "Welsh (United Kingdom)", + nativeName: "Cymraeg (y Deyrnas Unedig)", + language: "cy", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"], + namesAbbr: ["Sul","Llun","Maw","Mer","Iau","Gwe","Sad"], + namesShort: ["Su","Ll","Ma","Me","Ia","Gw","Sa"] + }, + months: { + names: ["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr",""], + namesAbbr: ["Ion","Chwe","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rhag",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "km-KH", "default", { + name: "km-KH", + englishName: "Khmer (Cambodia)", + nativeName: "ខ្មែរ (កម្ពុជា)", + language: "km", + numberFormat: { + pattern: ["- n"], + groupSizes: [3,0], + NaN: "NAN", + negativeInfinity: "-- អនន្ត", + positiveInfinity: "អនន្ត", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["-n$","n$"], + symbol: "៛" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["ថ្ងៃអាទិត្យ","ថ្ងៃច័ន្ទ","ថ្ងៃអង្គារ","ថ្ងៃពុធ","ថ្ងៃព្រហស្បតិ៍","ថ្ងៃសុក្រ","ថ្ងៃសៅរ៍"], + namesAbbr: ["អាទិ.","ច.","អ.","ពុ","ព្រហ.","សុ.","ស."], + namesShort: ["អា","ច","អ","ពុ","ព្","សុ","ស"] + }, + months: { + names: ["មករា","កុម្ភៈ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ",""], + namesAbbr: ["១","២","៣","៤","៥","៦","៧","៨","៩","១០","១១","១២",""] + }, + AM: ["ព្រឹក","ព្រឹក","ព្រឹក"], + PM: ["ល្ងាច","ល្ងាច","ល្ងាច"], + eras: [{"name":"មុនគ.ស.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "d MMMM yyyy H:mm tt", + F: "d MMMM yyyy HH:mm:ss", + M: "'ថ្ងៃទី' dd 'ខែ' MM", + Y: "'ខែ' MM 'ឆ្នាំ' yyyy" + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["أ","ا","ث","أ","خ","ج","س"] + }, + months: { + names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ព្រឹក","ព្រឹក","ព្រឹក"], + PM: ["ល្ងាច","ល្ងាច","ល្ងាច"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm tt", + F: "dddd, MMMM dd, yyyy HH:mm:ss" + } + } + } +}); + +Globalize.addCultureInfo( "lo-LA", "default", { + name: "lo-LA", + englishName: "Lao (Lao P.D.R.)", + nativeName: "ລາວ (ສ.ປ.ປ. ລາວ)", + language: "lo", + numberFormat: { + pattern: ["(n)"], + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + }, + currency: { + pattern: ["(n$)","n$"], + groupSizes: [3,0], + symbol: "₭" + } + }, + calendars: { + standard: { + days: { + names: ["ວັນອາທິດ","ວັນຈັນ","ວັນອັງຄານ","ວັນພຸດ","ວັນພະຫັດ","ວັນສຸກ","ວັນເສົາ"], + namesAbbr: ["ອາທິດ","ຈັນ","ອັງຄານ","ພຸດ","ພະຫັດ","ສຸກ","ເສົາ"], + namesShort: ["ອ","ຈ","ອ","ພ","ພ","ສ","ເ"] + }, + months: { + names: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""], + namesAbbr: ["ມັງກອນ","ກຸມພາ","ມີນາ","ເມສາ","ພຶດສະພາ","ມິຖຸນາ","ກໍລະກົດ","ສິງຫາ","ກັນຍາ","ຕຸລາ","ພະຈິກ","ທັນວາ",""] + }, + AM: ["ເຊົ້າ","ເຊົ້າ","ເຊົ້າ"], + PM: ["ແລງ","ແລງ","ແລງ"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm tt", + T: "HH:mm:ss", + f: "dd MMMM yyyy H:mm tt", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "gl-ES", "default", { + name: "gl-ES", + englishName: "Galician (Galician)", + nativeName: "galego (galego)", + language: "gl", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","luns","martes","mércores","xoves","venres","sábado"], + namesAbbr: ["dom","luns","mar","mér","xov","ven","sáb"], + namesShort: ["do","lu","ma","mé","xo","ve","sá"] + }, + months: { + names: ["xaneiro","febreiro","marzo","abril","maio","xuño","xullo","agosto","setembro","outubro","novembro","decembro",""], + namesAbbr: ["xan","feb","mar","abr","maio","xuñ","xull","ago","set","out","nov","dec",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "kok-IN", "default", { + name: "kok-IN", + englishName: "Konkani (India)", + nativeName: "कोंकणी (भारत)", + language: "kok", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + 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", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "syr-SY", "default", { + name: "syr-SY", + englishName: "Syriac (Syria)", + nativeName: "ܣܘܪܝܝܐ (سوريا)", + language: "syr", + isRTL: true, + numberFormat: { + currency: { + pattern: ["$n-","$ n"], + 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" + } + } + } +}); + +Globalize.addCultureInfo( "si-LK", "default", { + name: "si-LK", + englishName: "Sinhala (Sri Lanka)", + nativeName: "සිංහල (ශ්රී ලංකා)", + language: "si", + numberFormat: { + groupSizes: [3,2], + negativeInfinity: "-අනන්තය", + positiveInfinity: "අනන්තය", + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["($ n)","$ n"], + symbol: "රු." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"], + namesAbbr: ["ඉරිදා","සඳුදා","කුජදා","බුදදා","ගුරුදා","කිවිදා","ශනිදා"], + namesShort: ["ඉ","ස","අ","බ","බ්ර","සි","සෙ"] + }, + months: { + names: ["ජනවාරි","පෙබරවාරි","මාර්තු","අප්රේල්","මැයි","ජූනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්",""], + namesAbbr: ["ජන.","පෙබ.","මාර්තු.","අප්රේල්.","මැයි.","ජූනි.","ජූලි.","අගෝ.","සැප්.","ඔක්.","නොවැ.","දෙසැ.",""] + }, + AM: ["පෙ.ව.","පෙ.ව.","පෙ.ව."], + PM: ["ප.ව.","ප.ව.","ප.ව."], + eras: [{"name":"ක්රි.ව.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "yyyy MMMM' මස 'dd' වැනිදා 'dddd", + f: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm tt", + F: "yyyy MMMM' මස 'dd' වැනිදා 'dddd h:mm:ss tt", + Y: "yyyy MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "iu-Cans-CA", "default", { + name: "iu-Cans-CA", + englishName: "Inuktitut (Syllabics, Canada)", + nativeName: "ᐃᓄᒃᑎᑐᑦ (ᑲᓇᑕᒥ)", + language: "iu-Cans", + numberFormat: { + groupSizes: [3,0], + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["ᓈᑦᑏᖑᔭ","ᓇᒡᒐᔾᔭᐅ","ᐊᐃᑉᐱᖅ","ᐱᖓᑦᓯᖅ","ᓯᑕᒻᒥᖅ","ᑕᓪᓕᕐᒥᖅ","ᓯᕙᑖᕐᕕᒃ"], + namesAbbr: ["ᓈᑦᑏ","ᓇᒡᒐ","ᐊᐃᑉᐱ","ᐱᖓᑦᓯ","ᓯᑕ","ᑕᓪᓕ","ᓯᕙᑖᕐᕕᒃ"], + namesShort: ["ᓈ","ᓇ","ᐊ","ᐱ","ᓯ","ᑕ","ᓯ"] + }, + months: { + names: ["ᔮᓐᓄᐊᕆ","ᕖᕝᕗᐊᕆ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌᓯ","ᓯᑎᐱᕆ","ᐅᑐᐱᕆ","ᓄᕕᐱᕆ","ᑎᓯᐱᕆ",""], + namesAbbr: ["ᔮᓐᓄ","ᕖᕝᕗ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌ","ᓯᑎᐱ","ᐅᑐᐱ","ᓄᕕᐱ","ᑎᓯᐱ",""] + }, + patterns: { + d: "d/M/yyyy", + D: "dddd,MMMM dd,yyyy", + f: "dddd,MMMM dd,yyyy h:mm tt", + F: "dddd,MMMM dd,yyyy h:mm:ss tt", + Y: "MMMM,yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "am-ET", "default", { + name: "am-ET", + englishName: "Amharic (Ethiopia)", + nativeName: "አማርኛ (ኢትዮጵያ)", + language: "am", + numberFormat: { + decimals: 1, + groupSizes: [3,0], + NaN: "NAN", + percent: { + pattern: ["-n%","n%"], + decimals: 1, + groupSizes: [3,0] + }, + currency: { + pattern: ["-$n","$n"], + groupSizes: [3,0], + symbol: "ETB" + } + }, + calendars: { + standard: { + days: { + names: ["እሑድ","ሰኞ","ማክሰኞ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"], + namesAbbr: ["እሑድ","ሰኞ","ማክሰ","ረቡዕ","ሐሙስ","ዓርብ","ቅዳሜ"], + namesShort: ["እ","ሰ","ማ","ረ","ሐ","ዓ","ቅ"] + }, + months: { + names: ["ጃንዩወሪ","ፌብሩወሪ","ማርች","ኤፕረል","ሜይ","ጁን","ጁላይ","ኦገስት","ሴፕቴምበር","ኦክተውበር","ኖቬምበር","ዲሴምበር",""], + namesAbbr: ["ጃንዩ","ፌብሩ","ማርች","ኤፕረ","ሜይ","ጁን","ጁላይ","ኦገስ","ሴፕቴ","ኦክተ","ኖቬም","ዲሴም",""] + }, + AM: ["ጡዋት","ጡዋት","ጡዋት"], + PM: ["ከሰዓት","ከሰዓት","ከሰዓት"], + eras: [{"name":"ዓመተ ምሕረት","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "dddd '፣' MMMM d 'ቀን' yyyy", + f: "dddd '፣' MMMM d 'ቀን' yyyy h:mm tt", + F: "dddd '፣' MMMM d 'ቀን' yyyy h:mm:ss tt", + M: "MMMM d ቀን", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ne-NP", "default", { + name: "ne-NP", + englishName: "Nepali (Nepal)", + nativeName: "नेपाली (नेपाल)", + language: "ne", + numberFormat: { + groupSizes: [3,2], + NaN: "nan", + negativeInfinity: "-infinity", + positiveInfinity: "infinity", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,2] + }, + currency: { + pattern: ["-$n","$n"], + symbol: "रु" + } + }, + calendars: { + standard: { + days: { + names: ["आइतवार","सोमवार","मङ्गलवार","बुधवार","बिहीवार","शुक्रवार","शनिवार"], + namesAbbr: ["आइत","सोम","मङ्गल","बुध","बिही","शुक्र","शनि"], + namesShort: ["आ","सो","म","बु","बि","शु","श"] + }, + months: { + names: ["जनवरी","फेब्रुअरी","मार्च","अप्रिल","मे","जून","जुलाई","अगस्त","सेप्टेम्बर","अक्टोबर","नोभेम्बर","डिसेम्बर",""], + namesAbbr: ["जन","फेब","मार्च","अप्रिल","मे","जून","जुलाई","अग","सेप्ट","अक्ट","नोभ","डिस",""] + }, + AM: ["विहानी","विहानी","विहानी"], + PM: ["बेलुकी","बेलुकी","बेलुकी"], + eras: [{"name":"a.d.","start":null,"offset":0}], + patterns: { + Y: "MMMM,yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fy-NL", "default", { + name: "fy-NL", + englishName: "Frisian (Netherlands)", + nativeName: "Frysk (Nederlân)", + language: "fy", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["Snein","Moandei","Tiisdei","Woansdei","Tongersdei","Freed","Sneon"], + namesAbbr: ["Sn","Mo","Ti","Wo","To","Fr","Sn"], + namesShort: ["S","M","T","W","T","F","S"] + }, + months: { + names: ["jannewaris","febrewaris","maart","april","maaie","juny","july","augustus","septimber","oktober","novimber","desimber",""], + namesAbbr: ["jann","febr","mrt","apr","maaie","jun","jul","aug","sept","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "d-M-yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ps-AF", "default", { + name: "ps-AF", + englishName: "Pashto (Afghanistan)", + nativeName: "پښتو (افغانستان)", + language: "ps", + isRTL: true, + numberFormat: { + pattern: ["n-"], + ",": "،", + ".": ",", + NaN: "غ ع", + negativeInfinity: "-∞", + positiveInfinity: "∞", + percent: { + pattern: ["%n-","%n"], + ",": "،", + ".": "," + }, + currency: { + pattern: ["$n-","$n"], + ",": "٬", + ".": "٫", + symbol: "؋" + } + }, + calendars: { + standard: { + 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", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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_Localized: { + firstDay: 6, + days: { + names: ["یکشنبه","دوشنبه","سهشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["یکشنبه","دوشنبه","سهشنبه","چارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښزمرى","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""], + namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګا ښ","زمرى","وږى","تله","لړم","لنڈ ۍ","مرغومى",""] + }, + AM: ["غ.م","غ.م","غ.م"], + PM: ["غ.و","غ.و","غ.و"], + eras: [{"name":"ل.ه","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy, dd, MMMM, dddd", + f: "yyyy, dd, MMMM, dddd h:mm tt", + F: "yyyy, dd, MMMM, dddd h:mm:ss tt", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fil-PH", "default", { + name: "fil-PH", + englishName: "Filipino (Philippines)", + nativeName: "Filipino (Pilipinas)", + language: "fil", + numberFormat: { + currency: { + symbol: "PhP" + } + }, + calendars: { + standard: { + days: { + names: ["Linggo","Lunes","Martes","Mierkoles","Huebes","Biernes","Sabado"], + namesAbbr: ["Lin","Lun","Mar","Mier","Hueb","Bier","Saba"], + namesShort: ["L","L","M","M","H","B","S"] + }, + months: { + names: ["Enero","Pebrero","Marso","Abril","Mayo","Hunyo","Hulyo","Agosto","Septyembre","Oktubre","Nobyembre","Disyembre",""], + namesAbbr: ["En","Peb","Mar","Abr","Mayo","Hun","Hul","Agos","Sept","Okt","Nob","Dis",""] + }, + eras: [{"name":"Anno Domini","start":null,"offset":0}] + } + } +}); + +Globalize.addCultureInfo( "dv-MV", "default", { + name: "dv-MV", + englishName: "Divehi (Maldives)", + nativeName: "ދިވެހިބަސް (ދިވެހި ރާއްޖެ)", + language: "dv", + isRTL: true, + numberFormat: { + currency: { + pattern: ["n $-","n $"], + symbol: "ރ." + } + }, + calendars: { + standard: { + name: "Hijri", + 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", + T: "HH:mm:ss", + f: "dd/MM/yyyy HH:mm", + F: "dd/MM/yyyy HH:mm:ss", + 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_Localized: { + days: { + names: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"], + namesAbbr: ["އާދީއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"], + namesShort: ["އާ","ހޯ","އަ","ބު","ބު","ހު","ހޮ"] + }, + months: { + names: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""], + namesAbbr: ["ޖަނަވަރީ","ފެބްރުއަރީ","މާޗް","އޭޕްރިލް","މެއި","ޖޫން","ޖުލައި","އޯގަސްޓް","ސެޕްޓެމްބަރ","އޮކްޓޯބަރ","ނޮވެމްބަރ","ޑިސެމްބަރ",""] + }, + AM: ["މކ","މކ","މކ"], + PM: ["މފ","މފ","މފ"], + eras: [{"name":"މީލާދީ","start":null,"offset":0}], + patterns: { + d: "dd/MM/yy", + D: "ddd, yyyy MMMM dd", + t: "HH:mm", + T: "HH:mm:ss", + f: "ddd, yyyy MMMM dd HH:mm", + F: "ddd, yyyy MMMM dd HH:mm:ss", + Y: "yyyy, MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "ha-Latn-NG", "default", { + name: "ha-Latn-NG", + englishName: "Hausa (Latin, Nigeria)", + nativeName: "Hausa (Nigeria)", + language: "ha-Latn", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Lahadi","Litinin","Talata","Laraba","Alhamis","Juma'a","Asabar"], + namesAbbr: ["Lah","Lit","Tal","Lar","Alh","Jum","Asa"], + namesShort: ["L","L","T","L","A","J","A"] + }, + months: { + names: ["Januwaru","Febreru","Maris","Afrilu","Mayu","Yuni","Yuli","Agusta","Satumba","Oktocba","Nuwamba","Disamba",""], + namesAbbr: ["Jan","Feb","Mar","Afr","May","Yun","Yul","Agu","Sat","Okt","Nuw","Dis",""] + }, + AM: ["Safe","safe","SAFE"], + PM: ["Yamma","yamma","YAMMA"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "yo-NG", "default", { + name: "yo-NG", + englishName: "Yoruba (Nigeria)", + nativeName: "Yoruba (Nigeria)", + language: "yo", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"], + namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"], + namesShort: ["A","A","I","O","O","E","A"] + }, + months: { + names: ["Osu kinni","Osu keji","Osu keta","Osu kerin","Osu karun","Osu kefa","Osu keje","Osu kejo","Osu kesan","Osu kewa","Osu kokanla","Osu keresi",""], + namesAbbr: ["kin.","kej.","ket.","ker.","kar.","kef.","kej.","kej.","kes.","kew.","kok.","ker.",""] + }, + AM: ["Owuro","owuro","OWURO"], + PM: ["Ale","ale","ALE"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "quz-BO", "default", { + name: "quz-BO", + englishName: "Quechua (Bolivia)", + nativeName: "runasimi (Qullasuyu)", + language: "quz", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "$b" + } + }, + calendars: { + standard: { + days: { + names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"], + namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"], + namesShort: ["d","k","a","m","h","b","k"] + }, + months: { + names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""], + namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "nso-ZA", "default", { + name: "nso-ZA", + englishName: "Sesotho sa Leboa (South Africa)", + nativeName: "Sesotho sa Leboa (Afrika Borwa)", + language: "nso", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$-n","$ n"], + symbol: "R" + } + }, + calendars: { + standard: { + days: { + names: ["Lamorena","Mošupologo","Labobedi","Laboraro","Labone","Labohlano","Mokibelo"], + namesAbbr: ["Lam","Moš","Lbb","Lbr","Lbn","Lbh","Mok"], + namesShort: ["L","M","L","L","L","L","M"] + }, + months: { + names: ["Pherekgong","Hlakola","Mopitlo","Moranang","Mosegamanye","Ngoatobošego","Phuphu","Phato","Lewedi","Diphalana","Dibatsela","Manthole",""], + namesAbbr: ["Pher","Hlak","Mop","Mor","Mos","Ngwat","Phup","Phat","Lew","Dip","Dib","Man",""] + }, + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ba-RU", "default", { + name: "ba-RU", + englishName: "Bashkir (Russia)", + nativeName: "Башҡорт (Россия)", + language: "ba", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ",", + symbol: "һ." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Йәкшәмбе","Дүшәмбе","Шишәмбе","Шаршамбы","Кесаҙна","Йома","Шәмбе"], + namesAbbr: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"], + namesShort: ["Йш","Дш","Шш","Шр","Кс","Йм","Шб"] + }, + months: { + names: ["ғинуар","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь",""], + namesAbbr: ["ғин","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy 'й'", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy 'й' H:mm", + F: "d MMMM yyyy 'й' H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "lb-LU", "default", { + name: "lb-LU", + englishName: "Luxembourgish (Luxembourg)", + nativeName: "Lëtzebuergesch (Luxembourg)", + language: "lb", + numberFormat: { + ",": " ", + ".": ",", + NaN: "n. num.", + negativeInfinity: "-onendlech", + positiveInfinity: "+onendlech", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"], + namesAbbr: ["Son","Méi","Dën","Mët","Don","Fre","Sam"], + namesShort: ["So","Mé","Dë","Më","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "kl-GL", "default", { + name: "kl-GL", + englishName: "Greenlandic (Greenland)", + nativeName: "kalaallisut (Kalaallit Nunaat)", + language: "kl", + numberFormat: { + ",": ".", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + groupSizes: [3,0], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,0], + ",": ".", + ".": ",", + symbol: "kr." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sapaat","ataasinngorneq","marlunngorneq","pingasunngorneq","sisamanngorneq","tallimanngorneq","arfininngorneq"], + namesAbbr: ["sap","ata","mar","ping","sis","tal","arf"], + namesShort: ["sa","at","ma","pi","si","ta","ar"] + }, + months: { + names: ["januari","februari","martsi","apriili","maaji","juni","juli","aggusti","septembari","oktobari","novembari","decembari",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ig-NG", "default", { + name: "ig-NG", + englishName: "Igbo (Nigeria)", + nativeName: "Igbo (Nigeria)", + language: "ig", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Aiku","Aje","Isegun","Ojo'ru","Ojo'bo","Eti","Abameta"], + namesAbbr: ["Aik","Aje","Ise","Ojo","Ojo","Eti","Aba"], + namesShort: ["A","A","I","O","O","E","A"] + }, + months: { + names: ["Onwa mbu","Onwa ibua","Onwa ato","Onwa ano","Onwa ise","Onwa isi","Onwa asa","Onwa asato","Onwa itolu","Onwa iri","Onwa iri n'ofu","Onwa iri n'ibua",""], + namesAbbr: ["mbu.","ibu.","ato.","ano.","ise","isi","asa","asa.","ito.","iri.","n'of.","n'ib.",""] + }, + AM: ["Ututu","ututu","UTUTU"], + PM: ["Efifie","efifie","EFIFIE"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ii-CN", "default", { + name: "ii-CN", + englishName: "Yi (PRC)", + nativeName: "ꆈꌠꁱꂷ (ꍏꉸꏓꂱꇭꉼꇩ)", + language: "ii", + numberFormat: { + groupSizes: [3,0], + NaN: "ꌗꂷꀋꉬ", + negativeInfinity: "ꀄꊭꌐꀋꉆ", + positiveInfinity: "ꈤꇁꑖꀋꉬ", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["ꑭꆏꑍ","ꆏꊂ꒔","ꆏꊂꑍ","ꆏꊂꌕ","ꆏꊂꇖ","ꆏꊂꉬ","ꆏꊂꃘ"], + namesAbbr: ["ꑭꆏ","ꆏ꒔","ꆏꑍ","ꆏꌕ","ꆏꇖ","ꆏꉬ","ꆏꃘ"], + namesShort: ["ꆏ","꒔","ꑍ","ꌕ","ꇖ","ꉬ","ꃘ"] + }, + months: { + names: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""], + namesAbbr: ["ꋍꆪ","ꑍꆪ","ꌕꆪ","ꇖꆪ","ꉬꆪ","ꃘꆪ","ꏃꆪ","ꉆꆪ","ꈬꆪ","ꊰꆪ","ꊯꊪꆪ","ꊰꑋꆪ",""] + }, + AM: ["ꂵꆪꈌꈐ","ꂵꆪꈌꈐ","ꂵꆪꈌꈐ"], + PM: ["ꂵꆪꈌꉈ","ꂵꆪꈌꉈ","ꂵꆪꈌꉈ"], + eras: [{"name":"ꇬꑼ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ꈎ' M'ꆪ' d'ꑍ'", + t: "tt h:mm", + T: "H:mm:ss", + f: "yyyy'ꈎ' M'ꆪ' d'ꑍ' tt h:mm", + F: "yyyy'ꈎ' M'ꆪ' d'ꑍ' H:mm:ss", + M: "M'ꆪ' d'ꑍ'", + Y: "yyyy'ꈎ' M'ꆪ'" + } + } + } +}); + +Globalize.addCultureInfo( "arn-CL", "default", { + name: "arn-CL", + englishName: "Mapudungun (Chile)", + nativeName: "Mapudungun (Chile)", + language: "arn", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "moh-CA", "default", { + name: "moh-CA", + englishName: "Mohawk (Mohawk)", + nativeName: "Kanien'kéha", + language: "moh", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Awentatokentì:ke","Awentataón'ke","Ratironhia'kehronòn:ke","Soséhne","Okaristiiáhne","Ronwaia'tanentaktonhne","Entákta"], + namesShort: ["S","M","T","W","T","F","S"] + }, + months: { + names: ["Tsothohrkó:Wa","Enniska","Enniskó:Wa","Onerahtókha","Onerahtohkó:Wa","Ohiari:Ha","Ohiarihkó:Wa","Seskéha","Seskehkó:Wa","Kenténha","Kentenhkó:Wa","Tsothóhrha",""] + } + } + } +}); + +Globalize.addCultureInfo( "br-FR", "default", { + name: "br-FR", + englishName: "Breton (France)", + nativeName: "brezhoneg (Frañs)", + language: "br", + numberFormat: { + ",": " ", + ".": ",", + NaN: "NkN", + negativeInfinity: "-Anfin", + positiveInfinity: "+Anfin", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"], + namesAbbr: ["Sul","Lun","Meu.","Mer.","Yaou","Gwe.","Sad."], + namesShort: ["Su","Lu","Mz","Mc","Ya","Gw","Sa"] + }, + months: { + names: ["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu",""], + namesAbbr: ["Gen.","C'hwe.","Meur.","Ebr.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kzu",""] + }, + AM: null, + PM: null, + eras: [{"name":"g. J.-K.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ug-CN", "default", { + name: "ug-CN", + englishName: "Uyghur (PRC)", + nativeName: "ئۇيغۇرچە (جۇڭخۇا خەلق جۇمھۇرىيىتى)", + language: "ug", + isRTL: true, + numberFormat: { + NaN: "سان ئەمەس", + negativeInfinity: "مەنپىي چەكسىزلىك", + positiveInfinity: "مۇسبەت چەكسىزلىك", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"], + namesAbbr: ["يە","دۈ","سە","چا","پە","جۈ","شە"], + namesShort: ["ي","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""], + namesAbbr: ["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي",""] + }, + AM: ["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"], + PM: ["چۈشتىن كېيىن","چۈشتىن كېيىن","چۈشتىن كېيىن"], + eras: [{"name":"مىلادى","start":null,"offset":0}], + patterns: { + d: "yyyy-M-d", + D: "yyyy-'يىلى' MMMM d-'كۈنى،'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm", + F: "yyyy-'يىلى' MMMM d-'كۈنى،' H:mm:ss", + M: "MMMM d'-كۈنى'", + Y: "yyyy-'يىلى' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "mi-NZ", "default", { + name: "mi-NZ", + englishName: "Maori (New Zealand)", + nativeName: "Reo Māori (Aotearoa)", + language: "mi", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Rātapu","Rāhina","Rātū","Rāapa","Rāpare","Rāmere","Rāhoroi"], + namesAbbr: ["Ta","Hi","Tū","Apa","Pa","Me","Ho"], + namesShort: ["Ta","Hi","Tū","Aa","Pa","Me","Ho"] + }, + months: { + names: ["Kohi-tātea","Hui-tanguru","Poutū-te-rangi","Paenga-whāwhā","Haratua","Pipiri","Hōngongoi","Here-turi-kōkā","Mahuru","Whiringa-ā-nuku","Whiringa-ā-rangi","Hakihea",""], + namesAbbr: ["Kohi","Hui","Pou","Pae","Hara","Pipi","Hōngo","Here","Mahu","Nuku","Rangi","Haki",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd MMMM, yyyy", + f: "dddd, dd MMMM, yyyy h:mm tt", + F: "dddd, dd MMMM, yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM, yy" + } + } + } +}); + +Globalize.addCultureInfo( "oc-FR", "default", { + name: "oc-FR", + englishName: "Occitan (France)", + nativeName: "Occitan (França)", + language: "oc", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numeric", + negativeInfinity: "-Infinit", + positiveInfinity: "+Infinit", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dimenge","diluns","dimars","dimècres","dijòus","divendres","dissabte"], + namesAbbr: ["dim.","lun.","mar.","mèc.","jòu.","ven.","sab."], + namesShort: ["di","lu","ma","mè","jò","ve","sa"] + }, + months: { + names: ["genier","febrier","març","abril","mai","junh","julh","agost","setembre","octobre","novembre","desembre",""], + namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""] + }, + monthsGenitive: { + names: ["de genier","de febrier","de març","d'abril","de mai","de junh","de julh","d'agost","de setembre","d'octobre","de novembre","de desembre",""], + namesAbbr: ["gen.","feb.","mar.","abr.","mai.","jun.","jul.","ag.","set.","oct.","nov.","des.",""] + }, + AM: null, + PM: null, + eras: [{"name":"après Jèsus-Crist","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd,' lo 'd MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd,' lo 'd MMMM' de 'yyyy HH:mm", + F: "dddd,' lo 'd MMMM' de 'yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "co-FR", "default", { + name: "co-FR", + englishName: "Corsican (France)", + nativeName: "Corsu (France)", + language: "co", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Mica numericu", + negativeInfinity: "-Infinitu", + positiveInfinity: "+Infinitu", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["dumenica","luni","marti","mercuri","ghjovi","venderi","sabbatu"], + namesAbbr: ["dum.","lun.","mar.","mer.","ghj.","ven.","sab."], + namesShort: ["du","lu","ma","me","gh","ve","sa"] + }, + months: { + names: ["ghjennaghju","ferraghju","marzu","aprile","maghju","ghjunghju","lugliu","aostu","settembre","ottobre","nuvembre","dicembre",""], + namesAbbr: ["ghje","ferr","marz","apri","magh","ghju","lugl","aost","sett","otto","nuve","dice",""] + }, + AM: null, + PM: null, + eras: [{"name":"dopu J-C","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "gsw-FR", "default", { + name: "gsw-FR", + englishName: "Alsatian (France)", + nativeName: "Elsässisch (Frànkrisch)", + language: "gsw", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Ohne Nummer", + negativeInfinity: "-Unendlich", + positiveInfinity: "+Unendlich", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Sundàà","Mondàà","Dienschdàà","Mittwuch","Dunnerschdàà","Fridàà","Sàmschdàà"], + namesAbbr: ["Su.","Mo.","Di.","Mi.","Du.","Fr.","Sà."], + namesShort: ["Su","Mo","Di","Mi","Du","Fr","Sà"] + }, + months: { + names: ["Jänner","Feverje","März","Àpril","Mai","Jüni","Jüli","Augscht","September","Oktower","Nowember","Dezember",""], + namesAbbr: ["Jän.","Fev.","März","Apr.","Mai","Jüni","Jüli","Aug.","Sept.","Okt.","Now.","Dez.",""] + }, + AM: null, + PM: null, + eras: [{"name":"Vor J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sah-RU", "default", { + name: "sah-RU", + englishName: "Yakut (Russia)", + nativeName: "саха (Россия)", + language: "sah", + numberFormat: { + ",": " ", + ".": ",", + NaN: "NAN", + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "с." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["баскыһыанньа","бэнидиэнньик","оптуорунньук","сэрэдэ","чэппиэр","бээтинсэ","субуота"], + namesAbbr: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"], + namesShort: ["Бс","Бн","Оп","Ср","Чп","Бт","Сб"] + }, + months: { + names: ["Тохсунньу","Олунньу","Кулун тутар","Муус устар","Ыам ыйа","Бэс ыйа","От ыйа","Атырдьах ыйа","Балаҕан ыйа","Алтынньы","Сэтинньи","Ахсынньы",""], + namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""] + }, + monthsGenitive: { + names: ["тохсунньу","олунньу","кулун тутар","муус устар","ыам ыйын","бэс ыйын","от ыйын","атырдьах ыйын","балаҕан ыйын","алтынньы","сэтинньи","ахсынньы",""], + namesAbbr: ["тхс","олн","кул","мст","ыам","бэс","отй","атр","блҕ","алт","стн","ахс",""] + }, + AM: null, + PM: null, + patterns: { + d: "MM.dd.yyyy", + D: "MMMM d yyyy 'с.'", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d yyyy 'с.' H:mm", + F: "MMMM d yyyy 'с.' H:mm:ss", + Y: "MMMM yyyy 'с.'" + } + } + } +}); + +Globalize.addCultureInfo( "qut-GT", "default", { + name: "qut-GT", + englishName: "K'iche (Guatemala)", + nativeName: "K'iche (Guatemala)", + language: "qut", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + symbol: "Q" + } + }, + calendars: { + standard: { + days: { + names: ["juq'ij","kaq'ij","oxq'ij","kajq'ij","joq'ij","waqq'ij","wuqq'ij"], + namesAbbr: ["juq","kaq","oxq","kajq","joq","waqq","wuqq"], + namesShort: ["ju","ka","ox","ka","jo","wa","wu"] + }, + months: { + names: ["nab'e ik'","ukab' ik'","rox ik'","ukaj ik'","uro' ik'","uwaq ik'","uwuq ik'","uwajxaq ik'","ub'elej ik'","ulaj ik'","ujulaj ik'","ukab'laj ik'",""], + namesAbbr: ["nab'e","ukab","rox","ukaj","uro","uwaq","uwuq","uwajxaq","ub'elej","ulaj","ujulaj","ukab'laj",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "rw-RW", "default", { + name: "rw-RW", + englishName: "Kinyarwanda (Rwanda)", + nativeName: "Kinyarwanda (Rwanda)", + language: "rw", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$-n","$ n"], + ",": " ", + ".": ",", + symbol: "RWF" + } + }, + calendars: { + standard: { + days: { + names: ["Ku wa mbere","Ku wa kabiri","Ku wa gatatu","Ku wa kane","Ku wa gatanu","Ku wa gatandatu","Ku cyumweru"], + namesAbbr: ["mbe.","kab.","gat.","kan.","gat.","gat.","cyu."], + namesShort: ["mb","ka","ga","ka","ga","ga","cy"] + }, + months: { + names: ["Mutarama","Gashyantare","Werurwe","Mata","Gicurasi","Kamena","Nyakanga","Kanama","Nzeli","Ukwakira","Ugushyingo","Ukuboza",""], + namesAbbr: ["Mut","Gas","Wer","Mat","Gic","Kam","Nya","Kan","Nze","Ukwa","Ugu","Uku",""] + }, + AM: ["saa moya z.m.","saa moya z.m.","SAA MOYA Z.M."], + PM: ["saa moya z.n.","saa moya z.n.","SAA MOYA Z.N."], + eras: [{"name":"AD","start":null,"offset":0}] + } + } +}); + +Globalize.addCultureInfo( "wo-SN", "default", { + name: "wo-SN", + englishName: "Wolof (Senegal)", + nativeName: "Wolof (Sénégal)", + language: "wo", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "XOF" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "prs-AF", "default", { + name: "prs-AF", + englishName: "Dari (Afghanistan)", + nativeName: "درى (افغانستان)", + language: "prs", + isRTL: true, + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "غ ع", + negativeInfinity: "-∞", + positiveInfinity: "∞", + percent: { + pattern: ["%n-","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$n-","$n"], + symbol: "؋" + } + }, + calendars: { + standard: { + name: "Hijri", + firstDay: 5, + 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", + f: "dd/MM/yyyy h:mm tt", + F: "dd/MM/yyyy h: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_Localized: { + firstDay: 5, + days: { + names: ["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesAbbr: ["یکشنبه","دوشنبه","سهشنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"], + namesShort: ["ی","د","س","چ","پ","ج","ش"] + }, + months: { + names: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""], + namesAbbr: ["سلواغه","كب","ورى","غويى","غبرګولى","چنګاښ","زمرى","وږى","تله","لړم","ليندۍ","مرغومى",""] + }, + AM: ["غ.م","غ.م","غ.م"], + PM: ["غ.و","غ.و","غ.و"], + eras: [{"name":"ل.ه","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy, dd, MMMM, dddd", + f: "yyyy, dd, MMMM, dddd h:mm tt", + F: "yyyy, dd, MMMM, dddd h:mm:ss tt", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "gd-GB", "default", { + name: "gd-GB", + englishName: "Scottish Gaelic (United Kingdom)", + nativeName: "Gàidhlig (An Rìoghachd Aonaichte)", + language: "gd", + numberFormat: { + negativeInfinity: "-Neo-chrìochnachd", + positiveInfinity: "Neo-chrìochnachd", + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"], + namesAbbr: ["Dòm","Lua","Mài","Cia","Ard","Hao","Sat"], + namesShort: ["D","L","M","C","A","H","S"] + }, + months: { + names: ["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd",""], + namesAbbr: ["Fao","Gea","Màr","Gib","Cèi","Ògm","Iuc","Lùn","Sul","Dàm","Sam","Dùb",""] + }, + AM: ["m","m","M"], + PM: ["f","f","F"], + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-IQ", "default", { + name: "ar-IQ", + englishName: "Arabic (Iraq)", + nativeName: "العربية (العراق)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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" + } + } + } +}); + +Globalize.addCultureInfo( "zh-CN", "default", { + name: "zh-CN", + englishName: "Chinese (Simplified, PRC)", + nativeName: "中文(中华人民共和国)", + language: "zh-CHS", + numberFormat: { + NaN: "非数字", + negativeInfinity: "负无穷大", + positiveInfinity: "正无穷大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "de-CH", "default", { + name: "de-CH", + englishName: "German (Switzerland)", + nativeName: "Deutsch (Schweiz)", + language: "de", + numberFormat: { + ",": "'", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "Fr." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "en-GB", "default", { + name: "en-GB", + englishName: "English (United Kingdom)", + nativeName: "English (United Kingdom)", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "£" + } + }, + calendars: { + standard: { + firstDay: 1, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-MX", "default", { + name: "es-MX", + englishName: "Spanish (Mexico)", + nativeName: "Español (México)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fr-BE", "default", { + name: "fr-BE", + englishName: "French (Belgium)", + nativeName: "français (Belgique)", + language: "fr", + numberFormat: { + ",": ".", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "d/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "it-CH", "default", { + name: "it-CH", + englishName: "Italian (Switzerland)", + nativeName: "italiano (Svizzera)", + language: "it", + numberFormat: { + ",": "'", + NaN: "Non un numero reale", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "fr." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"], + namesAbbr: ["dom","lun","mar","mer","gio","ven","sab"], + namesShort: ["do","lu","ma","me","gi","ve","sa"] + }, + months: { + names: ["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre",""], + namesAbbr: ["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "nl-BE", "default", { + name: "nl-BE", + englishName: "Dutch (Belgium)", + nativeName: "Nederlands (België)", + language: "nl", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NaN (Niet-een-getal)", + negativeInfinity: "-oneindig", + positiveInfinity: "oneindig", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"], + namesAbbr: ["zo","ma","di","wo","do","vr","za"], + namesShort: ["zo","ma","di","wo","do","vr","za"] + }, + months: { + names: ["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd d MMMM yyyy H:mm", + F: "dddd d MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "nn-NO", "default", { + name: "nn-NO", + englishName: "Norwegian, Nynorsk (Norway)", + nativeName: "norsk, nynorsk (Noreg)", + language: "nn", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","måndag","tysdag","onsdag","torsdag","fredag","laurdag"], + namesAbbr: ["sø","må","ty","on","to","fr","la"], + namesShort: ["sø","må","ty","on","to","fr","la"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "pt-PT", "default", { + name: "pt-PT", + englishName: "Portuguese (Portugal)", + nativeName: "português (Portugal)", + language: "pt", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NaN (Não é um número)", + negativeInfinity: "-Infinito", + positiveInfinity: "+Infinito", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"], + namesAbbr: ["dom","seg","ter","qua","qui","sex","sáb"], + namesShort: ["D","S","T","Q","Q","S","S"] + }, + months: { + names: ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro",""], + namesAbbr: ["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "dddd, d' de 'MMMM' de 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d' de 'MMMM' de 'yyyy HH:mm", + F: "dddd, d' de 'MMMM' de 'yyyy HH:mm:ss", + M: "d/M", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Latn-CS", "default", { + name: "sr-Latn-CS", + englishName: "Serbian (Latin, Serbia and Montenegro (Former))", + nativeName: "srpski (Srbija i Crna Gora (Prethodno))", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Din." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sv-FI", "default", { + name: "sv-FI", + englishName: "Swedish (Finland)", + nativeName: "svenska (Finland)", + language: "sv", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"], + namesAbbr: ["sö","må","ti","on","to","fr","lö"], + namesShort: ["sö","må","ti","on","to","fr","lö"] + }, + months: { + names: ["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "'den 'd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "'den 'd MMMM yyyy HH:mm", + F: "'den 'd MMMM yyyy HH:mm:ss", + M: "'den 'd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "az-Cyrl-AZ", "default", { + name: "az-Cyrl-AZ", + englishName: "Azeri (Cyrillic, Azerbaijan)", + nativeName: "Азәрбајҹан (Азәрбајҹан)", + language: "az-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "ман." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Базар","Базар ертәси","Чәршәнбә ахшамы","Чәршәнбә","Ҹүмә ахшамы","Ҹүмә","Шәнбә"], + namesAbbr: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"], + namesShort: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"] + }, + months: { + names: ["Јанвар","Феврал","Март","Апрел","Мај","Ијун","Ијул","Август","Сентјабр","Октјабр","Нојабр","Декабр",""], + namesAbbr: ["Јан","Фев","Мар","Апр","Мај","Ијун","Ијул","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["јанвар","феврал","март","апрел","мај","ијун","ијул","август","сентјабр","октјабр","нојабр","декабр",""], + namesAbbr: ["Јан","Фев","Мар","Апр","мая","ијун","ијул","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "dsb-DE", "default", { + name: "dsb-DE", + englishName: "Lower Sorbian (Germany)", + nativeName: "dolnoserbšćina (Nimska)", + language: "dsb", + numberFormat: { + ",": ".", + ".": ",", + NaN: "njedefinowane", + negativeInfinity: "-njekońcne", + positiveInfinity: "+njekońcne", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["njeźela","ponjeźele","wałtora","srjoda","stwortk","pětk","sobota"], + namesAbbr: ["nje","pon","wał","srj","stw","pět","sob"], + namesShort: ["n","p","w","s","s","p","s"] + }, + months: { + names: ["januar","februar","měrc","apryl","maj","junij","julij","awgust","september","oktober","nowember","december",""], + namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""] + }, + monthsGenitive: { + names: ["januara","februara","měrca","apryla","maja","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""], + namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"po Chr.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "dddd, 'dnja' d. MMMM yyyy", + t: "H.mm 'goź.'", + T: "H:mm:ss", + f: "dddd, 'dnja' d. MMMM yyyy H.mm 'goź.'", + F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "se-SE", "default", { + name: "se-SE", + englishName: "Sami, Northern (Sweden)", + nativeName: "davvisámegiella (Ruoŧŧa)", + language: "se", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["sotnabeaivi","mánnodat","disdat","gaskavahkku","duorastat","bearjadat","lávvardat"], + namesAbbr: ["sotn","mán","dis","gask","duor","bear","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + monthsGenitive: { + names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ga-IE", "default", { + name: "ga-IE", + englishName: "Irish (Ireland)", + nativeName: "Gaeilge (Éire)", + language: "ga", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Dé Domhnaigh","Dé Luain","Dé Máirt","Dé Céadaoin","Déardaoin","Dé hAoine","Dé Sathairn"], + namesAbbr: ["Domh","Luan","Máir","Céad","Déar","Aoi","Sath"], + namesShort: ["Do","Lu","Má","Cé","De","Ao","Sa"] + }, + months: { + names: ["Eanáir","Feabhra","Márta","Aibreán","Bealtaine","Meitheamh","Iúil","Lúnasa","Meán Fómhair","Deireadh Fómhair","Samhain","Nollaig",""], + namesAbbr: ["Ean","Feabh","Már","Aib","Bealt","Meith","Iúil","Lún","M.Fómh","D.Fómh","Samh","Noll",""] + }, + AM: ["r.n.","r.n.","R.N."], + PM: ["i.n.","i.n.","I.N."], + patterns: { + d: "dd/MM/yyyy", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ms-BN", "default", { + name: "ms-BN", + englishName: "Malay (Brunei Darussalam)", + nativeName: "Bahasa Melayu (Brunei Darussalam)", + language: "ms", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + decimals: 0, + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"], + namesAbbr: ["Ahad","Isnin","Sel","Rabu","Khamis","Jumaat","Sabtu"], + namesShort: ["A","I","S","R","K","J","S"] + }, + months: { + names: ["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember",""], + namesAbbr: ["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sept","Okt","Nov","Dis",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM yyyy H:mm", + F: "dd MMMM yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "uz-Cyrl-UZ", "default", { + name: "uz-Cyrl-UZ", + englishName: "Uzbek (Cyrillic, Uzbekistan)", + nativeName: "Ўзбек (Ўзбекистон)", + language: "uz-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "сўм" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["якшанба","душанба","сешанба","чоршанба","пайшанба","жума","шанба"], + namesAbbr: ["якш","дш","сш","чш","пш","ж","ш"], + namesShort: ["я","д","с","ч","п","ж","ш"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январ","феврал","март","апрел","май","июн","июл","август","сентябр","октябр","ноябр","декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","мая","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "yyyy 'йил' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'йил' d-MMMM HH:mm", + F: "yyyy 'йил' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "bn-BD", "default", { + name: "bn-BD", + englishName: "Bengali (Bangladesh)", + nativeName: "বাংলা (বাংলাদেশ)", + language: "bn", + numberFormat: { + groupSizes: [3,2], + percent: { + pattern: ["-%n","%n"], + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "৳" + } + }, + calendars: { + standard: { + "/": "-", + ":": ".", + firstDay: 1, + days: { + names: ["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"], + namesAbbr: ["রবি.","সোম.","মঙ্গল.","বুধ.","বৃহস্পতি.","শুক্র.","শনি."], + namesShort: ["র","স","ম","ব","ব","শ","শ"] + }, + months: { + names: ["জানুয়ারী","ফেব্রুয়ারী","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর",""], + namesAbbr: ["জানু.","ফেব্রু.","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগ.","সেপ্টে.","অক্টো.","নভে.","ডিসে.",""] + }, + AM: ["পুর্বাহ্ন","পুর্বাহ্ন","পুর্বাহ্ন"], + PM: ["অপরাহ্ন","অপরাহ্ন","অপরাহ্ন"], + patterns: { + d: "dd-MM-yy", + D: "dd MMMM yyyy", + t: "HH.mm", + T: "HH.mm.ss", + f: "dd MMMM yyyy HH.mm", + F: "dd MMMM yyyy HH.mm.ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "mn-Mong-CN", "default", { + name: "mn-Mong-CN", + englishName: "Mongolian (Traditional Mongolian, PRC)", + nativeName: "ᠮᠤᠨᠭᠭᠤᠯ ᠬᠡᠯᠡ (ᠪᠦᠭᠦᠳᠡ ᠨᠠᠢᠷᠠᠮᠳᠠᠬᠤ ᠳᠤᠮᠳᠠᠳᠤ ᠠᠷᠠᠳ ᠣᠯᠣᠰ)", + language: "mn-Mong", + numberFormat: { + groupSizes: [3,0], + NaN: "ᠲᠤᠭᠠᠠ ᠪᠤᠰᠤ", + negativeInfinity: "ᠰᠦᠬᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠡᠬᠡ", + positiveInfinity: "ᠡᠶ᠋ᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠠᠬᠡ", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + groupSizes: [3,0], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["ᠭᠠᠷᠠᠭ ᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"], + namesAbbr: ["ᠭᠠᠷᠠᠭ ᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"], + namesShort: ["ᠡ","ᠨᠢ","ᠬᠣ","ᠭᠤ","ᠳᠥ","ᠲᠠ","ᠵᠢ"] + }, + months: { + names: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ",""], + namesAbbr: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ",""] + }, + AM: null, + PM: null, + eras: [{"name":"ᠣᠨ ᠲᠣᠭᠠᠯᠠᠯ ᠤᠨ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm", + F: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm:ss", + M: "M'ᠰᠠᠷᠠ' d'ᠡᠳᠦᠷ'", + Y: "yyyy'ᠣᠨ' M'ᠰᠠᠷᠠ'" + } + } + } +}); + +Globalize.addCultureInfo( "iu-Latn-CA", "default", { + name: "iu-Latn-CA", + englishName: "Inuktitut (Latin, Canada)", + nativeName: "Inuktitut (Kanatami)", + language: "iu-Latn", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Naattiinguja","Naggajjau","Aippiq","Pingatsiq","Sitammiq","Tallirmiq","Sivataarvik"], + namesAbbr: ["Nat","Nag","Aip","Pi","Sit","Tal","Siv"], + namesShort: ["N","N","A","P","S","T","S"] + }, + months: { + names: ["Jaannuari","Viivvuari","Maatsi","Iipuri","Mai","Juuni","Julai","Aaggiisi","Sitipiri","Utupiri","Nuvipiri","Tisipiri",""], + namesAbbr: ["Jan","Viv","Mas","Ipu","Mai","Jun","Jul","Agi","Sii","Uut","Nuv","Tis",""] + }, + patterns: { + d: "d/MM/yyyy", + D: "ddd, MMMM dd,yyyy", + f: "ddd, MMMM dd,yyyy h:mm tt", + F: "ddd, MMMM dd,yyyy h:mm:ss tt" + } + } + } +}); + +Globalize.addCultureInfo( "tzm-Latn-DZ", "default", { + name: "tzm-Latn-DZ", + englishName: "Tamazight (Latin, Algeria)", + nativeName: "Tamazight (Djazaïr)", + language: "tzm-Latn", + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + symbol: "DZD" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 6, + days: { + names: ["Acer","Arime","Aram","Ahad","Amhadh","Sem","Sedh"], + namesAbbr: ["Ace","Ari","Ara","Aha","Amh","Sem","Sed"], + namesShort: ["Ac","Ar","Ar","Ah","Am","Se","Se"] + }, + months: { + names: ["Yenayer","Furar","Maghres","Yebrir","Mayu","Yunyu","Yulyu","Ghuct","Cutenber","Ktuber","Wambir","Dujanbir",""], + namesAbbr: ["Yen","Fur","Mag","Yeb","May","Yun","Yul","Ghu","Cut","Ktu","Wam","Duj",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "quz-EC", "default", { + name: "quz-EC", + englishName: "Quechua (Ecuador)", + nativeName: "runasimi (Ecuador)", + language: "quz", + numberFormat: { + ",": ".", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + days: { + names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"], + namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"], + namesShort: ["d","k","a","m","h","b","k"] + }, + months: { + names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""], + namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-EG", "default", { + name: "ar-EG", + englishName: "Arabic (Egypt)", + nativeName: "العربية (مصر)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + decimals: 3, + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + percent: { + decimals: 3 + }, + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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" + } + }, + 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); + } + } + }, + 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" + } + } + } +}); + +Globalize.addCultureInfo( "zh-HK", "default", { + name: "zh-HK", + englishName: "Chinese (Traditional, Hong Kong S.A.R.)", + nativeName: "中文(香港特別行政區)", + language: "zh-CHT", + numberFormat: { + NaN: "非數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "HK$" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "de-AT", "default", { + name: "de-AT", + englishName: "German (Austria)", + nativeName: "Deutsch (Österreich)", + language: "de", + numberFormat: { + ",": ".", + ".": ",", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Jänner","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jän","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, dd. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, dd. MMMM yyyy HH:mm", + F: "dddd, dd. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "en-AU", "default", { + name: "en-AU", + englishName: "English (Australia)", + nativeName: "English (Australia)", + numberFormat: { + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + patterns: { + d: "d/MM/yyyy", + D: "dddd, d MMMM yyyy", + f: "dddd, d MMMM yyyy h:mm tt", + F: "dddd, d MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-ES", "default", { + name: "es-ES", + englishName: "Spanish (Spain, International Sort)", + nativeName: "Español (España, alfabetización internacional)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fr-CA", "default", { + name: "fr-CA", + englishName: "French (Canada)", + nativeName: "français (Canada)", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["(n $)","n $"], + ",": " ", + ".": "," + } + }, + calendars: { + standard: { + "/": "-", + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "yyyy-MM-dd", + D: "d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d MMMM yyyy HH:mm", + F: "d MMMM yyyy HH:mm:ss", + M: "d MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Cyrl-CS", "default", { + name: "sr-Cyrl-CS", + englishName: "Serbian (Cyrillic, Serbia and Montenegro (Former))", + nativeName: "српски (Србија и Црна Гора (Претходно))", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Дин." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["не","по","ут","ср","че","пе","су"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "se-FI", "default", { + name: "se-FI", + englishName: "Sami, Northern (Finland)", + nativeName: "davvisámegiella (Suopma)", + language: "se", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sotnabeaivi","vuossárga","maŋŋebárga","gaskavahkku","duorastat","bearjadat","lávvardat"], + namesAbbr: ["sotn","vuos","maŋ","gask","duor","bear","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ođđajagemánnu","guovvamánnu","njukčamánnu","cuoŋománnu","miessemánnu","geassemánnu","suoidnemánnu","borgemánnu","čakčamánnu","golggotmánnu","skábmamánnu","juovlamánnu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + monthsGenitive: { + names: ["ođđajagimánu","guovvamánu","njukčamánu","cuoŋománu","miessemánu","geassemánu","suoidnemánu","borgemánu","čakčamánu","golggotmánu","skábmamánu","juovlamánu",""], + namesAbbr: ["ođđj","guov","njuk","cuo","mies","geas","suoi","borg","čakč","golg","skáb","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. b. 'yyyy H:mm", + F: "MMMM d'. b. 'yyyy H:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "quz-PE", "default", { + name: "quz-PE", + englishName: "Quechua (Peru)", + nativeName: "runasimi (Piruw)", + language: "quz", + numberFormat: { + percent: { + pattern: ["-%n","%n"] + }, + currency: { + pattern: ["$ -n","$ n"], + symbol: "S/." + } + }, + calendars: { + standard: { + days: { + names: ["intichaw","killachaw","atipachaw","quyllurchaw","Ch' askachaw","Illapachaw","k'uychichaw"], + namesAbbr: ["int","kil","ati","quy","Ch'","Ill","k'u"], + namesShort: ["d","k","a","m","h","b","k"] + }, + months: { + names: ["Qulla puquy","Hatun puquy","Pauqar waray","ayriwa","Aymuray","Inti raymi","Anta Sitwa","Qhapaq Sitwa","Uma raymi","Kantaray","Ayamarq'a","Kapaq Raymi",""], + namesAbbr: ["Qul","Hat","Pau","ayr","Aym","Int","Ant","Qha","Uma","Kan","Aya","Kap",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +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" + } + } + } +}); + +Globalize.addCultureInfo( "zh-SG", "default", { + name: "zh-SG", + englishName: "Chinese (Simplified, Singapore)", + nativeName: "中文(新加坡)", + language: "zh-CHS", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "tt h:mm", + T: "tt h:mm:ss", + f: "yyyy'年'M'月'd'日' tt h:mm", + F: "yyyy'年'M'月'd'日' tt h:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "de-LU", "default", { + name: "de-LU", + englishName: "German (Luxembourg)", + nativeName: "Deutsch (Luxemburg)", + language: "de", + numberFormat: { + ",": ".", + ".": ",", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "en-CA", "default", { + name: "en-CA", + englishName: "English (Canada)", + nativeName: "English (Canada)", + numberFormat: { + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + patterns: { + d: "dd/MM/yyyy", + D: "MMMM-dd-yy", + f: "MMMM-dd-yy h:mm tt", + F: "MMMM-dd-yy h:mm:ss tt" + } + } + } +}); + +Globalize.addCultureInfo( "es-GT", "default", { + name: "es-GT", + englishName: "Spanish (Guatemala)", + nativeName: "Español (Guatemala)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + symbol: "Q" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fr-CH", "default", { + name: "fr-CH", + englishName: "French (Switzerland)", + nativeName: "français (Suisse)", + language: "fr", + numberFormat: { + ",": "'", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "fr." + } + }, + calendars: { + standard: { + "/": ".", + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "hr-BA", "default", { + name: "hr-BA", + englishName: "Croatian (Latin, Bosnia and Herzegovina)", + nativeName: "hrvatski (Bosna i Hercegovina)", + language: "hr", + numberFormat: { + pattern: ["- n"], + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["siječanj","veljača","ožujak","travanj","svibanj","lipanj","srpanj","kolovoz","rujan","listopad","studeni","prosinac",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + monthsGenitive: { + names: ["siječnja","veljače","ožujka","travnja","svibnja","lipnja","srpnja","kolovoza","rujna","listopada","studenog","prosinca",""], + namesAbbr: ["sij","vlj","ožu","tra","svi","lip","srp","kol","ruj","lis","stu","pro",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy.", + D: "d. MMMM yyyy.", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy. H:mm", + F: "d. MMMM yyyy. H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "smj-NO", "default", { + name: "smj-NO", + englishName: "Sami, Lule (Norway)", + nativeName: "julevusámegiella (Vuodna)", + language: "smj", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["sådnåbiejvve","mánnodahka","dijstahka","gasskavahkko","duorastahka","bierjjedahka","lávvodahka"], + namesAbbr: ["såd","mán","dis","gas","duor","bier","láv"], + namesShort: ["s","m","d","g","d","b","l"] + }, + months: { + names: ["ådåjakmánno","guovvamánno","sjnjuktjamánno","vuoratjismánno","moarmesmánno","biehtsemánno","sjnjilltjamánno","bårggemánno","ragátmánno","gålgådismánno","basádismánno","javllamánno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + monthsGenitive: { + names: ["ådåjakmáno","guovvamáno","sjnjuktjamáno","vuoratjismáno","moarmesmáno","biehtsemáno","sjnjilltjamáno","bårggemáno","ragátmáno","gålgådismáno","basádismáno","javllamáno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-DZ", "default", { + name: "ar-DZ", + englishName: "Arabic (Algeria)", + nativeName: "العربية (الجزائر)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + symbol: "د.ج." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + 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: "H:mm", + T: "H:mm:ss", + f: "dd/MM/yyyy H:mm", + F: "dd/MM/yyyy H:mm:ss", + 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: "H:mm", + T: "H:mm:ss", + f: "dd/MMMM/yyyy H:mm", + F: "dd/MMMM/yyyy H:mm:ss", + 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss", + 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + }, + Gregorian_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + firstDay: 6, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["أ","ا","ث","أ","خ","ج","س"] + }, + months: { + names: ["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["يناير","فبراير","مارس","ابريل","مايو","يونيو","يوليو","اغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + } + } +}); + +Globalize.addCultureInfo( "zh-MO", "default", { + name: "zh-MO", + englishName: "Chinese (Traditional, Macao S.A.R.)", + nativeName: "中文(澳門特別行政區)", + language: "zh-CHT", + numberFormat: { + NaN: "非數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "MOP" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "de-LI", "default", { + name: "de-LI", + englishName: "German (Liechtenstein)", + nativeName: "Deutsch (Liechtenstein)", + language: "de", + numberFormat: { + ",": "'", + NaN: "n. def.", + negativeInfinity: "-unendlich", + positiveInfinity: "+unendlich", + percent: { + pattern: ["-n%","n%"], + ",": "'" + }, + currency: { + pattern: ["$-n","$ n"], + ",": "'", + symbol: "CHF" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"], + namesAbbr: ["So","Mo","Di","Mi","Do","Fr","Sa"], + namesShort: ["So","Mo","Di","Mi","Do","Fr","Sa"] + }, + months: { + names: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember",""], + namesAbbr: ["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez",""] + }, + AM: null, + PM: null, + eras: [{"name":"n. Chr.","start":null,"offset":0}], + patterns: { + d: "dd.MM.yyyy", + D: "dddd, d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd, d. MMMM yyyy HH:mm", + F: "dddd, d. MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "en-NZ", "default", { + name: "en-NZ", + englishName: "English (New Zealand)", + nativeName: "English (New Zealand)", + numberFormat: { + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + patterns: { + d: "d/MM/yyyy", + D: "dddd, d MMMM yyyy", + f: "dddd, d MMMM yyyy h:mm tt", + F: "dddd, d MMMM yyyy h:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-CR", "default", { + name: "es-CR", + englishName: "Spanish (Costa Rica)", + nativeName: "Español (Costa Rica)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + ",": ".", + ".": ",", + symbol: "₡" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fr-LU", "default", { + name: "fr-LU", + englishName: "French (Luxembourg)", + nativeName: "français (Luxembourg)", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "bs-Latn-BA", "default", { + name: "bs-Latn-BA", + englishName: "Bosnian (Latin, Bosnia and Herzegovina)", + nativeName: "bosanski (Bosna i Hercegovina)", + language: "bs-Latn", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "smj-SE", "default", { + name: "smj-SE", + englishName: "Sami, Lule (Sweden)", + nativeName: "julevusámegiella (Svierik)", + language: "smj", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ájllek","mánnodahka","dijstahka","gasskavahkko","duorastahka","bierjjedahka","lávvodahka"], + namesAbbr: ["ájl","mán","dis","gas","duor","bier","láv"], + namesShort: ["á","m","d","g","d","b","l"] + }, + months: { + names: ["ådåjakmánno","guovvamánno","sjnjuktjamánno","vuoratjismánno","moarmesmánno","biehtsemánno","sjnjilltjamánno","bårggemánno","ragátmánno","gålgådismánno","basádismánno","javllamánno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + monthsGenitive: { + names: ["ådåjakmáno","guovvamáno","sjnjuktjamáno","vuoratjismáno","moarmesmáno","biehtsemáno","sjnjilltjamáno","bårggemáno","ragátmáno","gålgådismáno","basádismáno","javllamáno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-MA", "default", { + name: "ar-MA", + englishName: "Arabic (Morocco)", + 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: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + }, + 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: "H:mm", + T: "H:mm:ss", + f: "dd/MM/yyyy H:mm", + F: "dd/MM/yyyy H:mm:ss", + 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: 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: "H:mm", + T: "H:mm:ss", + f: "dd/MMMM/yyyy H:mm", + F: "dd/MMMM/yyyy H:mm:ss", + 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: 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss", + M: "dd MMMM" + } + }, + Gregorian_Arabic: { + name: "Gregorian_Arabic", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""], + namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + }, + 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + } + } +}); + +Globalize.addCultureInfo( "en-IE", "default", { + name: "en-IE", + englishName: "English (Ireland)", + nativeName: "English (Ireland)", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "€" + } + }, + calendars: { + standard: { + firstDay: 1, + AM: null, + PM: null, + patterns: { + d: "dd/MM/yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-PA", "default", { + name: "es-PA", + englishName: "Spanish (Panama)", + nativeName: "Español (Panamá)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["($ n)","$ n"], + symbol: "B/." + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "fr-MC", "default", { + name: "fr-MC", + englishName: "French (Monaco)", + nativeName: "français (Principauté de Monaco)", + language: "fr", + numberFormat: { + ",": " ", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + 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: null, + PM: null, + eras: [{"name":"ap. J.-C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd d MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dddd d MMMM yyyy HH:mm", + F: "dddd d MMMM yyyy HH:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Latn-BA", "default", { + name: "sr-Latn-BA", + englishName: "Serbian (Latin, Bosnia and Herzegovina)", + nativeName: "srpski (Bosna i Hercegovina)", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sma-NO", "default", { + name: "sma-NO", + englishName: "Sami, Southern (Norway)", + nativeName: "åarjelsaemiengiele (Nöörje)", + language: "sma", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-%n","%n"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["aejlege","måanta","dæjsta","gaskevåhkoe","duarsta","bearjadahke","laavvardahke"], + namesAbbr: ["aej","måa","dæj","gask","duar","bearj","laav"], + namesShort: ["a","m","d","g","d","b","l"] + }, + months: { + names: ["tsïengele","goevte","njoktje","voerhtje","suehpede","ruffie","snjaltje","mïetske","skïerede","golke","rahka","goeve",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + monthsGenitive: { + names: ["tsïengelen","goevten","njoktjen","voerhtjen","suehpeden","ruffien","snjaltjen","mïetsken","skïereden","golken","rahkan","goeven",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-TN", "default", { + name: "ar-TN", + englishName: "Arabic (Tunisia)", + 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: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""], + namesAbbr: ["جانفييه","فيفرييه","مارس","أفريل","مي","جوان","جوييه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + }, + 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: "H:mm", + T: "H:mm:ss", + f: "dd/MM/yyyy H:mm", + F: "dd/MM/yyyy H:mm:ss", + 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: 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: "H:mm", + T: "H:mm:ss", + f: "dd/MMMM/yyyy H:mm", + F: "dd/MMMM/yyyy H:mm:ss", + 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: 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss", + M: "dd MMMM" + } + }, + Gregorian_Arabic: { + name: "Gregorian_Arabic", + firstDay: 1, + days: { + names: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesAbbr: ["الأحد","الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"], + namesShort: ["ح","ن","ث","ر","خ","ج","س"] + }, + months: { + names: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""], + namesAbbr: ["كانون الثاني","شباط","آذار","نيسان","أيار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول",""] + }, + AM: ["ص","ص","ص"], + PM: ["م","م","م"], + eras: [{"name":"م","start":null,"offset":0}], + patterns: { + d: "MM/dd/yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + }, + 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: "H:mm", + T: "H:mm:ss", + f: "dddd, MMMM dd, yyyy H:mm", + F: "dddd, MMMM dd, yyyy H:mm:ss" + } + } + } +}); + +Globalize.addCultureInfo( "en-ZA", "default", { + name: "en-ZA", + englishName: "English (South Africa)", + nativeName: "English (South Africa)", + numberFormat: { + ",": " ", + percent: { + pattern: ["-n%","n%"], + ",": " " + }, + currency: { + pattern: ["$-n","$ n"], + ",": " ", + ".": ",", + symbol: "R" + } + }, + calendars: { + standard: { + patterns: { + d: "yyyy/MM/dd", + 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", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-DO", "default", { + name: "es-DO", + englishName: "Spanish (Dominican Republic)", + nativeName: "Español (República Dominicana)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + symbol: "RD$" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Cyrl-BA", "default", { + name: "sr-Cyrl-BA", + englishName: "Serbian (Cyrillic, Bosnia and Herzegovina)", + nativeName: "српски (Босна и Херцеговина)", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "КМ" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["н","п","у","с","ч","п","с"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "sma-SE", "default", { + name: "sma-SE", + englishName: "Sami, Southern (Sweden)", + nativeName: "åarjelsaemiengiele (Sveerje)", + language: "sma", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["aejlege","måanta","dæjsta","gaskevåhkoe","duarsta","bearjadahke","laavvardahke"], + namesAbbr: ["aej","måa","dæj","gask","duar","bearj","laav"], + namesShort: ["a","m","d","g","d","b","l"] + }, + months: { + names: ["tsïengele","goevte","njoktje","voerhtje","suehpede","ruffie","snjaltje","mïetske","skïerede","golke","rahka","goeve",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + monthsGenitive: { + names: ["tsïengelen","goevten","njoktjen","voerhtjen","suehpeden","ruffien","snjaltjen","mïetsken","skïereden","golken","rahkan","goeven",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-OM", "default", { + name: "ar-OM", + englishName: "Arabic (Oman)", + nativeName: "العربية (عمان)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + 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" + } + } + } +}); + +Globalize.addCultureInfo( "en-JM", "default", { + name: "en-JM", + englishName: "English (Jamaica)", + nativeName: "English (Jamaica)", + numberFormat: { + currency: { + pattern: ["-$n","$n"], + symbol: "J$" + } + }, + calendars: { + standard: { + patterns: { + d: "dd/MM/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" + } + } + } +}); + +Globalize.addCultureInfo( "es-VE", "default", { + name: "es-VE", + englishName: "Spanish (Bolivarian Republic of Venezuela)", + nativeName: "Español (Republica Bolivariana de Venezuela)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": ".", + ".": ",", + symbol: "Bs. F." + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "bs-Cyrl-BA", "default", { + name: "bs-Cyrl-BA", + englishName: "Bosnian (Cyrillic, Bosnia and Herzegovina)", + nativeName: "босански (Босна и Херцеговина)", + language: "bs-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "КМ" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недјеља","понедјељак","уторак","сриједа","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["н","п","у","с","ч","п","с"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "sms-FI", "default", { + name: "sms-FI", + englishName: "Sami, Skolt (Finland)", + nativeName: "sääm´ǩiõll (Lää´ddjânnam)", + language: "sms", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pâ´sspei´vv","vuõssargg","mââibargg","seärad","nelljdpei´vv","piâtnâc","sue´vet"], + namesAbbr: ["pâ","vu","mâ","se","ne","pi","su"], + namesShort: ["p","v","m","s","n","p","s"] + }, + months: { + names: ["ođđee´jjmään","tä´lvvmään","pâ´zzlâšttammään","njuhččmään","vue´ssmään","ǩie´ssmään","suei´nnmään","på´rǧǧmään","čõhččmään","kålggmään","skamm´mään","rosttovmään",""], + namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""] + }, + monthsGenitive: { + names: ["ođđee´jjmannu","tä´lvvmannu","pâ´zzlâšttammannu","njuhččmannu","vue´ssmannu","ǩie´ssmannu","suei´nnmannu","på´rǧǧmannu","čõhččmannu","kålggmannu","skamm´mannu","rosttovmannu",""], + namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. p. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. p. 'yyyy H:mm", + F: "MMMM d'. p. 'yyyy H:mm:ss", + M: "MMMM d'. p. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-YE", "default", { + name: "ar-YE", + englishName: "Arabic (Yemen)", + nativeName: "العربية (اليمن)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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" + } + } + } +}); + +Globalize.addCultureInfo( "en-029", "default", { + name: "en-029", + englishName: "English (Caribbean)", + nativeName: "English (Caribbean)", + numberFormat: { + currency: { + pattern: ["-$n","$n"] + } + }, + calendars: { + standard: { + firstDay: 1, + patterns: { + d: "MM/dd/yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-CO", "default", { + name: "es-CO", + englishName: "Spanish (Colombia)", + nativeName: "Español (Colombia)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Latn-RS", "default", { + name: "sr-Latn-RS", + englishName: "Serbian (Latin, Serbia)", + nativeName: "srpski (Srbija)", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Din." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "smn-FI", "default", { + name: "smn-FI", + englishName: "Sami, Inari (Finland)", + nativeName: "sämikielâ (Suomâ)", + language: "smn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pasepeivi","vuossargâ","majebargâ","koskokko","tuorâstâh","vástuppeivi","lávárdâh"], + namesAbbr: ["pa","vu","ma","ko","tu","vá","lá"], + namesShort: ["p","v","m","k","t","v","l"] + }, + months: { + names: ["uđđâivemáánu","kuovâmáánu","njuhčâmáánu","cuáŋuimáánu","vyesimáánu","kesimáánu","syeinimáánu","porgemáánu","čohčâmáánu","roovvâdmáánu","skammâmáánu","juovlâmáánu",""], + namesAbbr: ["uđiv","kuov","njuh","cuoŋ","vyes","kesi","syei","porg","čoh","roov","ska","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. p. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. p. 'yyyy H:mm", + F: "MMMM d'. p. 'yyyy H:mm:ss", + M: "MMMM d'. p. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-SY", "default", { + name: "ar-SY", + englishName: "Arabic (Syria)", + nativeName: "العربية (سوريا)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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" + } + } + } +}); + +Globalize.addCultureInfo( "en-BZ", "default", { + name: "en-BZ", + englishName: "English (Belize)", + nativeName: "English (Belize)", + numberFormat: { + currency: { + groupSizes: [3,0], + symbol: "BZ$" + } + }, + calendars: { + standard: { + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd MMMM yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd MMMM yyyy hh:mm tt", + F: "dddd, dd MMMM yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-PE", "default", { + name: "es-PE", + englishName: "Spanish (Peru)", + nativeName: "Español (Perú)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["$ -n","$ n"], + symbol: "S/." + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Cyrl-RS", "default", { + name: "sr-Cyrl-RS", + englishName: "Serbian (Cyrillic, Serbia)", + nativeName: "српски (Србија)", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Дин." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["не","по","ут","ср","че","пе","су"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-JO", "default", { + name: "ar-JO", + englishName: "Arabic (Jordan)", + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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_TransliteratedEnglish: { + name: "Gregorian_TransliteratedEnglish", + 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" + } + } + } +}); + +Globalize.addCultureInfo( "en-TT", "default", { + name: "en-TT", + englishName: "English (Trinidad and Tobago)", + nativeName: "English (Trinidad y Tobago)", + numberFormat: { + currency: { + groupSizes: [3,0], + symbol: "TT$" + } + }, + calendars: { + standard: { + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd MMMM yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd MMMM yyyy hh:mm tt", + F: "dddd, dd MMMM yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-AR", "default", { + name: "es-AR", + englishName: "Spanish (Argentina)", + nativeName: "Español (Argentina)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["$-n","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Latn-ME", "default", { + name: "sr-Latn-ME", + englishName: "Serbian (Latin, Montenegro)", + nativeName: "srpski (Crna Gora)", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +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" + } + } + } +}); + +Globalize.addCultureInfo( "en-ZW", "default", { + name: "en-ZW", + englishName: "English (Zimbabwe)", + nativeName: "English (Zimbabwe)", + numberFormat: { + currency: { + symbol: "Z$" + } + } +}); + +Globalize.addCultureInfo( "es-EC", "default", { + name: "es-EC", + englishName: "Spanish (Ecuador)", + nativeName: "Español (Ecuador)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Cyrl-ME", "default", { + name: "sr-Cyrl-ME", + englishName: "Serbian (Cyrillic, Montenegro)", + nativeName: "српски (Црна Гора)", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["не","по","ут","ср","че","пе","су"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +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" + } + } + } +}); + +Globalize.addCultureInfo( "en-PH", "default", { + name: "en-PH", + englishName: "English (Republic of the Philippines)", + nativeName: "English (Philippines)", + numberFormat: { + currency: { + symbol: "Php" + } + } +}); + +Globalize.addCultureInfo( "es-CL", "default", { + name: "es-CL", + englishName: "Spanish (Chile)", + nativeName: "Español (Chile)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-$ n","$ n"], + ",": ".", + ".": "," + } + }, + calendars: { + standard: { + "/": "-", + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: null, + PM: null, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd-MM-yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dddd, dd' de 'MMMM' de 'yyyy H:mm", + F: "dddd, dd' de 'MMMM' de 'yyyy H:mm:ss", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-AE", "default", { + name: "ar-AE", + englishName: "Arabic (U.A.E.)", + nativeName: "العربية (الإمارات العربية المتحدة)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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" + } + } + } +}); + +Globalize.addCultureInfo( "es-UY", "default", { + name: "es-UY", + englishName: "Spanish (Uruguay)", + nativeName: "Español (Uruguay)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "$U" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-BH", "default", { + name: "ar-BH", + englishName: "Arabic (Bahrain)", + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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" + } + } + } +}); + +Globalize.addCultureInfo( "es-PY", "default", { + name: "es-PY", + englishName: "Spanish (Paraguay)", + nativeName: "Español (Paraguay)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "Gs" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "ar-QA", "default", { + name: "ar-QA", + englishName: "Arabic (Qatar)", + nativeName: "العربية (قطر)", + language: "ar", + isRTL: true, + numberFormat: { + pattern: ["n-"], + NaN: "ليس برقم", + negativeInfinity: "-لا نهاية", + positiveInfinity: "+لا نهاية", + currency: { + pattern: ["$n-","$ n"], + 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" + } + }, + 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]; + } + } + }, + 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); + } + } + }, + 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" + } + } + } +}); + +Globalize.addCultureInfo( "en-IN", "default", { + name: "en-IN", + englishName: "English (India)", + nativeName: "English (India)", + numberFormat: { + groupSizes: [3,2], + percent: { + groupSizes: [3,2] + }, + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,2], + symbol: "Rs." + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "dd MMMM yyyy HH:mm", + F: "dd MMMM yyyy HH:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "es-BO", "default", { + name: "es-BO", + englishName: "Spanish (Bolivia)", + nativeName: "Español (Bolivia)", + language: "es", + numberFormat: { + ",": ".", + ".": ",", + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["($ n)","$ n"], + ",": ".", + ".": ",", + symbol: "$b" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "en-MY", "default", { + name: "en-MY", + englishName: "English (Malaysia)", + nativeName: "English (Malaysia)", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "RM" + } + }, + calendars: { + standard: { + days: { + namesShort: ["S","M","T","W","T","F","S"] + }, + patterns: { + d: "d/M/yyyy", + D: "dddd, d MMMM, yyyy", + f: "dddd, d MMMM, yyyy h:mm tt", + F: "dddd, d MMMM, yyyy h:mm:ss tt", + M: "d MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "es-SV", "default", { + name: "es-SV", + englishName: "Spanish (El Salvador)", + nativeName: "Español (El Salvador)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "en-SG", "default", { + name: "en-SG", + englishName: "English (Singapore)", + nativeName: "English (Singapore)", + numberFormat: { + percent: { + pattern: ["-n%","n%"] + } + }, + calendars: { + standard: { + days: { + namesShort: ["S","M","T","W","T","F","S"] + }, + patterns: { + d: "d/M/yyyy", + D: "dddd, d MMMM, yyyy", + f: "dddd, d MMMM, yyyy h:mm tt", + F: "dddd, d MMMM, yyyy h:mm:ss tt", + M: "d MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "es-HN", "default", { + name: "es-HN", + englishName: "Spanish (Honduras)", + nativeName: "Español (Honduras)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["$ -n","$ n"], + groupSizes: [3,0], + symbol: "L." + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-NI", "default", { + name: "es-NI", + englishName: "Spanish (Nicaragua)", + nativeName: "Español (Nicaragua)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["($ n)","$ n"], + groupSizes: [3,0], + symbol: "C$" + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-PR", "default", { + name: "es-PR", + englishName: "Spanish (Puerto Rico)", + nativeName: "Español (Puerto Rico)", + language: "es", + numberFormat: { + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + currency: { + pattern: ["($ n)","$ n"], + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sá"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + AM: ["a.m.","a.m.","A.M."], + PM: ["p.m.","p.m.","P.M."], + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + d: "dd/MM/yyyy", + D: "dddd, dd' de 'MMMM' de 'yyyy", + t: "hh:mm tt", + T: "hh:mm:ss tt", + f: "dddd, dd' de 'MMMM' de 'yyyy hh:mm tt", + F: "dddd, dd' de 'MMMM' de 'yyyy hh:mm:ss tt", + M: "dd MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "es-US", "default", { + name: "es-US", + englishName: "Spanish (United States)", + nativeName: "Español (Estados Unidos)", + language: "es", + numberFormat: { + groupSizes: [3,0], + NaN: "NeuN", + negativeInfinity: "-Infinito", + positiveInfinity: "Infinito", + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["domingo","lunes","martes","miércoles","jueves","viernes","sábado"], + namesAbbr: ["dom","lun","mar","mié","jue","vie","sáb"], + namesShort: ["do","lu","ma","mi","ju","vi","sa"] + }, + months: { + names: ["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre",""], + namesAbbr: ["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic",""] + }, + eras: [{"name":"d.C.","start":null,"offset":0}], + patterns: { + M: "dd' de 'MMMM", + Y: "MMMM' de 'yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "bs-Cyrl", "default", { + name: "bs-Cyrl", + englishName: "Bosnian (Cyrillic)", + nativeName: "босански", + language: "bs-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "КМ" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недјеља","понедјељак","уторак","сриједа","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["н","п","у","с","ч","п","с"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "bs-Latn", "default", { + name: "bs-Latn", + englishName: "Bosnian (Latin)", + nativeName: "bosanski", + language: "bs-Latn", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Cyrl", "default", { + name: "sr-Cyrl", + englishName: "Serbian (Cyrillic)", + nativeName: "српски", + language: "sr-Cyrl", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-бесконачност", + positiveInfinity: "+бесконачност", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Дин." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["недеља","понедељак","уторак","среда","четвртак","петак","субота"], + namesAbbr: ["нед","пон","уто","сре","чет","пет","суб"], + namesShort: ["не","по","ут","ср","че","пе","су"] + }, + months: { + names: ["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар",""], + namesAbbr: ["јан","феб","мар","апр","мај","јун","јул","авг","сеп","окт","нов","дец",""] + }, + AM: null, + PM: null, + eras: [{"name":"н.е.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr-Latn", "default", { + name: "sr-Latn", + englishName: "Serbian (Latin)", + nativeName: "srpski", + language: "sr-Latn", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Din." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "smn", "default", { + name: "smn", + englishName: "Sami (Inari)", + nativeName: "sämikielâ", + language: "smn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pasepeivi","vuossargâ","majebargâ","koskokko","tuorâstâh","vástuppeivi","lávárdâh"], + namesAbbr: ["pa","vu","ma","ko","tu","vá","lá"], + namesShort: ["p","v","m","k","t","v","l"] + }, + months: { + names: ["uđđâivemáánu","kuovâmáánu","njuhčâmáánu","cuáŋuimáánu","vyesimáánu","kesimáánu","syeinimáánu","porgemáánu","čohčâmáánu","roovvâdmáánu","skammâmáánu","juovlâmáánu",""], + namesAbbr: ["uđiv","kuov","njuh","cuoŋ","vyes","kesi","syei","porg","čoh","roov","ska","juov",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. p. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. p. 'yyyy H:mm", + F: "MMMM d'. p. 'yyyy H:mm:ss", + M: "MMMM d'. p. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "az-Cyrl", "default", { + name: "az-Cyrl", + englishName: "Azeri (Cyrillic)", + nativeName: "Азәрбајҹан дили", + language: "az-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "ман." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Базар","Базар ертәси","Чәршәнбә ахшамы","Чәршәнбә","Ҹүмә ахшамы","Ҹүмә","Шәнбә"], + namesAbbr: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"], + namesShort: ["Б","Бе","Ча","Ч","Ҹа","Ҹ","Ш"] + }, + months: { + names: ["Јанвар","Феврал","Март","Апрел","Мај","Ијун","Ијул","Август","Сентјабр","Октјабр","Нојабр","Декабр",""], + namesAbbr: ["Јан","Фев","Мар","Апр","Мај","Ијун","Ијул","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["јанвар","феврал","март","апрел","мај","ијун","ијул","август","сентјабр","октјабр","нојабр","декабр",""], + namesAbbr: ["Јан","Фев","Мар","Апр","мая","ијун","ијул","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sms", "default", { + name: "sms", + englishName: "Sami (Skolt)", + nativeName: "sääm´ǩiõll", + language: "sms", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["pâ´sspei´vv","vuõssargg","mââibargg","seärad","nelljdpei´vv","piâtnâc","sue´vet"], + namesAbbr: ["pâ","vu","mâ","se","ne","pi","su"], + namesShort: ["p","v","m","s","n","p","s"] + }, + months: { + names: ["ođđee´jjmään","tä´lvvmään","pâ´zzlâšttammään","njuhččmään","vue´ssmään","ǩie´ssmään","suei´nnmään","på´rǧǧmään","čõhččmään","kålggmään","skamm´mään","rosttovmään",""], + namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""] + }, + monthsGenitive: { + names: ["ođđee´jjmannu","tä´lvvmannu","pâ´zzlâšttammannu","njuhččmannu","vue´ssmannu","ǩie´ssmannu","suei´nnmannu","på´rǧǧmannu","čõhččmannu","kålggmannu","skamm´mannu","rosttovmannu",""], + namesAbbr: ["ođjm","tä´lvv","pâzl","njuh","vue","ǩie","suei","på´r","čõh","kålg","ska","rost",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "MMMM d'. p. 'yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "MMMM d'. p. 'yyyy H:mm", + F: "MMMM d'. p. 'yyyy H:mm:ss", + M: "MMMM d'. p. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "zh", "default", { + name: "zh", + englishName: "Chinese", + nativeName: "中文", + language: "zh", + numberFormat: { + NaN: "非数字", + negativeInfinity: "负无穷大", + positiveInfinity: "正无穷大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "nn", "default", { + name: "nn", + englishName: "Norwegian (Nynorsk)", + nativeName: "norsk (nynorsk)", + language: "nn", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","måndag","tysdag","onsdag","torsdag","fredag","laurdag"], + namesAbbr: ["sø","må","ty","on","to","fr","la"], + namesShort: ["sø","må","ty","on","to","fr","la"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "bs", "default", { + name: "bs", + englishName: "Bosnian", + nativeName: "bosanski", + language: "bs", + numberFormat: { + ",": ".", + ".": ",", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "KM" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sri","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "az-Latn", "default", { + name: "az-Latn", + englishName: "Azeri (Latin)", + nativeName: "Azərbaycanılı", + language: "az-Latn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "man." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"], + namesAbbr: ["B","Be","Ça","Ç","Ca","C","Ş"], + namesShort: ["B","Be","Ça","Ç","Ca","C","Ş"] + }, + months: { + names: ["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avgust","Sentyabr","Oktyabr","Noyabr","Dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + monthsGenitive: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["Yan","Fev","Mar","Apr","May","İyun","İyul","Avg","Sen","Okt","Noy","Dek",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + M: "d MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sma", "default", { + name: "sma", + englishName: "Sami (Southern)", + nativeName: "åarjelsaemiengiele", + language: "sma", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["aejlege","måanta","dæjsta","gaskevåhkoe","duarsta","bearjadahke","laavvardahke"], + namesAbbr: ["aej","måa","dæj","gask","duar","bearj","laav"], + namesShort: ["a","m","d","g","d","b","l"] + }, + months: { + names: ["tsïengele","goevte","njoktje","voerhtje","suehpede","ruffie","snjaltje","mïetske","skïerede","golke","rahka","goeve",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + monthsGenitive: { + names: ["tsïengelen","goevten","njoktjen","voerhtjen","suehpeden","ruffien","snjaltjen","mïetsken","skïereden","golken","rahkan","goeven",""], + namesAbbr: ["tsïen","goevt","njok","voer","sueh","ruff","snja","mïet","skïer","golk","rahk","goev",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "uz-Cyrl", "default", { + name: "uz-Cyrl", + englishName: "Uzbek (Cyrillic)", + nativeName: "Ўзбек", + language: "uz-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": " ", + ".": ",", + symbol: "сўм" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["якшанба","душанба","сешанба","чоршанба","пайшанба","жума","шанба"], + namesAbbr: ["якш","дш","сш","чш","пш","ж","ш"], + namesShort: ["я","д","с","ч","п","ж","ш"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январ","феврал","март","апрел","май","июн","июл","август","сентябр","октябр","ноябр","декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","мая","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "yyyy 'йил' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'йил' d-MMMM HH:mm", + F: "yyyy 'йил' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "mn-Cyrl", "default", { + name: "mn-Cyrl", + englishName: "Mongolian (Cyrillic)", + nativeName: "Монгол хэл", + language: "mn-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n$","n$"], + ",": " ", + ".": ",", + symbol: "₮" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"], + namesAbbr: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"], + namesShort: ["Ня","Да","Мя","Лх","Пү","Ба","Бя"] + }, + months: { + names: ["1 дүгээр сар","2 дугаар сар","3 дугаар сар","4 дүгээр сар","5 дугаар сар","6 дугаар сар","7 дугаар сар","8 дугаар сар","9 дүгээр сар","10 дугаар сар","11 дүгээр сар","12 дугаар сар",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + monthsGenitive: { + names: ["1 дүгээр сарын","2 дугаар сарын","3 дугаар сарын","4 дүгээр сарын","5 дугаар сарын","6 дугаар сарын","7 дугаар сарын","8 дугаар сарын","9 дүгээр сарын","10 дугаар сарын","11 дүгээр сарын","12 дугаар сарын",""], + namesAbbr: ["I","II","III","IV","V","VI","VII","VIII","IX","X","XI","XII",""] + }, + AM: null, + PM: null, + patterns: { + d: "yy.MM.dd", + D: "yyyy 'оны' MMMM d", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy 'оны' MMMM d H:mm", + F: "yyyy 'оны' MMMM d H:mm:ss", + M: "d MMMM", + Y: "yyyy 'он' MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "iu-Cans", "default", { + name: "iu-Cans", + englishName: "Inuktitut (Syllabics)", + nativeName: "ᐃᓄᒃᑎᑐᑦ", + language: "iu-Cans", + numberFormat: { + groupSizes: [3,0], + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["ᓈᑦᑏᖑᔭ","ᓇᒡᒐᔾᔭᐅ","ᐊᐃᑉᐱᖅ","ᐱᖓᑦᓯᖅ","ᓯᑕᒻᒥᖅ","ᑕᓪᓕᕐᒥᖅ","ᓯᕙᑖᕐᕕᒃ"], + namesAbbr: ["ᓈᑦᑏ","ᓇᒡᒐ","ᐊᐃᑉᐱ","ᐱᖓᑦᓯ","ᓯᑕ","ᑕᓪᓕ","ᓯᕙᑖᕐᕕᒃ"], + namesShort: ["ᓈ","ᓇ","ᐊ","ᐱ","ᓯ","ᑕ","ᓯ"] + }, + months: { + names: ["ᔮᓐᓄᐊᕆ","ᕖᕝᕗᐊᕆ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌᓯ","ᓯᑎᐱᕆ","ᐅᑐᐱᕆ","ᓄᕕᐱᕆ","ᑎᓯᐱᕆ",""], + namesAbbr: ["ᔮᓐᓄ","ᕖᕝᕗ","ᒫᑦᓯ","ᐄᐳᕆ","ᒪᐃ","ᔫᓂ","ᔪᓚᐃ","ᐋᒡᒌ","ᓯᑎᐱ","ᐅᑐᐱ","ᓄᕕᐱ","ᑎᓯᐱ",""] + }, + patterns: { + d: "d/M/yyyy", + D: "dddd,MMMM dd,yyyy", + f: "dddd,MMMM dd,yyyy h:mm tt", + F: "dddd,MMMM dd,yyyy h:mm:ss tt", + Y: "MMMM,yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "zh-Hant", "default", { + name: "zh-Hant", + englishName: "Chinese (Traditional)", + nativeName: "中文(繁體)", + language: "zh-Hant", + numberFormat: { + NaN: "非數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "HK$" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "nb", "default", { + name: "nb", + englishName: "Norwegian (Bokmål)", + nativeName: "norsk (bokmål)", + language: "nb", + numberFormat: { + ",": " ", + ".": ",", + negativeInfinity: "-INF", + positiveInfinity: "INF", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["$ -n","$ n"], + ",": " ", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"], + namesAbbr: ["sø","ma","ti","on","to","fr","lø"], + namesShort: ["sø","ma","ti","on","to","fr","lø"] + }, + months: { + names: ["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember",""], + namesAbbr: ["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yyyy", + D: "d. MMMM yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "d. MMMM yyyy HH:mm", + F: "d. MMMM yyyy HH:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "sr", "default", { + name: "sr", + englishName: "Serbian", + nativeName: "srpski", + language: "sr", + numberFormat: { + ",": ".", + ".": ",", + negativeInfinity: "-beskonačnost", + positiveInfinity: "+beskonačnost", + percent: { + pattern: ["-n%","n%"], + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "Din." + } + }, + calendars: { + standard: { + "/": ".", + firstDay: 1, + days: { + names: ["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"], + namesAbbr: ["ned","pon","uto","sre","čet","pet","sub"], + namesShort: ["ne","po","ut","sr","če","pe","su"] + }, + months: { + names: ["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar",""], + namesAbbr: ["jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"n.e.","start":null,"offset":0}], + patterns: { + d: "d.M.yyyy", + D: "d. MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d. MMMM yyyy H:mm", + F: "d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "tg-Cyrl", "default", { + name: "tg-Cyrl", + englishName: "Tajik (Cyrillic)", + nativeName: "Тоҷикӣ", + language: "tg-Cyrl", + numberFormat: { + ",": " ", + ".": ",", + groupSizes: [3,0], + negativeInfinity: "-бесконечность", + positiveInfinity: "бесконечность", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + groupSizes: [3,0], + ",": " ", + ".": ";", + symbol: "т.р." + } + }, + calendars: { + standard: { + "/": ".", + days: { + names: ["Яш","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"], + namesAbbr: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"], + namesShort: ["Яш","Дш","Сш","Чш","Пш","Ҷм","Шн"] + }, + months: { + names: ["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + monthsGenitive: { + names: ["январи","феврали","марти","апрели","маи","июни","июли","августи","сентябри","октябри","ноябри","декабри",""], + namesAbbr: ["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd.MM.yy", + D: "d MMMM yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "d MMMM yyyy H:mm", + F: "d MMMM yyyy H:mm:ss", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "dsb", "default", { + name: "dsb", + englishName: "Lower Sorbian", + nativeName: "dolnoserbšćina", + language: "dsb", + numberFormat: { + ",": ".", + ".": ",", + NaN: "njedefinowane", + negativeInfinity: "-njekońcne", + positiveInfinity: "+njekońcne", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "€" + } + }, + calendars: { + standard: { + "/": ". ", + firstDay: 1, + days: { + names: ["njeźela","ponjeźele","wałtora","srjoda","stwortk","pětk","sobota"], + namesAbbr: ["nje","pon","wał","srj","stw","pět","sob"], + namesShort: ["n","p","w","s","s","p","s"] + }, + months: { + names: ["januar","februar","měrc","apryl","maj","junij","julij","awgust","september","oktober","nowember","december",""], + namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""] + }, + monthsGenitive: { + names: ["januara","februara","měrca","apryla","maja","junija","julija","awgusta","septembra","oktobra","nowembra","decembra",""], + namesAbbr: ["jan","feb","měr","apr","maj","jun","jul","awg","sep","okt","now","dec",""] + }, + AM: null, + PM: null, + eras: [{"name":"po Chr.","start":null,"offset":0}], + patterns: { + d: "d. M. yyyy", + D: "dddd, 'dnja' d. MMMM yyyy", + t: "H.mm 'goź.'", + T: "H:mm:ss", + f: "dddd, 'dnja' d. MMMM yyyy H.mm 'goź.'", + F: "dddd, 'dnja' d. MMMM yyyy H:mm:ss", + M: "d. MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "smj", "default", { + name: "smj", + englishName: "Sami (Lule)", + nativeName: "julevusámegiella", + language: "smj", + numberFormat: { + ",": " ", + ".": ",", + percent: { + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + ",": ".", + ".": ",", + symbol: "kr" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 1, + days: { + names: ["ájllek","mánnodahka","dijstahka","gasskavahkko","duorastahka","bierjjedahka","lávvodahka"], + namesAbbr: ["ájl","mán","dis","gas","duor","bier","láv"], + namesShort: ["á","m","d","g","d","b","l"] + }, + months: { + names: ["ådåjakmánno","guovvamánno","sjnjuktjamánno","vuoratjismánno","moarmesmánno","biehtsemánno","sjnjilltjamánno","bårggemánno","ragátmánno","gålgådismánno","basádismánno","javllamánno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + monthsGenitive: { + names: ["ådåjakmáno","guovvamáno","sjnjuktjamáno","vuoratjismáno","moarmesmáno","biehtsemáno","sjnjilltjamáno","bårggemáno","ragátmáno","gålgådismáno","basádismáno","javllamáno",""], + namesAbbr: ["ådåj","guov","snju","vuor","moar","bieh","snji","bårg","ragá","gålg","basá","javl",""] + }, + AM: null, + PM: null, + patterns: { + d: "yyyy-MM-dd", + D: "MMMM d'. b. 'yyyy", + t: "HH:mm", + T: "HH:mm:ss", + f: "MMMM d'. b. 'yyyy HH:mm", + F: "MMMM d'. b. 'yyyy HH:mm:ss", + M: "MMMM d'. b. '", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "uz-Latn", "default", { + name: "uz-Latn", + englishName: "Uzbek (Latin)", + nativeName: "U'zbek", + language: "uz-Latn", + numberFormat: { + ",": " ", + ".": ",", + percent: { + pattern: ["-n%","n%"], + ",": " ", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + decimals: 0, + ",": " ", + ".": ",", + symbol: "so'm" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["yakshanba","dushanba","seshanba","chorshanba","payshanba","juma","shanba"], + namesAbbr: ["yak.","dsh.","sesh.","chr.","psh.","jm.","sh."], + namesShort: ["ya","d","s","ch","p","j","sh"] + }, + months: { + names: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""], + namesAbbr: ["yanvar","fevral","mart","aprel","may","iyun","iyul","avgust","sentyabr","oktyabr","noyabr","dekabr",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd/MM yyyy", + D: "yyyy 'yil' d-MMMM", + t: "HH:mm", + T: "HH:mm:ss", + f: "yyyy 'yil' d-MMMM HH:mm", + F: "yyyy 'yil' d-MMMM HH:mm:ss", + M: "d-MMMM", + Y: "MMMM yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "mn-Mong", "default", { + name: "mn-Mong", + englishName: "Mongolian (Traditional Mongolian)", + nativeName: "ᠮᠤᠨᠭᠭᠤᠯ ᠬᠡᠯᠡ", + language: "mn-Mong", + numberFormat: { + groupSizes: [3,0], + NaN: "ᠲᠤᠭᠠᠠ ᠪᠤᠰᠤ", + negativeInfinity: "ᠰᠦᠬᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠡᠬᠡ", + positiveInfinity: "ᠡᠶ᠋ᠡᠷᠬᠦ ᠬᠢᠵᠠᠭᠠᠷᠭᠦᠢ ᠶᠠᠬᠡ", + percent: { + pattern: ["-n%","n%"], + groupSizes: [3,0] + }, + currency: { + pattern: ["$-n","$n"], + groupSizes: [3,0], + symbol: "¥" + } + }, + calendars: { + standard: { + firstDay: 1, + days: { + names: ["ᠭᠠᠷᠠᠭ ᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"], + namesAbbr: ["ᠭᠠᠷᠠᠭ ᠤᠨ ᠡᠳᠦᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠨᠢᠭᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠬᠣᠶᠠᠷ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠭᠤᠷᠪᠠᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠳᠥᠷᠪᠡᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠲᠠᠪᠤᠨ","ᠭᠠᠷᠠᠭ ᠤᠨ ᠵᠢᠷᠭᠤᠭᠠᠨ"], + namesShort: ["ᠡ","ᠨᠢ","ᠬᠣ","ᠭᠤ","ᠳᠥ","ᠲᠠ","ᠵᠢ"] + }, + months: { + names: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ",""], + namesAbbr: ["ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠭᠤᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠦᠷᠪᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠲᠠᠪᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠵᠢᠷᠭᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠲᠤᠯᠤᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠨᠠᠢᠮᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠶᠢᠰᠦᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠨᠢᠭᠡᠳᠦᠭᠡᠷ ᠰᠠᠷᠠ","ᠠᠷᠪᠠᠨ ᠬᠤᠶ᠋ᠠᠳᠤᠭᠠᠷ ᠰᠠᠷᠠ",""] + }, + AM: null, + PM: null, + eras: [{"name":"ᠣᠨ ᠲᠣᠭᠠᠯᠠᠯ ᠤᠨ","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm", + F: "yyyy'ᠣᠨ ᠤ᠋' M'ᠰᠠᠷᠠ ᠢᠢᠨ 'd' ᠤ᠋ ᠡᠳᠦᠷ' H:mm:ss", + M: "M'ᠰᠠᠷᠠ' d'ᠡᠳᠦᠷ'", + Y: "yyyy'ᠣᠨ' M'ᠰᠠᠷᠠ'" + } + } + } +}); + +Globalize.addCultureInfo( "iu-Latn", "default", { + name: "iu-Latn", + englishName: "Inuktitut (Latin)", + nativeName: "Inuktitut", + language: "iu-Latn", + numberFormat: { + groupSizes: [3,0], + percent: { + groupSizes: [3,0] + } + }, + calendars: { + standard: { + days: { + names: ["Naattiinguja","Naggajjau","Aippiq","Pingatsiq","Sitammiq","Tallirmiq","Sivataarvik"], + namesAbbr: ["Nat","Nag","Aip","Pi","Sit","Tal","Siv"], + namesShort: ["N","N","A","P","S","T","S"] + }, + months: { + names: ["Jaannuari","Viivvuari","Maatsi","Iipuri","Mai","Juuni","Julai","Aaggiisi","Sitipiri","Utupiri","Nuvipiri","Tisipiri",""], + namesAbbr: ["Jan","Viv","Mas","Ipu","Mai","Jun","Jul","Agi","Sii","Uut","Nuv","Tis",""] + }, + patterns: { + d: "d/MM/yyyy", + D: "ddd, MMMM dd,yyyy", + f: "ddd, MMMM dd,yyyy h:mm tt", + F: "ddd, MMMM dd,yyyy h:mm:ss tt" + } + } + } +}); + +Globalize.addCultureInfo( "tzm-Latn", "default", { + name: "tzm-Latn", + englishName: "Tamazight (Latin)", + nativeName: "Tamazight", + language: "tzm-Latn", + numberFormat: { + pattern: ["n-"], + ",": ".", + ".": ",", + NaN: "Non Numérique", + negativeInfinity: "-Infini", + positiveInfinity: "+Infini", + percent: { + ",": ".", + ".": "," + }, + currency: { + pattern: ["-n $","n $"], + symbol: "DZD" + } + }, + calendars: { + standard: { + "/": "-", + firstDay: 6, + days: { + names: ["Acer","Arime","Aram","Ahad","Amhadh","Sem","Sedh"], + namesAbbr: ["Ace","Ari","Ara","Aha","Amh","Sem","Sed"], + namesShort: ["Ac","Ar","Ar","Ah","Am","Se","Se"] + }, + months: { + names: ["Yenayer","Furar","Maghres","Yebrir","Mayu","Yunyu","Yulyu","Ghuct","Cutenber","Ktuber","Wambir","Dujanbir",""], + namesAbbr: ["Yen","Fur","Mag","Yeb","May","Yun","Yul","Ghu","Cut","Ktu","Wam","Duj",""] + }, + AM: null, + PM: null, + patterns: { + d: "dd-MM-yyyy", + D: "dd MMMM, yyyy", + t: "H:mm", + T: "H:mm:ss", + f: "dd MMMM, yyyy H:mm", + F: "dd MMMM, yyyy H:mm:ss", + M: "dd MMMM" + } + } + } +}); + +Globalize.addCultureInfo( "ha-Latn", "default", { + name: "ha-Latn", + englishName: "Hausa (Latin)", + nativeName: "Hausa", + language: "ha-Latn", + numberFormat: { + currency: { + pattern: ["$-n","$ n"], + symbol: "N" + } + }, + calendars: { + standard: { + days: { + names: ["Lahadi","Litinin","Talata","Laraba","Alhamis","Juma'a","Asabar"], + namesAbbr: ["Lah","Lit","Tal","Lar","Alh","Jum","Asa"], + namesShort: ["L","L","T","L","A","J","A"] + }, + months: { + names: ["Januwaru","Febreru","Maris","Afrilu","Mayu","Yuni","Yuli","Agusta","Satumba","Oktocba","Nuwamba","Disamba",""], + namesAbbr: ["Jan","Feb","Mar","Afr","May","Yun","Yul","Agu","Sat","Okt","Nuw","Dis",""] + }, + AM: ["Safe","safe","SAFE"], + PM: ["Yamma","yamma","YAMMA"], + eras: [{"name":"AD","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy" + } + } + } +}); + +Globalize.addCultureInfo( "zh-CHS", "default", { + name: "zh-CHS", + englishName: "Chinese (Simplified) Legacy", + nativeName: "中文(简体) 旧版", + language: "zh-CHS", + numberFormat: { + NaN: "非数字", + negativeInfinity: "负无穷大", + positiveInfinity: "正无穷大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + pattern: ["$-n","$n"], + symbol: "¥" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["周日","周一","周二","周三","周四","周五","周六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "yyyy/M/d", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); + +Globalize.addCultureInfo( "zh-CHT", "default", { + name: "zh-CHT", + englishName: "Chinese (Traditional) Legacy", + nativeName: "中文(繁體) 舊版", + language: "zh-CHT", + numberFormat: { + NaN: "非數字", + negativeInfinity: "負無窮大", + positiveInfinity: "正無窮大", + percent: { + pattern: ["-n%","n%"] + }, + currency: { + symbol: "HK$" + } + }, + calendars: { + standard: { + days: { + names: ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"], + namesAbbr: ["週日","週一","週二","週三","週四","週五","週六"], + namesShort: ["日","一","二","三","四","五","六"] + }, + months: { + names: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""], + namesAbbr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月",""] + }, + AM: ["上午","上午","上午"], + PM: ["下午","下午","下午"], + eras: [{"name":"公元","start":null,"offset":0}], + patterns: { + d: "d/M/yyyy", + D: "yyyy'年'M'月'd'日'", + t: "H:mm", + T: "H:mm:ss", + f: "yyyy'年'M'月'd'日' H:mm", + F: "yyyy'年'M'月'd'日' H:mm:ss", + M: "M'月'd'日'", + Y: "yyyy'年'M'月'" + } + } + } +}); +
+}( this ));
diff --git a/libs/js/globalize/lib/globalize.js b/libs/js/globalize/lib/globalize.js new file mode 100644 index 00000000..2046e262 --- /dev/null +++ b/libs/js/globalize/lib/globalize.js @@ -0,0 +1,1576 @@ +/*! + * Globalize + * + * http://github.com/jquery/globalize + * + * Copyright Software Freedom Conservancy, Inc. + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + */ + +(function( window, undefined ) { + +var Globalize, + // private variables + regexHex, + regexInfinity, + regexParseFloat, + regexTrim, + // private JavaScript utility functions + arrayIndexOf, + endsWith, + extend, + isArray, + isFunction, + isObject, + startsWith, + trim, + truncate, + zeroPad, + // private Globalization utility functions + appendPreOrPostMatch, + expandFormat, + formatDate, + formatNumber, + getTokenRegExp, + getEra, + getEraYear, + parseExact, + parseNegativePattern; + +// Global variable (Globalize) or CommonJS module (globalize) +Globalize = function( cultureSelector ) { + return new Globalize.prototype.init( cultureSelector ); +}; + +if ( typeof require !== "undefined" + && typeof exports !== "undefined" + && typeof module !== "undefined" ) { + // Assume CommonJS + module.exports = Globalize; +} else { + // Export as global variable + window.Globalize = Globalize; +} + +Globalize.cultures = {}; + +Globalize.prototype = { + constructor: Globalize, + init: function( cultureSelector ) { + this.cultures = Globalize.cultures; + this.cultureSelector = cultureSelector; + + return this; + } +}; +Globalize.prototype.init.prototype = Globalize.prototype; + +// 1. When defining a culture, all fields are required except the ones stated as optional. +// 2. Each culture should have a ".calendars" object with at least one calendar named "standard" +// which serves as the default calendar in use by that culture. +// 3. Each culture should have a ".calendar" object which is the current calendar being used, +// it may be dynamically changed at any time to one of the calendars in ".calendars". +Globalize.cultures[ "default" ] = { + // A unique name for the culture in the form <language code>-<country/region code> + name: "en", + // the name of the culture in the english language + englishName: "English", + // the name of the culture in its own language + nativeName: "English", + // whether the culture uses right-to-left text + isRTL: false, + // "language" is used for so-called "specific" cultures. + // For example, the culture "es-CL" means "Spanish, in Chili". + // It represents the Spanish-speaking culture as it is in Chili, + // which might have different formatting rules or even translations + // than Spanish in Spain. A "neutral" culture is one that is not + // specific to a region. For example, the culture "es" is the generic + // Spanish culture, which may be a more generalized version of the language + // that may or may not be what a specific culture expects. + // For a specific culture like "es-CL", the "language" field refers to the + // neutral, generic culture information for the language it is using. + // This is not always a simple matter of the string before the dash. + // For example, the "zh-Hans" culture is netural (Simplified Chinese). + // And the "zh-SG" culture is Simplified Chinese in Singapore, whose lanugage + // field is "zh-CHS", not "zh". + // This field should be used to navigate from a specific culture to it's + // more general, neutral culture. If a culture is already as general as it + // can get, the language may refer to itself. + language: "en", + // numberFormat defines general number formatting rules, like the digits in + // each grouping, the group separator, and how negative numbers are displayed. + numberFormat: { + // [negativePattern] + // Note, numberFormat.pattern has no "positivePattern" unlike percent and currency, + // but is still defined as an array for consistency with them. + // negativePattern: one of "(n)|-n|- n|n-|n -" + pattern: [ "-n" ], + // number of decimal places normally shown + decimals: 2, + // string that separates number groups, as in 1,000,000 + ",": ",", + // string that separates a number from the fractional portion, as in 1.99 + ".": ".", + // array of numbers indicating the size of each number group. + // TODO: more detailed description and example + groupSizes: [ 3 ], + // symbol used for positive numbers + "+": "+", + // symbol used for negative numbers + "-": "-", + // symbol used for NaN (Not-A-Number) + NaN: "NaN", + // symbol used for Negative Infinity + negativeInfinity: "-Infinity", + // symbol used for Positive Infinity + positiveInfinity: "Infinity", + percent: { + // [negativePattern, positivePattern] + // negativePattern: one of "-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %" + // positivePattern: one of "n %|n%|%n|% n" + pattern: [ "-n %", "n %" ], + // number of decimal places normally shown + decimals: 2, + // array of numbers indicating the size of each number group. + // TODO: more detailed description and example + groupSizes: [ 3 ], + // string that separates number groups, as in 1,000,000 + ",": ",", + // string that separates a number from the fractional portion, as in 1.99 + ".": ".", + // symbol used to represent a percentage + symbol: "%" + }, + currency: { + // [negativePattern, positivePattern] + // negativePattern: one of "($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)" + // positivePattern: one of "$n|n$|$ n|n $" + pattern: [ "($n)", "$n" ], + // number of decimal places normally shown + decimals: 2, + // array of numbers indicating the size of each number group. + // TODO: more detailed description and example + groupSizes: [ 3 ], + // string that separates number groups, as in 1,000,000 + ",": ",", + // string that separates a number from the fractional portion, as in 1.99 + ".": ".", + // symbol used to represent currency + symbol: "$" + } + }, + // calendars defines all the possible calendars used by this culture. + // There should be at least one defined with name "standard", and is the default + // calendar used by the culture. + // A calendar contains information about how dates are formatted, information about + // the calendar's eras, a standard set of the date formats, + // translations for day and month names, and if the calendar is not based on the Gregorian + // calendar, conversion functions to and from the Gregorian calendar. + calendars: { + standard: { + // name that identifies the type of calendar this is + name: "Gregorian_USEnglish", + // separator of parts of a date (e.g. "/" in 11/05/1955) + "/": "/", + // separator of parts of a time (e.g. ":" in 05:44 PM) + ":": ":", + // the first day of the week (0 = Sunday, 1 = Monday, etc) + firstDay: 0, + days: { + // full day names + names: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], + // abbreviated day names + namesAbbr: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], + // shortest day names + namesShort: [ "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ] + }, + months: { + // full month names (13 months for lunar calendards -- 13th month should be "" if not lunar) + names: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "" ], + // abbreviated month names + namesAbbr: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "" ] + }, + // AM and PM designators in one of these forms: + // The usual view, and the upper and lower case versions + // [ standard, lowercase, uppercase ] + // The culture does not use AM or PM (likely all standard date formats use 24 hour time) + // null + AM: [ "AM", "am", "AM" ], + PM: [ "PM", "pm", "PM" ], + eras: [ + // eras in reverse chronological order. + // name: the name of the era in this culture (e.g. A.D., C.E.) + // start: when the era starts in ticks (gregorian, gmt), null if it is the earliest supported era. + // offset: offset in years from gregorian calendar + { + "name": "A.D.", + "start": null, + "offset": 0 + } + ], + // when a two digit year is given, it will never be parsed as a four digit + // year greater than this year (in the appropriate era for the culture) + // Set it as a full year (e.g. 2029) or use an offset format starting from + // the current year: "+19" would correspond to 2029 if the current year 2010. + twoDigitYearMax: 2029, + // set of predefined date and time patterns used by the culture + // these represent the format someone in this culture would expect + // to see given the portions of the date that are shown. + patterns: { + // short date pattern + d: "M/d/yyyy", + // long date pattern + D: "dddd, MMMM dd, yyyy", + // short time pattern + t: "h:mm tt", + // long time pattern + T: "h:mm:ss tt", + // long date, short time pattern + f: "dddd, MMMM dd, yyyy h:mm tt", + // long date, long time pattern + F: "dddd, MMMM dd, yyyy h:mm:ss tt", + // month/day pattern + M: "MMMM dd", + // month/year pattern + Y: "yyyy MMMM", + // S is a sortable format that does not vary by culture + S: "yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss" + } + // optional fields for each calendar: + /* + monthsGenitive: + Same as months but used when the day preceeds the month. + Omit if the culture has no genitive distinction in month names. + For an explaination of genitive months, see http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx + convert: + Allows for the support of non-gregorian based calendars. This convert object is used to + to convert a date to and from a gregorian calendar date to handle parsing and formatting. + The two functions: + fromGregorian( date ) + Given the date as a parameter, return an array with parts [ year, month, day ] + corresponding to the non-gregorian based year, month, and day for the calendar. + toGregorian( year, month, day ) + Given the non-gregorian year, month, and day, return a new Date() object + set to the corresponding date in the gregorian calendar. + */ + } + }, + // For localized strings + messages: {} +}; + +Globalize.cultures[ "default" ].calendar = Globalize.cultures[ "default" ].calendars.standard; + +Globalize.cultures[ "en" ] = Globalize.cultures[ "default" ]; + +Globalize.cultureSelector = "en"; + +// +// private variables +// + +regexHex = /^0x[a-f0-9]+$/i; +regexInfinity = /^[+-]?infinity$/i; +regexParseFloat = /^[+-]?\d*\.?\d*(e[+-]?\d+)?$/; +regexTrim = /^\s+|\s+$/g; + +// +// private JavaScript utility functions +// + +arrayIndexOf = function( array, item ) { + if ( array.indexOf ) { + return array.indexOf( item ); + } + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[i] === item ) { + return i; + } + } + return -1; +}; + +endsWith = function( value, pattern ) { + return value.substr( value.length - pattern.length ) === pattern; +}; + +extend = function( deep ) { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction(target) ) { + target = {}; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( isObject(copy) || (copyIsArray = isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && isArray(src) ? src : []; + + } else { + clone = src && isObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +isArray = Array.isArray || function( obj ) { + return Object.prototype.toString.call( obj ) === "[object Array]"; +}; + +isFunction = function( obj ) { + return Object.prototype.toString.call( obj ) === "[object Function]"; +}; + +isObject = function( obj ) { + return Object.prototype.toString.call( obj ) === "[object Object]"; +}; + +startsWith = function( value, pattern ) { + return value.indexOf( pattern ) === 0; +}; + +trim = function( value ) { + return ( value + "" ).replace( regexTrim, "" ); +}; + +truncate = function( value ) { + if ( isNaN( value ) ) { + return NaN; + } + return Math[ value < 0 ? "ceil" : "floor" ]( value ); +}; + +zeroPad = function( str, count, left ) { + var l; + for ( l = str.length; l < count; l += 1 ) { + str = ( left ? ("0" + str) : (str + "0") ); + } + return str; +}; + +// +// private Globalization utility functions +// + +appendPreOrPostMatch = function( preMatch, strings ) { + // appends pre- and post- token match strings while removing escaped characters. + // Returns a single quote count which is used to determine if the token occurs + // in a string literal. + var quoteCount = 0, + escaped = false; + for ( var i = 0, il = preMatch.length; i < il; i++ ) { + var c = preMatch.charAt( i ); + switch ( c ) { + case "\'": + if ( escaped ) { + strings.push( "\'" ); + } + else { + quoteCount++; + } + escaped = false; + break; + case "\\": + if ( escaped ) { + strings.push( "\\" ); + } + escaped = !escaped; + break; + default: + strings.push( c ); + escaped = false; + break; + } + } + return quoteCount; +}; + +expandFormat = function( cal, format ) { + // expands unspecified or single character date formats into the full pattern. + format = format || "F"; + var pattern, + patterns = cal.patterns, + len = format.length; + if ( len === 1 ) { + pattern = patterns[ format ]; + if ( !pattern ) { + throw "Invalid date format string \'" + format + "\'."; + } + format = pattern; + } + else if ( len === 2 && format.charAt(0) === "%" ) { + // %X escape format -- intended as a custom format string that is only one character, not a built-in format. + format = format.charAt( 1 ); + } + return format; +}; + +formatDate = function( value, format, culture ) { + var cal = culture.calendar, + convert = cal.convert; + + if ( !format || !format.length || format === "i" ) { + var ret; + if ( culture && culture.name.length ) { + if ( convert ) { + // non-gregorian calendar, so we cannot use built-in toLocaleString() + ret = formatDate( value, cal.patterns.F, culture ); + } + else { + var eraDate = new Date( value.getTime() ), + era = getEra( value, cal.eras ); + eraDate.setFullYear( getEraYear(value, cal, era) ); + ret = eraDate.toLocaleString(); + } + } + else { + ret = value.toString(); + } + return ret; + } + + var eras = cal.eras, + sortable = format === "s"; + format = expandFormat( cal, format ); + + // Start with an empty string + ret = []; + var hour, + zeros = [ "0", "00", "000" ], + foundDay, + checkedDay, + dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g, + quoteCount = 0, + tokenRegExp = getTokenRegExp(), + converted; + + function padZeros( num, c ) { + var r, s = num + ""; + if ( c > 1 && s.length < c ) { + r = ( zeros[c - 2] + s); + return r.substr( r.length - c, c ); + } + else { + r = s; + } + return r; + } + + function hasDay() { + if ( foundDay || checkedDay ) { + return foundDay; + } + foundDay = dayPartRegExp.test( format ); + checkedDay = true; + return foundDay; + } + + function getPart( date, part ) { + if ( converted ) { + return converted[ part ]; + } + switch ( part ) { + case 0: return date.getFullYear(); + case 1: return date.getMonth(); + case 2: return date.getDate(); + } + } + + if ( !sortable && convert ) { + converted = convert.fromGregorian( value ); + } + + for ( ; ; ) { + // Save the current index + var index = tokenRegExp.lastIndex, + // Look for the next pattern + ar = tokenRegExp.exec( format ); + + // Append the text before the pattern (or the end of the string if not found) + var preMatch = format.slice( index, ar ? ar.index : format.length ); + quoteCount += appendPreOrPostMatch( preMatch, ret ); + + if ( !ar ) { + break; + } + + // do not replace any matches that occur inside a string literal. + if ( quoteCount % 2 ) { + ret.push( ar[0] ); + continue; + } + + var current = ar[ 0 ], + clength = current.length; + + switch ( current ) { + case "ddd": + //Day of the week, as a three-letter abbreviation + case "dddd": + // Day of the week, using the full name + var names = ( clength === 3 ) ? cal.days.namesAbbr : cal.days.names; + ret.push( names[value.getDay()] ); + break; + case "d": + // Day of month, without leading zero for single-digit days + case "dd": + // Day of month, with leading zero for single-digit days + foundDay = true; + ret.push( + padZeros( getPart(value, 2), clength ) + ); + break; + case "MMM": + // Month, as a three-letter abbreviation + case "MMMM": + // Month, using the full name + var part = getPart( value, 1 ); + ret.push( + ( cal.monthsGenitive && hasDay() ) + ? + cal.monthsGenitive[ clength === 3 ? "namesAbbr" : "names" ][ part ] + : + cal.months[ clength === 3 ? "namesAbbr" : "names" ][ part ] + ); + break; + case "M": + // Month, as digits, with no leading zero for single-digit months + case "MM": + // Month, as digits, with leading zero for single-digit months + ret.push( + padZeros( getPart(value, 1) + 1, clength ) + ); + break; + case "y": + // Year, as two digits, but with no leading zero for years less than 10 + case "yy": + // Year, as two digits, with leading zero for years less than 10 + case "yyyy": + // Year represented by four full digits + part = converted ? converted[ 0 ] : getEraYear( value, cal, getEra(value, eras), sortable ); + if ( clength < 4 ) { + part = part % 100; + } + ret.push( + padZeros( part, clength ) + ); + break; + case "h": + // Hours with no leading zero for single-digit hours, using 12-hour clock + case "hh": + // Hours with leading zero for single-digit hours, using 12-hour clock + hour = value.getHours() % 12; + if ( hour === 0 ) hour = 12; + ret.push( + padZeros( hour, clength ) + ); + break; + case "H": + // Hours with no leading zero for single-digit hours, using 24-hour clock + case "HH": + // Hours with leading zero for single-digit hours, using 24-hour clock + ret.push( + padZeros( value.getHours(), clength ) + ); + break; + case "m": + // Minutes with no leading zero for single-digit minutes + case "mm": + // Minutes with leading zero for single-digit minutes + ret.push( + padZeros( value.getMinutes(), clength ) + ); + break; + case "s": + // Seconds with no leading zero for single-digit seconds + case "ss": + // Seconds with leading zero for single-digit seconds + ret.push( + padZeros( value.getSeconds(), clength ) + ); + break; + case "t": + // One character am/pm indicator ("a" or "p") + case "tt": + // Multicharacter am/pm indicator + part = value.getHours() < 12 ? ( cal.AM ? cal.AM[0] : " " ) : ( cal.PM ? cal.PM[0] : " " ); + ret.push( clength === 1 ? part.charAt(0) : part ); + break; + case "f": + // Deciseconds + case "ff": + // Centiseconds + case "fff": + // Milliseconds + ret.push( + padZeros( value.getMilliseconds(), 3 ).substr( 0, clength ) + ); + break; + case "z": + // Time zone offset, no leading zero + case "zz": + // Time zone offset with leading zero + hour = value.getTimezoneOffset() / 60; + ret.push( + ( hour <= 0 ? "+" : "-" ) + padZeros( Math.floor(Math.abs(hour)), clength ) + ); + break; + case "zzz": + // Time zone offset with leading zero + hour = value.getTimezoneOffset() / 60; + ret.push( + ( hour <= 0 ? "+" : "-" ) + padZeros( Math.floor(Math.abs(hour)), 2 ) + // Hard coded ":" separator, rather than using cal.TimeSeparator + // Repeated here for consistency, plus ":" was already assumed in date parsing. + + ":" + padZeros( Math.abs(value.getTimezoneOffset() % 60), 2 ) + ); + break; + case "g": + case "gg": + if ( cal.eras ) { + ret.push( + cal.eras[ getEra(value, eras) ].name + ); + } + break; + case "/": + ret.push( cal["/"] ); + break; + default: + throw "Invalid date format pattern \'" + current + "\'."; + break; + } + } + return ret.join( "" ); +}; + +// formatNumber +(function() { + var expandNumber; + + expandNumber = function( number, precision, formatInfo ) { + var groupSizes = formatInfo.groupSizes, + curSize = groupSizes[ 0 ], + curGroupIndex = 1, + factor = Math.pow( 10, precision ), + rounded = Math.round( number * factor ) / factor; + + if ( !isFinite(rounded) ) { + rounded = number; + } + number = rounded; + + var numberString = number+"", + right = "", + split = numberString.split( /e/i ), + exponent = split.length > 1 ? parseInt( split[1], 10 ) : 0; + numberString = split[ 0 ]; + split = numberString.split( "." ); + numberString = split[ 0 ]; + right = split.length > 1 ? split[ 1 ] : ""; + + var l; + if ( exponent > 0 ) { + right = zeroPad( right, exponent, false ); + numberString += right.slice( 0, exponent ); + right = right.substr( exponent ); + } + else if ( exponent < 0 ) { + exponent = -exponent; + numberString = zeroPad( numberString, exponent + 1 ); + right = numberString.slice( -exponent, numberString.length ) + right; + numberString = numberString.slice( 0, -exponent ); + } + + if ( precision > 0 ) { + right = formatInfo[ "." ] + + ( (right.length > precision) ? right.slice(0, precision) : zeroPad(right, precision) ); + } + else { + right = ""; + } + + var stringIndex = numberString.length - 1, + sep = formatInfo[ "," ], + ret = ""; + + while ( stringIndex >= 0 ) { + if ( curSize === 0 || curSize > stringIndex ) { + return numberString.slice( 0, stringIndex + 1 ) + ( ret.length ? (sep + ret + right) : right ); + } + ret = numberString.slice( stringIndex - curSize + 1, stringIndex + 1 ) + ( ret.length ? (sep + ret) : "" ); + + stringIndex -= curSize; + + if ( curGroupIndex < groupSizes.length ) { + curSize = groupSizes[ curGroupIndex ]; + curGroupIndex++; + } + } + + return numberString.slice( 0, stringIndex + 1 ) + sep + ret + right; + }; + + formatNumber = function( value, format, culture ) { + if ( !isFinite(value) ) { + if ( value === Infinity ) { + return culture.numberFormat.positiveInfinity; + } + if ( value === -Infinity ) { + return culture.numberFormat.negativeInfinity; + } + return culture.numberFormat.NaN; + } + if ( !format || format === "i" ) { + return culture.name.length ? value.toLocaleString() : value.toString(); + } + format = format || "D"; + + var nf = culture.numberFormat, + number = Math.abs( value ), + precision = -1, + pattern; + if ( format.length > 1 ) precision = parseInt( format.slice(1), 10 ); + + var current = format.charAt( 0 ).toUpperCase(), + formatInfo; + + switch ( current ) { + case "D": + pattern = "n"; + number = truncate( number ); + if ( precision !== -1 ) { + number = zeroPad( "" + number, precision, true ); + } + if ( value < 0 ) number = "-" + number; + break; + case "N": + formatInfo = nf; + // fall through + case "C": + formatInfo = formatInfo || nf.currency; + // fall through + case "P": + formatInfo = formatInfo || nf.percent; + pattern = value < 0 ? formatInfo.pattern[ 0 ] : ( formatInfo.pattern[1] || "n" ); + if ( precision === -1 ) precision = formatInfo.decimals; + number = expandNumber( number * (current === "P" ? 100 : 1), precision, formatInfo ); + break; + default: + throw "Bad number format specifier: " + current; + } + + var patternParts = /n|\$|-|%/g, + ret = ""; + for ( ; ; ) { + var index = patternParts.lastIndex, + ar = patternParts.exec( pattern ); + + ret += pattern.slice( index, ar ? ar.index : pattern.length ); + + if ( !ar ) { + break; + } + + switch ( ar[0] ) { + case "n": + ret += number; + break; + case "$": + ret += nf.currency.symbol; + break; + case "-": + // don't make 0 negative + if ( /[1-9]/.test(number) ) { + ret += nf[ "-" ]; + } + break; + case "%": + ret += nf.percent.symbol; + break; + } + } + + return ret; + }; + +}()); + +getTokenRegExp = function() { + // regular expression for matching date and time tokens in format strings. + return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g; +}; + +getEra = function( date, eras ) { + if ( !eras ) return 0; + var start, ticks = date.getTime(); + for ( var i = 0, l = eras.length; i < l; i++ ) { + start = eras[ i ].start; + if ( start === null || ticks >= start ) { + return i; + } + } + return 0; +}; + +getEraYear = function( date, cal, era, sortable ) { + var year = date.getFullYear(); + if ( !sortable && cal.eras ) { + // convert normal gregorian year to era-shifted gregorian + // year by subtracting the era offset + year -= cal.eras[ era ].offset; + } + return year; +}; + +// parseExact +(function() { + var expandYear, + getDayIndex, + getMonthIndex, + getParseRegExp, + outOfRange, + toUpper, + toUpperArray; + + expandYear = function( cal, year ) { + // expands 2-digit year into 4 digits. + if ( year < 100 ) { + var now = new Date(), + era = getEra( now ), + curr = getEraYear( now, cal, era ), + twoDigitYearMax = cal.twoDigitYearMax; + twoDigitYearMax = typeof twoDigitYearMax === "string" ? new Date().getFullYear() % 100 + parseInt( twoDigitYearMax, 10 ) : twoDigitYearMax; + year += curr - ( curr % 100 ); + if ( year > twoDigitYearMax ) { + year -= 100; + } + } + return year; + }; + + getDayIndex = function ( cal, value, abbr ) { + var ret, + days = cal.days, + upperDays = cal._upperDays; + if ( !upperDays ) { + cal._upperDays = upperDays = [ + toUpperArray( days.names ), + toUpperArray( days.namesAbbr ), + toUpperArray( days.namesShort ) + ]; + } + value = toUpper( value ); + if ( abbr ) { + ret = arrayIndexOf( upperDays[1], value ); + if ( ret === -1 ) { + ret = arrayIndexOf( upperDays[2], value ); + } + } + else { + ret = arrayIndexOf( upperDays[0], value ); + } + return ret; + }; + + getMonthIndex = function( cal, value, abbr ) { + var months = cal.months, + monthsGen = cal.monthsGenitive || cal.months, + upperMonths = cal._upperMonths, + upperMonthsGen = cal._upperMonthsGen; + if ( !upperMonths ) { + cal._upperMonths = upperMonths = [ + toUpperArray( months.names ), + toUpperArray( months.namesAbbr ) + ]; + cal._upperMonthsGen = upperMonthsGen = [ + toUpperArray( monthsGen.names ), + toUpperArray( monthsGen.namesAbbr ) + ]; + } + value = toUpper( value ); + var i = arrayIndexOf( abbr ? upperMonths[1] : upperMonths[0], value ); + if ( i < 0 ) { + i = arrayIndexOf( abbr ? upperMonthsGen[1] : upperMonthsGen[0], value ); + } + return i; + }; + + getParseRegExp = function( cal, format ) { + // converts a format string into a regular expression with groups that + // can be used to extract date fields from a date string. + // check for a cached parse regex. + var re = cal._parseRegExp; + if ( !re ) { + cal._parseRegExp = re = {}; + } + else { + var reFormat = re[ format ]; + if ( reFormat ) { + return reFormat; + } + } + + // expand single digit formats, then escape regular expression characters. + var expFormat = expandFormat( cal, format ).replace( /([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1" ), + regexp = [ "^" ], + groups = [], + index = 0, + quoteCount = 0, + tokenRegExp = getTokenRegExp(), + match; + + // iterate through each date token found. + while ( (match = tokenRegExp.exec(expFormat)) !== null ) { + var preMatch = expFormat.slice( index, match.index ); + index = tokenRegExp.lastIndex; + + // don't replace any matches that occur inside a string literal. + quoteCount += appendPreOrPostMatch( preMatch, regexp ); + if ( quoteCount % 2 ) { + regexp.push( match[0] ); + continue; + } + + // add a regex group for the token. + var m = match[ 0 ], + len = m.length, + add; + switch ( m ) { + case "dddd": case "ddd": + case "MMMM": case "MMM": + case "gg": case "g": + add = "(\\D+)"; + break; + case "tt": case "t": + add = "(\\D*)"; + break; + case "yyyy": + case "fff": + case "ff": + case "f": + add = "(\\d{" + len + "})"; + break; + case "dd": case "d": + case "MM": case "M": + case "yy": case "y": + case "HH": case "H": + case "hh": case "h": + case "mm": case "m": + case "ss": case "s": + add = "(\\d\\d?)"; + break; + case "zzz": + add = "([+-]?\\d\\d?:\\d{2})"; + break; + case "zz": case "z": + add = "([+-]?\\d\\d?)"; + break; + case "/": + add = "(\\" + cal[ "/" ] + ")"; + break; + default: + throw "Invalid date format pattern \'" + m + "\'."; + break; + } + if ( add ) { + regexp.push( add ); + } + groups.push( match[0] ); + } + appendPreOrPostMatch( expFormat.slice(index), regexp ); + regexp.push( "$" ); + + // allow whitespace to differ when matching formats. + var regexpStr = regexp.join( "" ).replace( /\s+/g, "\\s+" ), + parseRegExp = { "regExp": regexpStr, "groups": groups }; + + // cache the regex for this format. + return re[ format ] = parseRegExp; + }; + + outOfRange = function( value, low, high ) { + return value < low || value > high; + }; + + toUpper = function( value ) { + // "he-IL" has non-breaking space in weekday names. + return value.split( "\u00A0" ).join( " " ).toUpperCase(); + }; + + toUpperArray = function( arr ) { + var results = []; + for ( var i = 0, l = arr.length; i < l; i++ ) { + results[ i ] = toUpper( arr[i] ); + } + return results; + }; + + parseExact = function( value, format, culture ) { + // try to parse the date string by matching against the format string + // while using the specified culture for date field names. + value = trim( value ); + var cal = culture.calendar, + // convert date formats into regular expressions with groupings. + // use the regexp to determine the input format and extract the date fields. + parseInfo = getParseRegExp( cal, format ), + match = new RegExp( parseInfo.regExp ).exec( value ); + if ( match === null ) { + return null; + } + // found a date format that matches the input. + var groups = parseInfo.groups, + era = null, year = null, month = null, date = null, weekDay = null, + hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null, + pmHour = false; + // iterate the format groups to extract and set the date fields. + for ( var j = 0, jl = groups.length; j < jl; j++ ) { + var matchGroup = match[ j + 1 ]; + if ( matchGroup ) { + var current = groups[ j ], + clength = current.length, + matchInt = parseInt( matchGroup, 10 ); + switch ( current ) { + case "dd": case "d": + // Day of month. + date = matchInt; + // check that date is generally in valid range, also checking overflow below. + if ( outOfRange(date, 1, 31) ) return null; + break; + case "MMM": case "MMMM": + month = getMonthIndex( cal, matchGroup, clength === 3 ); + if ( outOfRange(month, 0, 11) ) return null; + break; + case "M": case "MM": + // Month. + month = matchInt - 1; + if ( outOfRange(month, 0, 11) ) return null; + break; + case "y": case "yy": + case "yyyy": + year = clength < 4 ? expandYear( cal, matchInt ) : matchInt; + if ( outOfRange(year, 0, 9999) ) return null; + break; + case "h": case "hh": + // Hours (12-hour clock). + hour = matchInt; + if ( hour === 12 ) hour = 0; + if ( outOfRange(hour, 0, 11) ) return null; + break; + case "H": case "HH": + // Hours (24-hour clock). + hour = matchInt; + if ( outOfRange(hour, 0, 23) ) return null; + break; + case "m": case "mm": + // Minutes. + min = matchInt; + if ( outOfRange(min, 0, 59) ) return null; + break; + case "s": case "ss": + // Seconds. + sec = matchInt; + if ( outOfRange(sec, 0, 59) ) return null; + break; + case "tt": case "t": + // AM/PM designator. + // see if it is standard, upper, or lower case PM. If not, ensure it is at least one of + // the AM tokens. If not, fail the parse for this format. + pmHour = cal.PM && ( matchGroup === cal.PM[0] || matchGroup === cal.PM[1] || matchGroup === cal.PM[2] ); + if ( + !pmHour && ( + !cal.AM || ( matchGroup !== cal.AM[0] && matchGroup !== cal.AM[1] && matchGroup !== cal.AM[2] ) + ) + ) return null; + break; + case "f": + // Deciseconds. + case "ff": + // Centiseconds. + case "fff": + // Milliseconds. + msec = matchInt * Math.pow( 10, 3 - clength ); + if ( outOfRange(msec, 0, 999) ) return null; + break; + case "ddd": + // Day of week. + case "dddd": + // Day of week. + weekDay = getDayIndex( cal, matchGroup, clength === 3 ); + if ( outOfRange(weekDay, 0, 6) ) return null; + break; + case "zzz": + // Time zone offset in +/- hours:min. + var offsets = matchGroup.split( /:/ ); + if ( offsets.length !== 2 ) return null; + hourOffset = parseInt( offsets[0], 10 ); + if ( outOfRange(hourOffset, -12, 13) ) return null; + var minOffset = parseInt( offsets[1], 10 ); + if ( outOfRange(minOffset, 0, 59) ) return null; + tzMinOffset = ( hourOffset * 60 ) + ( startsWith(matchGroup, "-") ? -minOffset : minOffset ); + break; + case "z": case "zz": + // Time zone offset in +/- hours. + hourOffset = matchInt; + if ( outOfRange(hourOffset, -12, 13) ) return null; + tzMinOffset = hourOffset * 60; + break; + case "g": case "gg": + var eraName = matchGroup; + if ( !eraName || !cal.eras ) return null; + eraName = trim( eraName.toLowerCase() ); + for ( var i = 0, l = cal.eras.length; i < l; i++ ) { + if ( eraName === cal.eras[i].name.toLowerCase() ) { + era = i; + break; + } + } + // could not find an era with that name + if ( era === null ) return null; + break; + } + } + } + var result = new Date(), defaultYear, convert = cal.convert; + defaultYear = convert ? convert.fromGregorian( result )[ 0 ] : result.getFullYear(); + if ( year === null ) { + year = defaultYear; + } + else if ( cal.eras ) { + // year must be shifted to normal gregorian year + // but not if year was not specified, its already normal gregorian + // per the main if clause above. + year += cal.eras[( era || 0 )].offset; + } + // set default day and month to 1 and January, so if unspecified, these are the defaults + // instead of the current day/month. + if ( month === null ) { + month = 0; + } + if ( date === null ) { + date = 1; + } + // now have year, month, and date, but in the culture's calendar. + // convert to gregorian if necessary + if ( convert ) { + result = convert.toGregorian( year, month, date ); + // conversion failed, must be an invalid match + if ( result === null ) return null; + } + else { + // have to set year, month and date together to avoid overflow based on current date. + result.setFullYear( year, month, date ); + // check to see if date overflowed for specified month (only checked 1-31 above). + if ( result.getDate() !== date ) return null; + // invalid day of week. + if ( weekDay !== null && result.getDay() !== weekDay ) { + return null; + } + } + // if pm designator token was found make sure the hours fit the 24-hour clock. + if ( pmHour && hour < 12 ) { + hour += 12; + } + result.setHours( hour, min, sec, msec ); + if ( tzMinOffset !== null ) { + // adjust timezone to utc before applying local offset. + var adjustedMin = result.getMinutes() - ( tzMinOffset + result.getTimezoneOffset() ); + // Safari limits hours and minutes to the range of -127 to 127. We need to use setHours + // to ensure both these fields will not exceed this range. adjustedMin will range + // somewhere between -1440 and 1500, so we only need to split this into hours. + result.setHours( result.getHours() + parseInt(adjustedMin / 60, 10), adjustedMin % 60 ); + } + return result; + }; +}()); + +parseNegativePattern = function( value, nf, negativePattern ) { + var neg = nf[ "-" ], + pos = nf[ "+" ], + ret; + switch ( negativePattern ) { + case "n -": + neg = " " + neg; + pos = " " + pos; + // fall through + case "n-": + if ( endsWith(value, neg) ) { + ret = [ "-", value.substr(0, value.length - neg.length) ]; + } + else if ( endsWith(value, pos) ) { + ret = [ "+", value.substr(0, value.length - pos.length) ]; + } + break; + case "- n": + neg += " "; + pos += " "; + // fall through + case "-n": + if ( startsWith(value, neg) ) { + ret = [ "-", value.substr(neg.length) ]; + } + else if ( startsWith(value, pos) ) { + ret = [ "+", value.substr(pos.length) ]; + } + break; + case "(n)": + if ( startsWith(value, "(") && endsWith(value, ")") ) { + ret = [ "-", value.substr(1, value.length - 2) ]; + } + break; + } + return ret || [ "", value ]; +}; + +// +// public instance functions +// + +Globalize.prototype.findClosestCulture = function( cultureSelector ) { + return Globalize.findClosestCulture.call( this, cultureSelector ); +}; + +Globalize.prototype.format = function( value, format, cultureSelector ) { + return Globalize.format.call( this, value, format, cultureSelector ); +}; + +Globalize.prototype.localize = function( key, cultureSelector ) { + return Globalize.localize.call( this, key, cultureSelector ); +}; + +Globalize.prototype.parseInt = function( value, radix, cultureSelector ) { + return Globalize.parseInt.call( this, value, radix, cultureSelector ); +}; + +Globalize.prototype.parseFloat = function( value, radix, cultureSelector ) { + return Globalize.parseFloat.call( this, value, radix, cultureSelector ); +}; + +Globalize.prototype.culture = function( cultureSelector ) { + return Globalize.culture.call( this, cultureSelector ); +}; + +// +// public singleton functions +// + +Globalize.addCultureInfo = function( cultureName, baseCultureName, info ) { + + var base = {}, + isNew = false; + + if ( typeof cultureName !== "string" ) { + // cultureName argument is optional string. If not specified, assume info is first + // and only argument. Specified info deep-extends current culture. + info = cultureName; + cultureName = this.culture().name; + base = this.cultures[ cultureName ]; + } else if ( typeof baseCultureName !== "string" ) { + // baseCultureName argument is optional string. If not specified, assume info is second + // argument. Specified info deep-extends specified culture. + // If specified culture does not exist, create by deep-extending default + info = baseCultureName; + isNew = ( this.cultures[ cultureName ] == null ); + base = this.cultures[ cultureName ] || this.cultures[ "default" ]; + } else { + // cultureName and baseCultureName specified. Assume a new culture is being created + // by deep-extending an specified base culture + isNew = true; + base = this.cultures[ baseCultureName ]; + } + + this.cultures[ cultureName ] = extend(true, {}, + base, + info + ); + // Make the standard calendar the current culture if it's a new culture + if ( isNew ) { + this.cultures[ cultureName ].calendar = this.cultures[ cultureName ].calendars.standard; + } +}; + +Globalize.findClosestCulture = function( name ) { + var match; + if ( !name ) { + return this.findClosestCulture( this.cultureSelector ) || this.cultures[ "default" ]; + } + if ( typeof name === "string" ) { + name = name.split( "," ); + } + if ( isArray(name) ) { + var lang, + cultures = this.cultures, + list = name, + i, l = list.length, + prioritized = []; + for ( i = 0; i < l; i++ ) { + name = trim( list[i] ); + var pri, parts = name.split( ";" ); + lang = trim( parts[0] ); + if ( parts.length === 1 ) { + pri = 1; + } + else { + name = trim( parts[1] ); + if ( name.indexOf("q=") === 0 ) { + name = name.substr( 2 ); + pri = parseFloat( name ); + pri = isNaN( pri ) ? 0 : pri; + } + else { + pri = 1; + } + } + prioritized.push({ lang: lang, pri: pri }); + } + prioritized.sort(function( a, b ) { + return a.pri < b.pri ? 1 : -1; + }); + + // exact match + for ( i = 0; i < l; i++ ) { + lang = prioritized[ i ].lang; + match = cultures[ lang ]; + if ( match ) { + return match; + } + } + + // neutral language match + for ( i = 0; i < l; i++ ) { + lang = prioritized[ i ].lang; + do { + var index = lang.lastIndexOf( "-" ); + if ( index === -1 ) { + break; + } + // strip off the last part. e.g. en-US => en + lang = lang.substr( 0, index ); + match = cultures[ lang ]; + if ( match ) { + return match; + } + } + while ( 1 ); + } + + // last resort: match first culture using that language + for ( i = 0; i < l; i++ ) { + lang = prioritized[ i ].lang; + for ( var cultureKey in cultures ) { + var culture = cultures[ cultureKey ]; + if ( culture.language == lang ) { + return culture; + } + } + } + } + else if ( typeof name === "object" ) { + return name; + } + return match || null; +}; + +Globalize.format = function( value, format, cultureSelector ) { + culture = this.findClosestCulture( cultureSelector ); + if ( value instanceof Date ) { + value = formatDate( value, format, culture ); + } + else if ( typeof value === "number" ) { + value = formatNumber( value, format, culture ); + } + return value; +}; + +Globalize.localize = function( key, cultureSelector ) { + return this.findClosestCulture( cultureSelector ).messages[ key ] || + this.cultures[ "default" ].messages[ key ]; +}; + +Globalize.parseDate = function( value, formats, culture ) { + culture = this.findClosestCulture( culture ); + + var date, prop, patterns; + if ( formats ) { + if ( typeof formats === "string" ) { + formats = [ formats ]; + } + if ( formats.length ) { + for ( var i = 0, l = formats.length; i < l; i++ ) { + var format = formats[ i ]; + if ( format ) { + date = parseExact( value, format, culture ); + if ( date ) { + break; + } + } + } + } + } else { + patterns = culture.calendar.patterns; + for ( prop in patterns ) { + date = parseExact( value, patterns[prop], culture ); + if ( date ) { + break; + } + } + } + + return date || null; +}; + +Globalize.parseInt = function( value, radix, cultureSelector ) { + return truncate( Globalize.parseFloat(value, radix, cultureSelector) ); +}; + +Globalize.parseFloat = function( value, radix, cultureSelector ) { + // radix argument is optional + if ( typeof radix !== "number" ) { + cultureSelector = radix; + radix = 10; + } + + var culture = this.findClosestCulture( cultureSelector ); + var ret = NaN, + nf = culture.numberFormat; + + if ( value.indexOf(culture.numberFormat.currency.symbol) > -1 ) { + // remove currency symbol + value = value.replace( culture.numberFormat.currency.symbol, "" ); + // replace decimal seperator + value = value.replace( culture.numberFormat.currency["."], culture.numberFormat["."] ); + } + + // trim leading and trailing whitespace + value = trim( value ); + + // allow infinity or hexidecimal + if ( regexInfinity.test(value) ) { + ret = parseFloat( value ); + } + else if ( !radix && regexHex.test(value) ) { + ret = parseInt( value, 16 ); + } + else { + + // determine sign and number + var signInfo = parseNegativePattern( value, nf, nf.pattern[0] ), + sign = signInfo[ 0 ], + num = signInfo[ 1 ]; + + // #44 - try parsing as "(n)" + if ( sign === "" && nf.pattern[0] !== "(n)" ) { + signInfo = parseNegativePattern( value, nf, "(n)" ); + sign = signInfo[ 0 ]; + num = signInfo[ 1 ]; + } + + // try parsing as "-n" + if ( sign === "" && nf.pattern[0] !== "-n" ) { + signInfo = parseNegativePattern( value, nf, "-n" ); + sign = signInfo[ 0 ]; + num = signInfo[ 1 ]; + } + + sign = sign || "+"; + + // determine exponent and number + var exponent, + intAndFraction, + exponentPos = num.indexOf( "e" ); + if ( exponentPos < 0 ) exponentPos = num.indexOf( "E" ); + if ( exponentPos < 0 ) { + intAndFraction = num; + exponent = null; + } + else { + intAndFraction = num.substr( 0, exponentPos ); + exponent = num.substr( exponentPos + 1 ); + } + // determine decimal position + var integer, + fraction, + decSep = nf[ "." ], + decimalPos = intAndFraction.indexOf( decSep ); + if ( decimalPos < 0 ) { + integer = intAndFraction; + fraction = null; + } + else { + integer = intAndFraction.substr( 0, decimalPos ); + fraction = intAndFraction.substr( decimalPos + decSep.length ); + } + // handle groups (e.g. 1,000,000) + var groupSep = nf[ "," ]; + integer = integer.split( groupSep ).join( "" ); + var altGroupSep = groupSep.replace( /\u00A0/g, " " ); + if ( groupSep !== altGroupSep ) { + integer = integer.split( altGroupSep ).join( "" ); + } + // build a natively parsable number string + var p = sign + integer; + if ( fraction !== null ) { + p += "." + fraction; + } + if ( exponent !== null ) { + // exponent itself may have a number patternd + var expSignInfo = parseNegativePattern( exponent, nf, "-n" ); + p += "e" + ( expSignInfo[0] || "+" ) + expSignInfo[ 1 ]; + } + if ( regexParseFloat.test(p) ) { + ret = parseFloat( p ); + } + } + return ret; +}; + +Globalize.culture = function( cultureSelector ) { + // setter + if ( typeof cultureSelector !== "undefined" ) { + this.cultureSelector = cultureSelector; + } + // getter + return this.findClosestCulture( cultureSelector ) || this.culture[ "default" ]; +}; + +}( this )); diff --git a/libs/js/globalize/package.json b/libs/js/globalize/package.json new file mode 100644 index 00000000..182a7ded --- /dev/null +++ b/libs/js/globalize/package.json @@ -0,0 +1,45 @@ +{ + "name": "globalize", + "version": "0.1.0pre", + "description": "New age globalization and localization. Formats and parses strings, dates and numbers in over 350 cultures.", + "keywords": [ + "utility", + "globalization", "internationalization", "multilingualization", "localization", + "g11n", "i18n", "m17n", "L10n", + "localize", "format", "parse", "translate", + "strings", "numbers", "dates", "times", + "calendars", "cultures", "languages", "locales" + ], + "homepage": "http://wiki.jqueryui.com/Globalize", + "author": "The jQuery Project", + "contributors": [ + "Dave Reed <dareed@microsoft.com> (http://weblogs.asp.net/infinitiesloop)", + "Richard D. Worth <rdworth@gmail.com> (http://rdworth.org)", + "Jörn Zaefferer <joern.zaefferer@gmail.com> (http://bassistance.de)", + "Legal-Box <legalbox@eric.brechemier.name> (http://www.legal-box.com)", + "Nikolaus Graf (http://www.nikgraf.com)", + "Tobie Langel <tobie.langel@gmail.com> (http://tobielangel.com)", + "Boris Moore <borismoore@gmail.com> (http://www.borismoore.com)" + ], + "files": [ + "./lib/cultures" + ], + "main": "./lib/globalize.js", + "repository": { + "type": "git", + "url": "git://github.com/jquery/globalize.git" + }, + "bugs": { + "web": "http://github.com/jquery/globalize/issues" + }, + "directories": { + "lib": "./lib", + "examples": "./examples" + }, + "licenses": [ + { + "type": "MIT", + "url": "http://jquery.org/license" + } + ] +} diff --git a/libs/js/globalize/test/culture.js b/libs/js/globalize/test/culture.js new file mode 100644 index 00000000..a135a5a9 --- /dev/null +++ b/libs/js/globalize/test/culture.js @@ -0,0 +1,18 @@ +module( "culture", lifecycle ); + +test("culture setter", function() { + // Issue #45: Globalize.culture("es-AO") appears to work but does not set culture + // For this test to be valid, it must use a selector that is a close + // but not exact match, so de-DE does not work as it is an exact match + // de-de would work but is only different by case, so we'll use de-FOO + var closestReturn, closestSet; + + // Set current culture using a close (but not exact) culture selector + closestReturn = Globalize.culture("de-FOO"); + + // Get current culture testing set by previous call to culture(sel) setter + closestSet = Globalize.culture(); + + equal( closestReturn.name, "de" ); + equal( closestSet.name, "de" ); +}); diff --git a/libs/js/globalize/test/cultures.js b/libs/js/globalize/test/cultures.js new file mode 100644 index 00000000..0822a1fd --- /dev/null +++ b/libs/js/globalize/test/cultures.js @@ -0,0 +1,15 @@ +module( "cultures", lifecycle ); + +test("Culture name property and key", function() { + var name, + culture; + + for ( name in Globalize.cultures ) { + // default is an exception since it has the name default + // inside cultures but internally its name is 'en' (neutral English) + if ( name !== "default" ) { + culture = Globalize.cultures[ name ]; + equal( culture.name, name, "Name property in culture matches name key in cultures" ); + } + } +}); diff --git a/libs/js/globalize/test/findClosestCulture.js b/libs/js/globalize/test/findClosestCulture.js new file mode 100644 index 00000000..837e8a40 --- /dev/null +++ b/libs/js/globalize/test/findClosestCulture.js @@ -0,0 +1,62 @@ +(function() { + +module("findClosestCulture", lifecycle ); + +var en = originalCultures( "en" ), + de = originalCultures( "de" ), + deDE = originalCultures( "de-DE" ); + +test("default should be en", function() { + // use QUnit.equiv to avoid page-long printing + ok( QUnit.equiv(Globalize.findClosestCulture(), en) ); +}); + +test("match xx for xx request", function() { + ok( QUnit.equiv(Globalize.findClosestCulture("de"), de) ); + ok( QUnit.equiv(Globalize.findClosestCulture(["de"]), de) ); + ok( QUnit.equiv(Globalize.findClosestCulture("de;q=0.4"), de) ); +}); + +test("match xx-XX for xx-XX request", function() { + ok( QUnit.equiv(Globalize.findClosestCulture("de-DE"), deDE) ); + ok( QUnit.equiv(Globalize.findClosestCulture(["de-DE"]), deDE) ); + ok( QUnit.equiv(Globalize.findClosestCulture("de-DE;q=0.4"), deDE) ); +}); + +test("match xx for xx-XX request", function() { + ok( QUnit.equiv(Globalize.findClosestCulture("de-XX"), de) ); + ok( QUnit.equiv(Globalize.findClosestCulture(["de-XX"]), de) ); + ok( QUnit.equiv(Globalize.findClosestCulture("de-XX;q=0.4"), de) ); +}); + +test("match null for unknown language", function() { + ok( QUnit.equiv(Globalize.findClosestCulture("xx-XX"), null) ); + ok( QUnit.equiv(Globalize.findClosestCulture(["xx-XX"]), null) ); + ok( QUnit.equiv(Globalize.findClosestCulture("xx-XX;q=0.4"), null) ); +}); + +test("match xx-XX for xx request", function() { + Globalize.cultures = { + "de-DE": deDE + }; + + ok( QUnit.equiv(Globalize.findClosestCulture("de"), deDE) ); + ok( QUnit.equiv(Globalize.findClosestCulture(["de"]), deDE) ); + ok( QUnit.equiv(Globalize.findClosestCulture("de;q=0.4"), deDE) ); +}); + +test("match xx if multiple are provided is provided", function() { + ok( QUnit.equiv(Globalize.findClosestCulture(["en", "de-DE"]), en) ); + ok( QUnit.equiv(Globalize.findClosestCulture(["de-DE", "es-MX"]), deDE) ); + ok( QUnit.equiv(Globalize.findClosestCulture("de-DE, ha"), deDE) ); +}); + +test("if q is not defined it shoud be 1", function() { + ok( QUnit.equiv(Globalize.findClosestCulture("fr;q=0.4, es;q=0.5, de-DE"), deDE) ); +}); + +test("match language defined by q", function() { + ok( QUnit.equiv(Globalize.findClosestCulture("fr;q=0.4, de-DE;q=0.5"), deDE) ); +}); + +})(); diff --git a/libs/js/globalize/test/format.js b/libs/js/globalize/test/format.js new file mode 100644 index 00000000..8c254324 --- /dev/null +++ b/libs/js/globalize/test/format.js @@ -0,0 +1,61 @@ +module( "format", lifecycle ); + +test("Number Formatting - n for number", function() { + equal( Globalize.format(123.45, "n"), "123.45" ); + equal( Globalize.format(123.45, "n0"), "123" ); + equal( Globalize.format(123.45, "n1"), "123.5" ); +}); + +test("Number Formatting - d for decimal", function() { + equal( Globalize.format(123.45, "d"), "123" ); + equal( Globalize.format(-123.9, "d"), "-123" ); + equal( Globalize.format(12, "d3"), "012" ); + equal( Globalize.format(-12, "d"), "-12" ); + equal( Globalize.format(-12, "d4"), "-0012" ); +}); + +test("Number Formatting - c for currency", function() { + equal( Globalize.format(123.45, "c"), "$123.45" ); + equal( Globalize.format(123.45, "c0"), "$123" ); + equal( Globalize.format(123.45, "c1"), "$123.5" ); + equal( Globalize.format(-123.45, "c"), "($123.45)" ); +}); + +test("Number Formatting - p for percentage", function() { + equal( Globalize.format(0.12345, "p"), "12.35 %" ); + equal( Globalize.format(0.12345, "p0"), "12 %" ); + equal( Globalize.format(0.12345, "p4"), "12.3450 %" ); +}); + +test("NaN", function() { + equal( Globalize.format(NaN, "n"), "NaN" ); + equal( Globalize.format(NaN, "n1"), "NaN" ); + equal( Globalize.format(NaN, "d"), "NaN" ); + equal( Globalize.format(NaN, "d1"), "NaN" ); + equal( Globalize.format(NaN, "c"), "NaN" ); + equal( Globalize.format(NaN, "c1"), "NaN" ); + equal( Globalize.format(NaN, "p"), "NaN" ); + equal( Globalize.format(NaN, "p1"), "NaN" ); +}); + +test("Negative Infinity", function() { + equal( Globalize.format(-Infinity, "n"), "-Infinity" ); + equal( Globalize.format(-Infinity, "n1"), "-Infinity" ); + equal( Globalize.format(-Infinity, "d"), "-Infinity" ); + equal( Globalize.format(-Infinity, "d1"), "-Infinity" ); + equal( Globalize.format(-Infinity, "c"), "-Infinity" ); + equal( Globalize.format(-Infinity, "c1"), "-Infinity" ); + equal( Globalize.format(-Infinity, "p"), "-Infinity" ); + equal( Globalize.format(-Infinity, "p1"), "-Infinity" ); +}); + +test("Positive Infinity", function() { + equal( Globalize.format(Infinity, "n"), "Infinity" ); + equal( Globalize.format(Infinity, "n1"), "Infinity" ); + equal( Globalize.format(Infinity, "d"), "Infinity" ); + equal( Globalize.format(Infinity, "d1"), "Infinity" ); + equal( Globalize.format(Infinity, "c"), "Infinity" ); + equal( Globalize.format(Infinity, "c1"), "Infinity" ); + equal( Globalize.format(Infinity, "p"), "Infinity" ); + equal( Globalize.format(Infinity, "p1"), "Infinity" ); +}); diff --git a/libs/js/globalize/test/index.html b/libs/js/globalize/test/index.html new file mode 100644 index 00000000..9b7c79af --- /dev/null +++ b/libs/js/globalize/test/index.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8" /> + <title>Globalize Testsuite</title> + <link rel="stylesheet" href="qunit/qunit.css"/> + <script src="../lib/globalize.js"></script> + <script src="../lib/cultures/globalize.cultures.js"></script> + <script src="qunit/qunit.js"></script> + <script src="testsuite.js"></script> + <script src="culture.js"></script> + <script src="cultures.js"></script> + <script src="instance.js"></script> + <script src="findClosestCulture.js"></script> + <script src="format.js"></script> + <script src="localize.js"></script> + <script src="parse.js"></script> + </head> + <body> + <h1 id="qunit-header">Globalize Testsuite</h1> + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + </body> +</html> diff --git a/libs/js/globalize/test/instance.js b/libs/js/globalize/test/instance.js new file mode 100644 index 00000000..0e91c805 --- /dev/null +++ b/libs/js/globalize/test/instance.js @@ -0,0 +1,13 @@ +module("instance", lifecycle ); + +test("constructor sets culture", function() { + var globalizeDe = Globalize("de"); + equal( Globalize.parseFloat("5.3"), 5.3 ); + equal( Globalize.parseFloat("5,3"), 53 ); + equal( Globalize.parseFloat("5.3", "de"), 53 ); + equal( Globalize.parseFloat("5,3", "de"), 5.3 ); + equal( globalizeDe.parseFloat("5.3"), 53 ); + equal( globalizeDe.parseFloat("5,3"), 5.3 ); + equal( globalizeDe.parseFloat("5.3", "en"), 5.3 ); + equal( globalizeDe.parseFloat("5,3", "en"), 53 ); +}); diff --git a/libs/js/globalize/test/localize.js b/libs/js/globalize/test/localize.js new file mode 100644 index 00000000..48b2ec19 --- /dev/null +++ b/libs/js/globalize/test/localize.js @@ -0,0 +1,47 @@ +module( "localize", lifecycle ); + +test('set and retrieve translations', function() { + Globalize.addCultureInfo("fr", { + messages: { + "translate": "traduire" + } + }) + strictEqual( Globalize.localize("translate", "fr"), "traduire", "translate 'translate' to french" ); + strictEqual( Globalize("fr").localize("translate"), "traduire", "translate 'translate' to french" ); +}); + +test('retrieve translations with new culture', function() { + Globalize.addCultureInfo( "pirate", { + messages: { + "translate": "TARRRR" + } + }); + Globalize.culture("pirate"); + strictEqual( Globalize.localize("translate"), "TARRRR", "translate 'translate' to pirate language" ); +}); + +test('Retrieve translations for the most appropriate culture', function() { + Globalize.addCultureInfo("default", { + messages: { + "hello": "hello", + "world": "world" + } + }); + + Globalize.addCultureInfo("es", { + messages: { + "world": "mundo" + } + }); + + Globalize.culture("es"); + + strictEqual( Globalize.localize("world"), "mundo", "Key exists in current culture 'es'"); + strictEqual( Globalize.localize("world", "es"), "mundo", "Key exists in specified culture"); + strictEqual( Globalize.localize("world", "fr"), "world", + "Key does not exist in specified culture but does exist in default culture"); + strictEqual( Globalize.localize("hello"), "hello", + "Key does not exist in current culture, but does exist in default culture"); + strictEqual( Globalize.localize("goodbye"), undefined, + "Key does not exist in current culture or default culture"); +}); diff --git a/libs/js/globalize/test/parse.js b/libs/js/globalize/test/parse.js new file mode 100644 index 00000000..2f1ba3b2 --- /dev/null +++ b/libs/js/globalize/test/parse.js @@ -0,0 +1,36 @@ +module("parseFloat", lifecycle ); + +test("basics, float", function() { + equal( Globalize.parseFloat("5.51"), 5.51 ); + equal( Globalize.parseFloat("-5.51"), -5.51 ); + equal( Globalize.parseFloat("5,51", 10, "de-DE"), 5.51 ); +}); + +test("basics, int", function() { + equal( Globalize.parseInt("5.51"), 5 ); + equal( Globalize.parseInt("-5.51"), -5 ); + equal( Globalize.parseInt("5,51", 10, "de-DE"), 5 ); + equal( Globalize.parseInt("5000000000"), 5000000000 ); + equal( Globalize.parseInt("-5000000000"), -5000000000 ); +}); + +test("basics, currency", function() { + equal( Globalize.parseInt("$5.51"), 5 ); + equal( Globalize.parseFloat("$5.51"), 5.51 ); + equal( Globalize.parseInt("($5.51)"), -5 ); + equal( Globalize.parseFloat("($5.51)"), -5.51 ); + + // #44 - The cultures "lo" and "lo-LA" are unique in that they + // use the format "(n)" in both currency and number formatting + equal( Globalize.parseInt("(5.51₭)", "lo"), -5 ); + equal( Globalize.parseFloat("(5.51₭)", "lo"), -5.51 ); + equal( Globalize.parseInt("5,51 €", 10, "de-DE"), 5 ); + equal( Globalize.parseFloat("5,51 €", 10, "de-DE"), 5.51 ); + equal( Globalize.parseFloat("5,51 €", "de-DE"), 5.51, "optional radix" ); +}); + +test("invalid input", function() { + // #47 - Return NaN instead of 0 for invalid values + ok( isNaN(Globalize.parseInt("foo")) ); + ok( isNaN(Globalize.parseFloat("foo")) ); +}); diff --git a/libs/js/globalize/test/qunit/qunit.css b/libs/js/globalize/test/qunit/qunit.css new file mode 100644 index 00000000..c85f36ad --- /dev/null +++ b/libs/js/globalize/test/qunit/qunit.css @@ -0,0 +1,226 @@ +/** + * QUnit - A JavaScript Unit Testing Framework + * + * http://docs.jquery.com/QUnit + * + * Copyright (c) 2011 John Resig, Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * or GPL (GPL-LICENSE.txt) licenses. + */ + +/** Font Family and Sizes */ + +#qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult { + font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif; +} + +#qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; } +#qunit-tests { font-size: smaller; } + + +/** Resets */ + +#qunit-tests, #qunit-tests ol, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult { + margin: 0; + padding: 0; +} + + +/** Header */ + +#qunit-header { + padding: 0.5em 0 0.5em 1em; + + color: #8699a4; + background-color: #0d3349; + + font-size: 1.5em; + line-height: 1em; + font-weight: normal; + + border-radius: 15px 15px 0 0; + -moz-border-radius: 15px 15px 0 0; + -webkit-border-top-right-radius: 15px; + -webkit-border-top-left-radius: 15px; +} + +#qunit-header a { + text-decoration: none; + color: #c2ccd1; +} + +#qunit-header a:hover, +#qunit-header a:focus { + color: #fff; +} + +#qunit-banner { + height: 5px; +} + +#qunit-testrunner-toolbar { + padding: 0.5em 0 0.5em 2em; + color: #5E740B; + background-color: #eee; +} + +#qunit-userAgent { + padding: 0.5em 0 0.5em 2.5em; + background-color: #2b81af; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px; +} + + +/** Tests: Pass/Fail */ + +#qunit-tests { + list-style-position: inside; +} + +#qunit-tests li { + padding: 0.4em 0.5em 0.4em 2.5em; + border-bottom: 1px solid #fff; + list-style-position: inside; +} + +#qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running { + display: none; +} + +#qunit-tests li strong { + cursor: pointer; +} + +#qunit-tests li a { + padding: 0.5em; + color: #c2ccd1; + text-decoration: none; +} +#qunit-tests li a:hover, +#qunit-tests li a:focus { + color: #000; +} + +#qunit-tests ol { + margin-top: 0.5em; + padding: 0.5em; + + background-color: #fff; + + border-radius: 15px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; + + box-shadow: inset 0px 2px 13px #999; + -moz-box-shadow: inset 0px 2px 13px #999; + -webkit-box-shadow: inset 0px 2px 13px #999; +} + +#qunit-tests table { + border-collapse: collapse; + margin-top: .2em; +} + +#qunit-tests th { + text-align: right; + vertical-align: top; + padding: 0 .5em 0 0; +} + +#qunit-tests td { + vertical-align: top; +} + +#qunit-tests pre { + margin: 0; + white-space: pre-wrap; + word-wrap: break-word; +} + +#qunit-tests del { + background-color: #e0f2be; + color: #374e0c; + text-decoration: none; +} + +#qunit-tests ins { + background-color: #ffcaca; + color: #500; + text-decoration: none; +} + +/*** Test Counts */ + +#qunit-tests b.counts { color: black; } +#qunit-tests b.passed { color: #5E740B; } +#qunit-tests b.failed { color: #710909; } + +#qunit-tests li li { + margin: 0.5em; + padding: 0.4em 0.5em 0.4em 0.5em; + background-color: #fff; + border-bottom: none; + list-style-position: inside; +} + +/*** Passing Styles */ + +#qunit-tests li li.pass { + color: #5E740B; + background-color: #fff; + border-left: 26px solid #C6E746; +} + +#qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; } +#qunit-tests .pass .test-name { color: #366097; } + +#qunit-tests .pass .test-actual, +#qunit-tests .pass .test-expected { color: #999999; } + +#qunit-banner.qunit-pass { background-color: #C6E746; } + +/*** Failing Styles */ + +#qunit-tests li li.fail { + color: #710909; + background-color: #fff; + border-left: 26px solid #EE5757; + white-space: pre; +} + +#qunit-tests > li:last-child { + border-radius: 0 0 15px 15px; + -moz-border-radius: 0 0 15px 15px; + -webkit-border-bottom-right-radius: 15px; + -webkit-border-bottom-left-radius: 15px; +} + +#qunit-tests .fail { color: #000000; background-color: #EE5757; } +#qunit-tests .fail .test-name, +#qunit-tests .fail .module-name { color: #000000; } + +#qunit-tests .fail .test-actual { color: #EE5757; } +#qunit-tests .fail .test-expected { color: green; } + +#qunit-banner.qunit-fail { background-color: #EE5757; } + + +/** Result */ + +#qunit-testresult { + padding: 0.5em 0.5em 0.5em 2.5em; + + color: #2b81af; + background-color: #D2E0E6; + + border-bottom: 1px solid white; +} + +/** Fixture */ + +#qunit-fixture { + position: absolute; + top: -10000px; + left: -10000px; +} diff --git a/libs/js/globalize/test/qunit/qunit.js b/libs/js/globalize/test/qunit/qunit.js new file mode 100644 index 00000000..8b0bd570 --- /dev/null +++ b/libs/js/globalize/test/qunit/qunit.js @@ -0,0 +1,1506 @@ +/** + * QUnit - A JavaScript Unit Testing Framework + * + * http://docs.jquery.com/QUnit + * + * Copyright (c) 2011 John Resig, Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * or GPL (GPL-LICENSE.txt) licenses. + */ + +(function(window) { + +var defined = { + setTimeout: typeof window.setTimeout !== "undefined", + sessionStorage: (function() { + try { + return !!sessionStorage.getItem; + } catch(e) { + return false; + } + })() +}; + +var testId = 0; + +var Test = function(name, testName, expected, testEnvironmentArg, async, callback) { + this.name = name; + this.testName = testName; + this.expected = expected; + this.testEnvironmentArg = testEnvironmentArg; + this.async = async; + this.callback = callback; + this.assertions = []; +}; +Test.prototype = { + init: function() { + var tests = id("qunit-tests"); + if (tests) { + var b = document.createElement("strong"); + b.innerHTML = "Running " + this.name; + var li = document.createElement("li"); + li.appendChild( b ); + li.className = "running"; + li.id = this.id = "test-output" + testId++; + tests.appendChild( li ); + } + }, + setup: function() { + if (this.module != config.previousModule) { + if ( config.previousModule ) { + QUnit.moduleDone( { + name: config.previousModule, + failed: config.moduleStats.bad, + passed: config.moduleStats.all - config.moduleStats.bad, + total: config.moduleStats.all + } ); + } + config.previousModule = this.module; + config.moduleStats = { all: 0, bad: 0 }; + QUnit.moduleStart( { + name: this.module + } ); + } + + config.current = this; + this.testEnvironment = extend({ + setup: function() {}, + teardown: function() {} + }, this.moduleTestEnvironment); + if (this.testEnvironmentArg) { + extend(this.testEnvironment, this.testEnvironmentArg); + } + + QUnit.testStart( { + name: this.testName + } ); + + // allow utility functions to access the current test environment + // TODO why?? + QUnit.current_testEnvironment = this.testEnvironment; + + try { + if ( !config.pollution ) { + saveGlobal(); + } + + this.testEnvironment.setup.call(this.testEnvironment); + } catch(e) { + QUnit.ok( false, "Setup failed on " + this.testName + ": " + e.message ); + } + }, + run: function() { + if ( this.async ) { + QUnit.stop(); + } + + if ( config.notrycatch ) { + this.callback.call(this.testEnvironment); + return; + } + try { + this.callback.call(this.testEnvironment); + } catch(e) { + fail("Test " + this.testName + " died, exception and test follows", e, this.callback); + QUnit.ok( false, "Died on test #" + (this.assertions.length + 1) + ": " + e.message + " - " + QUnit.jsDump.parse(e) ); + // else next test will carry the responsibility + saveGlobal(); + + // Restart the tests if they're blocking + if ( config.blocking ) { + start(); + } + } + }, + teardown: function() { + try { + this.testEnvironment.teardown.call(this.testEnvironment); + checkPollution(); + } catch(e) { + QUnit.ok( false, "Teardown failed on " + this.testName + ": " + e.message ); + } + }, + finish: function() { + if ( this.expected && this.expected != this.assertions.length ) { + QUnit.ok( false, "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run" ); + } + + var good = 0, bad = 0, + tests = id("qunit-tests"); + + config.stats.all += this.assertions.length; + config.moduleStats.all += this.assertions.length; + + if ( tests ) { + var ol = document.createElement("ol"); + + for ( var i = 0; i < this.assertions.length; i++ ) { + var assertion = this.assertions[i]; + + var li = document.createElement("li"); + li.className = assertion.result ? "pass" : "fail"; + li.innerHTML = assertion.message || (assertion.result ? "okay" : "failed"); + ol.appendChild( li ); + + if ( assertion.result ) { + good++; + } else { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + + // store result when possible + if ( QUnit.config.reorder && defined.sessionStorage ) { + if (bad) { + sessionStorage.setItem("qunit-" + this.module + "-" + this.testName, bad); + } else { + sessionStorage.removeItem("qunit-" + this.module + "-" + this.testName); + } + } + + if (bad == 0) { + ol.style.display = "none"; + } + + var b = document.createElement("strong"); + b.innerHTML = this.name + " <b class='counts'>(<b class='failed'>" + bad + "</b>, <b class='passed'>" + good + "</b>, " + this.assertions.length + ")</b>"; + + var a = document.createElement("a"); + a.innerHTML = "Rerun"; + a.href = QUnit.url({ filter: getText([b]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") }); + + addEvent(b, "click", function() { + var next = b.nextSibling.nextSibling, + display = next.style.display; + next.style.display = display === "none" ? "block" : "none"; + }); + + addEvent(b, "dblclick", function(e) { + var target = e && e.target ? e.target : window.event.srcElement; + if ( target.nodeName.toLowerCase() == "span" || target.nodeName.toLowerCase() == "b" ) { + target = target.parentNode; + } + if ( window.location && target.nodeName.toLowerCase() === "strong" ) { + window.location = QUnit.url({ filter: getText([target]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") }); + } + }); + + var li = id(this.id); + li.className = bad ? "fail" : "pass"; + li.removeChild( li.firstChild ); + li.appendChild( b ); + li.appendChild( a ); + li.appendChild( ol ); + + } else { + for ( var i = 0; i < this.assertions.length; i++ ) { + if ( !this.assertions[i].result ) { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + } + + try { + QUnit.reset(); + } catch(e) { + fail("reset() failed, following Test " + this.testName + ", exception and reset fn follows", e, QUnit.reset); + } + + QUnit.testDone( { + name: this.testName, + failed: bad, + passed: this.assertions.length - bad, + total: this.assertions.length + } ); + }, + + queue: function() { + var test = this; + synchronize(function() { + test.init(); + }); + function run() { + // each of these can by async + synchronize(function() { + test.setup(); + }); + synchronize(function() { + test.run(); + }); + synchronize(function() { + test.teardown(); + }); + synchronize(function() { + test.finish(); + }); + } + // defer when previous test run passed, if storage is available + var bad = QUnit.config.reorder && defined.sessionStorage && +sessionStorage.getItem("qunit-" + this.module + "-" + this.testName); + if (bad) { + run(); + } else { + synchronize(run); + }; + } + +}; + +var QUnit = { + + // call on start of module test to prepend name to all tests + module: function(name, testEnvironment) { + config.currentModule = name; + config.currentModuleTestEnviroment = testEnvironment; + }, + + asyncTest: function(testName, expected, callback) { + if ( arguments.length === 2 ) { + callback = expected; + expected = 0; + } + + QUnit.test(testName, expected, callback, true); + }, + + test: function(testName, expected, callback, async) { + var name = '<span class="test-name">' + testName + '</span>', testEnvironmentArg; + + if ( arguments.length === 2 ) { + callback = expected; + expected = null; + } + // is 2nd argument a testEnvironment? + if ( expected && typeof expected === 'object') { + testEnvironmentArg = expected; + expected = null; + } + + if ( config.currentModule ) { + name = '<span class="module-name">' + config.currentModule + "</span>: " + name; + } + + if ( !validTest(config.currentModule + ": " + testName) ) { + return; + } + + var test = new Test(name, testName, expected, testEnvironmentArg, async, callback); + test.module = config.currentModule; + test.moduleTestEnvironment = config.currentModuleTestEnviroment; + test.queue(); + }, + + /** + * Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through. + */ + expect: function(asserts) { + config.current.expected = asserts; + }, + + /** + * Asserts true. + * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" ); + */ + ok: function(a, msg) { + a = !!a; + var details = { + result: a, + message: msg + }; + msg = escapeHtml(msg); + QUnit.log(details); + config.current.assertions.push({ + result: a, + message: msg + }); + }, + + /** + * Checks that the first two arguments are equal, with an optional message. + * Prints out both actual and expected values. + * + * Prefered to ok( actual == expected, message ) + * + * @example equal( format("Received {0} bytes.", 2), "Received 2 bytes." ); + * + * @param Object actual + * @param Object expected + * @param String message (optional) + */ + equal: function(actual, expected, message) { + QUnit.push(expected == actual, actual, expected, message); + }, + + notEqual: function(actual, expected, message) { + QUnit.push(expected != actual, actual, expected, message); + }, + + deepEqual: function(actual, expected, message) { + QUnit.push(QUnit.equiv(actual, expected), actual, expected, message); + }, + + notDeepEqual: function(actual, expected, message) { + QUnit.push(!QUnit.equiv(actual, expected), actual, expected, message); + }, + + strictEqual: function(actual, expected, message) { + QUnit.push(expected === actual, actual, expected, message); + }, + + notStrictEqual: function(actual, expected, message) { + QUnit.push(expected !== actual, actual, expected, message); + }, + + raises: function(block, expected, message) { + var actual, ok = false; + + if (typeof expected === 'string') { + message = expected; + expected = null; + } + + try { + block(); + } catch (e) { + actual = e; + } + + if (actual) { + // we don't want to validate thrown error + if (!expected) { + ok = true; + // expected is a regexp + } else if (QUnit.objectType(expected) === "regexp") { + ok = expected.test(actual); + // expected is a constructor + } else if (actual instanceof expected) { + ok = true; + // expected is a validation function which returns true is validation passed + } else if (expected.call({}, actual) === true) { + ok = true; + } + } + + QUnit.ok(ok, message); + }, + + start: function() { + config.semaphore--; + if (config.semaphore > 0) { + // don't start until equal number of stop-calls + return; + } + if (config.semaphore < 0) { + // ignore if start is called more often then stop + config.semaphore = 0; + } + // A slight delay, to avoid any current callbacks + if ( defined.setTimeout ) { + window.setTimeout(function() { + if (config.semaphore > 0) { + return; + } + if ( config.timeout ) { + clearTimeout(config.timeout); + } + + config.blocking = false; + process(); + }, 13); + } else { + config.blocking = false; + process(); + } + }, + + stop: function(timeout) { + config.semaphore++; + config.blocking = true; + + if ( timeout && defined.setTimeout ) { + clearTimeout(config.timeout); + config.timeout = window.setTimeout(function() { + QUnit.ok( false, "Test timed out" ); + QUnit.start(); + }, timeout); + } + } +}; + +// Backwards compatibility, deprecated +QUnit.equals = QUnit.equal; +QUnit.same = QUnit.deepEqual; + +// Maintain internal state +var config = { + // The queue of tests to run + queue: [], + + // block until document ready + blocking: true, + + // when enabled, show only failing tests + // gets persisted through sessionStorage and can be changed in UI via checkbox + hidepassed: false, + + // by default, run previously failed tests first + // very useful in combination with "Hide passed tests" checked + reorder: true, + + // by default, modify document.title when suite is done + altertitle: true, + + urlConfig: ['noglobals', 'notrycatch'] +}; + +// Load paramaters +(function() { + var location = window.location || { search: "", protocol: "file:" }, + params = location.search.slice( 1 ).split( "&" ), + length = params.length, + urlParams = {}, + current; + + if ( params[ 0 ] ) { + for ( var i = 0; i < length; i++ ) { + current = params[ i ].split( "=" ); + current[ 0 ] = decodeURIComponent( current[ 0 ] ); + // allow just a key to turn on a flag, e.g., test.html?noglobals + current[ 1 ] = current[ 1 ] ? decodeURIComponent( current[ 1 ] ) : true; + urlParams[ current[ 0 ] ] = current[ 1 ]; + } + } + + QUnit.urlParams = urlParams; + config.filter = urlParams.filter; + + // Figure out if we're running the tests from a server or not + QUnit.isLocal = !!(location.protocol === 'file:'); +})(); + +// Expose the API as global variables, unless an 'exports' +// object exists, in that case we assume we're in CommonJS +if ( typeof exports === "undefined" || typeof require === "undefined" ) { + extend(window, QUnit); + window.QUnit = QUnit; +} else { + extend(exports, QUnit); + exports.QUnit = QUnit; +} + +// define these after exposing globals to keep them in these QUnit namespace only +extend(QUnit, { + config: config, + + // Initialize the configuration options + init: function() { + extend(config, { + stats: { all: 0, bad: 0 }, + moduleStats: { all: 0, bad: 0 }, + started: +new Date, + updateRate: 1000, + blocking: false, + autostart: true, + autorun: false, + filter: "", + queue: [], + semaphore: 0 + }); + + var tests = id( "qunit-tests" ), + banner = id( "qunit-banner" ), + result = id( "qunit-testresult" ); + + if ( tests ) { + tests.innerHTML = ""; + } + + if ( banner ) { + banner.className = ""; + } + + if ( result ) { + result.parentNode.removeChild( result ); + } + + if ( tests ) { + result = document.createElement( "p" ); + result.id = "qunit-testresult"; + result.className = "result"; + tests.parentNode.insertBefore( result, tests ); + result.innerHTML = 'Running...<br/> '; + } + }, + + /** + * Resets the test setup. Useful for tests that modify the DOM. + * + * If jQuery is available, uses jQuery's html(), otherwise just innerHTML. + */ + reset: function() { + if ( window.jQuery ) { + jQuery( "#qunit-fixture" ).html( config.fixture ); + } else { + var main = id( 'qunit-fixture' ); + if ( main ) { + main.innerHTML = config.fixture; + } + } + }, + + /** + * Trigger an event on an element. + * + * @example triggerEvent( document.body, "click" ); + * + * @param DOMElement elem + * @param String type + */ + triggerEvent: function( elem, type, event ) { + if ( document.createEvent ) { + event = document.createEvent("MouseEvents"); + event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView, + 0, 0, 0, 0, 0, false, false, false, false, 0, null); + elem.dispatchEvent( event ); + + } else if ( elem.fireEvent ) { + elem.fireEvent("on"+type); + } + }, + + // Safe object type checking + is: function( type, obj ) { + return QUnit.objectType( obj ) == type; + }, + + objectType: function( obj ) { + if (typeof obj === "undefined") { + return "undefined"; + + // consider: typeof null === object + } + if (obj === null) { + return "null"; + } + + var type = Object.prototype.toString.call( obj ) + .match(/^\[object\s(.*)\]$/)[1] || ''; + + switch (type) { + case 'Number': + if (isNaN(obj)) { + return "nan"; + } else { + return "number"; + } + case 'String': + case 'Boolean': + case 'Array': + case 'Date': + case 'RegExp': + case 'Function': + return type.toLowerCase(); + } + if (typeof obj === "object") { + return "object"; + } + return undefined; + }, + + push: function(result, actual, expected, message) { + var details = { + result: result, + message: message, + actual: actual, + expected: expected + }; + + message = escapeHtml(message) || (result ? "okay" : "failed"); + message = '<span class="test-message">' + message + "</span>"; + expected = escapeHtml(QUnit.jsDump.parse(expected)); + actual = escapeHtml(QUnit.jsDump.parse(actual)); + var output = message + '<table><tr class="test-expected"><th>Expected: </th><td><pre>' + expected + '</pre></td></tr>'; + if (actual != expected) { + output += '<tr class="test-actual"><th>Result: </th><td><pre>' + actual + '</pre></td></tr>'; + output += '<tr class="test-diff"><th>Diff: </th><td><pre>' + QUnit.diff(expected, actual) +'</pre></td></tr>'; + } + if (!result) { + var source = sourceFromStacktrace(); + if (source) { + details.source = source; + output += '<tr class="test-source"><th>Source: </th><td><pre>' + escapeHtml(source) + '</pre></td></tr>'; + } + } + output += "</table>"; + + QUnit.log(details); + + config.current.assertions.push({ + result: !!result, + message: output + }); + }, + + url: function( params ) { + params = extend( extend( {}, QUnit.urlParams ), params ); + var querystring = "?", + key; + for ( key in params ) { + querystring += encodeURIComponent( key ) + "=" + + encodeURIComponent( params[ key ] ) + "&"; + } + return window.location.pathname + querystring.slice( 0, -1 ); + }, + + extend: extend, + id: id, + addEvent: addEvent, + + // Logging callbacks; all receive a single argument with the listed properties + // run test/logs.html for any related changes + begin: function() {}, + // done: { failed, passed, total, runtime } + done: function() {}, + // log: { result, actual, expected, message } + log: function() {}, + // testStart: { name } + testStart: function() {}, + // testDone: { name, failed, passed, total } + testDone: function() {}, + // moduleStart: { name } + moduleStart: function() {}, + // moduleDone: { name, failed, passed, total } + moduleDone: function() {} +}); + +if ( typeof document === "undefined" || document.readyState === "complete" ) { + config.autorun = true; +} + +QUnit.load = function() { + QUnit.begin({}); + + // Initialize the config, saving the execution queue + var oldconfig = extend({}, config); + QUnit.init(); + extend(config, oldconfig); + + config.blocking = false; + + var urlConfigHtml = '', len = config.urlConfig.length; + for ( var i = 0, val; i < len, val = config.urlConfig[i]; i++ ) { + config[val] = QUnit.urlParams[val]; + urlConfigHtml += '<label><input name="' + val + '" type="checkbox"' + ( config[val] ? ' checked="checked"' : '' ) + '>' + val + '</label>'; + } + + var userAgent = id("qunit-userAgent"); + if ( userAgent ) { + userAgent.innerHTML = navigator.userAgent; + } + var banner = id("qunit-header"); + if ( banner ) { + banner.innerHTML = '<a href="' + QUnit.url({ filter: undefined }) + '"> ' + banner.innerHTML + '</a> ' + urlConfigHtml; + addEvent( banner, "change", function( event ) { + var params = {}; + params[ event.target.name ] = event.target.checked ? true : undefined; + window.location = QUnit.url( params ); + }); + } + + var toolbar = id("qunit-testrunner-toolbar"); + if ( toolbar ) { + var filter = document.createElement("input"); + filter.type = "checkbox"; + filter.id = "qunit-filter-pass"; + addEvent( filter, "click", function() { + var ol = document.getElementById("qunit-tests"); + if ( filter.checked ) { + ol.className = ol.className + " hidepass"; + } else { + var tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " "; + ol.className = tmp.replace(/ hidepass /, " "); + } + if ( defined.sessionStorage ) { + if (filter.checked) { + sessionStorage.setItem("qunit-filter-passed-tests", "true"); + } else { + sessionStorage.removeItem("qunit-filter-passed-tests"); + } + } + }); + if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem("qunit-filter-passed-tests") ) { + filter.checked = true; + var ol = document.getElementById("qunit-tests"); + ol.className = ol.className + " hidepass"; + } + toolbar.appendChild( filter ); + + var label = document.createElement("label"); + label.setAttribute("for", "qunit-filter-pass"); + label.innerHTML = "Hide passed tests"; + toolbar.appendChild( label ); + } + + var main = id('qunit-fixture'); + if ( main ) { + config.fixture = main.innerHTML; + } + + if (config.autostart) { + QUnit.start(); + } +}; + +addEvent(window, "load", QUnit.load); + +function done() { + config.autorun = true; + + // Log the last module results + if ( config.currentModule ) { + QUnit.moduleDone( { + name: config.currentModule, + failed: config.moduleStats.bad, + passed: config.moduleStats.all - config.moduleStats.bad, + total: config.moduleStats.all + } ); + } + + var banner = id("qunit-banner"), + tests = id("qunit-tests"), + runtime = +new Date - config.started, + passed = config.stats.all - config.stats.bad, + html = [ + 'Tests completed in ', + runtime, + ' milliseconds.<br/>', + '<span class="passed">', + passed, + '</span> tests of <span class="total">', + config.stats.all, + '</span> passed, <span class="failed">', + config.stats.bad, + '</span> failed.' + ].join(''); + + if ( banner ) { + banner.className = (config.stats.bad ? "qunit-fail" : "qunit-pass"); + } + + if ( tests ) { + id( "qunit-testresult" ).innerHTML = html; + } + + if ( config.altertitle && typeof document !== "undefined" && document.title ) { + // show ✖ for good, ✔ for bad suite result in title + // use escape sequences in case file gets loaded with non-utf-8-charset + document.title = [ + (config.stats.bad ? "\u2716" : "\u2714"), + document.title.replace(/^[\u2714\u2716] /i, "") + ].join(" "); + } + + QUnit.done( { + failed: config.stats.bad, + passed: passed, + total: config.stats.all, + runtime: runtime + } ); +} + +function validTest( name ) { + var filter = config.filter, + run = false; + + if ( !filter ) { + return true; + } + + var not = filter.charAt( 0 ) === "!"; + if ( not ) { + filter = filter.slice( 1 ); + } + + if ( name.indexOf( filter ) !== -1 ) { + return !not; + } + + if ( not ) { + run = true; + } + + return run; +} + +// so far supports only Firefox, Chrome and Opera (buggy) +// could be extended in the future to use something like https://github.com/csnover/TraceKit +function sourceFromStacktrace() { + try { + throw new Error(); + } catch ( e ) { + if (e.stacktrace) { + // Opera + return e.stacktrace.split("\n")[6]; + } else if (e.stack) { + // Firefox, Chrome + return e.stack.split("\n")[4]; + } + } +} + +function escapeHtml(s) { + if (!s) { + return ""; + } + s = s + ""; + return s.replace(/[\&"<>\\]/g, function(s) { + switch(s) { + case "&": return "&"; + case "\\": return "\\\\"; + case '"': return '\"'; + case "<": return "<"; + case ">": return ">"; + default: return s; + } + }); +} + +function synchronize( callback ) { + config.queue.push( callback ); + + if ( config.autorun && !config.blocking ) { + process(); + } +} + +function process() { + var start = (new Date()).getTime(); + + while ( config.queue.length && !config.blocking ) { + if ( config.updateRate <= 0 || (((new Date()).getTime() - start) < config.updateRate) ) { + config.queue.shift()(); + } else { + window.setTimeout( process, 13 ); + break; + } + } + if (!config.blocking && !config.queue.length) { + done(); + } +} + +function saveGlobal() { + config.pollution = []; + + if ( config.noglobals ) { + for ( var key in window ) { + config.pollution.push( key ); + } + } +} + +function checkPollution( name ) { + var old = config.pollution; + saveGlobal(); + + var newGlobals = diff( config.pollution, old ); + if ( newGlobals.length > 0 ) { + ok( false, "Introduced global variable(s): " + newGlobals.join(", ") ); + } + + var deletedGlobals = diff( old, config.pollution ); + if ( deletedGlobals.length > 0 ) { + ok( false, "Deleted global variable(s): " + deletedGlobals.join(", ") ); + } +} + +// returns a new Array with the elements that are in a but not in b +function diff( a, b ) { + var result = a.slice(); + for ( var i = 0; i < result.length; i++ ) { + for ( var j = 0; j < b.length; j++ ) { + if ( result[i] === b[j] ) { + result.splice(i, 1); + i--; + break; + } + } + } + return result; +} + +function fail(message, exception, callback) { + if ( typeof console !== "undefined" && console.error && console.warn ) { + console.error(message); + console.error(exception); + console.warn(callback.toString()); + + } else if ( window.opera && opera.postError ) { + opera.postError(message, exception, callback.toString); + } +} + +function extend(a, b) { + for ( var prop in b ) { + if ( b[prop] === undefined ) { + delete a[prop]; + } else { + a[prop] = b[prop]; + } + } + + return a; +} + +function addEvent(elem, type, fn) { + if ( elem.addEventListener ) { + elem.addEventListener( type, fn, false ); + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, fn ); + } else { + fn(); + } +} + +function id(name) { + return !!(typeof document !== "undefined" && document && document.getElementById) && + document.getElementById( name ); +} + +// Test for equality any JavaScript type. +// Discussions and reference: http://philrathe.com/articles/equiv +// Test suites: http://philrathe.com/tests/equiv +// Author: Philippe Rathé <prathe@gmail.com> +QUnit.equiv = function () { + + var innerEquiv; // the real equiv function + var callers = []; // stack to decide between skip/abort functions + var parents = []; // stack to avoiding loops from circular referencing + + // Call the o related callback with the given arguments. + function bindCallbacks(o, callbacks, args) { + var prop = QUnit.objectType(o); + if (prop) { + if (QUnit.objectType(callbacks[prop]) === "function") { + return callbacks[prop].apply(callbacks, args); + } else { + return callbacks[prop]; // or undefined + } + } + } + + var callbacks = function () { + + // for string, boolean, number and null + function useStrictEquality(b, a) { + if (b instanceof a.constructor || a instanceof b.constructor) { + // to catch short annotaion VS 'new' annotation of a + // declaration + // e.g. var i = 1; + // var j = new Number(1); + return a == b; + } else { + return a === b; + } + } + + return { + "string" : useStrictEquality, + "boolean" : useStrictEquality, + "number" : useStrictEquality, + "null" : useStrictEquality, + "undefined" : useStrictEquality, + + "nan" : function(b) { + return isNaN(b); + }, + + "date" : function(b, a) { + return QUnit.objectType(b) === "date" + && a.valueOf() === b.valueOf(); + }, + + "regexp" : function(b, a) { + return QUnit.objectType(b) === "regexp" + && a.source === b.source && // the regex itself + a.global === b.global && // and its modifers + // (gmi) ... + a.ignoreCase === b.ignoreCase + && a.multiline === b.multiline; + }, + + // - skip when the property is a method of an instance (OOP) + // - abort otherwise, + // initial === would have catch identical references anyway + "function" : function() { + var caller = callers[callers.length - 1]; + return caller !== Object && typeof caller !== "undefined"; + }, + + "array" : function(b, a) { + var i, j, loop; + var len; + + // b could be an object literal here + if (!(QUnit.objectType(b) === "array")) { + return false; + } + + len = a.length; + if (len !== b.length) { // safe and faster + return false; + } + + // track reference to avoid circular references + parents.push(a); + for (i = 0; i < len; i++) { + loop = false; + for (j = 0; j < parents.length; j++) { + if (parents[j] === a[i]) { + loop = true;// dont rewalk array + } + } + if (!loop && !innerEquiv(a[i], b[i])) { + parents.pop(); + return false; + } + } + parents.pop(); + return true; + }, + + "object" : function(b, a) { + var i, j, loop; + var eq = true; // unless we can proove it + var aProperties = [], bProperties = []; // collection of + // strings + + // comparing constructors is more strict than using + // instanceof + if (a.constructor !== b.constructor) { + return false; + } + + // stack constructor before traversing properties + callers.push(a.constructor); + // track reference to avoid circular references + parents.push(a); + + for (i in a) { // be strict: don't ensures hasOwnProperty + // and go deep + loop = false; + for (j = 0; j < parents.length; j++) { + if (parents[j] === a[i]) + loop = true; // don't go down the same path + // twice + } + aProperties.push(i); // collect a's properties + + if (!loop && !innerEquiv(a[i], b[i])) { + eq = false; + break; + } + } + + callers.pop(); // unstack, we are done + parents.pop(); + + for (i in b) { + bProperties.push(i); // collect b's properties + } + + // Ensures identical properties name + return eq + && innerEquiv(aProperties.sort(), bProperties + .sort()); + } + }; + }(); + + innerEquiv = function() { // can take multiple arguments + var args = Array.prototype.slice.apply(arguments); + if (args.length < 2) { + return true; // end transition + } + + return (function(a, b) { + if (a === b) { + return true; // catch the most you can + } else if (a === null || b === null || typeof a === "undefined" + || typeof b === "undefined" + || QUnit.objectType(a) !== QUnit.objectType(b)) { + return false; // don't lose time with error prone cases + } else { + return bindCallbacks(a, callbacks, [ b, a ]); + } + + // apply transition with (1..n) arguments + })(args[0], args[1]) + && arguments.callee.apply(this, args.splice(1, + args.length - 1)); + }; + + return innerEquiv; + +}(); + +/** + * jsDump Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com | + * http://flesler.blogspot.com Licensed under BSD + * (http://www.opensource.org/licenses/bsd-license.php) Date: 5/15/2008 + * + * @projectDescription Advanced and extensible data dumping for Javascript. + * @version 1.0.0 + * @author Ariel Flesler + * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html} + */ +QUnit.jsDump = (function() { + function quote( str ) { + return '"' + str.toString().replace(/"/g, '\\"') + '"'; + }; + function literal( o ) { + return o + ''; + }; + function join( pre, arr, post ) { + var s = jsDump.separator(), + base = jsDump.indent(), + inner = jsDump.indent(1); + if ( arr.join ) + arr = arr.join( ',' + s + inner ); + if ( !arr ) + return pre + post; + return [ pre, inner + arr, base + post ].join(s); + }; + function array( arr, stack ) { + var i = arr.length, ret = Array(i); + this.up(); + while ( i-- ) + ret[i] = this.parse( arr[i] , undefined , stack); + this.down(); + return join( '[', ret, ']' ); + }; + + var reName = /^function (\w+)/; + + var jsDump = { + parse:function( obj, type, stack ) { //type is used mostly internally, you can fix a (custom)type in advance + stack = stack || [ ]; + var parser = this.parsers[ type || this.typeOf(obj) ]; + type = typeof parser; + var inStack = inArray(obj, stack); + if (inStack != -1) { + return 'recursion('+(inStack - stack.length)+')'; + } + //else + if (type == 'function') { + stack.push(obj); + var res = parser.call( this, obj, stack ); + stack.pop(); + return res; + } + // else + return (type == 'string') ? parser : this.parsers.error; + }, + typeOf:function( obj ) { + var type; + if ( obj === null ) { + type = "null"; + } else if (typeof obj === "undefined") { + type = "undefined"; + } else if (QUnit.is("RegExp", obj)) { + type = "regexp"; + } else if (QUnit.is("Date", obj)) { + type = "date"; + } else if (QUnit.is("Function", obj)) { + type = "function"; + } else if (typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined") { + type = "window"; + } else if (obj.nodeType === 9) { + type = "document"; + } else if (obj.nodeType) { + type = "node"; + } else if (typeof obj === "object" && typeof obj.length === "number" && obj.length >= 0) { + type = "array"; + } else { + type = typeof obj; + } + return type; + }, + separator:function() { + return this.multiline ? this.HTML ? '<br />' : '\n' : this.HTML ? ' ' : ' '; + }, + indent:function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing + if ( !this.multiline ) + return ''; + var chr = this.indentChar; + if ( this.HTML ) + chr = chr.replace(/\t/g,' ').replace(/ /g,' '); + return Array( this._depth_ + (extra||0) ).join(chr); + }, + up:function( a ) { + this._depth_ += a || 1; + }, + down:function( a ) { + this._depth_ -= a || 1; + }, + setParser:function( name, parser ) { + this.parsers[name] = parser; + }, + // The next 3 are exposed so you can use them + quote:quote, + literal:literal, + join:join, + // + _depth_: 1, + // This is the list of parsers, to modify them, use jsDump.setParser + parsers:{ + window: '[Window]', + document: '[Document]', + error:'[ERROR]', //when no parser is found, shouldn't happen + unknown: '[Unknown]', + 'null':'null', + 'undefined':'undefined', + 'function':function( fn ) { + var ret = 'function', + name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never have name in IE + if ( name ) + ret += ' ' + name; + ret += '('; + + ret = [ ret, QUnit.jsDump.parse( fn, 'functionArgs' ), '){'].join(''); + return join( ret, QUnit.jsDump.parse(fn,'functionCode'), '}' ); + }, + array: array, + nodelist: array, + arguments: array, + object:function( map, stack ) { + var ret = [ ]; + QUnit.jsDump.up(); + for ( var key in map ) { + var val = map[key]; + ret.push( QUnit.jsDump.parse(key,'key') + ': ' + QUnit.jsDump.parse(val, undefined, stack)); + } + QUnit.jsDump.down(); + return join( '{', ret, '}' ); + }, + node:function( node ) { + var open = QUnit.jsDump.HTML ? '<' : '<', + close = QUnit.jsDump.HTML ? '>' : '>'; + + var tag = node.nodeName.toLowerCase(), + ret = open + tag; + + for ( var a in QUnit.jsDump.DOMAttrs ) { + var val = node[QUnit.jsDump.DOMAttrs[a]]; + if ( val ) + ret += ' ' + a + '=' + QUnit.jsDump.parse( val, 'attribute' ); + } + return ret + close + open + '/' + tag + close; + }, + functionArgs:function( fn ) {//function calls it internally, it's the arguments part of the function + var l = fn.length; + if ( !l ) return ''; + + var args = Array(l); + while ( l-- ) + args[l] = String.fromCharCode(97+l);//97 is 'a' + return ' ' + args.join(', ') + ' '; + }, + key:quote, //object calls it internally, the key part of an item in a map + functionCode:'[code]', //function calls it internally, it's the content of the function + attribute:quote, //node calls it internally, it's an html attribute value + string:quote, + date:quote, + regexp:literal, //regex + number:literal, + 'boolean':literal + }, + DOMAttrs:{//attributes to dump from nodes, name=>realName + id:'id', + name:'name', + 'class':'className' + }, + HTML:false,//if true, entities are escaped ( <, >, \t, space and \n ) + indentChar:' ',//indentation unit + multiline:true //if true, items in a collection, are separated by a \n, else just a space. + }; + + return jsDump; +})(); + +// from Sizzle.js +function getText( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += getText( elem.childNodes ); + } + } + + return ret; +}; + +//from jquery.js +function inArray( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; +} + +/* + * Javascript Diff Algorithm + * By John Resig (http://ejohn.org/) + * Modified by Chu Alan "sprite" + * + * Released under the MIT license. + * + * More Info: + * http://ejohn.org/projects/javascript-diff-algorithm/ + * + * Usage: QUnit.diff(expected, actual) + * + * QUnit.diff("the quick brown fox jumped over", "the quick fox jumps over") == "the quick <del>brown </del> fox <del>jumped </del><ins>jumps </ins> over" + */ +QUnit.diff = (function() { + function diff(o, n) { + var ns = {}; + var os = {}; + + for (var i = 0; i < n.length; i++) { + if (ns[n[i]] == null) + ns[n[i]] = { + rows: [], + o: null + }; + ns[n[i]].rows.push(i); + } + + for (var i = 0; i < o.length; i++) { + if (os[o[i]] == null) + os[o[i]] = { + rows: [], + n: null + }; + os[o[i]].rows.push(i); + } + + for (var i in ns) { + if (ns[i].rows.length == 1 && typeof(os[i]) != "undefined" && os[i].rows.length == 1) { + n[ns[i].rows[0]] = { + text: n[ns[i].rows[0]], + row: os[i].rows[0] + }; + o[os[i].rows[0]] = { + text: o[os[i].rows[0]], + row: ns[i].rows[0] + }; + } + } + + for (var i = 0; i < n.length - 1; i++) { + if (n[i].text != null && n[i + 1].text == null && n[i].row + 1 < o.length && o[n[i].row + 1].text == null && + n[i + 1] == o[n[i].row + 1]) { + n[i + 1] = { + text: n[i + 1], + row: n[i].row + 1 + }; + o[n[i].row + 1] = { + text: o[n[i].row + 1], + row: i + 1 + }; + } + } + + for (var i = n.length - 1; i > 0; i--) { + if (n[i].text != null && n[i - 1].text == null && n[i].row > 0 && o[n[i].row - 1].text == null && + n[i - 1] == o[n[i].row - 1]) { + n[i - 1] = { + text: n[i - 1], + row: n[i].row - 1 + }; + o[n[i].row - 1] = { + text: o[n[i].row - 1], + row: i - 1 + }; + } + } + + return { + o: o, + n: n + }; + } + + return function(o, n) { + o = o.replace(/\s+$/, ''); + n = n.replace(/\s+$/, ''); + var out = diff(o == "" ? [] : o.split(/\s+/), n == "" ? [] : n.split(/\s+/)); + + var str = ""; + + var oSpace = o.match(/\s+/g); + if (oSpace == null) { + oSpace = [" "]; + } + else { + oSpace.push(" "); + } + var nSpace = n.match(/\s+/g); + if (nSpace == null) { + nSpace = [" "]; + } + else { + nSpace.push(" "); + } + + if (out.n.length == 0) { + for (var i = 0; i < out.o.length; i++) { + str += '<del>' + out.o[i] + oSpace[i] + "</del>"; + } + } + else { + if (out.n[0].text == null) { + for (n = 0; n < out.o.length && out.o[n].text == null; n++) { + str += '<del>' + out.o[n] + oSpace[n] + "</del>"; + } + } + + for (var i = 0; i < out.n.length; i++) { + if (out.n[i].text == null) { + str += '<ins>' + out.n[i] + nSpace[i] + "</ins>"; + } + else { + var pre = ""; + + for (n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++) { + pre += '<del>' + out.o[n] + oSpace[n] + "</del>"; + } + str += " " + out.n[i].text + nSpace[i] + pre; + } + } + } + + return str; + }; +})(); + +})(this); diff --git a/libs/js/globalize/test/testsuite.js b/libs/js/globalize/test/testsuite.js new file mode 100644 index 00000000..b57761c5 --- /dev/null +++ b/libs/js/globalize/test/testsuite.js @@ -0,0 +1,19 @@ +// Test suite helper methods +(function( window, undefined ) { + var cultures = Globalize.cultures; + + window.lifecycle = { + setup: function() { + cultures = Globalize.cultures; + Globalize.culture( "default" ); + }, + teardown: function() { + Globalize.cultures = cultures; + } + }; + + window.originalCultures = function( culture ) { + return culture ? cultures[ culture ] : cultures; + }; + +})( this ); |