All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.squarespace.cldr.numbers._NumberFormatter_en_SG Maven / Gradle / Ivy

//
//
// AUTO-GENERATED CLASS - DO NOT EDIT
//
//
package com.squarespace.cldr.numbers;

import com.squarespace.cldr.CLDR;
import com.squarespace.cldr.parse.FieldPattern;
import com.squarespace.cldr.plurals.PluralCategory;
import com.squarespace.cldr.units.Unit;
import java.lang.Math;
import java.lang.String;
import java.lang.StringBuilder;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;

public class _NumberFormatter_en_SG extends NumberFormatterBase {
  protected static final int[] DECIMAL_SHORT_DIVISORS = new int[] { 0,0,0,3,3,3,6,6,6,9,9,9,12,12,12 };

  protected static final NumberPattern[][] DECIMAL_SHORT_ONE = new NumberPattern[][] {
    /*    1 */  patterns("#,##0.###", "-#,##0.###"),
    /*   10 */  patterns("#,##0.###", "-#,##0.###"),
    /*  100 */  patterns("#,##0.###", "-#,##0.###"),
    /*   1K */  patterns("0K", "-0K"),
    /*  10K */  patterns("00K", "-00K"),
    /* 100K */  patterns("000K", "-000K"),
    /*   1M */  patterns("0M", "-0M"),
    /*  10M */  patterns("00M", "-00M"),
    /* 100M */  patterns("000M", "-000M"),
    /*   1B */  patterns("0B", "-0B"),
    /*  10B */  patterns("00B", "-00B"),
    /* 100B */  patterns("000B", "-000B"),
    /*   1T */  patterns("0T", "-0T"),
    /*  10T */  patterns("00T", "-00T"),
    /* 100T */  patterns("000T", "-000T")}
  ;

  protected static final NumberPattern[][] DECIMAL_SHORT_OTHER = new NumberPattern[][] {
    /*    1 */  patterns("#,##0.###", "-#,##0.###"),
    /*   10 */  patterns("#,##0.###", "-#,##0.###"),
    /*  100 */  patterns("#,##0.###", "-#,##0.###"),
    /*   1K */  patterns("0K", "-0K"),
    /*  10K */  patterns("00K", "-00K"),
    /* 100K */  patterns("000K", "-000K"),
    /*   1M */  patterns("0M", "-0M"),
    /*  10M */  patterns("00M", "-00M"),
    /* 100M */  patterns("000M", "-000M"),
    /*   1B */  patterns("0B", "-0B"),
    /*  10B */  patterns("00B", "-00B"),
    /* 100B */  patterns("000B", "-000B"),
    /*   1T */  patterns("0T", "-0T"),
    /*  10T */  patterns("00T", "-00T"),
    /* 100T */  patterns("000T", "-000T")}
  ;

  protected static final int[] DECIMAL_LONG_DIVISORS = new int[] { 0,0,0,3,3,3,6,6,6,9,9,9,12,12,12 };

  protected static final NumberPattern[][] DECIMAL_LONG_ONE = new NumberPattern[][] {
    /*    1 */  patterns("#,##0.###", "-#,##0.###"),
    /*   10 */  patterns("#,##0.###", "-#,##0.###"),
    /*  100 */  patterns("#,##0.###", "-#,##0.###"),
    /*   1K */  patterns("0 thousand", "-0 thousand"),
    /*  10K */  patterns("00 thousand", "-00 thousand"),
    /* 100K */  patterns("000 thousand", "-000 thousand"),
    /*   1M */  patterns("0 million", "-0 million"),
    /*  10M */  patterns("00 million", "-00 million"),
    /* 100M */  patterns("000 million", "-000 million"),
    /*   1B */  patterns("0 billion", "-0 billion"),
    /*  10B */  patterns("00 billion", "-00 billion"),
    /* 100B */  patterns("000 billion", "-000 billion"),
    /*   1T */  patterns("0 trillion", "-0 trillion"),
    /*  10T */  patterns("00 trillion", "-00 trillion"),
    /* 100T */  patterns("000 trillion", "-000 trillion")}
  ;

  protected static final NumberPattern[][] DECIMAL_LONG_OTHER = new NumberPattern[][] {
    /*    1 */  patterns("#,##0.###", "-#,##0.###"),
    /*   10 */  patterns("#,##0.###", "-#,##0.###"),
    /*  100 */  patterns("#,##0.###", "-#,##0.###"),
    /*   1K */  patterns("0 thousand", "-0 thousand"),
    /*  10K */  patterns("00 thousand", "-00 thousand"),
    /* 100K */  patterns("000 thousand", "-000 thousand"),
    /*   1M */  patterns("0 million", "-0 million"),
    /*  10M */  patterns("00 million", "-00 million"),
    /* 100M */  patterns("000 million", "-000 million"),
    /*   1B */  patterns("0 billion", "-0 billion"),
    /*  10B */  patterns("00 billion", "-00 billion"),
    /* 100B */  patterns("000 billion", "-000 billion"),
    /*   1T */  patterns("0 trillion", "-0 trillion"),
    /*  10T */  patterns("00 trillion", "-00 trillion"),
    /* 100T */  patterns("000 trillion", "-000 trillion")}
  ;

  protected static final int[] CURRENCY_SHORT_DIVISORS = new int[] { 0,0,0,3,3,3,6,6,6,9,9,9,12,12,12 };

  protected static final NumberPattern[][] CURRENCY_SHORT_ONE = new NumberPattern[][] {
    /*    1 */  patterns("¤#,##0.00", "-¤#,##0.00"),
    /*   10 */  patterns("¤#,##0.00", "-¤#,##0.00"),
    /*  100 */  patterns("¤#,##0.00", "-¤#,##0.00"),
    /*   1K */  patterns("¤0K", "-¤0K"),
    /*  10K */  patterns("¤00K", "-¤00K"),
    /* 100K */  patterns("¤000K", "-¤000K"),
    /*   1M */  patterns("¤0M", "-¤0M"),
    /*  10M */  patterns("¤00M", "-¤00M"),
    /* 100M */  patterns("¤000M", "-¤000M"),
    /*   1B */  patterns("¤0B", "-¤0B"),
    /*  10B */  patterns("¤00B", "-¤00B"),
    /* 100B */  patterns("¤000B", "-¤000B"),
    /*   1T */  patterns("¤0T", "-¤0T"),
    /*  10T */  patterns("¤00T", "-¤00T"),
    /* 100T */  patterns("¤000T", "-¤000T")}
  ;

  protected static final NumberPattern[][] CURRENCY_SHORT_OTHER = new NumberPattern[][] {
    /*    1 */  patterns("¤#,##0.00", "-¤#,##0.00"),
    /*   10 */  patterns("¤#,##0.00", "-¤#,##0.00"),
    /*  100 */  patterns("¤#,##0.00", "-¤#,##0.00"),
    /*   1K */  patterns("¤0K", "-¤0K"),
    /*  10K */  patterns("¤00K", "-¤00K"),
    /* 100K */  patterns("¤000K", "-¤000K"),
    /*   1M */  patterns("¤0M", "-¤0M"),
    /*  10M */  patterns("¤00M", "-¤00M"),
    /* 100M */  patterns("¤000M", "-¤000M"),
    /*   1B */  patterns("¤0B", "-¤0B"),
    /*  10B */  patterns("¤00B", "-¤00B"),
    /* 100B */  patterns("¤000B", "-¤000B"),
    /*   1T */  patterns("¤0T", "-¤0T"),
    /*  10T */  patterns("¤00T", "-¤00T"),
    /* 100T */  patterns("¤000T", "-¤000T")}
  ;

  protected static final Map> UNITS_LONG_ONE = new EnumMap>(Unit.class) {{
    put(Unit.G_FORCE, unitPattern("{0} g-force"));
    put(Unit.METER_PER_SECOND_SQUARED, unitPattern("{0} metre per second squared"));
    put(Unit.ARC_MINUTE, unitPattern("{0} arcminute"));
    put(Unit.ARC_SECOND, unitPattern("{0} arcsecond"));
    put(Unit.DEGREE, unitPattern("{0} degree"));
    put(Unit.RADIAN, unitPattern("{0} radian"));
    put(Unit.REVOLUTION, unitPattern("{0} revolution"));
    put(Unit.ACRE, unitPattern("{0} acre"));
    put(Unit.HECTARE, unitPattern("{0} hectare"));
    put(Unit.SQUARE_CENTIMETER, unitPattern("{0} square centimetre"));
    put(Unit.SQUARE_FOOT, unitPattern("{0} square foot"));
    put(Unit.SQUARE_INCH, unitPattern("{0} square inch"));
    put(Unit.SQUARE_KILOMETER, unitPattern("{0} square kilometre"));
    put(Unit.SQUARE_METER, unitPattern("{0} square metre"));
    put(Unit.SQUARE_MILE, unitPattern("{0} square mile"));
    put(Unit.SQUARE_YARD, unitPattern("{0} square yard"));
    put(Unit.KARAT, unitPattern("{0} carat"));
    put(Unit.MILLIGRAM_PER_DECILITER, unitPattern("{0} milligram per decilitre"));
    put(Unit.MILLIMOLE_PER_LITER, unitPattern("{0} millimole per litre"));
    put(Unit.PART_PER_MILLION, unitPattern("{0} part per million"));
    put(Unit.LITER_PER_100KILOMETERS, unitPattern("{0} litre per 100 kilometres"));
    put(Unit.LITER_PER_KILOMETER, unitPattern("{0} litre per kilometre"));
    put(Unit.MILE_PER_GALLON, unitPattern("{0} mile per US gallon"));
    put(Unit.MILE_PER_GALLON_IMPERIAL, unitPattern("{0} mile per gallon"));
    put(Unit.BIT, unitPattern("{0} bit"));
    put(Unit.BYTE, unitPattern("{0} byte"));
    put(Unit.GIGABIT, unitPattern("{0} gigabit"));
    put(Unit.GIGABYTE, unitPattern("{0} gigabyte"));
    put(Unit.KILOBIT, unitPattern("{0} kilobit"));
    put(Unit.KILOBYTE, unitPattern("{0} kilobyte"));
    put(Unit.MEGABIT, unitPattern("{0} megabit"));
    put(Unit.MEGABYTE, unitPattern("{0} megabyte"));
    put(Unit.TERABIT, unitPattern("{0} terabit"));
    put(Unit.TERABYTE, unitPattern("{0} terabyte"));
    put(Unit.CENTURY, unitPattern("{0} century"));
    put(Unit.DAY, unitPattern("{0} day"));
    put(Unit.HOUR, unitPattern("{0} hour"));
    put(Unit.MICROSECOND, unitPattern("{0} microsecond"));
    put(Unit.MILLISECOND, unitPattern("{0} millisecond"));
    put(Unit.MINUTE, unitPattern("{0} minute"));
    put(Unit.MONTH, unitPattern("{0} month"));
    put(Unit.NANOSECOND, unitPattern("{0} nanosecond"));
    put(Unit.SECOND, unitPattern("{0} second"));
    put(Unit.WEEK, unitPattern("{0} week"));
    put(Unit.YEAR, unitPattern("{0} year"));
    put(Unit.AMPERE, unitPattern("{0} ampere"));
    put(Unit.MILLIAMPERE, unitPattern("{0} milliampere"));
    put(Unit.OHM, unitPattern("{0} ohm"));
    put(Unit.VOLT, unitPattern("{0} volt"));
    put(Unit.CALORIE, unitPattern("{0} calorie"));
    put(Unit.FOODCALORIE, unitPattern("{0} Calorie"));
    put(Unit.JOULE, unitPattern("{0} joule"));
    put(Unit.KILOCALORIE, unitPattern("{0} kilocalorie"));
    put(Unit.KILOJOULE, unitPattern("{0} kilojoule"));
    put(Unit.KILOWATT_HOUR, unitPattern("{0} kilowatt hour"));
    put(Unit.GIGAHERTZ, unitPattern("{0} gigahertz"));
    put(Unit.HERTZ, unitPattern("{0} hertz"));
    put(Unit.KILOHERTZ, unitPattern("{0} kilohertz"));
    put(Unit.MEGAHERTZ, unitPattern("{0} megahertz"));
    put(Unit.ASTRONOMICAL_UNIT, unitPattern("{0} astronomical unit"));
    put(Unit.CENTIMETER, unitPattern("{0} centimetre"));
    put(Unit.DECIMETER, unitPattern("{0} decimetre"));
    put(Unit.FATHOM, unitPattern("{0} fathom"));
    put(Unit.FOOT, unitPattern("{0} foot"));
    put(Unit.FURLONG, unitPattern("{0} furlong"));
    put(Unit.INCH, unitPattern("{0} inch"));
    put(Unit.KILOMETER, unitPattern("{0} kilometre"));
    put(Unit.LIGHT_YEAR, unitPattern("{0} light year"));
    put(Unit.METER, unitPattern("{0} metre"));
    put(Unit.MICROMETER, unitPattern("{0} micrometre"));
    put(Unit.MILE, unitPattern("{0} mile"));
    put(Unit.MILE_SCANDINAVIAN, unitPattern("{0} mile-scandinavian"));
    put(Unit.MILLIMETER, unitPattern("{0} millimetre"));
    put(Unit.NANOMETER, unitPattern("{0} nanometre"));
    put(Unit.NAUTICAL_MILE, unitPattern("{0} nautical mile"));
    put(Unit.PARSEC, unitPattern("{0} parsec"));
    put(Unit.PICOMETER, unitPattern("{0} picometre"));
    put(Unit.POINT, unitPattern("{0} point"));
    put(Unit.YARD, unitPattern("{0} yard"));
    put(Unit.LUX, unitPattern("{0} lux"));
    put(Unit.CARAT, unitPattern("{0} carat"));
    put(Unit.GRAM, unitPattern("{0} gram"));
    put(Unit.KILOGRAM, unitPattern("{0} kilogram"));
    put(Unit.METRIC_TON, unitPattern("{0} tonne"));
    put(Unit.MICROGRAM, unitPattern("{0} microgram"));
    put(Unit.MILLIGRAM, unitPattern("{0} milligram"));
    put(Unit.OUNCE, unitPattern("{0} ounce"));
    put(Unit.OUNCE_TROY, unitPattern("{0} troy ounce"));
    put(Unit.POUND, unitPattern("{0} pound"));
    put(Unit.STONE, unitPattern("{0} stone"));
    put(Unit.TON, unitPattern("{0} ton"));
    put(Unit.GIGAWATT, unitPattern("{0} gigawatt"));
    put(Unit.HORSEPOWER, unitPattern("{0} horsepower"));
    put(Unit.KILOWATT, unitPattern("{0} kilowatt"));
    put(Unit.MEGAWATT, unitPattern("{0} megawatt"));
    put(Unit.MILLIWATT, unitPattern("{0} milliwatt"));
    put(Unit.WATT, unitPattern("{0} watt"));
    put(Unit.HECTOPASCAL, unitPattern("{0} hectopascal"));
    put(Unit.INCH_HG, unitPattern("{0} inch of mercury"));
    put(Unit.MILLIBAR, unitPattern("{0} millibar"));
    put(Unit.MILLIMETER_OF_MERCURY, unitPattern("{0} millimetre of mercury"));
    put(Unit.POUND_PER_SQUARE_INCH, unitPattern("{0} pound per square inch"));
    put(Unit.KILOMETER_PER_HOUR, unitPattern("{0} kilometre per hour"));
    put(Unit.KNOT, unitPattern("{0} knot"));
    put(Unit.METER_PER_SECOND, unitPattern("{0} metre per second"));
    put(Unit.MILE_PER_HOUR, unitPattern("{0} mile per hour"));
    put(Unit.CELSIUS, unitPattern("{0} degree Celsius"));
    put(Unit.FAHRENHEIT, unitPattern("{0} degree Fahrenheit"));
    put(Unit.TEMPERATURE_GENERIC, unitPattern("{0}°"));
    put(Unit.KELVIN, unitPattern("{0} kelvin"));
    put(Unit.ACRE_FOOT, unitPattern("{0} acre-foot"));
    put(Unit.BUSHEL, unitPattern("{0} bushel"));
    put(Unit.CENTILITER, unitPattern("{0} centilitre"));
    put(Unit.CUBIC_CENTIMETER, unitPattern("{0} cubic centimetre"));
    put(Unit.CUBIC_FOOT, unitPattern("{0} cubic foot"));
    put(Unit.CUBIC_INCH, unitPattern("{0} cubic inch"));
    put(Unit.CUBIC_KILOMETER, unitPattern("{0} cubic kilometre"));
    put(Unit.CUBIC_METER, unitPattern("{0} cubic metre"));
    put(Unit.CUBIC_MILE, unitPattern("{0} cubic mile"));
    put(Unit.CUBIC_YARD, unitPattern("{0} cubic yard"));
    put(Unit.CUP, unitPattern("{0} cup"));
    put(Unit.CUP_METRIC, unitPattern("{0} metric cup"));
    put(Unit.DECILITER, unitPattern("{0} decilitre"));
    put(Unit.FLUID_OUNCE, unitPattern("{0} fluid ounce"));
    put(Unit.GALLON, unitPattern("{0} US gallon"));
    put(Unit.GALLON_IMPERIAL, unitPattern("{0} gallon"));
    put(Unit.HECTOLITER, unitPattern("{0} hectolitre"));
    put(Unit.LITER, unitPattern("{0} litre"));
    put(Unit.MEGALITER, unitPattern("{0} megalitre"));
    put(Unit.MILLILITER, unitPattern("{0} millilitre"));
    put(Unit.PINT, unitPattern("{0} pint"));
    put(Unit.PINT_METRIC, unitPattern("{0} metric pint"));
    put(Unit.QUART, unitPattern("{0} quart"));
    put(Unit.TABLESPOON, unitPattern("{0} tablespoon"));
    put(Unit.TEASPOON, unitPattern("{0} teaspoon"));
  }};

  protected static final Map> UNITS_LONG_OTHER = new EnumMap>(Unit.class) {{
    put(Unit.G_FORCE, unitPattern("{0} g-force"));
    put(Unit.METER_PER_SECOND_SQUARED, unitPattern("{0} metres per second squared"));
    put(Unit.ARC_MINUTE, unitPattern("{0} arcminutes"));
    put(Unit.ARC_SECOND, unitPattern("{0} arcseconds"));
    put(Unit.DEGREE, unitPattern("{0} degrees"));
    put(Unit.RADIAN, unitPattern("{0} radians"));
    put(Unit.REVOLUTION, unitPattern("{0} revolutions"));
    put(Unit.ACRE, unitPattern("{0} acres"));
    put(Unit.HECTARE, unitPattern("{0} hectares"));
    put(Unit.SQUARE_CENTIMETER, unitPattern("{0} square centimetres"));
    put(Unit.SQUARE_FOOT, unitPattern("{0} square feet"));
    put(Unit.SQUARE_INCH, unitPattern("{0} square inches"));
    put(Unit.SQUARE_KILOMETER, unitPattern("{0} square kilometres"));
    put(Unit.SQUARE_METER, unitPattern("{0} square metres"));
    put(Unit.SQUARE_MILE, unitPattern("{0} square miles"));
    put(Unit.SQUARE_YARD, unitPattern("{0} square yards"));
    put(Unit.KARAT, unitPattern("{0} carats"));
    put(Unit.MILLIGRAM_PER_DECILITER, unitPattern("{0} milligrams per decilitre"));
    put(Unit.MILLIMOLE_PER_LITER, unitPattern("{0} millimoles per litre"));
    put(Unit.PART_PER_MILLION, unitPattern("{0} parts per million"));
    put(Unit.LITER_PER_100KILOMETERS, unitPattern("{0} litres per 100 kilometres"));
    put(Unit.LITER_PER_KILOMETER, unitPattern("{0} litres per kilometre"));
    put(Unit.MILE_PER_GALLON, unitPattern("{0} miles per US gallon"));
    put(Unit.MILE_PER_GALLON_IMPERIAL, unitPattern("{0} miles per gallon"));
    put(Unit.BIT, unitPattern("{0} bits"));
    put(Unit.BYTE, unitPattern("{0} bytes"));
    put(Unit.GIGABIT, unitPattern("{0} gigabits"));
    put(Unit.GIGABYTE, unitPattern("{0} gigabytes"));
    put(Unit.KILOBIT, unitPattern("{0} kilobits"));
    put(Unit.KILOBYTE, unitPattern("{0} kilobytes"));
    put(Unit.MEGABIT, unitPattern("{0} megabits"));
    put(Unit.MEGABYTE, unitPattern("{0} megabytes"));
    put(Unit.TERABIT, unitPattern("{0} terabits"));
    put(Unit.TERABYTE, unitPattern("{0} terabytes"));
    put(Unit.CENTURY, unitPattern("{0} centuries"));
    put(Unit.DAY, unitPattern("{0} days"));
    put(Unit.HOUR, unitPattern("{0} hours"));
    put(Unit.MICROSECOND, unitPattern("{0} microseconds"));
    put(Unit.MILLISECOND, unitPattern("{0} milliseconds"));
    put(Unit.MINUTE, unitPattern("{0} minutes"));
    put(Unit.MONTH, unitPattern("{0} months"));
    put(Unit.NANOSECOND, unitPattern("{0} nanoseconds"));
    put(Unit.SECOND, unitPattern("{0} seconds"));
    put(Unit.WEEK, unitPattern("{0} weeks"));
    put(Unit.YEAR, unitPattern("{0} years"));
    put(Unit.AMPERE, unitPattern("{0} amperes"));
    put(Unit.MILLIAMPERE, unitPattern("{0} milliamperes"));
    put(Unit.OHM, unitPattern("{0} ohms"));
    put(Unit.VOLT, unitPattern("{0} volts"));
    put(Unit.CALORIE, unitPattern("{0} calories"));
    put(Unit.FOODCALORIE, unitPattern("{0} Calories"));
    put(Unit.JOULE, unitPattern("{0} joules"));
    put(Unit.KILOCALORIE, unitPattern("{0} kilocalories"));
    put(Unit.KILOJOULE, unitPattern("{0} kilojoules"));
    put(Unit.KILOWATT_HOUR, unitPattern("{0} kilowatt-hours"));
    put(Unit.GIGAHERTZ, unitPattern("{0} gigahertz"));
    put(Unit.HERTZ, unitPattern("{0} hertz"));
    put(Unit.KILOHERTZ, unitPattern("{0} kilohertz"));
    put(Unit.MEGAHERTZ, unitPattern("{0} megahertz"));
    put(Unit.ASTRONOMICAL_UNIT, unitPattern("{0} astronomical units"));
    put(Unit.CENTIMETER, unitPattern("{0} centimetres"));
    put(Unit.DECIMETER, unitPattern("{0} decimetres"));
    put(Unit.FATHOM, unitPattern("{0} fathoms"));
    put(Unit.FOOT, unitPattern("{0} feet"));
    put(Unit.FURLONG, unitPattern("{0} furlongs"));
    put(Unit.INCH, unitPattern("{0} inches"));
    put(Unit.KILOMETER, unitPattern("{0} kilometres"));
    put(Unit.LIGHT_YEAR, unitPattern("{0} light years"));
    put(Unit.METER, unitPattern("{0} metres"));
    put(Unit.MICROMETER, unitPattern("{0} micrometres"));
    put(Unit.MILE, unitPattern("{0} miles"));
    put(Unit.MILE_SCANDINAVIAN, unitPattern("{0} miles-scandinavian"));
    put(Unit.MILLIMETER, unitPattern("{0} millimetres"));
    put(Unit.NANOMETER, unitPattern("{0} nanometres"));
    put(Unit.NAUTICAL_MILE, unitPattern("{0} nautical miles"));
    put(Unit.PARSEC, unitPattern("{0} parsecs"));
    put(Unit.PICOMETER, unitPattern("{0} picometres"));
    put(Unit.POINT, unitPattern("{0} points"));
    put(Unit.YARD, unitPattern("{0} yards"));
    put(Unit.LUX, unitPattern("{0} lux"));
    put(Unit.CARAT, unitPattern("{0} carats"));
    put(Unit.GRAM, unitPattern("{0} grams"));
    put(Unit.KILOGRAM, unitPattern("{0} kilograms"));
    put(Unit.METRIC_TON, unitPattern("{0} tonnes"));
    put(Unit.MICROGRAM, unitPattern("{0} micrograms"));
    put(Unit.MILLIGRAM, unitPattern("{0} milligrams"));
    put(Unit.OUNCE, unitPattern("{0} ounces"));
    put(Unit.OUNCE_TROY, unitPattern("{0} troy ounces"));
    put(Unit.POUND, unitPattern("{0} pounds"));
    put(Unit.STONE, unitPattern("{0} stone"));
    put(Unit.TON, unitPattern("{0} tons"));
    put(Unit.GIGAWATT, unitPattern("{0} gigawatts"));
    put(Unit.HORSEPOWER, unitPattern("{0} horsepower"));
    put(Unit.KILOWATT, unitPattern("{0} kilowatts"));
    put(Unit.MEGAWATT, unitPattern("{0} megawatts"));
    put(Unit.MILLIWATT, unitPattern("{0} milliwatts"));
    put(Unit.WATT, unitPattern("{0} watts"));
    put(Unit.HECTOPASCAL, unitPattern("{0} hectopascals"));
    put(Unit.INCH_HG, unitPattern("{0} inches of mercury"));
    put(Unit.MILLIBAR, unitPattern("{0} millibars"));
    put(Unit.MILLIMETER_OF_MERCURY, unitPattern("{0} millimetres of mercury"));
    put(Unit.POUND_PER_SQUARE_INCH, unitPattern("{0} pounds per square inch"));
    put(Unit.KILOMETER_PER_HOUR, unitPattern("{0} kilometres per hour"));
    put(Unit.KNOT, unitPattern("{0} knots"));
    put(Unit.METER_PER_SECOND, unitPattern("{0} metres per second"));
    put(Unit.MILE_PER_HOUR, unitPattern("{0} miles per hour"));
    put(Unit.CELSIUS, unitPattern("{0} degrees Celsius"));
    put(Unit.FAHRENHEIT, unitPattern("{0} degrees Fahrenheit"));
    put(Unit.TEMPERATURE_GENERIC, unitPattern("{0}°"));
    put(Unit.KELVIN, unitPattern("{0} kelvin"));
    put(Unit.ACRE_FOOT, unitPattern("{0} acre-feet"));
    put(Unit.BUSHEL, unitPattern("{0} bushels"));
    put(Unit.CENTILITER, unitPattern("{0} centilitres"));
    put(Unit.CUBIC_CENTIMETER, unitPattern("{0} cubic centimetres"));
    put(Unit.CUBIC_FOOT, unitPattern("{0} cubic feet"));
    put(Unit.CUBIC_INCH, unitPattern("{0} cubic inches"));
    put(Unit.CUBIC_KILOMETER, unitPattern("{0} cubic kilometres"));
    put(Unit.CUBIC_METER, unitPattern("{0} cubic metres"));
    put(Unit.CUBIC_MILE, unitPattern("{0} cubic miles"));
    put(Unit.CUBIC_YARD, unitPattern("{0} cubic yards"));
    put(Unit.CUP, unitPattern("{0} cups"));
    put(Unit.CUP_METRIC, unitPattern("{0} metric cups"));
    put(Unit.DECILITER, unitPattern("{0} decilitres"));
    put(Unit.FLUID_OUNCE, unitPattern("{0} fluid ounces"));
    put(Unit.GALLON, unitPattern("{0} US gallons"));
    put(Unit.GALLON_IMPERIAL, unitPattern("{0} gallons"));
    put(Unit.HECTOLITER, unitPattern("{0} hectolitres"));
    put(Unit.LITER, unitPattern("{0} litres"));
    put(Unit.MEGALITER, unitPattern("{0} megalitres"));
    put(Unit.MILLILITER, unitPattern("{0} millilitres"));
    put(Unit.PINT, unitPattern("{0} pints"));
    put(Unit.PINT_METRIC, unitPattern("{0} metric pints"));
    put(Unit.QUART, unitPattern("{0} quarts"));
    put(Unit.TABLESPOON, unitPattern("{0} tablespoons"));
    put(Unit.TEASPOON, unitPattern("{0} teaspoons"));
  }};

  protected static final Map> UNITS_NARROW_ONE = new EnumMap>(Unit.class) {{
    put(Unit.G_FORCE, unitPattern("{0}G"));
    put(Unit.METER_PER_SECOND_SQUARED, unitPattern("{0}m/s²"));
    put(Unit.ARC_MINUTE, unitPattern("{0}′"));
    put(Unit.ARC_SECOND, unitPattern("{0}″"));
    put(Unit.DEGREE, unitPattern("{0}°"));
    put(Unit.RADIAN, unitPattern("{0}rad"));
    put(Unit.REVOLUTION, unitPattern("{0}rev"));
    put(Unit.ACRE, unitPattern("{0}ac"));
    put(Unit.HECTARE, unitPattern("{0}ha"));
    put(Unit.SQUARE_CENTIMETER, unitPattern("{0}cm²"));
    put(Unit.SQUARE_FOOT, unitPattern("{0}ft²"));
    put(Unit.SQUARE_INCH, unitPattern("{0}in²"));
    put(Unit.SQUARE_KILOMETER, unitPattern("{0} km²"));
    put(Unit.SQUARE_METER, unitPattern("{0} m²"));
    put(Unit.SQUARE_MILE, unitPattern("{0}mi²"));
    put(Unit.SQUARE_YARD, unitPattern("{0}yd²"));
    put(Unit.KARAT, unitPattern("{0}kt"));
    put(Unit.MILLIGRAM_PER_DECILITER, unitPattern("{0}mg/dl"));
    put(Unit.MILLIMOLE_PER_LITER, unitPattern("{0}mmol/l"));
    put(Unit.PART_PER_MILLION, unitPattern("{0}ppm"));
    put(Unit.LITER_PER_100KILOMETERS, unitPattern("{0}l/100km"));
    put(Unit.LITER_PER_KILOMETER, unitPattern("{0}l/km"));
    put(Unit.MILE_PER_GALLON, unitPattern("{0}mpgUS"));
    put(Unit.MILE_PER_GALLON_IMPERIAL, unitPattern("{0}mpg"));
    put(Unit.BIT, unitPattern("{0}bit"));
    put(Unit.BYTE, unitPattern("{0}byte"));
    put(Unit.GIGABIT, unitPattern("{0}Gb"));
    put(Unit.GIGABYTE, unitPattern("{0}GB"));
    put(Unit.KILOBIT, unitPattern("{0}kb"));
    put(Unit.KILOBYTE, unitPattern("{0}kB"));
    put(Unit.MEGABIT, unitPattern("{0}Mb"));
    put(Unit.MEGABYTE, unitPattern("{0}MB"));
    put(Unit.TERABIT, unitPattern("{0}Tb"));
    put(Unit.TERABYTE, unitPattern("{0}TB"));
    put(Unit.CENTURY, unitPattern("{0} c"));
    put(Unit.DAY, unitPattern("{0}d"));
    put(Unit.HOUR, unitPattern("{0}h"));
    put(Unit.MICROSECOND, unitPattern("{0}μs"));
    put(Unit.MILLISECOND, unitPattern("{0}ms"));
    put(Unit.MINUTE, unitPattern("{0}m"));
    put(Unit.MONTH, unitPattern("{0}m"));
    put(Unit.NANOSECOND, unitPattern("{0}ns"));
    put(Unit.SECOND, unitPattern("{0}s"));
    put(Unit.WEEK, unitPattern("{0}w"));
    put(Unit.YEAR, unitPattern("{0}y"));
    put(Unit.AMPERE, unitPattern("{0}A"));
    put(Unit.MILLIAMPERE, unitPattern("{0}mA"));
    put(Unit.OHM, unitPattern("{0}Ω"));
    put(Unit.VOLT, unitPattern("{0}V"));
    put(Unit.CALORIE, unitPattern("{0}cal"));
    put(Unit.FOODCALORIE, unitPattern("{0}Cal"));
    put(Unit.JOULE, unitPattern("{0}J"));
    put(Unit.KILOCALORIE, unitPattern("{0}kcal"));
    put(Unit.KILOJOULE, unitPattern("{0}kJ"));
    put(Unit.KILOWATT_HOUR, unitPattern("{0}kWh"));
    put(Unit.GIGAHERTZ, unitPattern("{0}GHz"));
    put(Unit.HERTZ, unitPattern("{0}Hz"));
    put(Unit.KILOHERTZ, unitPattern("{0}kHz"));
    put(Unit.MEGAHERTZ, unitPattern("{0}MHz"));
    put(Unit.ASTRONOMICAL_UNIT, unitPattern("{0}au"));
    put(Unit.CENTIMETER, unitPattern("{0}cm"));
    put(Unit.DECIMETER, unitPattern("{0}dm"));
    put(Unit.FATHOM, unitPattern("{0}fm"));
    put(Unit.FOOT, unitPattern("{0}′"));
    put(Unit.FURLONG, unitPattern("{0}fur"));
    put(Unit.INCH, unitPattern("{0}″"));
    put(Unit.KILOMETER, unitPattern("{0}km"));
    put(Unit.LIGHT_YEAR, unitPattern("{0}ly"));
    put(Unit.METER, unitPattern("{0}m"));
    put(Unit.MICROMETER, unitPattern("{0}µm"));
    put(Unit.MILE, unitPattern("{0}mi"));
    put(Unit.MILE_SCANDINAVIAN, unitPattern("{0}smi"));
    put(Unit.MILLIMETER, unitPattern("{0}mm"));
    put(Unit.NANOMETER, unitPattern("{0}nm"));
    put(Unit.NAUTICAL_MILE, unitPattern("{0}nmi"));
    put(Unit.PARSEC, unitPattern("{0}pc"));
    put(Unit.PICOMETER, unitPattern("{0}pm"));
    put(Unit.POINT, unitPattern("{0}pt"));
    put(Unit.YARD, unitPattern("{0}yd"));
    put(Unit.LUX, unitPattern("{0}lx"));
    put(Unit.CARAT, unitPattern("{0}CD"));
    put(Unit.GRAM, unitPattern("{0}g"));
    put(Unit.KILOGRAM, unitPattern("{0}kg"));
    put(Unit.METRIC_TON, unitPattern("{0}t"));
    put(Unit.MICROGRAM, unitPattern("{0}µg"));
    put(Unit.MILLIGRAM, unitPattern("{0}mg"));
    put(Unit.OUNCE, unitPattern("{0}oz"));
    put(Unit.OUNCE_TROY, unitPattern("{0}oz t"));
    put(Unit.POUND, unitPattern("{0}lb"));
    put(Unit.STONE, unitPattern("{0}st"));
    put(Unit.TON, unitPattern("{0}tn"));
    put(Unit.GIGAWATT, unitPattern("{0}GW"));
    put(Unit.HORSEPOWER, unitPattern("{0}hp"));
    put(Unit.KILOWATT, unitPattern("{0}kW"));
    put(Unit.MEGAWATT, unitPattern("{0}MW"));
    put(Unit.MILLIWATT, unitPattern("{0}mW"));
    put(Unit.WATT, unitPattern("{0}W"));
    put(Unit.HECTOPASCAL, unitPattern("{0}hPa"));
    put(Unit.INCH_HG, unitPattern("{0}″ Hg"));
    put(Unit.MILLIBAR, unitPattern("{0}mb"));
    put(Unit.MILLIMETER_OF_MERCURY, unitPattern("{0}mmHg"));
    put(Unit.POUND_PER_SQUARE_INCH, unitPattern("{0}psi"));
    put(Unit.KILOMETER_PER_HOUR, unitPattern("{0}kph"));
    put(Unit.KNOT, unitPattern("{0}kn"));
    put(Unit.METER_PER_SECOND, unitPattern("{0}m/s"));
    put(Unit.MILE_PER_HOUR, unitPattern("{0}mph"));
    put(Unit.CELSIUS, unitPattern("{0}°"));
    put(Unit.FAHRENHEIT, unitPattern("{0}°F"));
    put(Unit.TEMPERATURE_GENERIC, unitPattern("{0}°"));
    put(Unit.KELVIN, unitPattern("{0}K"));
    put(Unit.ACRE_FOOT, unitPattern("{0}ac ft"));
    put(Unit.BUSHEL, unitPattern("{0}bu"));
    put(Unit.CENTILITER, unitPattern("{0}cl"));
    put(Unit.CUBIC_CENTIMETER, unitPattern("{0}cm³"));
    put(Unit.CUBIC_FOOT, unitPattern("{0}ft³"));
    put(Unit.CUBIC_INCH, unitPattern("{0}in³"));
    put(Unit.CUBIC_KILOMETER, unitPattern("{0}km³"));
    put(Unit.CUBIC_METER, unitPattern("{0}m³"));
    put(Unit.CUBIC_MILE, unitPattern("{0}mi³"));
    put(Unit.CUBIC_YARD, unitPattern("{0}yd³"));
    put(Unit.CUP, unitPattern("{0}c"));
    put(Unit.CUP_METRIC, unitPattern("{0}mc"));
    put(Unit.DECILITER, unitPattern("{0}dl"));
    put(Unit.FLUID_OUNCE, unitPattern("{0}fl oz"));
    put(Unit.GALLON, unitPattern("{0}galUS"));
    put(Unit.GALLON_IMPERIAL, unitPattern("{0}gal"));
    put(Unit.HECTOLITER, unitPattern("{0}hl"));
    put(Unit.LITER, unitPattern("{0}l"));
    put(Unit.MEGALITER, unitPattern("{0}Ml"));
    put(Unit.MILLILITER, unitPattern("{0}ml"));
    put(Unit.PINT, unitPattern("{0}pt"));
    put(Unit.PINT_METRIC, unitPattern("{0}mpt"));
    put(Unit.QUART, unitPattern("{0}qt"));
    put(Unit.TABLESPOON, unitPattern("{0}tbsp"));
    put(Unit.TEASPOON, unitPattern("{0}tsp"));
  }};

