ข้ามไปยังเนื้อหา
Android i18n

Android Localization: เปิดตัวแอปของคุณในทุกภาษา

Android มีระบบ localization แบบ resource-based ที่มีประสิทธิภาพโดยใช้ไฟล์ strings.xml และ resource qualifiers แต่ละ locale จะมี values directory เป็นของตัวเอง และระบบจะเลือก resource ที่เหมาะสมโดยอัตโนมัติตามภาษาของอุปกรณ์ ด้วย Jetpack Compose และการตั้งค่าภาษาต่อแอปใน Android 13 ขึ้นไป การสร้างแอป Android หลายภาษาง่ายยิ่งกว่าที่เคย

ฟีเจอร์การทำ Android Localization

ไฟล์ resource strings.xml พร้อมการอ้างอิง R class ที่ปลอดภัยตามประเภท
กฎการทำ pluralization ในตัวด้วย quantity strings (zero, one, two, few, many, other)
รองรับ Jetpack Compose ด้วย stringResource() และ pluralStringResource()
การตั้งค่าภาษาต่อแอปสำหรับ Android 13 ขึ้นไป โดยไม่ต้องรีสตาร์ทแอป
Resource qualifiers สำหรับ locale, ขนาดหน้าจอ และทิศทางการจัดวาง
การสลับการจัดวางแบบขวาไปซ้าย (RTL) พร้อมการพลิก view อัตโนมัติ
การจัดรูปแบบวันที่ เวลา และตัวเลขตาม locale ผ่านไลบรารี ICU
String arrays และ typed arrays สำหรับเนื้อหาลิสต์ที่แปลแล้ว
Android Studio Translations Editor สำหรับการจัดการ string แบบ visual

การแปลภาษาท้องถิ่นของแอนดรอยด์ในทางปฏิบัติ

กำหนด string ที่แปลได้ใน res/values/strings.xml พร้อมการรองรับ plurals จากนั้นใช้ Kotlin และ Jetpack Compose API เพื่อแสดงเนื้อหาที่รับรู้ locale ใน UI ของคุณ

<!-- res/values/strings.xml -->
<resources>
    <string name="welcome">Welcome to %1$s</string>
    <plurals name="items">
        <item quantity="one">%d item</item>
        <item quantity="other">%d items</item>
    </plurals>
</resources>

<!-- res/values-fr/strings.xml -->
<resources>
    <string name="welcome">Bienvenue sur %1$s</string>
    <plurals name="items">
        <item quantity="one">%d article</item>
        <item quantity="other">%d articles</item>
    </plurals>
</resources>

// Kotlin - Jetpack Compose
@Composable
fun WelcomeScreen() {
    Text(text = stringResource(R.string.welcome, "My App"))
    Text(text = pluralStringResource(R.plurals.items, 5, 5))
}

เริ่มต้นการทำ Android Localization วันนี้

จัดการการแปล strings.xml ของ Android ด้วยเวิร์กโฟลว์ที่ขับเคลื่อนด้วย AI, การซิงค์ผ่าน CLI และการส่งมอบผ่าน CDN ภายใต้ 50ms