當前位置:首頁 » 安卓系統 » android切換語言

android切換語言

發布時間: 2023-04-12 00:05:30

① 如何更改Android手機使用的語言

若您當前使用的vivo手機,語言的變更方法如下:
英文設置為中文的路徑為:桌面的Settings--System management/More settings--Language--簡體中文;
繁體中文設置為中文的路徑為:設置--系統管理/更多設置--語言--簡體中文;
中文設置為英文或繁體中文的路徑為:設置--系統管理/更多設置--語言--English/繁體中文。

② Android國際化多語言切換

關於App國際化,之前有講到國際化資源、字元換、布局相關,想要了解的猛戳 用力抱一下APP國際化 。借著本次重構多語言想跟大家聊一下多語言切換,多語言切換對於一款國際化App來講是重中之重,並非難事,但是若要做好也是一件不容易的事情。

當我們做了系統的配置更改,比如說切換了系統導航或者說更改了深色模鄭山式,那麼我們一般的處理是也是要對Application作出處理。

如果項目中有用到ApplicationContext去getString(@StringRes int id)實現載入的提示語,那麼如果只是單純的重啟界面則無法讓當前的提示語跟隨當前切換的語言,所以我們要麼重啟整個應用,要麼對ApplicationContext中的Local也作出相應的更新方可,這里有一點問題,雖然Android N之後updateConfiguration是過時方法,官方給出使用createConfigurationContext代替,但是更新ApplicationContext的Local發現無效使用老版本updateConfiguration正常。

如果你發現你的應用廣播通知欄適配無效,那就是context中的Local在切換語言是並未及時更新Local,這里調試一下便知,如果是Applicaiton注冊的廣播,那麼喊高中多半情況下是沒有更新ApplicationContext的Local所導致的。

多語言適配基本步驟大概就是如此了,下面看一下適配的細節問題。

[圖片上傳失敗...(image-b42d06-1640685147639)]
還有一點Android N之後,手機系統的語言配置選項已經不是單選了,改為一個列表了,具體可以參考手機設置中的語言和輸入法,所以 setLocal(@Nullable Locale loc) 方法建議不要再使用了,我相信很多人還在用,正確念謹的用法應該是 setLocals(@Nullable LocaleList locales) ,需要傳遞一個集合。

當你的應用使用的是androidx.appcompat:appcompat:1.2.0及以上時,BaseActivity中需要實現下面方法。

這套方案目前不在推薦,直接去替換attatchBaseContext()中的context則可,經過測試是完全正常的。

以下則是多語言操作的工具類,現在提供出來,需要的朋友可以自行進行改造。

③ Android應用內切換語言

最近接觸到Android 應用內切換語言的問題,研究了兩天,做個記錄先。實現了中文,英文,泰語的切換。測試機器 Nexus5(Android p),HUAWEI榮耀9青春版(8.0.0),XIAOMI mi 4LTE(6.0.1)。
看下效果

定義一個BaseActivity,重寫attachBaseContext方法,在此方法里進行語言切換

LanguageUtil中的attachBaseContext()方法

在attachBaseContext()方法中,我們判斷一下,如果當前api大於24,那麼就調用updateResources()方法更新context。

定義好BaseActivity以後,我們只需要讓我們的Activity都繼承這個基類即可。

自定義Application並在AndroidManifest.xml文件中聲明,在Application的onCreate()方法中,調用更換語言的方法即可。

LanguageUtil中的changeAppLanguage方法

經過上面的操作就可以在7.0以下實現應用內切換語言。

定義一個ChangeLanguageActivity

如果是7.0以下,我們需要調用changeAppLanguage方法, 如果是7.0及以上系統,直接把我們想要切換的語言類型保存在SharedPreferences中,然後重新啟動MainActivity即可。

如果控制項尺寸固定,當切換語言的時候,文字長短發生變化如何解決?

可以使用google提供的新特性來解決。

完整的例子請移步
https://gitee.com/lyyon/InternationDemo

參考鏈接: https://www.jianshu.com/p/4f9db19d9383
1. https://www.jianshu.com/p/32ff13db1f0d#comment-24575608
2. http://www.cnblogs.com/travellife/p/Android-ying-yong-nei-o-yu-yan-qie-huan.html
3. https://yanlu.me/android-7-0-app-language-switch/
4. https://github.com/captain-miao/MultiLanguagesSwitch
5. https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview

