есть возможность установить приложение для какао, поэтому он будет переводить NSString
(размещен в коде) после запуска без использования NSLocalizedString
?localizable.strings - перевод строк из кода
Спасибо за помощь!
есть возможность установить приложение для какао, поэтому он будет переводить NSString
(размещен в коде) после запуска без использования NSLocalizedString
?localizable.strings - перевод строк из кода
Спасибо за помощь!
Ответ: нет. И вы, вероятно, не захотите этого, так как не каждая строка должна быть локализуема. Некоторые из ваших строк могут содержать отображаемый текст и, следовательно, должны быть локализованы через NSLocalizedString
, а с другой стороны некоторые другие ваши строки могут повлиять на вашу логику, такую как строки, которые определяют имя ресурса (например, строка, которую вы передаете loadNibNamed
или имя загружаемого изображения или аудиофайла). Они действительно предназначены для жесткого кодирования, и их перевод нарушит ваше приложение.
Не автоматически, но вы можете создать простой макрос, чтобы сократить печатать:
#define TRANS(s) NSLocalizedString(s, nil)
Но если вы сделаете это, вы не сможете использовать утилиту genstrings (http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/genstrings.1.html), чтобы автоматически создать файл '.strings' на базовом языке, так как эта утилита проверяет исходные файлы, которые ищут записи NSLocalizedStrings. – Clafou
Спасибо за anwser и точные объяснения, хороший пост :) – xyz