English 中文(简体)
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?

最佳回答

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)

问题回答

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 "

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!

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





相关问题
Code sign Error

I have created a new iPhone application.I have two mach machines. I have created the certificate for running application in iPhone in one mac. Can I use the other mac for running the application in ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

将音频Clips从Peter改为服务器

我不禁要问,那里是否有任何实例表明从Peit向服务器发送音响。 I m不关心电话或SIP风格的解决办法,只是一个简单的袖珍流程......

• 如何将搜查线重新定位?

我正试图把图像放在搜索条左边。 但是,问题始于这里,搜索条线不能重新布署。

热门标签