The build-free String Catalog generation lane (generate_strings_catalog, added in #25688) can extract SwiftUI Text("literal") strings via xcstringstool extract --SwiftUI-Text, but it's gated behind a swiftui: parameter and off by default. This issue tracks turning it on.
Why it's off today
The app currently has ~94 Text("…") literals but only 16 Text(verbatim:). With --SwiftUI-Text on, xcstringstool would extract every Text("…") literal — including non-translatable ones like single glyphs/characters (Text("Aa"), Text("A")) — and feed them to translators as garbage. So it's a deliberate coverage expansion that needs a cleanup pass first.
What's needed
- Audit the
Text("…") literals and convert the non-translatable ones (glyphs, single characters, symbols, non-words) to Text(verbatim:), so they're correctly excluded from extraction.
- Enable extraction — pass
swiftui: true to generate_strings_catalog (flips --SwiftUI-Text on in extract_stringsdata).
References
Until this lands, SwiftUI Text("…") strings are not extracted or localized by the catalog pipeline (the legacy genstrings / AppLocalizedString paths are unaffected).
The build-free String Catalog generation lane (
generate_strings_catalog, added in #25688) can extract SwiftUIText("literal")strings viaxcstringstool extract --SwiftUI-Text, but it's gated behind aswiftui:parameter and off by default. This issue tracks turning it on.Why it's off today
The app currently has ~94
Text("…")literals but only 16Text(verbatim:). With--SwiftUI-Texton,xcstringstoolwould extract everyText("…")literal — including non-translatable ones like single glyphs/characters (Text("Aa"),Text("A")) — and feed them to translators as garbage. So it's a deliberate coverage expansion that needs a cleanup pass first.What's needed
Text("…")literals and convert the non-translatable ones (glyphs, single characters, symbols, non-words) toText(verbatim:), so they're correctly excluded from extraction.swiftui: truetogenerate_strings_catalog(flips--SwiftUI-Texton inextract_stringsdata).References
fastlane/lanes/localization_catalog.rb— theswiftui:flag and theextract_stringsdatacomment.Until this lands, SwiftUI
Text("…")strings are not extracted or localized by the catalog pipeline (the legacygenstrings/AppLocalizedStringpaths are unaffected).