Чи можна встановити мову виводу команд оболонки на що-небудь, крім англійської?


9

Я правильно в моєму припущенні , що команди оболонки , такі як cp, man, lsі т.д. завжди друкувати свої повідомлення англійською мовою незалежно від системних і призначених для користувача налаштувань, а також стандартні повідомлення оболонки , як «команда не знайдена" не локалізуемие?

У системних налаштуваннях> Мова та текст я спробував змінити мову, регіон та джерело введення на іншу мову / локаль. Я також спробував бігти 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 поставляються із довідковими сторінками іншими мовами, ніж англійська, але 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
У простому басі 3.2 на Mountain Lion, налаштування LC_MESSAGESне змінить мову жодного повідомлення. Повідомлення німецькою мовою мають бути, мабуть, додатком додому.
GOTO 0

@ ft1 О, ти маєш рацію. Я використовую bash 4.2. Можливо, ці переклади були додані в bash 4.0 або пізнішої версії або, можливо, вони не були включені до версії bash 3.2, яка входить до ОС X.
Lri
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.