Apakah mungkin untuk mengatur bahasa output perintah shell ke selain bahasa Inggris?

9

Apakah aku benar asumsi saya bahwa shell perintah seperti cp, man, ls, dll selalu mencetak pesan mereka dalam bahasa Inggris terlepas dari sistem dan pengguna pengaturan, dan juga standar pesan shell seperti "command not found" tidak dilokalisasi?

Dalam System Preferences> Language & Text, saya mencoba mengubah bahasa, wilayah dan sumber input ke bahasa / lokal yang berbeda. Saya juga mencoba berlari sudo languagesetup. Sepertinya tidak ada yang memengaruhi bahasa perintah shell, jadi saya kira itu pasti sulit dikodekan ke Bahasa Inggris, tetapi saya tidak dapat menemukan referensi di internet. Jika ini tidak benar, bagaimana Anda mengubah bahasa shell di OS X?

GOTO 0
sumber
Saya pikir localeperintah itu mungkin membantu Anda. Saya belum dapat membuatnya berfungsi dengan baik, tetapi berikut adalah beberapa instruksi yang dapat membantu Anda memulai: linuxspy.com/1850/how- to
change

Jawaban:

7

Jika Anda berubah LC_MESSAGES, itu mengubah bahasa kesalahan dan pesan bantuan yang ditampilkan oleh bash, tetapi hanya sebagian saja yang diterjemahkan untuk banyak bahasa:

$ 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.

Terminal dan iTerm 2 diatur LANG(yang mengubah semua variabel lokal aktual suka LC_MESSAGES) berdasarkan wilayah yang dipilih dalam System Preferences secara default.

Beberapa distribusi GNU / Linux datang dengan halaman manual dalam bahasa lain selain bahasa Inggris, tetapi OS X tidak. Beberapa paket Homebrew menambahkan halaman manual lokal ke /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

Misalnya Anda dapat menyalin /usr/share/man/de/dari VM Ubuntu ke OS X, tetapi hanya sebagian kecil dari halaman manual yang diterjemahkan:

ubuntu:~$ find /usr/share/man/de -type f|wc -l
113
ubuntu:~$ find /usr/share/man/man* -type f|wc -l
2857
Lri
sumber
1
Dalam bash 3.2 di Mountain Lion, pengaturan LC_MESSAGEStidak akan mengubah bahasa pesan apa pun. Pesan-pesan dalam bahasa Jerman mungkin merupakan tambahan Homebrew.
GOTO 0
@ ft1 Oh, Anda benar. Saya menggunakan bash 4.2. Mungkin terjemahan-terjemahan itu ditambahkan dalam bash 4.0 atau lebih baru atau mungkin mereka tidak termasuk dalam versi bash 3.2 yang disertakan dengan OS X.
Lri