Обратите внимание
Я не спрашиваю о NSLocalizedString()
макросе. Я спрашиваю о функции класса NSString
+ (instancetype)localizedStringWithFormat:(NSString *)format, ...
.
Это две отдельные вещи.
Вопрос
Я пытаюсь использовать метод класса NSString
localizedStringWithFormat
, но я просто не могу понять, как я должен его использовать.
Что бы я ни пытался, мне кажется, что слова не появляются в файле перевода с использованием Xcode 6 export for localization
. Я пробовал два верхних варианта здесь, но ничего.
Пример в документах показывает...
NSString *myString = [NSString localizedStringWithFormat:@"%@: %f", @"Cost", 1234.56];
Означает ли это, что я должен отделять переведенные слова от цифр? то есть я мог бы не просто использовать...
NSString *myString = [NSString localizedStringWithFormat:@"Cost: %f", 1234.56];
Если я могу использовать это, то какой будет переведенная фраза и каким будет перевод?
Если нет, то зачем вообще это использовать? Почему бы просто не использовать...
NSString *myString = [NSString stringWithFormat:@"%@: %f", NSLocalizedString(@"Cost"), 1234.56];
В чем разница с этим последним?
В любом случае, может кто-нибудь показать мне, как перевести настоящие слова, пожалуйста.
Обновить
Хорошо, в данный момент я использую глупый обходной путь, который, кажется, неправильно использует все, лол.
If I do...
NSString *myString = [NSString stringWithFormat:@"%@: %f", NSLocalizedString(@"Cost"), 1234.56];
Затем он перевел слово «Стоимость», но не использует правильную локаль для чисел.
Если я использую...
NSString *myString = [NSString localizedStringWithFormat:@"%@: %f", @"Cost", 1234.56];
// or
NSString *myString = [NSString localizedStringWithFormat:@"Cost: %f", 1234.56];
Затем Xcode «Экспорт для локализации» просто полностью игнорирует его, и ничего о «Стоимости» вообще не добавляется в файл перевода, поэтому ничего не переводится.
Итак, я прибег к использованию...
[NSString localizedStringWithFormat:@"%@: %f", NSLocalizedString(@"Cost", @"Cost context stuff..."), 1234.56];
Это добавляет «Стоимость» в файл перевода и преобразует число в правильную локаль, но похоже, что я использую здесь много избыточного материала.
[NSString localizedStringWithFormat:...]
. Из документов... Возвращает строку, созданную с использованием заданной строки формата в качестве шаблона, в который подставляются остальные значения аргументов в соответствии с текущим языковым стандартом. кажется, это то, что я использую. для. Пожалуйста, не могли бы вы объяснить, какой бит я неправильно понимаю? - person Fogmeister   schedule 07.10.2014.
или,
в качестве десятичной точки. - person Hot Licks   schedule 07.10.2014NSLocalizedString
, так и вlocalizedStringWithFormat
является полным отвлекающим маневром, поскольку на самом деле они означают совершенно разные вещи. Спасибо, теперь я наконец понял. Хорошо, что им не дали имен, из-за которых они выглядели бы так, будто занимаются одним и тем же. (Хорошая шутка инженеров Apple, лол). Спасибо, теперь я понял. - person Fogmeister   schedule 07.10.2014