Extraindo strings para tradução

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

Configure como a ferramenta xgettext-maven-plugin extrai strings para o seu projeto.

/filter { }
/parsers {
   /vaultxml { }
   /javascript { }
   /regexp {
      /files {
         /java { }
         /jsp { }
         /extjstemplate { }
      }
   }
}
/potentials { }
Seção Descrição
/filter Identifica os arquivos que são analisados.
/parsers/vaultxml Configura a análise de arquivos Vault. Identifica os nós do JCR que contêm strings externalizadas e dicas de localização. Também identifica nós JCR para ignorar.
/parsers/javascript Identifica as funções do Javascript que externalizam cadeias de caracteres. Não é necessário alterar esta seção.
/parsers/regexp Configura a análise de arquivos Java, JSP e Modelo ExtJS. Não é necessário alterar esta seção.
/potenciais A fórmula para detectar cadeias de caracteres a serem internacionalizadas.

Identificação dos arquivos a serem analisados

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.

Prefixo Efeito
/ Indica um caminho JCR. Portanto, esse prefixo corresponde arquivos abaixo do diretório jcr_root.
* Indica um arquivo regular no sistema de arquivos.
nenhum Nenhum prefixo ou padrão que começa com uma pasta ou nome de arquivo indica um arquivo normal no 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.

Exemplo de regra Efeito
{ /include "*" } Inclua todos os arquivos.
{ /exclude "*.pdf" } Exclua todos os arquivos PDF.
{ /exclude "*/pom.xml" } Exclua arquivos POM.
{ /exclude "/content/*" } { /include "/content/catalogs/geometrixx/templatepages" } { /include "/content/catalogs/geometrixx/templatepages/*" }

Exclua todos os arquivos abaixo do nó /content.

Inclua o nó /content/catalogs/geometrixx/templatepages .

Inclua todos os nós secundários de /content/catalogs/geometrixx/templatepages.

Extração das cadeias de caracteres

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

  • raw.xliff: strings extraídas

  • warn.log: avisos (se houver), se CQ.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

Nesta página