

Since App Connect will also ask you for keywords, make sure you come up with a list of keywords> for your translation team to localize. You'll definitely want to have your app description for the App Store localized as well. strings files, both from Interface Builder and coded strings from Xcode, and those go to the iOS localization team you hire. String(localized: "My frameworks", bundle: Bundle(for: lf), comment: "heading localized by framework") But if you need to refer to another app's bundle or a framework, you can do that by including the optional call to a bundle: String(localized: "Favorite foods", tableName: "favorites", comment: "heading for list of favorite foods")Īt export, you'll get a favorites.strings created as well.īy default, Xcode looks at your. strings into separate files, you do that by adding a tableName to the String() call: Not there? It will just use the Base development language en.proj. So if your user's preferred language is French Canadian, iOS checks for: fr-CA.lproj. And finally, ultimately, your development language, likely English. If that's not there, a generic of your user's preferred language. Note: How iOS determines which language to show - TL DR It looks for a localization of your user's preferred dialect. While you see the Localizable.strings file for, say, your French translation, the English one is not there by default. But where is your English (or whatever your development language is)? Base localization will take care of getting your "default" English texts straight from the code. Now that you've set up localization, you'll notice that Xcode shows Localizable.strings files for your translations.
#Iphone xcode update
Then make sure to update the text for English in the strings file. In other languages, these two words are certain to be different! If you have two strings like "Clear" that have different meanings, change the string to a unique key like "lor" and "lete". That will ensure that you can translate a string like "Clear" as both a button to remove text, AND as an adjective describing the color of something. Remember, they'll be seeing it totally out of context and your helpful hint here is all they have! Knowing that a text is a title or a button, a noun or a verb, can be very helpful.Īlso note that strings should be absolutely unique. Since you will need to add the String(localized:"") or NSLocalizedString call to every string a user sees, take an extra moment to tell the translators what this string is for. That means you'll want to change all user-facing strings to:Īlways include a helpful comment for the translators. Let's begin by making sure your coded strings are ready for iOS localization. If you're still programming in Objective-C, note that the correct macro is NSLocalizedStringWithDefaultValue. Any string your user will see needs to be wrapped in String(localized:"") (Xcode 13 and above), or the older NSLocalizedString macro if using Xcode 12.x or earlier.
