Skip to content

Commit

Permalink
CLDR-17921 merge main to branch
Browse files Browse the repository at this point in the history
  • Loading branch information
srl295 committed Oct 25, 2024
2 parents 47b44af + 2ca96f0 commit d5c3920
Show file tree
Hide file tree
Showing 171 changed files with 4,205 additions and 1,906 deletions.
8 changes: 4 additions & 4 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ updates:
interval: "monthly"
commit-message:
include: scope
prefix: "CLDR-17492 gh:"
prefix: "CLDR-17993 gh:"
assignees:
- btangmu
- srl295
Expand All @@ -25,7 +25,7 @@ updates:
interval: "monthly"
commit-message:
include: scope
prefix: "CLDR-17492 js:"
prefix: "CLDR-17993 js:"
assignees:
- btangmu
- srl295
Expand All @@ -39,7 +39,7 @@ updates:
interval: "monthly"
commit-message:
include: scope
prefix: "CLDR-17492 tr:"
prefix: "CLDR-17993 tr:"
assignees:
- btangmu
- srl295
Expand All @@ -54,7 +54,7 @@ updates:
interval: "monthly"
commit-message:
include: scope
prefix: "CLDR-17492 j:"
prefix: "CLDR-17993 j:"
assignees:
- btangmu
- srl295
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/commit-checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ on:
jobs:
build:
name: Run Checker
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: clone CLDR
uses: actions/checkout@v4
Expand Down
19 changes: 19 additions & 0 deletions docs/ldml/tr35-dates.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,25 @@ The LDML specification is divided into the following parts:
* [Week of Year](#Date_Patterns_Week_Of_Year)
* [Week Elements](#Date_Patterns_Week_Elements)
* [Parsing Dates and Times](#Parsing_Dates_Times)
* [Semantic Skeletons](#Semantic_Skeletons)
* [Parts of a Semantic Skeleton](#Parts_of_a_Semantic_Skeleton)
* [Semantic Field Sets](#Semantic_Field_Sets)
* [Date Field Sets](#Semantic_Date_Field_Sets)
* [Calendar Period Field Sets](#Semantic_Calendar_Period_Field_Sets)
* [Time Field Sets](#Semantic_Time_Field_Sets)
* [Time Zone Field Sets](#Semantic_Time_Zone_Field_Sets)
* [Composite Field Sets](#Semantic_Composite_Field_Sets)
* [Semantic Skeleton Options](#Semantic_Skeleton_Options)
* [Length](#Semantic_Skeleton_Length)
* [Alignment](#Semantic_Skeleton_Alignment)
* [Year Style](#Semantic_Skeleton_Year_Style)
* [Hour Cycle](#Semantic_Skeleton_Hour_Cycle)
* [Fractional Second Digits](#Semantic_Skeleton_Fractional_Second_Digits)
* [Time Zone Style](#Semantic_Skeleton_Time_Zone_Style)
* [Generating Patterns for Semantic Skeletons](#Generating_Patterns_for_Semantic_Skeletons)
* [Mapping to Standard Skeletons](#mapping-to-standard-skeletons)
* [Year Style Skeleton Variations](#Semantic_Year_Style_Skeleton_Variations)
* [Semantic Skeleton Conformance](#Semantic_Skeleton_Conformance)

## <a name="Overview_Dates_Element_Supplemental" href="#Overview_Dates_Element_Supplemental">Overview: Dates Element, Supplemental Date and Calendar Information</a>

Expand Down
11 changes: 6 additions & 5 deletions docs/ldml/tr35-info.md
Original file line number Diff line number Diff line change
Expand Up @@ -1264,11 +1264,12 @@ If there is no valid -mu value, the following steps are used to determine a regi
1. If there is a valid -ms value then let USM be the corresponding value in column 2 of the table below.
Otherwise FR is not used. In either case continue with step 2.
2. If there is a valid -rg region portion of the rg value, let R be that region, and go to Compute the category.
* See the table above for the examples `usut`, `usabc`, and `abcdef`
4. If there is a valid region in the locale, let R be that region, and go to Compute the category.
5. Otherwise, compute the likely subtags for the locale.
1. If there is a likely region, then let R be that region, and go to Compute the category.
2. Otherwise, let R be 001, and go to Compute the category
* In the table above, this would handle the examples `usut`, `uszzzz`, and `usabc`, resulting in R = US.
* Because the example `abzzzz` has an invalid region portion, no region is found and processing continues with step 3.
3. If there is a valid region in the locale, let R be that region, and go to Compute the category.
4. Otherwise, compute the likely subtags for the locale.
1. If there is a likely region, then let R be that region, and go to Compute the category.
2. Otherwise, let R be 001, and go to Compute the category

| Key-Value | Unit Systems Match | Fallback Region for Unit Preferences |
|-------------|-----------------------------|--------------------------------------|
Expand Down
20 changes: 10 additions & 10 deletions docs/ldml/tr35-keyboards.md
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,7 @@ See [UAX #15](https://www.unicode.org/reports/tr15/#Description_Norm) for an ove

#### Example Normalization with Markers

**Example 1**
**Example 1a**

Consider this example, without markers:

Expand All @@ -521,7 +521,7 @@ Consider this example, without markers:

The combining marks are reordered.

**Example 2**
**Example 1b**

If we add markers:

Expand Down Expand Up @@ -1806,10 +1806,10 @@ _Attribute:_ `value` (required)
<variables>
<string id="cluster_hi" value="हि" /> <!-- a string -->
<string id="zwnj" value="\u{200C}"/> <!-- single codepoint -->
<string id="acute" value="\m{acute}"/> <!-- refer to a marker -->
<string id="grave" value="\m{grave}"/> <!-- refer to a marker -->
<string id="backquote" value="`"/>
<string id="zwnj_acute" value="${zwnj}${acute}" /> <!-- Combine two variables -->
<string id="zwnj_sp_acute" value="${zwnj}\u{0020}${acute}" /> <!-- Combine two variables -->
<string id="zwnj_grave" value="${zwnj}${grave}" /> <!-- Combine two variables -->
<string id="zwnj_sp_grave" value="${zwnj}\u{0020}${grave}" /> <!-- Combine two variables -->
</variables>
```

Expand All @@ -1822,10 +1822,10 @@ These may be then used in multiple contexts:
<!-- as part of a key bag -->
<key id="hi_key" output="${cluster_hi}" />
<key id="acute_key" output="${acute}" />
<key id="grave_key" output="${grave}" />
<!-- Display ´ instead of the non-displayable marker -->
<display output="${acute}" display="${backquote}" />
<!-- Display ` instead of the non-displayable marker -->
<display output="${grave}" display="${backquote}" />
```

* * *
Expand Down Expand Up @@ -2393,7 +2393,7 @@ Used in the `to=`

- The `from=` and `to=` sides of the pattern must both be using `set` variables. There is no way to insert a set literal on either side and avoid using a variable.

- The two variables (here `upper` and `lower`) must have exactly the same number of whitespace-separated items. Leading and trailing space (such as at the end of `lower`) is ignored. A variable without any spaces is considered to be a set variable of exactly one item.
- The two variables (here `upper` and `lower`) must have exactly the same number of whitespace-separated items. Leading and trailing space is ignored. A variable without any spaces is considered to be a set variable of exactly one item.

- As described in [Additional Features](#additional-features), the `upper` set variable as used here matches as if it is `((?:A|B|CC|D|E|FF|G))`, showing the enclosing capturing group. When text from the input context matches this expression, and all above conditions are met, the mapping proceeds as follows:

Expand Down Expand Up @@ -2704,7 +2704,7 @@ Keyboarding applications typically work, but are not required to, in one of two
**_text editing_**

> text editing happens when a user moves the cursor into some previously entered text which may have been entered by someone else. As such, there is no way to know in which order things were typed, but a user will still want appropriate behaviour when they press backspace. This may involve deleting more than one character or replacing a sequence of characters with a different sequence.
> text editing happens when a user moves the cursor into some previously entered text which may have been entered by someone else. As such, there is no way to know in which order things were typed, but a user will still want appropriate behavior when they press backspace. This may involve deleting more than one character or replacing a sequence of characters with a different sequence.
In text editing mode, different keyboard layouts may behave differently in the same textual context. The backspace transform allows the keyboard layout to specify the effect of pressing backspace in a particular textual context. This is done by specifying a set of backspace rules that match a string before the cursor and replace it with another string. The rules are expressed within a `transforms type="backspace"` element.

Expand Down
220 changes: 108 additions & 112 deletions docs/ldml/tr35-messageFormat.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,125 +50,121 @@ The LDML specification is divided into the following parts:
* [Syntax](#syntax)
* [Design Goals](#design-goals)
* [Design Restrictions](#design-restrictions)
* [Messages and their Syntax](#messages-and-their-syntax)
* [Well-formed vs. Valid Messages](#well-formed-vs.-valid-messages)
* [The Message](#the-message)
* [Declarations](#declarations)
* [Reserved Statements](#reserved-statements)
* [Complex Body](#complex-body)
* [Pattern](#pattern)
* [Quoted Pattern](#quoted-pattern)
* [Text](#text)
* [Placeholder](#placeholder)
* [Matcher](#matcher)
* [Selector](#selector)
* [Variant](#variant)
* [Key](#key)
* [Expressions](#expressions)
* [Annotation](#annotation)
* [Function](#function)
* [Options](#options)
* [Private-Use Annotations](#private-use-annotations)
* [Reserved Annotations](#reserved-annotations)
* [Markup](#markup)
* [Attributes](#attributes)
* [Other Syntax Elements](#other-syntax-elements)
* [Keywords](#keywords)
* [Literals](#literals)
* [Names and Identifiers](#names-and-identifiers)
* [Escape Sequences](#escape-sequences)
* [Whitespace](#whitespace)
* [Messages and their Syntax](#messages-and-their-syntax)
* [Well-formed vs. Valid Messages](#well-formed-vs.-valid-messages)
* [The Message](#the-message)
* [Declarations](#declarations)
* [Complex Body](#complex-body)
* [Pattern](#pattern)
* [Quoted Pattern](#quoted-pattern)
* [Text](#text)
* [Placeholder](#placeholder)
* [Matcher](#matcher)
* [Selector](#selector)
* [Variant](#variant)
* [Key](#key)
* [Expressions](#expressions)
* [Operand](#operand)
* [Function](#function)
* [Options](#options)
* [Markup](#markup)
* [Attributes](#attributes)
* [Other Syntax Elements](#other-syntax-elements)
* [Keywords](#keywords)
* [Literals](#literals)
* [Names and Identifiers](#names-and-identifiers)
* [Escape Sequences](#escape-sequences)
* [Whitespace](#whitespace)
* [Complete ABNF](#complete-abnf)
* [`message.abnf`](#message.abnf)
* [Errors](#errors)
* [Error Handling](#error-handling)
* [Syntax Errors](#syntax-errors)
* [Data Model Errors](#data-model-errors)
* [Variant Key Mismatch](#variant-key-mismatch)
* [Missing Fallback Variant](#missing-fallback-variant)
* [Missing Selector Annotation](#missing-selector-annotation)
* [Duplicate Declaration](#duplicate-declaration)
* [Duplicate Option Name](#duplicate-option-name)
* [Resolution Errors](#resolution-errors)
* [Unresolved Variable](#unresolved-variable)
* [Unknown Function](#unknown-function)
* [Unsupported Expression](#unsupported-expression)
* [Invalid Expression](#invalid-expression)
* [Unsupported Statement](#unsupported-statement)
* [Selection Errors](#selection-errors)
* [Formatting Errors](#formatting-errors)
* [Error Handling](#error-handling)
* [Syntax Errors](#syntax-errors)
* [Data Model Errors](#data-model-errors)
* [Variant Key Mismatch](#variant-key-mismatch)
* [Missing Fallback Variant](#missing-fallback-variant)
* [Missing Selector Annotation](#missing-selector-annotation)
* [Duplicate Declaration](#duplicate-declaration)
* [Duplicate Option Name](#duplicate-option-name)
* [Duplicate Variant](#duplicate-variant)
* [Resolution Errors](#resolution-errors)
* [Unresolved Variable](#unresolved-variable)
* [Unknown Function](#unknown-function)
* [Bad Selector](#bad-selector)
* [Message Function Errors](#message-function-errors)
* [Bad Operand](#bad-operand)
* [Bad Option](#bad-option)
* [Bad Variant Key](#bad-variant-key)
* [Function Registry](#function-registry)
* [Goals](#goals)
* [Conformance and Use](#conformance-and-use)
* [Registry Data Model](#registry-data-model)
* [Example](#example)
* [Default Registry](#default-registry)
* [String Value Selection and Formatting](#string-value-selection-and-formatting)
* [The `:string` function](#the-string-function)
* [Operands](#operands)
* [Options](#options)
* [Selection](#selection)
* [Formatting](#formatting)
* [Numeric Value Selection and Formatting](#numeric-value-selection-and-formatting)
* [The `:number` function](#the-number-function)
* [Operands](#operands)
* [Options](#options)
* [Default Value of `select` Option](#default-value-of-select-option)
* [Percent Style](#percent-style)
* [Selection](#selection)
* [The `:integer` function](#the-integer-function)
* [Operands](#operands)
* [Options](#options)
* [Default Value of `select` Option](#default-value-of-select-option)
* [Percent Style](#percent-style)
* [Selection](#selection)
* [Number Operands](#number-operands)
* [Digit Size Options](#digit-size-options)
* [Number Selection](#number-selection)
* [Rule Selection](#rule-selection)
* [Determining Exact Literal Match](#determining-exact-literal-match)
* [Date and Time Value Formatting](#date-and-time-value-formatting)
* [The `:datetime` function](#the-datetime-function)
* [Operands](#operands)
* [Options](#options)
* [The `:date` function](#the-date-function)
* [Operands](#operands)
* [Options](#options)
* [The `:time` function](#the-time-function)
* [Operands](#operands)
* [Options](#options)
* [Date and Time Operands](#date-and-time-operands)
* [String Value Selection and Formatting](#string-value-selection-and-formatting)
* [The `:string` function](#the-string-function)
* [Operands](#operands)
* [Options](#options)
* [Selection](#selection)
* [Formatting](#formatting)
* [Numeric Value Selection and Formatting](#numeric-value-selection-and-formatting)
* [The `:number` function](#the-number-function)
* [Operands](#operands)
* [Options](#options)
* [Default Value of `select` Option](#default-value-of-select-option)
* [Percent Style](#percent-style)
* [Selection](#selection)
* [The `:integer` function](#the-integer-function)
* [Operands](#operands)
* [Options](#options)
* [Default Value of `select` Option](#default-value-of-select-option)
* [Percent Style](#percent-style)
* [Selection](#selection)
* [Number Operands](#number-operands)
* [Digit Size Options](#digit-size-options)
* [Number Selection](#number-selection)
* [Rule Selection](#rule-selection)
* [Determining Exact Literal Match](#determining-exact-literal-match)
* [Date and Time Value Formatting](#date-and-time-value-formatting)
* [The `:datetime` function](#the-datetime-function)
* [Operands](#operands)
* [Options](#options)
* [Style Options](#style-options)
* [Field Options](#field-options)
* [The `:date` function](#the-date-function)
* [Operands](#operands)
* [Options](#options)
* [The `:time` function](#the-time-function)
* [Operands](#operands)
* [Options](#options)
* [Date and Time Operands](#date-and-time-operands)
* [Formatting](#formatting)
* [Formatting Context](#formatting-context)
* [Expression and Markup Resolution](#expression-and-markup-resolution)
* [Literal Resolution](#literal-resolution)
* [Variable Resolution](#variable-resolution)
* [Function Resolution](#function-resolution)
* [Option Resolution](#option-resolution)
* [Markup Resolution](#markup-resolution)
* [Fallback Resolution](#fallback-resolution)
* [Pattern Selection](#pattern-selection)
* [Resolve Selectors](#resolve-selectors)
* [Resolve Preferences](#resolve-preferences)
* [Filter Variants](#filter-variants)
* [Sort Variants](#sort-variants)
* [Examples](#examples)
* [Example 1](#example-1)
* [Example 2](#example-2)
* [Example 3](#example-3)
* [Formatting](#formatting)
* [Examples](#examples)
* [Formatting Fallback Values](#formatting-fallback-values)
* [Handling Bidirectional Text](#handling-bidirectional-text)
* [Formatting Context](#formatting-context)
* [Expression and Markup Resolution](#expression-and-markup-resolution)
* [Literal Resolution](#literal-resolution)
* [Variable Resolution](#variable-resolution)
* [Function Resolution](#function-resolution)
* [Option Resolution](#option-resolution)
* [Markup Resolution](#markup-resolution)
* [Fallback Resolution](#fallback-resolution)
* [Pattern Selection](#pattern-selection)
* [Resolve Selectors](#resolve-selectors)
* [Resolve Preferences](#resolve-preferences)
* [Filter Variants](#filter-variants)
* [Sort Variants](#sort-variants)
* [Examples](#examples)
* [Example 1](#example-1)
* [Example 2](#example-2)
* [Example 3](#example-3)
* [Formatting](#formatting)
* [Examples](#examples)
* [Formatting Fallback Values](#formatting-fallback-values)
* [Handling Bidirectional Text](#handling-bidirectional-text)
* [Interchange Data Model](#interchange-data-model)
* [Messages](#messages)
* [Patterns](#patterns)
* [Expressions](#expressions)
* [Markup](#markup)
* [Extensions](#extensions)
* [Messages](#messages)
* [Patterns](#patterns)
* [Expressions](#expressions)
* [Markup](#markup)
* [Attributes](#attributes)
* [Extensions](#extensions)
* [Appendices](#appendices)
* [Security Considerations](#security-considerations)
* [Acknowledgements](#acknowledgements)
* [Security Considerations](#security-considerations)
* [Acknowledgements](#acknowledgements)

## Introduction

Expand Down
5 changes: 4 additions & 1 deletion docs/ldml/tr35-numbers.md
Original file line number Diff line number Diff line change
Expand Up @@ -946,7 +946,10 @@ Each `currencyData` element contains one `fractions` element followed by one or
The `fractions` element contains any number of `info` elements, with the following attributes:

* **iso4217:** the ISO 4217 code for the currency in question. If a particular currency does not occur in the fractions list, then it is given the defaults listed for the next two attributes.
* **digits:** the minimum and maximum number of decimal digits normally formatted. The default is 2. For example, in the en_US locale with the default value of 2 digits, the value 1 USD would format as "$1.00", and the value 1.123 USD would format as → "$1.12".
* **digits:** the minimum and maximum number of decimal digits normally formatted.
The default is 2.
For example, in the en_US locale with the default value of 2 digits, the value 1 USD would format as "$1.00", and the value 1.123 USD would format as → "$1.12".
This value of this field is based on the "minor unit" value from ISO 4217, but may deviate from ISO 4217 where there is compelling evidence for different customary practice.
* **rounding:** the rounding increment, in units of 10<sup>-digits</sup>. The default is 0, which means no rounding is to be done. Therefore, rounding=0 and rounding=1 have identical behavior. Thus with fraction digits of 2 and rounding increment of 5, numeric values are rounded to the nearest 0.05 units in formatting. With fraction digits of 0 and rounding increment of 50, numeric values are rounded to the nearest 50.
* **cashDigits:** the number of decimal digits to be used when formatting quantities used in cash transactions (as opposed to a quantity that would appear in a more formal setting, such as on a bank statement). If absent, the value of "digits" should be used as a default.
* **cashRounding:** the cash rounding increment, in units of 10-cashDigits. The default is 0, which means no rounding is to be done; and as with rounding, this has the same effect as cashRounding="1". This is the rounding increment to be used when formatting quantities used in cash transactions (as opposed to a quantity that would appear in a more formal setting, such as on a bank statement). If absent, the value of "rounding" should be used as a default.
Expand Down
Loading

0 comments on commit d5c3920

Please sign in to comment.