2012-02-11 106 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];