首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 應用圖標多語言適配:在 Launcher 中按系統語言顯示不同名稱

     編輯:程式設計綜合問答

需求場景

開發者希望 Android 應用在不同系統語言環境下,於 Launcher(啟動器)中顯示不同的應用名稱。例如:

  • 中文環境顯示「下載」
  • 英文環境顯示「Downloads」
  • 德文環境顯示「Herunterladen」

嘗試在 values-de/strings.xml 中修改字符串資源,但無效果。

根本原因

Android 的資源限定符不僅包含語言代碼,還包含地區代碼。德語有多個地區變體:

  • 德語(奧地利):values-de-rAT
  • 德語(瑞士):values-de-rCH
  • 德語(德國):values-de-rDE
  • 德語(列支敦士登):values-de-rLI

若僅創建 values-de,系統可能無法匹配具體地區,導致回退到默認語言資源。

正確配置步驟

  1. 在 res/ 目錄下為每個目標語言創建對應限定符目錄(如 values-de-rDE、values-zh-rCN、values-en-rUS)。
  2. 在各目錄的 strings.xml 中定義 app_name 字符串:
<!-- values-zh-rCN/strings.xml -->
<string name="app_name">下載</string>

<!-- values-en-rUS/strings.xml -->
<string name="app_name">Downloads</string>

<!-- values-de-rDE/strings.xml -->
<string name="app_name">Herunterladen</string>
  1. 在 AndroidManifest.xml 中引用該字符串資源:
<application
    android:label="@string/app_name"
    ... >

驗證方法

在模擬器或真機中切換系統語言(設置 > 語言和輸入法 > 語言),觀察 Launcher 中應用名稱是否變化。

注意事項

  • 目錄命名必須嚴格遵循 values-<語言代碼>-r<地區代碼> 格式,地區代碼為大寫兩位字母。
  • 若應用支持多語言,建議為每種語言的主要地區提供資源,避免回退到默認值。
  • 應用名稱字符串不宜過長,以免在 Launcher 中被截斷。
配置示例 目錄結構
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved