2012-01-18 49 views
0

您好我有我的琴絃一個問題,我已經檢查這個link和做了什麼,被告知有,但它不工作字符串和語言在Xcode/iPhone

所以對於廈門國際銀行文件,我有一個diferent每種語言的版本和它的作品。但我也有一個名爲Localization.strings的文件,它現在只包含一個字符串:

「password」=「密碼不一樣」;

然後在我的代碼,我嘗試訪問本地化的字符串:

NSString *tp=[[NSString alloc] initWithString:NSLocalizedString(@"password", nil)]; 

所以TP應該有字符串「密碼是不一樣的」,但沒有返回「密碼」。我一直在想,如果這是寫字符串的正確方法,也許你必須在左側寫入值本身?無論如何,我有兩個版本西班牙語和英語,在同樣的事情發生。我已經從iPhone清除應用程序,更改語言並重新安裝,沒有任何工作。

感謝

+0

只是想''init'你的字符串的方式發表評論。有沒有必要創建一個新的字符串只是做:'NSString * tp = NSLocalizedString(@「密碼」,零);' – rckoenes 2012-01-18 10:28:24

+0

謝謝rckoenes這樣我將節省一些資源,但它不會改變任何東西我的問題 – vallllll 2012-01-18 11:07:57

+0

假設你正在使用Xcode 4是否在'Localization.strings'文件中添加了任何語言?您可以在右側的欄中添加它們。另外請確保您檢查您的應用程序的默認語言。如果沒有該語言的'strings'文件,它將使用密鑰和任何翻譯。 – rckoenes 2012-01-18 11:12:49

回答

4

你的問題是你 -file的命名。 NSLocalizedString()執行查找的默認文件是Localizable.strings

因此將Localization.strings重命名爲Localizable.string。如果您也想使用特定的文件進行查找(例如,您可以將您的本地化字符串分割成幾個字符串 -files)。使用:

NSString *tp = NSLocalizedStringFromTable(@"password", @"Localization", nil); 
+0

你解決了我的問題。我播下的地方,你可以命名你的文件,你怎麼想,但他們並沒有說你必須在你的代碼中指定你稱爲diferently。 – vallllll 2012-01-18 11:32:07

+0

達姆我迷失了那個,很幸運有人看到了它。 – rckoenes 2012-01-18 12:08:16