ตามค่าเริ่มต้นเทอร์มินัลจะตั้งค่าตัวแปรสภาพแวดล้อมของโลแคลให้ตรงกับภาษาที่เลือกในปัจจุบันและรูปแบบเวลา / วันที่ / ตัวเลขที่เทอร์มินัลใช้ซึ่งเลือกผ่าน
การตั้งค่าระบบ> ภาษาและข้อความ
(นั่นคือชื่อบน Lion ในระบบก่อนหน้านี้ชื่อที่แน่นอนของแผงการตั้งค่าอาจแตกต่างกัน)
วิธีแก้ปัญหาชั่วคราวคือการลากภาษาอังกฤษไปยังด้านบนของรายการภาษาจากนั้นเปิด Terminal จากนั้นย้ายลิทัวเนียกลับไปที่ด้านบน เทอร์มินัลเท่านั้นจะเป็นภาษาอังกฤษ อย่างไรก็ตามมันจะรีเซ็ตเป็นลิทัวเนียถ้าคุณออกและรีสตาร์ท Terminal
วิธีถาวรคือการบอก Terminal ไม่ให้ตั้งค่าตัวแปรสภาพแวดล้อม locale โดยปิด
เทอร์มินัล> ค่ากำหนด> การตั้งค่า> [โปรไฟล์]> ขั้นสูง> ตั้งค่าตัวแปรสภาพแวดล้อมของโลแคลเมื่อเริ่มต้น
จากนั้นโลแคลจะใช้ค่าเริ่มต้นเป็น "C" โดยไม่ได้ระบุภาษาและโปรแกรมส่วนใหญ่จะใช้ค่าเริ่มต้นเป็นภาษาอังกฤษ
โปรดทราบว่าการปิดการใช้งานนี้หมายความว่าบางโปรแกรมจะไม่ทราบว่าเทอร์มินัลเข้ารหัสอักขระที่ใช้อยู่และจะสมมติว่าเป็น ASCII หรือ ISO-Latin-1 เท่านั้น ดังนั้นหากเทอร์มินัลกำลังใช้ UTF-8 (ค่าเริ่มต้น) โปรแกรมเหล่านั้นอาจทำงานได้หรือไม่ทำงานตามที่ต้องการ
หากเป็นส่วนใหญ่wget
ฉันขอแนะนำให้คุณทำสำเนาโปรไฟล์การตั้งค่าเริ่มต้นปิดการตั้งค่าภาษาในโปรไฟล์ที่กำหนดเองของคุณและใช้เฉพาะโปรไฟล์นั้นเมื่อใช้wget
เพื่อให้คุณสามารถใช้ UTF-8 ได้อย่างต่อเนื่อง เมื่อใช้โปรแกรมอื่นใช้การตั้งค่าเริ่มต้น
ดังที่คนอื่น ๆ พูดถึงคุณยังสามารถแทนที่การตั้งค่าภาษาเริ่มต้นที่เทอร์มินัลจัดหาให้ในสคริปต์เริ่มต้นเชลล์ สำหรับ zsh ให้ใส่ไว้ใน ~ / .zshrc สำหรับ bash ให้ใช้ ~ / .bashrc (และถ้าคุณยังไม่มีให้สร้าง ~ / .bash_profile ที่รัน ~ / .bashrc)
ดู x-man-page: // 1 / locale สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแต่ละค่าของสภาพแวดล้อมโลแคล
อย่างไรก็ตามหากคุณเพียงแค่unset LANG
ตั้งค่าเป็น "C" ซึ่งโดยปกติจะใช้กับเชลล์และโปรแกรมทั้งหมดของคุณในขณะที่เวลาส่วนใหญ่คุณอาจต้องการใช้ UTF-8 และเทอร์มินัลตั้งตัวแปรโลแคลให้ตรงกัน เพื่อให้ได้ระดับสูงสุดของความร่วมมือความเที่ยงตรงและการทำงาน
ดังนั้นหากคุณกำลังจะไปเส้นทางนั้นฉันขอแนะนำให้คุณเขียนโค้ดเพื่อแก้ไขแทนที่ค่าเริ่มต้นเพื่อให้คุณรักษาข้อมูลการเข้ารหัส ("UTF-8") และเพียงบังคับภาษาเป็นภาษาอังกฤษ แทนที่จะตั้งค่าตัวแปรเป็น "C"
ตัวอย่างเช่นใช้งานได้ใน zsh และ bash:
# Replace Lithuanian with English
export LANG=${LANG/lt_LT/en_US}
เมื่อนี้จะเปลี่ยนไปLANG="lt_LT.UTF-8"
LANG="en_US.UTF-8"
ฉันไม่wget
สามารถทดสอบสิ่งนี้ได้ แต่ก็น่าจะพอแล้ว
การทำเช่นนี้หมายความว่าหากคุณเปลี่ยนการตั้งค่าการเข้ารหัสอักขระในเทอร์มินัลคุณจะไม่แทนที่ในสคริปต์เริ่มต้นเชลล์ของคุณ
wget
อะไรกับ? และสิ่งที่จะlocale
แสดงและเป็นเช่นเดียวกับสิ่งที่คุณคาดหวังจากการเลือกภาษาของคุณในบานหน้าต่างการตั้งค่าระบบภาษาและข้อความ ?