④ 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 多語言怎麼轉換

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的國際化語言適配(系統語言適配+APP內部適配)

Android國際化語言適配分為兩種

1.更改手機系統語言後,APP的語言也會跟著變化

2.只改變自己APP的語言,不受手機系統語言的影響,不影響其他APP的語言,可以參考微信的切換語言的效果。

只需要創建不同語言的values即可

具體操作參考  簡單的Android客戶端國際化(語言適配)方案

操作的時候要注意: 當選擇所要切換的語言後,則進行修改Config以及重啟APP,一定要將選擇的語言保存到SP中,且在activity中的oncreate中將SP中存儲的語言取出來重新設置Config,否則當重啟APP後,還是會跟系統語言一樣。 

具體操作參考  Android應脊敬明用稿轎程序內部切換語櫻告言及自定義語言

⑦ Android切換系統語言會做哪些操作

以MIUI系統為例,來說明一下切換系統語言步驟:

1、打開手機設置應唯沒用頁面,選擇「系統高級設置」選項。

⑧ Android:應用多語言切換,國際化實現

生成多種語言的string.xml,裡面放置對應的語言,修改配置(Configuration),重啟之後就會載入對應語言的string.xml。

1:在res目錄下,生成對應的語言包,比如英語:

在res目錄下生成了可看到生成了:

<string name="hello">你好</string>
英語:
<string name="hello">hello</string>
之後就可以使用getResource.getString(R.string.hello),這個字元串會載入相對應的配置的語言。
3:修改語言配置

修改語言配置後,需要重新啟動進程,並且殺死進程。

1:有些手機是可以在設置里直接切換語言的,這個也就是Configuration改變。用戶重新設置系統語言導致應用的語言也會重新設置。Configuration改變,如果在Manifest中不設置android:configChanges忽略掉配置改變,Activity會重新創建,那麼我們就可以在Activity的onCreate中,重新修改語言配置。
2:切換語言後,退出應用,重新進來,你會發現又是系統設置的語言。所以需要在Application開啟時,需要再次切換語言配置。

⑨ 如何在android APP中設置系統語言

設置達到的效果

在設置界面打開切換語言的界面,選擇語言後重啟 HomeActivity,語言切換完成,下次重新打開 App ,也是用戶設置的語言。

工具

編程軟體;

實現步驟

在不同的 value 文件夾下添加不同語言的string.xml文件,項目添加了英文、簡體中文、繁體中文三種語言,如下圖所示:

⑩ Android11海外版怎麼改成中文版

通過設置修改成中文版。
第一步:打開手機主界面,找到「設置」(settings)圖標。
第二步:在「設置」中找到「高級設置」(advanced settings)選項。
第三步:點開「高級設置"(advanced settings),找到「語世滾言和輸入法」(language&input)。
第四步亮返宏:在「語言和輸入法」(language&input)中,找到「語言和地區」(language_ion)設置選項。
第五步:點開「語言和地區」(language_ion)設置選項,我們看到現在的語言是英語切換成中文即可。
2020 年 9 月 14 日,ColorOS 以線上的形式舉辦了海外發布會,基於 Android 11 的 ColorOS 11 海外版正式亮相敬冊。全新的 ColorOS 11 在設計、效率和安全等方面都有不同程度的提升,為全球 OPPO 用戶帶來更極致的體驗。

熱點內容
余額寶如何加密 發布:2024-05-09 07:28:54 瀏覽:51
王洋java 發布:2024-05-09 07:28:11 瀏覽:2
小雄壓縮機 發布:2024-05-09 07:28:04 瀏覽:359
電腦做存儲伺服器 發布:2024-05-09 07:23:40 瀏覽:187
安卓手機怎麼不用開機就刷機 發布:2024-05-09 07:23:09 瀏覽:223
李逵捕魚腳本 發布:2024-05-09 07:18:55 瀏覽:7
如何搭建郵局伺服器 發布:2024-05-09 07:15:08 瀏覽:130
jsp文件上傳和下載 發布:2024-05-09 07:09:16 瀏覽:410
我的世界連接不到伺服器為什麼 發布:2024-05-09 07:09:15 瀏覽:226
cf手游透視腳本 發布:2024-05-09 06:53:35 瀏覽:709