[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/i18n/RFC.md fully. Find ONE feature... #45

Merged
Virgil merged 1 commit from agent/read---spec-code-core-go-i18n-rfc-md-ful into dev 2026-04-01 23:24:25 +00:00
3 changed files with 31 additions and 0 deletions

View file

@ -83,3 +83,20 @@ func pluralRuleArabic(n int) PluralCategory {
func pluralRuleChinese(n int) PluralCategory { return PluralOther }
func pluralRuleJapanese(n int) PluralCategory { return PluralOther }
func pluralRuleKorean(n int) PluralCategory { return PluralOther }
func pluralRuleWelsh(n int) PluralCategory {
switch n {
case 0:
return PluralZero
case 1:
return PluralOne
case 2:
return PluralTwo
case 3:
return PluralFew
case 6:
return PluralMany
default:
return PluralOther
}
}

View file

@ -39,6 +39,14 @@ func TestGetPluralCategory(t *testing.T) {
{"ar", 11, PluralMany},
{"ar", 100, PluralOther},
// Welsh
{"cy", 0, PluralZero},
{"cy", 1, PluralOne},
{"cy", 2, PluralTwo},
{"cy", 3, PluralFew},
{"cy", 6, PluralMany},
{"cy", 7, PluralOther},
// Chinese (always other)
{"zh", 0, PluralOther},
{"zh", 1, PluralOther},
@ -75,6 +83,11 @@ func TestGetPluralRule(t *testing.T) {
t.Error("English-US rule(1) should be PluralOne")
}
rule = GetPluralRule("cy-GB")
if rule(2) != PluralTwo {
t.Error("Welsh-GB rule(2) should be PluralTwo")
}
// Unknown falls back to English
rule = GetPluralRule("xx-YY")
if rule(1) != PluralOne {

View file

@ -321,6 +321,7 @@ var pluralRules = map[string]PluralRule{
"ru": pluralRuleRussian, "ru-RU": pluralRuleRussian,
"pl": pluralRulePolish, "pl-PL": pluralRulePolish,
"ar": pluralRuleArabic, "ar-SA": pluralRuleArabic,
"cy": pluralRuleWelsh, "cy-GB": pluralRuleWelsh,
"zh": pluralRuleChinese, "zh-CN": pluralRuleChinese, "zh-TW": pluralRuleChinese,
"ja": pluralRuleJapanese, "ja-JP": pluralRuleJapanese,
"ko": pluralRuleKorean, "ko-KR": pluralRuleKorean,