Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPhone app available languages in appStore

Hi I submitted my first application to the appStore http://itunes.apple.com/at/app/section-control/id343824642?mt=8

This displays "English" as Languages (Sprachen in German) in the "Overview". And that is correct in this case.

I think this comes from the fact that I don't have localized resources in my application. Which is question one: how is "Languages / Sprachen" detected by the appstore?

It has (of course) nothing to do with localized descriptions since I used english and german in this case.

TomTom http://itunes.apple.com/at/app/tomtom-westeuropa/id326075062?mt=8 for an example shows a lot of languages.

Anyhow - the main question. For my next application I plan a "community driven localization". The idea is something you find in a lot of application where you can download "language files".

Assume my app has a list of available languages. This comes from a web service and you (as user) can load down your preffered language (if available).

And since the thing is dynamic the following will happen - I publish the application in English and German (my native language). Later someone enters French texts - so from that moment on the app is also available in French.

I didn't find a way to set the "Languages / Sprachen" element in the apps short description (Overview) or do I have to "resubmit" my application to change this?

Last not least - if I am right and the languages are detected by contained resources in the application - is it enough to provide an empty (or just holding a single string) "strings file" with my application?

like image 645
ManniAT Avatar asked Dec 13 '09 11:12

ManniAT


People also ask

What language are apps in App Store?

Swift is a robust and intuitive programming language created by Apple for building apps for iOS, Mac, Apple TV and Apple Watch. It's designed to give developers more freedom than ever.

How many languages is Apple available in?

The App Store is available in 175 regions and 40 languages to make it easy for users around the world to discover and download your app. Localizing your app helps make it relevant to a variety of cultures and languages, and provides an opportunity to grow your business.

Can you change language on app on iPhone?

Change The App Language in iPhone or iPad AppsTap on the Settings app on the Home screen. Scroll down, select the app you wish to change its language. Select Language under Preferred Language. Choose the language you want to use.


4 Answers

I used a technical support incident to ask this question of Apple directly. Here is the answer:

"The list of languages supported by the app, as shown in the iTunes store screenshot you sent, is automatically determined by inspecting the submitted application bundle. Typically, this comes from the .lproj folders in a bundle, as the process (and iOS) use this to determine what languages the application can support. However, it is also possible to provide your own localization support system in the application without using .lproj folders (although this is typically much more work) -- in this scenario, the list of supported languages is specified in the application's plist file, via the CFBundleLocalizations key. See the following docs (and the guide linked to in the docs) for more info on this:

http://developer.apple.com/library/ios/#documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html%23//apple_ref/doc/uid/TP40009249-109552-TPXREF111 "

like image 157
Jeremy Avatar answered Nov 05 '22 00:11

Jeremy


I was a lil lost doing this. I localize my Unity game internally, not using .lproj or .xliff. Jeremy's answer brings up some light on this. I opened the Info.plist to edit, but Xcode was transforming automatically the CFBundleLocalizations key into the key "Localizations" (Which makes sense now, but as his answer was on 2010 I was wondering if xcode was playing tricks on me haha)

The Localizations key is an array with a string as item 0: "English" So I've added new strings with "Spanish" and "Brazilian Portuguese".

When I was typing, xcode present some options like Chinese and other languages that I didn't need, which triggered more doubts. So I opened the info.plist as text:

<key>CFBundleLocalizations</key>
    <array>
        <string>en</string>
<string>Spanish</string>
<string>Brazilian Portuguese</string>
    </array>

Didn't looks right, uh? With a lil research I find that I must add as ISO 639-1 (with some catch):

<key>CFBundleLocalizations</key>
    <array>
        <string>en</string>
        <string>es</string>
        <string>pt</string>
    </array>

The catch is that Brazilian Portuguese in ISO 639-1 should be: pt-BR but as seen here: https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html

"The language ID for scripts or dialects uses subtags, as in pt-PT where pt is the code for Portuguese and PT is the code for Portugal. For example, use pt as the language ID for Portuguese as it is used in Brazil and pt-PT as the language ID for Portuguese as it is used in Portugal."

This worked for me!

like image 43
ゴスエン ヘンリ Avatar answered Nov 04 '22 23:11

ゴスエン ヘンリ


This is what you need to do:

This is how the .app folder should look like:

+MyApp.app

+en.lproj

+de.lproj

+nl.lproj

etc...

in the lproj folder, you should place a Localizable.strings file.

In this Localizable.strings file, you can put the language changes like these: (EN-NL)

"About" = "Over"

"ErrorSupport" = "Kon niet de ondersteuning contacteren."

So, the first lines like "About" don't give the english, but just the function.

I am not completely sure how to set this up in your app, i am not a really good app coder. You should check Apple's help documents, or ask it to other developers.

For the download of languages, i would persume, that you build in a webView, and direct it to your downloadpage, and that the app then automatticly regocnises it as a language folder, and installs it to MyApp.app/<language>.lproj. Ask about this download stuff to other developers, or check Apple's help documents. (I don't know for sure if they mention it there)

like image 45
Deniz Zoeteman Avatar answered Nov 04 '22 23:11

Deniz Zoeteman


I also had the same problem, my app supports only one language, but in the Appstore it is shown that my app supports a bunch of languages. I was confused and later after reading this post I realized that those are coming automatically from the pods that I am using. I then found this plugin (cocoapods-prune-localizations) which will help to remove unwanted lproj. Hope it helps, but I feel there should be some way to edit the info directly in Appstore, but as I am aware I cant find that option. If such an option exists please let me know.

cocoapods-prune-localizations

like image 2
anoop4real Avatar answered Nov 05 '22 01:11

anoop4real