ปัญหาภาษาใน Windows 10 Ver.1803 และวิธีแก้มัน

ในตอนท้ายของเอ็นทรี่ อัพแล้วเป็นไง Windows 10 April 2018 Update นั้น ผมได้ทิ้งท้ายไว้ว่าเจอบั๊กภาษาอังกฤษเกินมาตัวนึง (แล้วแก้ไปมา จนกลายเป็นหลายตัว 😅) ซึ่งตอนนั้นลงกระทู้บอกวิธีแก้ชั่วคราวไป เพราะคิดว่าคงไม่ได้เป็นกันเยอะ แต่ตอนนี้พบว่ามันระบาดกว่าที่คิด หลายเว็บเริ่มลงวิธีแก้ แต่เป็นวิธีแก้ที่ขัดใจผมเหลือเกิน เลยต้องมาเขียนลงบล็อกแบบเต็ม ๆ

สภาพตอนเกิดปัญหา ของผมมันเกินมาอีกอันนึง เพราะไปเพิ่มเองแล้วลบไม่ออกซะงั้น

แต่ก่อนที่จะไปแก้ปัญหา เราต้องมาทำความรู้จักกับหน้าตั้งค่าเกี่ยวกับภาษาใน Windows 10 Ver. 1803 กันก่อน  ถ้าใครใจร้อนให้เลื่อนผ่านไปเร็ว ๆ จนเจอหัวข้อ สรุปย่อสไตล์ยาวไปไม่อ่าน ผมจะสรุปไว้ตรงนั้น 😉



หน้าตั้งค่าภาษาแบบใหม่ใน April 2018 Update

ปัญหานึงที่คนถามกันมาก (ไปถามพันทิปนะ ไม่ได้ถามผม) คือการตั้งค่าภาษาใน Control Panel หายไปไหน? คำตอบคือ เขาย้ายมาอยู่ฝั่ง Settings เกือบทั้งหมดแล้วครับ เหลือไว้แต่การตั้งค่ารูปแบบวันที่ เวลา และตัวเลขต่าง ๆ ที่ยังทิ้งไว้ที่ Control Panel

การเข้าหน้าตั้งค่าภาษาแบบใหม่นี้ทำได้ 3 วิธี
  1. กดตัวแสดงภาษาที่ทาสก์บาร์ แล้วเลือก Language preferences 
  2. กด Start คลิกที่เฟืองเพื่อเปิดหน้า Settings คลิกเข้าไปที่ Time & Language แล้วกดไปหน้า Region & language 
  3. กดปุ่มค้นหาข้างปุ่ม Start พิมพ์ Language แล้วคลิกสักอันในหมวด Settings ที่ไอคอนมีรูปตัว A
ข้อ 1 เข้าง่ายสุดแล้ว ถ้ามันมีให้คลิกเข้าไปได้นะ ถ้าเข้าถูกก็จะเจอหน้าตาประมาณนี้...

ช่องข้างบนสุด Country or region ใช้เลือกภาษาที่จะบอกให้วินโดวส์และแอพต่าง ๆ รู้ว่าควรแสดงเนื้อหาประเทศไหนให้คุณ ปกติถ้าอยู่เมืองไทยก็เลือก Thailand อยู่แล้ว ลงมาอีกช่องจะเป็นการกำหนด Windows display language อันนี้จะเป็นการกำหนดภาษาของหน้าจอต่าง ๆ ในวินโดวส์ ซึ่งตรงนี้ถ้าเลือกภาษาอะไรไว้จะลบภาษานั้นไม่ได้นะครับ


