Open Bug 1906661 Opened 2 months ago Updated 1 month ago

Intl.ListFormat is not properly implemented in Welsh

Categories

(Core :: JavaScript: Internationalization API, defect, P3)

Firefox 127
defect

Tracking

()

UNCONFIRMED

People

(Reporter: mark.j.fisher, Unassigned)

References

(Blocks 1 open bug)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0

Steps to reproduce:

new Intl.ListFormat("cy", {
style: "long",
type: "conjunction"
}).format(["un", "dau", "tri"]);

Actual results:

The above yields ""un, dau, a(c) tri"

Expected results:

The result should have been ""un, dau, a tri". The Welsh for and is "a" before a consonant, and "ac" before a vowel. It is quite trivial to check if a letter is a vowel. There is also the fact that "a" causes an aspirate mutation, which is also very rule-based and simple to check for. https://www.bbc.co.uk/bitesize/guides/zsv8wmn/revision/3

The Bugbug bot thinks this bug should belong to the 'Core::Internationalization' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Internationalization
Product: Firefox → Core

The severity field is not set for this bug.
:m_kato, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(m_kato)

It seems to be Intl API. Moving to component. anba, known issue?

Component: Internationalization → JavaScript: Internationalization API
Flags: needinfo?(m_kato) → needinfo?(andrebargull)

CLDR doesn't support grammatically correct list format patterns, see https://unicode-org.atlassian.net/browse/CLDR-13563. ICU implemented some basic workarounds for Spanish and Hebrew in https://unicode-org.atlassian.net/browse/ICU-21016, so I guess Welsh would need similar exceptions in ICU until CLDR supports grammatical features for list patterns.

Flags: needinfo?(andrebargull)
Blocks: sm-icu
Severity: -- → S3
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.