频道栏目
首页 > 程序开发 > 移动开发 > Android教程 > Android实例 > 正文
Android本地化
2016-02-03 10:50:48      个评论      
收藏   我要投稿

Android应用程序可以在许多不同地区的许多设备上运行。为了使应用程序更具交互性,应用程序应该处理以适合应用程序将要使用的语言环境方面的文字,数字,文件等。

在本章中,我们将解释,如何根据不同区域等应用程序我们将本地化的应用中定位使用的字符串,并以同样的方式的其他东西可以本地化。

本地化字符串

为了在你的应用程序中使用的字符串进行本地化,使RES下一个新的文件夹名称为本地值(values-local),当地将被替换的区域。

例如,在意大利的情况下,值在(values-it)文件夹将在res下。这显示在下面的图片:

Anroid Localization TutZ喎vcmlhbA==" data-ke-="" src="/uploadfile/2016/0203/20160203105145609.jpg" style="border: 0px; height: auto;" />

该文件夹制成之后,从默认的文件夹中的strings.xml复制到所创建的文件夹。并更改其内容。举例来说,已经改变参考hello world字符串的值。

意大利, RES/VALUES-IT/STRINGS.XML

<;?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello_world">Ciao mondo!</string> </resources>

西班牙, RES/VALUES-IT/STRINGS.XML

<;?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello_world">Hola Mundo!</string> </resources>

法国,RES/VALUES-IT/STRINGS.XML

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

除了这些语言,其他语言的区域码已在表中给出:

Sr.No 语言和代码
1 Afrikanns
代码:af 文件夹名称: values-af
2 Arabic
代码:ar 文件夹名称:values-ar
3 Bengali
代码:bn文件夹名称:
4 Czech
代码:cs文件夹名称:values-cs
5 Chinese
代码:zh文件夹名称: values-zh
6 German
代码:de 文件夹名称:values-de
7 French
代码:fr 文件夹名称::values-fr
8 Japanese
代码:ja 文件夹名称:values-ja

例子

这里有一个例子演示如何使用字符串的本地化的。它创建了一个基本的应用程序,允许根据美国和意大利地区的自定义应用程序。

为了试验这个例子,可以在实际设备或模拟器运行此应用程序。

Steps 描述
1 使用Android Studio创建Android应用程序,并将其命名为: Locals。在创建这个项目,确保目标SDK编译在Android SDK的最新版本或使用更高级别的API
2 修改src/MainActivity.java文件添加必要的代码
3 修改res/layout/activity_main添加相应的XML组件
4 修改res/values/string.xml 添加必要的字符串
5 创建 res/values-it/string.xml添加必要的字符串
6 运行应用程序并选择运行Android设备,并在其上安装的应用和验证结果

以下是修改后的主活动文件的内容 src/com.yiibai.locals/MainActivity.java.

package com.example.locals; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }

以下是修改 res/layout/activity_main.xml 的内容

<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="174dp" android:text="@string/hello_world" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout>

以下是 res/values/string.xml. 的内容

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

以下是 res/values-it/string.xml. 的内容

<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Locals</string> <string name="action_settings">Settings</string> <string name="hello_world">Ciao mondo!</string> </resources>

以下是 AndroidManifest.xml 文件的内容

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.yiibai.locals" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.yiibai.locals.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

让我们试着来运行修改本地化应用。安装程序AVD并启动它,如果一切设置和应用程序都没有问题,它会显示以下仿真器窗口:

Anroid Localization Tutorial

现在从菜单/系统设置/语言意大利改变设置设备的语言。

现在再次打开应用程序,这时候会看到的Hello World在意大利语言。它已被证明下面::

Anroid Localization Tutorial

 

 


点击复制链接 与好友分享!回本站首页
相关TAG标签
上一篇:Android MediaPlayer(多媒体播放)
下一篇:Android加载Spinner
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站