Android应用包含2种不同的语言

时间:2014-07-30 07:20:34

标签: android

我是Android应用开发者的新手。我想根据书籍的内容创建一个应用。但这本书包含2种不同的语言.App必须使用相同的语言和字体..

那么如何在我的应用程序中包含该语言和字体? 请帮帮我。

3 个答案:

答案 0 :(得分:0)

要添加字体,请阅读 - > this

可以添加语言,为每种语言创建一个value-xx.xml ..像这样:

MyProject/
    res/
       values/
           strings.xml
       values-es/
           strings.xml
       values-fr/
           strings.xml

(没有sufix的值是英文)

在每个文件中,语法都必须如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">My app name</string>
    <string name="hello_world">Hello world!</string>
</resources>

答案 1 :(得分:0)

您应该拥有项目资源的常规文件夹,然后是特定语言。

常规文件夹位于Project - &gt; res - &gt;值。 该文件夹可以包含strings.xml,fonts.ml,colors.xml,dimens.xml等文件。

除上述常规文件夹外,如果我选择西班牙语,您还可以通过提供特定语言的folder.consider来支持其他语言。 我有一个文件夹项目 - &gt; res - &gt; values-es。 (&#34; es&#34;西班牙语,&#34; en&#34;英语等) 这个文件夹,&#34; values-es&#34;还有文件strings.xml,fonts.ml,colors.xml,dimens.xml等,

现在,对这些文件的访问将受用户区域设置的控制。 如果用户的区域设置为&#34; es&#34;那么&#34; values-es&#34;中的文件将检查该值。如果找到该值,则返回该值,否则为默认值&#34;值&#34;文件夹将被检查。 如果用户具有未定义其特定值文件夹的区域设置,则默认为&#34;值&#34;文件夹将用于检查值。即如果我的语言环境是日语,我只有&#34;值&#34;和&#34;价值观&#34;文件夹我将从&#34;值&#34;中获得值。文件夹中。

你的情况:你应该在&#34;值&#34;中有一个字体文件夹。不需要另一个。一个应该就够了。但是对于字符串,你应该有两个字符串文件,每个字符串在#34;值&#34;和&#34;值 - ??&#34;。

答案 2 :(得分:0)

你应该把xml字符串放在特定的目录中。在这里阅读更多http://developer.android.com/training/basics/supporting-devices/languages.html

对于前面,自定义文本视图会更好:

/** * TextView with custom font
*/
public class TextViewWithFont extends TextView {
private final String FONT = "fonts/Verdana.ttf";

public TextViewWithFont(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.setTypeface(Typeface.createFromAsset(context.getAssets(), FONT));
    }
public TextViewWithFont(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        this.setTypeface(Typeface.createFromAsset(context.getAssets(), FONT));
    }
public TextViewWithFont(Context context) {
        super(context);
        this.setTypeface(Typeface.createFromAsset(context.getAssets(), FONT));
    }
}