如何使用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