Skip to content

CLDR-19513 Add Tajik (tg) plural rules#5765

Open
antonovegorv wants to merge 1 commit into
unicode-org:mainfrom
antonovegorv:CLDR-19513-add-tajik-plural-rules
Open

CLDR-19513 Add Tajik (tg) plural rules#5765
antonovegorv wants to merge 1 commit into
unicode-org:mainfrom
antonovegorv:CLDR-19513-add-tajik-plural-rules

Conversation

@antonovegorv
Copy link
Copy Markdown

@antonovegorv antonovegorv commented May 26, 2026

CLDR-19513

Summary

Tajik (tg) has locale data in CLDR (common/main/tg.xml) but is completely missing from plural rules (plurals.xml, ordinals.xml, pluralRanges.xml).

This means all i18n libraries that derive plural rules from CLDR (ICU, go-i18n, JS Intl, Python Babel, PHP intl, FormatJS, etc.) cannot provide correct pluralization for Tajik content.

Tajik is the official language of Tajikistan (~10 million speakers) and is linguistically a variety of Persian written in Cyrillic script. Its plural system is identical to Persian (fa).

Changes

  • plurals.xml: added tg to the am as bn doi fa gu hi kn kok kok_Latn pcm vi zu group (one: i = 0 or n = 1, other)
  • ordinals.xml: added tg to the "other only" group (no ordinal distinction, same as fa)
  • pluralRanges.xml: added tg to the ak fa or sd group (same range behavior as fa)
  • main/tg.xml: added pluralMinimalPairs for count="one" and updated count="other"

Linguistic evidence

Cardinal plural rules — identical to Persian (fa):

  • one: i = 0 or n = 1
  • other: everything else

Minimal pairs:

  • one: «1 бача омад» (1 boy came — singular verb)
  • other: «2 бача омаданд» (2 boys came — plural verb)

Sources:

  • Gettext l10n-guide: nplurals=2; plural=(n != 1)
  • Tajik and Persian share mutual intelligibility (~90%) and identical plural morphology

References

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented May 26, 2026

CLA assistant check
All committers have signed the CLA.

@antonovegorv antonovegorv force-pushed the CLDR-19513-add-tajik-plural-rules branch from 5afc956 to 4ca109e Compare May 26, 2026 15:26
@jira-pull-request-webhook
Copy link
Copy Markdown

Hooray! The files in the branch are the same across the force-push. 😃

~ Your Friendly Jira-GitHub PR Checker Bot

@antonovegorv antonovegorv force-pushed the CLDR-19513-add-tajik-plural-rules branch from 4ca109e to 8bdbce3 Compare May 26, 2026 15:28
@jira-pull-request-webhook
Copy link
Copy Markdown

Hooray! The files in the branch are the same across the force-push. 😃

~ Your Friendly Jira-GitHub PR Checker Bot

Copy link
Copy Markdown
Member

@macchiati macchiati left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The minimal pairs need to be supplied in the PR also.

@antonovegorv antonovegorv force-pushed the CLDR-19513-add-tajik-plural-rules branch from e157e80 to a80ab0a Compare May 26, 2026 16:16
@jira-pull-request-webhook
Copy link
Copy Markdown

Hooray! The files in the branch are the same across the force-push. 😃

~ Your Friendly Jira-GitHub PR Checker Bot

@antonovegorv
Copy link
Copy Markdown
Author

Added minimal pairs in tg.xml (cardinal one/other with verb agreement: кард vs карданд, same pattern as Persian).

@antonovegorv antonovegorv requested a review from macchiati May 26, 2026 16:25
Tajik is linguistically a variety of Persian written in Cyrillic script.
Its plural system is identical to Persian (fa):
- Cardinal: one (i = 0 or n = 1), other
- Ordinal: other (no ordinal distinction)
- Ranges: same as fa

Changes:
- plurals.xml: add tg to the fa group (one: i = 0 or n = 1)
- ordinals.xml: add tg to the "other only" group
- pluralRanges.xml: add tg to the fa group
- main/tg.xml: add pluralMinimalPairs for count="one"

Minimal pairs (cardinal):
- one: {0} нафар дар бозӣ ширкат кард. (singular verb)
- other: {0} нафар дар бозӣ ширкат карданд. (plural verb)

References:
- https://unicode-org.atlassian.net/browse/CLDR-19513
- nicksnyder/go-i18n#389
@antonovegorv antonovegorv force-pushed the CLDR-19513-add-tajik-plural-rules branch from a80ab0a to 679b607 Compare May 26, 2026 16:41
@jira-pull-request-webhook
Copy link
Copy Markdown

Notice: the branch changed across the force-push!

  • common/main/tg.xml is different

View Diff Across Force-Push

~ Your Friendly Jira-GitHub PR Checker Bot

@antonovegorv
Copy link
Copy Markdown
Author

Updated minimal pairs in tg.xml to match the JIRA ticket and PR description: {0} бача омад / {0} бача омаданд (verb agreement: singular vs plural).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants