Локализация с определением переменной и константы в заголовочном файле - PullRequest
1 голос
/ 11 февраля 2012

Как использовать NSLocalizedString в этом случае, когда у меня есть заголовок, в котором я определяю несколько параметров, скажем:

#define appKey @"appKey1 is: %@"

Мне кажется, я знаю, что мои Localizable.strings должны выглядеть так:

"blabla" = "appKey1 is: %@"

но как мне использовать NSLocalizedString?Я прочитал, что мне нужно использовать stringWithFormat, но не уверен, как ...

спасибо!

Ответы [ 4 ]

3 голосов
/ 11 февраля 2012

Вы бы определили свою константу как:

#define appKey NSLocalizedString(@"appKey1 is: %@", @"appkey constant")

Тогда она должна быть взята инструментом genstrings обычным образом.это:

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

И вы бы перевели только правую сторону.

2 голосов
/ 11 февраля 2012

Строковые литералы допустимы в NSLocalizedStrings. Что вам нужно сделать, это что-то вроде

#define appKey NSLocalizedString(BlahBlah , comments);

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

(Обязательно заканчивайте свои строки точкой с запятой в Localizable.strings, иначе это приведет к повреждению).

1 голос
/ 11 февраля 2012

Вот как бы вы это сделали в обычном режиме,

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

Так как вы определили это, вы можете использовать его следующим образом

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

В любом случае оба параметра будут заполнять вашу строку myString следующим образом:

yourAppKeyString = @"keyString";
myString = @"appKey1 is: keyString";
0 голосов
/ 11 февраля 2012
NSString * myString = [NSString stringWithFormat: NSLocalizedString(@"appKey", @""),yourAppKeyString];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...