Hay dos problemas difíciles en la informática, la infiltración de caché, nombrar cosas y errores de desbordamiento. Nombrar cosas es una de las cosas que los ingenieros siempre encontramos desafiantes. El primero es la carga cognitiva. Si tenemos una estructura de diccionario JSON, ¿qué tipo de estructura de nombres queremos? ¿Debería estar categorizado por página, pages.buttons.save? ¿O debería estar categorizado por la característica dentro de cada página, así page.createUserForm.save? ¿O debería incluso ser extraído en su propio grupo, como common.buttons.save? Estas son cargas cognitivas con las que tenemos que lidiar. Esto también es propenso a ser inconsistente. Por ejemplo, tenemos un esquema de nombres, estamos de acuerdo con él, pero luego como que olvidamos en un minuto como, ¿cuál era de nuevo? ¿Es buttons.save o es como undercommon.buttons.save? Esos son los dolores de nombrar cosas. El segundo es que el contexto se pierde cuando estás usando un diccionario JSON. Con el diccionario JSON, los traductores necesitan entender cómo estructuras tu aplicación y luego inferir desde allí. Como ejemplo, si tenemos este archivo de traducción para un juego, tenemos como dos claves que se llaman save. Una está dentro de acciones de usuario y la otra está justo arriba. El traductor al no conocer el contexto, adivinaría, está bien, ambos significan lo mismo. Quieren guardar los cambios como en un formulario. Así que eligen en este caso, la palabra japonesa, hōzōn. Pero por ejemplo, en este caso, la aplicación podría significar una cosa diferente. Como lo que quieres bajo acciones de usuario. Guardar no es para guardar cambios en un formulario, sino como para rescatar a una persona en el juego, porque esto es como una traducción de juego. Así que las traducciones deberían ser diferentes, pero el traductor necesita saber que esto es diferente solo leyendo las claves, lo cual no es muy intuitivo.
El tercero es la duplicación de palabras. Es fácil hacer accidentalmente traducciones duplicadas a través de diferentes claves. Como ejemplo aquí, podemos tener como un botón de modelo, acción de formulario, perfil de usuario. Haríamos diferentes claves como si las agrupamos por características, haríamos diferentes claves que básicamente necesitan la misma palabra exacta. Y en este caso, podemos ver que hay muchas duplicaciones, pero algunas personas podrían decir, podemos simplemente extraer a un grupo común. Como cancelar es una palabra muy comúnmente usada. Y eso es cierto, pero eso es más cognitivo. Como cuándo empiezas a extraer estas palabras? ¿Empiezas cuando encuentras la primera duplicación? ¿Es demasiado trabajo? ¿Empiezas desde la segunda duplicación? Tienes que verificar manualmente y extraerlas. Tienes que recordar usar la clave común la próxima vez. Si olvidas que ya has extraído, podrías accidentalmente usar la clave existente.
La cuarta cosa son las traducciones obsoletas. Digamos que después de desarrollar tu proyecto por un año, la estructura de claves ha cambiado. Quieres refactorizar la clave de una a otra.
Comments