当前位置:首页 » 安卓系统 » android新语言

android新语言

发布时间: 2022-01-17 20:00:21

Ⅰ 如何向android的setting语言列表中添加一门语言

第一种:修改配置文件
位置:build/target/proct/languages_full.mk| languages_small.mk,这两个文件里头,有PRODUCT_LOCALES := en_US en_GB fr_FR it_IT es_ES es_US 这样的片段,其实setting中语言选择列表的数据源头就来源于此,既然找到了源头,那只要在之后加上想要的语言即可,比如要加越南语 只要在后面加上 “vi_VN”即可。里面都有PRODUCT_LOCALES :=这样的片段,从命名上也可发现一个full一个small,当不需要更多的语言时候,那languages_small.mk里面的语言就可以满足,而且语言少,生成的image所占用的空间也会相对小些,是根据同目录下full.mk里的注释“Get a list of languages. We use the small list to save space on smaller devices.”。
一个full.mk的文件,这里面有这样的片段:$(call inherit-proct, build/target/proct/languages_small.mk),后者路径就是我们要设置的地方。好了,改好后,得整个make下,好多模块都是重新编译
第二种:编码方式修改
Android里一个listview会对应一个数据数组,那只需在这个数组里按格式添加所需要的数据就行了,目标是com.android.settings.LocalePicker.java,在该文件133行位置做如下修改:
mLocales = new Loc[finalSize+1];
for (int i = 0; i < finalSize ; i++) {
mLocales = preprocess;
}
Locale temp = new Locale("vi", "VN");
mLocales[finalSize] =new Loc(toTitleCase(temp.getDisplayLanguage(temp)), temp);

安卓系统语言添加

虽然Android从2.3开始已经支持50种以上的语言,但是不是每种语言都有字体可以显示。遇到一个新需求,有客户要求对hindi语言的支持。于是上网找了一些资料,发现网上介绍的大部分是如何替换默认字体,就是替换./frameworks/base/data/fonts/DroidSansFallback.ttf,但是替换完之后,中文就无法正常显示。其实只要有下面几个步骤,就可以实现新曾加一种语言的显示支持:
1. 需要有可以显示hindi语言的字体,我在网上下载了一个:DroidHindi.ttf
2. 需要修改的地方主要有
1) 将下载的字体文件拷贝到:./frameworks/base/data/fonts/
2) 修改./frameworks/base/data/fonts/Android.mk,将DroidHindi.ttf添加到_from:

_from := \
DroidSans.ttf \
DroidSans-Bold.ttf \
DroidSansArabic.ttf \
DroidSansHebrew.ttf \
DroidSansThai.ttf \
DroidHindi.ttf \
DroidSerif-Regular.ttf \
DroidSerif-Bold.ttf \
DroidSerif-Italic.ttf \
DroidSerif-BoldItalic.ttf \
DroidSansMono.ttf \
Clockopia.ttf

3) Hindi的语言代码是hi_IN,修改./device/qcom/common/common.mk,将hindi的语言代码加进去,这样在你的设置->语言和键盘->选择语言里面就可以看见hindi语言了:

PRODUCT_LOCALES := en_US en_GB es_ES es_US fr_FR zh_CN zh_TW hi_IN it_IT pt_PT ru_RU

4) 修改./external/skia/src/ports/SkFontHost_android.cpp,将DroidHindi.ttf加进去。网上介绍的很多方法都没有提到这一步,如果没有这一步的话,添加的语言是不生效的,显示的是乱码,因为android无法找到hindi语言可以显示的字体,还是会选择默认字体去显示。修改的地方为:

