Skip to content

i18n(store): add the zh-CN store listing and correct the language count - #296

Merged
jeiel85 merged 1 commit into
mainfrom
claude/fastlane-zh
Aug 9, 2026
Merged

i18n(store): add the zh-CN store listing and correct the language count#296
jeiel85 merged 1 commit into
mainfrom
claude/fastlane-zh

Conversation

@jeiel85

@jeiel85 jeiel85 commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Completes Chinese support on the last surface. #294 put seven UI languages in the app and #295 did the landing page and READMEs; the store metadata still described six languages and had no Chinese listing, so an F-Droid page in Chinese would have rendered in English while claiming six languages — one of which the app now speaks.

New

fastlane/metadata/android/zh-CN/short_description.txt, full_description.txt, and changelogs/124.txt.

Only the current changelog. F-Droid and Play show the latest note, and backfilling 25 historical changelogs into a locale that did not exist would be inventing a record rather than keeping one.

Corrected

The "6 languages" bullet becomes 7 in all six existing full_description.txt files.

Three locale lists, three different failures if missed

Where What it enforces
noteLocales in app/build.gradle.kts The release-notes export throws when a locale has no changelog for the versionCode. This is what actually holds the new locale in place from here on.
$StoreLocales in verify-release-notes.ps1 Pre-cut character check — Play caps notes at 500 per locale; zh-CN comes in at 124.
$StoreLocales in verify-release-export.ps1 Post-export check that every locale block reached the notes file.

AGENTS.md said "6 store locales" in four places and spelled out the locale tags in a fifth. Left alone, the next release would have followed that instruction, written six changelogs, and failed the export gate.

Standing cost this introduces

Every release from now on needs a zh-CN changelog or :app:exportReleaseToBuildDrive throws. That is the point of the gate, but it is a real per-release obligation and worth stating plainly rather than discovering at the next cut.

Verified

  • scripts/verify-release-notes.ps1 — 7 locales, all under the 500-char cap
  • Gradle configuration clean (:app:help)

One expected failure, deliberately not fixed

scripts/verify-release-export.ps1 now fails against the existing v2.32.2 export in D:\Build, which predates zh-CN:

릴리스 노트 로케일 (7개)
  FAIL  블록이 없는 로케일: zh-CN

Re-running the export would rewrite the AAB and the R8 mapping, and those have to keep matching the binary that actually shipped — D:\Build is the only permanent copy (D062/D064). The next release regenerates the notes file with all seven blocks and the check goes green on its own.

Not in this PR

No zh-CN/images/ (only en-US has a per-locale image set; the rest fall back to the default).

🤖 Generated with Claude Code

The app ships seven UI languages as of #294, but the store metadata still
described six and had no Chinese listing at all — so a Chinese F-Droid
page would have rendered in English while claiming the app speaks six
languages, one of which is now its own.

Adds `fastlane/metadata/android/zh-CN/` with a short description, a full
description, and the changelog for the current versionCode (124). Only
the current one: F-Droid and Play show the latest note, and backfilling
25 historical changelogs into a locale that did not exist would be
inventing a record rather than keeping one.

The "6 languages" line becomes 7 in all six existing full descriptions.

Three hard-coded locale lists had to learn zh-CN, and missing any one of
them breaks a different thing:

- `noteLocales` in app/build.gradle.kts — the release-notes export
  throws if a locale has no changelog for the versionCode, so this is
  what actually enforces the new locale from here on.
- `$StoreLocales` in verify-release-notes.ps1 — the pre-cut character
  check (Play caps notes at 500; zh-CN comes in at 124).
- `$StoreLocales` in verify-release-export.ps1 — the post-export check
  that every locale block reached the notes file.

AGENTS.md said "6 store locales" in four places and listed the locale
tags in a fifth. Left as-is, the next release would have followed that
instruction, written six changelogs, and failed the export gate.

Note for the next cut: verify-release-export.ps1 now fails against the
*existing* v2.32.2 export in D:\Build, which predates zh-CN. That is
expected and was left alone deliberately — re-running the export would
rewrite the AAB and R8 mapping, and those have to keep matching the
binary that actually shipped. The next release regenerates the file with
all seven blocks.

Verified: verify-release-notes.ps1 passes on 7 locales, gradle
configuration is clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@jeiel85
jeiel85 merged commit 5952c70 into main Aug 9, 2026
5 checks passed
@jeiel85
jeiel85 deleted the claude/fastlane-zh branch August 9, 2026 23:37
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.

1 participant