  protected static final Map> UNITS_NARROW_OTHER = new EnumMap>(Unit.class) {{
    put(Unit.G_FORCE, unitPattern("{0}Gs"));
    put(Unit.METER_PER_SECOND_SQUARED, unitPattern("{0}m/s²"));
    put(Unit.ARC_MINUTE, unitPattern("{0}′"));
    put(Unit.ARC_SECOND, unitPattern("{0}″"));
    put(Unit.DEGREE, unitPattern("{0}°"));
    put(Unit.RADIAN, unitPattern("{0}rad"));
    put(Unit.REVOLUTION, unitPattern("{0}rev"));
    put(Unit.ACRE, unitPattern("{0}ac"));
    put(Unit.HECTARE, unitPattern("{0}ha"));
    put(Unit.SQUARE_CENTIMETER, unitPattern("{0}cm²"));
    put(Unit.SQUARE_FOOT, unitPattern("{0}ft²"));
    put(Unit.SQUARE_INCH, unitPattern("{0}in²"));
    put(Unit.SQUARE_KILOMETER, unitPattern("{0} km²"));
    put(Unit.SQUARE_METER, unitPattern("{0} m²"));
    put(Unit.SQUARE_MILE, unitPattern("{0}mi²"));
    put(Unit.SQUARE_YARD, unitPattern("{0}yd²"));
    put(Unit.KARAT, unitPattern("{0}kt"));
    put(Unit.MILLIGRAM_PER_DECILITER, unitPattern("{0}mg/dl"));
    put(Unit.MILLIMOLE_PER_LITER, unitPattern("{0}mmol/l"));
    put(Unit.PART_PER_MILLION, unitPattern("{0}ppm"));
    put(Unit.LITER_PER_100KILOMETERS, unitPattern("{0}l/100km"));
    put(Unit.LITER_PER_KILOMETER, unitPattern("{0}l/km"));
    put(Unit.MILE_PER_GALLON, unitPattern("{0}mpgUS"));
    put(Unit.MILE_PER_GALLON_IMPERIAL, unitPattern("{0}mpg"));
    put(Unit.BIT, unitPattern("{0}bit"));
    put(Unit.BYTE, unitPattern("{0}byte"));
    put(Unit.GIGABIT, unitPattern("{0}Gb"));
    put(Unit.GIGABYTE, unitPattern("{0}GB"));
    put(Unit.KILOBIT, unitPattern("{0}kb"));
    put(Unit.KILOBYTE, unitPattern("{0}kB"));
    put(Unit.MEGABIT, unitPattern("{0}Mb"));
    put(Unit.MEGABYTE, unitPattern("{0}MB"));
    put(Unit.TERABIT, unitPattern("{0}Tb"));
    put(Unit.TERABYTE, unitPattern("{0}TB"));
    put(Unit.CENTURY, unitPattern("{0} c"));
    put(Unit.DAY, unitPattern("{0}d"));
    put(Unit.HOUR, unitPattern("{0}h"));
    put(Unit.MICROSECOND, unitPattern("{0}μs"));
    put(Unit.MILLISECOND, unitPattern("{0}ms"));
    put(Unit.MINUTE, unitPattern("{0}m"));
    put(Unit.MONTH, unitPattern("{0}m"));
    put(Unit.NANOSECOND, unitPattern("{0}ns"));
    put(Unit.SECOND, unitPattern("{0}s"));
    put(Unit.WEEK, unitPattern("{0}w"));
    put(Unit.YEAR, unitPattern("{0}y"));
    put(Unit.AMPERE, unitPattern("{0}A"));
    put(Unit.MILLIAMPERE, unitPattern("{0}mA"));
    put(Unit.OHM, unitPattern("{0}Ω"));
    put(Unit.VOLT, unitPattern("{0}V"));
    put(Unit.CALORIE, unitPattern("{0}cal"));
    put(Unit.FOODCALORIE, unitPattern("{0}Cal"));
    put(Unit.JOULE, unitPattern("{0}J"));
    put(Unit.KILOCALORIE, unitPattern("{0}kcal"));
    put(Unit.KILOJOULE, unitPattern("{0}kJ"));
    put(Unit.KILOWATT_HOUR, unitPattern("{0}kWh"));
    put(Unit.GIGAHERTZ, unitPattern("{0}GHz"));
    put(Unit.HERTZ, unitPattern("{0}Hz"));
    put(Unit.KILOHERTZ, unitPattern("{0}kHz"));
    put(Unit.MEGAHERTZ, unitPattern("{0}MHz"));
    put(Unit.ASTRONOMICAL_UNIT, unitPattern("{0}au"));
    put(Unit.CENTIMETER, unitPattern("{0}cm"));
    put(Unit.DECIMETER, unitPattern("{0}dm"));
    put(Unit.FATHOM, unitPattern("{0}fm"));
    put(Unit.FOOT, unitPattern("{0}′"));
    put(Unit.FURLONG, unitPattern("{0}fur"));
    put(Unit.INCH, unitPattern("{0}″"));
    put(Unit.KILOMETER, unitPattern("{0}km"));
    put(Unit.LIGHT_YEAR, unitPattern("{0}ly"));
    put(Unit.METER, unitPattern("{0}m"));
    put(Unit.MICROMETER, unitPattern("{0}µm"));
    put(Unit.MILE, unitPattern("{0}mi"));
    put(Unit.MILE_SCANDINAVIAN, unitPattern("{0}smi"));
    put(Unit.MILLIMETER, unitPattern("{0}mm"));
    put(Unit.NANOMETER, unitPattern("{0}nm"));
    put(Unit.NAUTICAL_MILE, unitPattern("{0}nmi"));
    put(Unit.PARSEC, unitPattern("{0}pc"));
    put(Unit.PICOMETER, unitPattern("{0}pm"));
    put(Unit.POINT, unitPattern("{0}pt"));
    put(Unit.YARD, unitPattern("{0}yd"));
    put(Unit.LUX, unitPattern("{0}lx"));
    put(Unit.CARAT, unitPattern("{0}CD"));
    put(Unit.GRAM, unitPattern("{0}g"));
    put(Unit.KILOGRAM, unitPattern("{0}kg"));
    put(Unit.METRIC_TON, unitPattern("{0}t"));
    put(Unit.MICROGRAM, unitPattern("{0}µg"));
    put(Unit.MILLIGRAM, unitPattern("{0}mg"));
    put(Unit.OUNCE, unitPattern("{0}oz"));
    put(Unit.OUNCE_TROY, unitPattern("{0}oz t"));
    put(Unit.POUND, unitPattern("{0}lb"));
    put(Unit.STONE, unitPattern("{0}st"));
    put(Unit.TON, unitPattern("{0}tn"));
    put(Unit.GIGAWATT, unitPattern("{0}GW"));
    put(Unit.HORSEPOWER, unitPattern("{0}hp"));
    put(Unit.KILOWATT, unitPattern("{0}kW"));
    put(Unit.MEGAWATT, unitPattern("{0}MW"));
    put(Unit.MILLIWATT, unitPattern("{0}mW"));
    put(Unit.WATT, unitPattern("{0}W"));
    put(Unit.HECTOPASCAL, unitPattern("{0}hPa"));
    put(Unit.INCH_HG, unitPattern("{0}″ Hg"));
    put(Unit.MILLIBAR, unitPattern("{0}mb"));
    put(Unit.MILLIMETER_OF_MERCURY, unitPattern("{0}mmHg"));
    put(Unit.POUND_PER_SQUARE_INCH, unitPattern("{0}psi"));
    put(Unit.KILOMETER_PER_HOUR, unitPattern("{0}kph"));
    put(Unit.KNOT, unitPattern("{0}kn"));
    put(Unit.METER_PER_SECOND, unitPattern("{0}m/s"));
    put(Unit.MILE_PER_HOUR, unitPattern("{0}mph"));
    put(Unit.CELSIUS, unitPattern("{0}°"));
    put(Unit.FAHRENHEIT, unitPattern("{0}°F"));
    put(Unit.TEMPERATURE_GENERIC, unitPattern("{0}°"));
    put(Unit.KELVIN, unitPattern("{0}K"));
    put(Unit.ACRE_FOOT, unitPattern("{0}ac ft"));
    put(Unit.BUSHEL, unitPattern("{0}bu"));
    put(Unit.CENTILITER, unitPattern("{0}cl"));
    put(Unit.CUBIC_CENTIMETER, unitPattern("{0}cm³"));
    put(Unit.CUBIC_FOOT, unitPattern("{0}ft³"));
    put(Unit.CUBIC_INCH, unitPattern("{0}in³"));
    put(Unit.CUBIC_KILOMETER, unitPattern("{0}km³"));
    put(Unit.CUBIC_METER, unitPattern("{0}m³"));
    put(Unit.CUBIC_MILE, unitPattern("{0}mi³"));
    put(Unit.CUBIC_YARD, unitPattern("{0}yd³"));
    put(Unit.CUP, unitPattern("{0}c"));
    put(Unit.CUP_METRIC, unitPattern("{0}mc"));
    put(Unit.DECILITER, unitPattern("{0}dl"));
    put(Unit.FLUID_OUNCE, unitPattern("{0}fl oz"));
    put(Unit.GALLON, unitPattern("{0}galUS"));
    put(Unit.GALLON_IMPERIAL, unitPattern("{0}gal"));
    put(Unit.HECTOLITER, unitPattern("{0}hl"));
    put(Unit.LITER, unitPattern("{0}l"));
    put(Unit.MEGALITER, unitPattern("{0}Ml"));
    put(Unit.MILLILITER, unitPattern("{0}ml"));
    put(Unit.PINT, unitPattern("{0}pt"));
    put(Unit.PINT_METRIC, unitPattern("{0}mpt"));
    put(Unit.QUART, unitPattern("{0}qt"));
    put(Unit.TABLESPOON, unitPattern("{0}tbsp"));
    put(Unit.TEASPOON, unitPattern("{0}tsp"));
  }};

  protected static final Map> UNITS_SHORT_ONE = new EnumMap>(Unit.class) {{
    put(Unit.G_FORCE, unitPattern("{0} G"));
    put(Unit.METER_PER_SECOND_SQUARED, unitPattern("{0} m/s²"));
    put(Unit.ARC_MINUTE, unitPattern("{0} arcmin"));
    put(Unit.ARC_SECOND, unitPattern("{0} arcsec"));
    put(Unit.DEGREE, unitPattern("{0} deg"));
    put(Unit.RADIAN, unitPattern("{0} rad"));
    put(Unit.REVOLUTION, unitPattern("{0} rev"));
    put(Unit.ACRE, unitPattern("{0} ac"));
    put(Unit.HECTARE, unitPattern("{0} ha"));
    put(Unit.SQUARE_CENTIMETER, unitPattern("{0} cm²"));
    put(Unit.SQUARE_FOOT, unitPattern("{0} sq ft"));
    put(Unit.SQUARE_INCH, unitPattern("{0} in²"));
    put(Unit.SQUARE_KILOMETER, unitPattern("{0} km²"));
    put(Unit.SQUARE_METER, unitPattern("{0} m²"));
    put(Unit.SQUARE_MILE, unitPattern("{0} sq mi"));
    put(Unit.SQUARE_YARD, unitPattern("{0} yd²"));
    put(Unit.KARAT, unitPattern("{0} ct"));
    put(Unit.MILLIGRAM_PER_DECILITER, unitPattern("{0} mg/dl"));
    put(Unit.MILLIMOLE_PER_LITER, unitPattern("{0} mmol/l"));
    put(Unit.PART_PER_MILLION, unitPattern("{0} ppm"));
    put(Unit.LITER_PER_100KILOMETERS, unitPattern("{0} l/100 km"));
    put(Unit.LITER_PER_KILOMETER, unitPattern("{0} l/km"));
    put(Unit.MILE_PER_GALLON, unitPattern("{0} mpg US"));
    put(Unit.MILE_PER_GALLON_IMPERIAL, unitPattern("{0} mpg"));
    put(Unit.BIT, unitPattern("{0} bit"));
    put(Unit.BYTE, unitPattern("{0} byte"));
    put(Unit.GIGABIT, unitPattern("{0} Gb"));
    put(Unit.GIGABYTE, unitPattern("{0} GB"));
    put(Unit.KILOBIT, unitPattern("{0} kb"));
    put(Unit.KILOBYTE, unitPattern("{0} kB"));
    put(Unit.MEGABIT, unitPattern("{0} Mb"));
    put(Unit.MEGABYTE, unitPattern("{0} MB"));
    put(Unit.TERABIT, unitPattern("{0} Tb"));
    put(Unit.TERABYTE, unitPattern("{0} TB"));
    put(Unit.CENTURY, unitPattern("{0} c"));
    put(Unit.DAY, unitPattern("{0} day"));
    put(Unit.HOUR, unitPattern("{0} hr"));
    put(Unit.MICROSECOND, unitPattern("{0} μs"));
    put(Unit.MILLISECOND, unitPattern("{0} ms"));
    put(Unit.MINUTE, unitPattern("{0} min"));
    put(Unit.MONTH, unitPattern("{0} mth"));
    put(Unit.NANOSECOND, unitPattern("{0} ns"));
    put(Unit.SECOND, unitPattern("{0} sec"));
    put(Unit.WEEK, unitPattern("{0} wk"));
    put(Unit.YEAR, unitPattern("{0} yr"));
    put(Unit.AMPERE, unitPattern("{0} A"));
    put(Unit.MILLIAMPERE, unitPattern("{0} mA"));
    put(Unit.OHM, unitPattern("{0} Ω"));
    put(Unit.VOLT, unitPattern("{0} V"));
    put(Unit.CALORIE, unitPattern("{0} cal"));
    put(Unit.FOODCALORIE, unitPattern("{0} Cal"));
    put(Unit.JOULE, unitPattern("{0} J"));
    put(Unit.KILOCALORIE, unitPattern("{0} kcal"));
    put(Unit.KILOJOULE, unitPattern("{0} kJ"));
    put(Unit.KILOWATT_HOUR, unitPattern("{0} kWh"));
    put(Unit.GIGAHERTZ, unitPattern("{0} GHz"));
    put(Unit.HERTZ, unitPattern("{0} Hz"));
    put(Unit.KILOHERTZ, unitPattern("{0} kHz"));
    put(Unit.MEGAHERTZ, unitPattern("{0} MHz"));
    put(Unit.ASTRONOMICAL_UNIT, unitPattern("{0} au"));
    put(Unit.CENTIMETER, unitPattern("{0} cm"));
    put(Unit.DECIMETER, unitPattern("{0} dm"));
    put(Unit.FATHOM, unitPattern("{0} ftm"));
    put(Unit.FOOT, unitPattern("{0} ft"));
    put(Unit.FURLONG, unitPattern("{0} fur"));
    put(Unit.INCH, unitPattern("{0} in"));
    put(Unit.KILOMETER, unitPattern("{0} km"));
    put(Unit.LIGHT_YEAR, unitPattern("{0} ly"));
    put(Unit.METER, unitPattern("{0} m"));
    put(Unit.MICROMETER, unitPattern("{0} µm"));
    put(Unit.MILE, unitPattern("{0} mi"));
    put(Unit.MILE_SCANDINAVIAN, unitPattern("{0} smi"));
    put(Unit.MILLIMETER, unitPattern("{0} mm"));
    put(Unit.NANOMETER, unitPattern("{0} nm"));
    put(Unit.NAUTICAL_MILE, unitPattern("{0} nmi"));
    put(Unit.PARSEC, unitPattern("{0} pc"));
    put(Unit.PICOMETER, unitPattern("{0} pm"));
    put(Unit.POINT, unitPattern("{0} pt"));
    put(Unit.YARD, unitPattern("{0} yd"));
    put(Unit.LUX, unitPattern("{0} lx"));
    put(Unit.CARAT, unitPattern("{0} CD"));
    put(Unit.GRAM, unitPattern("{0} g"));
    put(Unit.KILOGRAM, unitPattern("{0} kg"));
    put(Unit.METRIC_TON, unitPattern("{0} t"));
    put(Unit.MICROGRAM, unitPattern("{0} µg"));
    put(Unit.MILLIGRAM, unitPattern("{0} mg"));
    put(Unit.OUNCE, unitPattern("{0} oz"));
    put(Unit.OUNCE_TROY, unitPattern("{0} oz t"));
    put(Unit.POUND, unitPattern("{0} lb"));
    put(Unit.STONE, unitPattern("{0} st"));
    put(Unit.TON, unitPattern("{0} tn"));
    put(Unit.GIGAWATT, unitPattern("{0} GW"));
    put(Unit.HORSEPOWER, unitPattern("{0} hp"));
    put(Unit.KILOWATT, unitPattern("{0} kW"));
    put(Unit.MEGAWATT, unitPattern("{0} MW"));
    put(Unit.MILLIWATT, unitPattern("{0} mW"));
    put(Unit.WATT, unitPattern("{0} W"));
    put(Unit.HECTOPASCAL, unitPattern("{0} hPa"));
    put(Unit.INCH_HG, unitPattern("{0} inHg"));
    put(Unit.MILLIBAR, unitPattern("{0} mbar"));
    put(Unit.MILLIMETER_OF_MERCURY, unitPattern("{0} mm Hg"));
    put(Unit.POUND_PER_SQUARE_INCH, unitPattern("{0} psi"));
    put(Unit.KILOMETER_PER_HOUR, unitPattern("{0} kph"));
    put(Unit.KNOT, unitPattern("{0} kn"));
    put(Unit.METER_PER_SECOND, unitPattern("{0} m/s"));
    put(Unit.MILE_PER_HOUR, unitPattern("{0} mph"));
    put(Unit.CELSIUS, unitPattern("{0}°C"));
    put(Unit.FAHRENHEIT, unitPattern("{0}°F"));
    put(Unit.TEMPERATURE_GENERIC, unitPattern("{0}°"));
    put(Unit.KELVIN, unitPattern("{0} K"));
    put(Unit.ACRE_FOOT, unitPattern("{0} ac ft"));
    put(Unit.BUSHEL, unitPattern("{0} bu"));
    put(Unit.CENTILITER, unitPattern("{0} cl"));
    put(Unit.CUBIC_CENTIMETER, unitPattern("{0} cm³"));
    put(Unit.CUBIC_FOOT, unitPattern("{0} ft³"));
    put(Unit.CUBIC_INCH, unitPattern("{0} in³"));
    put(Unit.CUBIC_KILOMETER, unitPattern("{0} km³"));
    put(Unit.CUBIC_METER, unitPattern("{0} m³"));
    put(Unit.CUBIC_MILE, unitPattern("{0} mi³"));
    put(Unit.CUBIC_YARD, unitPattern("{0} yd³"));
    put(Unit.CUP, unitPattern("{0} c"));
    put(Unit.CUP_METRIC, unitPattern("{0} mc"));
    put(Unit.DECILITER, unitPattern("{0} dl"));
    put(Unit.FLUID_OUNCE, unitPattern("{0} fl oz"));
    put(Unit.GALLON, unitPattern("{0} gal US"));
    put(Unit.GALLON_IMPERIAL, unitPattern("{0} gal"));
    put(Unit.HECTOLITER, unitPattern("{0} hl"));
    put(Unit.LITER, unitPattern("{0} l"));
    put(Unit.MEGALITER, unitPattern("{0} Ml"));
    put(Unit.MILLILITER, unitPattern("{0} ml"));
    put(Unit.PINT, unitPattern("{0} pt"));
    put(Unit.PINT_METRIC, unitPattern("{0} mpt"));
    put(Unit.QUART, unitPattern("{0} qt"));
    put(Unit.TABLESPOON, unitPattern("{0} tbsp"));
    put(Unit.TEASPOON, unitPattern("{0} tsp"));
  }};

  protected static final Map> UNITS_SHORT_OTHER = new EnumMap>(Unit.class) {{
    put(Unit.G_FORCE, unitPattern("{0} G"));
    put(Unit.METER_PER_SECOND_SQUARED, unitPattern("{0} m/s²"));
    put(Unit.ARC_MINUTE, unitPattern("{0} arcmins"));
    put(Unit.ARC_SECOND, unitPattern("{0} arcsecs"));
    put(Unit.DEGREE, unitPattern("{0} deg"));
    put(Unit.RADIAN, unitPattern("{0} rad"));
    put(Unit.REVOLUTION, unitPattern("{0} rev"));
    put(Unit.ACRE, unitPattern("{0} ac"));
    put(Unit.HECTARE, unitPattern("{0} ha"));
    put(Unit.SQUARE_CENTIMETER, unitPattern("{0} cm²"));
    put(Unit.SQUARE_FOOT, unitPattern("{0} sq ft"));
    put(Unit.SQUARE_INCH, unitPattern("{0} in²"));
    put(Unit.SQUARE_KILOMETER, unitPattern("{0} km²"));
    put(Unit.SQUARE_METER, unitPattern("{0} m²"));
    put(Unit.SQUARE_MILE, unitPattern("{0} sq mi"));
    put(Unit.SQUARE_YARD, unitPattern("{0} yd²"));
    put(Unit.KARAT, unitPattern("{0} ct"));
    put(Unit.MILLIGRAM_PER_DECILITER, unitPattern("{0} mg/dl"));
    put(Unit.MILLIMOLE_PER_LITER, unitPattern("{0} mmol/l"));
    put(Unit.PART_PER_MILLION, unitPattern("{0} ppm"));
    put(Unit.LITER_PER_100KILOMETERS, unitPattern("{0} l/100 km"));
    put(Unit.LITER_PER_KILOMETER, unitPattern("{0} l/km"));
    put(Unit.MILE_PER_GALLON, unitPattern("{0} mpg US"));
    put(Unit.MILE_PER_GALLON_IMPERIAL, unitPattern("{0} mpg"));
    put(Unit.BIT, unitPattern("{0} bit"));
    put(Unit.BYTE, unitPattern("{0} byte"));
    put(Unit.GIGABIT, unitPattern("{0} Gb"));
    put(Unit.GIGABYTE, unitPattern("{0} GB"));
    put(Unit.KILOBIT, unitPattern("{0} kb"));
    put(Unit.KILOBYTE, unitPattern("{0} kB"));
    put(Unit.MEGABIT, unitPattern("{0} Mb"));
    put(Unit.MEGABYTE, unitPattern("{0} MB"));
    put(Unit.TERABIT, unitPattern("{0} Tb"));
    put(Unit.TERABYTE, unitPattern("{0} TB"));
    put(Unit.CENTURY, unitPattern("{0} c"));
    put(Unit.DAY, unitPattern("{0} days"));
    put(Unit.HOUR, unitPattern("{0} hrs"));
    put(Unit.MICROSECOND, unitPattern("{0} μs"));
    put(Unit.MILLISECOND, unitPattern("{0} ms"));
    put(Unit.MINUTE, unitPattern("{0} mins"));
    put(Unit.MONTH, unitPattern("{0} mths"));
    put(Unit.NANOSECOND, unitPattern("{0} ns"));
    put(Unit.SECOND, unitPattern("{0} secs"));
    put(Unit.WEEK, unitPattern("{0} wks"));
    put(Unit.YEAR, unitPattern("{0} yrs"));
    put(Unit.AMPERE, unitPattern("{0} A"));
    put(Unit.MILLIAMPERE, unitPattern("{0} mA"));
    put(Unit.OHM, unitPattern("{0} Ω"));
    put(Unit.VOLT, unitPattern("{0} V"));
    put(Unit.CALORIE, unitPattern("{0} cal"));
    put(Unit.FOODCALORIE, unitPattern("{0} Cal"));
    put(Unit.JOULE, unitPattern("{0} J"));
    put(Unit.KILOCALORIE, unitPattern("{0} kcal"));
    put(Unit.KILOJOULE, unitPattern("{0} kJ"));
    put(Unit.KILOWATT_HOUR, unitPattern("{0} kWh"));
    put(Unit.GIGAHERTZ, unitPattern("{0} GHz"));
    put(Unit.HERTZ, unitPattern("{0} Hz"));
    put(Unit.KILOHERTZ, unitPattern("{0} kHz"));
    put(Unit.MEGAHERTZ, unitPattern("{0} MHz"));
    put(Unit.ASTRONOMICAL_UNIT, unitPattern("{0} au"));
    put(Unit.CENTIMETER, unitPattern("{0} cm"));
    put(Unit.DECIMETER, unitPattern("{0} dm"));
    put(Unit.FATHOM, unitPattern("{0} ftm"));
    put(Unit.FOOT, unitPattern("{0} ft"));
    put(Unit.FURLONG, unitPattern("{0} fur"));
    put(Unit.INCH, unitPattern("{0} in"));
    put(Unit.KILOMETER, unitPattern("{0} km"));
    put(Unit.LIGHT_YEAR, unitPattern("{0} ly"));
    put(Unit.METER, unitPattern("{0} m"));
    put(Unit.MICROMETER, unitPattern("{0} µm"));
    put(Unit.MILE, unitPattern("{0} mi"));
    put(Unit.MILE_SCANDINAVIAN, unitPattern("{0} smi"));
    put(Unit.MILLIMETER, unitPattern("{0} mm"));
    put(Unit.NANOMETER, unitPattern("{0} nm"));
    put(Unit.NAUTICAL_MILE, unitPattern("{0} nmi"));
    put(Unit.PARSEC, unitPattern("{0} pc"));
    put(Unit.PICOMETER, unitPattern("{0} pm"));
    put(Unit.POINT, unitPattern("{0} pt"));
    put(Unit.YARD, unitPattern("{0} yd"));
    put(Unit.LUX, unitPattern("{0} lx"));
    put(Unit.CARAT, unitPattern("{0} CD"));
    put(Unit.GRAM, unitPattern("{0} g"));
    put(Unit.KILOGRAM, unitPattern("{0} kg"));
    put(Unit.METRIC_TON, unitPattern("{0} t"));
    put(Unit.MICROGRAM, unitPattern("{0} µg"));
    put(Unit.MILLIGRAM, unitPattern("{0} mg"));
    put(Unit.OUNCE, unitPattern("{0} oz"));
    put(Unit.OUNCE_TROY, unitPattern("{0} oz t"));
    put(Unit.POUND, unitPattern("{0} lb"));
    put(Unit.STONE, unitPattern("{0} st"));
    put(Unit.TON, unitPattern("{0} tn"));
    put(Unit.GIGAWATT, unitPattern("{0} GW"));
    put(Unit.HORSEPOWER, unitPattern("{0} hp"));
    put(Unit.KILOWATT, unitPattern("{0} kW"));
    put(Unit.MEGAWATT, unitPattern("{0} MW"));
    put(Unit.MILLIWATT, unitPattern("{0} mW"));
    put(Unit.WATT, unitPattern("{0} W"));
    put(Unit.HECTOPASCAL, unitPattern("{0} hPa"));
    put(Unit.INCH_HG, unitPattern("{0} inHg"));
    put(Unit.MILLIBAR, unitPattern("{0} mbar"));
    put(Unit.MILLIMETER_OF_MERCURY, unitPattern("{0} mm Hg"));
    put(Unit.POUND_PER_SQUARE_INCH, unitPattern("{0} psi"));
    put(Unit.KILOMETER_PER_HOUR, unitPattern("{0} kph"));
    put(Unit.KNOT, unitPattern("{0} kn"));
    put(Unit.METER_PER_SECOND, unitPattern("{0} m/s"));
    put(Unit.MILE_PER_HOUR, unitPattern("{0} mph"));
    put(Unit.CELSIUS, unitPattern("{0}°C"));
    put(Unit.FAHRENHEIT, unitPattern("{0}°F"));
    put(Unit.TEMPERATURE_GENERIC, unitPattern("{0}°"));
    put(Unit.KELVIN, unitPattern("{0} K"));
    put(Unit.ACRE_FOOT, unitPattern("{0} ac ft"));
    put(Unit.BUSHEL, unitPattern("{0} bu"));
    put(Unit.CENTILITER, unitPattern("{0} cl"));
    put(Unit.CUBIC_CENTIMETER, unitPattern("{0} cm³"));
    put(Unit.CUBIC_FOOT, unitPattern("{0} ft³"));
    put(Unit.CUBIC_INCH, unitPattern("{0} in³"));
    put(Unit.CUBIC_KILOMETER, unitPattern("{0} km³"));
    put(Unit.CUBIC_METER, unitPattern("{0} m³"));
    put(Unit.CUBIC_MILE, unitPattern("{0} mi³"));
    put(Unit.CUBIC_YARD, unitPattern("{0} yd³"));
    put(Unit.CUP, unitPattern("{0} c"));
    put(Unit.CUP_METRIC, unitPattern("{0} mc"));
    put(Unit.DECILITER, unitPattern("{0} dl"));
    put(Unit.FLUID_OUNCE, unitPattern("{0} fl oz"));
    put(Unit.GALLON, unitPattern("{0} gal US"));
    put(Unit.GALLON_IMPERIAL, unitPattern("{0} gal"));
    put(Unit.HECTOLITER, unitPattern("{0} hl"));
    put(Unit.LITER, unitPattern("{0} l"));
    put(Unit.MEGALITER, unitPattern("{0} MLl"));
    put(Unit.MILLILITER, unitPattern("{0} ml"));
    put(Unit.PINT, unitPattern("{0} pt"));
    put(Unit.PINT_METRIC, unitPattern("{0} mpt"));
    put(Unit.QUART, unitPattern("{0} qt"));
    put(Unit.TABLESPOON, unitPattern("{0} tbsp"));
    put(Unit.TEASPOON, unitPattern("{0} tsp"));
  }};

  public _NumberFormatter_en_SG() {
    super(
        CLDR.Locale.en_SG,
        new _Params(),
        // decimal standard
        patterns("#,##0.###", "-#,##0.###"),
        // percent standard
        patterns("#,##0%", "-#,##0%"),
        // currency standard
        patterns("¤#,##0.00", "-¤#,##0.00"),
        // currency accounting
        patterns("¤#,##0.00", "(¤#,##0.00)"),
        // units standard
        patterns("#,##0.#", "-#,##0.#")
        );
  }

  protected int getDivisor_DECIMAL_SHORT(int digits) {
    int index = Math.min(14, Math.max(0, digits - 1));
    return DECIMAL_SHORT_DIVISORS[index];
  }

  protected NumberPattern[] getPattern_DECIMAL_SHORT(int digits, PluralCategory category) {
    if (category == null) {
      category = PluralCategory.OTHER;
    }
    int index = Math.min(14, Math.max(0, digits - 1));
    switch (category) {
      case ONE: return DECIMAL_SHORT_ONE[index];
      case OTHER:
          default: return DECIMAL_SHORT_OTHER[index];
    }
  }

  protected int getDivisor_DECIMAL_LONG(int digits) {
    int index = Math.min(14, Math.max(0, digits - 1));
    return DECIMAL_LONG_DIVISORS[index];
  }

  protected NumberPattern[] getPattern_DECIMAL_LONG(int digits, PluralCategory category) {
    if (category == null) {
      category = PluralCategory.OTHER;
    }
    int index = Math.min(14, Math.max(0, digits - 1));
    switch (category) {
      case ONE: return DECIMAL_LONG_ONE[index];
      case OTHER:
          default: return DECIMAL_LONG_OTHER[index];
    }
  }

