Post

Replies

Boosts

Views

Activity

How to use base localization with xcstrings
Before migrating to xcstrings for i18n, our project used Xcode's base localization. We want to preserve that pattern after the migration, but haven't found a clean way to do it. First attempt — a "base" identifier in both the project configuration and the xcstrings files. This fails: the compiler inconsistently emits either a base.lproj or a Base.lproj folder, and the casing mismatch breaks the App Store Connect upload. Fallback — a "und" entry, "Undetermined" under ISO 639-2, which Apple documents as a valid language identifier. This behaves correctly at every visible step: the build generates a und.lproj folder, as expected; the ASC upload succeeds with no warning; "Undetermined" appears in the ASC list of available languages; the build is downloadable on TestFlight and distributable on the App Store, with no warning. But there's one silent failure: once a "und" build is shipped, the app/version becomes invisible — on the App Store, on iOS, and on the website. We currently work around this by stripping every "und" entry from the project before shipping. But we genuinely need the base-localization pattern, and this manual removal isn't something we're comfortable relying on. Is there a supported way to keep a neutral/base localization in xcstrings that both passes ASC upload and stays visible on the store?
3
0
656
4w
How to use base localization with xcstrings
Before migrating to xcstrings for i18n, our project used Xcode's base localization. We want to preserve that pattern after the migration, but haven't found a clean way to do it. First attempt — a "base" identifier in both the project configuration and the xcstrings files. This fails: the compiler inconsistently emits either a base.lproj or a Base.lproj folder, and the casing mismatch breaks the App Store Connect upload. Fallback — a "und" entry, "Undetermined" under ISO 639-2, which Apple documents as a valid language identifier. This behaves correctly at every visible step: the build generates a und.lproj folder, as expected; the ASC upload succeeds with no warning; "Undetermined" appears in the ASC list of available languages; the build is downloadable on TestFlight and distributable on the App Store, with no warning. But there's one silent failure: once a "und" build is shipped, the app/version becomes invisible — on the App Store, on iOS, and on the website. We currently work around this by stripping every "und" entry from the project before shipping. But we genuinely need the base-localization pattern, and this manual removal isn't something we're comfortable relying on. Is there a supported way to keep a neutral/base localization in xcstrings that both passes ASC upload and stays visible on the store?
Replies
3
Boosts
0
Views
656
Activity
4w