iOS本地化。旨在本地化所有语言的字符串,但仅使用某些语言的图像

时间:2011-09-18 14:24:35

标签: iphone ios xcode localization

我想用以下模式本地化我的应用程序:

  • 本地化所有字符串(例如英语,法语和德语(don't mention the war!))
  • 使用某些语言(例如英语和法语)本地化一些图像

我可以毫无问题地本地化字符串。我的问题是,当我添加德语字符串时,本地化为英语和法语的其他资源会尝试查找德语版本。我不想提供德语版本(试图避免过多的多余图片,因为它们会增加应用程序的大小)。

任何人都可以建议一种告诉应用程序不要费心寻找德语版图像的方法。

我的问题不是添加语言,而是在某些条件下忽略它们。我不想包含德语版的“a.png”,但我确实想要包含法语版的“a.png”。当用户的语言设置为德语时,我希望它选择默认语言为英语。

3 个答案:

答案 0 :(得分:1)

遇到同样的问题我想跟进,因为建议的解决方案并没有完全按照引用的方式工作。

我的设置是3种本地化语言,de,en,fr。因此创建的.lproj文件夹Xcode名为

en.lproj
de.lproj
fr.lproj

我有一个带有“开始”的图形按钮,需要从英语到法语的本地化,而不是德语(因为它是同一个词)。

我的“本地化原生开发区域”设置为“英语”,这一定是默认的(可能一段时间后,该项目已经有一段时间了。)

该按钮未显示在德国设备上。切换到“EN”或Xcode(“United Kingdom”,“United States of America”)的任何建议都无法解决问题。

解决方案是简单的。 “本地化本机开发区域”中的字符串需要与(本机语言).lproj字符串完全匹配。因此将其设置为“en”它最终解决了问题。

希望这可以帮助那些偶然发现这个问题的人。

答案 1 :(得分:0)

iOS(和Mac OS)应该始终回退到应用程序的默认语言。如果你没有在de.lproj资源文件夹中包含image.png,那么app应该在其位置使用en.lproj / image.png文件。

在目标>中寻找密钥:“本地化本地开发区域”。 Xcode的信息面板。确保说EN。

答案 2 :(得分:-1)

我没有那么多经验但是就我而言,你的程序应该只是寻找德国图像,找不到任何东西然后尝试加载英文图像。