Android Local语言设置
android——实现多语言支持

res/
values/
strings.xml
values-es/
string.xml
values-fr/
string.xml
把字符串值添加到合适的文件中,在运行时,Android根据本地用户的设置来使用合适的字符串资源。例如,下面s/string.xml
西班牙语, /values-es/strings.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <string name="title">Mi Aplicación</string> 4 <string name="hello_world">Hola Mundo!</string> 5 </resources>
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
android——实 现 多 语 言 支 持
我们知道,建好一个android 的项目后,默认的res下面 有layout、values、drawable等目录。这些都是程序默认的资源文件目录,如果 要实现多语言版本的话,我们就要添加要实现语言的对应的资源文件。步骤如下:
2、在源代码中,可以使用语句R.string.<string_name>来引用字符串资源,例如:
1 // Get a string resource from your app's Resources 2 String hello = getResources().getString(R.string.hello_world); 3 4 // Or supply a string resource to a method that requires a string 5 TextView textView = new TextView(this); 6 textView.setText(R.string.hello_world);
Android 初始化语言(Android init Language翻译)!

在分析Android系统的init程序源码时看到了这份Doc,觉得对系统的分析挺有用的,所以翻译了出来!Android初始化语言(init.*.rc、init.conf文件格式)Android初始化语言包含了四种类型的声明:Actions(行动)、Commands(命令)、Services (服务)和Options(选项)。
所有这些都是以行为单位的,各种记号由空格来隔开。
C语言风格的反斜杠号可用于在记号间插入空格。
双引号也可用于防止字符串被空格分割成多个记号。
行末的反斜杠用于折行。
注释行以井号(#)开头(允许以空格开头)。
Actions和Services声明一个新的分组。
所有的命令或选项都属于最近申明的分组。
位于第一个分组之前的命令或选项将会被忽略。
Actions和Services有唯一的名字。
如果有重名的情况,第二个申明的将会被作为错误忽略。
(???我们是否应该以覆盖来代替忽略)Actions(行动)----------Actions其实就是一序列的Commands(命令)。
Actions都有一个trigger(触发器),它被用于决定action的执行时间。
当一个符合action触发条件的事件发生时,action会被加入到执行队列的末尾,除非它已经在队列里了。
队列中的每一个action都被依次提取出,而这个action中的每个command(命令)都将被依次执行。
Init在这些命令的执行期间还控制着其他的活动(设备节点的创建和注销、属性的设置、进程的重启)。
Actions的形式如下:onServices(服务)----------Services(服务)是一个程序,他在初始化时启动,并在退出时重启(可选)。
Services (服务)的形式如下:service [ ]*创建和执行一个程序()。
在程序完全执行前,init将会阻塞。
由于它不是内置命令,应尽量避免使用exec,它可能会引起init卡死。
android

市场人员反映公司的app使用系统设置俄语、西班牙语,double数据会把小数点变为逗号。
调试一下,是自定义的语言时候(例如,俄语、西班牙语)转换String.format("%.2f",67.876)。
会出现的。
1、android 系统,设置系统语言的步骤Android【设置】-【语言和输入法】-【语言】列表中找到相应语言所对应的列表项2、问题分析java.util.Locale类在这个Locale类里面,有些语言是没有,例如俄语、西班牙语等。
那么这时候android开发时候需要这些语言,怎么办。
只好后面自已新建,自定义。
/*** Locale constant for en_CA.*/public static final Locale CANADA = new Locale(true, "en", "CA");/*** Locale constant for fr_CA.*/public static final Locale CANADA_FRENCH = new Locale(true, "fr", "CA");/*** Locale constant for zh_CN.*/public static final Locale CHINA = new Locale(true, "zh", "CN");/*** Locale constant for zh.*/public static final Locale CHINESE = new Locale(true, "zh", "");/*** Locale constant for en.*/public static final Locale ENGLISH = new Locale(true, "en", "");Locale类里面,私有方法新建语言的。
Android应用资源---本地化(Localization

Android会运行在许多地区的许多设备上。
为满足大多数用户的需要,应用程序应该使用与应用所在地区相适应的文本、音频文件、数字、货币符号、以及图形等。
本文档介绍Android应用程序本地化的最佳实践。
这个原则适用于你正在使用的任何IDE 开发工具,如带有ADT的Eclipse、基于Ant的工具等。
首先要掌握Java的编程知识,并且熟悉Android的资源加载过程,以及XML中用户界面元素的声明方法。
在开发方面要掌握Activity的生存周期以及国际化和本地化的一般原则。
使用Android资源框架把应用程序本地化的外观尽可能的与核心Java功能分离,是一个良好的实践。
1.可以把大多数或所有的应用程序的用户界面的内容放到资源文件中;2.用户界面的行为,以及其他处理,是通过Java代码来驱动的。
如,如果用户输入的数据需要依赖不同的地区来格式化或排序,那么就要使用Java代码来编程处理这些数据。
概要:Android中的资源切换资源是文本字符串、布局、声音、图形以及Android应用程序中需要的其他静态数据。
一个应用程序能够包含多个资源集,每个都是针对不同的设备配置来定制的。
当用户运行应用程序时,Android会自动的选择并加载跟设备最匹配的资源。
当编写应用程序时,需要创建一组默认的资源,外加用于不同地区的可选资源。
当用户运行应用程序时,Android系统会基于地区来选择加载合适的资源。
在编写应用程序时,要给应用程序创建默认和可选资源。
对于这些创建的资源,要把它们放到res/目录下,特定命名的子目录中的文件中。
为什么默认资源是重要的?当应用程序运行在一个没有提供特定语言文本的语言环境中时,Android会从res/values/strings.xml中加载默认的字符串。
如果默认的文件不存在,或者是缺少应用程序需要的字符串,那么应用程序就不会运行,并且会显示一个错误。
下面的示例演示了当默认文本文件不完整时所发生的问题:应用程序的Java代码只引用了两个字符串,text_a和text_b。
Android实现应用内置语言切换功能

Android实现应⽤内置语⾔切换功能⼀、需求有时候应⽤需要在内部切换语⾔但⼜不影响系统的语⾔,⽐如是应⽤现在是中⽂的,系统语⾔也是中⽂的,我把应⽤的切换成英⽂显⽰后系统语⾔还是中⽂的,系统语⾔切换后也不会被改变,还有就是有些机的系统是被改造精简过的,⽐如有些国产机的系统的语⾔就被精简剩中⽂和英⽂。
⽀付宝、微信、Top Story都有在应⽤内部设置语⾔切换这样的功能。
⼆、实现效果先看看实现效果吧。
三、实现(⼀)添加多种语⾔的资源⽂件夹及⽂件我这默认是英语再添加了个俄⽂(Google翻译的)和中⽂。
values/strings.xml<resources><string name="app_name">SwitchLanguage</string><string name="helloworld">Hello World!</string><string name="language">Eng</string><string name="english">English</string><string name="chinese">中⽂</string><string name="russian">русский</string><string name="secondact">Second Activity</string></resources>values-ru/strings.xml<resources><string name="app_name">Переключение язык</string><string name="helloworld">привет мир!</string><string name="language">русский</string><string name="secondact">второй активность</string></resources>values-zh/strings.xml<resources><string name="app_name">切换语⾔</string><string name="helloworld">你好世界!</string><string name="language">中⽂</string><string name="secondact">第⼆屏</string></resources>(⼆)布局⽂件activity_main.xml默认标题栏的⽂字是切换语⾔后是不会被改变的,使⽤Toobar替换掉就可以了。
android 国家 语言标准

android 国家语言标准答:在android开发中,设置不同的国家或地区通常涉及到对语言和地区设置的考虑。
对于不同国家或地区,可能使用的语言、日期格式、数字格式等可能会有所不同。
为了支持这些差异,android提供了多种工具和API来处理这些情况。
1. 语言和地区设置:* `Locale` 类:用于表示特定的地区和其相关的语言、国家、地区等。
* `Configuration` 类:用于表示当前应用程序的配置,包括语言和地区设置。
2. 多语言支持:* 在Android中,应用程序可以使用不同的语言资源文件来提供内容,以便根据用户的语言偏好显示相应的内容。
* 可以在`res/values` 目录下创建不同的文件夹,如`values-zh`(表示中文)、`values-fr`(表示法语)等,并在其中放置相应的资源文件。
3. 动态更改语言:* 应用程序可以通过编程方式更改其语言设置,以支持动态切换语言的功能。
* 这通常涉及到修改`Configuration` 对象,并使用`Activity` 的`recreate()` 方法来重新创建活动。
4. 国际化(i18n)考虑:* 确保应用程序的内容和字符串资源是可翻译的。
* 使用适当的格式和符号,以便在显示日期、时间和数字时考虑不同的文化和习惯。
5. 处理文化敏感的数据:* 当显示涉及特定文化习俗的内容时(例如日期格式),应该根据用户所在的文化和地区适当地调整这些内容。
6. 应用测试:* 在发布应用程序之前,确保在不同的设备和模拟器上测试应用程序,以验证其正确性和适应性。
7. 遵循最佳实践:* 根据用户的语言偏好自动选择合适的内容或网站版本,即使系统的语言偏好不是用户的母语,也应向用户显示基本的内容。
AndroidApp中进行语言的切换

AndroidApp中进⾏语⾔的切换⽬录切换语⾔核⼼代码使⽤dragonFace改系统语⾔本篇简单介绍将在Android App中进⾏语⾔的切换和使⽤dragonFace改系统语⾔。
切换语⾔⾸先需要在res 中创建个若⼲个不同的value⽂件夹(例如:values、values-en、value-ja)。
然后将不同的String.xml⽂件。
这⾥为中、英、⽇三语切换。
(value⽂件夹命名可以参考下⾯)在res⽬錄下建⽴不同名稱的values⽂件來調⽤不同的語⾔包Values⽂件匯總如下:中⽂(中國):values-zh-rCN中⽂(台灣):values-zh-rTW中⽂(⾹港):values-zh-rHK英語(美國):values-en-rUS英語(英國):values-en-rGB英⽂(澳⼤利亞):values-en-rAU英⽂(加拿⼤):values-en-rCA英⽂(愛爾蘭):values-en-rIE英⽂(印度):values-en-rIN英⽂(新西蘭):values-en-rNZ英⽂(新加坡):values-en-rSG英⽂(南⾮):values-en-rZA阿拉伯⽂(埃及):values-ar-rEG阿拉伯⽂(以⾊列):values-ar-rIL保加利亞⽂: values-bg-rBG加泰羅尼亞⽂:values-ca-rES捷克⽂:values-cs-rCZ丹⿆⽂:values-da-rDK德⽂(奧地利):values-de-rAT德⽂(瑞⼠):values-de-rCH德⽂(德國):values-de-rDE德⽂(列⽀敦⼠登):values-de-rLI希臘⽂:values-el-rGR西班⽛⽂(西班⽛):values-es-rES西班⽛⽂(美國):values-es-rUS芬蘭⽂(芬蘭):values-fi-rFI法⽂(⽐利時):values-fr-rBE法⽂(加拿⼤):values-fr-rCA法⽂(瑞⼠):values-fr-rCH法⽂(法國):values-fr-rFR希伯來⽂:values-iw-rIL印地⽂:values-hi-rIN克羅⾥亞⽂:values-hr-rHR匈⽛利⽂:values-hu-rHU印度尼西亞⽂:values-in-rID意⼤利⽂(瑞⼠):values-it-rCH意⼤利⽂(意⼤利):values-it-rIT⽇⽂:values-ja-rJP韓⽂:values-ko-rKR⽴陶宛⽂:valueslt-rLT拉脫維亞⽂:values-lv-rLV挪威博克⾺爾⽂:values-nb-rNO荷蘭⽂(⽐利時):values-nl-BE荷蘭⽂(荷蘭):values-nl-rNL波蘭⽂:values-pl-rPL葡萄⽛⽂(巴西):values-pt-rBR葡萄⽛⽂(葡萄⽛):values-pt-rPT羅⾺尼亞⽂:values-ro-rRO俄⽂:values-ru-rRU斯洛伐克⽂:values-sk-rSK斯洛⽂尼亞⽂:values-sl-rSI塞爾維亞⽂:values-sr-rRS瑞典⽂:values-sv-rSE泰⽂:values-th-rTH塔加洛語:values-tl-rPH⼟⽿其⽂:values–r-rTR烏克蘭⽂:values-uk-rUA越南⽂:values-vi-rVN核⼼代码public void switchLanguage(Locale locale) {Resources resources = getBaseContext().getResources();Locale.setDefault(locale);Configuration config = resources.getConfiguration();DisplayMetrics dm = resources.getDisplayMetrics();config.locale = locale;resources.updateConfiguration(config, dm);}使⽤dragonFace改系统语⾔nguage=zhpersist.sys.country=CN改成nguage=enpersist.sys.country=US保存即可以上就是Android App中进⾏语⾔的切换的详细内容,更多关于Android App 语⾔切换的资料请关注其它相关⽂章!。
安卓平板电脑的显示语言怎么设置

安卓平板电脑的显示语言怎么设置
卓平板电脑可支持多国语言,如果用户有需要更换显示语言的话,只需要更换显示的语言区域,就可以改变MID的显示语言了.下面是学习小编给大家整理的有关介绍安卓平板电脑的显示语言的设置方法,希望对大家有帮助!
安卓平板电脑的显示语言的设置方法
首先打开菜单,点击“设置”。
在列表中选择“语言和键盘”。
然后点击“选择语言区域”。
4此时,会出现多个国家语言的列表,在该区域列表中用户可根据需要进行相应的选择。
看了“安卓平板电脑的显示语言怎么设置”的人又看了
1.设置平板电脑的声音及显示怎么解决
2.Win8.1的平板电脑怎么设置图标和字体的大小
3.平板电脑怎么连接显示器
4.平板电脑鼠标设置方法
5.安卓平板电脑内存大小怎么查看
6.安卓平板电脑死机怎么回事。
Android系统默认修改

Android4.4系统默认设置修改1.修改默认语言在build\tools\buildinfo.sh文件末尾添加如下代码:echo "nguage=zh"echo "ro.product.locale.region=CN"2.修改默认时区在core_base.mk中添加:PRODUCT_PROPERTY_OVERRIDES += /persist.sys.timezone= Asia/Shanghai另外还有一种方法:在 init.rc 中添加#set default timezonesetprop persist.sys.timezone Asia/Shanghai3.修改系统12/24小时制Android源码中默认使用12小时制,如果想要改成24小时制的话,方法如下:1)到源码目录 frameworks/base/packages/SettingsProvider/res/values/defaults.xml 文件中增加一行:<string name="time_12_24">24</string>2)到源码目录frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.ja va文件中的loadSystemSettings()方法中增加下面一行设置时间格式:loadStringSetting(stmt,Settings.System.TIME_12_24,R.string.time_12_24);3)可以用以下代码查看系统是否是24小时制:ContentResolver c = getContentResolver();String strTimeFormat =android.provider.Settings.System.getString(c,android.provider.Settings.System.TIME_12_24); if(strTimeFormat.equals("24")){Log.e("time", "The system time is 24 hour format");}else{Log.e("time", "The system time is 12 hour format");}4.设置Android默认锁定屏幕旋转解决方法:cat frameworks/base/packages/SettingsProvider/res/values/defaults.xml<resources>......<!--<bool name="def_accelerometer_rotation">true</bool>--><bool name="def_accelerometer_rotation">false</bool>......</resources>5.默认不要锁屏,设置-安全--屏幕锁定 (无)frameworks/base/packages/SettingsProvider/res/values/defaults.xml<bool name="def_lockscreen_disabled">true</bool>6. 默认允许未知来源<bool name="def_install_non_market_apps">true</bool>1.diff --git a/packages/apps/Settings/src/com/android/settings/DevelopmentSettings.ja va b/packages/apps/Settings/src/com/android/settings/Devel2.index 0a987df..503270a 1007553.---a/packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java4.+++ b/packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java5.@@ -508,15 +508,9 @@ public class DevelopmentSettings extends SettingsPreference Fragment6. final Context context = getActivity();7. final ContentResolver cr = context.getContentResolver();8.mHaveDebugSettings = false;9.-10. /// M: CR ALPS00244115. Lock and unlock screen, the "USB debugging"is unchecked.11. boolean isChecked = (mAdbDialog != null && mAdbDialog.isShowing())? true :12. (Settings.Global.getInt(cr, Settings.Global.ADB_ENABLED, 0) != 0);13.- //added by ouyang 2015-11-10 set mEnableAdb=true if model is J514.- if (android.os.SystemProperties.isJ5Version()) {15.- isChecked=true;16.- }17.- //added by ouyang 2015-11-10 end18. updateSwitchPreference(mEnableAdb, isChecked);19. /// M: update usb preference again20. mExt.customUSBPreference(mEnableAdb);[html]view plain copy1.diff --git a/packages/apps/Settings/src/com/android/settings/SecuritySettings.java b/packages/apps/Settings/src/com/android/settings/Security2.index 4de173a..392e6ee 1007553.---a/packages/apps/Settings/src/com/android/settings/SecuritySettings.java4.+++ b/packages/apps/Settings/src/com/android/settings/SecuritySettings.java5.@@ -402,14 +402,7 @@ public class SecuritySettings extends SettingsPreferenceFra gment6. root.findPreference(KEY_DEVICE_ADMIN_CATEGORY);7.mToggleAppInstallation = (SwitchPreference) findPreference(8. KEY_TOGGLE_INSTALL_APPLICATIONS);9.-10.- //added by ouyang 2015-11-10 setChecked(true) if the model is J511.- if (android.os.SystemProperties.isJ5Version()) {12.- setNonMarketAppsAllowed(true);13.- }14. mToggleAppInstallation.setChecked(isNonMarketAppsAllowed());15.- //added by ouyang 2017-05-09 end16.-17. // Side loading of apps.18. // Disable for restricted profiles. For others, check if policy disallows it.19. mToggleAppInstallation.setEnabled(!um.getUserInfo(UserHandle.myUserId()).isRestricted());7.默认显示“开发者选项”请修改./packages/apps/Settings/src/com/android/settings/Settings.javaprivate void updateHeaderList(List<Header> target)/*final boolean showDev = mDevelopmentPreferences.getBoolean(DevelopmentSettings.PREF_SHOW,android.os.Build.TYPE.equals("eng"));*/修改为 boolean showDev = true;8.永不休眠1)设置默认永不休眠./frameworks/base/packages/SettingsProvider/res/values/defaults.xml<integer name="def_screen_off_timeout">-1</integer>./device/9tripod/x4418/overlay/frameworks/base/packages/SettingsProvider/res/val ues/defaults.xml<integer name="def_screen_off_timeout">-1</integer>2)设置英文never项./packages/apps/Settings/res/values/arrays.xml<!-- Display settings. The delay in inactivity before the screen is turned off. These are shown in a list dialog. --><string-array name="screen_timeout_entries"><item>15 seconds</item><item>30 seconds</item><item>1 minute</item><item>2 minutes</item><item>5 minutes</item><item>10 minutes</item><item>30 minutes</item>+<item>never</item></string-array><!-- Do not translate. --><string-array name="screen_timeout_values" translatable="false"><!-- Do not translate. --><item>15000</item><!-- Do not translate. --><item>30000</item><!-- Do not translate. --><item>60000</item><!-- Do not translate. --><item>120000</item><!-- Do not translate. --><item>300000</item><!-- Do not translate. --><item>600000</item><!-- Do not translate. --><item>1800000</item>+<item>-1</item></string-array>3)设置中文永不休眠项./packages/apps/Settings/res/values-zh-rCN/arrays.xm l<string-array name="screen_timeout_entries"><item msgid="3342301044271143016">"15 秒"</item><item msgid="8881760709354815449">"30 秒"</item><item msgid="7589406073232279088">"1 分钟"</item><item msgid="7001195990902244174">"2 分钟"</item><item msgid="7489864775127957179">"5 分钟"</item><item msgid="2314124409517439288">"10 分钟"</item><item msgid="6864027152847611413">"30 分钟"</item><!-- add :20170509, taikoto --><item msgid="9989898989898989898">"永不休眠"</item></string-array>4)设置电源管理服务./frameworks/base/services/java/com/android/server/power/PowerManagerServi ce.javaprivate int getScreenOffTimeoutLocked() {int DonotSleeptimeout;int timeout =mScreenOffTimeoutSetting;if(isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {timeout = Math.min(timeout,mMaximumScreenOffTimeoutFromDeviceAdmin);if(mUserActivityTimeoutOverrideFromWindowManager >= 0) {timeout = (int)Math.min(timeout,mUserActivityTimeoutOverrideFromWindowManager); }DonotSleeptimeout = mScreenOffTimeoutSetting;if(DonotSleeptimeout < 0){DonotSleeptimeout= mMaximumScreenOffTimeoutFromDeviceAdmin ;returnMath.max(DonotSleeptimeout, mMaximumScreenOffTimeoutFromDeviceAdmin); }return Math.max(timeout,MINIMUM_SCREEN_OFF_TIMEOUT);}privatevoid updateUserActivitySummaryLocked(long now, int dirty) {// Update the status of the useractivity timeout timer.if ((dirty & (DIRTY_USER_ACTIVITY |DIRTY_WAKEFULNESS |DIRTY_SETTINGS)) != 0) {mHandler.removeMessages(MSG_USER_ACTIVITY_TIMEOUT);long nextTimeout = 0;if (mWakefulness !=WAKEFULNESS_ASLEEP) {final int screenOffTimeout =getScreenOffTimeoutLocked();final int screenDimDuration =getScreenDimDurationLocked(screenOffTimeout);mUserActivitySummary = 0;if (mLastUserActivityTime >=mLastWakeTime) {nextTimeout =mLastUserActivityTime+ screenOffTimeout- screenDimDuration;if (now < nextTimeout) {mUserActivitySummary |=USER_ACTIVITY_SCREEN_BRIGHT;} else {nextTimeout =mLastUserActivityTime + screenOffTimeout;if (now <nextTimeout) {mUserActivitySummary|= USER_ACTIVITY_SCREEN_DIM;}}}if (mUserActivitySummary == 0&&mLastUserActivityTimeNoChangeLights >= mLastWakeTime) {nextTimeout =mLastUserActivityTimeNoChangeLights + screenOffTimeout; if (now < nextTimeout&&mDisplayPowerRequest.screenState!=DisplayPowerRequest.SCREEN_STATE_OFF) {mUserActivitySummary =mDisplayPowerRequest.screenState==DisplayPowerRequest.SCREEN_STATE_BRIGHT ?USER_ACTIVITY_SCREEN_BRIGHT : USER_ACTIVITY_SCREEN_DIM; }}if (mUserActivitySummary != 0&&mScreenOffTimeoutSetting > 0) {Message msg =mHandler.obtainMessage(MSG_USER_ACTIVITY_TIMEOUT);msg.setAsynchronous(true);mHandler.sendMessageAtTime(msg,nextTimeout);}} else {mUserActivitySummary = 0;}if (DEBUG_SPEW) {Slog.d(TAG,"updateUserActivitySummaryLocked: mWakefulness="+wakefulnessToString(mWakefulness)+ ",mUserActivitySummary=0x" + Integer.toHexString(mUserActivitySummary) + ",nextTimeout=" + TimeUtils.formatUptime(nextTimeout));}}}5)设置显示配置./packages/apps/Settings/src/com/android/settings/DisplaySettings.java privatevoid updateTimeoutPreferenceDescription(long currentTimeout) {ListPreference preference =mScreenTimeoutPreference;String summary;if (currentTimeout < -1) {// Unsupported valuesummary = "";} else {final CharSequence[] entries =preference.getEntries();final CharSequence[] values =preference.getEntryValues();if (entries == null ||entries.length == 0) {summary = "";} else {int best = 0;for (int i = 0; i <values.length; i++) {long timeout =Long.parseLong(values[i].toString());if (currentTimeout >=timeout) {best = i;}}summary = preference.getContext().getString(R.string.screen_timeout_summary,entries[best]);if(currentTimeout < 0)summary =entries[best].toString();}}preference.setSummary(summary);}6)修改系统设置修改./packages/apps/Settings/src/com/android/settings/DisplaySettings.java文件,将: private static final int FALLBACK_SCREEN_TIMEOUT_VALUE = 30000;改为: private static final int FALLBACK_SCREEN_TIMEOUT_VALUE = -1;9.修改默认亮度修改./frameworks/base/packages/SettingsProvider/res/values/defaults.xml中的 <!-- Default screen brightness, from 0 to 255. 102 is 40%. --><integer name="def_screen_brightness">51</integer><integer name="def_screen_brightness">255</integer>./frameworks/base/core/java/android/os/PowerManager.java设置进度条的范围,BRIGHTNESS_DIM = 20 BRIGHTNESS_ON=255.。
Androidapp应用多语言切换功能实现

Androidapp应⽤多语⾔切换功能实现最近在做⼀个多语⾔切换的功能,类似于微信的语⾔切换,搜了下资料基本上都是以下这种:1. 实现的效果和微信类似,在设置界⾯打开切换语⾔的界⾯,选择语⾔后重启 HomeActivity,语⾔切换完成,下次重新打开 App ,也是⽤户设置的语⾔。
2. 实现步骤1. 添加多语⾔⽂件在不同的 value ⽂件夹下(例如 value 、value-en、values-zh-rTW ⽂件夹)添加不同语⾔的 string.xml ⽂件,我们的项⽬添加了英⽂、简体中⽂、繁体中⽂三种语⾔,如下图所⽰:其中英⽂需要翻译,繁体如果没有专门翻译的话,可以找个简繁转换⽹站,直接将简体中⽂转成繁体中⽂,我⽤的这个⽹站:。
2. 更新 Configuration 中的 locale 属性参照 上 的描述,Configuration 包含了设备的所有的配置信息,这些配置信息会影响应⽤获取的资源。
例如 string 资源,就是根据Configuration 的 locale 属性来判断该取哪种语⾔的 string 资源,默认是 value ⽂件夹下的。
主要代码如下:1 Resources resources = getContext().getResources();2 DisplayMetrics dm = resources.getDisplayMetrics();3 Configuration config = resources.getConfiguration();4// 应⽤⽤户选择语⾔5 config.locale = Locale.ENGLISH;6 resources.updateConfiguration(config, dm);我们⽤了 Locale 中的预设值 Locale.ENGLISH、Locale.TRADITIONAL_CHINESE和 Locale.SIMPLIFIED_CHINESE,如果你需要设置的语⾔没有预设值,你可以⾃⼰新建⼀个 Locale 对象,具体⾃⾏ Google 吧。
如何向android的setting语言列表中添加一门语言

如何向android的setting语言列表中添加一门语言(已经解决)看了下,android2.2系统有越南语的字库,所以支持越南语,但setting中语言列表里没有越南语选项,起初我在LocalePicker.java的onCreate方法的133行做了如下修改:1.mLocales = new Loc[finalSize+1];2.for (int i = 0; i < finalSize ; i++) {3.mLocales[i] = preprocess[i];4.}5.Locale temp = new Locale("vi", "VN");//vi是越南语6.mLocales[finalSize] = newLoc(toTitleCase(getDisplayName(temp)), temp);7.Arrays.sort(mLocales);复制代码重新编译后,语言列表里有了越南语,但点击后系统语言还是默认的英文,也就是说系统语言没有更改成功,我再看了下/data/property/目录下关于语言和国家的两个属性文件都是修改成功了的,再继续往下跟代码,但没有所获,google了一下,搜到了一篇关于android2.1 架构解析之语言定制的帖子(/gigatron/blo ... c8ab20843bd0e24445d,有兴趣的朋友可以看下),里面说语言选择列表在external/icu4c/stubdata/Android.mk中配置,我在这里面添加了越南语,最后返回上一级,查看readme.txt,官方已经给出说明,改动后需要将语言配置的txt转成dat,可是在run icu_dat_generator.py 4.2这个命令时一直报错,到现在还没弄好,希望有涉及过这方面的朋友分享下经验,谢谢!问题已经解决,解决步骤开始写在回复里,现在直接写到该位置吧:第一种:修改配置文件位置:build/target/product/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 :=这样的片段,只是languages_small.mk 的语言要比前者少些,聪明,这就是答案,从命名上也可发现一个full一个small,当我们不需要更多的语言时候,那languages_small.mk里面的语言就可以满足,而且语言少,生成的image所占用的空间也会相对小些,没验证过哈,只是根据同目录下full.mk里的注释“Get a list of languages. We use the small list to save space on smaller devices.”推测的。
Android系统语言默认设置为简体中文

Android系统语言默认设置为简体中文
设置语言的原理很简单,可以通过修改系统属性来达到默认语言的作用。
这里有两种方法,需要的可以借鉴下:
1、在init.rc或者在其他的开机初始化文件如:default.prop中加入如下设置系统属性的代码:
[ro.product.locale.region]: [CN]
2、编译的时候,通过指明编译参数为简体中文,这样编译传统就会编译出来的系统属性文件,在
系统初始化的时候将会把上面的属性给进行正确的初始化,例如:
make PRODUCT-machineID-eng-zh_CN
[nguage]: [zh]
[persist.sys.country]: [CN]
[localevar]: []
[persist.sys.timezone]: [Asia/Shanghai]
[nguage]: [zh]
手机语言变更详细操作方法

手机语言变更详细操作方法
要更改手机的语言,您可以按照以下步骤进行操作(以Android系统为例):
1. 打开手机的“设置”应用。
通常可以在桌面或应用列表中找到该应用,图标通常是一个齿轮形状。
2. 在设置菜单中找到并点击“语言和输入”选项。
它可能位于"系统"、"高级设置"或"个人设置"内,具体位置可能因不同手机品牌和操作系统版本而异。
3. 在"语言和输入"菜单中,找到"语言"或"语言和地区"选项。
4. 在语言列表中,选择您想要更改的语言。
通常会显示多种可用的语言选项。
5. 一旦您选择了新语言,系统会提示您确认更改。
点击"是"或"确定"确认更改。
6. 系统会开始下载并安装所选语言的语言包。
请耐心等待安装完成。
7. 完成安装后,您的手机的语言将会更改为您所选择的新语言。
请注意,不同的手机品牌和操作系统版本可能会有所不同,以上步骤仅供参考。
如果您在操作过程中遇到困难,建议查阅手机的用户手册或联系手机厂商的客户支持。
android中如何修改默认语言和国家

android中如何修改默认语言和国家.查了很多的网页,上面都只有写要修改PRODUCT_LOCALES字段.但.MK文件太多的,我找了很久都没有找到这个字段在哪里定义的.最后发现的结果:./device/rockchip/sdkdemo/boardconfig.mk中.这个文件夹在标准的android代码中属于定制文件目录,可以在相应的项目中找到对应的文件夹.修改此项.修改的方法是将默认的国家放在此字段的第一个位置.一般默认的是英语.例如韩国:PRODUCT_LOCALES := ko_KR en_US zh_CN另附转文一篇:这个讲得详细一些,还包含另一种修改方法,可参考.转自:/archives/android-custom-system-language-to-simplified-chinese. htmlAndroid系统原版默认的语言为英文,而我们定制系统可能需要用户一开机就是简体中文。
我们可以通过修改系统属性来达到默认语言的作用。
这里有两种方法,需要的可以借鉴下:1、在init.rc或者在其他的开机初始化文件如:default.prop中加入如下设置系统属性的代码:[nguage]: [zh][persist.sys.country]: [CN][persist.sys.localevar]: [][persist.sys.timezone]: [Asia/Shanghai][nguage]: [zh][ro.product.locale.region]: [CN]2、编译的时候,通过指明编译参数为简体中文,这样编译传统就会编译出来的系统属性文件,在系统初始化的时候将会把上面的属性给进行正确的初始化,例如:make PRODUCT-machineID-eng-zh_CN其他相关资料:1、ICU4C简介ICU4C(ICU for C,/ ) 是ICU在C/C++平台下的版本,ICU(International Component for Unicode)是基于"IBM公共许可证"的,与开源组织合作研究的, 用于支持软件国际化的开源项目。
Android国际化之中英文语言切换

Android国际化之中英⽂语⾔切换不想废话,直接上⼲货@Overrideprotected void attachBaseContext(Context newBase) {Locale newLocale;if (SPUtil.getBoolean(newBase,"isEN")) {//设置英⽂newLocale = Locale.ENGLISH;} else {//设置中⽂newLocale = Locale.SIMPLIFIED_CHINESE;}Context context = MyContextWrapper.wrap(newBase, newLocale);super.attachBaseContext(context);}是的,直接在你继承的BaseActivity⾥⾯重载(@Override)attachBaseContext⽅法即可。
⾥⾯有⼀个⾃定义的MyContextWrapper:import android.content.Context;import android.content.ContextWrapper;import android.content.res.Configuration;import android.content.res.Resources;import android.os.Build;import android.os.LocaleList;import java.util.Locale;public class MyContextWrapper extends ContextWrapper {public MyContextWrapper(Context base) {super(base);}public static ContextWrapper wrap(Context context, Locale newLocale) {Resources res = context.getResources();Configuration configuration = res.getConfiguration();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {configuration.setLocale(newLocale);LocaleList localeList = new LocaleList(newLocale);LocaleList.setDefault(localeList);configuration.setLocales(localeList);context = context.createConfigurationContext(configuration);} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {configuration.setLocale(newLocale);context = context.createConfigurationContext(configuration);}return new ContextWrapper(context);}}关于SPUtil,就是⼀个简单的SharedPreferences内容存取类:import android.content.Context;import android.content.SharedPreferences;public class SPUtil {/*** 万能的put⽅法 (能存储String/int/boolean类型的值)* @param context* @param key* @param value*/public static void put(Context context, String key, Object value) {SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);SharedPreferences.Editor edit = sp.edit();if (value instanceof String) {edit.putString(key, (String) value);} else if (value instanceof Integer) {//JDK1.7之后可以把引⽤数据类型转为基本数据类型edit.putInt(key, (int) value);} else if (value instanceof Boolean) {edit.putBoolean(key, (boolean) value);}edit.apply();}/*** 获取String* @param context* @param key* @return*/public static String getString(Context context, String key) {SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);return sp.getString(key, "");}/*** 获取int* @param context* @param key* @return*/public static int getInt(Context context, String key) {SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE); return sp.getInt(key, 0);}/*** 获取Boolean* @param context* @param key* @return*/public static boolean getBoolean(Context context, String key) {SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE); return sp.getBoolean(key, false);}/*** 清空⾸选项** */public static void clearData(Context context){SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE); sp.edit().clear().apply();}}代码到这⾥也就结束了,下⾯是添加国际化语⾔的简单步骤:切记修改语⾔之后⼀定要重新加载页⾯,不然不会⽴即⽣效SPUtil.put(SettingActivity.this,"isEN",isChecked);recreate();到此这篇关于Android国际化之中英⽂语⾔切换的⽂章就介绍到这了,更多相关Android中英⽂语⾔切换内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Android程序中实现中英文切换

Android程序中实现中英⽂切换
⼀开始项⽬没有考虑到英⽂切换这是⼀个很不好的开始。
等到项⽬基本完成之后才意识到要中英⽂都⽀持。
最好是在项⽬开始之前规划好UI布局等等,毕竟⼀个英⽂单词的占空⽐汉字要长的很多,最后填英⽂的话很多时候都要调整UI并且单词要简写,这是很懵逼的⼀种操作。
没办法,坑还是得填的,今天写⼀写在Android studio下如何实现⼀个项⽬中英⽂切换。
⾸先在res路径下新建 New > Android Resource Directory.
弹出对话框选择Local
在右边选择地区,选择语⾔进⾏创建,语⾔:English ,Regin: US --- OK.
创建之后切换成project视⾓,查看values有两份,values-en-rUS为放置你刚创建的,下⾯创建的是英⽂strings。
values
values-en-rUS
⽂件备好,那么程序中如何实现中英⽂切换的呢?
在项⽬中创建中languageUtil实现语⾔的切换操作。
实际上,使⽤的时候我们的设备语⾔选择为英⽂时,apk也会⾃动切换为英⽂。
所以只需要两份不同语⾔(中⽂-英⽂)的string.xml⽂件即可。
Android编程实现获取当前系统语言及地区并更改语言的方法

Android编程实现获取当前系统语⾔及地区并更改语⾔的⽅法本⽂实例讲述了Android编程实现获取当前系统语⾔及地区并更改语⾔的⽅法。
分享给⼤家供⼤家参考,具体如下:如果想获取⼿机的当前系统语⾔,可以通过Locale类获取,主要⽅法:Locale.getDefault().getLanguage()返回的是es或者zh;通过Locale.getDefault().getCountry()获取当前国家或地区,返回为CN或US;如果当前⼿机设置为中⽂-中国,则使⽤此⽅法返回zh-CN,同理可得到其他语⾔与地区的信息。
1.⾸先,如果要程序⾃动适应系统语⾔进⾏转变,可以在res下添加相应的语⾔⽂件夹:如:添加中⽂,则⽂件夹命名为values-zh-rCN,如果不清楚需要的名字可以到:E:\android-sdk-windows\platforms\android-8\data\res,如这样的⽂件夹下寻找。
这样就可以让程序⾃动适应系统的语⾔来选择语⾔。
2.如果我们想在程序内部可以⼿动地选择语⾔则:a.⾸先获得当前的语⾔或者国家:String able= getResources().getConfiguration().locale.getCountry();b.进⾏判断:如果是中⽂则返回的able.equals("CN")c.进⾏设置的代码为://选择中⽂Configuration config = getResources().getConfiguration();DisplayMetrics dm = getResources() .getDisplayMetrics();config.locale = Locale.SIMPLIFIED_CHINESE;getResources().updateConfiguration(config, dm);d.最后⽤sharedPreferences保存当前的语⾔设置更多关于Android相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家Android程序设计有所帮助。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语言设置完成后,应用并不会自动刷新当前已经打开的Activity,所以为了刷新整个应用,需要重新启动一下应用:
Intent intent = new Intent();
intent.setClass(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
1 首先获取Configuration 类:
Resources resource = getResources();
Configuration config = resource.getConfiguration();
2 设置config的local属性
locale属性为一个Locale类的对象,
Locale locale = getResources().getConfiguration().locale;//获得local对象
String country = locale.getCountry(); //可以通过local获得相关的属性 如国家
3 设置config属性
//设置应用的语言为英语
this.startActivity(intent);
-------------------------------------------------------------------------------
另外需要注意的是,需要在Manifest.xml文件中的Activity中配置android:configChanges属性,通过配置该属性,Activity可以捕捉设备状态的变化
Android Local语言设置 (2013-11-21 16:07:24)转载▼
在Android中每个应用程序都维护着一个自身的配置。被封装在 android.content.res.Configuration 类里,通过该类,我们可以修改语言参数,实现对应用语言的变更。
本例利用Configuration 实现应用程序语言设置:
config.locale = Locale.ENGLISH;
// = Locale.getDefault();
4 设置好config属性后,需要更新
getBaseContext().getResources().updateConfiguration(config, null);
<</span>activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:configChanges="locale" > //捕捉local的变化
<</span>intent-filter>
<</span>action android:name="android.intent.action.MAIN" />
<</span>category android:name="UNCHER" />
</</span>intent-filter>
</</span>activity>