我可以包含一个自动填充和跨平台的字符串文件(iOS / Android)吗?

时间:2013-10-11 20:47:28

标签: android ios cross-platform

我甚至不确定这个问题的词汇是什么,但是我希望有一个文件,它是一个字符串列表,可以作为常量包含在Android和iOS中。

我正在努力寻找更好的词汇来描述这个问题,所以评论也非常感谢,谢谢大家。

编辑:例如,我想要一个像

这样的文件

color_names.txt

COLOR_NAME_BLUE  "blue"
COLOR_NAME_RED   "red"
COLOR_NAME_GREEN "green"

我可以在Android和iOS项目中包含哪些内容,在代码COLOR_NAME_BLUE中进行符号检查,如果有人要输入COLOR_NAME_BLEU,则会抛出编译错误。

实际文件会更大,是我想要维护的东西。我可以把它放在JSON中但是我必须在运行时进行检查,这并不可怕我只是想弄清楚是否有更好的方法。

1 个答案:

答案 0 :(得分:1)

我们还有应该共享字符串的iOS和Android应用。

你应该使用一个python程序(或一些较差的脚本系统)来获取输入文件(检查错误)并输出iOS的Localizable.strings文件和Android的strings.xml文件。

只要您对目录结构有很好的处理,就应该能够将Localizable.strings文件和strings.xml文件放在构建它们所需的位置。

例如,对于像这样的标签对:

PRIMARY_AGE_10 "Primary Age 10"

标签/字符串匹配对于Android strings.xml非常明显:

<string name="PRIMARY_AGE_10">Primary Age 10</string>

iOS Localizable.strings格式如下:

"PRIMARY_AGE_10" = "Primary Age 10";

然后当我想使用标签“Primary Age 10”而不是使用NSString或@“Primary Age 10”时,我只是打个电话:

NSLocalizedString(@"PRIMARY_AGE_10", nil) 

另一个很大的好处是,如果您需要本地化,您可以生成多个Localizable.strings文件和strings.xml文件。