Defina o idioma para a execução de um único programa

11

Exemplo completo de c ++ i18n gettext () "hello world" . define a variável de ambiente LANG usando export antes de executar o programa (Linux):

export LANG=es_MX.utf8
./hellogt

Existe uma maneira de definir o idioma apenas durante a execução de hellogt, como um argumento de linha de comando? Isso seria útil para testar programas.

    
por C.W.Holeman II 23.06.2009 / 17:56

2 respostas

11

Em ksh, bash e shells semelhantes,

LANG=es_MX.utf8 ./hellogt

definirá LANG=es_MX.utf8 apenas para a invocação de ./hellogt .

Mais portably, existe um programa chamado env

env LANG=es_MX.utf8 ./hellogt

, que irá definir variáveis de ambiente e executar o programa especificado. Isso funciona em todos os shells, incluindo csh e tradicional sh (que não suportam o primeiro método).

    
por 23.06.2009 / 18:02
8

Você quer dizer algo como:

LANG=es_MX.utf8 ./hellogt

Ou talvez você queira dizer que deseja analisar a linha de comando (argv), localizar o idioma passado e passá-lo para setlocale?

    
por 23.06.2009 / 17:58