Встановіть мову для виконання однієї програми


11

Повний C ++ i18n gettext () приклад "привіт, світ". встановлює змінну середовища LANG за допомогою експорту перед виконанням програми (Linux):

export LANG=es_MX.utf8
./hellogt

Чи є спосіб встановити мову лише під час виконання hellogt, як аргумент командного рядка? Це було б зручно для тестування програм.

Відповіді:


11

В ksh, bash та подібних оболонках,

LANG=es_MX.utf8 ./hellogt

буде встановлено LANG=es_MX.utf8лише для виклику ./hellogt.

Більш портативно, є програма під назвою env

env LANG=es_MX.utf8 ./hellogt

яка встановить змінні середовища та запустить задану програму. Це працює у всіх оболонках, в тому числі cshі в традиційних sh(які не підтримують перший метод).


8

Ви маєте на увазі щось на кшталт:

LANG=es_MX.utf8 ./hellogt

? А може, ви маєте на увазі, що хочете проаналізувати командний рядок (argv), знайти передану мову та передати її до setlocale?


Для тестування програм без зміни коду.
CW Holeman II

Отже, перший.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.