2012-01-10 4 views

ответ

1

Ответ: нет. И вы, вероятно, не захотите этого, так как не каждая строка должна быть локализуема. Некоторые из ваших строк могут содержать отображаемый текст и, следовательно, должны быть локализованы через NSLocalizedString, а с другой стороны некоторые другие ваши строки могут повлиять на вашу логику, такую ​​как строки, которые определяют имя ресурса (например, строка, которую вы передаете loadNibNamed или имя загружаемого изображения или аудиофайла). Они действительно предназначены для жесткого кодирования, и их перевод нарушит ваше приложение.

+0

Спасибо за anwser и точные объяснения, хороший пост :) – xyz

0

Не автоматически, но вы можете создать простой макрос, чтобы сократить печатать:

#define TRANS(s) NSLocalizedString(s, nil) 
+1

Но если вы сделаете это, вы не сможете использовать утилиту genstrings (http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/genstrings.1.html), чтобы автоматически создать файл '.strings' на базовом языке, так как эта утилита проверяет исходные файлы, которые ищут записи NSLocalizedStrings. – Clafou

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