1466. Identidad de la lección
1467. Objetivo de aprendizaje
Al terminar esta lección, podrás crear o refactorizar al menos un par inglés–español almacenado bajo una sola key semántica estable y compartida, verificar sus variables, ejecutar casos de fallo definidos con configuraciones de desarrollo y de modo producción, y recopilar evidencia de que ambos recorridos siguen siendo legibles en el control objetivo.
1468. Por qué importa
Un sistema de localización solo es útil si el jugador puede completar la misma acción de interfaz en cada idioma disponible. Una redacción correcta puede fallar porque falta una variable, porque el fallback oculta contenido ausente, porque la fuente no incluye un carácter del español o porque el texto traducido se recorta al escalar la interfaz.
Desarrollo y producción tienen prioridades de diagnóstico distintas. En desarrollo, el comportamiento debe hacer evidente el contenido ausente y distinguir entre una key compartida ausente, un valor de locale ausente y una variable ausente. En modo producción, debe aplicarse la respuesta segura definida sin perder el registro diagnóstico. Ejecuta las pruebas de modo producción en un entorno seguro de pruebas o staging que utilice esa configuración; no provoques fallos deliberados en un entorno activo para jugadores.
1469. Conocimientos previos
Ya deberías poder:
- distinguir una key semántica compartida de una key basada en la posición de pantalla o en la redacción inglesa;
- almacenar valores de locale en inglés y español bajo una sola key;
- pasar variables con nombre a un string localizado;
- distinguir una key compartida ausente, un valor de locale ausente y una variable ausente;
- usar el contrato presentado en El texto necesita una arquitectura.
Repasa la lección anterior si aún no cumples estas condiciones.
1470. Concepto central
Valida la localización mediante cinco puertas independientes:
- Significado: Los valores de locale en inglés y español comunican la misma acción o estado para el jugador.
- Datos: Los placeholders requeridos están presentes, tienen nombres coherentes y reciben los valores y formatos previstos.
- Comportamiento ante fallos: El contenido ausente produce los resultados y registros diagnósticos definidos para desarrollo y modo producción.
- Renderizado: Los caracteres representativos del español están disponibles en la fuente seleccionada o en una fuente de sustitución intencional, sin cuadros de reemplazo ni sustituciones imprevistas.
- Layout y acceso: El texto sigue siendo legible y el control objetivo conserva su identidad y utilidad tanto en el tamaño predeterminado como en un nivel de escala o zoom admitido.
Superar una puerta no demuestra las demás. Un valor en español puede ser correcto en significado y quedar recortado, o puede caber en el control mientras muestra un carácter ausente.
1471. Puerta de localización en cinco pasadas
| Pasada | Pregunta | Evidencia requerida |
|---|---|---|
| Significado | ¿Ambos valores de locale conservan la misma acción o estado? | Comparación lado a lado |
| Datos | ¿Las variables están completas y bien formateadas? | Registro de datos de la key y punto de llamada |
| Fallo | ¿Las configuraciones de desarrollo y modo producción cumplen su contrato? | Salida de ejecución y logs del fallo provocado |
| Renderizado | ¿Los caracteres del español se muestran mediante la cadena tipográfica prevista? | Captura del control y observación de la fuente |
| Layout y acceso | ¿El control es legible y utilizable con las presentaciones admitidas? | Capturas predeterminadas y con escala o zoom |
Ejecuta la puerta por separado para cada idioma. Una captura en inglés no sirve como evidencia del recorrido en español.
1472. Ejemplo concreto
Key compartida: delivery.status.remaining
Valor de locale en inglés: Delivery to {destination} in {minutes} min
Valor de locale en español: Entrega a {destination} en {minutes} min
Variables: destination = "North Gate", minutes = 4
Eliminar minutes debe producir el comportamiento definido para una variable ausente. Eliminar el valor de locale en español es un fallo distinto de eliminar por completo la key compartida, por lo que debes registrarlos por separado. Para comprobar caracteres, muestra en el mismo control objetivo un valor representativo como este:
Información: misión rápida, año 4, pingüino. ¿Continuar? ¡Sí!
La muestra comprueba vocales acentuadas, ñ, ü y signos de apertura. Es una prueba de renderizado, no un sustituto de la revisión del texto real de la interfaz.
1473. Contrato de fallback
Para cada caso de fallo admitido, indica:
- qué ve la persona desarrolladora en desarrollo;
- qué muestra el control para el jugador con la configuración de modo producción;
- qué log, evento u otro registro diagnóstico conserva el defecto;
- cómo permite la evidencia distinguir una key compartida ausente, un valor de locale español ausente y una variable ausente.
No consideres una sustitución silenciosa por inglés como prueba de que el recorrido en español funciona. Puede ser el fallback definido para producción, pero la ausencia del valor de locale español sigue siendo un defecto que debe quedar registrado.
1474. Flujo de trabajo con IA
Usa la IA como asistente para comparar y generar pruebas, no como autoridad final:
- Proporciónale la key compartida, ambos valores de locale, el significado previsto, el contrato de variables, el contrato de fallback, la cadena tipográfica, las restricciones del control y el nivel de escala o zoom admitido.
- Pídele una tabla de paridad y posibles incoherencias entre variables.
- Solicita casos límite, incluidos valores largos y caracteres representativos del español.
- Pídele que separe el comportamiento de desarrollo del comportamiento de modo producción.
- Rechaza propuestas que creen keys específicas por idioma, cambien el significado, eviten el contrato de fallback o afirmen que la presentación funciona sin evidencia de ejecución.
- Ejecuta las pruebas y conserva las capturas o logs resultantes.
1475. Práctica guiada
Crea o refactoriza al menos un par inglés–español bajo una sola key semántica estable y compartida. Prepara un registro de validación para tres strings de interfaz: una etiqueta de acción, un mensaje de estado y un mensaje con una variable. Puedes usar estos ejemplos o contenido equivalente:
Key compartida: menu.confirm
Valor de locale en inglés: Confirm
Valor de locale en español: Confirmar
Key compartida: inventory.empty
Valor de locale en inglés: No items available
Valor de locale en español: No hay objetos disponibles
Key compartida: mission.destination
Valor de locale en inglés: Destination: {place}
Valor de locale en español: Destino: {place}
Completa el trabajo siguiente:
- Registra cada key semántica compartida, sus dos valores de locale y su contrato de variables.
- Compara significado, acción, tiempo verbal, pluralidad y sujeto implícito.
- Define el comportamiento de desarrollo y de modo producción para una key compartida ausente, un valor de locale español ausente y una variable ausente.
- Ejecuta los tres fallos con ambas configuraciones. Captura el resultado visible en ejecución y la salida diagnóstica o el log correspondiente. Si una configuración no admite un caso, registra esa limitación en lugar de simular un resultado satisfactorio.
- Muestra contenido real en español y la prueba representativa de caracteres dentro del control objetivo. Identifica la fuente activa o la fuente de sustitución intencional cuando las herramientas lo permitan. Captura cualquier marcador de carácter ausente, sustitución o problema de espaciado.
- Captura el control objetivo en inglés y español con su presentación predeterminada y con un nivel de escala o zoom admitido. Comprueba recortes, superposiciones, saltos de línea, jerarquía, legibilidad y si el control sigue siendo reconocible y utilizable.
- Prueba un valor de variable largo, como
Old Foundry Storage District, y registra el resultado en el layout. - Para cada fallo, decide si la corrección corresponde a los datos de locale, al punto de llamada, al fallback, a la configuración tipográfica o al layout. Explica la decisión antes de modificar la implementación.
1476. Evidencia de validación
Completa la evaluación práctica registrada Registro de validación de recorridos de localización. La entrega debe incluir:
- al menos un par inglés–español creado o refactorizado bajo una sola key semántica compartida;
- las tres keys probadas, sus valores de locale y sus contratos de variables;
- evidencia ejecutada en desarrollo y modo producción para una key compartida ausente, un valor de locale español ausente y una variable ausente;
- salida visible de ejecución y salida diagnóstica o logs capturados para cada caso;
- evidencia visual de caracteres representativos del español y de cualquier sustitución tipográfica en el control objetivo;
- capturas en inglés y español con el tamaño predeterminado y con un nivel de escala o zoom admitido;
- una observación sobre layout y utilidad del control en cada presentación;
- al menos una decisión correctiva con su justificación.
Una afirmación como “las traducciones se ven bien” no constituye evidencia suficiente.
1477. Puntos clave
- Almacena ambos valores de locale bajo una sola key semántica estable.
- Prueba como fallos distintos la ausencia de una key, un valor de locale y una variable.
- Ejecuta los comportamientos de desarrollo y modo producción, y conserva evidencia de ejecución.
- Verifica los caracteres del español y la sustitución tipográfica en el control real.
- Comprueba la legibilidad y la utilidad del control en el tamaño predeterminado y con un nivel de escala o zoom admitido.
- La IA puede proponer comparaciones y casos límite, pero el resultado depende de evidencia visual y de ejecución observada.
1478. Traspaso a la Etapa 4
Lleva el registro de validación de localización a la Etapa 4 como evidencia de release. No entregues únicamente un resumen de aprobado o suspenso. Enumera los problemas pendientes de contenido ausente, fallback, variables, caracteres, fuentes, legibilidad y layout para que la Etapa 4 pueda clasificar cada uno como bloqueo, riesgo, seguimiento o afirmación sin respaldo. Mantén el vínculo entre cada hallazgo y su captura de ejecución, evidencia visual o registro diagnóstico.
1479. Comprobación
Responde estas preguntas por tu cuenta antes de leer las respuestas.
¿Qué resultado demuestra que un string localizado parametrizado superó la comprobación de variables?
Mostrar respuesta y explicación
Respuesta: Cada placeholder declarado recibe el valor y el formato previstos.
Por qué: La comprobación de variables revisa el contrato entre el string localizado y su punto de llamada: cada placeholder requerido debe recibir el valor y el formato correctos.
¿Por qué deben ejecutarse deliberadamente los casos de contenido ausente durante el desarrollo?
Mostrar respuesta y explicación
Respuesta: Para confirmar que cada fallo es visible y se distingue del contenido válido.
Por qué: Las pruebas de fallo ejecutadas muestran si desarrollo revela una key, un valor de locale o una variable ausentes, en lugar de ocultar un recorrido roto.
Un mensaje de destino en español es correcto, pero se recorta dentro de su panel. ¿Qué puerta de validación falló?
Mostrar respuesta y explicación
Respuesta: Layout y acceso
Por qué: El texto puede superar la comprobación de significado, pero el recorte es un fallo de layout y legibilidad en el control objetivo.
¿Cuál es el papel adecuado de la IA en este ejercicio de validación?
Mostrar respuesta y explicación
Respuesta: Generar tablas de comparación y casos límite que el estudiante ejecuta y verifica después.
Por qué: La IA puede estructurar comparaciones y proponer pruebas, pero el estudiante debe ejecutarlas e inspeccionar la evidencia real de ejecución, diagnóstico, fuentes y layout.
¿Qué evidencia se necesita para validar el renderizado en español y el escalado admitido en el control objetivo?
Mostrar respuesta y explicación
Respuesta: Una captura con caracteres representativos del español en la presentación predeterminada.; Una captura con un nivel de escala o zoom admitido.; Una observación sobre caracteres ausentes, sustitución tipográfica, legibilidad y utilidad del control.
Por qué: La validación del renderizado exige evidencia visual en el control real, tanto en la presentación predeterminada como con una escala admitida, además de observaciones sobre la cadena tipográfica, la integridad de los caracteres, la legibilidad y la utilidad.