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


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.