【发布时间】:2012-10-10 05:09:24
【问题描述】:
我在 Android 应用程序中有几个语言文件:value/strings.xml、value-en/strings.xml、...等 可以将这些文件的内容加载到某些数组或其他东西中。例如,我想在运行时将默认文本字符串和英文字符串加载到 2 个不同的数组中。
谢谢
阿林
【问题讨论】:
-
您是否尝试更改资源配置中的语言环境?
-
我可以更改语言,然后我可以访问配置。但我打算在运行时不更改语言环境的情况下将字符串加载到数组中。我想知道是否有类似的东西:array = loadResources("en"), array2=loadResources("es")。在运行时更改语言环境只是为了获取这些数组不是我的选择,也许是直接访问文件?
-
我并不是说要更改系统区域设置,但您可以在配置对象中更改它并使用 resource.setConfiguration
-
你无法真正访问这些文件,因为 xml 是由 sdk 编译的
-
我的意图是使用一些专有的语言系统(这是不明智的),因为应用程序需要这样做。为了不硬编码大量语言键和值,我在想也许我可以重用标准值/strings.xml 我知道有更好的推荐方法,但这个方法的要求是定义语言文件,并且用户在运行时选择语言,根据他的选择,应用程序加载正确的数组。为了避免硬编码,我想也许我可以使用这些。我只是尽量保持对默认最佳实践的封闭。
标签: android string resources locale