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

标签 android ios cross-platform

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

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

编辑:例如,我想要一个文件,例如

颜色名称.txt

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

我可以将其包含在我拥有的 Android 和 iOS 项目中,其方式是在代码中对 COLOR_NAME_BLUE 进行符号检查,如果有人输入 COLOR_NAME_BLEU,它将引发编译错误。

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

最佳答案

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

您应该使用 python 程序(或某些较差的脚本系统)来获取您的输入文件(检查其是否有错误)并为 iOS 输出 Localized.strings 文件,为 Android 输出 strings.xml 文件。

只要您很好地掌握了目录结构,您就应该能够将 Localized.strings 文件和 strings.xml 文件放置在构建所需的位置。

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

PRIMARY_AGE_10 "Primary Age 10"

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

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

iOS Localized.strings 格式是这样的:

"PRIMARY_AGE_10" = "Primary Age 10";

然后,当我想使用标签“Primary Age 10”而不是使用 NSString 或 @“Primary Age 10”时,我只需进行如下调用:

NSLocalizedString(@"PRIMARY_AGE_10", nil) 

另一大优势是,如果您需要本地化,您可以生成多个 Localized.strings 文件和 strings.xml 文件。

关于android - 我可以包含一个自动完成和跨平台(iOS/Android)的字符串文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19326986/

相关文章:

iOS swift : Protocol and Types

ios - 为现有实体创建新的 CoreData 属性时 Swift 崩溃

linux - 将 fork-exec 习惯用法移植到 Windows

c++ - 如何避免在 64 位指针上浪费内存

ios - UIAlertController 没有消失

java - 如何让机器保持清醒?

java - API 19 : android. view.InflateException:二进制 XML 文件行 #0:膨胀类 SeekBar 时出错

java - 第二次加载后位图大小超出虚拟机预算

android - firebase.notifications() 在 react-native-firebase 中抛出错误

android - 未解析的引用 :test in KoinTest