Cldr v0.1.0 Cldr.Unit
Supports the CLDR Units definitions which provide for the localization of many unit types.
The public API defines two primary functions:
Cldr.Unit.to_string/3
which, given a number and a unit name will output a localized stringCldr.Unit.available_units/0
identifies the available units for localization
Summary
Functions
Returns the available styles for a unit localiation
Returns the available units for a given locale and style
Formats a number into a string according to a unit definition for a locale
Formats a list using to_string/3
but raises if there is
an error
Functions
Returns the available styles for a unit localiation.
Example
iex> Cldr.Unit.available_styles
[:long, :short, :narrow]
Returns the available units for a given locale and style.
locale
is any configured locale. SeeCldr.known_locales()
. The default islocale: Cldr.get_locale()
style
is one of those returned byCldr.Unit.available_styles
. The current styles are:long
,:short
and:narrow
. The default isstyle: :long
Example
Cldr.Unit.available_units
[:volume_gallon, :pressure_pound_per_square_inch, :digital_terabyte,
:digital_bit, :digital_gigabit, :digital_kilobit, :volume_pint,
:speed_kilometer_per_hour, :concentr_part_per_million, :energy_calorie,
:volume_milliliter, :length_fathom, :length_foot, :volume_cubic_yard,
:mass_microgram, :length_nautical_mile, :volume_deciliter,
:consumption_mile_per_gallon, :volume_bushel, :volume_cubic_centimeter,
:length_light_year, :volume_gallon_imperial, :speed_meter_per_second,
:power_kilowatt, :power_watt, :length_millimeter, :digital_gigabyte,
:duration_nanosecond, :length_centimeter, :volume_cup_metric,
:length_kilometer, :angle_degree, :acceleration_g_force, :electric_ampere,
:volume_quart, :duration_century, :angle_revolution, :volume_hectoliter,
:area_square_meter, :digital_megabyte, :light_lux, :duration_year,
:energy_kilocalorie, :frequency_megahertz, :power_horsepower,
:volume_cubic_meter, :area_hectare, :frequency_hertz, :length_furlong,
:length_astronomical_unit, ...]
to_string(Cldr.Math.number_or_decimal, atom, Keyword.t) :: String.t | {:error, {atom, binary}}
Formats a number into a string according to a unit definition for a locale.
number
is any number (integer, float or Decimal)unit
is any unit returned byCldr.Unit.available_units/0
options
are:locale
is any configured locale. SeeCldr.known_locales()
. The default islocale: Cldr.get_locale()
style
is one of those returned byCldr.Unit.available_styles
. THe current styles are:long
,:short
and:narrow
. The default isstyle: :long
Any other options are passed to
Cldr.Number.to_string/2
which is used to format thenumber
Examples
iex> Cldr.Unit.to_string 123, :volume_gallon
"123 gallons"
iex> Cldr.Unit.to_string 1, :volume_gallon
"1 gallon"
iex> Cldr.Unit.to_string 1, :volume_gallon, locale: "af"
"1 gelling"
iex> Cldr.Unit.to_string 1, :volume_gallon, locale: "af-NA"
"1 gelling"
iex> Cldr.Unit.to_string 1, :volume_gallon, locale: "bs"
"1 galona"
iex> Cldr.Unit.to_string 1234, :volume_gallon, format: :long
"1 thousand gallons"
iex> Cldr.Unit.to_string 1234, :volume_gallon, format: :short
"1K gallons"
iex> Cldr.Unit.to_string 1234, :frequency_megahertz
"1,234 megahertz"
iex> Cldr.Unit.to_string 1234, :frequency_megahertz, style: :narrow
"1,234MHz"
Cldr.Unit.to_string 123, :digital_megabyte, locale: "en-XX"
{:error, {Cldr.UnknownLocaleError, "The locale "en-XX" is not known."}}
Cldr.Unit.to_string 123, :digital_megabyte, locale: "en", style: :unknown
{:error, {Cldr.UnknownFormatError, "The unit style :unknown is not known."}}
to_string!(List.t, atom, Keyword.t) :: String.t | Exception.t
Formats a list using to_string/3
but raises if there is
an error.