Module: Money

Defined in:
lib/money/money.rb,
lib/money/rails.rb,
lib/money/formats.rb,
lib/money/currencies.rb,
lib/money/fixed_bank.rb,
lib/money/meplato_bank.rb,
lib/money/money_formatter.rb

Defined Under Namespace

Classes: FixedBank, MeplatoBank, Money, MoneyFormatter, Rails, UnknownCurrency, UnknownRate

Constant Summary collapse

FORMATS =
{
  'af' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ZAR',
  },
  'af-ZA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ZAR',
  },
  'am-ET' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'ETB',
  },
  'ar' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'SAR',
  },
  'ar-AE' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'AED',
  },
  'ar-BH' => {
    :decimal_sep => '.',
    :decimal_digits => 3,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'BHD',
  },
  'ar-DZ' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'DZD',
  },
  'ar-EG' => {
    :decimal_sep => '.',
    :decimal_digits => 3,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'EGP',
  },
  'ar-IQ' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'IQD',
  },
  'ar-JO' => {
    :decimal_sep => '.',
    :decimal_digits => 3,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'JOD',
  },
  'ar-KW' => {
    :decimal_sep => '.',
    :decimal_digits => 3,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'KWD',
  },
  'ar-LB' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'LBP',
  },
  'ar-LY' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'LYD',
  },
  'ar-MA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'MAD',
  },
  'arn-CL' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '-$ n',
    :def_currency => 'CLP',
  },
  'ar-OM' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'OMR',
  },
  'ar-QA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'QAR',
  },
  'ar-SA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'SAR',
  },
  'ar-SY' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'SYP',
  },
  'ar-TN' => {
    :decimal_sep => '.',
    :decimal_digits => 3,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'TND',
  },
  'ar-YE' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'YER',
  },
  'as-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => 'n$',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'az' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'AZM',
  },
  'az-Cyrl-AZ' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'AZM',
  },
  'az-Latn-AZ' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'AZM',
  },
  'ba-RU' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3,0],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'RUB',
  },
  'be' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'BYB',
  },
  'be-BY' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'BYB',
  },
  'bg' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'BGL',
  },
  'bg-BG' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'BGL',
  },
  'bn-BD' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'BDT',
  },
  'bn-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'bo-CN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$n',
    :neg_pattern => '$-n',
    :def_currency => 'CNY',
  },
  'br-FR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'bs-Cyrl-BA' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'BAM',
  },
  'bs-Latn-BA' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'BAM',
  },
  'ca' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'ca-ES' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'co-FR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'cs' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'CZK',
  },
  'cs-CZ' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'CZK',
  },
  'cy-GB' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'GBP',
  },
  'da' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'DKK',
  },
  'da-DK' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'DKK',
  },
  'de' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'de-AT' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '-$ n',
    :def_currency => 'EUR',
  },
  'de-CH' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => '\'',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'CHF',
  },
  'de-DE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'de-LI' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => '\'',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'CHF',
  },
  'de-LU' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'dsb-DE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'dv' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => 'n $-',
    :def_currency => 'MVR',
  },
  'dv-MV' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => 'n $-',
    :def_currency => 'MVR',
  },
  'el' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'el-GR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'en' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'USD',
  },
  'en-029' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'USD',
  },
  'en-AU' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'AUD',
  },
  'en-BZ' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'BZD',
  },
  'en-CA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'CAD',
  },
  'en-GB' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'GBP',
  },
  'en-IE' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'EUR',
  },
  'en-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'en-JM' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'JMD',
  },
  'en-MY' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'MYR',
  },
  'en-NZ' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'NZD',
  },
  'en-PH' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'PHP',
  },
  'en-SG' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'SGD',
  },
  'en-TT' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'TTD',
  },
  'en-US' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'USD',
  },
  'en-ZA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ZAR',
  },
  'en-ZW' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'ZWD',
  },
  'es' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'es-AR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ARS',
  },
  'es-BO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'BOB',
  },
  'es-CL' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '-$ n',
    :def_currency => 'CLP',
  },
  'es-CO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'COP',
  },
  'es-CR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'CRC',
  },
  'es-DO' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'DOP',
  },
  'es-EC' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'USD',
  },
  'es-ES' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'es-GT' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'GTQ',
  },
  'es-HN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'HNL',
  },
  'es-MX' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'MXN',
  },
  'es-NI' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'NIO',
  },
  'es-PA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'PAB',
  },
  'es-PE' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'PEN',
  },
  'es-PR' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'USD',
  },
  'es-PY' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'PYG',
  },
  'es-SV' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'USD',
  },
  'es-US' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'USD',
  },
  'es-UY' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'UYU',
  },
  'es-VE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'VEB',
  },
  'et' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EEK',
  },
  'et-EE' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EEK',
  },
  'eu' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'eu-ES' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'fa' => {
    :decimal_sep => '/',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'IRR',
  },
  'fa-IR' => {
    :decimal_sep => '/',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'IRR',
  },
  'fi' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'fi-FI' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'fil-PH' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'PHP',
  },
  'fo' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'DKK',
  },
  'fo-FO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'DKK',
  },
  'fr' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'fr-BE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'EUR',
  },
  'fr-CA' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '(n $)',
    :def_currency => 'CAD',
  },
  'fr-CH' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => '\'',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'CHF',
  },
  'fr-FR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'fr-LU' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'fr-MC' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'fy-NL' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'EUR',
  },
  'ga-IE' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'EUR',
  },
  'gd-GB' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'GBP',
  },
  'gl' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'gl-ES' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'gsw-FR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'gu' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'gu-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'ha-Latn-NG' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'NIO',
  },
  'he' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ILS',
  },
  'he-IL' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ILS',
  },
  'hi' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'hi-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'hr' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'HRK',
  },
  'hr-BA' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'BAM',
  },
  'hr-HR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'HRK',
  },
  'hsb-DE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'hu' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'HUF',
  },
  'hu-HU' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'HUF',
  },
  'hy' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'AMD',
  },
  'hy-AM' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'AMD',
  },
  'id' => {
    :decimal_sep => ',',
    :decimal_digits => 0,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'IDR',
  },
  'id-ID' => {
    :decimal_sep => ',',
    :decimal_digits => 0,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'IDR',
  },
  'ig-NG' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'NIO',
  },
  'ii-CN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '$-n',
    :def_currency => 'CNY',
  },
  'is' => {
    :decimal_sep => ',',
    :decimal_digits => 0,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'ISK',
  },
  'is-IS' => {
    :decimal_sep => ',',
    :decimal_digits => 0,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'ISK',
  },
  'it' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '-$ n',
    :def_currency => 'EUR',
  },
  'it-CH' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => '\'',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'CHF',
  },
  'it-IT' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '-$ n',
    :def_currency => 'EUR',
  },
  'iu-Cans-CA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'CAD',
  },
  'iu-Latn-CA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'CAD',
  },
  'ja' => {
    :decimal_sep => '.',
    :decimal_digits => 0,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'JPY',
  },
  'ja-JP' => {
    :decimal_sep => '.',
    :decimal_digits => 0,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'JPY',
  },
  'ka' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'GEL',
  },
  'ka-GE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'GEL',
  },
  'kk' => {
    :decimal_sep => '-',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'KZT',
  },
  'kk-KZ' => {
    :decimal_sep => '-',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'KZT',
  },
  'kl-GL' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3,0],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'DKK',
  },
  'km-KH' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => 'n$',
    :neg_pattern => '-n$',
    :def_currency => 'KHR',
  },
  'kn' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'kn-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'ko' => {
    :decimal_sep => '.',
    :decimal_digits => 0,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'KRW',
  },
  'kok' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'kok-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'ko-KR' => {
    :decimal_sep => '.',
    :decimal_digits => 0,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'KRW',
  },
  'ky' => {
    :decimal_sep => '-',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'KGS',
  },
  'ky-KG' => {
    :decimal_sep => '-',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'KGS',
  },
  'lb-LU' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'lo-LA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => 'n$',
    :neg_pattern => '(n$)',
    :def_currency => 'LAK',
  },
  'lt' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'LTL',
  },
  'lt-LT' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'LTL',
  },
  'lv' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '-$ n',
    :def_currency => 'LVL',
  },
  'lv-LV' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '-$ n',
    :def_currency => 'LVL',
  },
  'mi-NZ' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'NZD',
  },
  'mk' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'MKD',
  },
  'mk-MK' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'MKD',
  },
  'ml-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'mn' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n$',
    :neg_pattern => '-n$',
    :def_currency => 'MNT',
  },
  'mn-MN' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n$',
    :neg_pattern => '-n$',
    :def_currency => 'MNT',
  },
  'mn-Mong-CN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,0],
    :pos_pattern => '$n',
    :neg_pattern => '$-n',
    :def_currency => 'CNY',
  },
  'moh-CA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'CAD',
  },
  'mr' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'mr-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'ms' => {
    :decimal_sep => ',',
    :decimal_digits => 0,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'MYR',
  },
  'ms-BN' => {
    :decimal_sep => ',',
    :decimal_digits => 0,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'BND',
  },
  'ms-MY' => {
    :decimal_sep => ',',
    :decimal_digits => 0,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'MYR',
  },
  'mt-MT' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'EUR',
  },
  'nb-NO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'NOK',
  },
  'ne-NP' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'NPR',
  },
  'nl' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'EUR',
  },
  'nl-BE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'EUR',
  },
  'nl-NL' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'EUR',
  },
  'nn-NO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'NOK',
  },
  'no' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'NOK',
  },
  'nso-ZA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ZAR',
  },
  'oc-FR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'or-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'pa' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'pa-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'pl' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'PLN',
  },
  'pl-PL' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'PLN',
  },
  'prs-AF' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '$n-',
    :def_currency => 'AFN',
  },
  'ps-AF' => {
    :decimal_sep => '٫',
    :decimal_digits => 2,
    :group_sep => '٬',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '$n-',
    :def_currency => 'AFN',
  },
  'pt' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '-$ n',
    :def_currency => 'BRL',
  },
  'pt-BR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '-$ n',
    :def_currency => 'BRL',
  },
  'pt-PT' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'qut-GT' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'GTQ',
  },
  'quz-BO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'BOB',
  },
  'quz-EC' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'USD',
  },
  'quz-PE' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'PEN',
  },
  'rm-CH' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => '\'',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'CHF',
  },
  'ro' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'ROL',
  },
  'ro-RO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'ROL',
  },
  'ru' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n$',
    :neg_pattern => '-n$',
    :def_currency => 'RUR',
  },
  'ru-RU' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n$',
    :neg_pattern => '-n$',
    :def_currency => 'RUR',
  },
  'rw-RW' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'RWF',
  },
  'sa' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'sah-RU' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n$',
    :neg_pattern => '-n$',
    :def_currency => 'RUB',
  },
  'sa-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'se-FI' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'se-NO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'NOK',
  },
  'se-SE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'SEK',
  },
  'si-LK' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '($ n)',
    :def_currency => 'LKR',
  },
  'sk' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'sk-SK' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'sl' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'sl-SI' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'sma-NO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'NOK',
  },
  'sma-SE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'SEK',
  },
  'smj-NO' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'NOK',
  },
  'smj-SE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'SEK',
  },
  'smn-FI' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'sms-FI' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'sq' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n$',
    :neg_pattern => '-n$',
    :def_currency => 'ALL',
  },
  'sq-AL' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n$',
    :neg_pattern => '-n$',
    :def_currency => 'ALL',
  },
  'sr' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'CSD',
  },
  'sr-Cyrl-BA' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'BAM',
  },
  'sr-Cyrl-CS' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'CSD',
  },
  'sr-Cyrl-ME' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'sr-Cyrl-RS' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'RSD',
  },
  'sr-Latn-BA' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'BAM',
  },
  'sr-Latn-CS' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'CSD',
  },
  'sr-Latn-ME' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'sr-Latn-RS' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'RSD',
  },
  'sv' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'SEK',
  },
  'sv-FI' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'EUR',
  },
  'sv-SE' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'SEK',
  },
  'sw' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'KES',
  },
  'sw-KE' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'KES',
  },
  'syr' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'SYP',
  },
  'syr-SY' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$n-',
    :def_currency => 'SYP',
  },
  'ta' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'ta-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'te' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'te-IN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3,2],
    :pos_pattern => '$ n',
    :neg_pattern => '$ -n',
    :def_currency => 'INR',
  },
  'tg-Cyrl-TJ' => {
    :decimal_sep => ';',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3,0],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'TJS',
  },
  'th' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'THB',
  },
  'th-TH' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'THB',
  },
  'tk-TM' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n$',
    :neg_pattern => '-n$',
    :def_currency => 'TMT',
  },
  'tn-ZA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ZAR',
  },
  'tr' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'TRY',
  },
  'tr-TR' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'TRY',
  },
  'tt' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'RUR',
  },
  'tt-RU' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'RUR',
  },
  'tzm-Latn-DZ' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'DZD',
  },
  'ug-CN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '$-n',
    :def_currency => 'CNY',
  },
  'uk' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'UAH',
  },
  'uk-UA' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'UAH',
  },
  'ur' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '$n-',
    :def_currency => 'PKR',
  },
  'ur-PK' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '$n-',
    :def_currency => 'PKR',
  },
  'uz' => {
    :decimal_sep => ',',
    :decimal_digits => 0,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'UZS',
  },
  'uz-Cyrl-UZ' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'UZS',
  },
  'uz-Latn-UZ' => {
    :decimal_sep => ',',
    :decimal_digits => 0,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'UZS',
  },
  'vi' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'VND',
  },
  'vi-VN' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => '.',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'VND',
  },
  'wo-SN' => {
    :decimal_sep => ',',
    :decimal_digits => 2,
    :group_sep => ' ',
    :group_sizes => [3],
    :pos_pattern => 'n $',
    :neg_pattern => '-n $',
    :def_currency => 'XOF',
  },
  'xh-ZA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ZAR',
  },
  'yo-NG' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'NIO',
  },
  'zh-CN' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '$-n',
    :def_currency => 'CNY',
  },
  'zh-HK' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'HKD',
  },
  'zh-MO' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'MOP',
  },
  'zh-SG' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '($n)',
    :def_currency => 'SGD',
  },
  'zh-TW' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$n',
    :neg_pattern => '-$n',
    :def_currency => 'TWD',
  },
  'zu-ZA' => {
    :decimal_sep => '.',
    :decimal_digits => 2,
    :group_sep => ',',
    :group_sizes => [3],
    :pos_pattern => '$ n',
    :neg_pattern => '$-n',
    :def_currency => 'ZAR',
  },
}
CURRENCIES =
{
  'AED' => {:symbol => 'د.إ.‏', :decimal_digits => 2 },
  'AFN' => {:symbol => '؋', :decimal_digits => 2 },
  'ALL' => {:symbol => 'Lek', :decimal_digits => 2 },
  'AMD' => {:symbol => 'դր.', :decimal_digits => 2 },
  'ARS' => {:symbol => '$', :decimal_digits => 2 },
  'AUD' => {:symbol => '$', :decimal_digits => 2 },
  'AZM' => {:symbol => 'man.', :decimal_digits => 2 },
  'BAM' => {:symbol => 'KM', :decimal_digits => 2 },
  'BDT' => {:symbol => '', :decimal_digits => 2 },
  'BGL' => {:symbol => 'лв', :decimal_digits => 2 },
  'BHD' => {:symbol => 'د.ب.‏', :decimal_digits => 3 },
  'BND' => {:symbol => '$', :decimal_digits => 0 },
  'BOB' => {:symbol => '$b', :decimal_digits => 2 },
  'BRL' => {:symbol => 'R$', :decimal_digits => 2 },
  'BYB' => {:symbol => 'р.', :decimal_digits => 2 },
  'BZD' => {:symbol => 'BZ$', :decimal_digits => 2 },
  'CAD' => {:symbol => '$', :decimal_digits => 2 },
  'CHF' => {:symbol => 'SFr.', :decimal_digits => 2 },
  'CLP' => {:symbol => '$', :decimal_digits => 2 },
  'CNY' => {:symbol => '', :decimal_digits => 2 },
  'COP' => {:symbol => '$', :decimal_digits => 2 },
  'CRC' => {:symbol => '', :decimal_digits => 2 },
  'CSD' => {:symbol => 'Din.', :decimal_digits => 2 },
  'CZK' => {:symbol => '', :decimal_digits => 2 },
  'DKK' => {:symbol => 'kr', :decimal_digits => 2 },
  'DOP' => {:symbol => 'RD$', :decimal_digits => 2 },
  'DZD' => {:symbol => 'د.ج.‏', :decimal_digits => 2 },
  'EEK' => {:symbol => 'kr', :decimal_digits => 2 },
  'EGP' => {:symbol => 'ج.م.‏', :decimal_digits => 3 },
  'ETB' => {:symbol => 'ETB', :decimal_digits => 2 },
  'EUR' => {:symbol => '', :decimal_digits => 2 },
  'GBP' => {:symbol => '£', :decimal_digits => 2 },
  'GEL' => {:symbol => 'Lari', :decimal_digits => 2 },
  'GTQ' => {:symbol => 'Q', :decimal_digits => 2 },
  'HKD' => {:symbol => 'HK$', :decimal_digits => 2 },
  'HNL' => {:symbol => 'L.', :decimal_digits => 2 },
  'HRK' => {:symbol => 'kn', :decimal_digits => 2 },
  'HUF' => {:symbol => 'Ft', :decimal_digits => 2 },
  'IDR' => {:symbol => 'Rp', :decimal_digits => 0 },
  'ILS' => {:symbol => '', :decimal_digits => 2 },
  'INR' => {:symbol => 'रु', :decimal_digits => 2 },
  'IQD' => {:symbol => 'د.ع.‏', :decimal_digits => 2 },
  'IRR' => {:symbol => 'ريال', :decimal_digits => 2 },
  'ISK' => {:symbol => 'kr.', :decimal_digits => 0 },
  'JMD' => {:symbol => 'J$', :decimal_digits => 2 },
  'JOD' => {:symbol => 'د.ا.‏', :decimal_digits => 3 },
  'JPY' => {:symbol => '¥', :decimal_digits => 0 },
  'KES' => {:symbol => 'S', :decimal_digits => 2 },
  'KGS' => {:symbol => 'сом', :decimal_digits => 2 },
  'KHR' => {:symbol => '', :decimal_digits => 2 },
  'KRW' => {:symbol => '', :decimal_digits => 0 },
  'KWD' => {:symbol => 'د.ك.‏', :decimal_digits => 3 },
  'KZT' => {:symbol => 'Т', :decimal_digits => 2 },
  'LAK' => {:symbol => '', :decimal_digits => 2 },
  'LBP' => {:symbol => 'ل.ل.‏', :decimal_digits => 2 },
  'LKR' => {:symbol => 'රු.', :decimal_digits => 2 },
  'LTL' => {:symbol => 'Lt', :decimal_digits => 2 },
  'LVL' => {:symbol => 'Ls', :decimal_digits => 2 },
  'LYD' => {:symbol => 'د.ل.‏', :decimal_digits => 2 },
  'MAD' => {:symbol => 'د.م.‏', :decimal_digits => 2 },
  'MKD' => {:symbol => 'ден.', :decimal_digits => 2 },
  'MNT' => {:symbol => '', :decimal_digits => 2 },
  'MOP' => {:symbol => 'MOP', :decimal_digits => 2 },
  'MVR' => {:symbol => 'ރ.', :decimal_digits => 2 },
  'MXN' => {:symbol => '$', :decimal_digits => 2 },
  'MYR' => {:symbol => 'R', :decimal_digits => 0 },
  'NIO' => {:symbol => 'C$', :decimal_digits => 2 },
  'NOK' => {:symbol => 'kr', :decimal_digits => 2 },
  'NPR' => {:symbol => 'रु', :decimal_digits => 2 },
  'NZD' => {:symbol => '$', :decimal_digits => 2 },
  'OMR' => {:symbol => 'ر.ع.‏', :decimal_digits => 2 },
  'PAB' => {:symbol => 'B/.', :decimal_digits => 2 },
  'PEN' => {:symbol => 'S/.', :decimal_digits => 2 },
  'PHP' => {:symbol => 'Php', :decimal_digits => 2 },
  'PKR' => {:symbol => 'Rs', :decimal_digits => 2 },
  'PLN' => {:symbol => '', :decimal_digits => 2 },
  'PYG' => {:symbol => 'Gs', :decimal_digits => 2 },
  'QAR' => {:symbol => 'ر.ق.‏', :decimal_digits => 2 },
  'ROL' => {:symbol => 'lei', :decimal_digits => 2 },
  'RSD' => {:symbol => 'Din.', :decimal_digits => 2 },
  'RUB' => {:symbol => 'с.', :decimal_digits => 2 },
  'RUR' => {:symbol => 'р.', :decimal_digits => 2 },
  'RWF' => {:symbol => 'RWF', :decimal_digits => 2 },
  'SAR' => {:symbol => 'ر.س.‏', :decimal_digits => 2 },
  'SEK' => {:symbol => 'kr', :decimal_digits => 2 },
  'SGD' => {:symbol => '$', :decimal_digits => 2 },
  'SYP' => {:symbol => 'ل.س.‏', :decimal_digits => 2 },
  'THB' => {:symbol => '฿', :decimal_digits => 2 },
  'TJS' => {:symbol => 'т.р.', :decimal_digits => 2 },
  'TMT' => {:symbol => 'm.', :decimal_digits => 2 },
  'TND' => {:symbol => 'د.ت.‏', :decimal_digits => 3 },
  'TRY' => {:symbol => 'TL', :decimal_digits => 2 },
  'TTD' => {:symbol => 'TT$', :decimal_digits => 2 },
  'TWD' => {:symbol => 'NT$', :decimal_digits => 2 },
  'UAH' => {:symbol => 'грн.', :decimal_digits => 2 },
  'USD' => {:symbol => '$', :decimal_digits => 2 },
  'UYU' => {:symbol => '$U', :decimal_digits => 2 },
  'UZS' => {:symbol => 'su\'m', :decimal_digits => 0 },
  'VEB' => {:symbol => 'Bs', :decimal_digits => 2 },
  'VND' => {:symbol => '', :decimal_digits => 2 },
  'XOF' => {:symbol => 'XOF', :decimal_digits => 2 },
  'YER' => {:symbol => 'ر.ي.‏', :decimal_digits => 2 },
  'ZAR' => {:symbol => 'R', :decimal_digits => 2 },
  'ZWD' => {:symbol => 'Z$', :decimal_digits => 2 },
}