/* Fonts must be grouped by family, with the first font in a family having the
list of names (even if that list is empty), and the following members having
null for the list. The names list must be NULL-terminated
*/
static const FontInitRec gSystemFonts[] = {
{ "DroidSans.ttf", gSansNames },
{ "DroidSans-Bold.ttf", NULL },
{ "DroidSerif-Regular.ttf", gSerifNames },
{ "DroidSerif-Bold.ttf", NULL },
{ "DroidSerif-Italic.ttf", NULL },
{ "DroidSerif-BoldItalic.ttf", NULL },
{ "DroidSansMono.ttf", gMonoNames },
/* These are optional, and can be ignored if not found in the file system.
These are appended to gFallbackFonts[] as they are seen, so we list
them in the order we want them to be accessed by NextLogicalFont().
*/
{ "DroidSansArabic.ttf", gFBNames },
{ "DroidSansHebrew.ttf", gFBNames },
{ "DroidSansThai.ttf", gFBNames },
{ "DroidHindi.ttf", gFBNames }, // 新添加的语言
{ "MTLmr3m.ttf", gFBNames }, // Motoya Japanese Font
{ "MTLc3m.ttf", gFBNames }, // Motoya Japanese Font
{ "DroidSansJapanese.ttf", gFBNames },
{ "DroidSansFallback.ttf", gFBNames }
};

5) 去./build/target/proct/full.mk看看系统选择的是哪个语言列表,我的是:
$(call inherit-proct, build/target/proct/languages_small.mk)

那我就去修改./build/target/proct/languages_small.mk,若这里显示的是languages_full.mk,那么就修改./build/target/proct/languages_full.mk文件,修改如下:
PRODUCT_LOCALES := en_US en_GB fr_FR hi_IN it_IT de_DE es_ES

3. 剩下的就是重新编译一下,然后flash到手机或模拟器上就可以了。
设置页面:

打开一个Hindi的网页,hindi语言可以正常显示了:

http://www.cnblogs.com/melaniedeng/archive/2012/02/15/2353382.html

Ⅲ android 谷歌什么时候推出的新语言

谷歌推出全新Android开发语言Sky:让App更流畅
除游戏之外的Android应用通常使用Java语言来开发,而谷歌内部的一个团队正在探索全新的应用开发方式。他们利用了谷歌自主的网页开发语言Dart来开发Android应用。这帮助他们专注于速度,并可以与网页进行深度整合。
Dart由Chrome V8引擎的团队成员发明。该团队近期举行了Dart开发者峰会,展示了在Android项目中使用的Dart。在Android项目中使用的Dart并未被称作“Android版Dart”,而是有了一个新名字“Sky”。目前,Sky只是一次开源的尝试。但相对于传统的Android应用开发方式,Sky有着多方面优势。
Sky的最主要目的包括提高运行速度和响应速度。在大部分设备上,应用流畅的标准都是实现60FPS的帧率。不过,Dart团队希望实现高达120FPS的帧率。目前在Android平台上,许多应用连标准的60FPS帧率都难以达到,更不用说120FPS。60FPS的帧率要求每16毫秒绘制一帧,当画面绘制速度达不到这一水平时,应用就会出现卡顿。
Dart团队展示了一款演示应用,每帧的绘制速度仅为1.2毫秒。尽管这只是一次简单的展示,但这意味着,对于开发流畅而复杂的应用来说,Sky有着很大的空间,这也使120FPS的帧率成为了可能。该团队表示,Sky的应用程序接口(API)不会影响界面的主线程,这意味着即使应用运行速度变慢,用户界面仍将保持流畅的响应速度。

Sky并不依赖于平台,其代码可以运行在Android、iOS,以及任何集成了Dart虚拟机的平台上。这类应用的运行类似于网站。应用的很大一部分基于HTTP,这意味着开发者可以进行持续的开发,并确保所有用户一直使用最新版本。这款演示应用的弱点在于无法离线运行,而启动应用则需要1到2秒钟时间,因为应用需要下载数据。不过,这两方面的问题可以通过缓存机制来解决。
基于HTTP的模式使开发变得很简单。开发者不必编辑代码、编译并打包,这些代码可以在HTTP服务器上编辑。而用户只需关闭并重新打开应用,即可完成应用的“升级”。这就像是一款网页浏览器。Android开发者可以使用Sky Framework,这提供了一整套Material Design小工具,帮助开发者方便地增加操作栏、触控效果、导航面板,以及Android应用中所需的一切元素。
与普通应用类似,Sky应用可以获得Android的全部权限和API,但结合来自网页服务器的自动升级功能,这将带来信息安全问题。不过目前,Sky仅仅只是一个试验项目。在Sky成为一种主流的Android应用解决方案之前,Sky团队需要解决这些问题。该团队的GitHub页面显示:“我们仍在对Sky进行频繁地迭代,这意味着框架和底层引擎有可能以不兼容的方式出现改变。”

