Extraindo strings para tradução extracting-strings-for-translating

CAUTION
AEM 6.4 chegou ao fim do suporte estendido e esta documentação não é mais atualizada. Para obter mais detalhes, consulte nossa períodos de assistência técnica. Encontre as versões compatíveis here.

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 { }
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 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.

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.
nenhuma
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 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), 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

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e