เลื่อนลงมาอีกจะเป็นส่วนของ Preferred languages เป็นการกำหนดว่าเราจะใช้ภาษาอะไรได้บ้าง และให้ภาษาอะไรสำคัญที่สุด โดยการคลิกลูกศรเพื่อเลื่อนตำแหน่งมัน (พวกแอพที่ติดมากับวินโดวส์จะแสดงภาษาโดยดูจากลำดับตรงนี้เป็นหลัก) ภาษาที่อยู่บนสุดมักจะลบไม่ได้เช่นกัน โดยแต่ละภาษาเราสามารถกด Options เพื่อเข้าไปติดตั้งฟีเจอร์ของภาษานั้นเพิ่มเติม (พวกระบบจดจำลายมือ จดจำเสียง) และใช้กำหนด Keyboard layout ของแต่ละภาษาได้ด้วย และแน่นอนปุ่ม Remove ใช้ลบภาษาที่ไม่ต้องการ (ถ้ากดได้นะ)  ด้านล่าง (ถ้าขยายหน้าต่างใหญ่สุดมันจะอยู่ด้านข้างแทน) จะมีลิ้งค์ไปยังการตั้งค่าอื่น ๆ ดังนี้
  • Additional date, time, & regional settings - เปิดหน้าตั้งค่ารูปแบบวันที่ เวลา และการตั้งค่าเกี่ยวกับภูมิภาคอื่น ๆ
     
  • Administrative language settings - จะเปิดหน้าสำหรับ Copy settings และการตั้งค่าภาษาสำหรับโปรแกรมที่ไม่รองรับยูนิโค้ด (พวกที่ชอบทำภาษาไทยขึ้นเป็น ???? หรือสี่เหลี่ยมนั่นแหละ)
     
  • Advanced keyboard settings - ไปหน้ากำหนดการตั้งค่าอื่น ๆ ของคีย์บอร์ด เช่น ภาษาตั้งต้นของคีย์บอร์ด (ภาษาของคีย์บอร์ดตอนที่เราเปิดเครื่องมา) ซึ่งปกติจะตั้งตามภาษาแรกในลำดับของ Preferred language แต่เราสามารถเปลี่ยนเป็นภาษาอื่นแทนได้  นอกจากนี้หน้านี้ยังเป็นทางผ่านสู่การตั้งค่าปุ่มสลับภาษา ซึ่งหลายคนหาไม่เจอ


ตั้งปุ่มสลับภาษาตรงไหน?

คำถามยอดฮิตที่มีมาทุกครั้งที่วินโดวส์เปลี่ยนหน้าตาการตั้งค่าภาษาใหม่ (ถามกันมาตั้งแต่ยุค Windows XP) ซึ่งมา Windows 10 Ver. 1803 นี่ มันก็ย้ายที่อีกแล้ว 🤗

ก่อนอื่นก็เข้าหน้า Region & language ก่อน (วิธีเข้าเพิ่งบอกไปตะกี้) เลื่อนลงมาล่าง ๆ หรือถ้าขยายหน้าต่างใหญ่ ๆ มันจะเด้งไปอยู่ริมขวา มองหาลิ้งค์ที่เขียนว่า Advanced keyboard settings จิ้มมัน!

มองหาลิ้งค์ที่เขียนว่า Language bar options แล้วก็..จิ้มมัน!

จะมีหน้าต่างขึ้นมา แต่ไม่ใช่แบบนี้ ให้กดไปที่แท็บ Advanced Key Settings มันก็จะเป็นหน้าตาแบบนี้เองแหละ ให้กดปุ่ม Change Key Sequence... ที่อยู่ข้างล่าง

