2012-02-11 99 views
1

如何使用NSLocalizedString在這種情況下,當我有一個頭,我定義了幾個參數,說:本地化與變量和常量的定義在頭文件

#define appKey @"appKey1 is: %@" 

我想我知道我的Localizable.strings應該看起來像這樣:

"blabla" = "appKey1 is: %@" 

但我該如何使用NSLocalizedString?我讀到我需要使用stringWithFormat,但不知道如何...

謝謝!

回答

3

你會定義常數:

那麼就應該由通常的方式genstrings工具得到回升。

在字符串文件,那麼它會出來這樣的:

/* appkey constant */ 
"appKey1 is: %@" = "appKey1 is: %@"; 

而且你會翻譯只是右手邊。

+0

所以基本上你說的是,在頭文件中,我不應該做任何不同的事情,因爲它會從字符串文件中獲取%@? – TommyG 2012-02-11 16:42:36

+0

我不確定你在問什麼。您是嘗試本地化應用程序密鑰本身,還是顯示「appKey1是...」的消息?要真正打印應用程序密鑰,您需要使用Joel的答案,我的答案只是將消息本地化。 – 2012-02-11 16:45:42

1

這是你會怎麼做正常,

NSString * myString = [NSString stringWithFormat:@"appKey1 is: %@",yourAppKeyString]; 

因爲你擁有它定義你可以使用它像這樣

NSString * myString = [NSString stringWithFormat:appKey,yourAppKeyString]; 

這兩種情況都將填補你的myString像這樣

yourAppKeyString = @"keyString"; 
myString = @"appKey1 is: keyString"; 
2

字符串文字在NSLocalizedStrings中是可以接受的。你需要做的是一樣的東西

#define appKey NSLocalizedString(BlahBlah , comments); 

"BlahBlah" = "appKey1 is: %@"; 

(請務必使用一個分號結束你的線Localizable.strings,或將最終被損壞)。

0
NSString * myString = [NSString stringWithFormat: NSLocalizedString(@"appKey", @""),yourAppKeyString];