Ⅳ 安卓用的是什么语言开发的

安卓官方开发语言:Kotlin 初探

Kotlin 是一种在 Java 虚拟机上执行的静态型别编程语言,由 JetBrains 开发团队所开发。该语言有几个优势。

它大大减少需要写的样板代码的数量。避免空指针异常等整个类的错误。构建服务器端程序、Android 应用程序或者在浏览器中运行的前端程序。通过 100% Java 互操作性,利用 JVM 既有框架和库。

在Kotlin中变量声明有两种类型,val修饰变量是只读变量即只能赋值一次,再次赋值时就会编译错误,如果需要多次修改值就需要使用var。

(4)android新语言扩展阅读:

The IntelliJ Kotlin 插件扩展了 Java 编译器使得 Kotlin 代码能够得以编写、编译和调试。除此之外,关于基本的 Java 集合,已经有编写好的帮助函数,可以更顺畅地衔接将在 Java 8 中出现的集合扩展。

Kotlin,类似 Xtend 一样,旨在提供一种更好的 Java 而非重建整个新平台。这两种语言都向下编译为字节码(虽然 Xtend 是首先转换成相应的 Java 代码,再让 Java 编译器完成繁重的工作),而且两者都引入了函数和扩展函数(在某个有限范围内静态地增加一个新方法到某个已有类型的能力)。

Ⅳ android开发中怎么设置多语言版本

android多语言实现必须是将strings.xml放在不同的文件夹目录下,由安卓系统自动去加载文字资源。

1.Android 中要实现国际化比较简单,字符串国际化:只要在 res 文件夹下新建对应语言的 values 文件夹就好了。

例如:

  1. 英语环境下的,文件夹命名为:values-en

  2. 美国英文环境:values-en-rUS

  3. 中文环境为:values-zh

  4. 大陆地区中文环境:values-zh-cn


2.eclipse 下新建 Android 项目时,会在 res 目录下自动创建一个默认语言环境的文件夹 : values 。

3.当某一个资源没有在语言环境的对应的资源集合中找到时,就会使用 values 下的资源。若某一个语言环境没有在项目中定义语言环境,那么也会使用 values 下的资源。

Ⅵ 为Android系统中自己添加语言怎样操作

1.首先你在settings中出现阿拉伯语的选项了表示你在build/target/proct/language-full.mk里添加了的PRODUCT-LOCALES:=ar-EG
2.在packages/apps/settings/res/下面添加values-ar和values-ar-nokeys(这些文件你的自己去找天添加进去)
3.packages/apps/settings/tests/res/下添加values-ar 4.frameworks/base/core/res/res/下添加values-ar 这就好了注意:我让你添加的文件下你可以去源码中下载 看有没有,我在Android-2.3.7中找到的

Ⅶ Android开发中新增语言怎么定义

android多语言实现必须是将strings.xml放在不同的文件夹目录下,由安卓系统自动去加载文字资源。 1.Android 中要实现国际化比较简单,字符串国际化:只要在 res 文件夹下新建对应语言的 values 文件夹就好了。 例如: 英语环境下的,文件夹命名为:values-en 美国英文环境:values-en-rUS 中文环境为:values-zh 大陆地区中文环境: values-zh-cn 2.eclipse 下新建 Android 项目时,会在 res 目录下自动创建一个默认语言环境的文件夹 : values 。 3.当某一个资源没有在语言环境的对应的资源集合中找到时,就会使用 values 下的资源。 若某一个语言环境没有在项目中定义语言环境,那么也会使用 values 下的资源。

