我有一个 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 文件)。
有人可以帮忙吗?
非常感谢。
最佳答案
你不能那样做。 #define
在代码进入编译器之前的预处理器阶段被替换。也就是说,只有一组语言会被“编译”。您将需要使用本地化的字符串。
关于iphone - 如何为 Constants.h 文件添加语言支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9682974/