为不支持的语言选择本地化
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() 翻译的副本在模拟器上都可以正常工作。
采用尽可能小的示例项目并在那里实现类似的文件夹结构 - 没问题...
【讨论】:
以上是关于为不支持的语言选择本地化的主要内容,如果未能解决你的问题,请参考以下文章