como traduzir o script bash “echo messages” automatic method [closed]

0

Eu tenho um script bash que eu preciso traduzir para outros idiomas. Apenas mensagens de eco

Existe algum método automático, todo o script de tradução ou uma ferramenta que me ajude a traduzir todas as mensagens "echo" para outros idiomas? (Para evitar ter que digitar todo o "eco" no google tradutor)

    
por techraf 25.10.2016 / 00:43

2 respostas

2

você não pode alterar algumas configurações de idioma e os comandos de eco do seu script serão magicamente outros idiomas.

você pode fazer o seguinte:

  • fonte de um arquivo de idioma.
  • crie um script bash que converta o script bash original.
  • crie uma função no script bash que traduz a saída.

Como você não está interessado na solução do dicionário, pois é muito google translatey ... 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..."

actualscript.sh

#!/bin/bash

LANGUAGE=${LANG:0:2}
source /lang/$LANGUAGE.sh

if [ ! -f "bob.txt" ]; then
  echo "$FILEMISSING"
fi
    
por 25.10.2016 / 01:31
1

Você pode usar a sintaxe $"…" para especificar uma string que será traduzida de acordo com a localidade .

As traduções devem estar em um arquivo de catálogo de mensagens ; veja o manual bash para onde este arquivo está localizado e o manual da Glibc para o formato do arquivo.

É claro que 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. Tradução automática é ficção científica.

    
por 25.10.2016 / 01:30

Tags