如何设置后备区域设置?

时间:2018-01-10 16:11:39

标签: java android multilingual

我在一个项目中有几个版本的应用程序。 对于一个版本,如果找不到设备的区域设置(例如,法语设备没有值-fr),我希望使用德语。 对于另一个版本,如果找不到设备的区域设置,我会想要使用英语。

除了通过覆盖每个版本中的values / strings.xml(用作回退资源)之外,还有其他方法可以实现吗?

2 个答案:

答案 0 :(得分:1)

我不相信您可以为找不到的特定区域设置选择后备区域设置。

而是创建一个默认的语言环境,该语言环境将始终用于值/ string.xml中的回退。

如果设备设置为您的应用程序没有的区域设置(例如,值-fr),则它将只使用默认值string.xml。

答案 1 :(得分:0)

如果有未翻译的资源,它们将回退到默认文件(未使用特定区域设置设置的文件)。你无法改变这种行为。

但是,你可以为它编写一个库,但由于它是一个库,所有对Context#getString的引用都会调用调用默认文件的本机系统而不是回退资源的特定语言环境。