1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
---
title: Escrevendo código localizável
slug: Mozilla/Localization/Writing_localizable_code
tags:
- Internacionalização
- Localização
translation_of: Mozilla/Localization/Writing_localizable_code
---
<div>Essa página lhe fala sobre as melhores práticas e diretrizes ao lidar com código de UI relacionado a localização. Ela é destinada a desenvolvedores do Mozilla e de extensões.</div>
<p>Para mais detalhes técnicos, por favor veja também <a href="/pt-BR/docs/XUL_Tutorial/Localization" title="XUL_Tutorial/Localization">UL_Tutorial:Localization</a>.</p>
<h2 id="About_Localizers" name="About_Localizers">Sobre localizadores</h2>
<p>Algumas notas sobre localizadores para desenvolvedores que raramente lidam ocm eles:</p>
<ul>
<li>localizadores gostam de ferramentas, e eles não gostam de editores,</li>
<li>ferramentas de localização geralmente são baseadas em pares de chave-valor,</li>
<li>pelo menos alguns localizadores possuem talentos com foco em habilidades linguísticas e não conhecedores de programação, ou alté mesmo compilação de aplicativos.</li>
</ul>
<h2 id="Guidelines" name="Guidelines">Diretrizes</h2>
<p>Portanto, há algunas diretrizes que você deve seguir para facilitar a localização de seu código:</p>
<dl>
<dt>Escolha bons nomes de chaves</dt>
<dd>Os nomes escolhidos para suas chaves (independentemente de ser um DTD ou um arquivo de propriedade) devem ser descritivos. Pensem neles como sendo nomes longos de variáveis. Se você alterar as semânticas de uma string localizada, altere a chave. Isso provavelmente será um bom nome de chave, e ajudará as ferramentas a compreender que a alteração que você fez é diferente de uma mera correção de ortografia.</dd>
<dt>Tente não presumir a gramática em strings compostas</dt>
<dd>A separação de frases em várias chaves muitas vezes, inadvertidamente, pressupõe uma gramática, uma estrutura de oração e essas strings compostas são muitas vezes muito difíceis de traduzir. Quando uma string composta é necessária, tente dar aos tradutores "espaço para se mover". Um exemplo de uma string composta bem utilizada é a configuração do Firefox para páginas visitadas: o tradutor pode (implicitamente) posicionar o campo de texto como ele bem entender.</dd>
<dt>Não use macros de pré-processador</dt>
<dd>O uso de <code>#if #else #endif</code> ou <code>#expand</code> é fortemente desencorajado. Há algumas exceções a esta regra, mas, em geral, o arquivo localizado deve estar em conformidade com padrões e não devem exigir ferramentas de compilação para serem transformadas. Se você deseja adicionar processamento de compilação a arquivos localizados, certifique-se de solicitar feedback do <a href="/User:AxelHecht" title="User:AxelHecht">l10n@</a>. Na maioria dos casos, você também pode colocar o processamento em código de conteúdo e referência diferentes pares de valor-chave em <code>l10n</code>.</dd>
<dt>Use uma boa estrutura de diretórios de fontes</dt>
<dd>Certifique-se de colocar os arquivos localizáveis no lugar correto. A adição de diretórios de topo de nível é um meio termo entre a propriendade do módulo no repositório no <code>cvsroot</code> e a facilidade de localização.</dd>
<dt>Use uma boa estrutura de diretório de chrome</dt>
<dd>Para um módulo <code>mod</code> em particular, um caminho alvo <code>jar:ab-CD.jar!/locale/ab-CD/mod/foo.dtd</code> foi amplamente testado e é um bom lugar para seus arquivos referenciados como <code><a class="external" rel="freelink">chrome://mod/locale/foo.dtd</a></code>. Usar uma estrutura de diretórios como essa facilita o processo de localização sem o código fonte e é especialmente recomendada para autores de extensão. <a href="pt-BR/docs/Developer_Guide/Intrucoes_Build/Manifestos_JAR" title="JAR_Manifests">Manifestos de JAR</a> podem facilitar isso.</dd>
</dl>
<h2 id="l10n_impact" name="l10n_impact">Impacto de l10n</h2>
<p>Em árvores congeladas, há a regra de não verificar alterações de <em>l10n-impact</em>. Então, o que isso significa? <em>l10n-impact</em> é</p>
<ul>
<li>qualquer alteração a <code>mozilla/@mod@/locales</code>; Localizadores descobrem se eles têm que se atualizar sobre alterações ao fazer consultas de bonsai, assim como todo mundo faz. Nenhuma alteração significa que esse resultado de consulta é vazio.</li>
<li>qualquer uso alterado ou novo de strings localizadas existentes; Qualquer coisa que dispara um ciclo de QA em 40+ localizações é <em>l10n-impact</em>.</li>
</ul>
|