2012-07-06 19 views
1

在我的一個xCode項目中,我希望應用程序在它開始選擇0到X之間的隨機數字時,它將出現在NSLocalizedstring中,該字符串將顯示一個隨機句文本域。Xcode iPhone特定的nslocalized字符串不工作

但是當我運行該應用程序時,只有密鑰返回給我(introX)。

這裏是我的代碼(在viewDidLoad中):

introNumber = rand() % 4; //Selects random number 

textView.text = [NSString stringWithFormat:NSLocalizedString(@"intro%i", nil), introNumber]; //Put the random number right in the NSLocalizedString 

所有我的介紹句子都寫在Localized.string文件方式:

「intro0」= 「...」;

「intro1」=「...」;

...

「introX」=「...」;

首先,我們可以做變量NSLocalizedStrings嗎?

那麼,錯誤在哪裏? ;))

問候,

+0

NSLocalizedString應該封裝你stringWithFormat。 – 2012-07-06 12:12:40

回答

1

你正在做的方式錯誤,首先要對翻譯鍵即可得到本地化的字符串:

introNumber = rand() % 4; //Selects random number 
NSString *translateKey = [NSString stringWithFormat:@"intro%i", introNumber]; 
textView.text = NSLocalizedString(translateKey, @""); 
+0

好的,非常感謝。我假設你的代碼可以工作,但是我的Localized.strings文件可能有問題,因爲textView會給我一個可能的translateKeys(intro1或intro2等)。 – Geoffroy 2012-07-06 12:54:59

+0

如果找不到密鑰,就會發生這種情況。 – rckoenes 2012-07-06 13:00:01

+0

我使用localized.string文件來編輯和存儲我的應用程序的所有介紹語句。基本上,我的應用程序只是一種語言。 這是正確的方法嗎?因爲仍然得到的關鍵,而不是介紹的句子..謝謝。 – Geoffroy 2012-07-06 13:41:12