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 cadeias de caracteres para um arquivo XLIFF que você envia para tradução. As cadeias de caracteres são extraídas dos seguintes locais:
- Arquivos de origem Java
- Arquivos de origem do JavaScript
- Representações XML de recursos SVN (nós JCR)
Configuração da extração de cadeia 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 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 do padrão de uma regra é usada para corresponder aos nomes dos arquivos a serem incluídos ou excluídos. O prefixo de padrão indica se você está correspondendo a um nó JCR (sua representação no Vault) ou ao sistema de arquivos.
Quando usado em um padrão, o caractere / indica um subdiretório e o &último; corresponde a todos. A tabela a seguir lista vários exemplos de regras.
Extração das cadeias de caracteres 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 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
: strings extraídas -
warn.log
: avisos (se houver), seCQ.I18n.getMessage()
A API é usada incorretamente. Eles sempre precisam de uma correção e, em seguida, uma nova execução. -
parserwarn.log
: avisos do analisador (se houver), por exemplo problemas do analisador js -
potentials.xliff
: candidatos "potenciais" que não são extraídos, mas podem ser strings legíveis para humanos que precisam de tradução (podem ser ignorados, ainda produzem uma enorme quantidade de falsos positivos) -
strings.xliff
: arquivo xliff nivelado, a ser importado para ALF -
backrefs.txt
: permite pesquisa rápida de locais do código-fonte para uma determinada string