ฟังก์ชัน Language
ใช้กับ: แอปพลิเคชัน Canvas โฟลว์เดสก์ท็อป Power Pages Power Platform CLI
ส่งกลับแท็กภาษาของผู้ใช้ปัจจุบัน
คำอธิบาย
ฟังก์ชัน Language ส่งกลับภาษา สคริปต์ และภูมิภาคของผู้ใช้ปัจจุบัน เป็นแท็กภาษา
ใช้ข้อมูลภาษาเพื่อปรับแต่งแอปของคุณในตำแหน่งที่ตั้งต่างๆ ตัวอย่างเช่น ถ้าคุณกำลังสร้างแอปที่จะใช้ในอิตาลีและฝรั่งเศส คุณสามารถใช้ ภาษา เพื่อแสดงสตริงภาษาอิตาลีและภาษาฝรั่งเศส ให้กับผู้ใช้ของคุณในตำแหน่งที่ตั้งเหล่านั้นได้โดยอัตโนมัติ
แท็กภาษา
แท็กภาษา อาจเป็นหนึ่งในสามรูปแบบ:
ค่าที่ส่งกลับ | คำอธิบาย |
---|---|
"แอลจี-RE" | lg เป็นตัวอักษรย่อ 2 ตัวสำหรับภาษา และ RE เป็นตัวอักษรย่อ 2 ตัวสำหรับภูมิภาค นี่คือชนิดการส่งกลับที่ใช้บ่อยที่สุด ตัวอย่างเช่น "en-GB" จะถูกส่งกลับสำหรับสหราชอาณาจักร |
"แอลจี" | lg คือตัวอักษรย่อสองตัวอักษรของภาษา นี่คือรูปแบบที่ใช้เมื่อ Power Apps มีข้อมูลเกี่ยวกับภาษา แต่ไม่มีข้อมูลเกี่ยวกับภูมิภาคที่เฉพาะเจาะจง |
"lg‑scrp‑RE" | lg เป็นอักษรย่อ 2 ตัวสำหรับภาษา scrp เป็นอักษรย่อ 4 ตัวสำหรับสคริปต์และ RE เป็นอักษรย่อ 2 ตัวสำหรับภูมิภาค |
Power Apps ใช้รูปแบบ แท็กภาษา IETF BCP-47
เมื่อต้องการดูรายการของแท็กภาษาที่สนับสนุน พิมพ์ Value( "1", ) ในแถบสูตรหรือมุมมองขั้นสูง และเลื่อนไปตามรายการของตำแหน่งที่ตั้งที่แนะนำสำหรับอาร์กิวเมนต์ที่สอง
ฟังก์ชัน Text และ Value ใช้แท็กภาษาเช่นกัน ใช้ฟังก์ชันเหล่านี้สำหรับการแปลไปกลับ สตริงข้อความในลักษณะที่เป็นที่ทราบกันทั่วโลก เมื่อส่งแท็กภาษาให้ฟังก์ชันเหล่านี้และภูมิภาคจะทำให้ไม่มีความแตกต่าง คุณสามารถใช้เพียงแค่ส่วนภาษาของแท็กได้
ไวยากรณ์
ภาษา()
ตัวอย่าง
ตำแหน่งที่ตั้งของผู้ใช้
จะถือว่าระบบปฏิบัติการของโฮสต์และ/หรือเบราว์เซอ ร์ใช้ตำแหน่งที่ตั้งเริ่มต้นเป็นตำแหน่งที่ตั้ง
สูตร | Location | ค่าที่ส่งคืน |
---|---|---|
ภาษา() | ลิสบอน โปรตุเกส | "pt-PT" |
ภาษา() | รีโอเดจาเนโร บราซิล | "pt-BR" |
ภาษา() | แอตแลนต้า สหรัฐอเมริกา | "en-US" |
ภาษา() | แมนเชสเตอร์ สหราชอาณาจักร | "en-GB" |
ภาษา() | ปารีส ฝรั่งเศส | "fr-FR" |
ภาษา() | โรโซ ดอมินีกา | "en" |
ภาษา() | เบลเกรด เซอร์เบีย | "sr-cyrl-RS" หรือ "sr-latn-RS" ขึ้นกับการตั้งค่าระบบของผู้ใช้ |
ตารางการแปลเป็นภาษาท้องถิ่น
วิธีการแปลเป็นภาษาท้องถิ่นแบบง่ายๆ คือการสร้างสเปรดชีต Excel ที่แมป TextID ที่ผู้เขียนกำหนดเข้ากับข้อความที่แปลของภาษาของผู้ใช้ แม้ว่าคุณจะสามารถใช้คอลเลกชันหรือแหล่งข้อมูลอื่นๆ สำหรับตารางนี้ได้ เราเลือก Excel เนื่องจากการแก้ไขและจัดการภายนอกแอปด้วยตัวแปลเป็นเรื่องง่าย
สร้างตารางต่อไปนี้ใน Excel:
รายการที่มี ค่าว่าง สำหรับคอลัมน์ ภาษา จะใช้เป็นค่าเริ่มต้นถ้าไม่พบสตริงข้อความที่เฉพาะเจาะจงสำหรับภาษาที่ระบุ รายการนี้ต้องปรากฏขึ้นหลังจากรายการอื่นทั้งหมดสำหรับ TextID ที่ระบุ
สำหรับวัตถุประสงค์ของเรา เราเพียงต้องดูภาษาของตำแหน่งที่ตั้งเท่านั้น ไม่ใช่ของภูมิภาค ถ้าข้อควรพิจารณาของภูมิภาคเป็นสิ่งสำคัญ เราสามารถใส่ค่าแท็กภาษาแบบเต็มลงในตารางด้านบนได้
ใช้ Ribbon แทรก คำสั่ง ตาราง เพื่อทำให้สิ่งนี้เป็นตาราง Excel ที่เหมาะสม ตามค่าเริ่มต้น ตารางจะมีชื่อว่า Table1 แต่คุณสามารถตั้งชื่อเป็นอะไรก็ตามที่คุณต้องการด้วย Ribbon เครื่องมือ/ออกแบบตาราง และกล่องข้อความ ชื่อตาราง: ด้านซ้ายมือสุด
บันทึกไฟล์ Excel ไปยังระบบไฟล์ภายในเครื่องของคุณ
ใน Power Apps ในบานหน้าต่างด้านขวา คลิกหรือแตะแท็บ แหล่งข้อมูล จากนั้นคลิกหรือแตะ เพิ่มแหล่งข้อมูล
คลิกหรือแตะ เพิ่มข้อมูลแบบคงที่ไปยังแอปของคุณ คลิกหรือแตะไฟล์ Excel ที่คุณบันทึก จากนั้นคลิกหรือแตะ เปิด
เลือกตารางที่คุณสร้าง จากนั้นคลิกหรือแตะ เชื่อมต่อ
ในแอปของคุณ ไม่ว่าที่ใดก็ตามที่คุณอาจจะใช้ข้อความ "Hello" ก่อนหน้า ให้ใช้สูตรนี้แทน:
- ค้นหา(ตาราง1, TextID = "สวัสดี" && (LanguageTag = Left(Language(), 2 ) || IsBlank(LanguageTag))).LocalizedText
สูตรนี้จะค้นหาค่า LocalizedText ที่เหมาะสมสำหรับภาษาของผู้ใช้ และถ้าไม่พบ จะถอยกลับไปยังเวอร์ชัน ค่าว่าง เริ่มต้น
โปรดทราบว่า สตริงที่แปลเป็นภาษาอื่นอาจมีความยาวกว่าในภาษาของคุณอย่างมากได้ ในหลายกรณี ป้ายกำกับ และองค์ประกอบอื่นๆ ที่แสดงสตริงในส่วนติดต่อผู้ใช้ของคุณจะต้องกว้างกว่าเพื่อทดแทน
Translation Service
คุณสามารถแปลข้อความตามต้องการโดยใช้บริการแปล เช่น Microsoft บริการแปลภาษา:
- ใน Power Apps ในบานหน้าต่างด้านขวา คลิกหรือแตะแท็บ แหล่งข้อมูล จากนั้นคลิกหรือแตะ เพิ่มแหล่งข้อมูล
- คลิกหรือแตะ Microsoft ตัวแปล
ในแอปของคุณ ไม่ว่าที่ใดก็ตามที่คุณอาจจะใช้ข้อความ "Hello" ก่อนหน้า ให้ใช้สูตรนี้แทน:
- MicrosoftTranslator.Translate( "สวัสดี", ภาษา())
บริการแปลภาษาใช้แท็กภาษาเดียวกันกับที่ฟังก์ชันแปลภาษาส่งกลับภาษา Microsoft
วิธีการนี้มาพร้อมกับข้อเสียบางอย่างเมื่อเปรียบเทียบกับตัวอย่างก่อนหน้านี้ซึ่งนำตารางที่แปลไว้ล่วงหน้าของสตริงข้อความมาใช้:
- การแปลจะใช้เวลาในการทำให้เสร็จสมบูรณ์ จำเป็นต้องมีการเรียกไปยังบริการทั่วทั้งเครือข่าย ซึ่งจะทำให้เกิดการหน่วงเวลาในการดูข้อความที่แปลในแอปของคุณ
- การแปลจะทำโดยเครื่อง และอาจไม่เป็นไปตามที่คุณคาด หรือไม่ใช่ตัวเลือกที่ดีที่สุดสำหรับสถานการณ์ภายในแอปของคุณ