Pseudolocale คือภาษาที่ออกแบบมาเพื่อจำลองลักษณะของ ภาษาที่ทำให้เกิด UI, การจัดวาง และปัญหาอื่นๆ ที่เกี่ยวข้องกับการแปลเมื่อ แอป ได้รับการแปลแล้ว Pseudolocales สร้างขึ้นโดยการแปลทันทีและอัตโนมัติ ซึ่งสามารถอ่านได้เป็นภาษาอังกฤษสำหรับข้อความแปลได้ทั้งหมด ข้อความที่ไม่มีการแปลงจะชี้ไปยังข้อความที่แปลไม่ได้ในซอร์สโค้ด
Pseudolocales ประหยัดเวลา เพราะคุณสามารถปรับแต่งข้อความ UI และการจัดวางได้ คุณคอมมิตข้อความไปยังที่เก็บต้นทางที่จะส่งไปแปล ในภายหลัง สำหรับรายการปัญหาที่อาจพบในการแปล โปรดดูที่ ส่วนปัญหาการแปล
ชื่อ Pseudolocale ของ Android จะเป็นไปตามรูปแบบการตั้งชื่อภาษามาตรฐาน และ รหัสภาษาจะแยกวิเคราะห์โดยภาษาโปรแกรมใดๆ ที่เป็นไปตาม BCP 47 ได้ ในความหมายนี้ Pseudolocales จะเหมือนกับภาษาอื่นๆ เช่น ฝรั่งเศส ภาษาจีน หรือรัสเซีย
แพลตฟอร์ม Android มี Pseudolocale 2 ภาษาต่อไปนี้เพื่อแสดง ภาษาจากซ้ายไปขวา (LTR) และขวาไปซ้าย (RTL)
ภาษาอังกฤษ (XA): เพิ่มเครื่องหมายกำกับการออกเสียงภาษาละตินในข้อความ UI ภาษาอังกฤษพื้นฐาน ขยาย ข้อความต้นฉบับโดยเพิ่มข้อความที่ไม่มีเครื่องหมายเน้นเสียง และวงเล็บแต่ละหน่วยข้อความให้กับ แสดงปัญหาที่อาจเกิดขึ้นจากข้อความแบบขยาย ปัญหาที่อาจเกิดขึ้นอาจเป็นเลย์เอาต์ การเสียหายและไวยากรณ์ของข้อความที่มีรูปแบบไม่ถูกต้อง เช่น การแยกประโยค ออกเป็นหลายส่วนโดยแสดงเป็นข้อความคร่อมหลายข้อความ อังกฤษ (XA) Pseudolocale แสดงในรูปที่ 1
AR (XB): กำหนดทิศทางข้อความจากต้นฉบับจากซ้ายไปขวาเป็น ทิศทางจากขวาไปซ้าย ซึ่งจะกลับลำดับของอักขระใน ข้อความต้นฉบับ Pseudolocale ของ AR (XB) แสดงอยู่ในรูปที่ 2
Pseudolocales สามารถช่วยให้คุณทำให้แอปเป็นเวอร์ชัน RTL แม้ว่าคุณจะไม่ได้สร้าง เขียนหรือพูดภาษาที่เขียนจากขวาไปซ้าย
เปิดใช้ Pseudolocal
โดยปกติจะมีการเพิ่ม Pseudolocales ไปยังบิลด์ที่มุ่งเน้นนักพัฒนาซอฟต์แวร์ เมื่อคุณเลือก Pseudolocale ในอุปกรณ์ของคุณ แอปทั้งหมดที่สนับสนุน Pseudolocales จะทำงาน ลักษณะของ Pseudolocale ที่เลือก รวมถึงแอประบบทั้งหมด เช่น แอปการตั้งค่าและแผงการตั้งค่าด่วน
หากต้องการใช้ Pseudolocal ของ Android คุณต้องเรียกใช้ Android 4.3 (API ระดับ 18) ขึ้นไปและมี เปิดใช้ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์แล้ว บนอุปกรณ์ของคุณ
ขั้นตอนต่อไปนี้อธิบายวิธีเปิดใช้งาน Pseudolocales
ใน Android Studio ให้เปิดใช้ Pseudolocales สำหรับแอปที่ต้องการด้วยการเพิ่มเมธอด การกำหนดค่าต่อไปนี้ในไฟล์
build.gradle
ดึงดูด
android { ... buildTypes { debug {
pseudoLocalesEnabled
true } } }Kotlin
android { ... buildTypes.getByName("debug") { isPseudoLocalesEnabled = true } }
-
ใช้แอปการตั้งค่าเพื่อเลือก Pseudolocale ขั้นตอนนี้จะแตกต่างกันไปตาม เวอร์ชันของ Android ดังนี้
Android 5.0 (API ระดับ 21) ขึ้นไป
- บนอุปกรณ์ ให้เปิดแอปการตั้งค่า แล้วแตะภาษาและการป้อนข้อมูล > ค่ากำหนดภาษา
- ในรายการค่ากำหนดภาษา ให้ลากแท็บเพื่อย้าย Pseudolocale ที่ด้านบนสุดของรายการและทำให้เป็นภาษาที่ใช้งานอยู่ ดูรูปที่ 3
Android 4.4.4 (API ระดับ 19) หรือต่ำกว่า
- บนอุปกรณ์ ให้เปิดแอปการตั้งค่า แล้วแตะภาษาและการป้อนข้อมูล > ค่ากำหนดภาษา > เพิ่มภาษา
- แตะภาษาเทียมเพื่อเพิ่มลงในรายการค่ากำหนดภาษา
- ในรายการค่ากำหนดภาษา ให้ลากแท็บเพื่อย้าย Pseudolocale ที่ด้านบนสุดของรายการและทำให้เป็นภาษาที่ใช้งานอยู่ ดูรูปที่ 3
ปัญหาการแปลสปอต
Pseudolocales เป็นวิธีที่ประหยัดเวลาและมีประสิทธิภาพในการระบุโอกาสที่จะพบ ปัญหาด้านความสามารถในการแปลใน UI โดยช่วยคุณระบุปัญหาใน พื้นที่ต่อไปนี้:
- สตริงแบบฮาร์ดโค้ดซึ่งส่งไปแปลไม่ได้ แสดงเป็นไม่มีเครื่องหมายเน้นเสียง ใน Pseudolocale เพื่อทำให้สังเกตเห็นได้
- ปัญหาเลย์เอาต์ UI ที่เกิดจากการขยายข้อความ ซึ่งจะแสดงจุดที่ UI ขัดข้อง เนื่องจากความยาวของข้อความ
การต่อสตริงที่แสดงเป็น 1 ข้อความโดยแบ่งเป็น 2 ส่วน วงเล็บเพิ่มเติม การทำเช่นนี้อาจทำให้การแปลที่ถูกต้องเป็นเรื่องยาก เนื่องจากนักแปล จะต้องแปลแต่ละส่วนแยกกัน โดยไม่รู้ว่าส่วนต่างๆ ที่เกี่ยวข้องกัน การต่อสตริงอาจทำให้การแปลที่ถูกต้องเป็นไปไม่ได้ เพราะแตกต่างกัน ภาษาอาจต้องมีลำดับของชิ้นส่วนที่แตกต่างกัน หรือ โครงสร้างประโยค เช่น ภาษาต่างๆ อย่างภาษาญี่ปุ่น เกาหลี และ ภาษาทมิฬจะวางกริยาไว้ที่ท้ายประโยค เมื่อประโยคเชื่อมต่อกัน นักแปลไม่สามารถเปลี่ยนลำดับคำได้ตามที่ต้องการ
ปัญหาเกี่ยวกับข้อความแบบสองทิศทาง (BIDI) เช่น เมื่อเนื้อหาในข้อความเดียว เส้นทาง รวมวลีในบรรทัดในทิศทางข้อความตรงกันข้าม ทำให้สตริง อ่านยาก
ปัญหาแบบขวาไปซ้าย (RTL) เช่น องค์ประกอบไม่ได้รับการมิเรอร์ ตัวอย่างเช่น องค์ประกอบ UI ไม่ย้ายไปทางด้านซ้าย ข้อความไม่กลับด้านและย้ายไปยัง เครื่องหมายวรรคตอนทางซ้าย หรือใส่ผิดที่ เช่น "กฎ pseudolocales!" กำลังเปลี่ยนเป็น "เกลียด Selacoloduesp!" แทนที่จะใช้ "!elur selacoloduesp"