traductor traducir traduccion top tag significa que oraciones online juego ingles etiqueta español como internationalization gettext

internationalization - traducir - traductor de ingles online



¿Por qué las personas usan el inglés simple como marcadores de posición de traducción? (8)

  1. El idioma principal ya existe: no es necesario traducirlo.
  2. Los traductores tienen un contexto mejor con una oración real que los marcadores de posición vagos.
  3. Los marcadores de posición son solo las claves, aún es posible cambiar el idioma original al crear una traducción para él. Porque cuando la traducción no existe, usa el marcador de posición como texto traducido.

Esta puede ser una pregunta estúpida, pero aquí va.

He visto varios proyectos que utilizan una biblioteca de traducción (por ejemplo, gettext) que funcionan con marcadores de posición en inglés. Así por ejemplo:

_("Please enter your name");

en lugar de marcadores de posición abstractos (que siempre ha sido mi preferencia instintiva)

_("error_please_enter_name");

He visto varias recomendaciones sobre SO para trabajar con el método anterior, pero no entiendo por qué. Lo que no entiendo es ¿qué haces si necesitas cambiar la redacción en inglés ? Porque si el texto real se utiliza como la clave para todas las traducciones existentes, también deberá editar todas las traducciones y cambiar cada clave . ¿O no?

¿No es terriblemente engorroso? ¿Por qué es este el estándar de la industria?

Definitivamente no es la normalización adecuada para hacerlo de esta manera. ¿Hay ventajas masivas en este método que no estoy viendo?


Bueno, es probable que sea más fácil de leer y más fácil de traducir. Soy de la opinión de que su camino es mejor para la escalabilidad, pero solo requiere un esfuerzo adicional, que algunos desarrolladores podrían considerar que no vale la pena ... y para algunos proyectos, probablemente no lo haga.


Hay una jerarquía de respaldo, desde la configuración regional más específica hasta la versión no alojada en el código fuente.

Entonces, los franceses en Francia podrían tener la siguiente ruta alternativa:

  1. fr_FR
  2. fr
  3. Deslocalizado. Código fuente.

Como resultado, tener oraciones en inglés adecuadas en el código fuente asegura que si una traducción particular no está prevista en el paso (1) o (2), al menos obtendrá una oración comprensible adecuada que la basura aleatoria del programador como "error_file_not_found".

Además, ¿qué haces si es una cadena de formato: "Lo siento pero el% s no existe"? Peor aún: "Escrito% s entradas a% s, tamaño total:% d"?


Hemos estado utilizando marcadores de posición abstractos por un tiempo y fue bastante molesto tener que escribir todo dos veces al crear una nueva función. Cuando el inglés es el marcador de posición, simplemente escribe el código en inglés, tienes un resultado significativo desde el principio y no tienes que pensar en nombrar marcadores de posición.

Entonces mi razón sería menos trabajo para los desarrolladores.


Interesante pregunta. Supongo que la razón principal es que no tiene que preocuparse por los archivos de traducción o localización durante el desarrollo, ya que el idioma principal está en el código mismo.


Me gusta tu segundo enfoque. Cuando traduces textos, siempre tienes el problema de los homónimos . Como ''abierto'' puede significar un estado de una ventana, pero también el verbo para realizar la acción. En otros idiomas, estos homónimos pueden no existir. Es por eso que debería poder agregarle significado a sus marcadores de posición. El mejor enfoque es poner este significado en su biblioteca de textos. Si esto no es posible en la plataforma del marco que utiliza, podría ser una buena idea definir un ''lenguaje de desarrollo''. Este lenguaje agregará significado a las entradas de texto como: ''action_open'' y ''state_open''. Por supuesto, tendrás que esforzarte más si traduzco este idioma al inglés sencillo (o al idioma que desarrolles). He puesto esta filosofía en algunos grandes proyectos y, a la larga, esto ahorra tiempo (y dolores de cabeza).

La mejor manera, en mi opinión, es mantener el significado por separado, de modo que si desarrolla su propia biblioteca de traducción o la que usa lo admite, puede hacer algo como esto:

_(i18n("Please enter your name", "error_please_enter_name"));

Dónde:

i18n(text, meaning)


Sí, debe modificar los archivos de traducción existentes, y eso es algo bueno .

Si cambias la redacción en inglés, las traducciones probablemente también tengan que cambiar . Incluso si no lo hacen, necesita a alguien que hable el otro idioma para verificar .

Usted prepara una nueva versión, y parte del proceso de control de calidad está verificando las traducciones. Si la redacción en inglés cambió y nadie revisó la traducción, sobresaldrá como un pulgar dolorido y se arreglará.


Una pregunta muy antigua pero una razón adicional que aún no he visto en las respuestas:

Podría terminar con más marcadores de posición de los necesarios, por lo tanto, más trabajo para traductores y posibles traducciones inconsistentes. Sin embargo, buenos editores como Poedit o Gtranslator probablemente puedan ayudar con eso.

Para seguir con su ejemplo: el texto "Por favor ingrese su nombre" podría aparecer en un contexto diferente en una plantilla diferente (de la que probablemente el desarrollador no tenga conocimiento y que no deba serlo). Por ejemplo, podría usarse no como un error, sino como un aviso como un marcador de posición de un campo de entrada.

Si utiliza

_("Please enter your name");

sería reutilizable, el desarrollador puede desconocer la clave ya existente para un mensaje de error y usaría el mismo texto de manera intuitiva.

Sin embargo, si usaste

_("error_please_enter_name");

en una plantilla anterior, los desarrolladores no necesariamente estarían al tanto de ella y formarían una segunda clave (lo más probable es que de acuerdo con un esquema de redacción predefinido no termine en un caos completo), por ejemplo

_("prompt_please_enter_name");

que luego tiene que ser traducido de nuevo.

Entonces creo que eso no se escala muy bien. Un esquema de redacción preconfigurado de sufijos / prefijos, por ejemplo, para contextos, nunca puede ser tan preciso como el texto en sí, creo (ya sea demasiado detallado o demasiado general, de antemano no se sabe y luego es difícil cambiar) y es más trabajo para el desarrollador que no vale la pena en mi humilde opinión.

¿Alguien está de acuerdo / en desacuerdo?