Как добавить языковую поддержку в файл Constants.h? - PullRequest
0 голосов
/ 13 марта 2012

У меня есть Constants.h, в котором есть все строки, которые используются в моем приложении.

#define kGuideTitle @"Guide"
#define kSeatingTitle @"Seating"
#define kNotesTitle @"Notes"
#define kQuestionsTitle @"Questionnaire"
#define kTimelineTitle @"Timeline"
#define kMessagesTitle @"Messages"

Теперь у меня острая необходимость локализовать этот файл для поддержки нескольких языков (5 языков).

У меня есть перевод для каждого языка, который мне нужно поддерживать.

Итак, я добавил поддержку языка для Constants.h файла из инспектора. И XCode создал версии файла Constants.h для каждого языка.

После этого я отредактировал содержимое файлов, относящихся к конкретному языку, например:

Constants.h(Dutch)

#define kGuideTitle @"Leitfaden"
#define kSeatingTitle @"Sitzplan"
#define kNotesTitle @"Notizen"
#define kQuestionsTitle @"Fragebogen"
#define kTimelineTitle @"Zeitlinie"
#define kMessagesTitle @"Nachrichten"

Но когда я запускаю код в симуляторе (язык симулятора установлен на голландский), я вижу только английскую версию текста по всему приложению. Почему это так?

Может ли какой-либо файл быть локализован или только файл localizable.strings может быть локализован?

(я не хочу переделывать все файлы в файл localizable.strings).

Может кто-нибудь помочь, пожалуйста?

Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Вы не можете так делать.#define заменяется на этапе предварительной обработки, прежде чем ваш код попадет в компилятор.т.е. только один набор ваших языков когда-либо будет "скомпилирован".Вам нужно будет использовать локализованные строки.

0 голосов
/ 13 марта 2012

Это скомпилированный код, использование файлов .h таким образом не позволит вам изменить язык во время выполнения.

...