Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多种语言的Android应用_Android_Multilingual - Fatal编程技术网

多种语言的Android应用

多种语言的Android应用,android,multilingual,Android,Multilingual,我正在用英语和古吉拉特语开发一个Android应用程序。用户将选择他想在应用程序中使用的语言。 这里的问题是Android默认情况下不支持古吉拉特语、印地语或其他德夫纳加利语。 假设我通过在assets文件夹中设置字体来实现这一点,但真正的问题是,如果我想在将来添加更多此类语言,我不想更改应用程序的代码,那么,如何在不更改代码的情况下添加更多语言呢?创建多个res文件夹,您将命名这些文件夹,例如res fr,并在此文件夹中存储一个string.xml文件,其中包含所有字符串。通过使用在应用程序中

我正在用英语和古吉拉特语开发一个Android应用程序。用户将选择他想在应用程序中使用的语言。 这里的问题是Android默认情况下不支持古吉拉特语、印地语或其他德夫纳加利语。
假设我通过在assets文件夹中设置字体来实现这一点,但真正的问题是,如果我想在将来添加更多此类语言,我不想更改应用程序的代码,那么,如何在不更改代码的情况下添加更多语言呢?

创建多个
res
文件夹,您将命名这些文件夹,例如
res fr
,并在此文件夹中存储一个
string.xml
文件,其中包含所有字符串。通过使用在应用程序中导入它们

getResources().getString(R.string.mystring);
请记住,始终为每个字符串使用相同的名称,但要更改每个元素的内容:

English string.xml

<string name="welcome">Welcome to my application</string>
<string name="welcome">Bienvenue sur ma demande</string>
欢迎使用我的应用程序
和法语string.xml

<string name="welcome">Welcome to my application</string>
<string name="welcome">Bienvenue sur ma demande</string>
Bienvenue-sur-ma-demande

为此,您需要正确的font.ttf文件。你必须将它复制到你的项目资产文件夹中,而不是使用字体,你可以修改你自己的字体…

创建资源包并按区域设置访问它们。这是I18N的常用方法,Java.Android支持2.3版的印地语。你可以在res中使用文件夹值,也可以将字符串文件放在那里作为@Tobias Moe Thorstensent。这很好,但如何处理其他语言。Android不支持印地语、古吉拉特语、,默认情况下,泰米尔语或其他印度语言。为什么我的手机会选择string.xml文件,而该语言本身不在设备中。android支持2.3版的印地语,将值放入values hi文件夹中