aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/i18n/currency.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/i18n/currency.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/i18n/currency.js406
1 files changed, 0 insertions, 406 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/i18n/currency.js b/contexts/data/lib/closure-library/closure/goog/i18n/currency.js
deleted file mode 100644
index a75b218..0000000
--- a/contexts/data/lib/closure-library/closure/goog/i18n/currency.js
+++ /dev/null
@@ -1,406 +0,0 @@
-// Copyright 2009 The Closure Library Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-
-/**
- * @fileoverview A utility to get better currency format pattern.
- *
- * This module implement a new currency format representation model. It
- * provides 3 currency representation forms: global, portable and local. Local
- * format is the most popular format people use to represent currency in its
- * circulating country without worrying about how it should be distinguished
- * from other currencies. Global format is a formal representation in context
- * of multiple currencies in same page, it is ISO 4217 currency code. Portable
- * format is a compromise between global and local. It looks similar to how
- * people would like to see how their currencies is being represented in other
- * media. While at the same time, it should be distinguishable to world's
- * popular currencies (like USD, EUR) and currencies somewhat relevant in the
- * area (like CNY in HK, though native currency is HKD). There is no guarantee
- * of uniqueness.
- *
- */
-
-
-goog.provide('goog.i18n.currency');
-
-
-/**
- * The mask of precision field.
- * @private
- */
-goog.i18n.currency.PRECISION_MASK_ = 0x07;
-
-
-/**
- * If this flag is set, it means the currency sign should position before
- * number.
- * @private
- */
-goog.i18n.currency.POSITION_FLAG_ = 0x08;
-
-
-/**
- * Should a space to inserted between number and currency sign.
- * @private
- */
-goog.i18n.currency.SPACE_FLAG_ = 0x20;
-
-
-/**
- * This function will add tier2 currency support. Be default, only tier1
- * (most popular currencies) are supportted. If an application really need
- * to support some of the rarely used currency, it should call this function
- * before any other functions in this namespace.
- */
-goog.i18n.currency.addTier2Support = function() {
- for (var key in goog.i18n.currency.CurrencyInfoTier2) {
- goog.i18n.currency.CurrencyInfo[key] =
- goog.i18n.currency.CurrencyInfoTier2[key];
- }
-};
-
-
-/**
- * Global currency pattern always uses ISO-4217 currency code as prefix. Local
- * currency sign is added if it is different from currency code. Each currency
- * is unique in this form. The negative side is that ISO code looks weird in
- * some countries as poeple normally do not use it. Local currency sign
- * alleviate the problem, but also make it a little verbose.
- *
- * @param {string} currencyCode ISO-4217 3-letter currency code.
- * @return {string} Global currency pattern string for given currency.
- */
-goog.i18n.currency.getGlobalCurrencyPattern = function(currencyCode) {
- var info = goog.i18n.currency.CurrencyInfo[currencyCode];
- var patternNum = info[0];
- if (currencyCode == info[1]) {
- return goog.i18n.currency.getCurrencyPattern_(patternNum, info[1]);
- }
- return currencyCode + ' ' +
- goog.i18n.currency.getCurrencyPattern_(patternNum, info[1]);
-};
-
-
-/**
- * Return global currency sign string for those applications
- * that want to handle currency sign themselves.
- *
- * @param {string} currencyCode ISO-4217 3-letter currency code.
- * @return {string} Global currency sign for given currency.
- */
-goog.i18n.currency.getGlobalCurrencySign = function(currencyCode) {
- var info = goog.i18n.currency.CurrencyInfo[currencyCode];
- return (currencyCode == info[1]) ? currencyCode :
- currencyCode + ' ' + info[1];
-};
-
-
-/**
- * Local currency pattern is the most frequently used pattern in currency's
- * native region. It does not care about how it is distinguished from other
- * currencies.
- *
- * @param {string} currencyCode ISO-4217 3-letter currency code.
- * @return {string} Local currency pattern string for given currency.
- */
-goog.i18n.currency.getLocalCurrencyPattern = function(currencyCode) {
- var info = goog.i18n.currency.CurrencyInfo[currencyCode];
- return goog.i18n.currency.getCurrencyPattern_(info[0], info[1]);
-};
-
-
-/**
- * Returns local currency sign string for those applications that need to
- * handle currency sign separately.
- * @param {string} currencyCode ISO-4217 3-letter currency code.
- * @return {string} Local currency sign for given currency.
- */
-goog.i18n.currency.getLocalCurrencySign = function(currencyCode) {
- return goog.i18n.currency.CurrencyInfo[currencyCode][1];
-};
-
-
-/**
- * Portable currency pattern is a compromise between local and global. It is
- * not a mere blend or mid-way between the two. Currency sign is chosen so that
- * it looks familiar to native users. It also has enough information to
- * distinguish itself from other popular currencies in its native region.
- * In this pattern, currency sign symbols that has availability problem in
- * popular fonts are also avoided.
- *
- * @param {string} currencyCode ISO-4217 3-letter currency code.
- * @return {string} Portable currency pattern string for given currency.
- */
-goog.i18n.currency.getPortableCurrencyPattern = function(currencyCode) {
- var info = goog.i18n.currency.CurrencyInfo[currencyCode];
- return goog.i18n.currency.getCurrencyPattern_(info[0], info[2]);
-};
-
-
-/**
- * Return portable currency sign string for those applications that need to
- * handle currency sign themselves.
- * @param {string} currencyCode ISO-4217 3-letter currency code.
- * @return {string} Portable currency sign for given currency.
- */
-goog.i18n.currency.getPortableCurrencySign = function(currencyCode) {
- return goog.i18n.currency.CurrencyInfo[currencyCode][2];
-};
-
-
-/**
- * This function returns the default currency sign position. Some application
- * may want to handle currency sign and currency amount separately. This
- * function can be used in such situation to position the currency sign
- * relative to amount field correctly.
- * To match the behavior of ICU, position is not determined by display locale.
- * This method will always return true for now (because of the change of
- * data) and should be avoided if possible.
- * @param {string} currencyCode ISO-4217 3-letter currency code.
- * @return {boolean} true if currency should be positioned before amount field.
- */
-goog.i18n.currency.isPrefixSignPosition = function(currencyCode) {
- return (goog.i18n.currency.CurrencyInfo[currencyCode][0] &
- goog.i18n.currency.POSITION_FLAG_) == 0;
-};
-
-
-/**
- * This function construct the currency pattern. Currency sign is provided. The
- * pattern information is encoded in patternNum.
- *
- * @param {number} patternNum Encoded pattern number that has
- * currency pattern information.
- * @param {string} sign the currency sign that will be used in pattern.
- *
- * @return {string} currency pattern string.
- * @private
- */
-goog.i18n.currency.getCurrencyPattern_ = function(patternNum, sign) {
- var strParts = ['#,##0'];
- var precision = patternNum & goog.i18n.currency.PRECISION_MASK_;
- if (precision > 0) {
- strParts.push('.');
- for (var i = 0; i < precision; i++) {
- strParts.push('0');
- }
- }
- if ((patternNum & goog.i18n.currency.POSITION_FLAG_) == 0) {
- strParts.unshift((patternNum & goog.i18n.currency.SPACE_FLAG_) ?
- "' " : "'");
- strParts.unshift(sign);
- strParts.unshift("'");
- } else {
- strParts.push((patternNum & goog.i18n.currency.SPACE_FLAG_) ? " '" : "'",
- sign, "'");
- }
- return strParts.join('');
-};
-
-
-/**
- * Modify currency pattern string by adjusting precision for given currency.
- * Standard currency pattern will have 2 digit after decimal point.
- * Examples:
- * $#,##0.00 -> $#,##0 (precision == 0)
- * $#,##0.00 -> $#,##0.0 (precision == 1)
- * $#,##0.00 -> $#,##0.000 (precision == 3)
- *
- * @param {string} pattern currency pattern string.
- * @param {string} currencyCode 3-letter currency code.
- *
- * @return {string} modified currency pattern string.
- */
-goog.i18n.currency.adjustPrecision = function(pattern, currencyCode) {
- var strParts = ['0'];
- var info = goog.i18n.currency.CurrencyInfo[currencyCode];
- var precision = info[0] & goog.i18n.currency.PRECISION_MASK_;
- if (precision > 0) {
- strParts.push('.');
- for (var i = 0; i < precision; i++) {
- strParts.push('0');
- }
- }
- return pattern.replace(/0.00/g, strParts.join(''));
-};
-
-
-/**
- * Tier 1 currency information.
- * @type {!Object.<!Array>}
- */
-goog.i18n.currency.CurrencyInfo = {
- 'AED': [2, 'dh', '\u062f.\u0625.', 'DH'],
- 'AUD': [2, '$', 'AU$'],
- 'BDT': [2, '\u09F3', 'Tk'],
- 'BRL': [2, 'R$', 'R$'],
- 'CAD': [2, '$', 'C$'],
- 'CHF': [2, 'CHF', 'CHF'],
- 'CLP': [0, '$', 'CL$'],
- 'CNY': [2, '¥', 'RMB¥'],
- 'COP': [0, '$', 'COL$'],
- 'CRC': [0, '\u20a1', 'CR\u20a1'],
- 'CZK': [2, 'K\u010d', 'K\u010d'],
- 'DKK': [18, 'kr', 'kr'],
- 'DOP': [2, '$', 'RD$'],
- 'EGP': [2, '£', 'LE'],
- 'EUR': [18, '€', '€'],
- 'GBP': [2, '£', 'GB£'],
- 'HKD': [2, '$', 'HK$'],
- 'ILS': [2, '\u20AA', 'IL\u20AA'],
- 'INR': [2, '\u20B9', 'Rs'],
- 'ISK': [0, 'kr', 'kr'],
- 'JMD': [2, '$', 'JA$'],
- 'JPY': [0, '¥', 'JP¥'],
- 'KRW': [0, '\u20A9', 'KR₩'],
- 'LKR': [2, 'Rs', 'SLRs'],
- 'MNT': [0, '\u20AE', 'MN₮'],
- 'MXN': [2, '$', 'Mex$'],
- 'MYR': [2, 'RM', 'RM'],
- 'NOK': [18, 'kr', 'NOkr'],
- 'PAB': [2, 'B/.', 'B/.'],
- 'PEN': [2, 'S/.', 'S/.'],
- 'PHP': [2, '\u20B1', 'Php'],
- 'PKR': [0, 'Rs', 'PKRs.'],
- 'RUB': [2, 'Rup', 'Rup'],
- 'SAR': [2, 'Rial', 'Rial'],
- 'SEK': [2, 'kr', 'kr'],
- 'SGD': [2, '$', 'S$'],
- 'THB': [2, '\u0e3f', 'THB'],
- 'TRY': [2, 'TL', 'YTL'],
- 'TWD': [2, 'NT$', 'NT$'],
- 'USD': [2, '$', 'US$'],
- 'UYU': [2, '$', 'UY$'],
- 'VND': [0, '\u20AB', 'VN\u20AB'],
- 'YER': [0, 'Rial', 'Rial'],
- 'ZAR': [2, 'R', 'ZAR']
-};
-
-
-/**
- * Tier 2 currency information.
- * @type {!Object.<!Array>}
- */
-goog.i18n.currency.CurrencyInfoTier2 = {
- 'AFN': [16, 'Af.', 'AFN'],
- 'ALL': [0, 'Lek', 'Lek'],
- 'AMD': [0, 'Dram', 'dram'],
- 'AOA': [2, 'Kz', 'Kz'],
- 'ARS': [2, '$', 'AR$'],
- 'AWG': [2, 'Afl.', 'Afl.'],
- 'AZN': [2, 'man.', 'man.'],
- 'BAM': [18, 'KM', 'KM'],
- 'BBD': [2, '$', 'Bds$'],
- 'BGN': [2, 'lev', 'lev'],
- 'BHD': [3, 'din', 'din'],
- 'BIF': [0, 'FBu', 'FBu'],
- 'BMD': [2, '$', 'BD$'],
- 'BND': [2, '$', 'B$'],
- 'BOB': [2, 'Bs', 'Bs'],
- 'BSD': [2, '$', 'BS$'],
- 'BTN': [2, 'Nu.', 'Nu.'],
- 'BWP': [2, 'P', 'pula'],
- 'BYR': [0, 'BYR', 'BYR'],
- 'BZD': [2, '$', 'BZ$'],
- 'CDF': [2, 'FrCD', 'CDF'],
- 'CUC': [1, '$', 'CUC$'],
- 'CUP': [2, '$', 'CU$'],
- 'CVE': [2, 'CVE', 'Esc'],
- 'DJF': [0, 'Fdj', 'Fdj'],
- 'DZD': [2, 'din', 'din'],
- 'ERN': [2, 'Nfk', 'Nfk'],
- 'ETB': [2, 'Birr', 'Birr'],
- 'FJD': [2, '$', 'FJ$'],
- 'FKP': [2, '£', 'FK£'],
- 'GEL': [2, 'GEL', 'GEL'],
- 'GHS': [2, 'GHS', 'GHS'],
- 'GIP': [2, '£', 'GI£'],
- 'GMD': [2, 'GMD', 'GMD'],
- 'GNF': [0, 'FG', 'FG'],
- 'GTQ': [2, 'Q', 'GTQ'],
- 'GYD': [0, '$', 'GY$'],
- 'HNL': [2, 'L', 'HNL'],
- 'HRK': [2, 'kn', 'kn'],
- 'HTG': [2, 'HTG', 'HTG'],
- 'HUF': [0, 'Ft', 'Ft'],
- 'IDR': [0, 'Rp', 'Rp'],
- 'IQD': [0, 'din', 'IQD'],
- 'IRR': [0, 'Rial', 'IRR'],
- 'JOD': [3, 'din', 'JOD'],
- 'KES': [2, 'Ksh', 'Ksh'],
- 'KGS': [2, 'KGS', 'KGS'],
- 'KHR': [2, 'Riel', 'KHR'],
- 'KMF': [0, 'CF', 'KMF'],
- 'KPW': [0, '\u20A9KP', 'KPW'],
- 'KWD': [3, 'din', 'KWD'],
- 'KYD': [2, '$', 'KY$'],
- 'KZT': [2, '\u20B8', 'KZT'],
- 'LAK': [0, '\u20AD', '\u20AD'],
- 'LBP': [0, 'L£', 'LBP'],
- 'LRD': [2, '$', 'L$'],
- 'LSL': [2, 'LSL', 'LSL'],
- 'LTL': [2, 'Lt', 'Lt'],
- 'LVL': [2, 'Ls', 'Ls'],
- 'LYD': [3, 'din', 'LD'],
- 'MAD': [2, 'dh', 'MAD'],
- 'MDL': [2, 'MDL', 'MDL'],
- 'MGA': [0, 'Ar', 'MGA'],
- 'MKD': [2, 'din', 'MKD'],
- 'MMK': [0, 'K', 'MMK'],
- 'MOP': [2, 'MOP', 'MOP$'],
- 'MRO': [0, 'MRO', 'MRO'],
- 'MUR': [0, 'MURs', 'MURs'],
- 'MWK': [2, 'MWK', 'MWK'],
- 'MZN': [2, 'MTn', 'MTn'],
- 'NAD': [2, '$', 'N$'],
- 'NGN': [2, '\u20A6', 'NG\u20A6'],
- 'NIO': [2, 'C$', 'C$'],
- 'NPR': [2, 'Rs', 'NPRs'],
- 'NZD': [2, '$', 'NZ$'],
- 'OMR': [3, 'Rial', 'OMR'],
- 'PGK': [2, 'PGK', 'PGK'],
- 'PLN': [2, 'z\u0142', 'z\u0142'],
- 'PYG': [0, 'Gs', 'PYG'],
- 'QAR': [2, 'Rial', 'QR'],
- 'RON': [2, 'RON', 'RON'],
- 'RSD': [0, 'din', 'RSD'],
- 'RWF': [0, 'RF', 'RF'],
- 'SBD': [2, '$', 'SI$'],
- 'SCR': [2, 'SCR', 'SCR'],
- 'SDG': [2, 'SDG', 'SDG'],
- 'SHP': [2, '£', 'SH£'],
- 'SLL': [0, 'SLL', 'SLL'],
- 'SOS': [0, 'SOS', 'SOS'],
- 'SRD': [2, '$', 'SR$'],
- 'STD': [0, 'Db', 'Db'],
- 'SYP': [16, '£', 'SY£'],
- 'SZL': [2, 'SZL', 'SZL'],
- 'TJS': [2, 'Som', 'TJS'],
- 'TND': [3, 'din', 'DT'],
- 'TOP': [2, 'T$', 'T$'],
- 'TTD': [2, '$', 'TT$'],
- 'TZS': [0, 'TSh', 'TSh'],
- 'UAH': [2, '\u20B4', 'UAH'],
- 'UGX': [0, 'UGX', 'UGX'],
- 'UYU': [1, '$', '$U'],
- 'UZS': [0, 'so\u02bcm', 'UZS'],
- 'VEF': [2, 'Bs', 'Bs'],
- 'VUV': [0, 'VUV', 'VUV'],
- 'WST': [2, 'WST', 'WST'],
- 'XAF': [0, 'FCFA', 'FCFA'],
- 'XCD': [2, '$', 'EC$'],
- 'XOF': [0, 'CFA', 'CFA'],
- 'XPF': [0, 'FCFP', 'FCFP'],
- 'ZMK': [0, 'ZMK', 'ZMK']
-};