将英语国家名称翻译为法语(API 19)

时间:2018-08-25 20:25:40

标签: android

所以我有一个我无法解决的小问题。我需要将国家/地区名称英语翻译为法语,但是我无法使用API​​ 19来做到这一点。我读过类似的主题,但答案仅适用于API> 19。

我检查了库,但是找不到适合我的问题的库,关于它的库并不多。

编辑:在API 21下不起作用的代码:

String country = "Japonia";
Locale outLocale = Locale.forLanguageTag("en_GB");
Locale inLocale = Locale.forLanguageTag("pl-PL");
for (Locale l : Locale.getAvailableLocales()) {
    if (l.getDisplayCountry(inLocale).equals(country)) {
        System.out.println(l.getDisplayCountry(outLocale));
        break;
    }
}

来自:Translate country name into other language

编辑2:

我从apache添加了Dependenccy,但是如何使用?

LocaleUtils.toLocale(localeString)

编辑3

我使用了上面的行,但是这行不通...我将其与“巴西”一起使用,但返回了异常。

预先感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

这是因为Locale.forLanguageTag()是在API级别21中添加的。

尝试一下:

  1. 通过将其添加到build.gradle中来添加Apache Commons Lang数据包:

    compile 'org.apache.commons:commons-lang3:3.6'

  2. 改为使用此功能:

    LocaleUtils.toLocale(localeString)