Skip to content

Fix localized app display names on Chinese systems - #168

Merged
sudoHG merged 1 commit into
mainfrom
sudoHG/167-localized-app-name
Oct 8, 2026
Merged

sudoHG merged 1 commit into
mainfrom
sudoHG/167-localized-app-name

Conversation

@sudoHG

@sudoHG sudoHG commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Closes #167

Summary

Set the generated bundle's base name and display name to Ask Key, enable localized display names, and declare English as the development region so macOS can use the existing Chinese name 请旨.
Align the authentication test fixture and add a build-free Automation regression test for the generated plist.
Document the Chinese/English Finder and Touch ID pre-release checks, including the Launch Services cache caveat.

Diff stat

git diff --stat origin/main: 4 files changed, 50 insertions, 4 deletions.

  • scripts/build-app.sh: update only the four display-name/localization plist keys.
  • Tests/Automation/test_app_info_plist.py: extract the plist heredoc, validate it with plutil, and assert the four keys without running the build script.
  • Tests/AskKeyAppTests/ManagementAuthenticationProcessTests.swift: align the fixture plist.
  • docs/testing.md: add the maintainer's language checks.

Tests

Base: 4cbd12b8cf72717b25965cddf089e687003d335e; head: 44414d2a49a44b9567ff6d36e02d157e750e6fb4.

Command Result
swift build Passed, exit 0.
swift test --filter 'AppLanguageCatalogTests|ManagementAuthenticationProcessTests' 16 passed, 0 failed, 0 skipped (6 catalog + 10 authentication process tests).
python3 -m unittest discover -s Tests/Automation 183 passed, 0 failed, 0 skipped.
New Automation test against the base script, using a temporary fixture Expected failure on AskKey versus Ask Key; the same test passes on this branch.

Base CI has the same 16 focused Swift tests and 182 Automation tests; this change adds one Automation test and changes no Swift test count. The base full Swift suite executed 1,085 tests: 1,082 passed, 0 failed, 3 expected opt-in skips. The full suite and required desktop flows run in PR CI; local execution was limited to the affected suites.

PR CI run 37792209174, for head 44414d2, passed both required jobs:

  • build-and-test: passed in 12m10s. Full Swift suite: 1,085 executed, 1,082 passed, 0 failed, 3 skipped. Automation: 183 passed, 0 failed, 0 skipped. Release-symbol, optimized cancellation, development-launcher, hygiene, and module-dependency checks all passed.
  • basic-ui-flows: passed in 10m53s. Required desktop flows: 15 passed, 0 failed, 0 skipped; the E2E gate passed.

The full Swift count and all three skip names/reasons match the base CI: CodexCLIContractTests.testInstalledCodexMCPAddGetJSONContractUsesIsolatedConfiguration (explicit installed-client opt-in), LegacyFileWriteTransactionTests.testAbruptFileCommitProcess (isolated crash-subprocess entry), and NativeBootstrapFixtureGenerationTests.testGenerateSyntheticNativeBootstrapFixtures (explicit synthetic fixture generation).

Checks

  • bash scripts/build-app.sh Debug: passed, exit 0, with task-local DerivedData. The generated bundle was not launched or installed.
  • plutil -lint .build/AskKeyApp.app/Contents/Info.plist: OK.
  • /usr/libexec/PlistBuddy -c 'Print :LSHasLocalizedDisplayName' .build/AskKeyApp.app/Contents/Info.plist: true.
  • /usr/libexec/PlistBuddy -c 'Print :CFBundleName' .build/AskKeyApp.app/Contents/Info.plist: Ask Key.
  • /usr/libexec/PlistBuddy -c 'Print :CFBundleDisplayName' .build/AskKeyApp.app/Contents/Info.plist: Ask Key.
  • /usr/libexec/PlistBuddy -c 'Print :CFBundleDevelopmentRegion' .build/AskKeyApp.app/Contents/Info.plist: en.
  • python3 scripts/check_hygiene.py: passed, all violation counts 0.
  • python3 scripts/check_module_deps.py: passed.
  • git diff --check: passed. Product identifiers, app bundle filename, executable, command, data/keychain namespaces, AppLanguage.technicalName, and localized InfoPlist.strings values are unchanged.
  • Disk checks passed before builds/tests (minimum observed before a build: 119 GiB free; after cleanup: 120 GiB free; final handoff check: 115 GiB free). After reading results and checking lsof, task build products and the temporary build log were deleted, freeing about 1.8 GiB. No task build/test process remains; unrelated pre-existing simulator services were left alone.
  • NOT_RUN: real Finder and Touch ID language checks. These remain the maintainer's next-release checks, as specified by Show the app as 请旨 on Chinese systems #167. No local desktop E2E, screenshots, installation, or production access was performed.

Deviations and questions

None.

@sudoHG
sudoHG merged commit 3d63999 into main Oct 8, 2026
2 checks passed
@sudoHG
sudoHG deleted the sudoHG/167-localized-app-name branch October 8, 2026 15:01
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.

Show the app as 请旨 on Chinese systems

1 participant