android獲取語言
❶ android判斷當前系統用的是什麼語言
判斷國家:
中文:getResources().getConfiguration().locale.getCountry().equals("CN")
繁體中文: getResources().getConfiguration().locale.getCountry().equals("TW")
英文(英式):getResources().getConfiguration().locale.getCountry().equals("UK")
英文(美式):getResources().getConfiguration().locale.getCountry().equals("US")
如果不清楚當前國家的簡寫,可以直接System.out(getResources().getConfiguration().locale.getCountry());列印出來即可
❷ android 多語言怎麼轉換
1.添加多語言文件
在不同的 value 文件夾下(例如 value 、value-en、values-zh-rTW 文件夾)添加不同語言的 string.xml 文件,我們的項目添加了英文、簡體中文、繁體中文三種語言,如下圖所示:
Project模式:
Android模式:
其中英文需要翻譯,繁體如果沒有專門翻譯的話,可以找個簡繁轉換網站,直接將簡體中文轉成繁體中文,推薦一個網站:
http://www.vifo.com.cn/fanti/
下面我只講解簡體中文和英文的做法;
2.現在我們可以在activity啟動裡面(onCreate()或者onResume())獲取系統的語言:
Locale locale = Locale.getDefault();
String language = locale.getLanguage();
language就是我們從系統拿到的語言,這里如果是中文,拿到的是「zh」,如果是英文是「cn」;
protected void showLanguage(String language) {
//設置應用語言類型
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
if (language.equals("zh")) {
config.locale = Locale.SIMPLIFIED_CHINESE;
} else {
config.locale = Locale.ENGLISH;
}
resources.updateConfiguration(config, dm);
//保存設置語言的類型(這個裡面我先保存一下,下面會講到他的用處)
PreferenceUtil.commitString("language", language);
}
❸ Android 內多語言切換實現
網上有很多安卓內多語言切換的文章,我也看了一些,很多都千篇一律,而且還是有問題,我就自己重新改了一下。整好分享給各位同學,廢話不多說,我們正式開始
我們在點擊切換語言的按鈕時候彈窗dialog 然後用戶可以選擇 簡體中文 英文 繁體中文 跟隨系統 四種選項 ,這是我們基本的需求
首先我們要在資源文件res目錄下面創建多語言的目錄文件夾 values values-en values-zh-rTW values-TW 如圖所示:
我們適配多語言的只需要在 values values-en values-zh-rTW 這個三個目錄下面的string.xml文件裡面寫入對應的引用的文本即可
我們只需要這樣配置就然後在布局的xml文件裡面引用可以達到適配多語言的效果 :
具體引用:
切換的dialog實現這個我用原生的AlertDialog 你們自己可以自定義繼承系統的Dialog來實現
這里的語言種類獲取到的sta是重SharedPreferences 緩存裡面獲取到的因為需要
SharedPreferences 工具類:
我們在dialog點擊事件里發送一個廣播通知 用來觸發刷新
然我們在baseActivity裡面接收廣播重啟activity 來刷新多語言切換
關於Locale
實現多語言切換用到了Locale。Locale里很多常見國家和地區以及語言,如果我們做常見的語言,可以直接調用系統的,比如Locale.CHINESE。但是這次做的繁體中文的適配,略我坑一下。
繁體中文我們直接在Locale 屬性裡面傳入 zh-rTW 但是切換沒有生效 我翻了下源碼只有TW的屬性配置我就要修改了
問題是,我最開始直接這樣寫的:
到此我們說明下開頭提到到為什麼多出了 values-TW目錄 是因為我發現在多語言切換更新 Configuration 中的 locale 屬性 的時候翻開源碼看到繁體中文(泛指港澳台並沒有看到zh-rTW的屬性配置)
所以目前的解決方案就是用values-TW來替代:
我這邊目前是這樣處理來兼容繁體中文切換不生效的做法 ,如果你有更好的方案 麻煩留言大家一起探討。
Android 內多語言的切換網上的文章也挺多的,基本都千篇一律 很多有紕漏 ,這邊也是翻了一下源碼勉強能夠兼容繁體中文, 項目地址
❹ Android怎麼獲取當前操作系統的語言
Android--獲取當前系統的語言環境其代碼如下:
private boolean isZh() {
Locale locale = getResources().getConfiguration().locale;
String language = locale.getLanguage();
if (language.endsWith("zh"))
return true;
else
return false;
}
其中languag為語言碼:
zh:漢語
en:英語
❺ 安卓系統是用什麼語言編的
安卓系統的編程語言,C/C++(底層) Java等(應用層)。
1、Android是一種基於Linux的自由及開放源代碼的操作系統。主要使用於移動設備,如智能手機和平板電腦,由Google(谷歌)公司和開放手機聯盟領導及開發。
2、尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。
(5)android獲取語言擴展閱讀:
1、Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接執行安裝,和Windows Mobile中的PE文件有區別。
2、這樣做對於程序的保密性和可靠性不是很高,通過dexmp命令可以反編譯,但這樣做符合發展規律,微軟的 Windows Gadgets或者說WPF也採用了這種構架方式。
3、在Android平台中dalvik vm的執行文件被打包為apk格式,最終運行時載入器會解壓然後獲取編譯後androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發現執行是不受限制的。
4、最終我們平時安裝的文件可能不是這個文件夾,而在android rom中系統的apk文件默認會放入這個文件夾,它們擁有著root許可權。
❻ android手機怎麼提取系統語言標識
Android--獲取當前系統的語言環境其代碼如下:
private boolean isZh() {
Locale locale = getResources().getConfiguration().locale;
String language = locale.getLanguage();
if (language.endsWith("zh"))
return true;
else
return false;
}
其中languag為語言碼:
zh:漢語
en:英語
❼ 如何在android APP中設置系統語言
設置達到的效果
在設置界面打開切換語言的界面,選擇語言後重啟 HomeActivity,語言切換完成,下次重新打開 App ,也是用戶設置的語言。
工具
編程軟體;
實現步驟
在不同的 value 文件夾下添加不同語言的string.xml文件,項目添加了英文、簡體中文、繁體中文三種語言,如下圖所示:
❽ Android中的多國語言是怎麼實現的
雖然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:
3) Hindi 的語言代碼是 hi_IN,修改./device/qcom/common/common.mk,將 hindi 的語言代碼加進去,
這樣在你的設置->語言和鍵盤->選擇語言裡面就可以看見 hindi 語言了:
4) 修改./external/skia/src/ports/SkFontHost_android.cpp,將 DroidHindi.ttf 加進去。網上 介紹的很多
方法都沒有提到這一步,如果沒有這一步的話,添加的語言是不生效的,顯示的是亂碼,因為 android 無法
找到 hindi 語言可以顯示的字體, 還是會選擇默認字體去顯示。修改的地方為:
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
6)在 external/icu4c/studata 下的 Android.mk 下添加
$(if $(findingstringhi,$(PRODUCT_LOCALS)),large)\
3. 剩下的就是重新編譯一下,然後 flash 到手機或模擬器上就可以了。
❾ 如何更改Android手機使用的語言
若您當前使用的vivo手機,語言的變更方法如下:
英文設置為中文的路徑為:桌面的Settings--System management/More settings--Language--簡體中文;
繁體中文設置為中文的路徑為:設置--系統管理/更多設置--語言--簡體中文;
中文設置為英文或繁體中文的路徑為:設置--系統管理/更多設置--語言--English/繁體中文。
❿ 如何在android APP中設置系統語言
獲取當前系統語言
LocalecurLocale=getResources().getConfiguration().locale;
//通過Locale的equals方法,判斷出當前語言環境
if(curLocale.equals(Locale.SIMPLIFIED_CHINESE)){
//中文
}elseif(Locale.ENGLISH){
//英文
}
- 2.設置APP語言Resourcesresources=getResources();//獲得res資源對象
Configurationconfig=resources.getConfiguration();//獲得設置對象
DisplayMetricsdm=resources.getDisplayMetrics();//獲得屏幕參數:主要是解析度,像素等。
config.locale=Locale.ENGLISH</span>;//設置APP語言設置為英文
resources.updateConfiguration(config,dm);
//設置完以後要刷新Activity才能及時生效