ในหลายกรณี ผู้ใช้หลายภาษาตั้งค่าภาษาของระบบของตนเป็นภาษาเดียว เช่น เป็นภาษาอังกฤษ แต่ต้องการภาษาอื่นๆ สำหรับแอปบางแอป เช่น ดัตช์ จีน หรือฮินดี เพื่อช่วยให้แอปมอบประสบการณ์การใช้งานที่ดีขึ้น ผู้ใช้ Android 13 ขอแนะนำฟีเจอร์ต่อไปนี้สำหรับแอปที่รองรับ หลายภาษา:
การตั้งค่าระบบ: ตำแหน่งส่วนกลางที่ผู้ใช้สามารถเลือก ภาษาที่ต้องการสำหรับแต่ละแอป
คุณกำหนดค่าให้แอปสร้างไฟล์ที่จำเป็นโดยอัตโนมัติได้ รองรับค่ากำหนดภาษาของแต่ละแอปและแสดงขึ้นในการตั้งค่าระบบ ถึง เรียนรู้เพิ่มเติม ดูคำแนะนำสำหรับ การเปิดใช้การรองรับภาษาต่อแอปโดยอัตโนมัติ
API เพิ่มเติม: API สาธารณะเหล่านี้ เช่น
setApplicationLocales()
และgetApplicationLocales()
ในLocaleManager
เพื่อให้แอปต่างๆ ตั้งค่าภาษาอื่นจากภาษาของระบบในระหว่างรันไทม์API เหล่านี้จะซิงค์กับการตั้งค่าระบบโดยอัตโนมัติ ดังนั้นแอปที่ใช้ API เหล่านี้เพื่อสร้างเครื่องมือเลือกภาษาในแอปแบบกำหนดเอง ทำให้ผู้ใช้ได้รับประสบการณ์ที่สอดคล้องกันไม่ว่าจะเลือก ค่ากำหนดภาษา นอกจากนี้ API สาธารณะยังช่วยลดปริมาณ พวกเขาสนับสนุน APK แยกส่วน และสนับสนุนการสำรองข้อมูลอัตโนมัติสำหรับ แอปสำหรับจัดเก็บภาษาของผู้ใช้ระดับแอป การตั้งค่า
สำหรับความเข้ากันได้แบบย้อนหลังกับ Android เวอร์ชันก่อนหน้า API ที่เทียบเท่า พร้อมให้บริการใน AndroidX ด้วย แต่ API ที่เข้ากันได้แบบย้อนหลังจะทำงานได้ สำหรับ Android 12 ที่มีบริบท AppCompatActivity ไม่ใช่บริบทแอปพลิเคชัน (API ระดับ 32) และเก่ากว่า เข้าถึง API ที่เข้ากันได้แบบย้อนหลังด้วย Appcompat 1.6.0 หรือสูงกว่า
ภาพรวมของการใช้ฟีเจอร์นี้
ตารางต่อไปนี้แสดงการใช้งานที่แนะนำตามการใช้งานที่แตกต่างกัน กรณี
กรณีการใช้งาน | การใช้งานที่แนะนำ |
---|---|
แอปของคุณไม่มีเครื่องมือเลือกภาษาในแอป |
|
แอปของคุณมีเครื่องมือเลือกภาษาในแอปอยู่แล้ว |
|
การตั้งค่าระบบสำหรับผู้ใช้
ตั้งแต่ Android 13 เป็นต้นไป Android จะมีตำแหน่งส่วนกลางในระบบ สำหรับการตั้งค่ากำหนดภาษาของแต่ละแอป เพื่อให้แอปของคุณ กำหนดค่าภาษาได้ในการตั้งค่าระบบในอุปกรณ์ที่ใช้ Android 13 หรือ สูงกว่า เปิดใช้งานการสนับสนุนภาษาต่อแอปโดยอัตโนมัติ (แนะนำ) หรือ กำหนดค่า ด้วยตนเอง
เปิดใช้การสนับสนุนภาษาสำหรับแต่ละแอปโดยอัตโนมัติ
เริ่มต้นด้วย Android Studio Giraffe และ AGP 8.1
สนับสนุน ภาษาของแต่ละแอป
ค่ากำหนด
โดยอัตโนมัติ AGP จะสร้าง LocaleConfig
โดยอิงตามทรัพยากรโปรเจ็กต์ของคุณ
และเพิ่มการอ้างอิง ลงในไฟล์ Manifest สุดท้าย เพื่อที่จะได้ไม่
ด้วยตัวเอง AGP ใช้ทรัพยากรในโฟลเดอร์ res
ของแอป
โมดูลและทรัพยากร Dependency ของโมดูลไลบรารีใดๆ เพื่อกำหนดภาษาที่จะรวมไว้
ในไฟล์ LocaleConfig
ซึ่งหมายความว่าหากคุณเพิ่มทรัพยากร
ลงในแอป คุณจึงไม่ต้องกังวลเกี่ยวกับการอัปเดต LocaleConfig
โปรดทราบว่าฟีเจอร์ภาษาที่ใช้ในแอปอัตโนมัติรองรับแอปที่ใช้ Android
13 (API ระดับ 33) ขึ้นไป หากต้องการใช้ฟีเจอร์นี้ คุณต้องตั้งค่า
compileSdkVersion
ถึง 33 ขึ้นไป วิธีกำหนดค่ากำหนดภาษาของแต่ละแอป
สำหรับ Android เวอร์ชันก่อนหน้า คุณยังต้อง
ใช้ API และเครื่องมือเลือกภาษาในแอป
หากต้องการเปิดใช้การรองรับภาษาของแต่ละแอปโดยอัตโนมัติ ให้ทำตามขั้นตอนต่อไปนี้
- หากต้องการเปิดฟีเจอร์นี้ ให้ใช้
generateLocaleConfig
ในการตั้งค่าในบล็อกandroidResources {}
ของระดับโมดูลbuild.gradle.kts
ไฟล์ (build.gradle
ไฟล์หากคุณ โดยใช้ Groovy) ฟีเจอร์นี้จะปิดอยู่โดยค่าเริ่มต้นKotlin
android { androidResources { generateLocaleConfig = true } }
ดึงดูด
android { androidResources { generateLocaleConfig true } }
- ระบุภาษาเริ่มต้น:
- ในโฟลเดอร์
res
ของโมดูลแอป ให้สร้างไฟล์ใหม่ชื่อresources.properties
ตั้งค่าเริ่มต้นในไฟล์
resources.properties
ภาษาที่มีป้ายกำกับunqualifiedResLocale
ในการจัดรูปแบบ ชื่อภาษา โปรดดูวิธีสร้างชื่อภาษา
- ในโฟลเดอร์
AGP จะเพิ่มภาษาเริ่มต้นนี้และภาษา
ภูมิภาคอื่น
ที่คุณระบุไว้ โดยใช้ไดเรกทอรี values-*
ในโฟลเดอร์ res
ไปยังส่วน
LocaleConfig
ที่สร้างขึ้นโดยอัตโนมัติ
วิธีสร้างชื่อภาษา
ในการสร้างชื่อภาษา ให้รวมรหัสภาษากับสคริปต์ที่ไม่บังคับ และ รหัสภูมิภาค คั่นแต่ละรายการด้วยเครื่องหมายขีดกลาง
- ภาษา: ใช้ตัวอักษร 2 หรือ 3 ตัว ISO 639-1 โค้ด
- สคริปต์ (ไม่บังคับ): ใช้ ISO 15924
- ภูมิภาค (ไม่บังคับ): ใช้ตัวอักษร 2 ตัว ISO 3166-1-alpha-2 หรือรหัส 3 หลัก UN_M.49 โค้ด
ตัวอย่างเช่น หากภาษาเริ่มต้นเป็นอังกฤษแบบอเมริกัน
unqualifiedResLocale=en-US
ใช้ android:localeConfig
เพื่อเพิ่มภาษาที่รองรับในการตั้งค่าระบบ
คุณสามารถตั้งค่าแอปด้วยตนเองเพื่อให้สามารถกำหนดค่าภาษาของแอปได้ใน
การตั้งค่าระบบในอุปกรณ์ที่ใช้ Android 13 ขึ้นไป ในการดำเนินการนี้ ให้สร้าง
locales_config
ไฟล์ XML แล้วเพิ่มไฟล์ Manifest ของแอปโดยใช้
android:localeConfig
การละเว้นไฟล์ Manifest android:localeConfig
สัญญาณเริ่มต้นที่ให้ผู้ใช้ไม่ควรตั้งค่าภาษาของแอปได้
ไม่อิงตามภาษาของระบบในการตั้งค่าระบบ
วิธีเพิ่มภาษาที่รองรับของแอปลงในการตั้งค่าระบบของผู้ใช้ด้วยตนเอง
สร้างไฟล์ชื่อ
res/xml/locales_config.xml
และระบุข้อมูลต่อไปนี้ของแอป ภาษาต่างๆ ซึ่งรวมถึง ภาษาทางเลือกสำรอง ซึ่งเป็นภาษาที่ระบุไว้ในres/values/strings.xml
ดูข้อกำหนดด้านรูปแบบได้ที่วิธีสร้างชื่อภาษา โปรดดูตัวอย่าง
locale_config.xml
ไฟล์สำหรับรายการ ภาษาที่ใช้บ่อยที่สุดเช่น จัดรูปแบบไฟล์
locales_config.xml
ในลักษณะนี้สำหรับแอปที่ สนับสนุนภาษาต่อไปนี้:- ภาษาอังกฤษ (สหรัฐอเมริกา) เป็นภาษาทางเลือกที่ดีที่สุด
- อังกฤษ (สหราชอาณาจักร)
- ฝรั่งเศส
- ญี่ปุ่น
- จีน (ตัวย่อ มาเก๊า)
- จีน (ตัวเต็ม มาเก๊า)
<?xml version="1.0" encoding="utf-8"?> <locale-config xmlns:android="http://schemas.android.com/apk/res/android"> <locale android:name="en-US"/> <locale android:name="en-GB"/> <locale android:name="fr"/> <locale android:name="ja"/> <locale android:name="zh-Hans-MO"/> <locale android:name="zh-Hant-MO"/> </locale-config>
เพิ่มบรรทัดต่อไปนี้ในไฟล์ Manifest ที่ชี้ไปยังไฟล์ใหม่นี้
<manifest> ... <application ... android:localeConfig="@xml/locales_config"> </application> </manifest>
คุณจะอัปเดต localeConfig
ของแอปแบบไดนามิกได้โดยใช้
LocaleManager.setOverrideLocaleConfig
เพื่อปรับแต่งชุดภาษา
ที่แสดงในรายการภาษาของแต่ละแอปในการตั้งค่า Android ซึ่งช่วยให้คุณ
ปรับแต่งรายการภาษาตามภูมิภาค ทำการทดสอบ A/B และอัปเดต
หากแอปของคุณใช้การพุชการแปลฝั่งเซิร์ฟเวอร์ตามที่แสดงใน
ตัวอย่างต่อไปนี้
Kotlin
//For setOverrideLocaleConfig val localeManager = applicationContext .getSystemService(LocaleManager::class.java) localeManager.overrideLocaleConfig = LocaleConfig( LocaleList.forLanguageTags("en-US,ja-JP,zh-Hans-SG") ) //For getOverrideLocaleConfig // The app calls the API to get the override LocaleConfig val overrideLocaleConfig = localeManager.overrideLocaleConfig // If the returned overrideLocaleConfig isn't equal to NULL, then the app calls the API to get the supported Locales val supportedLocales = overrideLocaleConfig.supportedLocales()
Java
//For setOverrideLocaleConfig mContext.getSystemService(LocaleManager.class).setOverrideLocaleConfig(new LocaleConfig(LocaleList.forLanguageTags("en-US,ja-JP,zh-Hans-SG"))); //For getOverrideLocaleConfig // The app calls the API to get the override LocaleConfig LocaleConfig overrideLocaleConfig = mContext.getSystemService(LocaleManager.class).getOverrideLocaleConfig(); // If the returned overrideLocaleConfig isn't equal to NULL, then the app calls the API to get the supported Locales LocaleList supportedLocales = overrideLocaleConfig.getSupportedLocales();
นอกจากนี้ IME ยังสามารถใช้
LocaleManager.getApplicationLocales
เพื่อขอทราบภาษา UI ของแอปปัจจุบันเพื่ออัปเดตภาษาของแป้นพิมพ์เป็น
แสดง:
Kotlin
val currentAppLocales: LocaleList = applicationContext.getSystemService(LocaleManager::class.java).getApplicationLocales(appPackageName)
Java
LocaleList currentAppLocales = mContext.getSystemService(LocaleManager.class).getApplicationLocales(appPackageName);
ระบุภาษาที่รองรับใน Gradle
หากไม่มี ให้ระบุภาษาเดียวกันโดยใช้แท็ก
resourceConfigurations
ในไฟล์ build.gradle
ระดับโมดูลของแอป
android {
...
defaultConfig {
resourceConfigurations += ["en", "en-rGB", "fr", "ja", "b+zh+Hans+MO", "b+zh+Hant+MO"]
}
}
เมื่อมีพร็อพเพอร์ตี้ resourceConfigurations
อยู่ ระบบบิลด์จะรวมเฉพาะ
ทรัพยากรภาษาใน APK สำหรับภาษาที่ระบุเหล่านี้ เพื่อป้องกัน
สตริงที่แปลแล้วจากการรวมมาจากไลบรารีอื่นๆ ที่อาจรองรับ
ภาษาที่แอปของคุณไม่รองรับ สำหรับข้อมูลเพิ่มเติม โปรดดู
ระบุภาษาที่แอปของคุณรองรับ
วิธีที่ผู้ใช้เลือกภาษาของแอปในการตั้งค่าระบบ
ผู้ใช้สามารถเลือกภาษาที่ต้องการสำหรับแต่ละแอปผ่านระบบ การตั้งค่า โดยผู้ใช้สามารถเข้าถึงการตั้งค่าเหล่านี้ได้ 2 วิธี ดังนี้
เข้าถึงผ่านการตั้งค่าระบบ
การตั้งค่า > ระบบ > ภาษาและ อินพุต > ภาษาของแอป > (เลือกแอป)
เข้าถึงผ่านการตั้งค่าแอป
การตั้งค่า > แอป > (เลือกแอป) > ภาษา
จัดการเครื่องมือเลือกภาษาในแอป
สำหรับแอปที่มีเครื่องมือเลือกภาษาในแอปอยู่แล้วหรือต้องการใช้ ให้เลือก API สาธารณะแทนการใช้ตรรกะแอปที่กำหนดเองเพื่อจัดการการตั้งค่าและการรับ ภาษาที่ต้องการสำหรับแอปของคุณ หากคุณใช้ API สาธารณะสำหรับในแอป เครื่องมือเลือกภาษา การตั้งค่าระบบของอุปกรณ์จะอัปเดตเป็น ตรงกับภาษาใดก็ตามที่ผู้ใช้เลือกผ่านประสบการณ์ในแอป
เราขอแนะนำอย่างยิ่งสำหรับความเข้ากันได้แบบย้อนหลังกับ Android เวอร์ชันก่อนหน้า โดยใช้ไลบรารีการสนับสนุนของ AndroidX เมื่อใช้เครื่องมือเลือกภาษาในแอป แต่คุณก็ใช้ API ของเฟรมเวิร์กโดยตรงได้เช่นกัน หากจำเป็น
ใช้งานโดยใช้ไลบรารีการสนับสนุนของ AndroidX
ใช้setApplicationLocales()
และgetApplicationLocales()
ใน Appcompat 1.6.0
หรือสูงกว่า โปรดทราบว่า API ที่เข้ากันได้แบบย้อนหลังจะทำงานร่วมกับบริบท AppCompatActivity
ไม่ใช่บริบทแอปพลิเคชันสำหรับ Android 12 (API ระดับ 32) และรุ่นก่อนหน้า
เช่น หากต้องการตั้งค่าภาษาที่ผู้ใช้ต้องการ คุณจะต้องขอให้ผู้ใช้ดำเนินการ เลือกภาษาในเครื่องมือเลือกภาษา จากนั้นตั้งค่าในระบบ
Kotlin
val appLocale: LocaleListCompat = LocaleListCompat.forLanguageTags("xx-YY") // Call this on the main thread as it may require Activity.restart() AppCompatDelegate.setApplicationLocales(appLocale)
Java
LocaleListCompat appLocale = LocaleListCompat.forLanguageTags("xx-YY"); // Call this on the main thread as it may require Activity.restart() AppCompatDelegate.setApplicationLocales(appLocale);
โปรดทราบว่าการเรียกใช้ setApplicationLocales()
จะสร้าง Activity
ของคุณอีกครั้ง ยกเว้น
จัดการการกำหนดค่าภาษาสำหรับแอปของคุณ
เปลี่ยนแปลงไปเอง
ใช้ AppCompatDelegate.getApplicationLocales()
เพื่อเรียกข้อมูลภาษาที่ผู้ใช้ต้องการ ผู้ใช้อาจเลือกภาษาของแอปจากการตั้งค่าระบบหรือจากเครื่องมือเลือกภาษาในแอป
รองรับ Android 12 และต่ำกว่า
หากต้องการรองรับอุปกรณ์ที่ใช้ Android 12 (API ระดับ 32) และต่ำกว่า โปรดบอก
AndroidX จะจัดการพื้นที่เก็บข้อมูลภาษาโดยตั้งค่า autoStoreLocales
เป็น
true
และ android:enabled
ไปยัง false
ในรายการไฟล์ Manifest สำหรับแอปของคุณ
AppLocalesMetadataHolderService
ตามที่แสดงในรหัสต่อไปนี้
snippet:
<application
...
<service
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
android:enabled="false"
android:exported="false">
<meta-data
android:name="autoStoreLocales"
android:value="true" />
</service>
...
</application>
โปรดทราบว่าการตั้งค่า autoStoreLocales
เป็น true
จะทําให้การอ่านที่ถูกบล็อก
ในเทรดหลัก และอาจทำให้
StrictMode
diskRead
และ
การละเมิด diskWrite
รายการหากคุณกำลังบันทึกการละเมิดชุดข้อความ โปรดดู
AppCompatDelegate.setApplicationLocales()
เพื่อดูข้อมูลเพิ่มเติม
การจัดการพื้นที่เก็บข้อมูลที่กำหนดเอง
การละเว้นรายการไฟล์ Manifest หรือการตั้งค่าสัญญาณ autoStoreLocales
เป็น false
คุณกำลังจัดการพื้นที่เก็บข้อมูลของคุณเอง ในกรณีนี้ คุณต้องใส่ฟิลด์
ภาษาที่จัดเก็บไว้ก่อน onCreate
ในวงจรกิจกรรมและการเรียกเกตไปยัง
AppCompatDelegate.setApplicationLocales()
ใน Android 12 (API ระดับ 32) หรือ
ด้านล่าง
หากแอปมีตำแหน่งพื้นที่เก็บข้อมูลตามภาษาที่กำหนดเอง เราขอแนะนำให้ใช้แบบครั้งเดียว
ส่งต่อระหว่างโซลูชันพื้นที่เก็บข้อมูลตามภาษาที่กำหนดเองกับ autoStoreLocales
ผู้ใช้ยังคงเพลิดเพลินกับแอปของคุณในภาษาที่ต้องการต่อไปได้ โดยเฉพาะอย่างยิ่ง
มีผลในกรณีที่แอปทำงานเป็นครั้งแรกหลังจากอัปเกรดอุปกรณ์เป็น
Android 13 ในกรณีนี้ คุณสามารถระบุภาษาที่มีอยู่เดิมซึ่งผู้ใช้ร้องขอได้
โดยเรียกข้อมูลภาษาจากพื้นที่เก็บข้อมูลที่กำหนดเอง และส่งภาษาไปยัง
AppCompatDelegate.setApplicationLocales()
ใช้งานโดยใช้ API เฟรมเวิร์กของ Android
แม้ว่าเราจะแนะนำให้คุณใช้ไลบรารีการสนับสนุนของ AndroidX เพื่อทำสิ่งต่อไปนี้
ใช้เครื่องมือเลือกภาษาในแอป คุณยังสามารถใช้
setApplicationLocales()
และ getApplicationLocales()
ในเฟรมเวิร์กของ Android สำหรับอุปกรณ์ที่ใช้ Android 13
เช่น หากต้องการตั้งค่าภาษาที่ผู้ใช้ต้องการ คุณจะต้องขอให้ผู้ใช้ดำเนินการ เลือกภาษาในเครื่องมือเลือกภาษา จากนั้นตั้งค่าในระบบ
// 1. Inside an activity, in-app language picker gets an input locale "xx-YY"
// 2. App calls the API to set its locale
mContext.getSystemService(LocaleManager.class
).setApplicationLocales(new LocaleList(Locale.forLanguageTag("xx-YY")));
// 3. The system updates the locale and restarts the app, including any configuration updates
// 4. The app is now displayed in "xx-YY" language
หากต้องการให้ภาษาที่ผู้ใช้ต้องการในปัจจุบันแสดงในเครื่องมือเลือกภาษา แอปของคุณจะรับมูลค่าคืนจากระบบได้
// 1. App calls the API to get the preferred locale
LocaleList currentAppLocales =
mContext.getSystemService(LocaleManager.class).getApplicationLocales();
// 2. App uses the returned LocaleList to display languages to the user
แนวทางปฏิบัติแนะนำเพิ่มเติม
โปรดสังเกตแนวทางปฏิบัติแนะนำต่อไปนี้
ลองใช้ภาษาเมื่อเรียกใช้ Intent ในแอปอื่น
Intent ที่เน้นภาษาอาจช่วยให้คุณระบุภาษาที่ต้องการ
ที่เรียกใช้แอป ตัวอย่างหนึ่งคือ
EXTRA_LANGUAGE
จาก Speech Recognizer API
ลองใช้ส่วนหัว "ยอมรับภาษา" สำหรับแท็บที่กำหนดเองของ Chrome
ให้พิจารณาเพิ่มส่วนหัวภาษาที่ยอมรับ
ผ่าน Browser.EXTRA_HEADERS
เพื่อเปิดหน้าเว็บในภาษาของแอปเมื่อเรียกใช้แท็บที่กำหนดเองของ Chrome
หากคุณนำค่ากำหนดภาษาของแต่ละแอปออกในการตั้งค่าระบบ ให้รีเซ็ตภาษาของแอปเป็นภาษาของระบบ
หากคุณนำค่ากำหนดภาษาของแอปออกจากการตั้งค่าระบบ (โดยการนำ
android:localeConfig
จาก AndroidManifest.xml
ของแอป) ผู้ใช้จะดำเนินการไม่ได้
รีเซ็ตภาษาของแอปกลับเป็นค่าเริ่มต้นของระบบได้อย่างง่ายดาย
ด้วยเหตุนี้ หากคุณนำ android:localeConfig
ออก โปรดพิจารณารีเซ็ต
ภาษาของแอปพลิเคชันเป็นภาษาของระบบโดยใช้
LocaleListCompat.getEmptyLocaleList()
หรือ
LocaleList.getEmptyLocaleList()
ตามที่เห็นในข้อมูลโค้ดต่อไปนี้
Kotlin
// Use the AndroidX APIs to reset to the system locale for backward and forward compatibility AppCompatDelegate.setApplicationLocales( LocaleListCompat.getEmptyLocaleList() ) // Or use the Framework APIs for Android 13 and above to reset to the system locale val context = LocalContext.current context.getSystemService(LocaleManager::class.java) .applicationLocales = LocaleList.getEmptyLocaleList()
Java
// Use the AndroidX APIs to reset to the system locale for backward and forward compatibility AppCompatDelegate.setApplicationLocales( LocaleListCompat.getEmptyLocaleList() ); // Or use the Framework APIs for Android 13 and above to reset to the system locale mContext.getSystemService(LocaleManager.class) .setApplicationLocales(LocaleList.getEmptyLocaleList());
แหล่งข้อมูลเพิ่มเติม
ดูตัวอย่างโค้ด บทความในบล็อก และวิดีโอของเราสำหรับข้อมูลเพิ่มเติม
- บล็อกค่ากำหนดภาษาของแอป ตอนที่ 1
- บล็อกค่ากำหนดภาษาของแอป ตอนที่ 2
- แอปตัวอย่าง
- วิดีโอเรื่องการสร้างให้เหมาะกับโลกที่พูดได้หลายภาษา
ตัวอย่างไฟล์ locale_config.xml
โดยค่าเริ่มต้น Android จะมีการแปลระดับระบบใน Android Open
โปรเจ็กต์ต้นทาง (AOSP) สำหรับชุดภาษามาตรฐานที่ใช้กันโดยทั่วไป
ไฟล์ locale_config.xml
ตัวอย่างที่อยู่ในส่วนนี้จะแสดง
รูปแบบที่แนะนำสำหรับแต่ละภาษาเหล่านี้ อ้างอิงไฟล์ตัวอย่างนี้เพื่อช่วยเหลือ
คุณสร้างไฟล์ locale_config.xml
ของคุณเองสำหรับชุดภาษาที่
ที่แอปของคุณรองรับ
<?xml version="1.0" encoding="utf-8"?>
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
<locale android:name="af"/> <!-- Afrikaans -->
<locale android:name="am"/> <!-- Amharic -->
<locale android:name="ar"/> <!-- Arabic -->
<locale android:name="as"/> <!-- Assamese -->
<locale android:name="az"/> <!-- Azerbaijani -->
<locale android:name="be"/> <!-- Belarusian -->
<locale android:name="bg"/> <!-- Bulgarian -->
<locale android:name="bn"/> <!-- Bengali -->
<locale android:name="bs"/> <!-- Bosnian -->
<locale android:name="ca"/> <!-- Catalan -->
<locale android:name="cs"/> <!-- Czech -->
<locale android:name="da"/> <!-- Danish -->
<locale android:name="de"/> <!-- German -->
<locale android:name="el"/> <!-- Greek -->
<locale android:name="en-AU"/> <!-- English (Australia) -->
<locale android:name="en-CA"/> <!-- English (Canada) -->
<locale android:name="en-GB"/> <!-- English (United Kingdom) -->
<locale android:name="en-IN"/> <!-- English (India) -->
<locale android:name="en-US"/> <!-- English (United States) -->
<locale android:name="es"/> <!-- Spanish (Spain) -->
<locale android:name="es-US"/> <!-- Spanish (United States) -->
<locale android:name="et"/> <!-- Estonian -->
<locale android:name="eu"/> <!-- Basque -->
<locale android:name="fa"/> <!-- Farsi -->
<locale android:name="fi"/> <!-- Finnish -->
<locale android:name="fil"/> <!-- Filipino -->
<locale android:name="fr"/> <!-- French (France) -->
<locale android:name="fr-CA"/> <!-- French (Canada) -->
<locale android:name="gl"/> <!-- Galician -->
<locale android:name="gu"/> <!-- Gujarati -->
<locale android:name="hi"/> <!-- Hindi -->
<locale android:name="hr"/> <!-- Croatian -->
<locale android:name="hu"/> <!-- Hungarian -->
<locale android:name="hy"/> <!-- Armenian -->
<locale android:name="in"/> <!-- Indonesian -->
<locale android:name="is"/> <!-- Icelandic -->
<locale android:name="it"/> <!-- Italian -->
<locale android:name="iw"/> <!-- Hebrew -->
<locale android:name="ja"/> <!-- Japanese -->
<locale android:name="ka"/> <!-- Georgian -->
<locale android:name="kk"/> <!-- Kazakh -->
<locale android:name="km"/> <!-- Khmer -->
<locale android:name="kn"/> <!-- Kannada -->
<locale android:name="ko"/> <!-- Korean -->
<locale android:name="ky"/> <!-- Kyrgyz -->
<locale android:name="lo"/> <!-- Lao -->
<locale android:name="lt"/> <!-- Lithuanian -->
<locale android:name="lv"/> <!-- Latvian -->
<locale android:name="mk"/> <!-- Macedonian -->
<locale android:name="ml"/> <!-- Malayalam -->
<locale android:name="mn"/> <!-- Mongolian -->
<locale android:name="mr"/> <!-- Marathi -->
<locale android:name="ms"/> <!-- Malay -->
<locale android:name="my"/> <!-- Burmese -->
<locale android:name="nb"/> <!-- Norwegian -->
<locale android:name="ne"/> <!-- Nepali -->
<locale android:name="nl"/> <!-- Dutch -->
<locale android:name="or"/> <!-- Odia -->
<locale android:name="pa"/> <!-- Punjabi -->
<locale android:name="pl"/> <!-- Polish -->
<locale android:name="pt-BR"/> <!-- Portuguese (Brazil) -->
<locale android:name="pt-PT"/> <!-- Portuguese (Portugal) -->
<locale android:name="ro"/> <!-- Romanian -->
<locale android:name="ru"/> <!-- Russian -->
<locale android:name="si"/> <!-- Sinhala -->
<locale android:name="sk"/> <!-- Slovak -->
<locale android:name="sl"/> <!-- Slovenian -->
<locale android:name="sq"/> <!-- Albanian -->
<locale android:name="sr"/> <!-- Serbian (Cyrillic) -->
<locale android:name="sr-Latn"/> <!-- Serbian (Latin) -->
<locale android:name="sv"/> <!-- Swedish -->
<locale android:name="sw"/> <!-- Swahili -->
<locale android:name="ta"/> <!-- Tamil -->
<locale android:name="te"/> <!-- Telugu -->
<locale android:name="th"/> <!-- Thai -->
<locale android:name="tr"/> <!-- Turkish -->
<locale android:name="uk"/> <!-- Ukrainian -->
<locale android:name="ur"/> <!-- Urdu -->
<locale android:name="uz"/> <!-- Uzbek -->
<locale android:name="vi"/> <!-- Vietnamese -->
<locale android:name="zh-Hans"/> <!-- Chinese (Simplified) -->
<locale android:name="zh-Hant"/> <!-- Chinese (Traditional) -->
<locale android:name="zu"/> <!-- Zulu -->
</locale-config>