  protected int getDivisor_CURRENCY_SHORT(int digits) {
    int index = Math.min(14, Math.max(0, digits - 1));
    return CURRENCY_SHORT_DIVISORS[index];
  }

  protected NumberPattern[] getPattern_CURRENCY_SHORT(int digits, PluralCategory category) {
    if (category == null) {
      category = PluralCategory.OTHER;
    }
    int index = Math.min(14, Math.max(0, digits - 1));
    switch (category) {
      case ONE: return CURRENCY_SHORT_ONE[index];
      case OTHER:
          default: return CURRENCY_SHORT_OTHER[index];
    }
  }

  protected List getPattern_UNITS_LONG(Unit unit, PluralCategory category) {
    if (category == null) {
      category = PluralCategory.OTHER;
    }
    switch (category) {
      case ONE: return UNITS_LONG_ONE.get(unit);
      case OTHER: default: return UNITS_LONG_OTHER.get(unit);
    }
  }

  protected List getPattern_UNITS_NARROW(Unit unit, PluralCategory category) {
    if (category == null) {
      category = PluralCategory.OTHER;
    }
    switch (category) {
      case ONE: return UNITS_NARROW_ONE.get(unit);
      case OTHER: default: return UNITS_NARROW_OTHER.get(unit);
    }
  }

  protected List getPattern_UNITS_SHORT(Unit unit, PluralCategory category) {
    if (category == null) {
      category = PluralCategory.OTHER;
    }
    switch (category) {
      case ONE: return UNITS_SHORT_ONE.get(unit);
      case OTHER: default: return UNITS_SHORT_OTHER.get(unit);
    }
  }

  public String getCurrencySymbol(CLDR.Currency code) {
    if (code == null) {
      return "";
    }
    switch (code) {
      case ALK: return "";
      case AUD: return "A$";
      case BRL: return "R$";
      case CAD: return "CA$";
      case CNX: return "";
      case CNY: return "CN¥";
      case EUR: return "€";
      case GBP: return "£";
      case HKD: return "HK$";
      case ILR: return "";
      case ILS: return "₪";
      case INR: return "₹";
      case ISJ: return "";
      case JPY: return "JP¥";
      case KRW: return "₩";
      case MVP: return "";
      case MXN: return "MX$";
      case NZD: return "NZ$";
      case SGD: return "$";
      case TWD: return "NT$";
      case USD: return "US$";
      case VND: return "₫";
      case XAF: return "FCFA";
      case XCD: return "EC$";
      case XOF: return "CFA";
      case XPF: return "CFPF";
      default: return code.name();
    }
  }

  public String getNarrowCurrencySymbol(CLDR.Currency code) {
    if (code == null) {
      return "";
    }
    switch (code) {
      case ALK: return "";
      case AOA: return "Kz";
      case ARS: return "$";
      case AUD: return "$";
      case BAM: return "KM";
      case BBD: return "$";
      case BDT: return "৳";
      case BMD: return "$";
      case BND: return "$";
      case BOB: return "Bs";
      case BRL: return "R$";
      case BSD: return "$";
      case BWP: return "P";
      case BYN: return "р.";
      case BZD: return "$";
      case CAD: return "$";
      case CLP: return "$";
      case CNX: return "";
      case CNY: return "¥";
      case COP: return "$";
      case CRC: return "₡";
      case CUC: return "$";
      case CUP: return "$";
      case CZK: return "Kč";
      case DKK: return "kr";
      case DOP: return "$";
      case EGP: return "E£";
      case ESP: return "₧";
      case EUR: return "€";
      case FJD: return "$";
      case FKP: return "£";
      case GBP: return "£";
      case GEL: return "₾";
      case GIP: return "£";
      case GNF: return "FG";
      case GTQ: return "Q";
      case GYD: return "$";
      case HKD: return "$";
      case HNL: return "L";
      case HRK: return "kn";
      case HUF: return "Ft";
      case IDR: return "Rp";
      case ILR: return "";
      case ILS: return "₪";
      case INR: return "₹";
      case ISJ: return "";
      case ISK: return "kr";
      case JMD: return "$";
      case JPY: return "¥";
      case KHR: return "៛";
      case KMF: return "CF";
      case KPW: return "₩";
      case KRW: return "₩";
      case KYD: return "$";
      case KZT: return "₸";
      case LAK: return "₭";
      case LBP: return "L£";
      case LKR: return "Rs";
      case LRD: return "$";
      case LTL: return "Lt";
      case LVL: return "Ls";
      case MGA: return "Ar";
      case MMK: return "K";
      case MNT: return "₮";
      case MUR: return "Rs";
      case MVP: return "";
      case MXN: return "$";
      case MYR: return "RM";
      case NAD: return "$";
      case NGN: return "₦";
      case NIO: return "C$";
      case NOK: return "kr";
      case NPR: return "Rs";
      case NZD: return "$";
      case PHP: return "₱";
      case PKR: return "Rs";
      case PLN: return "zł";
      case PYG: return "₲";
      case RON: return "lei";
      case RUB: return "₽";
      case RUR: return "р.";
      case RWF: return "RF";
      case SBD: return "$";
      case SEK: return "kr";
      case SGD: return "$";
      case SHP: return "£";
      case SRD: return "$";
      case SSP: return "£";
      case STD: return "Db";
      case SYP: return "£";
      case THB: return "฿";
      case TOP: return "T$";
      case TRY: return "₺";
      case TTD: return "$";
      case TWD: return "$";
      case UAH: return "₴";
      case USD: return "$";
      case UYU: return "$";
      case VEF: return "Bs";
      case VND: return "₫";
      case XAF: return "FCFA";
      case XCD: return "$";
      case XOF: return "CFA";
      case XPF: return "CFPF";
      case ZAR: return "R";
      case ZMW: return "ZK";
      default: return code.name();
    }
  }

  public String getCurrencyDisplayName(CLDR.Currency code) {
    if (code == null) {
      return "";
    }
    switch (code) {
      case ADP: return "Andorran Peseta";
      case AED: return "United Arab Emirates Dirham";
      case AFA: return "Afghan Afghani (1927–2002)";
      case AFN: return "Afghan Afghani";
      case ALK: return "Albanian Lek (1946–1965)";
      case ALL: return "Albanian Lek";
      case AMD: return "Armenian Dram";
      case ANG: return "Netherlands Antillean Guilder";
      case AOA: return "Angolan Kwanza";
      case AOK: return "Angolan Kwanza (1977–1991)";
      case AON: return "Angolan New Kwanza (1990–2000)";
      case AOR: return "Angolan Readjusted Kwanza (1995–1999)";
      case ARA: return "Argentine Austral";
      case ARL: return "Argentine Peso Ley (1970–1983)";
      case ARM: return "Argentine Peso (1881–1970)";
      case ARP: return "Argentine Peso (1983–1985)";
      case ARS: return "Argentine Peso";
      case ATS: return "Austrian Schilling";
      case AUD: return "Australian Dollar";
      case AWG: return "Aruban Florin";
      case AZM: return "Azerbaijani Manat (1993–2006)";
      case AZN: return "Azerbaijani Manat";
      case BAD: return "Bosnia-Herzegovina Dinar (1992–1994)";
      case BAM: return "Bosnia-Herzegovina Convertible Mark";
      case BAN: return "Bosnia-Herzegovina New Dinar (1994–1997)";
      case BBD: return "Barbadian Dollar";
      case BDT: return "Bangladeshi Taka";
      case BEC: return "Belgian Franc (convertible)";
      case BEF: return "Belgian Franc";
      case BEL: return "Belgian Franc (financial)";
      case BGL: return "Bulgarian Hard Lev";
      case BGM: return "Bulgarian Socialist Lev";
      case BGN: return "Bulgarian Lev";
      case BGO: return "Bulgarian Lev (1879–1952)";
      case BHD: return "Bahraini Dinar";
      case BIF: return "Burundian Franc";
      case BMD: return "Bermudan Dollar";
      case BND: return "Brunei Dollar";
      case BOB: return "Bolivian Boliviano";
      case BOL: return "Bolivian Boliviano (1863–1963)";
      case BOP: return "Bolivian Peso";
      case BOV: return "Bolivian Mvdol";
      case BRB: return "Brazilian New Cruzeiro (1967–1986)";
      case BRC: return "Brazilian Cruzado (1986–1989)";
      case BRE: return "Brazilian Cruzeiro (1990–1993)";
      case BRL: return "Brazilian Real";
      case BRN: return "Brazilian New Cruzado (1989–1990)";
      case BRR: return "Brazilian Cruzeiro (1993–1994)";
      case BRZ: return "Brazilian Cruzeiro (1942–1967)";
      case BSD: return "Bahamian Dollar";
      case BTN: return "Bhutanese Ngultrum";
      case BUK: return "Burmese Kyat";
      case BWP: return "Botswanan Pula";
      case BYB: return "Belarusian New Rouble (1994–1999)";
      case BYN: return "Belarusian Rouble";
      case BYR: return "Belarusian Rouble (2000–2016)";
      case BZD: return "Belize Dollar";
      case CAD: return "Canadian Dollar";
      case CDF: return "Congolese Franc";
      case CHE: return "WIR Euro";
      case CHF: return "Swiss Franc";
      case CHW: return "WIR Franc";
      case CLE: return "Chilean Escudo";
      case CLF: return "Chilean Unit of Account (UF)";
      case CLP: return "Chilean Peso";
      case CNX: return "Chinese People’s Bank Dollar";
      case CNY: return "Chinese Yuan";
      case COP: return "Colombian Peso";
      case COU: return "Colombian Real Value Unit";
      case CRC: return "Costa Rican Colón";
      case CSD: return "Serbian Dinar (2002–2006)";
      case CSK: return "Czechoslovak Hard Koruna";
      case CUC: return "Cuban Convertible Peso";
      case CUP: return "Cuban Peso";
      case CVE: return "Cape Verdean Escudo";
      case CYP: return "Cypriot Pound";
      case CZK: return "Czech Koruna";
      case DDM: return "East German Mark";
      case DEM: return "German Mark";
      case DJF: return "Djiboutian Franc";
      case DKK: return "Danish Krone";
      case DOP: return "Dominican Peso";
      case DZD: return "Algerian Dinar";
      case ECS: return "Ecuadorian Sucre";
      case ECV: return "Ecuadorian Unit of Constant Value";
      case EEK: return "Estonian Kroon";
      case EGP: return "Egyptian Pound";
      case ERN: return "Eritrean Nakfa";
      case ESA: return "Spanish Peseta (A account)";
      case ESB: return "Spanish Peseta (convertible account)";
      case ESP: return "Spanish Peseta";
      case ETB: return "Ethiopian Birr";
      case EUR: return "Euro";
      case FIM: return "Finnish Markka";
      case FJD: return "Fijian Dollar";
      case FKP: return "Falkland Islands Pound";
      case FRF: return "French Franc";
      case GBP: return "British Pound";
      case GEK: return "Georgian Kupon Larit";
      case GEL: return "Georgian Lari";
      case GHC: return "Ghanaian Cedi (1979–2007)";
      case GHS: return "Ghanaian Cedi";
      case GIP: return "Gibraltar Pound";
      case GMD: return "Gambian Dalasi";
      case GNF: return "Guinean Franc";
      case GNS: return "Guinean Syli";
      case GQE: return "Equatorial Guinean Ekwele";
      case GRD: return "Greek Drachma";
      case GTQ: return "Guatemalan Quetzal";
      case GWE: return "Portuguese Guinea Escudo";
      case GWP: return "Guinea-Bissau Peso";
      case GYD: return "Guyanaese Dollar";
      case HKD: return "Hong Kong Dollar";
      case HNL: return "Honduran Lempira";
      case HRD: return "Croatian Dinar";
      case HRK: return "Croatian Kuna";
      case HTG: return "Haitian Gourde";
      case HUF: return "Hungarian Forint";
      case IDR: return "Indonesian Rupiah";
      case IEP: return "Irish Pound";
      case ILP: return "Israeli Pound";
      case ILR: return "Israeli Shekel (1980–1985)";
      case ILS: return "Israeli New Shekel";
      case INR: return "Indian Rupee";
      case IQD: return "Iraqi Dinar";
      case IRR: return "Iranian Rial";
      case ISJ: return "Icelandic Króna (1918–1981)";
      case ISK: return "Icelandic Króna";
      case ITL: return "Italian Lira";
      case JMD: return "Jamaican Dollar";
      case JOD: return "Jordanian Dinar";
      case JPY: return "Japanese Yen";
      case KES: return "Kenyan Shilling";
      case KGS: return "Kyrgystani Som";
      case KHR: return "Cambodian Riel";
      case KMF: return "Comorian Franc";
      case KPW: return "North Korean Won";
      case KRH: return "South Korean Hwan (1953–1962)";
      case KRO: return "South Korean Won (1945–1953)";
      case KRW: return "South Korean Won";
      case KWD: return "Kuwaiti Dinar";
      case KYD: return "Cayman Islands Dollar";
      case KZT: return "Kazakhstani Tenge";
      case LAK: return "Laotian Kip";
      case LBP: return "Lebanese Pound";
      case LKR: return "Sri Lankan Rupee";
      case LRD: return "Liberian Dollar";
      case LSL: return "Lesotho Loti";
      case LTL: return "Lithuanian Litas";
      case LTT: return "Lithuanian Talonas";
      case LUC: return "Luxembourgian Convertible Franc";
      case LUF: return "Luxembourgian Franc";
      case LUL: return "Luxembourg Financial Franc";
      case LVL: return "Latvian Lats";
      case LVR: return "Latvian Rouble";
      case LYD: return "Libyan Dinar";
      case MAD: return "Moroccan Dirham";
      case MAF: return "Moroccan Franc";
      case MCF: return "Monegasque Franc";
      case MDC: return "Moldovan Cupon";
      case MDL: return "Moldovan Leu";
      case MGA: return "Malagasy Ariary";
      case MGF: return "Malagasy Franc";
      case MKD: return "Macedonian Denar";
      case MKN: return "Macedonian Denar (1992–1993)";
      case MLF: return "Malian Franc";
      case MMK: return "Myanmar Kyat";
      case MNT: return "Mongolian Tugrik";
      case MOP: return "Macanese Pataca";
      case MRO: return "Mauritanian Ouguiya";
      case MTL: return "Maltese Lira";
      case MTP: return "Maltese Pound";
      case MUR: return "Mauritian Rupee";
      case MVP: return "Maldivian Rupee (1947–1981)";
      case MVR: return "Maldivian Rufiyaa";
      case MWK: return "Malawian Kwacha";
      case MXN: return "Mexican Peso";
      case MXP: return "Mexican Silver Peso (1861–1992)";
      case MXV: return "Mexican Investment Unit";
      case MYR: return "Malaysian Ringgit";
      case MZE: return "Mozambican Escudo";
      case MZM: return "Mozambican Metical (1980–2006)";
      case MZN: return "Mozambican Metical";
      case NAD: return "Namibian Dollar";
      case NGN: return "Nigerian Naira";
      case NIC: return "Nicaraguan Córdoba (1988–1991)";
      case NIO: return "Nicaraguan Córdoba";
      case NLG: return "Dutch Guilder";
      case NOK: return "Norwegian Krone";
      case NPR: return "Nepalese Rupee";
      case NZD: return "New Zealand Dollar";
      case OMR: return "Omani Rial";
      case PAB: return "Panamanian Balboa";
      case PEI: return "Peruvian Inti";
      case PEN: return "Peruvian Sol";
      case PES: return "Peruvian Sol (1863–1965)";
      case PGK: return "Papua New Guinean Kina";
      case PHP: return "Philippine Peso";
      case PKR: return "Pakistani Rupee";
      case PLN: return "Polish Zloty";
      case PLZ: return "Polish Zloty (1950–1995)";
      case PTE: return "Portuguese Escudo";
      case PYG: return "Paraguayan Guarani";
      case QAR: return "Qatari Rial";
      case RHD: return "Rhodesian Dollar";
      case ROL: return "Romanian Leu (1952–2006)";
      case RON: return "Romanian Leu";
      case RSD: return "Serbian Dinar";
      case RUB: return "Russian Rouble";
      case RUR: return "Russian Rouble (1991–1998)";
      case RWF: return "Rwandan Franc";
      case SAR: return "Saudi Riyal";
      case SBD: return "Solomon Islands Dollar";
      case SCR: return "Seychellois Rupee";
      case SDD: return "Sudanese Dinar (1992–2007)";
      case SDG: return "Sudanese Pound";
      case SDP: return "Sudanese Pound (1957–1998)";
      case SEK: return "Swedish Krona";
      case SGD: return "Singapore Dollar";
      case SHP: return "St. Helena Pound";
      case SIT: return "Slovenian Tolar";
      case SKK: return "Slovak Koruna";
      case SLL: return "Sierra Leonean Leone";
      case SOS: return "Somali Shilling";
      case SRD: return "Surinamese Dollar";
      case SRG: return "Surinamese Guilder";
      case SSP: return "South Sudanese Pound";
      case STD: return "São Tomé & Príncipe Dobra";
      case SUR: return "Soviet Rouble";
      case SVC: return "Salvadoran Colón";
      case SYP: return "Syrian Pound";
      case SZL: return "Swazi Lilangeni";
      case THB: return "Thai Baht";
      case TJR: return "Tajikistani Rouble";
      case TJS: return "Tajikistani Somoni";
      case TMM: return "Turkmenistani Manat (1993–2009)";
      case TMT: return "Turkmenistani Manat";
      case TND: return "Tunisian Dinar";
      case TOP: return "Tongan Paʻanga";
      case TPE: return "Timorese Escudo";
      case TRL: return "Turkish Lira (1922–2005)";
      case TRY: return "Turkish Lira";
      case TTD: return "Trinidad & Tobago Dollar";
      case TWD: return "New Taiwan Dollar";
      case TZS: return "Tanzanian Shilling";
      case UAH: return "Ukrainian Hryvnia";
      case UAK: return "Ukrainian Karbovanets";
      case UGS: return "Ugandan Shilling (1966–1987)";
      case UGX: return "Ugandan Shilling";
      case USD: return "US Dollar";
      case USN: return "US Dollar (Next day)";
      case USS: return "US Dollar (Same day)";
      case UYI: return "Uruguayan Peso (Indexed Units)";
      case UYP: return "Uruguayan Peso (1975–1993)";
      case UYU: return "Uruguayan Peso";
      case UZS: return "Uzbekistani Som";
      case VEB: return "Venezuelan Bolívar (1871–2008)";
      case VEF: return "Venezuelan Bolívar";
      case VND: return "Vietnamese Dong";
      case VNN: return "Vietnamese Dong (1978–1985)";
      case VUV: return "Vanuatu Vatu";
      case WST: return "Samoan Tala";
      case XAF: return "Central African CFA Franc";
      case XAG: return "Silver";
      case XAU: return "Gold";
      case XBA: return "European Composite Unit";
      case XBB: return "European Monetary Unit";
      case XBC: return "European Unit of Account (XBC)";
      case XBD: return "European Unit of Account (XBD)";
      case XCD: return "East Caribbean Dollar";
      case XDR: return "Special Drawing Rights";
      case XEU: return "European Currency Unit";
      case XFO: return "French Gold Franc";
      case XFU: return "French UIC-Franc";
      case XOF: return "West African CFA Franc";
      case XPD: return "Palladium";
      case XPF: return "CFP Franc";
      case XPT: return "Platinum";
      case XRE: return "RINET Funds";
      case XSU: return "Sucre";
      case XTS: return "Testing Currency Code";
      case XUA: return "ADB Unit of Account";
      case XXX: return "Unknown Currency";
      case YDD: return "Yemeni Dinar";
      case YER: return "Yemeni Rial";
      case YUD: return "Yugoslavian Hard Dinar (1966–1990)";
      case YUM: return "Yugoslavian New Dinar (1994–2002)";
      case YUN: return "Yugoslavian Convertible Dinar (1990–1992)";
      case YUR: return "Yugoslavian Reformed Dinar (1992–1993)";
      case ZAL: return "South African Rand (financial)";
      case ZAR: return "South African Rand";
      case ZMK: return "Zambian Kwacha (1968–2012)";
      case ZMW: return "Zambian Kwacha";
      case ZRN: return "Zairean New Zaire (1993–1998)";
      case ZRZ: return "Zairean Zaire (1971–1993)";
      case ZWD: return "Zimbabwean Dollar (1980–2008)";
      case ZWL: return "Zimbabwean Dollar (2009)";
      case ZWR: return "Zimbabwean Dollar (2008)";
      default: return code.name();
    }
  }

