Hi,
I'm migrating my project from the old .strings files to String Catalogs (.xcstrings files). Everything is migrating over fine except for my custom intents. Right now the localization files for my custom intents all live "under" the definition file like so:
But there is no option to migrate to a string catalog. I even tried removing the localization files, and re-adding them using the "Localize..." button, but that just creates the old .strings files, not the new string catalog.
Is this not supported yet for intents definitions? I can't find any documentation about this. It would be a real shame to have part of my app on string catalogs and this one piece on the old Localizable.strings format.
Localization
RSS for tagLocalization is the process of adapting and translating your app to multiple languages.
Posts under Localization tag
86 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
I'm writing an iOS app that shares content with buddies. So my app will run in one language but the shared content will use the locale configured for the buddy.
I found this Apple documentation which suggests that locale: (Locale(identifier: is the solution.
Apple Documentation
But I can't get it to work.
Here's sample code.
struct LocalizationDemoView: View {
@State var isEnglish = true
var body: some View {
var myLocale: String { isEnglish ? "en": "de" }
VStack {
Toggle("Switch language", isOn: $isEnglish).frame(maxWidth: 200)
HStack {
Text("\(myLocale): ")
Text(String(localized: "Hello world!", locale: (Locale(identifier: myLocale)), comment: "To share"))
}
}
}
}
And here's the excerpt from the string catalog:
{
"sourceLanguage" : "en",
"strings" : {
"Hello world!" : {
"comment" : "To share",
"localizations" : {
"de" : {
"stringUnit" : {
"state" : "translated",
"value" : "🇩🇪 Moin Welt!"
}
},
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "🇬🇧 Hello world!"
}
}
}
}
}
}
Has Apple reduced support for string catalogs or is my code wrong?
Xcode 16.4 compiled on MacOS 15.6.1, device iOS 18.6.2
Hi,
My iOS app's home screen widget content was implemented to base on the preferred language of my main app (e.g. my app has the following preferred language options with this order English, Japanese, Traditional Chinese, Korean, Simplify Chinese).
Say the main app is currently using English as their preferred language, I can change the preferred language in the iOS Settings -> Apps -> My App -> Preferred Language.
My widget's content will respect to the preferred language option that I selected with only exception if I switch back to English language and my Widget's content won't get updated. The Main app content is always update with respect to the selected preferred language.
My app and widget is working without any issue in iOS 18.
Other things that I had discovered during my testing under iOS 26, the "first" language appeared in my preferred language always being the issue (e.g. if the first language is Japanese , once I change to other languages and than switch back to Japanese, my widget content won't respect to this but the main app content are ok).
Any one has a similar issues regarding the preferred language?
Topic:
App & System Services
SubTopic:
Widgets & Live Activities
Tags:
Internationalization
Localization
I am trying to localize the CFBundleDisplayName and OSBundleUsageDescription of a driver that is part of an app.
I am able to use InfoPlist.strings files to localize the Bundle display name for the app, but when I try to use the same file as part of the driver, the name displayed in settings for the app does not change correctly.
In fact, it seems to follow the default language set in the xcode project. If the default language is not included in the suite of InfoPlist.strings files, it seems to take the string from the info.plist file. sometimes it just seems to take the English version regardless of the default language or tablet language.
Has anyone had success with this?
The first-party Apple Translate app will switch the on-screen keyboard to the selected language, even when the keyboard for that language is NOT added in Settings > General > Keyboards.
We'd like to mirror this behavior and switch the keyboard for input based on a user-selected language from a drop-down without the user needing to add that language to Keyboards
I'm struggling to find if this behavior is achieved via a public API. Any insights here?
I'm working on localizing my prompts to support multiple languages, and in some cases my prompts has String interpolated Generable objects. for example:
"Given the following workout routine: \(routine), suggest one additional exercise to complement it."
In the Strings dictionary, I'm only able to select String, Int or Double parameters using %@ and %lld.
Has anyone found a way to accomplish this?
We are building a Multi-Lingual Business Application -- where the user is able to enter values and data in multiple languages.
One of our main use cases is, if a user is editing or adding to a text value or data that is in a different language. For example, the data they are editing could be in Japanese, and the user's current input language is set to English, then when they enter the editing mode, the input language is automatically set to Japanese by us -- programmatically. They can go back to editing English items, and the input language is changed back to English, and similarly, when they come back to edit the Japanese data or some German data, then the input language is again automatically changed to the respective language by the application -- without causing the user to manually go to the settings and change it.
Is there any current way to have this behaviour in MacOS and iOS now?
Please suggest what can be done to achieve the same.
Hi.
I have chosen a name for my new app, which isn't available in "English U.S.". When uploading it to TestFlight using Xcode, I get.
The app name you entered is already being used. If you have trademark rights to this name and would like it released for your use, submit a claim.
I changed the primary (and only) language from "English U.S." to "English U.K." and the app name is now accepted by App Store Connect. The app is supposed to be worldwide available and doesn't target any specific geographical region. It's also only available in English (no localizations).
Are there any disadvantages using "English U.K." i.s.o. "English U.S."?
What are the differences between both when it comes to App Store presentation, ranking, search, ...
I don't really see why Apple offers 4 English languages. Every style understands the other one, despite some minor spelling differences.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store
App Store Connect
Localization
When using Foundation Models, is it possible to ask the model to produce output in a specific language, apart from giving an instruction like "Provide answers in ." ? (I tried that and it kind of worked, but it seems fragile.)
I haven't noticed an API to do so and have a use-case where the output should be in a user-selectable language that is not the current system language.
We’re looking to localize our App Store listing with different metadata (app name, description, etc.) for India and the UAE, both in English.
In Xcode, we’ve already added .lproj folders for en-IN (English - India) and en-AE (English - UAE), and confirmed that the localized content is present in the bundle. However, when uploading to App Store Connect, we do not see English (India) or English (UAE) as available storefront metadata options.
This is a problem because our current English (UK) metadata is UAE-specific (includes VAT, TRN, etc.), but users in India are seeing that same listing, even though it doesn’t apply to them (India uses GST, e-way bill, etc.).
Our questions:
1. Are region-specific English variants like en-IN or en-AE supported for App Store metadata localization?
2. If not, is there an alternative way to offer different storefront experiences (e.g., name, description) for India and UAE?
3. Can this be achieved via custom store territories or another mechanism?
Our goal is to tailor the App Store listing specifically for users in India and UAE, both in English.
In iOS 26, AVSpeechSynthesizer read Mandarin into Cantonese pronunciation.
No matter how you set the language, and change the settings of my phone system, it doesn't work.
let utterance = AVSpeechUtterance(string: "你好啊")
//let voice = AVSpeechSynthesisVoice(language: "zh-CN") // not work
let voice = AVSpeechSynthesisVoice(language: "zh-Hans") // not work too
utterance.voice = voice
et synth = AVSpeechSynthesizer()
synth.speak(utterance)
Topic:
Media Technologies
SubTopic:
General
Tags:
Speech
Internationalization
Localization
AVFoundation
Just repro'd in the latest Xcode 26 Beta 3. Building an iOS app using xcstrings for localization.
We have a URL that uses percent encoding for a query param. For example:
Upon compiling in the latest Xcode 26 beta this fails with:
Unable to create a Swift type from the format specifier “%20S”.
This was not the case in prior Xcode versions.
Why is "generate comment" button grayed out?
I'm running macOS Tahoe Beta 2, Xcode 26 Beta 2
Apple intelligence on both system preferences as well as Xcode are enabled
Created fresh Xcode project to test it (happens on my older project too)
Xcode Preferences -> Editing -> Automatically generate string catalog comments (tried with ON/OFF)
Tried to CMD+B to re-index project
Not sure what else to try.
In WWDC25 Video "Explore localization with Xcode" they show how to use generated symbols from string catalogs. This is a great feature and I'd like to use it. However most of my code is split across smaller SPM packages.
In the video they say at 19:20:
Finally, generated symbols help you avoid boilerplate code in frameworks and packages.
I've been able to use the refactoring tool to convert strings from my catalog to use generated symbols. Afterwards the code doesn't compile anymore:
Type 'LocalizedStringResource' has no member ''
Unfortunately the video only showcases this for frameworks but not for packages. Since they clearly speak about packages I'd like to learn how to use the feature for my packages.
If I do this:
NSString *name = @"Jim";
NSMenuItem *menuItem = [[NSMenuItem alloc]init];
// Analyze does show localization warning when format string is used.
menuItem.title = [NSString stringWithFormat:@"Hello %@",name];
I expect to get the following warning:
User-facing text should use localized string macro
But I don't. However if I do this:
menuItem.title = @"What";
I do get the warning about localization as expected and as desired when I run Analyze. Is this considered a bug?
Thanks!
Xcode automatically generates an InfoPlist.xcstrings file for all targets, even framework targets. In frameworks, this doesn't include any user-facing content - it only has the bundle name and the copyright string. But neither of these are going to be used by users.
Is there a way to tell Xcode that it doesn't need to generate these xcstrings files for content that is not user-facing?
I need to display a different app name based on the user's region/language. This setup works correctly for regions like the United Kingdom, Australia. However, for Singapore, the app always falls back to the UK version (en-GB) instead of picking the localized name defined under en-SG. Interestingly, system alerts like location permission and app deletion do use the en-SG localization correctly.
Could you help identify why the app name isn't picking up the en-SG version and suggest how we can resolve this?
I initially released my app in English only and after about a year I added support for 4 more languages, now English is not being shown in the list of languages on the App Store. The primary language in App Store Connect is English (U.K.). The app seems to work fine, the content is being shown in English for me. Anyone know how I could fix this?
Topic:
App Store Distribution & Marketing
SubTopic:
General
Tags:
App Store
App Store Connect
Localization
Hello,
I am trying to localize my app in other languages. Most of the text are automatically extracted by Xcode when creating a string catalog and running my app.
However I realized few texts aren't extracted, hence I find a solution for most of them by adding
For example I have some declared variable as
var title: String = "Continue"
Hence for them to be trigger I changed the String by LocalizedStringResource which gives
var title: LocalizedStringResource = "Continue"
But I still have an issue with some variables declared as an array with this for example
@State private var genderOptions = ["Male", "Female", "Not Disclosed"]
I tried many things however I don't success to make these arrays to be translated as the word here "Male", "Female" and "Not Disclosed".
I have more array like that in my code and I am trying to find a solution for them to be extracted and be able to be localized
Few things I tried that doesn't worked
@State private var genderOptions : LocalizedStringResource = ["Male", "Female", "Not Disclosed"]
@State private var genderOptions = [LocalizedStringResource("Male"), LocalizedStringResource("Female"), LocalizedStringResource("Not Disclosed")]
Any idea more than welcome
Thank guys
Hi all,
I have repeatedly the issue that a certain .strings file in my app's bundle has the extended files attribute com.apple.quarantine set. Consequently the submission fails with the following mail notification:
We noticed one or more issues with a recent delivery for the following app:
[...]
ITMS-91109: Invalid package contents - The package contains one or more files with the com.apple.quarantine extended file attribute, such as “abcdef.strings”. This attribute isn’t permitted in macOS apps distributed on TestFlight or the App Store. Please remove the attribute from all files within your app and upload again.
I'm able to resubmit the bundle after cleaning the file attribute via xattr -d -r com.apple.quarantine..., but the funny thing is it happens again and again - on a .strings file which hasn't been downloaded (but manually created), shouldn't be under Gatekeeper's quarantine, and wasn't edited in the meantime.
Is anybody else observing the same issue with macOS 15.4.1, Xcode 16.3?
Greetings, Matthias
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
Files and Storage
Localization