如何根据键盘的语言更改我的应用程序的语言?

时间:2014-05-10 05:43:59

标签: android localization

我正在开发一个Android应用程序。在该应用程序中获取用户android设备的键盘语言。如果用户键盘是法语,则应将整个应用程序字体变为法语。

因为我曾尝试过以下演示示例。

在值 - >字符串

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Localizationdemo</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
</resources>

在值-fr-&gt;字符串

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Mon Application</string>
    <string name="hello_world">Bonjour le monde !</string>
</resources>

但是我只能得到英文“Hello world”,我的键盘是用法语编写的。

2 个答案:

答案 0 :(得分:1)

您设备的语言是什么?如果您只更改键盘语言,它将无法工作。 尝试将设备设置为法语。

答案 1 :(得分:1)

希望你在代码中写下这些行

Locale locale = new Locale("FR");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getApplicationContext().getResources().updateConfiguration(config, null);

因为当您将本地语言设置为 fr 时,如果将其设置为它 fr 获取相同的字符串>它会考虑你是当地语言斜体等。

注意:如果您的设备可能与所有语言不兼容,那么您需要使用外部 ttf