Установить язык для выполнения одной программы


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.