Closed James941108 closed 3 years ago
ถ้าอาการแบบนี้ น่าจะเป็นเฉพาะบาง View ด้วยใช่มั้ยครับ ถ้าเป็นไปได้อยากรู้ว่าเป็น View แบบไหน และกำหนดข้อความลงใน View ยังไง
ลองเช็คดูด้วยว่า View เหล่านั้นเวลากำหนดค่าเข้าไปมันกำหนดเป็น String Resource หรือ String เฉยๆ เพราะถ้ากำหนดเป็น String Resource เวลาเปลี่ยนภาษามันจะอัปเดตตามภาษาให้ แต่ถ้าโยน String เข้าไปเฉยๆ มันจะไม่เปลี่ยนให้อยู่แล้วครับ
นี่เป็นตัวอย่าง view ที่ใช้นะครับ เป็น title text ที่ใช้ resource ตามรูปที่ 1 ครับ รูปที่ 2 คือ preview ของ view ตอนที่ใช้ภาษาอังกฤษ รูปที่ 3 คือ view ตอนที่เลือกเปลี่ยนเป็นภาษาไทยแล้ว จะเห็นว่า หลังคำว่า SINCE ที่เป็นวันที่กับคำว่า Walk เปลี่ยนเป็นภาษาไทยเรียบร้อยดี เพราะผมเช็คจาก getCurrentLanguage ของ LocalizationActivity น่ะครับ รูปที่ 4 คือ view เมื่อผม kill app และเปิดใหม่อีกครั้งนึง จะเห็นว่าทั้งหน้าเปลี่ยนเป็นภาษาที่ถูกต้องแล้ว ข้อมูลเพิ่มเติม นี่เป็น fragment ที่อยู่กับ activity อีกทีนึงครับ
หรืออาจจะผิดที่ผมเองที่ทำอะไรผิดขั้นตอนไปหรือเปล่าครับ
ขอโทษด้วยครับ ไม่รู้ว่ายังทันหรือป่าว แต่มี Issue ที่คล้ายๆกันที่ผมเพิ่งแก้ไปใน 1.2.6 ครับ
phone : Huawei P10 plus (android 9), Huawei nova5t (android 10) หลังจากเปลี่ยนภาษาแล้ว view ยังใช้ค่า resource จากภาษาในตอนที่เปิดแอปครับ ต้อง kill แอปพลิเคชันแล้วเข้าใหม่จึงจะได้ค่าจาก resource ของภาษาที่เลือก ผมได้ลองเช็คจาก getCurrentLanguage แล้ว ได้ return ภาษาที่ถูกต้องนะครับ และอาการนี้ไม่ได้เป็นกับโทรศัพท์ทุกเครื่องซะด้วย