Localizable.strings有时候工作

时间:2011-04-24 11:09:49

标签: iphone xcode localization

我有一个需要翻译成不同语言的iPhone应用程序。目前支持2种语言:德语和英语。问题是本地化只能每隔一段时间运行一次,大部分时间我只是从NSLocalizedString获取属性。

如果我将Localizable.string文件的编码更改为UTF-8并返回到UTF-16,它确实可以工作但只有一次,然后它会立即更改为不工作。

目前正在Xcode 4.0.1下工作

其他人遇到此错误或是否有修复?

提前致谢:)

3 个答案:

答案 0 :(得分:8)

有同样的问题。

我也在使用ShareKit。我刚刚删除了那些本地化字符串(ShareKit),没有更多麻烦:)

我觉得这个问题不是关于ShareKit,而是关于在项目中有其他的localizedStrings。检查您是否删除它们(复制+粘贴到您的本地化字符串中)。这应该可以解决您的问题。

答案 1 :(得分:2)

想出我的应用程序。

我使用的是ShareKit。 Sharekit附带了自己的Localizable.strings。在运行时,可能存在关于应该使用哪一个的冲突。

如果您的应用有多个字符串文件被复制,请删除其他文件。

http://iphoneincubator.com/blog/open-source/sharekit

答案 2 :(得分:1)

确保翻译文件中的每一行都以;结尾。它们很容易错过,如果你错过了一个,它之后的所有字符串都不会被使用。您将获得类似于您所描述的NSLocalizedString属性。

虽然在切换编码之后它工作一次并没有多大意义。这似乎有点奇怪。但这是检查本地化字符串何时不起作用的第一件事。