เป็นไปได้ไหมที่จะตั้งค่าภาษาเอาต์พุตของคำสั่งเชลล์เป็นอย่างอื่นที่ไม่ใช่ภาษาอังกฤษ?


9

ฉันถูกต้องในสมมติฐานของฉันที่เปลือกคำสั่งเช่นcp, man, lsฯลฯ มักจะพิมพ์ข้อความของพวกเขาในภาษาอังกฤษโดยไม่คำนึงถึงระบบและการใช้การตั้งค่าและยังข้อความมาตรฐานเปลือกเช่น "ไม่พบคำสั่ง" ไม่ได้ localizable?

ในการตั้งค่าระบบ> ภาษา & ข้อความฉันพยายามเปลี่ยนภาษาภูมิภาคและแหล่งอินพุตเป็นภาษา / โลแคลอื่น sudo languagesetupฉันยังพยายามทำงาน ดูเหมือนจะไม่มีอะไรส่งผลกระทบต่อภาษาของคำสั่งเชลล์ดังนั้นฉันเดาว่ามันต้องยากที่จะเขียนโค้ดเป็นภาษาอังกฤษ แต่ฉันไม่พบการอ้างอิงใด ๆ บนอินเทอร์เน็ต หากไม่ถูกต้องคุณจะเปลี่ยนภาษาของเชลล์ใน OS X ได้อย่างไร


ฉันคิดว่าlocaleคำสั่งอาจช่วยคุณได้ ฉันไม่สามารถใช้งานได้สำเร็จ แต่นี่คือคำแนะนำบางอย่างที่อาจช่วยให้คุณเริ่มต้นได้: linuxspy.com/1850/how-to-change-the-bash-shell-language
alexwlchan

คำตอบ:


7

หากคุณเปลี่ยนLC_MESSAGESมันจะเปลี่ยนภาษาของข้อผิดพลาดและข้อความช่วยเหลือที่แสดงโดย bash แต่มีเพียงบางส่วนเท่านั้นที่ถูกแปลสำหรับหลายภาษา:

$ export LC_MESSAGES=de_DE.UTF-8
$ aa
bash: aa: Kommando nicht gefunden.
$ help alias
alias: alias [-p] [Name[=Wert] ... ]
    Definiert Aliase oder zeigt sie an.

    Ohne Argumente wird die Liste der Aliase (Synonyme) in der Form
    `alias Name=Wert' auf die Standardausgabe gedruckt.

    Sonst wird ein Alias für jeden angegebenen Namen definiert, für den ein
    Wert angegeben wurde.
    A trailing space in VALUE causes the next word to be checked for
    alias substitution when the alias is expanded.

    Options:
      -p    Print all defined aliases in a reusable format

    Rückgabewert:
    Meldet Erfolg, außer wenn NAME nicht existiert.

เทอร์มินัลและชุด iTerm 2 LANG(ซึ่งเปลี่ยนตัวแปรตำแหน่งที่ตั้งจริงทั้งหมดเช่นLC_MESSAGES) ตามภูมิภาคที่เลือกในการตั้งค่าระบบตามค่าเริ่มต้น

การแจกแจง GNU / Linux บางอย่างมาพร้อมกับ man page ในภาษาอื่นที่ไม่ใช่ภาษาอังกฤษ แต่ OS X ไม่ได้ทำ แพ็คเกจ Homebrew บางแพ็คเกจจะเพิ่มหน้าเว็บที่มีการแปลเป็นภาษาท้องถิ่น/usr/local/share/man/:

$ LC_MESSAGES=de_DE.UTF-8 man -w ps2pdf
/usr/local/share/man/de/man1/ps2pdf.1
$ LC_MESSAGES=de_DE.UTF-8 man ps2pdf|head
PS2PDF(1)                         Ghostscript                        PS2PDF(1)



NAME
       ps2pdf - konvertiert PostScript nach PDF mittels ghostscript
       ps2pdf12 - konvertiert PostScript nach PDF 1.2 (kompatibel zu Acrobat 3
       und spAxter) mittels ghostscript
       ps2pdf13 - konvertiert PostScript nach PDF 1.3 (kompatibel zu Acrobat 4
       und spAxter) mittels ghostscript

ตัวอย่างเช่นคุณสามารถคัดลอก/usr/share/man/de/จาก Ubuntu VM ไปยัง OS X แต่แปลหน้าคู่มือได้เพียงบางส่วนเท่านั้น:

ubuntu:~$ find /usr/share/man/de -type f|wc -l
113
ubuntu:~$ find /usr/share/man/man* -type f|wc -l
2857

1
ใน bash 3.2 แบบธรรมดาบน Mountain Lion การตั้งค่าLC_MESSAGESจะไม่เปลี่ยนภาษาของข้อความใด ๆ ข้อความในภาษาเยอรมันต้องเป็นส่วนเสริมของ Homebrew
GOTO 0

@ ft1 โอ้คุณพูดถูก ฉันใช้ทุบตี 4.2 อาจแปลเหล่านั้นถูกเพิ่มใน bash 4.0 หรือใหม่กว่าหรืออาจจะไม่รวมอยู่ในเวอร์ชั่นของ bash 3.2 ที่มาพร้อมกับ OS X
Lri
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.