
Eu tenho um script bash que preciso traduzir para outros idiomas. Apenas mensagens de eco
Existe algummétodo automático, tradução de script inteiro, ou ferramenta que pode me ajudar a traduzir todas as mensagens "eco" para outros idiomas? (Para evitar ter que digitar todo o "eco" no google tradutor)
Responder1
você não pode alterar algumas configurações de idioma e os comandos de eco do seu script serão magicamente outro idioma.
você pode fazer o seguinte:
- originar um arquivo de idioma.
- crie um script bash que converta o script bash original.
- crie uma função no script bash que traduza a saída.
Como você não está interessado na solução dict, pois ela é muito traduzida pelo Google ... Aposto que o sourcing seria uma boa solução para você.
um exemplo simples seria;
/lang/en.sh
FILEMISSING="That file is missing..."
/lang/fr.sh
FILEMISSING="Ce fichier est manquant..."
script real.sh
#!/bin/bash
LANGUAGE=${LANG:0:2}
source /lang/$LANGUAGE.sh
if [ ! -f "bob.txt" ]; then
echo "$FILEMISSING"
fi
Responder2
Você pode usar a $"…"
sintaxe para especificar umstring que deve ser traduzida de acordo com a localidade.
As traduções devem estar em umarquivo de catálogo de mensagens; consulte o manual do bash para saber onde este arquivo está localizado e o manual do Glibc para saber o formato do arquivo.
Claro, você (ou outra pessoa) terá que fornecer a tradução para cada string. Não há como traduzir texto automaticamente, especialmente strings curtas fora de contexto. A tradução automática é ficção científica.