Como usar xgettext iterativa para atualizar .po arquivos para tradução
-
22-08-2019 - |
Pergunta
Eu estou olhando para usar xgettext a tradução ajuda de grande base de código, e eu tenho duas perguntas:
- se eu tiver um arquivo .po per-linguagem, há uma maneira fácil de atualizar todos eles usando uma única varredura xgettext da base de código, ou devo correr xgettext uma vez para cada idioma?
- se eu adicionar o langauge alvo para o cabeçalho do arquivo .po com poedit , xgettext parece substituir este com cabeçalhos padrão. Como posso parar com isso?
Talvez eu estou usando a ferramenta errada, em que sugestões de casos são bem vindas. O que eu quero é ser capaz de digitalizar o código e atualizar os arquivos .po com as novas cordas, mas deixando qualquer informação de cabeçalho intacta.
EDIT: Eu sei que poedit pode ler o código, mas eu estava esperando para encontrar um aplicativo de linha de comando para executar a digitalização para automatizar o processo mais facilmente
.Solução
Sim, basicamente, você está usando o errado ferramentas.
xgettext
extrai os tags e cria o arquivo de modelo. (Por exemplo, arquivo * .pot)
msgmerge
comando atualiza um arquivo .po com alterações do arquivo .pot.
Temos regras fazem para atualizar os arquivos .po, como a abaixo:
%.en.po : %.pot
-[ -e $@ ] && msgmerge --width=110 --update $@ $<
[ -e $@ ] || cp $< $@