| 0 | return LDN |
| 1 | use the <localePattern> to compose the result LDN from LDN and LQS[0], and return it. |
| >1 | use the <localeSeparator> element value to join the elements of the list into LDN2, then use the <localePattern> to compose the result LDN from LDN and LDN2, and return it. |
| Direction | Value |
|---|---|
| Vertical | top-to-bottom |
| bottom-to-top | |
| Horizontal | left-to-right |
| right-to-left |
| Days | enter the vacation length |
| unit_identifier | := | core_unit_identifier | mixed_unit_identifier | long_unit_identifier |
| core_unit_identifier | := | product_unit ("-per-" product_unit)* | "per-" product_unit ("-per-" product_unit)*
|
| product_unit | := | single_unit ("-" single_unit)* ("-" pu_single_unit)* | pu_single_unit ("-" pu_single_unit)*
|
| single_unit | := | number_prefix? dimensionality_prefix? simple_unit
|
| pu_single_unit | := | “xxx-” single_unit | “x-” single_unit
|
| number_prefix | := | ("1"[0-9]+ | [2-9][0-9]*) "-"
|
| dimensionality_prefix | := | "square-" | "cubic-" | "pow" ([2-9]|1[0-5]) "-"
|
| simple_unit | := | (prefix_component "-")* (prefixed_unit | base_component) ("-" suffix_component)* | currency_unit | “em” | “g” | “us” | “hg” | "of"
|
| prefixed_unit | prefix base_component
| |
| prefix | si_prefix | binary_prefix | |
| si_prefix | := | "deka" | "hecto" | "kilo", …
|
| binary_prefix | := | "kibi", "mebi", …
|
| prefix_component | := | [a-z]{3,∞}
|
| base_component | := | [a-z]{3,∞}
|
| suffix_component | := | [a-z]{3,∞}
|
| mixed_unit_identifier | := | (single_unit | pu_single_unit) ("-and-" (single_unit | pu_single_unit ))*
|
| long_unit_identifier | := | grouping "-" core_unit_identifier |
| grouping | := | [a-z]{3,∞} |
| currency_unit | := | "curr-" [a-z]{3}
|
| Old ID | BCP47 ID | Comments |
|---|---|---|
| es_FONIPA-es_419_FONIPA | es-419-fonipa-t-es-fonipa | The order reverses with -t-. That is, the language subtag part is what results. |
| hy_AREVMDA-hy_AREVMDA_FONIPA | hy-arevmda-fonipa-t-hy-arevmda | |
| Devanagari-Latin | und-Latn-t-und-deva | Scripts add und- |
| Latin-Devanagari | und-Deva-t-und-latn | |
| Greek-Latin/UNGEGN | und-Latn-t-und-grek-m0-ungegn | Variants use the -m0- key. |
| Russian-Latin/BGN | ru-Latn-t-ru-m0-bgn | Languages will have a script when it isn’t the default. |
| Any-Hex/xml | und-t-d0-hex-m0-xml | Any becomes und, and keys d0 (destination) and s0 (source) are used for non-locales. |
| Hex-Any/xml | und-t-s0-hex-m0-xml | |
| Any-Publishing | und-t-d0-publish | Non-locales are normally the lowercases of the old ID, but may change because of BCP47 length restrictions. |
| Publishing-Any | und-t-s0-publish |
| Original Rules | Forward | Inverse |
|---|---|---|
|
|
|
{0}, {1}, and {2} ("3"-pattern only) in order{1} placeholder{0} placeholder| Spanish | AND | Use ‘e’ instead of ‘y’ in the listPatternPart for "end" and "2" in either of the following cases:
|
| OR | Use ‘u’ instead of ‘o’ in the listPatternPart for "end" and "2" in any of the following cases:
| |
| See Cambio de la y copulativa en e Note: more advanced implementations may also consider the pronunciation, such as foreign words where the ‘h’ is not mute. | ||
| Hebrew | AND | Use ‘-ו’ instead of ‘ו’ in the listPatternPart for "end" and "2" in the following case:
|
| See https://hebrew-academy.org.il/topic/hahlatot/punctuation/#target-3475 | ||
| Pattern | N | Result |
|---|---|---|
| 0≤Rf|1≤Ru|1<Re | -∞, -3, -1, -0.000001 | Rf (defaulted to first string) |
| 0, 0.01, 0.9999 | Rf | |
| 1 | Ru | |
| 1.00001, 5, 99, ∞ | Re |
| per | |||||
|---|---|---|---|---|---|
| times | times | ||||
| kilo | square | ampere | candela | square | mole |
| gram | kilo | - | - | second | |
| - | meter | - | - | - | |