Skip to content

🌐(i18n) rename cn_CN to zh_CN, add eo_PL and zh_TW locales#2486

Merged
AntoLC merged 1 commit into
suitenumerique:mainfrom
exyone-js:main
Jul 21, 2026
Merged

🌐(i18n) rename cn_CN to zh_CN, add eo_PL and zh_TW locales#2486
AntoLC merged 1 commit into
suitenumerique:mainfrom
exyone-js:main

Conversation

@exyone-js

Copy link
Copy Markdown
Contributor

i18n: fix zh locale codes and add Esperanto

  • Rename cn-CNzh-CN (correct BCP 47 language code)
  • Introduce zh-TW for Traditional Chinese (Taiwan conventions)
  • Add Esperanto (eo)
    • No ISO country exists for Esperanto
    • Creator Zamenhof was Polish → use eo-PL as a placeholder
    • Analogous to la-IT for Latin
  • Region tags are administrative, not linguistic variants

@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4224f727-7b71-4034-9bbb-c4eb17f70803

📥 Commits

Reviewing files that changed from the base of the PR and between 692b1f4 and 126818f.

📒 Files selected for processing (6)
  • CHANGELOG.md
  • documentation/languages-configuration.md
  • src/backend/locale/cn_CN/LC_MESSAGES/django.po
  • src/backend/locale/eo_PL/LC_MESSAGES/django.po
  • src/backend/locale/zh_CN/LC_MESSAGES/django.po
  • src/backend/locale/zh_TW/LC_MESSAGES/django.po
💤 Files with no reviewable changes (1)
  • src/backend/locale/cn_CN/LC_MESSAGES/django.po

Walkthrough

This pull request adds Esperanto and Traditional Chinese Django gettext catalogs, updates Simplified Chinese translations, removes the previous cn_CN catalog content, and updates the supported-language documentation and changelog with the new locale names and codes.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: antolc, lunika

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the locale renaming and the addition of the Esperanto and Traditional Chinese locales.
Description check ✅ Passed The description matches the pull request's i18n locale-code updates and new locale additions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/backend/locale/eo_PL/LC_MESSAGES/django.po`:
- Around line 44-46: The translation for the “Tree structure” msgid in the eo_PL
django.po catalog uses a misleading forest-related phrase. Update the msgstr for
that entry to a tree-specific Esperanto term such as Arbostrukturo or arba
strukturo, keeping the existing msgid unchanged and making sure the locale entry
in the gettext catalog matches the UI label used by core/admin.py.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: e26af987-ce0a-450b-8310-9f00b06d713a

📥 Commits

Reviewing files that changed from the base of the PR and between 6ec541f and 78aea72.

📒 Files selected for processing (4)
  • src/backend/locale/cn_CN/LC_MESSAGES/django.po
  • src/backend/locale/eo_PL/LC_MESSAGES/django.po
  • src/backend/locale/zh_CN/LC_MESSAGES/django.po
  • src/backend/locale/zh_TW/LC_MESSAGES/django.po
💤 Files with no reviewable changes (1)
  • src/backend/locale/cn_CN/LC_MESSAGES/django.po

Comment thread src/backend/locale/eo_PL/LC_MESSAGES/django.po

@AntoLC AntoLC left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thank you for your contribution 🎉

