LINUX.ORG.RU

bash-скрипты и локализация


0

0

Привет.

В bash-скрипте для пояснительных notice для пользователей у меня есть необходимость использовать кириллицу. Проблема в том, что у пользователей:

а) разные локали
б) разные кодировки терминалов

и как результат - часть пользователей кириллический текст не видит.

Подскажите, какие варианты решения проблемы есть кроме:
1. Не использовать кириллицу
2. Использовать транслит

Спасибо.

if [[ $LANG==ru_RU.UTF8 ]] then echo "сообщение"
else echo "message"
fi

?

TuxR ★★★★
()

man: gettext, msginit msgmerge.

HINT:

$ LANG=ru_RU.KOI8-R gettext -d bash 'argument expected'
$ LANG=ru_RU.UTF-8 gettext -d bash 'argument expected'
$ LANG=es_ES.UTF-8 gettext -d bash 'argument expected'

Как создать файлы переводов и где разместить - дом.задание :)

Slavaz ★★★★★
()

imho - наименее геморный путь - прям в скрипте прочекать LC_CTYPE и выводить с конвертацией через iconv или enca. тем же case-ом определяешь функцию вывода и исползуешь вместо echo.

sda00 ★★★
()
Ответ на: комментарий от sda00

enca еще проще:

function ECHO(){
  echo $* | enconv
}
ECHO "Эта фраза будет выводиться правильно в любой локали"

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.