[SP-pm] alternativas para i18n

Rodrigo Panchiniak Fernandes rodrigo at toetec.com.br
Sat Jan 23 16:38:03 PST 2016


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



More information about the SaoPaulo-pm mailing list