หน้าต่างที่คนนั่งตั้งปุ่มสลับภาษาเองทั้งชีวิตคุ้นเคยจะโผล่มา เลือก Grave Accent ในกรอบ Switch Input Language ไป กด OK จบ.
แต่ผมแนะนำให้ฝึกกดเปลี่ยนภาษาด้วย Win+Space ดีกว่า ตอนกดจะมีขึ้นภาษาให้ดูด้วย แถมไม่ค่อยมีปัญหากับโปรแกรมต่าง ๆ ซ้ำคุณยังได้ปุ่ม (`) กลับมาใช้เรียกคอนโซลไว้ใส่สูตรโกงเกมต่าง ๆ อีกต่างหาก (แต่ถ้าไม่ชอบใช้สูตรโกงก็แล้วไป)


ปัญหายอดฮิต : ENG ซ้ำ 2 ตัว ลบภาษาไม่ได้

จริง ๆ ปัญหานี้มีมานานแล้ว และไม่ได้เกิดกับแค่คนไทย แต่เกิดกับประเทศที่ใช้ภาษาอังกฤษตระกูลอื่นนอกจาก English US กับ English UK ด้วย (ซึ่งกรณีของเขาจะอยากลบ English US ออกมากกว่า แต่ของเราอยากลบ English UK กัน) ในอดีตก็มีคนพบวิธีแก้มากมาย แต่ยิ่งวินโดวส์ออกรุ่นใหม่มา วิธีดังกล่าวก็ยิ่งล้มตายกันเป็นแถบ ๆ

ยิ่ง Windows 10 Ver. 1803 นี่ เหมือนมีการยกเครื่องระบบภาษาครั้งใหญ่ ทำให้การแก้ปัญหาที่ใช้ได้ดีในรุ่นก่อนกลับไม่มีผลอะไรเลย  แต่แล้วในเวลาไม่นาน ก็มีวิธีแก้ออกมาติด ๆ กันถึง 3 วิธี ซึ่งตอนนี้วิธีที่ 2 กำลังแพร่หลาย (วิธีที่ขึ้นต้นด้วยคำสั่ง Get-WinUserLanguageList) แต่วันนี้ผมจะมาแนะนำวิธีที่ 3 ซึ่งได้มาจากที่คุณ Genocide Fang ตอบไว้ในกระทู้นี้ 
    ก่อนจะไปที่วิธีแก้ ผมต้องตั้งคำถามก่อนว่า คุณจะเก็บภาษาไหนไว้? ระหว่าง English US กับ English UK

    เลือก English US
    • ข้อดี : ได้ใช้ภาษาที่คุ้นเคยไม่ขัดตา ได้ใช้ฟีเจอร์ใหม่บางอย่างก่อนภาษาอื่น เช่น text Suggestions
    • ข้อเสีย : มีผลค้างเคียง เช่น  อาจค้นหาการตั้งค่าจากช่องค้นหาในหน้า Settings ไม่ได้ (แต่หาการตั้งค่าจากปุ่มค้นหาข้างปุ่ม Start ได้ปกติ) และอาจกลับมาเป็นซ้ำอีก
    เลือก English UK
    • ข้อดี : ปัญหาน้อยกว่า มีโอกาสหายถาวรได้มากกว่า
    • ข้อเสีย : คำบางคำอาจดูขัดตานิดหน่อย เช่น Personalization จะเปลี่ยนเป็น Personalisation หรือ Optimize ก็จะเปลี่ยนเป็น Optimise   ไม่ได้ใช้ฟีเจอร์บางอย่างที่ยังมีเฉพาะ US  ต้องตั้ง Keyboard layout ใหม่เอง



    ===== แบบเก็บ English US ไว้ =====

    คนไทยยุคนี้จะคุ้นเคยกับ English US มากกว่า เพราะภาษาอังกฤษรอบตัวเป็นแบบ US หมด แต่ไมโครซอฟท์กลับชอบยัดเยียด English UK ให้คนไทยซะงั้น โดยหากผ่านการอัพเกรดหรือสร้างตัวติดตั้งผ่านโปรแกรม คนไทยมักจะได้วินโดวส์ที่กำหนดภาษาตั้งต้นเป็น English UK มาเสมอ (ขนาดติดตั้งจาก USB ในกล่องแบบ FPP ยังโดน UK เลย) แต่ถ้าเราอยากฝืนชะตากรรม ก็มา!

    *ควรตั้ง Display Language เป็น English (United States) ก่อนลงมือ

    1. คลิกขวาที่ Start Menu แล้วเลือก Windows PowerShell (Admin) ถ้าไม่มีให้กดค้นหาแล้วพิมพ์คำว่า PowerShell คลิกขวาที่แอพ Windows PowerShell เลือก Run as administrator

    2. เปิด PowerShell มาแล้ว ให้ก็อปคำสั่งต่อไปนี้ทั้งหมดไปวาง แล้วกด Enter

    $1 = New-WinUserLanguageList en-US
    Set-WinUserLanguageList $1
     

    สภาพจะออกมาแบบนี้... (ถ้าของใครมัน enter เกินมาบรรทัดนึงก็ไม่ต้องสนใจ)

    มันจะถามเพื่อความแน่ใจ ถ้ามั่นใจแล้วให้กด Y แล้วกด Enter (แต่ถ้าเปลี่ยนใจให้กด N แล้วกด Enter) จากนั้นภาษาของทั้งระบบจะถูกลบ เหลือไว้แต่ English US เท่านั้น ให้เข้า Region & language ไป Add ภาษาไทยเพิ่มเอาเองครับ แล้วให้รีสตาร์ทอีกทีนึง จบแล้ว 😂



    ===== แบบเก็บ English UK ไว้ =====

    หากคุณตัดสินใจมาทางนี้ ก็เป็นทางที่เซฟสุดแล้วครับ และถ้าใครเลือกวิธีเก็บ US ไว้แล้วยังมีปัญหา ก็ควรลองแบบเก็บ UK นี่อีกที  ส่วนเรื่องคีย์บอร์ดไม่ตรง เราสามารถแก้ทีหลังได้

    1. ตั้ง Display Language เป็น English (United Kingdom) จากนั้น sign out ออกจากวินโดวส์ แล้วกลับเข้ามาใหม่

    2. เลื่อน English US ลงมา อย่าให้อยู่บนสุด แล้วลองกด Remove ที่ English US ดู ถ้ากดได้ก็จบ ข้ามไปข้อ 3 แต่ถ้าไม่ก็..

    คลิกขวาที่ Start Menu แล้วเลือก Windows PowerShell (Admin) ถ้าไม่มีให้กดค้นหาแล้วพิมพ์คำว่า PowerShell คลิกขวาที่แอพ Windows PowerShell เลือก Run as administrator

    เมื่อเปิด PowerShell มาแล้ว ให้ก็อปคำสั่งต่อไปนี้ทั้งหมดไปวาง จากนั้นกด Enter

    $1 = New-WinUserLanguageList en-GB
    Set-WinUserLanguageList $1


    มันจะถามเพื่อความแน่ใจ ถ้ามั่นใจแล้วให้กด Y แล้วกด Enter (แต่ถ้าเปลี่ยนใจให้กด N แล้วกด Enter) จากนั้นภาษาของทั้งระบบจะถูกลบ เหลือไว้แต่ English UK เท่านั้น ให้เข้า Region & language ไป Add ภาษาไทยเพิ่มเอาเองครับ แล้วให้รีสตาร์ทอีกทีนึง

    3. ปัญหาของ English UK คือ คีย์บอร์ดไม่ตรงกับที่เราใช้กัน ให้เปลี่ยนมัน โดยเข้า Region & Language แล้วกดปุ่ม Options ของภาษา English UK

    ตรงหัวข้อ Keyboard ให้กด Add a keyboard แล้วเพิ่ม US QWERTY เข้าไป  จากนั้นลบ United Kingdom QWERTY ออกไปครับ จบ. 🤗



    ป้องกันการเกิดซ้ำ

    มีหลายคนพบว่าหลังจากใช้วิธีแก้ปัญหา ENG ซ้ำ 2 ตัวแล้ว ไม่นานมันก็กลับมา โดยบางคนถึงกับมาแนะนำให้ปิด Windows Update กันเลยทีเดียว แต่ผมแนะนำให้ทำ 3 ขั้นตอนนี้เพื่อป้องกันดูก่อน ถ้ามันยังกลับมาค่อยว่ากันอีกที

    1. Copy Settings - หลังจากพบว่าแก้ไขปัญหาภาษาต่าง ๆ ได้สมบูรณ์แล้ว ให้เปิด Region & Language ตามเคย จากนั้นคลิกลิ้งค์ Administrative language settings 

    จะเจอหน้าต่างนี้ ให้กดไปที่ปุ่ม Copy settings... จะเจอหน้าแสดงการตั้งค่าภาษาของผู้ใช้ปัจจุบัน (Current user) ของหน้า Welcome (Welcome screen) และของผู้ใช้ใหม่ (New user accounts) และ ให้ตรวจสอบการตั้งค่า Current user ว่าโอเคมั้ย ถ้าโอเค ให้กาที่ช่อง Welcome screen and system accounts กับ New user accounts แล้วกด OK


    2. LPKSETUP - เพื่อล้างซากภาษาที่ไม่ใช้ออกไป ให้กด Win+R เพื่อเรียกหน้าต่าง Run ขึ้นมา แล้วพิมพ์ lpksetup /u  แล้ว enter


    จากนั้นจะมีหน้าต่างให้เลือกถอนภาษาที่ไม่ต้องการออก ขึ้นมาดังนี้

    ให้กาที่ช่อง English (English) ที่มันให้กาได้นั่นแหละ ส่วนที่มีเครื่องหมายตกใจสีเหลืองคือภาษาตั้งต้น ลบไม่ได้ ปล่อยมัน จากนั้นกด Next แล้วจะต้องรีสตาร์ทเหมือนตอนอัพเดตวินโดวส์ (แบบอัพเดตย่อยรายเดือน) จบขั้นตอนนี้


    3. ปิด Sync Language preferences - ข้อนี้ไม่แน่ใจว่าเกี่ยวมั้ย แต่ปิดไว้ก็ดี ให้เข้า Settings > Accounts > Sync your settings แล้วมองที่หัวข้อ Individual sync settings แล้วกดปิด Language preferences ซะ

    ส่วนตัวไม่แน่ใจว่าจำเป็นต้องทำมั้ย แต่ผมเองทำครบ 3 อย่างนี้แล้ว ผ่านไป 10 วันก็ยังไม่มีปัญหา ENG ซ้ำ 2 ตัวกลับมาอีก ดังนั้นลองทำไว้เถอะครับ ดีกว่าไปปิด Windows Update แหละ



    สรุปย่อสไตล์ยาวไปไม่อ่าน


    ตั้งปุ่มสลับภาษา
    1. เข้าหน้า Region & language แล้วกดลิ้งค์ Advanced keyboard settings
    2. กดที่ Language bar options
    3. ไปที่แท็บ Advanced Key Settings กดปุ่ม Change Key Sequence... 
    4. เลือก Grave Accent ในกรอบ Switch Input Language ไป กด OK จบ.

    แก้ ENG ซ้ำ 2 ตัว แบบเก็บ English US ไว้
    1. คลิกขวาที่ Start Menu แล้วเลือก Windows PowerShell (Admin)
    2. ก็อปคำสั่ง 2 บรรทัดนี้ไปวาง แล้วกด Enter
      $1 = New-WinUserLanguageList en-US

      Set-WinUserLanguageList $1
    3. มันจะขึ้นให้ยืนยัน กด Y แล้วกด Enter
    4. เพิ่มภาษาไทยเข้าไปใหม่แล้วรีสตาร์ท

    แก้ ENG ซ้ำ 2 ตัว แบบเก็บ English UK ไว้ (เหมาะกับคนที่เลือกวิธีเก็บ English US แล้วไม่ได้ผล)
    1. ตั้ง Display Language เป็น English (United Kingdom)
    2. เลื่อน English US ไม่ให้อยู่บนสุด แล้วลบทิ้ง ถ้าลบได้ข้ามไปข้อ 7 ถ้าลบไม่ได้ทำต่อข้อ 3
    3. คลิกขวาที่ Start Menu แล้วเลือก Windows PowerShell (Admin)
    4. ก็อปคำสั่ง 2 บรรทัดนี้ไปวาง แล้วกด Enter
      $1 = New-WinUserLanguageList en-GB
      Set-WinUserLanguageList $1
    5. มันจะขึ้นให้ยืนยัน กด Y แล้วกด Enter  
    6. เพิ่มภาษาไทยเข้าไปใหม่แล้วรีสตาร์ท
    7. เข้า Region & Language แล้วกดปุ่ม Options ของภาษา English UK
    8. กดเพิ่มคีย์บอร์ด US QWERTY แล้วลบ United Kingdom QWERTY ออก

    ป้องกันการเกิดซ้ำ 1 : Copy settings
    1. เปิด Region & Language กดเข้าลิ้งค์ Administrative language settings
    2. กดไปที่ปุ่ม Copy settings..
    3. ตรวจสอบการตั้งค่าภาษาของ Current user ว่าถูกต้องหรือไม่ ถ้าถูกต้องทำต่อ ถ้าไม่ถูกกลับไปแก้ให้ถูก
    4. กาที่ช่อง Welcome screen and system accounts กับ New user accounts แล้วกด OK

    ป้องกันการเกิดซ้ำ 2 : lpksetup
    1. กด Win+R เพื่อเรียกหน้าต่าง Run ขึ้นมา
    2. พิมพ์ lpksetup /u  แล้ว enter
    3. กาที่ช่อง English (English) ที่มันให้กาได้ 
    4. กด Next แล้วรอเครื่องรีสตาร์ท

    ป้องกันการเกิดซ้ำ 3 : ปิด Sync Language preferences
    1. เข้า Settings > Accounts > Sync your settings
    2. ที่หัวข้อ Individual sync settings กดปิดที่ Language preferences



    = ขอให้โชคดีครับ 😆 =