Extraindo strings para tradução extracting-strings-for-translating
Use xgettext-maven-plugin para extrair strings do código-fonte que precisam ser traduzidas. O plug-in Maven extrai strings para um arquivo XLIFF que você envia para tradução. As cadeias de caracteres são extraídas dos seguintes locais:
- Arquivos de código-fonte Java
- Arquivos de origem do JavaScript
- Representações XML de recursos SVN (nós JCR)
Configuração da extração de sequência de caracteres configuring-string-extraction
Configure como a ferramenta xgettext-maven-plugin extrai strings para o seu projeto.
/filter { }
/parsers {
/vaultxml { }
/javascript { }
/regexp {
/files {
/java { }
/jsp { }
/extjstemplate { }
}
}
}
/potentials { }
Identificação dos arquivos a serem analisados identifying-the-files-to-parse
A seção /filter do arquivo i18n.any identifica os arquivos que a ferramenta xgettext-maven-plugin analisa. Adicione várias regras de inclusão e exclusão que identificam os arquivos que são analisados e ignorados, respectivamente. Você deve incluir todos os arquivos e, em seguida, excluir os arquivos que não deseja analisar. Normalmente, você exclui tipos de arquivos que não contribuem para a interface do usuário ou arquivos que definem a interface do usuário, mas não estão sendo traduzidos. As regras de inclusão e exclusão têm o seguinte formato:
{ /include "pattern" }
{ /exclude "pattern" }
A parte padrão de uma regra é usada para corresponder aos nomes dos arquivos a serem incluídos ou excluídos. O prefixo do padrão indica se você está correspondendo a um nó JCR (sua representação no Vault) ou ao sistema de arquivos.
Quando usado dentro de um padrão, o caractere / indica um subdiretório e o caractere * corresponde a todos. A tabela a seguir lista várias regras de exemplo.
Extração de strings extracting-the-strings
sem POM:
mvn -N com.adobe.granite.maven:xgettext-maven-plugin:1.2.2:extract -Dxgettext.verbose=true -Dxgettext.target=out -Dxgettext.rules=i18n.any -Dxgettext.root=.
Com POM: adicione isso ao POM:
<build>
<plugins>
<plugin>
<groupId>com.adobe.granite.maven</groupId>
<artifactId>xgettext-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<rules>i18n.any</rules>
<root>jcr_root</root>
<xliff>cq.xliff</xliff>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
o comando:
mvn xgettext:extract
Arquivos de saída output-files
-
raw.xliff
: cadeias de caracteres extraídas -
warn.log
: avisos (se houver), se a APICQ.I18n.getMessage()
for usada incorretamente. Eles sempre precisam de uma correção e, em seguida, uma reexecução. -
parserwarn.log
: avisos do analisador (se houver), por exemplo, problemas do analisador js -
potentials.xliff
: candidatos "em potencial" que não são extraídos, mas podem ser cadeias de caracteres legíveis por humanos que precisam de tradução (podem ser ignorados, ainda produzem uma grande quantidade de falsos positivos) -
strings.xliff
: arquivo xliff nivelado, a ser importado para ALF -
backrefs.txt
: permite pesquisa rápida de locais de código-fonte para uma determinada cadeia de caracteres