แก้ไขปัญหาโลแคลใน ArchLinux

ด้วยเหตุผลบางอย่างที่ฉันยังไม่ทราบหลังจากดำเนินการตามปกติ ... การตั้งค่าภาษา es_ES ในการติดตั้ง KDE 5 ใหม่แอปพลิเคชั่นหลายตัวหยุดทำงาน เมื่อไหร่ (เพื่อดูบันทึกข้อผิดพลาด) ฉันวิ่งมันในเทอร์มินัลสิ่งต่อไปนี้ปรากฏขึ้น:

ยุติการเรียกหลังจากโยนอินสแตนซ์ของ 'std :: runtime_error' what (): locale :: facet :: _ S_create_c_locale ชื่อไม่ถูกต้อง

สิ่งนี้หมายความว่า?

คุณมีการกำหนดค่าภาษาที่ระบบไม่ 'จับ' หรือยอมรับเลย

ต้องแก้ยังไง?

ง่ายๆ เราต้องตั้งค่า locale หรือภาษาของระบบให้ดี ซึ่งผมจะสอนวิธีทำ 

1. ก่อนอื่นเราต้องรู้ว่าเราจะใช้ภาษาอะไร (สิ่งที่ชัดเจนฮ่าฮ่า) สมมติว่าเราจะใช้: es_ES

2. ตอนนี้เรากำลังจะเปิดไฟล์รายชื่อสถานที่:

sudo nano /etc/locale.gen

3. เราจะมองหาบรรทัดต่อไปนี้ในไฟล์และยกเลิกการแสดงความคิดเห็น:

# th_ES.UTF-8 UTF-8

Uncomment หมายถึงการลบเครื่องหมายปอนด์ (#) จากจุดเริ่มต้นของบรรทัดนั้น

นั่นคือเราจะปล่อยไว้แบบนี้:

en_ES.UTF-8 UTF-8

4. พร้อมแล้วตอนนี้เรากำลังจะสร้างสถานที่อีกครั้ง:

sudo locale-gen

5. หลังจากเสร็จสิ้นแล้วเราจะตรวจสอบไฟล์ /etc/locale.conf:

sudo nano /etc/locale.conf

ควรมีลักษณะดังนี้:

LC_ALL = C LANG = es_ES.UTF-8 LC_COLLATE = es_ES.UTF-8

เกิดขึ้นกับฉันว่าบรรทัดแรก (LC_ALL = C) ไม่ได้ถูกเพิ่มโดยอัตโนมัติในกรณีที่ไม่ใช่ แอปพลิเคชันจะไม่ทำงาน!

ในไซต์อื่น ๆ คุณจะเห็นว่าพวกเขาแนะนำคำสั่งต่อไปนี้:

ส่งออก LC_ALL = C

มันยังคงใช้ได้อย่างสมบูรณ์

ตอนจบ!

ไม่มีอะไรดี สิ่งนี้ทำให้ฉันปวดหัวเมื่อวานที่บ้านเพราะบรรทัดที่อ้างถึง LC_ALL = C ไม่ได้ถูกเขียนในไฟล์. conf ฉันไม่รู้ว่าทำไม ... แอปพลิเคชันอย่าง TeamSpeak หรือ GParted ไม่ทำงาน บางทีมันอาจจะเกี่ยวข้องกับสิ่งที่ KDE 5 คือ ... แต่อาจจะไม่ใช่ (ฉันไม่คิดว่ามันเป็นความผิดของ KDE)

อย่างไรก็ตามฉันหวังว่าจะเป็นประโยชน์กับใครบางคน


เพิ่มเป็นแหล่งข้อมูลที่ต้องการใน Google