Name Description Size
Collator.cpp Intl.Collator implementation. 14332
Collator.h Collator ******************* 3527
Collator.js Portions Copyright Norbert Lindenberg 2011-2012. 12793
CommonFunctions.cpp Operations used to implement multiple Intl.* classes. 5450
CommonFunctions.h Initialize a new Intl.* object using the named self-hosted function. 4065
CommonFunctions.js Portions Copyright Norbert Lindenberg 2011-2012. 29697
CurrencyDataGenerated.js Mapping from currency codes to the number of decimal digits used for them. Default is 2 digits. Spec: ISO 4217 Currency and Funds Code List. http://www.currency-iso.org/en/home/tables/table-a1.html 1819
DateTimeFormat.cpp Intl.DateTimeFormat implementation. 53985
DateTimeFormat.h Returns a new instance of the standard built-in DateTimeFormat constructor. Usage: dateTimeFormat = intl_CreateDateTimeFormat(locales, options, required, defaults) 6904
DateTimeFormat.js Portions Copyright Norbert Lindenberg 2011-2012. 30344
DisplayNames.cpp Intl.DisplayNames implementation. 18596
DisplayNames.h Return the display name for the requested code or undefined if no applicable display name was found. Usage: result = intl_ComputeDisplayName(displayNames, locale, calendar, style, languageDisplay, fallback, type, code) 2440
DisplayNames.js Intl.DisplayNames internal properties. 9925
DurationFormat.cpp Intl.DurationFormat implementation. 4713
DurationFormat.h Returns the time separator string for the given locale and numbering system. Usage: separator = intl_GetTimeSeparator(locale, numberingSystem) 1336
DurationFormat.js DurationFormat internal properties. 42041
FormatBuffer.h A buffer for formatting unified intl data. 5030
IcuMemoryUsage.java Java program to estimate the memory usage of ICU objects (bug 1585536). It computes for each Intl constructor the amount of allocated memory. We're currently using the maximum memory ("max" in the output) to estimate the memory consumption of ICU objects. Insert before {@code JS_InitWithFailureDiagnostic} in "js.cpp": <pre> <code> JS_SetICUMemoryFunctions( [](const void*, size_t size) { void* ptr = malloc(size); if (ptr) { printf(" alloc: %p -> %zu\n", ptr, size); } return ptr; }, [](const void*, void* p, size_t size) { void* ptr = realloc(p, size); if (p) { printf(" realloc: %p -> %p -> %zu\n", p, ptr, size); } else { printf(" alloc: %p -> %zu\n", ptr, size); } return ptr; }, [](const void*, void* p) { if (p) { printf(" free: %p\n", p); } free(p); }); </code> </pre> Run this script with: {@code java IcuMemoryUsage.java $MOZ_JS_SHELL}. 9992
IntlObject.cpp Implementation of the Intl object and its non-constructor properties. 27701
IntlObject.h Returns a plain object with calendar information for a single valid locale (callers must perform this validation). The object will have these properties: firstDayOfWeek an integer in the range 1=Monday to 7=Sunday indicating the day considered the first day of the week in calendars, e.g. 7 for en-US, 1 for en-GB, 7 for bn-IN minDays an integer in the range of 1 to 7 indicating the minimum number of days required in the first week of the year, e.g. 1 for en-US, 4 for de weekend an array with values in the range 1=Monday to 7=Sunday indicating the days of the week considered as part of the weekend, e.g. [6, 7] for en-US and en-GB, [7] for bn-IN (note that "weekend" is *not* necessarily two days) NOTE: "calendar" and "locale" properties are *not* added to the object. 3362
IntlObject.js 8.2.1 Intl.getCanonicalLocales ( locales ) ES2017 Intl draft rev 947aa9a0c853422824a0c9510d8f09be3eb416b9 2315
LanguageTag.cpp 5917
LanguageTag.h Structured representation of Unicode locale IDs used with Intl functions. 3054
ListFormat.cpp Intl.ListFormat([ locales [, options]]) 11111
ListFormat.h Returns a string representing the array of string values |list| according to the effective locale and the formatting options of the given ListFormat. Usage: formatted = intl_FormatList(listFormat, list, formatToParts) 2123
ListFormat.js ListFormat internal properties. 8194
Locale.cpp Intl.Locale implementation. 44888
Locale.h Returns the complete language tag, including any extensions and privateuse subtags. 1861
make_intl_data.py Usage: make_intl_data.py langtags [cldr_common.zip] make_intl_data.py tzdata make_intl_data.py currency make_intl_data.py units make_intl_data.py numbering Target "langtags": This script extracts information about 1) mappings between deprecated and current Unicode BCP 47 locale identifiers, and 2) deprecated and current BCP 47 Unicode extension value from CLDR, and converts it to C++ mapping code in intl/components/LocaleGenerated.cpp. The code is used in intl/components/Locale.cpp. Target "tzdata": This script computes which time zone informations are not up-to-date in ICU and provides the necessary mappings to workaround this problem. https://ssl.icu-project.org/trac/ticket/12044 Target "currency": Generates the mapping from currency codes to decimal digits used for them. Target "units": Generate source and test files using the list of so-called "sanctioned unit identifiers" and verifies that the ICU data filter includes these units. Target "numbering": Generate source and test files using the list of numbering systems with simple digit mappings and verifies that it's in sync with ICU/CLDR. 134375
NumberFormat.cpp Intl.NumberFormat implementation. 39972
NumberFormat.h Returns a new instance of the standard built-in NumberFormat constructor. Usage: numberFormat = intl_NumberFormat(locales, options) 4345
NumberFormat.js Portions Copyright Norbert Lindenberg 2011-2012. 35104
NumberingSystems.yaml 1084
NumberingSystemsGenerated.h The list of numbering systems with simple digit mappings. 1344
PluralRules.cpp Implementation of the Intl.PluralRules proposal. 15441
PluralRules.h Returns a plural rule for the number x according to the effective locale and the formatting options of the given PluralRules. A plural rule is a grammatical category that expresses count distinctions (such as "one", "two", "few" etc.). Usage: rule = intl_SelectPluralRule(pluralRules, x) 3343
PluralRules.js PluralRules internal properties. 9.1 Internal slots of Service Constructors 16.2.3 Properties of the Intl.PluralRules Constructor, Internal slots ES2024 Intl draft rev 74ca7099f103d143431b2ea422ae640c6f43e3e6 12491
RelativeTimeFormat.cpp Implementation of the Intl.RelativeTimeFormat proposal. 13158
RelativeTimeFormat.h Returns a relative time as a string formatted according to the effective locale and the formatting options of the given RelativeTimeFormat. |t| should be a number representing a number to be formatted. |unit| should be "second", "minute", "hour", "day", "week", "month", "quarter", or "year". |numeric| should be "always" or "auto". Usage: formatted = intl_FormatRelativeTime(relativeTimeFormat, t, unit, numeric, formatToParts) 2866
RelativeTimeFormat.js RelativeTimeFormat internal properties. Spec: ECMAScript 402 API, RelativeTimeFormat, 1.3.3. 8262
SanctionedSimpleUnitIdentifiers.yaml 936
SanctionedSimpleUnitIdentifiersGenerated.js The list of currently supported simple unit identifiers. Intl.NumberFormat Unified API Proposal 1069
Segmenter.cpp Intl.Segmenter implementation. 30169
Segmenter.h 11224
Segmenter.js Intl.Segmenter internal properties. 10194
SharedIntlData.cpp Runtime-wide Intl data shared across compartments. 27111
SharedIntlData.h This deleter class exists so that mozilla::intl::DateTimePatternGenerator can be a forward declaration, but still be used inside of a UniquePtr. 12366
StringAsciiChars.h String view of an ASCII-only string. This holds a reference to a JSLinearString and can produce a string view into that string. If the string is represented by Latin1 characters, the span is returned directly. If the string is represented by UTF-16 characters, it copies the char16_t characters into a char array, and then returns a span based on the copy. This allows us to avoid copying for the common use case that the ASCII characters are represented in Latin1. 2148
TimeZoneDataGenerated.h 5621
TimeZoneMapping.yaml 2676