2011-04-24 60 views
2

我有一個iPhone應用程序,需要翻譯成不同的語言。目前有兩種語言支持:德語&英文。問題是本地化只能在其他時間工作,大部分時間我只是從NSLocalizedString獲取屬性。Localizable.strings有時只是工作

如果我將Localizable.string文件的Encoding更改爲UTF-8並返回到UTF-16,它確實可行,但只有一次,之後它會立即變回不工作狀態。

的Xcode 4.0.1

下目前工作的任何人都經歷過這樣的錯誤還是有一個修復?

在此先感謝:)

+1

我有完全相同的問題。我不需要搞亂編碼。它的工作原理是「隔一段時間」。如果我繼續點擊「運行」,它將簡單地在顯示鍵和顯示翻譯之間切換。 – 2011-05-11 18:42:21

+0

同樣的問題,當我刪除我的第二個翻譯,只是離開了en.proj。如果你只有一個基地'en',你如何移除並重新添加基地'en'? – 2012-11-29 15:38:56

回答

8

有同樣的問題。

而且我還在使用ShareKit。我只是刪除了這些本地化的字符串(ShareKit),並沒有更多的麻煩:)

我覺得這個問題是不是ShareKit,但它是關於項目具有其它localizedStrings。檢查你是否刪除它們(複製並粘貼到你的本地化字符串中)。這應該可以解決你的問題。

+0

哦。我沒有在ShareKit是Localized.strings(感謝! – Antigluk 2012-07-30 12:28:48

+0

你怎麼刪除本地化的字符串? – Ricardo 2017-06-23 13:26:41

1

確保翻譯文件中的每一行以a;結尾。他們很容易錯過,如果你錯過了一個,它將不會被使用。您將會像您所描述的那樣獲得NSLocalizedString屬性。

雖然在切換編碼後,這並沒有什麼意義。這似乎有點奇怪。但是,這是本地化字符串無法工作時首先要檢查的內容。

+0

謝謝,但也已經檢查這兩個文件了幾次。有沒有想通了這一點尚未 – Patrick 2011-04-25 08:27:11

2

想通了我的應用程序。

我使用的是ShareKit。 Sharekit自帶Localizable.strings。在運行時,可能會出現使用哪一個的衝突。

如果您的應用程序有一個以上的字符串文件被複制,刪除等。

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