  protected String getCurrencyPluralName(CLDR.Currency code, PluralCategory category) {
    switch (code) {
      case ADP: {
        switch (category) {
          case ONE: return "Andorran peseta";
          case OTHER:
              default: return "Andorran pesetas";
        }
      }
      case AED: {
        switch (category) {
          case ONE: return "UAE dirham";
          case OTHER:
              default: return "UAE dirhams";
        }
      }
      case AFA: {
        switch (category) {
          case ONE: return "Afghan afghani (1927–2002)";
          case OTHER:
              default: return "Afghan afghanis (1927–2002)";
        }
      }
      case AFN: {
        switch (category) {
          case ONE: return "Afghan Afghani";
          case OTHER:
              default: return "Afghan Afghanis";
        }
      }
      case ALK: {
        switch (category) {
          case ONE: return "Albanian lek (1946–1965)";
          case OTHER:
              default: return "Albanian lekë (1946–1965)";
        }
      }
      case ALL: {
        switch (category) {
          case ONE: return "Albanian lek";
          case OTHER:
              default: return "Albanian lekë";
        }
      }
      case AMD: {
        switch (category) {
          case ONE: return "Armenian dram";
          case OTHER:
              default: return "Armenian drams";
        }
      }
      case ANG: {
        switch (category) {
          case ONE: return "Netherlands Antillean guilder";
          case OTHER:
              default: return "Netherlands Antillean guilders";
        }
      }
      case AOA: {
        switch (category) {
          case ONE: return "Angolan kwanza";
          case OTHER:
              default: return "Angolan kwanzas";
        }
      }
      case AOK: {
        switch (category) {
          case ONE: return "Angolan kwanza (1977–1991)";
          case OTHER:
              default: return "Angolan kwanzas (1977–1991)";
        }
      }
      case AON: {
        switch (category) {
          case ONE: return "Angolan new kwanza (1990–2000)";
          case OTHER:
              default: return "Angolan new kwanzas (1990–2000)";
        }
      }
      case AOR: {
        switch (category) {
          case ONE: return "Angolan readjusted kwanza (1995–1999)";
          case OTHER:
              default: return "Angolan readjusted kwanzas (1995–1999)";
        }
      }
      case ARA: {
        switch (category) {
          case ONE: return "Argentine austral";
          case OTHER:
              default: return "Argentine australs";
        }
      }
      case ARL: {
        switch (category) {
          case ONE: return "Argentine peso ley (1970–1983)";
          case OTHER:
              default: return "Argentine pesos ley (1970–1983)";
        }
      }
      case ARM: {
        switch (category) {
          case ONE: return "Argentine peso (1881–1970)";
          case OTHER:
              default: return "Argentine pesos (1881–1970)";
        }
      }
      case ARP: {
        switch (category) {
          case ONE: return "Argentine peso (1983–1985)";
          case OTHER:
              default: return "Argentine pesos (1983–1985)";
        }
      }
      case ARS: {
        switch (category) {
          case ONE: return "Argentine peso";
          case OTHER:
              default: return "Argentine pesos";
        }
      }
      case ATS: {
        switch (category) {
          case ONE: return "Austrian schilling";
          case OTHER:
              default: return "Austrian schillings";
        }
      }
      case AUD: {
        switch (category) {
          case ONE: return "Australian dollar";
          case OTHER:
              default: return "Australian dollars";
        }
      }
      case AWG: {
        switch (category) {
          case ONE: return "Aruban florin";
          case OTHER:
              default: return "Aruban florin";
        }
      }
      case AZM: {
        switch (category) {
          case ONE: return "Azerbaijani manat (1993–2006)";
          case OTHER:
              default: return "Azerbaijani manats (1993–2006)";
        }
      }
      case AZN: {
        switch (category) {
          case ONE: return "Azerbaijani manat";
          case OTHER:
              default: return "Azerbaijani manats";
        }
      }
      case BAD: {
        switch (category) {
          case ONE: return "Bosnia-Herzegovina dinar (1992–1994)";
          case OTHER:
              default: return "Bosnia-Herzegovina dinars (1992–1994)";
        }
      }
      case BAM: {
        switch (category) {
          case ONE: return "Bosnia-Herzegovina convertible mark";
          case OTHER:
              default: return "Bosnia-Herzegovina convertible marks";
        }
      }
      case BAN: {
        switch (category) {
          case ONE: return "Bosnia-Herzegovina new dinar (1994–1997)";
          case OTHER:
              default: return "Bosnia-Herzegovina new dinars (1994–1997)";
        }
      }
      case BBD: {
        switch (category) {
          case ONE: return "Barbadian dollar";
          case OTHER:
              default: return "Barbadian dollars";
        }
      }
      case BDT: {
        switch (category) {
          case ONE: return "Bangladeshi taka";
          case OTHER:
              default: return "Bangladeshi takas";
        }
      }
      case BEC: {
        switch (category) {
          case ONE: return "Belgian franc (convertible)";
          case OTHER:
              default: return "Belgian francs (convertible)";
        }
      }
      case BEF: {
        switch (category) {
          case ONE: return "Belgian franc";
          case OTHER:
              default: return "Belgian francs";
        }
      }
      case BEL: {
        switch (category) {
          case ONE: return "Belgian franc (financial)";
          case OTHER:
              default: return "Belgian francs (financial)";
        }
      }
      case BGL: {
        switch (category) {
          case ONE: return "Bulgarian hard lev";
          case OTHER:
              default: return "Bulgarian hard leva";
        }
      }
      case BGM: {
        switch (category) {
          case ONE: return "Bulgarian socialist lev";
          case OTHER:
              default: return "Bulgarian socialist leva";
        }
      }
      case BGN: {
        switch (category) {
          case ONE: return "Bulgarian lev";
          case OTHER:
              default: return "Bulgarian leva";
        }
      }
      case BGO: {
        switch (category) {
          case ONE: return "Bulgarian lev (1879–1952)";
          case OTHER:
              default: return "Bulgarian leva (1879–1952)";
        }
      }
      case BHD: {
        switch (category) {
          case ONE: return "Bahraini dinar";
          case OTHER:
              default: return "Bahraini dinars";
        }
      }
      case BIF: {
        switch (category) {
          case ONE: return "Burundian franc";
          case OTHER:
              default: return "Burundian francs";
        }
      }
      case BMD: {
        switch (category) {
          case ONE: return "Bermudan dollar";
          case OTHER:
              default: return "Bermudan dollars";
        }
      }
      case BND: {
        switch (category) {
          case ONE: return "Brunei dollar";
          case OTHER:
              default: return "Brunei dollars";
        }
      }
      case BOB: {
        switch (category) {
          case ONE: return "Bolivian boliviano";
          case OTHER:
              default: return "Bolivian bolivianos";
        }
      }
      case BOL: {
        switch (category) {
          case ONE: return "Bolivian boliviano (1863–1963)";
          case OTHER:
              default: return "Bolivian bolivianos (1863–1963)";
        }
      }
      case BOP: {
        switch (category) {
          case ONE: return "Bolivian peso";
          case OTHER:
              default: return "Bolivian pesos";
        }
      }
      case BOV: {
        switch (category) {
          case ONE: return "Bolivian mvdol";
          case OTHER:
              default: return "Bolivian mvdols";
        }
      }
      case BRB: {
        switch (category) {
          case ONE: return "Brazilian new cruzeiro (1967–1986)";
          case OTHER:
              default: return "Brazilian new cruzeiros (1967–1986)";
        }
      }
      case BRC: {
        switch (category) {
          case ONE: return "Brazilian cruzado (1986–1989)";
          case OTHER:
              default: return "Brazilian cruzados (1986–1989)";
        }
      }
      case BRE: {
        switch (category) {
          case ONE: return "Brazilian cruzeiro (1990–1993)";
          case OTHER:
              default: return "Brazilian cruzeiros (1990–1993)";
        }
      }
      case BRL: {
        switch (category) {
          case ONE: return "Brazilian real";
          case OTHER:
              default: return "Brazilian reals";
        }
      }
      case BRN: {
        switch (category) {
          case ONE: return "Brazilian new cruzado (1989–1990)";
          case OTHER:
              default: return "Brazilian new cruzados (1989–1990)";
        }
      }
      case BRR: {
        switch (category) {
          case ONE: return "Brazilian cruzeiro (1993–1994)";
          case OTHER:
              default: return "Brazilian cruzeiros (1993–1994)";
        }
      }
      case BRZ: {
        switch (category) {
          case ONE: return "Brazilian cruzeiro (1942–1967)";
          case OTHER:
              default: return "Brazilian cruzeiros (1942–1967)";
        }
      }
      case BSD: {
        switch (category) {
          case ONE: return "Bahamian dollar";
          case OTHER:
              default: return "Bahamian dollars";
        }
      }
      case BTN: {
        switch (category) {
          case ONE: return "Bhutanese ngultrum";
          case OTHER:
              default: return "Bhutanese ngultrums";
        }
      }
      case BUK: {
        switch (category) {
          case ONE: return "Burmese kyat";
          case OTHER:
              default: return "Burmese kyats";
        }
      }
      case BWP: {
        switch (category) {
          case ONE: return "Botswanan pula";
          case OTHER:
              default: return "Botswanan pulas";
        }
      }
      case BYB: {
        switch (category) {
          case ONE: return "Belarusian new rouble (1994–1999)";
          case OTHER:
              default: return "Belarusian new roubles (1994–1999)";
        }
      }
      case BYN: {
        switch (category) {
          case ONE: return "Belarusian rouble";
          case OTHER:
              default: return "Belarusian roubles";
        }
      }
      case BYR: {
        switch (category) {
          case ONE: return "Belarusian rouble (2000–2016)";
          case OTHER:
              default: return "Belarusian roubles (2000–2016)";
        }
      }
      case BZD: {
        switch (category) {
          case ONE: return "Belize dollar";
          case OTHER:
              default: return "Belize dollars";
        }
      }
      case CAD: {
        switch (category) {
          case ONE: return "Canadian dollar";
          case OTHER:
              default: return "Canadian dollars";
        }
      }
      case CDF: {
        switch (category) {
          case ONE: return "Congolese franc";
          case OTHER:
              default: return "Congolese francs";
        }
      }
      case CHE: {
        switch (category) {
          case ONE: return "WIR euro";
          case OTHER:
              default: return "WIR euros";
        }
      }
      case CHF: {
        switch (category) {
          case ONE: return "Swiss franc";
          case OTHER:
              default: return "Swiss francs";
        }
      }
      case CHW: {
        switch (category) {
          case ONE: return "WIR franc";
          case OTHER:
              default: return "WIR francs";
        }
      }
      case CLE: {
        switch (category) {
          case ONE: return "Chilean escudo";
          case OTHER:
              default: return "Chilean escudos";
        }
      }
      case CLF: {
        switch (category) {
          case ONE: return "Chilean unit of account (UF)";
          case OTHER:
              default: return "Chilean units of account (UF)";
        }
      }
      case CLP: {
        switch (category) {
          case ONE: return "Chilean peso";
          case OTHER:
              default: return "Chilean pesos";
        }
      }
      case CNX: {
        switch (category) {
          case ONE: return "Chinese People’s Bank dollar";
          case OTHER:
              default: return "Chinese People’s Bank dollars";
        }
      }
      case CNY: {
        switch (category) {
          case ONE: return "Chinese yuan";
          case OTHER:
              default: return "Chinese yuan";
        }
      }
      case COP: {
        switch (category) {
          case ONE: return "Colombian peso";
          case OTHER:
              default: return "Colombian pesos";
        }
      }
      case COU: {
        switch (category) {
          case ONE: return "Colombian real value unit";
          case OTHER:
              default: return "Colombian real value units";
        }
      }
      case CRC: {
        switch (category) {
          case ONE: return "Costa Rican colón";
          case OTHER:
              default: return "Costa Rican colóns";
        }
      }
      case CSD: {
        switch (category) {
          case ONE: return "Serbian dinar (2002–2006)";
          case OTHER:
              default: return "Serbian dinars (2002–2006)";
        }
      }
      case CSK: {
        switch (category) {
          case ONE: return "Czechoslovak hard koruna";
          case OTHER:
              default: return "Czechoslovak hard korunas";
        }
      }
      case CUC: {
        switch (category) {
          case ONE: return "Cuban convertible peso";
          case OTHER:
              default: return "Cuban convertible pesos";
        }
      }
      case CUP: {
        switch (category) {
          case ONE: return "Cuban peso";
          case OTHER:
              default: return "Cuban pesos";
        }
      }
      case CVE: {
        switch (category) {
          case ONE: return "Cape Verdean escudo";
          case OTHER:
              default: return "Cape Verdean escudos";
        }
      }
      case CYP: {
        switch (category) {
          case ONE: return "Cypriot pound";
          case OTHER:
              default: return "Cypriot pounds";
        }
      }
      case CZK: {
        switch (category) {
          case ONE: return "Czech koruna";
          case OTHER:
              default: return "Czech korunas";
        }
      }
      case DDM: {
        switch (category) {
          case ONE: return "East German mark";
          case OTHER:
              default: return "East German marks";
        }
      }
      case DEM: {
        switch (category) {
          case ONE: return "German mark";
          case OTHER:
              default: return "German marks";
        }
      }
      case DJF: {
        switch (category) {
          case ONE: return "Djiboutian franc";
          case OTHER:
              default: return "Djiboutian francs";
        }
      }
      case DKK: {
        switch (category) {
          case ONE: return "Danish krone";
          case OTHER:
              default: return "Danish kroner";
        }
      }
      case DOP: {
        switch (category) {
          case ONE: return "Dominican peso";
          case OTHER:
              default: return "Dominican pesos";
        }
      }
      case DZD: {
        switch (category) {
          case ONE: return "Algerian dinar";
          case OTHER:
              default: return "Algerian dinars";
        }
      }
      case ECS: {
        switch (category) {
          case ONE: return "Ecuadorian sucre";
          case OTHER:
              default: return "Ecuadorian sucres";
        }
      }
      case ECV: {
        switch (category) {
          case ONE: return "Ecuadorian unit of constant value";
          case OTHER:
              default: return "Ecuadorian units of constant value";
        }
      }
      case EEK: {
        switch (category) {
          case ONE: return "Estonian kroon";
          case OTHER:
              default: return "Estonian kroons";
        }
      }
      case EGP: {
        switch (category) {
          case ONE: return "Egyptian pound";
          case OTHER:
              default: return "Egyptian pounds";
        }
      }
      case ERN: {
        switch (category) {
          case ONE: return "Eritrean nakfa";
          case OTHER:
              default: return "Eritrean nakfas";
        }
      }
      case ESA: {
        switch (category) {
          case ONE: return "Spanish peseta (A account)";
          case OTHER:
              default: return "Spanish pesetas (A account)";
        }
      }
      case ESB: {
        switch (category) {
          case ONE: return "Spanish peseta (convertible account)";
          case OTHER:
              default: return "Spanish pesetas (convertible account)";
        }
      }
      case ESP: {
        switch (category) {
          case ONE: return "Spanish peseta";
          case OTHER:
              default: return "Spanish pesetas";
        }
      }
      case ETB: {
        switch (category) {
          case ONE: return "Ethiopian birr";
          case OTHER:
              default: return "Ethiopian birrs";
        }
      }
      case EUR: {
        switch (category) {
          case ONE: return "euro";
          case OTHER:
              default: return "euros";
        }
      }
      case FIM: {
        switch (category) {
          case ONE: return "Finnish markka";
          case OTHER:
              default: return "Finnish markkas";
        }
      }
      case FJD: {
        switch (category) {
          case ONE: return "Fijian dollar";
          case OTHER:
              default: return "Fijian dollars";
        }
      }
      case FKP: {
        switch (category) {
          case ONE: return "Falkland Islands pound";
          case OTHER:
              default: return "Falkland Islands pounds";
        }
      }
      case FRF: {
        switch (category) {
          case ONE: return "French franc";
          case OTHER:
              default: return "French francs";
        }
      }
      case GBP: {
        switch (category) {
          case ONE: return "British pound";
          case OTHER:
              default: return "British pounds";
        }
      }
      case GEK: {
        switch (category) {
          case ONE: return "Georgian kupon larit";
          case OTHER:
              default: return "Georgian kupon larits";
        }
      }
      case GEL: {
        switch (category) {
          case ONE: return "Georgian lari";
          case OTHER:
              default: return "Georgian laris";
        }
      }
      case GHC: {
        switch (category) {
          case ONE: return "Ghanaian cedi (1979–2007)";
          case OTHER:
              default: return "Ghanaian cedis (1979–2007)";
        }
      }
      case GHS: {
        switch (category) {
          case ONE: return "Ghanaian cedi";
          case OTHER:
              default: return "Ghanaian cedis";
        }
      }
      case GIP: {
        switch (category) {
          case ONE: return "Gibraltar pound";
          case OTHER:
              default: return "Gibraltar pounds";
        }
      }
      case GMD: {
        switch (category) {
          case ONE: return "Gambian dalasi";
          case OTHER:
              default: return "Gambian dalasis";
        }
      }
      case GNF: {
        switch (category) {
          case ONE: return "Guinean franc";
          case OTHER:
              default: return "Guinean francs";
        }
      }
      case GNS: {
        switch (category) {
          case ONE: return "Guinean syli";
          case OTHER:
              default: return "Guinean sylis";
        }
      }
      case GQE: {
        switch (category) {
          case ONE: return "Equatorial Guinean ekwele";
          case OTHER:
              default: return "Equatorial Guinean ekwele";
        }
      }
      case GRD: {
        switch (category) {
          case ONE: return "Greek drachma";
          case OTHER:
              default: return "Greek drachmas";
        }
      }
      case GTQ: {
        switch (category) {
          case ONE: return "Guatemalan quetzal";
          case OTHER:
              default: return "Guatemalan quetzals";
        }
      }
      case GWE: {
        switch (category) {
          case ONE: return "Portuguese Guinea escudo";
          case OTHER:
              default: return "Portuguese Guinea escudos";
        }
      }
      case GWP: {
        switch (category) {
          case ONE: return "Guinea-Bissau peso";
          case OTHER:
              default: return "Guinea-Bissau pesos";
        }
      }
      case GYD: {
        switch (category) {
          case ONE: return "Guyanaese dollar";
          case OTHER:
              default: return "Guyanaese dollars";
        }
      }
      case HKD: {
        switch (category) {
          case ONE: return "Hong Kong dollar";
          case OTHER:
              default: return "Hong Kong dollars";
        }
      }
      case HNL: {
        switch (category) {
          case ONE: return "Honduran lempira";
          case OTHER:
              default: return "Honduran lempiras";
        }
      }
      case HRD: {
        switch (category) {
          case ONE: return "Croatian dinar";
          case OTHER:
              default: return "Croatian dinars";
        }
      }
      case HRK: {
        switch (category) {
          case ONE: return "Croatian kuna";
          case OTHER:
              default: return "Croatian kunas";
        }
      }
      case HTG: {
        switch (category) {
          case ONE: return "Haitian gourde";
          case OTHER:
              default: return "Haitian gourdes";
        }
      }
      case HUF: {
        switch (category) {
          case ONE: return "Hungarian forint";
          case OTHER:
              default: return "Hungarian forints";
        }
      }
      case IDR: {
        switch (category) {
          case ONE: return "Indonesian rupiah";
          case OTHER:
              default: return "Indonesian rupiahs";
        }
      }
      case IEP: {
        switch (category) {
          case ONE: return "Irish pound";
          case OTHER:
              default: return "Irish pounds";
        }
      }
      case ILP: {
        switch (category) {
          case ONE: return "Israeli pound";
          case OTHER:
              default: return "Israeli pounds";
        }
      }
      case ILR: {
        switch (category) {
          case ONE: return "Israeli shekel (1980–1985)";
          case OTHER:
              default: return "Israeli shekels (1980–1985)";
        }
      }
      case ILS: {
        switch (category) {
          case ONE: return "Israeli new shekel";
          case OTHER:
              default: return "Israeli new shekels";
        }
      }
      case INR: {
        switch (category) {
          case ONE: return "Indian rupee";
          case OTHER:
              default: return "Indian rupees";
        }
      }
      case IQD: {
        switch (category) {
          case ONE: return "Iraqi dinar";
          case OTHER:
              default: return "Iraqi dinars";
        }
      }
      case IRR: {
        switch (category) {
          case ONE: return "Iranian rial";
          case OTHER:
              default: return "Iranian rials";
        }
      }
      case ISJ: {
        switch (category) {
          case ONE: return "Icelandic króna (1918–1981)";
          case OTHER:
              default: return "Icelandic krónur (1918–1981)";
        }
      }
      case ISK: {
        switch (category) {
          case ONE: return "Icelandic króna";
          case OTHER:
              default: return "Icelandic krónur";
        }
      }
      case ITL: {
        switch (category) {
          case ONE: return "Italian lira";
          case OTHER:
              default: return "Italian liras";
        }
      }
      case JMD: {
        switch (category) {
          case ONE: return "Jamaican dollar";
          case OTHER:
              default: return "Jamaican dollars";
        }
      }
      case JOD: {
        switch (category) {
          case ONE: return "Jordanian dinar";
          case OTHER:
              default: return "Jordanian dinars";
        }
      }
      case JPY: {
        switch (category) {
          case ONE: return "Japanese yen";
          case OTHER:
              default: return "Japanese yen";
        }
      }
      case KES: {
        switch (category) {
          case ONE: return "Kenyan shilling";
          case OTHER:
              default: return "Kenyan shillings";
        }
      }
      case KGS: {
        switch (category) {
          case ONE: return "Kyrgystani som";
          case OTHER:
              default: return "Kyrgystani soms";
        }
      }
      case KHR: {
        switch (category) {
          case ONE: return "Cambodian riel";
          case OTHER:
              default: return "Cambodian riels";
        }
      }
      case KMF: {
        switch (category) {
          case ONE: return "Comorian franc";
          case OTHER:
              default: return "Comorian francs";
        }
      }
      case KPW: {
        switch (category) {
          case ONE: return "North Korean won";
          case OTHER:
              default: return "North Korean won";
        }
      }
      case KRH: {
        switch (category) {
          case ONE: return "South Korean hwan (1953–1962)";
          case OTHER:
              default: return "South Korean hwan (1953–1962)";
        }
      }
      case KRO: {
        switch (category) {
          case ONE: return "South Korean won (1945–1953)";
          case OTHER:
              default: return "South Korean won (1945–1953)";
        }
      }
      case KRW: {
        switch (category) {
          case ONE: return "South Korean won";
          case OTHER:
              default: return "South Korean won";
        }
      }
      case KWD: {
        switch (category) {
          case ONE: return "Kuwaiti dinar";
          case OTHER:
              default: return "Kuwaiti dinars";
        }
      }
      case KYD: {
        switch (category) {
          case ONE: return "Cayman Islands dollar";
          case OTHER:
              default: return "Cayman Islands dollars";
        }
      }
      case KZT: {
        switch (category) {
          case ONE: return "Kazakhstani tenge";
          case OTHER:
              default: return "Kazakhstani tenges";
        }
      }
      case LAK: {
        switch (category) {
          case ONE: return "Laotian kip";
          case OTHER:
              default: return "Laotian kips";
        }
      }
      case LBP: {
        switch (category) {
          case ONE: return "Lebanese pound";
          case OTHER:
              default: return "Lebanese pounds";
        }
      }
      case LKR: {
        switch (category) {
          case ONE: return "Sri Lankan rupee";
          case OTHER:
              default: return "Sri Lankan rupees";
        }
      }
      case LRD: {
        switch (category) {
          case ONE: return "Liberian dollar";
          case OTHER:
              default: return "Liberian dollars";
        }
      }
      case LSL: {
        switch (category) {
          case ONE: return "Lesotho loti";
          case OTHER:
              default: return "Lesotho lotis";
        }
      }
      case LTL: {
        switch (category) {
          case ONE: return "Lithuanian litas";
          case OTHER:
              default: return "Lithuanian litai";
        }
      }
      case LTT: {
        switch (category) {
          case ONE: return "Lithuanian talonas";
          case OTHER:
              default: return "Lithuanian talonases";
        }
      }
      case LUC: {
        switch (category) {
          case ONE: return "Luxembourgian convertible franc";
          case OTHER:
              default: return "Luxembourgian convertible francs";
        }
      }
      case LUF: {
        switch (category) {
          case ONE: return "Luxembourgian franc";
          case OTHER:
              default: return "Luxembourgian francs";
        }
      }
      case LUL: {
        switch (category) {
          case ONE: return "Luxembourg financial franc";
          case OTHER:
              default: return "Luxembourg financial francs";
        }
      }
      case LVL: {
        switch (category) {
          case ONE: return "Latvian lats";
          case OTHER:
              default: return "Latvian lati";
        }
      }
      case LVR: {
        switch (category) {
          case ONE: return "Latvian rouble";
          case OTHER:
              default: return "Latvian roubles";
        }
      }
      case LYD: {
        switch (category) {
          case ONE: return "Libyan dinar";
          case OTHER:
              default: return "Libyan dinars";
        }
      }
      case MAD: {
        switch (category) {
          case ONE: return "Moroccan dirham";
          case OTHER:
              default: return "Moroccan dirhams";
        }
      }
      case MAF: {
        switch (category) {
          case ONE: return "Moroccan franc";
          case OTHER:
              default: return "Moroccan francs";
        }
      }
      case MCF: {
        switch (category) {
          case ONE: return "Monegasque franc";
          case OTHER:
              default: return "Monegasque francs";
        }
      }
      case MDC: {
        switch (category) {
          case ONE: return "Moldovan cupon";
          case OTHER:
              default: return "Moldovan cupon";
        }
      }
      case MDL: {
        switch (category) {
          case ONE: return "Moldovan leu";
          case OTHER:
              default: return "Moldovan lei";
        }
      }
      case MGA: {
        switch (category) {
          case ONE: return "Malagasy ariary";
          case OTHER:
              default: return "Malagasy ariaries";
        }
      }
      case MGF: {
        switch (category) {
          case ONE: return "Malagasy franc";
          case OTHER:
              default: return "Malagasy francs";
        }
      }
      case MKD: {
        switch (category) {
          case ONE: return "Macedonian denar";
          case OTHER:
              default: return "Macedonian denari";
        }
      }
      case MKN: {
        switch (category) {
          case ONE: return "Macedonian denar (1992–1993)";
          case OTHER:
              default: return "Macedonian denari (1992–1993)";
        }
      }
      case MLF: {
        switch (category) {
          case ONE: return "Malian franc";
          case OTHER:
              default: return "Malian francs";
        }
      }
      case MMK: {
        switch (category) {
          case ONE: return "Myanmar kyat";
          case OTHER:
              default: return "Myanmar kyats";
        }
      }
      case MNT: {
        switch (category) {
          case ONE: return "Mongolian tugrik";
          case OTHER:
              default: return "Mongolian tugriks";
        }
      }
      case MOP: {
        switch (category) {
          case ONE: return "Macanese pataca";
          case OTHER:
              default: return "Macanese patacas";
        }
      }
      case MRO: {
        switch (category) {
          case ONE: return "Mauritanian ouguiya";
          case OTHER:
              default: return "Mauritanian ouguiyas";
        }
      }
      case MTL: {
        switch (category) {
          case ONE: return "Maltese lira";
          case OTHER:
              default: return "Maltese lira";
        }
      }
      case MTP: {
        switch (category) {
          case ONE: return "Maltese pound";
          case OTHER:
              default: return "Maltese pounds";
        }
      }
      case MUR: {
        switch (category) {
          case ONE: return "Mauritian rupee";
          case OTHER:
              default: return "Mauritian rupees";
        }
      }
      case MVP: {
        switch (category) {
          case ONE: return "Maldivian rupee (1947–1981)";
          case OTHER:
              default: return "Maldivian rupees (1947–1981)";
        }
      }
      case MVR: {
        switch (category) {
          case ONE: return "Maldivian rufiyaa";
          case OTHER:
              default: return "Maldivian rufiyaas";
        }
      }
      case MWK: {
        switch (category) {
          case ONE: return "Malawian kwacha";
          case OTHER:
              default: return "Malawian kwachas";
        }
      }
      case MXN: {
        switch (category) {
          case ONE: return "Mexican peso";
          case OTHER:
              default: return "Mexican pesos";
        }
      }
      case MXP: {
        switch (category) {
          case ONE: return "Mexican silver peso (1861–1992)";
          case OTHER:
              default: return "Mexican silver pesos (1861–1992)";
        }
      }
      case MXV: {
        switch (category) {
          case ONE: return "Mexican investment unit";
          case OTHER:
              default: return "Mexican investment units";
        }
      }
      case MYR: {
        switch (category) {
          case ONE: return "Malaysian ringgit";
          case OTHER:
              default: return "Malaysian ringgits";
        }
      }
      case MZE: {
        switch (category) {
          case ONE: return "Mozambican escudo";
          case OTHER:
              default: return "Mozambican escudos";
        }
      }
      case MZM: {
        switch (category) {
          case ONE: return "Mozambican metical (1980–2006)";
          case OTHER:
              default: return "Mozambican meticals (1980–2006)";
        }
      }
      case MZN: {
        switch (category) {
          case ONE: return "Mozambican metical";
          case OTHER:
              default: return "Mozambican meticals";
        }
      }
      case NAD: {
        switch (category) {
          case ONE: return "Namibian dollar";
          case OTHER:
              default: return "Namibian dollars";
        }
      }
      case NGN: {
        switch (category) {
          case ONE: return "Nigerian naira";
          case OTHER:
              default: return "Nigerian nairas";
        }
      }
      case NIC: {
        switch (category) {
          case ONE: return "Nicaraguan córdoba (1988–1991)";
          case OTHER:
              default: return "Nicaraguan córdobas (1988–1991)";
        }
      }
      case NIO: {
        switch (category) {
          case ONE: return "Nicaraguan córdoba";
          case OTHER:
              default: return "Nicaraguan córdobas";
        }
      }
      case NLG: {
        switch (category) {
          case ONE: return "Dutch guilder";
          case OTHER:
              default: return "Dutch guilders";
        }
      }
      case NOK: {
        switch (category) {
          case ONE: return "Norwegian krone";
          case OTHER:
              default: return "Norwegian kroner";
        }
      }
      case NPR: {
        switch (category) {
          case ONE: return "Nepalese rupee";
          case OTHER:
              default: return "Nepalese rupees";
        }
      }
      case NZD: {
        switch (category) {
          case ONE: return "New Zealand dollar";
          case OTHER:
              default: return "New Zealand dollars";
        }
      }
      case OMR: {
        switch (category) {
          case ONE: return "Omani rial";
          case OTHER:
              default: return "Omani rials";
        }
      }
      case PAB: {
        switch (category) {
          case ONE: return "Panamanian balboa";
          case OTHER:
              default: return "Panamanian balboas";
        }
      }
      case PEI: {
        switch (category) {
          case ONE: return "Peruvian inti";
          case OTHER:
              default: return "Peruvian intis";
        }
      }
      case PEN: {
        switch (category) {
          case ONE: return "Peruvian sol";
          case OTHER:
              default: return "Peruvian soles";
        }
      }
      case PES: {
        switch (category) {
          case ONE: return "Peruvian sol (1863–1965)";
          case OTHER:
              default: return "Peruvian soles (1863–1965)";
        }
      }
      case PGK: {
        switch (category) {
          case ONE: return "Papua New Guinean kina";
          case OTHER:
              default: return "Papua New Guinean kina";
        }
      }
      case PHP: {
        switch (category) {
          case ONE: return "Philippine peso";
          case OTHER:
              default: return "Philippine pesos";
        }
      }
      case PKR: {
        switch (category) {
          case ONE: return "Pakistani rupee";
          case OTHER:
              default: return "Pakistani rupees";
        }
      }
      case PLN: {
        switch (category) {
          case ONE: return "Polish zloty";
          case OTHER:
              default: return "Polish zlotys";
        }
      }
      case PLZ: {
        switch (category) {
          case ONE: return "Polish zloty (PLZ)";
          case OTHER:
              default: return "Polish zlotys (PLZ)";
        }
      }
      case PTE: {
        switch (category) {
          case ONE: return "Portuguese escudo";
          case OTHER:
              default: return "Portuguese escudos";
        }
      }
      case PYG: {
        switch (category) {
          case ONE: return "Paraguayan guarani";
          case OTHER:
              default: return "Paraguayan guaranis";
        }
      }
      case QAR: {
        switch (category) {
          case ONE: return "Qatari rial";
          case OTHER:
              default: return "Qatari rials";
        }
      }
      case RHD: {
        switch (category) {
          case ONE: return "Rhodesian dollar";
          case OTHER:
              default: return "Rhodesian dollars";
        }
      }
      case ROL: {
        switch (category) {
          case ONE: return "Romanian leu (1952–2006)";
          case OTHER:
              default: return "Romanian Lei (1952–2006)";
        }
      }
      case RON: {
        switch (category) {
          case ONE: return "Romanian leu";
          case OTHER:
              default: return "Romanian lei";
        }
      }
      case RSD: {
        switch (category) {
          case ONE: return "Serbian dinar";
          case OTHER:
              default: return "Serbian dinars";
        }
      }
      case RUB: {
        switch (category) {
          case ONE: return "Russian rouble";
          case OTHER:
              default: return "Russian roubles";
        }
      }
      case RUR: {
        switch (category) {
          case ONE: return "Russian rouble (1991–1998)";
          case OTHER:
              default: return "Russian roubles (1991–1998)";
        }
      }
      case RWF: {
        switch (category) {
          case ONE: return "Rwandan franc";
          case OTHER:
              default: return "Rwandan francs";
        }
      }
      case SAR: {
        switch (category) {
          case ONE: return "Saudi riyal";
          case OTHER:
              default: return "Saudi riyals";
        }
      }
      case SBD: {
        switch (category) {
          case ONE: return "Solomon Islands dollar";
          case OTHER:
              default: return "Solomon Islands dollars";
        }
      }
      case SCR: {
        switch (category) {
          case ONE: return "Seychellois rupee";
          case OTHER:
              default: return "Seychellois rupees";
        }
      }
      case SDD: {
        switch (category) {
          case ONE: return "Sudanese dinar (1992–2007)";
          case OTHER:
              default: return "Sudanese dinars (1992–2007)";
        }
      }
      case SDG: {
        switch (category) {
          case ONE: return "Sudanese pound";
          case OTHER:
              default: return "Sudanese pounds";
        }
      }
      case SDP: {
        switch (category) {
          case ONE: return "Sudanese pound (1957–1998)";
          case OTHER:
              default: return "Sudanese pounds (1957–1998)";
        }
      }
      case SEK: {
        switch (category) {
          case ONE: return "Swedish krona";
          case OTHER:
              default: return "Swedish kronor";
        }
      }
      case SGD: {
        switch (category) {
          case ONE: return "Singapore dollar";
          case OTHER:
              default: return "Singapore dollars";
        }
      }
      case SHP: {
        switch (category) {
          case ONE: return "St. Helena pound";
          case OTHER:
              default: return "St. Helena pounds";
        }
      }
      case SIT: {
        switch (category) {
          case ONE: return "Slovenian tolar";
          case OTHER:
              default: return "Slovenian tolars";
        }
      }
      case SKK: {
        switch (category) {
          case ONE: return "Slovak koruna";
          case OTHER:
              default: return "Slovak korunas";
        }
      }
      case SLL: {
        switch (category) {
          case ONE: return "Sierra Leonean leone";
          case OTHER:
              default: return "Sierra Leonean leones";
        }
      }
      case SOS: {
        switch (category) {
          case ONE: return "Somali shilling";
          case OTHER:
              default: return "Somali shillings";
        }
      }
      case SRD: {
        switch (category) {
          case ONE: return "Surinamese dollar";
          case OTHER:
              default: return "Surinamese dollars";
        }
      }
      case SRG: {
        switch (category) {
          case ONE: return "Surinamese guilder";
          case OTHER:
              default: return "Surinamese guilders";
        }
      }
      case SSP: {
        switch (category) {
          case ONE: return "South Sudanese pound";
          case OTHER:
              default: return "South Sudanese pounds";
        }
      }
      case STD: {
        switch (category) {
          case ONE: return "São Tomé & Príncipe dobra";
          case OTHER:
              default: return "São Tomé & Príncipe dobras";
        }
      }
      case SUR: {
        switch (category) {
          case ONE: return "Soviet rouble";
          case OTHER:
              default: return "Soviet roubles";
        }
      }
      case SVC: {
        switch (category) {
          case ONE: return "Salvadoran colón";
          case OTHER:
              default: return "Salvadoran colones";
        }
      }
      case SYP: {
        switch (category) {
          case ONE: return "Syrian pound";
          case OTHER:
              default: return "Syrian pounds";
        }
      }
      case SZL: {
        switch (category) {
          case ONE: return "Swazi lilangeni";
          case OTHER:
              default: return "Swazi emalangeni";
        }
      }
      case THB: {
        switch (category) {
          case ONE: return "Thai baht";
          case OTHER:
              default: return "Thai baht";
        }
      }
      case TJR: {
        switch (category) {
          case ONE: return "Tajikistani rouble";
          case OTHER:
              default: return "Tajikistani roubles";
        }
      }
      case TJS: {
        switch (category) {
          case ONE: return "Tajikistani somoni";
          case OTHER:
              default: return "Tajikistani somonis";
        }
      }
      case TMM: {
        switch (category) {
          case ONE: return "Turkmenistani manat (1993–2009)";
          case OTHER:
              default: return "Turkmenistani manat (1993–2009)";
        }
      }
      case TMT: {
        switch (category) {
          case ONE: return "Turkmenistani manat";
          case OTHER:
              default: return "Turkmenistani manat";
        }
      }
      case TND: {
        switch (category) {
          case ONE: return "Tunisian dinar";
          case OTHER:
              default: return "Tunisian dinars";
        }
      }
      case TOP: {
        switch (category) {
          case ONE: return "Tongan paʻanga";
          case OTHER:
              default: return "Tongan paʻanga";
        }
      }
      case TPE: {
        switch (category) {
          case ONE: return "Timorese escudo";
          case OTHER:
              default: return "Timorese escudos";
        }
      }
      case TRL: {
        switch (category) {
          case ONE: return "Turkish lira (1922–2005)";
          case OTHER:
              default: return "Turkish Lira (1922–2005)";
        }
      }
      case TRY: {
        switch (category) {
          case ONE: return "Turkish lira";
          case OTHER:
              default: return "Turkish Lira";
        }
      }
      case TTD: {
        switch (category) {
          case ONE: return "Trinidad & Tobago dollar";
          case OTHER:
              default: return "Trinidad & Tobago dollars";
        }
      }
      case TWD: {
        switch (category) {
          case ONE: return "New Taiwan dollar";
          case OTHER:
              default: return "New Taiwan dollars";
        }
      }
      case TZS: {
        switch (category) {
          case ONE: return "Tanzanian shilling";
          case OTHER:
              default: return "Tanzanian shillings";
        }
      }
      case UAH: {
        switch (category) {
          case ONE: return "Ukrainian hryvnia";
          case OTHER:
              default: return "Ukrainian hryvnias";
        }
      }
      case UAK: {
        switch (category) {
          case ONE: return "Ukrainian karbovanets";
          case OTHER:
              default: return "Ukrainian karbovantsiv";
        }
      }
      case UGS: {
        switch (category) {
          case ONE: return "Ugandan shilling (1966–1987)";
          case OTHER:
              default: return "Ugandan shillings (1966–1987)";
        }
      }
      case UGX: {
        switch (category) {
          case ONE: return "Ugandan shilling";
          case OTHER:
              default: return "Ugandan shillings";
        }
      }
      case USD: {
        switch (category) {
          case ONE: return "US dollar";
          case OTHER:
              default: return "US dollars";
        }
      }
      case USN: {
        switch (category) {
          case ONE: return "US dollar (next day)";
          case OTHER:
              default: return "US dollars (next day)";
        }
      }
      case USS: {
        switch (category) {
          case ONE: return "US dollar (same day)";
          case OTHER:
              default: return "US dollars (same day)";
        }
      }
      case UYI: {
        switch (category) {
          case ONE: return "Uruguayan peso (indexed units)";
          case OTHER:
              default: return "Uruguayan pesos (indexed units)";
        }
      }
      case UYP: {
        switch (category) {
          case ONE: return "Uruguayan peso (1975–1993)";
          case OTHER:
              default: return "Uruguayan pesos (1975–1993)";
        }
      }
      case UYU: {
        switch (category) {
          case ONE: return "Uruguayan peso";
          case OTHER:
              default: return "Uruguayan pesos";
        }
      }
      case UZS: {
        switch (category) {
          case ONE: return "Uzbekistani som";
          case OTHER:
              default: return "Uzbekistani som";
        }
      }
      case VEB: {
        switch (category) {
          case ONE: return "Venezuelan bolívar (1871–2008)";
          case OTHER:
              default: return "Venezuelan bolívars (1871–2008)";
        }
      }
      case VEF: {
        switch (category) {
          case ONE: return "Venezuelan bolívar";
          case OTHER:
              default: return "Venezuelan bolívars";
        }
      }
      case VND: {
        switch (category) {
          case ONE: return "Vietnamese dong";
          case OTHER:
              default: return "Vietnamese dong";
        }
      }
      case VNN: {
        switch (category) {
          case ONE: return "Vietnamese dong (1978–1985)";
          case OTHER:
              default: return "Vietnamese dong (1978–1985)";
        }
      }
      case VUV: {
        switch (category) {
          case ONE: return "Vanuatu vatu";
          case OTHER:
              default: return "Vanuatu vatus";
        }
      }
      case WST: {
        switch (category) {
          case ONE: return "Samoan tala";
          case OTHER:
              default: return "Samoan tala";
        }
      }
      case XAF: {
        switch (category) {
          case ONE: return "Central African CFA franc";
          case OTHER:
              default: return "Central African CFA francs";
        }
      }
      case XAG: {
        switch (category) {
          case ONE: return "troy ounce of silver";
          case OTHER:
              default: return "troy ounces of silver";
        }
      }
      case XAU: {
        switch (category) {
          case ONE: return "troy ounce of gold";
          case OTHER:
              default: return "troy ounces of gold";
        }
      }
      case XBA: {
        switch (category) {
          case ONE: return "European composite unit";
          case OTHER:
              default: return "European composite units";
        }
      }
      case XBB: {
        switch (category) {
          case ONE: return "European monetary unit";
          case OTHER:
              default: return "European monetary units";
        }
      }
      case XBC: {
        switch (category) {
          case ONE: return "European unit of account (XBC)";
          case OTHER:
              default: return "European units of account (XBC)";
        }
      }
      case XBD: {
        switch (category) {
          case ONE: return "European unit of account (XBD)";
          case OTHER:
              default: return "European units of account (XBD)";
        }
      }
      case XCD: {
        switch (category) {
          case ONE: return "East Caribbean dollar";
          case OTHER:
              default: return "East Caribbean dollars";
        }
      }
      case XDR: {
        switch (category) {
          case ONE: return "special drawing rights";
          case OTHER:
              default: return "special drawing rights";
        }
      }
      case XEU: {
        switch (category) {
          case ONE: return "European currency unit";
          case OTHER:
              default: return "European currency units";
        }
      }
      case XFO: {
        switch (category) {
          case ONE: return "French gold franc";
          case OTHER:
              default: return "French gold francs";
        }
      }
      case XFU: {
        switch (category) {
          case ONE: return "French UIC-franc";
          case OTHER:
              default: return "French UIC-francs";
        }
      }
      case XOF: {
        switch (category) {
          case ONE: return "West African CFA franc";
          case OTHER:
              default: return "West African CFA francs";
        }
      }
      case XPD: {
        switch (category) {
          case ONE: return "troy ounce of palladium";
          case OTHER:
              default: return "troy ounces of palladium";
        }
      }
      case XPF: {
        switch (category) {
          case ONE: return "CFP franc";
          case OTHER:
              default: return "CFP francs";
        }
      }
      case XPT: {
        switch (category) {
          case ONE: return "troy ounce of platinum";
          case OTHER:
              default: return "troy ounces of platinum";
        }
      }
      case XRE: {
        switch (category) {
          case ONE: return "RINET Funds unit";
          case OTHER:
              default: return "RINET Funds units";
        }
      }
      case XSU: {
        switch (category) {
          case ONE: return "Sucre";
          case OTHER:
              default: return "Sucres";
        }
      }
      case XTS: {
        switch (category) {
          case ONE: return "Testing Currency unit";
          case OTHER:
              default: return "Testing Currency units";
        }
      }
      case XUA: {
        switch (category) {
          case ONE: return "ADB unit of account";
          case OTHER:
              default: return "ADB units of account";
        }
      }
      case XXX: {
        switch (category) {
          case ONE: return "(unknown unit of currency)";
          case OTHER:
              default: return "(unknown currency)";
        }
      }
      case YDD: {
        switch (category) {
          case ONE: return "Yemeni dinar";
          case OTHER:
              default: return "Yemeni dinars";
        }
      }
      case YER: {
        switch (category) {
          case ONE: return "Yemeni rial";
          case OTHER:
              default: return "Yemeni rials";
        }
      }
      case YUD: {
        switch (category) {
          case ONE: return "Yugoslavian hard dinar (1966–1990)";
          case OTHER:
              default: return "Yugoslavian hard dinars (1966–1990)";
        }
      }
      case YUM: {
        switch (category) {
          case ONE: return "Yugoslavian new dinar (1994–2002)";
          case OTHER:
              default: return "Yugoslavian new dinars (1994–2002)";
        }
      }
      case YUN: {
        switch (category) {
          case ONE: return "Yugoslavian convertible dinar (1990–1992)";
          case OTHER:
              default: return "Yugoslavian convertible dinars (1990–1992)";
        }
      }
      case YUR: {
        switch (category) {
          case ONE: return "Yugoslavian reformed dinar (1992–1993)";
          case OTHER:
              default: return "Yugoslavian reformed dinars (1992–1993)";
        }
      }
      case ZAL: {
        switch (category) {
          case ONE: return "South African rand (financial)";
          case OTHER:
              default: return "South African rands (financial)";
        }
      }
      case ZAR: {
        switch (category) {
          case ONE: return "South African rand";
          case OTHER:
              default: return "South African rand";
        }
      }
      case ZMK: {
        switch (category) {
          case ONE: return "Zambian kwacha (1968–2012)";
          case OTHER:
              default: return "Zambian kwachas (1968–2012)";
        }
      }
      case ZMW: {
        switch (category) {
          case ONE: return "Zambian kwacha";
          case OTHER:
              default: return "Zambian kwachas";
        }
      }
      case ZRN: {
        switch (category) {
          case ONE: return "Zairean new zaire (1993–1998)";
          case OTHER:
              default: return "Zairean new zaires (1993–1998)";
        }
      }
      case ZRZ: {
        switch (category) {
          case ONE: return "Zairean zaire (1971–1993)";
          case OTHER:
              default: return "Zairean zaires (1971–1993)";
        }
      }
      case ZWD: {
        switch (category) {
          case ONE: return "Zimbabwean dollar (1980–2008)";
          case OTHER:
              default: return "Zimbabwean dollars (1980–2008)";
        }
      }
      case ZWL: {
        switch (category) {
          case ONE: return "Zimbabwean dollar (2009)";
          case OTHER:
              default: return "Zimbabwean dollars (2009)";
        }
      }
      case ZWR: {
        switch (category) {
          case ONE: return "Zimbabwean dollar (2008)";
          case OTHER:
              default: return "Zimbabwean dollars (2008)";
        }
      }
      default: return "";
    }
  }

  public int getCurrencyDigits(CLDR.Currency code) {
    return _CurrencyUtil.getCurrencyDigits(code);
  }

  protected void wrapUnits(PluralCategory category, DigitBuffer dbuf, String unit,
      StringBuilder dest) {
    dbuf.appendTo(dest);
    dest.append(" ");
    dest.append(unit);
  }

  private static class _Params extends NumberFormatterParams {
    _Params() {
      this.decimal = ".";
      this.group = ",";
      this.percent = "%";
      this.minus = "-";
      this.plus = "+";
      this.exponential = "E";
      this.superscriptingExponent = "×";
      this.perMille = "‰";
      this.infinity = "∞";
      this.nan = "NaN";
      this.currencyDecimal = ".";
      this.currencyGroup = ",";
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy