[NET] Blazor detected a change in the application’s culture that is not supported with the current project

Blog มาจดๆไว้ก่อนครับ พอดีลองทำ Blazor WASM มาเป็น Utility เล็กๆ ช่วยงาน แล้วที่นี้ ดันเจอปัญหาว่าบางเครื่องทำงานได้ปกติ แต่บางเครื่องไม่ได้ เมื่อเข้า Web Developer tools จะเจอ Error เต็มๆตามนี้ครับ สำหรับทางแก้ไข เอาตาม Error Message มันแนะนำครับ ใน csproj เพิ่ม เพื่อที่ตอน Bundle มันจะได้ใส่ตัว icu_xx ของภาษา (พวก icudt.dat, icudt_CJK.dat, icudt_EFIGS.dat เป็นต้น) ลงไปให้ครับ ปัญหาว่าบางเครื่องทำงานได้ปกติ แต่บางเครื่องไม่ได้ จากที่ลองมา และอ่าน Doc ของ microsoft ปกติเวลา Client ยิง Request ไป มันจะมีส่วน Accept-Language header ซึ่งตัว Web Browser มันอ้งอิงตามภาษาที่แสดงผล และส่งกับ Request ด้วย เคสที่เจอ ปัญหาตัว wasm มัน Bundle มาเฉพาะ en-US พอเจอเครื่องที่กำหนดเมนูภาษาไทยแล้วไป มันเลยส่งไปเป็น th-Th ตอน Render ก็เลยระเบิดตุ้มที่ฝั่ง Client ส่วนขา Server ไม่มี Log บอกอะไร เลยต้องมาดูในส่วน Web Developer tools ครับ ถ้าเราอยากรู้ว่าส่งอะไร ลองไปดูได้จาก Tab “Network” > Header จะมีส่วนของ en-US,en;q=0.9 หรือ ถ้ามีภาษาไทย th-TH,th;q=0.9,en-US;q=0.8,en;q=0.7แต่เครื่องที่ผมเจอ th-TH,th;q=0.9 มาอธิบายสักนิดต่อ th-TH,th;q=0.9,en-US;q=0.8,en;q=0.7 จบไปอีกปัญหานึงในวันนี้ครับ Happy Coding…