@AntoLC AntoLC changed the title 🇨🇳(i18n) rename cn_CN to zh_CN, add eo_PL and zh_TW locales 🌐(i18n) rename cn_CN to zh_CN, add eo_PL and zh_TW locales Jul 21, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@documentation/languages-configuration.md`:
- Line 123: Update the eo_PL entry in the language configuration documentation
to state that eo-pl is an administrative project locale identifier using
Poland’s code because Esperanto has no associated country code, not a
Poland-specific linguistic variant.

In `@src/backend/locale/zh_CN/LC_MESSAGES/django.po`:
- Around line 240-245: Update the Chinese translations for “first connection
status” and “Whether the user has completed the first connection process.” in
the locale catalog to preserve the source meaning of first connection, using
“首次连接” wording rather than “首次登录,” unless the product explicitly defines the
field as login-specific.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 8e4fa6fa-20d6-4314-aaa9-8f28059ed3b5

📥 Commits

Reviewing files that changed from the base of the PR and between 78aea72 and 6fe438f.

📒 Files selected for processing (5)
  • documentation/languages-configuration.md
  • src/backend/locale/cn_CN/LC_MESSAGES/django.po
  • src/backend/locale/eo_PL/LC_MESSAGES/django.po
  • src/backend/locale/zh_CN/LC_MESSAGES/django.po
  • src/backend/locale/zh_TW/LC_MESSAGES/django.po
💤 Files with no reviewable changes (1)
  • src/backend/locale/cn_CN/LC_MESSAGES/django.po

- `cn_CN` - Chinese (China) - *Note: Use `zh-cn` in DJANGO_LANGUAGES*
- `de_DE` - German (Germany) - Use `de-de`
- `en_US` - English (United States) - Use `en-us`
- `eo_PL` - Esperanto - Use `eo-pl`

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Document that eo-pl is an administrative placeholder.

Because Esperanto has no associated country code, clarify here that eo-pl is a project locale identifier using Poland administratively—not a Poland-specific linguistic variant.

Suggested clarification
 - `eo_PL` - Esperanto - Use `eo-pl`
+  (`eo-pl` uses `PL` as an administrative placeholder; it is not a regional Esperanto variant.)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@documentation/languages-configuration.md` at line 123, Update the eo_PL entry
in the language configuration documentation to state that eo-pl is an
administrative project locale identifier using Poland’s code because Esperanto
has no associated country code, not a Poland-specific linguistic variant.

Comment on lines 240 to +245
msgid "first connection status"
msgstr ""
msgstr "首次登录状态"

#: core/models.py:201
msgid "Whether the user has completed the first connection process."
msgstr ""
msgstr "标识用户是否已完成首次登录引导流程。"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Preserve the “first connection” meaning.

The source says “first connection process,” but this translation changes it to “首次登录” (“first login”). Use wording such as “首次连接状态” and “首次连接引导流程” unless the product intentionally defines this field as login-specific.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/backend/locale/zh_CN/LC_MESSAGES/django.po` around lines 240 - 245,
Update the Chinese translations for “first connection status” and “Whether the
user has completed the first connection process.” in the locale catalog to
preserve the source meaning of first connection, using “首次连接” wording rather
than “首次登录,” unless the product explicitly defines the field as login-specific.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@documentation/languages-configuration.md`:
- Line 135: Update the zh_TW language entry to explicitly identify it as
Traditional Chinese, using wording such as “Traditional Chinese (Taiwan)” or
“Chinese (Traditional, Taiwan)”, while preserving the existing zh-tw code.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5dfff96f-8021-40bf-abb3-8f4ea6d6704a

📥 Commits

Reviewing files that changed from the base of the PR and between 6fe438f and 692b1f4.

📒 Files selected for processing (6)
  • CHANGELOG.md
  • documentation/languages-configuration.md
  • src/backend/locale/cn_CN/LC_MESSAGES/django.po
  • src/backend/locale/eo_PL/LC_MESSAGES/django.po
  • src/backend/locale/zh_CN/LC_MESSAGES/django.po
  • src/backend/locale/zh_TW/LC_MESSAGES/django.po
💤 Files with no reviewable changes (1)
  • src/backend/locale/cn_CN/LC_MESSAGES/django.po

Comment thread documentation/languages-configuration.md Outdated
We have renamed the Chinese locale from `cn_CN`
to `zh_CN` to align with standard locale naming
conventions.
Additionally, we have added support for two new
locales: Esperanto (`eo_PL`) and
Traditional Chinese (`zh_TW`).
@AntoLC
AntoLC merged commit 126818f into suitenumerique:main Jul 21, 2026
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants