ตัวแปร LANG ผิดใน iTerm2 ข้อผิดพลาดอยู่ที่ไหน


5

วันนี้ฉันสังเกตเห็นว่าเมื่อเปิด TortoiseHG แอปนั้นเป็นภาษาดัตช์ เมื่อมองไปรอบ ๆ ในสภาพแวดล้อมของฉันฉันพบว่า LANG=nl_NL.UTF-8.

เป็นเรื่องจริงที่ภาษาของฉันถูกตั้งค่าเป็น NL (เช่นรูปแบบตัวเลขและทั้งหมด) แต่ภาษาของฉันใน OS X ถูกตั้งเป็นภาษาอังกฤษ สถานที่ค่อนข้างแตกต่างจากภาษา

ดังนั้นคำถามของฉันคือตอนนี้ฉันจะรายงานข้อผิดพลาดนี้ที่ไหน? เป็นปัญหาของ iTerm2 หรือฉันจำเป็นต้องรายงานข้อผิดพลาดที่อื่น?

เป้าหมายของฉันคือการจัดรูปแบบตัวเลขตามมาตรฐานดัตช์ (เช่น 123.456 = 123,000 และ 456 และภาษาของฉันยังคงเป็นภาษาอังกฤษ OS X ได้รับสิ่งนี้ iTerm2 (หรืออย่างน้อย TortoiseHG เริ่มต้นจาก iTerm2)

System Preferences - Language System Preferences - Region

# locale
LANG="nl_NL.UTF-8"
LC_COLLATE="nl_NL.UTF-8"
LC_CTYPE="nl_NL.UTF-8"
LC_MESSAGES="nl_NL.UTF-8"
LC_MONETARY="nl_NL.UTF-8"
LC_NUMERIC="nl_NL.UTF-8"
LC_TIME="nl_NL.UTF-8"
LC_ALL=

รุ่น:

  • OS X: 10.8.2
  • iTerm 2: 1.0.0.20120724
  • TortoiseHG: 2.4

มีโอกาสมากขึ้นที่คุณจะส่งออกค่านี้ในสคริปต์การเข้าสู่ระบบเชลล์ของคุณ คุณได้ดูที่. โปรไฟล์ ฯลฯ หรือไม่
Gerry

2
ไม่ได้ดำเนินการโดย iTerm2 (สามารถปิดการใช้งานในการตั้งค่า - & gt; โปรไฟล์ - & gt; เทอร์มินัล - & gt; ตั้งค่าตัวแปรภาษาโดยอัตโนมัติ)
Wolph

คำตอบ:


7

ต่อไปนี้จะทำเคล็ดลับ: นำทางไปยัง iTerm2 - & gt; ค่ากำหนด - & gt; โปรไฟล์ - & gt; สถานีปลายทาง และยกเลิกการตั้งค่า "ตั้งค่าตัวแปรท้องถิ่นโดยอัตโนมัติ" ในส่วนสภาพแวดล้อม


6

ใน iTerm และ Terminal ตัวแปร LC_ ขึ้นอยู่กับภูมิภาคที่เลือกในการตั้งค่าระบบ ( defaults read -g AppleLocale ) โดยค่าเริ่มต้น. ทั้งสองมีค่ากำหนดสำหรับการใช้ภาษา C แม้ว่า:

  • iTerm: ค่ากำหนด & gt; โปรไฟล์ & gt; เทอร์มินัล & gt; ตั้งค่าตัวแปรโลแคลโดยอัตโนมัติ
  • เทอร์มินัล: ค่ากำหนด & gt; การตั้งค่า & gt; ขั้นสูง & gt; ตั้งค่าตัวแปรสภาวะแวดล้อมโลแคลเมื่อเริ่มทำงาน

คุณสามารถเพิ่มได้ export LANG=C ไปยังโปรไฟล์เชลล์ของคุณ

$ defaults read -g AppleLocale
ja_JP
$ locale
LANG="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_ALL=
$ dddd
-bash: dddd: コマンドが見つかりません
$ export LANG=C
$ dddd
-bash: dddd: command not found

1
ใช่ฉันสังเกตเห็นว่า ดูเหมือนว่าผิดสถานที่ไม่ใช่ภาษา เพียงเพราะฉันต้องการให้ตัวเลขของฉันถูกจัดรูปแบบเช่นนี้ 123.456,789 สำหรับ 123,000 ... ไม่ได้หมายความว่าฉันต้องการให้โปรแกรมของฉันเป็นภาษาดัตช์ ดังนั้นนี่จะเป็นข้อผิดพลาดบางแห่ง
Wolph

1
@WoLpH สถานที่มีภาษา
Gerry

1
@Gerry: ฉันเดาว่าใช้งานได้ฉันจะรายงานว่าเป็นข้อบกพร่องใน iTerm2 ในกรณีนี้เนื่องจากไม่ได้ใช้การตั้งค่าตามที่กำหนดไว้ใน OSX
Wolph

1
@Gerry: ภูมิภาคของฉัน (เช่นรูปแบบตัวเลข) ถูกกำหนดเป็นภาษาดัตช์ภาษาของฉัน (ซึ่งเป็นสถานที่ตามที่คุณกำหนด) ตั้งเป็นภาษาอังกฤษ ดูเหมือนว่ามันจะใช้ตัวแปรผิดในกรณีนั้นใช่ไหม?
Wolph

1
@Gerry: ฉันได้เพิ่มภาพหน้าจอเพื่อชี้แจง :)
Wolph
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.