如何使用NSLocalizedString在這種情況下,當我有一個頭,我定義了幾個參數,說:本地化與變量和常量的定義在頭文件
#define appKey @"appKey1 is: %@"
我想我知道我的Localizable.strings應該看起來像這樣:
"blabla" = "appKey1 is: %@"
但我該如何使用NSLocalizedString?我讀到我需要使用stringWithFormat,但不知道如何...
謝謝!
如何使用NSLocalizedString在這種情況下,當我有一個頭,我定義了幾個參數,說:本地化與變量和常量的定義在頭文件
#define appKey @"appKey1 is: %@"
我想我知道我的Localizable.strings應該看起來像這樣:
"blabla" = "appKey1 is: %@"
但我該如何使用NSLocalizedString?我讀到我需要使用stringWithFormat,但不知道如何...
謝謝!
你會定義常數:
那麼就應該由通常的方式genstrings工具得到回升。
在字符串文件,那麼它會出來這樣的:
/* appkey constant */
"appKey1 is: %@" = "appKey1 is: %@";
而且你會翻譯只是右手邊。
這是你會怎麼做正常,
NSString * myString = [NSString stringWithFormat:@"appKey1 is: %@",yourAppKeyString];
因爲你擁有它定義你可以使用它像這樣
NSString * myString = [NSString stringWithFormat:appKey,yourAppKeyString];
這兩種情況都將填補你的myString像這樣
yourAppKeyString = @"keyString";
myString = @"appKey1 is: keyString";
字符串文字在NSLocalizedStrings中是可以接受的。你需要做的是一樣的東西
#define appKey NSLocalizedString(BlahBlah , comments);
"BlahBlah" = "appKey1 is: %@";
(請務必使用一個分號結束你的線Localizable.strings,或將最終被損壞)。
NSString * myString = [NSString stringWithFormat: NSLocalizedString(@"appKey", @""),yourAppKeyString];
所以基本上你說的是,在頭文件中,我不應該做任何不同的事情,因爲它會從字符串文件中獲取%@? – TommyG 2012-02-11 16:42:36
我不確定你在問什麼。您是嘗試本地化應用程序密鑰本身,還是顯示「appKey1是...」的消息?要真正打印應用程序密鑰,您需要使用Joel的答案,我的答案只是將消息本地化。 – 2012-02-11 16:45:42