En general, los métodos de traducción toman una asignación de clave> valor y usan la clave para transformar eso en un valor. Ahora reconozco dos métodos diferentes para nombrar sus claves de traducción y dentro de mi equipo no llegamos a un consenso sobre cuál es el mejor método.Práctica recomendada para valores clave en archivos de traducción
Método 1: Uso palabras en inglés completas o frases:
Name => Name
Please enter your email address => Please enter your email address
Método 2: Use palabras clave que describen la situación:
NAME => Name
ENTER_EMAIL => Please enter your email address
yo personalmente prefiero el método # 1 porque muestra directamente el significado del mensaje. Si la traducción no está presente, puede recurrir a la clave y esto no causa ningún problema. Sin embargo, el método es engorroso cuando una traducción cambia con frecuencia, porque todos los archivos deben actualizarse. También para textos más largos estas teclas se vuelven muy grandes. Esto se resuelve usando claves como ENTER_EMAIL
, pero el fraseo está completamente fuera del contexto. La lista de claves abstractas de traducción sería enorme, necesita metadatos para todas las claves que explican su uso y las colisiones pueden ser mucho más fáciles.
¿Hay lo mejor de ambos mundos o un tercer método? ¿Cómo utilizas las claves de traducción en tu aplicación? En nuestro caso, se trata de una aplicación web basada en php, pero creo que el problema anterior es lo suficientemente genérico como para hablar de i18n en general.
Interesante pregunta. Tiendo a favorecer también al # 1, pero voy híbrido cuando la situación lo amerite. –
Prefiero el # 2 con el requerimiento, por supuesto, de SIEMPRE que haya una entrada en inglés (o en el idioma original). Cada registro también debe incluir una fecha/hora para la última actualización para señalar los mensajes que han cambiado y la necesidad de traducciones actualizadas. Por separado, se debe almacenar un registro que indique cuál es el idioma original. –