强制将特定本地化用于目标

时间:2012-05-07 17:28:14

标签: objective-c ios xcode xcode4 localization

我正在开发一款应用程序,其中包括播放大型音频文件(30MB)。

我想将应用程序提交到几个国家/地区的App Store。每个目标国家/地区的音频文件不同,应用程序的其余部分保持不变(尽管已本地化)。

我为每个国家/地区创建了一个目标,bash脚本负责根据目标将正确的音频文件复制到已编译的应用中,效果很好。

我还对资源(图像和Localized.strings)进行了本地化,以便于维护。

假设我为瑞典制定了目标,我想只包括瑞典语本地化以强制应用程序始终显示瑞典语(与音频文件匹配)。

以下是实际问题:* 如何从目标中排除所有本地化或强制目标仅使用特定的本地化,而不考虑手机设置?

3 个答案:

答案 0 :(得分:0)

我想你可以通过以下方式来解决这个问题:

目标设置=>信息=>添加名为本地化 =>的新行使用您想要的语言类型向该数组添加一个新元素(我认为默认为英语)

我没有测试过,只是告诉我它是否有效。

答案 1 :(得分:0)

如果我理解您的问题,您实际上并不需要本地化的应用程序,或者至少不是完全本地化的应用程序。如果是这种情况,我将使用运行脚本构建阶段,该阶段负责根据当前目标复制适当的非本地化但特定于目标的资源。例如。假设您的项目根目录中有一个Audio文件夹,其中包含不同语言的所有版本,您的脚本可能如下所示:

cp "$PROJECT_DIR/Audio/$TARGETNAME.mp3" "$TARGET_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH/audio.mp3"

例如将“Swedish.mp3”复制/重命名为“audio.mp3”,可直接从包中访问。

答案 2 :(得分:0)

根据你对Lvsti的回答(你说你做这个的原因是你的某些语言的翻译还没有完成,但是你想发布你所拥有的),或许作为替代删除所有相关的本地化文件或弄乱您的构建设置,您可以尝试编辑XCode项目中的语言列表?它不是每个目标,而是每个项目,但它可能允许您排除构建中不需要的语言。请参阅项目设置中的“本地化”(可以使用一些小图标来删除语言)。

enter image description here