为不支持的语言选择本地化

Posted

技术标签:

【中文标题】为不支持的语言选择本地化【英文标题】:Choosing localization for unsupported languages 【发布时间】:2011-07-12 12:09:41 【问题描述】:

我有“en”和“ru”语言的本地化,如果用户选择任何其他语言(fr、de...),我需要显示俄语本地化变体。我尝试将 info.plist 中的“本地化本地开发区域”更改为“ru”/“Russian”,但在使用不受支持的语言时,它始终显示英语。 There is related question 我认为这项任务是不可能的。

如果您对这些问题提出任何建议和见解,我将不胜感激。

【问题讨论】:

崩溃可能只是Xcode 4。不管你在做什么它都会崩溃很多。 是的,Xcode 4 经常崩溃,但是在这个任务中,每次我尝试添加图像本地化时它都会崩溃。我需要 Xcode 3? 您找到解决方案了吗?我有同样的问题,可以为 iPad 定位我的 Default.png !!! @Icky,我认为这只是 Xcode 错误。从那以后我没有尝试本地化。 【参考方案1】:

我认为这里发布了我的解决方案

Localizing strings in ios: default (fallback) language?

也可以将任何非英语设置为默认值。即使当前设备未设置为使用该语言(例如俄语)。

你可以使用[UIImage imageNamed:L(@"AN_IMAGE")]

然后在不同 Localizable.strings 文件中,设置为不同的值:

"AN_IMAGE" = "some_image_default.png";
"AN_IMAGE" = "some_image_ru.png";
"AN_IMAGE" = "some_image_pt.png";

【讨论】:

【参考方案2】:

您是否阅读过来自 Apple 的 String Resources 如何为每种需要的语言创建 Localizable.strings 文件。您可以使用 NSLocalizedString 将本地化字符串输入到每个需要的文件中,而不必翻译每个文件。

【讨论】:

是的,我做到了,并且本地化的字符串运行良好。本地化的 nib 也可以工作,尽管它们分散在子文件夹中。但是我需要加载本地化的图像文件......所以这是一个问题。【参考方案3】:

@Condor:

在本地化的 XIB 文件中,我遇到了类似的问题。它们在 XCode 中的翻译效果很好,我的应用程序在模拟器中的本地化效果很好。它只是在我总是看到 XIB 部分的简单英语的设备上......(所有用 NSLocalizedString() 翻译的副本在模拟器上都可以正常工作。

采用尽可能小的示例项目并在那里实现类似的文件夹结构 - 没问题...

【讨论】:

以上是关于为不支持的语言选择本地化的主要内容,如果未能解决你的问题,请参考以下文章

基于每个目标的 iOS 本地化?

为不支持 HTTP2 的用户提供 HTTP 版本的站点

导入错误 - 不支持语言“eng”的本地化

使用 MPDF 生成 pdf,非中断空间显示为不支持的字符

使用 facebook 登录显示错误为不受支持的请求并且无法登录

vs2010指定的文件格式无法识别或为不支持的二进制