เหตุใดการแทนที่ตัวแปรสภาพแวดล้อม LANG จึงไม่เปลี่ยนภาษาสำหรับฉัน


11

ฉันพยายามเรียกใช้แอปพลิเคชันในภาษาอื่นเป็นสภาพแวดล้อมปัจจุบันของฉัน lsในการเริ่มต้นง่ายฉันอยากจะเปลี่ยนภาษาของ

นี่คือสิ่งที่ฉันอ่านไปทั่วสถานที่ (ดูด้านล่างสำหรับคำถามที่เกี่ยวข้อง): ตั้งค่าLANGเป็นหนึ่งในสถานที่ที่รองรับเช่น:

LANG=nl_NL.UTF-8 ls /nonexistent

เพื่อให้มันแสดงเอาท์พุทดัตช์ (NL)

อย่างไรก็ตามฉันยังได้รับผลภาษาอังกฤษ:

$ LANG=nl_NL.UTF-8 ls -al /nonexistent
ls: cannot access /nonexistent: No such file or directory

สภาพแวดล้อมปัจจุบันของฉัน:

$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

เพื่อให้แน่ใจว่าฉันได้ตรวจสอบ:

  • สถานที่ได้รับการสนับสนุน:

    $ grep nl_NL /usr/share/i18n/SUPPORTED 
    nl_NL.UTF-8 UTF-8
    nl_NL ISO-8859-1
    nl_NL@euro ISO-8859-15
    
  • สถานที่เกิดขึ้น:

    sudo locale-gen nl_NL.UTF-8
    

    และsudo dpkg-reconfigure localesยังแสดงให้เห็นว่ามันถูกสร้างขึ้น

  • ติดตั้งชุดภาษาดัตช์ (ติดตั้งแล้ว):

    sudo apt-get install language-pack-nl
    

ฉันลองทำอะไรอีก

  • การใช้exportเพื่อตั้งค่าทั้งสองLANGและLANGUAGEแทนการเพิ่มคำสั่ง
  • LC_ALLการตั้งค่ายัง

น่าแปลกใจที่บางแอปพลิเคชั่น GUI (เพียงบางส่วนเท่านั้น) นั้นเป็นภาษาดัตช์ แต่ฉันไม่ได้กำหนดค่าเลย!

ป้อนคำอธิบายรูปภาพที่นี่

ฉันใช้ Kubuntu 12.04 (.2) เท่าที่สำคัญ

คำถามที่คล้ายกัน (ไม่มีประโยชน์):

มีอะไรผิดปกติในระบบของฉัน จะแก้ไขข้อบกพร่องนี้เพิ่มเติมที่ไหน

คำตอบ:


12

เนื่องจาก LANGUAGE ซึ่งมีความสำคัญเหนือ LANG ถูกตั้งค่าและไม่เปลี่ยนแปลง

$ LANGUAGE=nl ls /nonexistent
ls: kan geen toegang krijgen tot /nonexistent: Bestand of map bestaat niet

ข้อมูลเพิ่มเติมอยู่ในเอกสาร GNT gettext :

GNU gettext ให้การตั้งค่า LANGUAGE ผ่าน LC_ALL และ LANG เพื่อวัตถุประสงค์ในการจัดการข้อความ แต่คุณยังต้องตั้ง LANG (หรือ LC_ALL) เป็นภาษาหลัก สิ่งนี้ต้องการโดยส่วนอื่น ๆ ของไลบรารีระบบ


ฉันสาบานว่าฉันได้ลองสิ่งนี้แล้ว แต่เมื่อดูประวัติเชลล์ฉันคิดว่านี่เป็นเพราะฉันลองแค่นี้ก่อนที่จะสร้างสถานที่ คุณสามารถรวมแหล่งที่มาด้วยสาเหตุที่ทำให้ "LANGUAGE สำคัญกว่า LANG" หรือไม่ ขอบคุณสำหรับหัวขึ้น.
gertvdijk

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