Ⅷ android开发出新语言了吗

安卓不能来发出语言来吧,安卓都是基于JAVA开发出来的!

Ⅸ android是一种什么语言

android(又被简称为"and")是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。android是微软公司研究员Anders Hejlsberg的最新成果。android看起来与c有着惊人的相似;它包括了诸如单一继承、界面、与c几乎同样的语法,和编译成中间代码再运行的过程。但是android与c有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司网络框架的主角。
在本文中,我将考察创建一种新计算机语言的一般动机,并将特别指明是什么原因导致了android的出现,然后我将介绍android和它与Java、C、C++的相似之处。其次我将讨论一些存在于c和android之间的高层次的和基础的差别。我将以衡量在用多种语言开发大型应用程序的时候所需的知识(或者对这种知识的缺乏程度)来结束本文,而这正是c和android的一个主要战略。目前,android和c还只能以android语言规则,以及Windows 2000的一个“android预览版本”,还有MSDN上迅速增多的文档集子的形式获得(还没有最终定型)。

安卓手机如何添加多国语言

添加方法是有的,网上可以找到很多。不过很麻烦,以下以添加波斯语为例给你简单的说下:

1、在sdkDemo.mk 中添加语言和国家的国际化的缩写代码,如伊朗:IR表示,波斯语用fa表示,这是国际化的标准,不可以随便写的。如果不知道国家与地区的缩写,可以去网上找找。
PRODUCT_LOCALES:= fa_IR en_US zh_CN en_GB fr_FR it_IT es_ES ……..
sdkDemo.mk的路径为:gingerbread\device\rockchip\sdkDemo\sdkDemo.mk.
2、在framework/base/data/font目录下添加波斯语的字库,如DroidSansArabic.ttf
3、字库加完后,就要去调用字库了,调用字库的文件是在external/skia/src/ports/SKFontHost-android.app下,
static constFontInitRec gSystemFonts[] = {
{ "DroidSans.ttf", gSansNames },
………
{
"DroidSansArabic.ttf",
gFBNames },
4、字库准备好了,还有一些makefile需要修改了。在external/icu4c/studata/ Android.mk下:
config := $(word1, \
$(if $(findstringar,$(PRODUCT_LOCALES)),large) \

$(if
$(findstring fa,$(PRODUCT_LOCALES)),large) \
5、 在frameworks/base/core/res/res/下新增加一个values-fa-rIR的文件夹,并新建一个strings.xml文件。
6、上面五步加完后,在settingsàLanguage&keyboardàSelect language列表下就会出现波斯语这个选项了,但是选了波斯语后,并没有出现波斯语文字。这时就需要在相应的APP下的res/下新建values-fa-rIR的文件夹,并翻译strings.xml文件即可。如主app的strings.xml路径为:gingerbread\packages\apps\Desktop2D_mbx_new\res\values-fa-rIR\strings.xml

最后,以上所有内容都加好后,一定要记得:
Make clean
Make prebuild
Make

建议你还是刷新ROM来解决吧!

热点内容
七七网源码 发布:2024-05-06 10:27:36 浏览:294
shell输入脚本 发布:2024-05-06 10:19:49 浏览:984
通达信自定义板块在哪个文件夹 发布:2024-05-06 09:56:37 浏览:103
在linux搭建mqtt服务器搭建 发布:2024-05-06 09:52:00 浏览:558
windowspython23 发布:2024-05-06 09:27:50 浏览:746
编程ug开初 发布:2024-05-06 09:27:48 浏览:560
小白源码论坛 发布:2024-05-06 09:24:56 浏览:139
android进程重启 发布:2024-05-06 09:15:09 浏览:97
ie浏览器设置默认ftp 发布:2024-05-06 09:14:03 浏览:885
迈腾尊贵中控配置怎么使用 发布:2024-05-06 09:13:28 浏览:656