I'm planning to release an international app so I want to provide localization for all the supported languages on the iPhone. Does there exist such a list?
And what would you think would be a bare minimum of languages supported?
The official list of supported iPhone languages is in Settings app > General > International > Language.
I think you'll find this page useful:
http://www.small-apps.com/2012/02/which-language-where/?lang=en
It basically lists all languages supported by the App Store for localization of the app description. The problem is that most languages are not officially supported, so they all fall back to a default language (eg. both Norwegian and Polish show the UK English description).
I would say the bare minimum is English. The recommended minimum is EFIGS: English, French, Italian, German and Spanish. And if you want to reach everyone, you localize for all 18 languages supported by the App Store.
Related
This is my problem. I have this simplified chinese and spanish translations that I am about to add to my application. When adding these localizations to my app I am presented with a list of locales like
Simplified Chinese China
Simplified Chinese Macau
Simplified Chinese Hong Kong
Simplified Chinese Singapure
Traditional Chinese China
Traditional Chinese Macau
Traditional Chinese Hong Kong
Traditional Chinese Singapure
and I have also an option that is just Chinese.
The same happens to spanish, a lot of specific spanish options plus just spanish.
How does this work? I mean, is this option Chinese a kind of "wild card" that will work for all people speaking chinese, independently if their devices are set for tradidional or simplified in any country speaking chinese?
You can read all about the variations of Chinese here: Varieties of Chinese. Bottom line is that different variants relate to geography and geopolitics, so be careful and make sure the translation you are getting is one you want.
The situation is similar with Spanish. Plain ("es") is presumed to be European Spanish. See Spanish Dialects and Varieties for more info.
To your question, "ES" is generic, in the sense that it will be the fallback Spanish language on the device. If you only have a localization for ES, then that localization will be chosen whether you select "Spanish" or "Spanish (Mexico)". From linguistic standpoint, the common meaning for "ES" is European Spanish.
With Chinese, the story is a bit different. There is no generic Chinese to fall back to. If you intend to target mainland China, go for Chinese (Simplified). If you want to target Chinese population outside China, simplest choice is Chinese (Traditional).
Lately I have been trying many different keywords in an attempt to find a good search niche for a new game project I've taken on. Running out of ideas, I've started trying seriously random words. Occasionally I forget to update all of the localizations at once, and only update the UK English localization, and this has led to odd behavior.
Currently, I do not have an "English" localization for this game, but I do have a UK English localization which is set at the "Default". However, the UK English localization's keywords are not being used in the US app store, even though the UK English localization's description is used.
I can tell because I tried a few keywords completely unrelated to my app, words not used in my description, or app title, and completely unrelated to my game but when I changed the UK Localization to remove them about a week later, I forgot to change the many other localizations. The other localizations include French, German, Italian, Japanese, Korean, Russian, Simplified Chinese, Spanish, Thai and Traditional Chinese.
This leads me to believe that the keywords and descriptions of localizations are handled very differently by the app store search engine.
I can think of three possibilities for when you lack a certain localization:
• Keywords from all localizations are used for the store that doesn't have a localization. (This doesn't seem likely, I don't rank for "的朋友" for example even though it is a keyword in my Chinese localization)
• Keyword list is chosen at random from available localization (Also doesn't seem programmatically likely)
• Keyword list is chosen from first list in alphabetically sorted localizations list (Possible, as French is the first localization alphabetically and did still hold these unrelated keywords)
Has anyone seen similar behavior, or could maybe shed some light on what's going on here?
OK so I have been working on an app that will be available in multiple languages.
I have managed to get it working in the main languages, such as French, German, Spanish and English.
I have also now managed to get the app to use different regions within a language such as en_GB, en_US etc etc so all is good - thanks to this guide:
http://hamishrickerby.com/2010/07/23/iphone-ipad-localizations-regions/
One of the most important languages for me is Welsh. Apple allows me to set my iPhone to welsh by choosing British English as my language and region format as Welsh (United Kingdom).
I have created the Welsh language localisation within my app and translated my bits but I don't seem to be able to apply it.
My idea was that if the users language was set to British English that I could have a button on the main view that would allow the user to chose Welsh. Is this possible and what would be the best way to implement it.
Ideally if the user has already set their language to British english and has the region format to welsh they will get the welsh language version of the app just like the french would automatically get the french language version and the spanish will get the spanish version of the app etc but as most welsh speaking users will have their phone set to United Kingdom as they are not aware of the Welsh Region setting in iOS.
I would like the app to detect if the current language is British English and display a button on the home screen where the user can switch to Welsh Language. I have managed to display this button (only if user language is British English) but have no idea how to link it to change the language?
Anyone have any ideas or maybe a suggestion on the best way to implement my goal.
Thanks in advance.
Unfortunately, as you've identified, Welsh isn't a fully supported language on iOS. Until Apple supports it properly, you'll have to implement a bit of a workaround.
It seems as though the main solution is to have both English and Welsh .strings files (like you would with other languages), but manually load the required language, using
[[NSBundle mainBundle] localizedStringForKey:yourString value:#"" table:#"Welsh"];
#"Welsh" could be another language there, depending on what you want to load. You'll have to implement some control within your app so that users can change the language themselves. Check out the example project linked to in this blog post by translation company Applingua - it shows one way of encapsulating this code into a language provider class.
Thanks to #Jano, I know how to localize application strings based on the country in which the application is running - in my question : How to localize text based on criterion other than language. The answer is to take these strings out of the Settings.bundle and bring them into the application, where they can be localized in whatever manner the developer requires.
My question now is: is it possible to localize the application name (the name under the app icon) using a criterion other than language? I think that doing this on a language basis is well understood - there are several questions and answers on Stack Overflow and elsewhere which discuss localizing the BundleDisplayName.
But my customer would like to give the application a different name in the various European countries in which he expects to market it, and some of these countries (Germany, Austria, Switzerland), share a language.
Xcode allow you to add de-AT, de-DE and de-CH localization files, but I have just tried this out and looks like it has no effect. I tried to change device language to German and then switch region format between Austria, Germany and Switzerland, but the bundle display name didn't change from English. When I added de (without a -XX suffix for country) it changed to German name, again ignoring region format. I'm a bit confused as I was under impression we could use those country-specific localizations like that. I hope someone offers a better solution, but until then I would suggest a workaround: building 3 targets, one for each country, and submitting them to AppStore and only making them available in their respective countries.
I am uploading a new App which is localized in 10 languages to the Apple AppStore.
Apple offers several languages with country specific options such as
Canadian French
Mexican Spanish
Brazilian Portuguese
We have set up localizations for French, Spanish and Portuguese.
On the iPhone, an App defaults to the closest language available. For example, an iPhone set to "Brazilian Portuguese" will use the regular Portuguese localization instead of the English default localization.
Is it the same on the AppStore? Do we need to also set "Mexican Spanish" or will customers from Mexico default to Spanish (instead of the defaulting to English)?
edit:
To clarify, this is not about whether we should localize to these dialects (we already decided against that when making the app), but whether the store page shown to the customer will be displayed in the closest dialect or english.
For example, will a Mexican user automatically see the Spanish version (the closest language) or the default language (English)?
I can confirm that the closest available language is selected by the App Store.
For example in the Mexican App Store if you have Spanish set up but not Mexican Spanish, Spanish will show up. This app has Spanish activated on iTunes but not Mexican Spanish and everything is in Spanish on the Mexican App Store.
https://itunes.apple.com/mx/app/id502222888
The language that is displayed on the App Store depends also on the user's language settings since they set the language query parameter. The URL format used by Apple with the language query parameter is:
https://itunes.apple.com/tw/app/id502222888?l=zh where tw is Taiwan and l=zh is the Chinese language.
The language query parameter is not always used.
For example in Germany, even if you set the another language via the query parameter it will be ignored and the German language will show up since it is the only language for that location:
https://itunes.apple.com/de/app/id502222888?l=fr
While in Canada that has both English or French, you can use the language query parameter:
https://itunes.apple.com/ca/app/id502222888?l=fr
To answer my own question: No, Apple does not automatically choose the closest language on the AppStore.
Here is an example of the Mexican AppStore using English despite standard Spanish being present:
Let's start with Spanish. As far as I know Spanish (Mexico) is considered International Spanish, which is fairly similar to English (USA).
I don't know about French, so I might be wrong here but I believe French (France) would be perfectly understandable by the Canadians.
As for Portuguese... Well, in this case you did something that I believe should be the other way round. I read on the Internet that Portuguese government (?) recently pass a reform so that regular Portuguese would be similar in terms of grammar with Brazilian Portuguese. You see as Brazil is much bigger country, Brazilian version is much more common. Therefore I don't think it is OK to use regular Portuguese in Brazil (there might be some problems) but it is probably just about right to use Brazilian Portuguese in Portugal.
There is also the case of Chinese. As in Simplified vs Traditional. If you ever going to localize your application into Chinese (not the easiest thing to do), Traditional is the one to be used in Hong Kong, Taiwan and Macao whereas Simplified is the one they use in China (mainland) as well as in Singapore.
It would be very inappropriate to confuse them (i.e. try to sell Simplified version to the Taiwanese).