Olá!
Esta pergunta TLDR vai na esteira das demais não relacionadas
exclusivamente ao Perl.
Tenho trabalhado como uma coleção de steps de gherkin (chamada Barbor) e
pretendo internacionalizá-la.
Este é um exemplo de step, em sua forma .feature:
Quando é definido para o campo <Label do Campo> o valor <Conteúdo a ser
preenchido>
Esses steps são feitos para Cucumber. Portanto, no código em Ruby, temos:
Quando /^é definido para o campo '(.+)' o valor '(.+)'$/ do |field_label,
field_value|
visit ArborFieldPage do |page| page.set_field field_label, field_value end
end
Conheço os arquivos .po, .mo apenas do ponto de vista do usuário
tradutor. Mas, do pouco
que sei sobre gettext, tenho a impressão de que ele não satisfaz o que
pretendo por dois motivos:
1. Pressupõe que o texto original esteja em inglês (?)
2. Pressupõe a adição de um marcador sintático que deve encapsular o
texto traduzível.
Seria asim o .po para esse step (suponto que o step estaria sozinho no
arquivo):
# English translation of Arbor Field
#
msgid ""
msgstr ""
"Project-Id-Version: Arbor Field\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "é definido para o campo"
msgstr "it is set for the field"
msgid "o valor "
msgstr "the value"
Queria poder gerar os .po dessa forma, sem precisar alterar o código dos
steps.
Ou seja, todo o texto em língua humana dos steps será considerado
traduzível por padrão.
Minha pergunta finalmente é: devo fazer o parsing e um mecanimo de
substituição por conta própria,
ou devo utilizar algum toolkit para isso?
Abraço,
Rodrigo Panchiniak Fernandes
http://toetec.com.br
http://panchiniak.toetec.com.br
=begin disclaimer
Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: SaoPaulo-pm@pm.org
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer