Локализованные файлы XML - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть XML-файл на английском языке, который я перевел на итальянский и французский языки.

В моем проекте xcode4 Я добавил их, но поскольку файлы имеют одинаковые имена, я не знаю, как их вызывать из кода.

Для строк есть NsLocalizedString, но для файлов, как это сделать?

1 Ответ

1 голос
/ 22 ноября 2011

См. Ссылку NSBundle :

pathForResource:ofType:

Возвращает полный путь к ресурсу, указанному по указанному имени и расширению файла.

Метод сначала ищет соответствующий файл ресурса в нелокализованном каталоге ресурсов указанного пакета . (В Mac OS X этот каталог обычно называется «Ресурсы», но в iOS это основной каталог комплекта.) Если соответствующий файл ресурсов не найден, он просматривается на верхнем уровне любого доступного языка « .lproj ”каталоги . (Порядок поиска для языковых каталогов соответствует предпочтениям пользователя.) Он не просматривается в других подкаталогах ни в одном из этих мест. Для получения более подробной информации см. Разделы «Интернационализация программирования».

(выделение добавлено)

Итак, вы бы использовали:

NSString *path = [[NSBundle mainBundle] pathForResource:@"MyFile" ofType:@"xml"]

При условии, что ваши файлы локализованы с помощью инструмента локализации в инспекторе файлов Xcode, который автоматически помещает файлы в правильную папку *.lproj.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...