aboutsummaryrefslogtreecommitdiff
path: root/files/es/escribir_código_localizable/index.html
blob: dc9f1579a53a7eb752e697c7e745fde12c1d20f4 (plain)
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
---
title: Escribir código localizable
slug: Escribir_código_localizable
tags:
  - Localización
translation_of: Mozilla/Localization/Writing_localizable_code
---
<h2 id="Escribir_c.C3.B3digo_localizable" name="Escribir_c.C3.B3digo_localizable">Escribir código localizable</h2>
<p>Esta página explica las buenas prácticas y directrices al tratar con código de interfaces de usuario en relación a la localización. Está dirigido a desarrolladores de Mozilla y de sus extensiones.</p>
<p>Para más detalles técnicos, por favor, revisa el <a class="internal" href="/es/Tutorial%20de%20XUL/Localizaci%C3%B3n" title="es/Tutorial de XUL/Localización">Tutorial de XUL:Localización</a>.</p>
<p><span class="comment">{{ draft }}</span></p>
<h3 id="Acerca_de_los_traductores" name="Acerca_de_los_traductores">Acerca de los traductores</h3>
<p>Un par de apuntes sobre los traductores para desarrolladores que raramente trabajan con ellos.</p>
<ul> <li>A los traductores les gustan las herramientas, no los editores de texto.</li> <li>Las herramientas de traducción están basadas con frecuencia en pares clave/valor.</li> <li>Al menos algunos traductores dirigen su talento a la habilidad con los idiomas y no son expertos en programación, ni siquiera en la compilación de aplicaciones.</li>
</ul>
<h3 id="Gu.C3.ADas_de_estilo" name="Gu.C3.ADas_de_estilo">Directrices</h3>
<p>Por tanto, hay algunas directrices que se deberían seguir para facilitar la localización de tu código.</p>
<dl><dt> Elegir nombres de claves apropiados</dt><dd> Los nombres elegidos para las claves (sin importar que estén en un DTD o en un fichero properties) deberían ser descriptivos. Piensa en ellos como nombres de variable largos. Si la semántica de una cadena traducible cambia, entonces la clave también debería cambiar. Esto mejorará el nombre de la clave y las herramientas podrán detectar que lo que se ha cambiado es algo más que una simple corrección ortográfica o gramatical. </dd></dl> <dl><dt> No asumir el uso de gramática en la cadenas compuestas</dt><dd> Si se dividen frases en varias claves se presupone el uso de una gramática, una estructura de frase y tales cadenas compuestas son con frecuencia muy difíciles de traducir. Cuando se necesite una cadena compuesta, es aconsejable darles a los traductores espacio para moverse. Un buen ejemplo de cadena compuesta es la configuración de páginas visitadas en Firefox: el traductor puede (implícitamente) poner el campo de texto como él crea conveniente. </dd></dl> <dl><dt> No usar macros de preprocesador</dt><dd> El uso de <code>#if #else #endif</code> o <code>#expand</code> está profundamente desaconsejado. Existen unas pocas excepciones a esta regla, pero en general el fichero traducido debería cumplir los estándares y no debería necesitar herramientas de compilación para ser transformado. Si se quiere añadir procesamiento durante la compilación a ficheros de localización, habría que asegurarse de pedir opinión a <a href="/User:AxelHecht" title="User:AxelHecht">l10n@</a>. En la mayoría de los casos, las instrucciones de proceso también se pueden poner en el código de contenido y referenciar diferentes pares clave/valor en <code>l10n</code>. </dd></dl> <dl><dt> Utilizar una buena estructura de directorios</dt><dd> Asegúrate de poner los ficheros de localización en el lugar apropiado. La inclusión de nuevos directorios superiores es un compromiso entre la propiedad del módulo en el repositorio <code>cvsroot</code> y la facilidad de la traducción. </dd></dl> <dl><dt> Utilizar una buena estructura de directorios chrome</dt><dd> Para un módulo <code>mod</code> en particular, la ruta <code>jar:ab-CD.jar!/locale/ab-CD/mod/foo.dtd</code> ha sido ampliamente probada y es un buen lugar para referenciar los ficheros como <code><a class=" external" rel="freelink">chrome://mod/locale/foo.dtd</a></code>. Utilizar una estructura de directorios como ésta facilita el proceso de traducción sin el código fuente y es especialmente recomendada para desarrolladores de extensiones. <a href="/es/JAR_Manifests" title="es/JAR_Manifests">JAR Manifests</a> puede hacer esto de forma fácil. </dd></dl>
<h3 id="El_impacto_l10n" name="El_impacto_l10n">El impacto l10n</h3>
<p>En árboles congelados, existe la regla de no aplicar cambios que supongan <em>impacto l10n</em>. ¿Pero qué significa esto? <em>El impacto l10n</em> es</p>
<ul> <li>cualquier cambio en <code>mozilla/@mod@/locales</code>; los traductores averiguan si hay cambios que deben replicar en su idioma haciendo consultas a bonsai, como haría cualquiera. <span class="comment">Ningún cambio significa que el resultado de estas consultas debe estar vacío.</span></li>
</ul>
<ul> <li>Cualquier cambio o nueva utilización de cadenas de localización; lo que sea que dispare un ciclo QA en nuestras más de 40 localizaciones es un <em>impacto l10n</em>.</li>
</ul>
<p>{{ languages( { "en": "en/Writing_localizable_code", "fr": "fr/\u00c9criture_de_code_localisable" } ) }}</p>