Repository navigation
Fix localized app display names on Chinese systems - #168
Merged
Merged
Conversation
This was referenced Oct 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 withplutil, 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.swift buildswift test --filter 'AppLanguageCatalogTests|ManagementAuthenticationProcessTests'python3 -m unittest discover -s Tests/AutomationAskKeyversusAsk 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: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), andNativeBootstrapFixtureGenerationTests.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 localizedInfoPlist.stringsvalues are unchanged.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.Deviations and questions
None.