Skip to content

[Bug] Deduplicate Simplified Chinese locale (zh_CN vs zh_Hans) #245

@mariobehling

Description

@mariobehling

The component currently contains two locale folders that both map to “Chinese (Simplified)” in Weblate, which leads to duplication/conflicts. Please keep a single canonical locale and remove the duplicate.

Details

  • Language: Chinese (Simplified Han script)

  • Language codes involved: zh_Hans, zh_CN

  • Files / Paths:

    • src/_locales/zh_Hans/messages.json
    • src/_locales/zh_CN/messages.json
  • First detected: ~2 months ago

  • Last seen: ~2 months ago

Proposed fix

Use zh_CN as the canonical locale (Chrome/extension i18n commonly supports zh_CN), and remove zh_Hans. Before removal, merge any newer strings from zh_Hans into zh_CN.

Tasks

  • Compare and merge any missing/new keys from src/_locales/zh_Hans/messages.jsonsrc/_locales/zh_CN/messages.json.
  • Delete src/_locales/zh_Hans/messages.json and the zh_Hans directory.
  • Verify there are no references to zh_Hans in build scripts, CI, or docs.
  • Update Weblate component configuration (file mask) so only the canonical path is tracked (e.g., src/_locales/*/messages.json) and ensure zh_Hans is not separately mapped.
  • Run localization/build checks and ensure the app loads the Simplified Chinese translation correctly.
  • (Optional) Add a lint/test guard to prevent adding multiple folders for languages mapped to the same Weblate language in the future.

Acceptance criteria

  • Only one Simplified Chinese locale remains (zh_CN).
  • Weblate shows a single language entry for Chinese (Simplified) without duplication.
  • Build/CI passes; runtime correctly loads Simplified Chinese strings.
  • No translation keys lost during the merge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions