2013-05-28 5 views
3

Я создал приложение iOS и перевел приложение на английский и шведский языки. Проблема, с которой я сталкиваюсь, состоит в том, что одно слово на английском языке может иметь два разных значения (переводы) на шведском языке. Итак, теперь у меня есть английское слово как ключ и ценность. Я хочу иметь один ключ, который я могу назвать тем, что хочу, и установить для него английское значение, а также значение Швеции, таким образом, я могу перевести его на шведский с двумя разными словами и сохранить одно и то же слово для английского.iOS - Лучшая практика локализации

Как я могу достичь этих парней? Спасибо.

EDIT:

// this can be "Kommentar" or "Kommentera" in Swedish (2 different words) 
NSLocalizedString(@"Comment", @"Comment") 

То, что я хотел бы иметь это:

NSLocalizedString(@"Comment_adj", @"Comment_adj") // En: Comment, Swe: Kommentar 
NSLocalizedString(@"Comment_verb", @"Comment_verb") // En: Comment, Swe: Kommentera 

Это более ясно сейчас?

+0

Почему вниз голосовать? – Carnal

+1

Трудно понять, чего вы хотите. Не могли бы вы добавить код, чтобы привести пример того, что вы хотели бы сделать? – joerick

+0

Именно поэтому вы не должны переводить слово за словом. – borrrden

ответ

3

Способ разрешить это, чтобы дать вашим локализованным строкам некоторый контекст, используя NSLocalizedStringFromTable(<#key#>, <#tbl#>, <#comment#>).

Например:

NSLocalizedStringFromTable(@"Post", @"SubmitScreen", @"The button text for the post button on the submit screen"); 
NSLocalizedStringFromTable(@"Post", @"FenceDiagram", @"The label for the fence-post on the diagram of the fence"); 
+0

Я использую приложение Localization Manager для перевода своих слов. Я создал новый локализованный файл с genstrings, но он не обновлялся. Является ли их чем-то необычным, мне нужно сделать пару? – Carnal

+0

Читайте, как работает genstrings здесь: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html, а также помните, что он анализирует исходный код, поэтому я думаю, что ваши имена таблиц должны быть явным, то есть @ «Таблица», а не вызовом макроса или функции. – jhabbott

Смежные вопросы