未完成 Localizing with Resources-资源本地化

举个例子:使用Android程序的人很多,按使用的语言来分,比如中国人、美国人、法国人、西班牙人等等。全世界的人用着不同的语言,如果恰巧你开发的app同时给使用不同语言的人使用,你总不能给中国的用户使用全是韩文的程序吧,大部分人还是看不懂的,如何能让不同国家的人同时使用同一款app而显示的是自己熟悉的语言呢?唉哟,还真有,那就是多语言支持。其实除了文字外,程序中可能还会有音频、图片、视频等等元素,下面要讲的就是这些资源的本地化,程序根据设备的设置自动选择相应的资源 。

先讲讲语言方面的吧。

先来看一张表:

默认语言 本地化的简写 values/strings.xml (默认语言放strings.xml)
German de values-de/strings.xml
Chinese zh values-zh/strings.xml
Czech cs values-cs/strings.xml
Dutch nl values-nl/strings.xml
French fr values-fr/strings.xml
Italian it values-it/strings.xml
Japanese ja values-ja/strings.xml
Korean ko values-ko/strings.xml
Polish pl values-pl/strings.xml
Russian ru values-ru/strings.xml
Spanish es values-es/strings.xml
Arabic ar values-ar/strings.xml
Bulgarian bg values-bg/strings.xml
Catalan ca values-ca/strings.xml
Croatian hr values-hr/strings.xml
Danish da values-da/strings.xml
Finnish fi values-fi/strings.xml
Greek el values-el/strings.xml
Hebrew iw values-iw/strings.xml
Hindi hi values-hi/strings.xml
Hungarian hu values-hu/strings.xml
Indonesian in values-in/strings.xml
Latvian lv values-lv/strings.xml
Lithuanian lt values-lt/strings.xml
Norwegian nb values-nb/strings.xml
Portuguese pt values-pt/strings.xml
Romanian ro values-ro/strings.xml
Serbian sr values-sr/strings.xml
Slovak sk values-sk/strings.xml
Slovenian sl values-sl/strings.xml
Swedish sv values-sv/strings.xml
Tagalog tl values-tl/strings.xml
Thai th values-th/strings.xml
Turkish tr values-tr/strings.xml
Ukrainian uk values-uk/strings.xml
Vietnamese vi values-vi/strings.xml
再看一张图:

未完成 Localizing with Resources-资源本地化_第1张图片


是不是顿时明白了?对,你只要在res目录下建不同名称的value文件夹,如values-de是德国,values-zh是中国等等,每个value文件夹里建立一个strings.xml。你看,在Android Studio里还给你显示国旗图标了呢。

再看不同的strings.xml里的内容,就更明白了:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Multi Language App</string>
    <string name="action_settings">Settings</string>
    
    <string name="welcome">Welcome!</string>
    <string name="email">Email Address</string>
    <string name="password">Password</string>
    <string name="login">Login</string>
    <string name="signup">Don\'t have account? Sign Up</string>

</resources>

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">多语言支持APP</string>
    <string name="action_settings">设置</string>
    
    <string name="welcome">欢迎!</string>
    <string name="email">邮箱地址</string>
    <string name="password">密码</string>
    <string name="login">登录</string>
    <string name="signup">还没有账户?赶紧注册!</string>

</resources>





设计一套灵活的布局在创建布局时,确保包含文字的界面元素拥有充足的空间。 最好在满足您的语言的基础上多出部分空间(通常留出 30% 的空间)以适应其他语言。

你可能感兴趣的:(未完成 Localizing with Resources-资源本地化)