iPhone 应用程序在 appStore 中可用的语言

发布于 2024-08-14 18:06:29 字数 924 浏览 3 评论 0 原文

您好,我向 appStore http://itunes 提交了我的第一个申请。 apple.com/at/app/section-control/id343824642?mt=8

这会在“概述”中将“英语”显示为语言(德语为 Sprachen)。 在本例中这是正确的。

我认为这是因为我的应用程序中没有本地化资源。 这是问题一:应用商店如何检测“语言/语言”?

它(当然)与本地化描述无关,因为我在本例中使用了英语和德语。

TomTom http://itunes.apple.com/at/app/ tomtom-westeuropa/id326075062?mt=8 的示例显示了多种语言。

无论如何 - 主要问题。对于我的下一个应用程序,我计划“社区驱动的本地化”。这个想法可以在很多应用程序中找到,您可以在其中下载“语言文件”。

假设我的应用程序有可用语言列表。这来自网络服务,您(作为用户)可以下载您喜欢的语言(如果可用)。

由于事情是动态的,因此将会发生以下情况 - 我用英语和德语(我的母语)发布应用程序。后来有人输入法语文本 - 因此从那一刻起,该应用程序也可以使用法语。

我没有找到在应用程序简短描述(概述)中设置“语言/语言”元素的方法,或者我是否必须“重新提交”我的应用程序才能更改此设置?

最后并非最不重要的 - 如果我是对的并且语言是通过应用程序中包含的资源检测到的 - 为我的应用程序提供一个空(或仅保存单个字符串)“字符串文件”是否足够?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

老子叫无熙 2024-08-21 18:06:29

我利用一次技术支持事件直接向Apple询问了这个问题。答案如下:

“应用程序支持的语言列表(如您发送的 iTunes 商店屏幕截图所示)是通过检查提交的应用程序包自动确定的。通常,这来自包中的 .lproj 文件夹,因为进程(和 iOS)使用它来确定应用程序可以支持哪些语言。但是,也可以在不使用 .lproj 文件夹的情况下在应用程序中提供您自己的本地化支持系统(尽管这通常需要更多工作)——在此。在这种情况下,支持的语言列表是通过 CFBundleLocalizations 键在应用程序的 plist 文件中指定的,有关详细信息,请参阅以下文档(以及文档中链接的指南):

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

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 "

只有一腔孤勇 2024-08-21 18:06:29

这样做我有点迷失了。我在内部本地化了 Unity 游戏,而不是使用 .lproj.xliff。杰里米的回答对此有所启发。我打开 Info.plist 进行编辑,但 Xcode 会自动将 CFBundleLocalizations 键转换为键“Localizations”(现在有意义,但他的回答是在 2010 年)我想知道 xcode 是否在捉弄我,哈哈)

Localizations 键是一个数组,其中包含一个字符串作为第 0 项:“English”
因此,我添加了带有“西班牙语”和“巴西葡萄牙语”的新字符串。

当我打字的时候,xcode 出现了一些我不需要的选项,比如中文和其他语言,这引发了更多的疑问。
所以我以文本形式打开 info.plist:

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

看起来不对,呃?经过一番研究,我发现我必须添加为 ISO 639-1(有一些问题):

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

问题是 ISO 639-1 中的巴西葡萄牙语应该是:pt-BR,但如下所示:https://developer.apple.com/library/ios/documentation/MacOSX/概念/BPInternational/LocalizingYourApp/LocalizingYourApp.html

“脚本或方言的语言 ID 使用子标签,如 pt-PT
其中 pt 是葡萄牙语代码,PT 是葡萄牙语代码。
例如,使用 pt 作为葡萄牙语的语言 ID,因为它用于
巴西和 pt-PT 作为葡萄牙语的语言 ID,因为它用于
葡萄牙。”

这对我有用!

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!

转瞬即逝 2024-08-21 18:06:29

这是您需要做的:

.app 文件夹应如下所示:

+MyApp.app

+en.lproj

+de.lproj

+nl.lproj

等等...

在 lproj 文件夹中,您应该放置一个 Localizes.strings 文件。

在此 Localized.strings 文件中,您可以进行如下语言更改:(EN-NL)

“关于”=“结束”

“ErrorSupport”=“Kon niet de ondersteuning contacteren。”

因此,像 "About" 这样的第一行不提供英语,而只提供功能。

我不完全确定如何在您的应用程序中进行设置,我不是一个真正好的应用程序编码器。
你应该查看Apple的帮助文档,或者向其他开发者询问。

对于语言的下载,我认为您在 webView 中构建,并将其定向到您的下载页面,然后应用程序会自动将其重新识别为语言文件夹,并将其安装到 MyApp.app/MyApp.app/<语言>.lproj。向其他开发者询问有关此下载内容的信息,或查看 Apple 的帮助文档。 (我不确定他们是否在那里提到过)

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)

我们的影子 2024-08-21 18:06:29

我也遇到了同样的问题,我的应用程序仅支持一种语言,但在应用程序商店中显示我的应用程序支持多种语言。我很困惑,后来读完这篇文章后,我意识到这些是从我正在使用的 Pod 中自动生成的。然后我找到了这个插件(cocoapods-prune-localizations),它将有助于删除不需要的 lproj。希望它有帮助,但我觉得应该有某种方法可以直接在应用商店中编辑信息,但据我所知,我找不到该选项。如果存在这样的选项,请告诉我。

cocoapods-prune-localizations

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文