> Esta traducción se ofrece por comodidad. El texto normativo es el original en inglés. # Internacionalización **Especificación del Meta-Universo** **ID del documento:** MU-V2-ARCH-012 **Título:** Modelo de internacionalización y localización **Clase de documento:** normativo **Versión:** 2.0 (borrador) **Estado:** borrador de trabajo **Referencias normativas:** [Naming-Conventions](../02-architecture/Naming-Conventions.md), [MMAS-Interchange](../02-architecture/MMAS-Interchange.md), [MMAS-Core](../02-architecture/MMAS-Core.md), BCP 47, RFC 2119 **Referencias informativas:** [Traceability](../02-architecture/Traceability.md), [Projection](../04-core-concepts/Projection.md) **Copyright:** © Orkestron.AI **Licencia:** Apache-2.0 --- # 1. Propósito Este documento define el **modelo de internacionalización (i18n)** del Meta-Universo: cómo un único significado independiente del idioma lleva etiquetas, descripciones y documentación legibles por personas en muchos idiomas sin que esas localizaciones afecten jamás a la identidad ni a la [huella semántica](../02-architecture/MMAS-Interchange.md). El principio rector ya lo enuncia [Naming-Conventions](../02-architecture/Naming-Conventions.md): el [nombre semántico canónico (CSN)](../02-architecture/Naming-Conventions.md) es independiente del idioma, mientras que los nombres visibles pueden localizarse. Este documento completa ese principio y lo hace normativo para Objetos, Propiedades y Proyecciones. --- # 2. Alcance Esta especificación se aplica a: - la separación entre significado independiente del idioma y presentación localizable; - la asociación de etiquetas, descripciones y documentación localizadas a Objetos, Propiedades y Proyecciones; - las reglas de etiquetado de idioma del contenido localizado; - la garantía de que la localización no es semántica. No define flujos de traducción ni el modo de mostrar contenido localizado en las interfaces de usuario. --- # 3. Principios - **El significado es independiente del idioma.** La identidad de un concepto es su CSN, no una palabra de ninguna lengua humana. - **La presentación es localizable.** Todo lo que una persona lee (etiquetas, descripciones, documentación) PUEDE traducirse. - **La localización no es semántica.** Añadir, cambiar o eliminar una traducción NO DEBERÁ cambiar lo que un concepto significa ni su huella semántica. --- # 4. El nombre semántico canónico no se localiza Un [nombre semántico canónico (CSN)](../02-architecture/Naming-Conventions.md) DEBERÁ ser independiente del idioma y NO DEBERÁ localizarse. - Un concepto DEBERÁ tener exactamente un CSN, con independencia de en cuántos idiomas se presente. - Un CSN NO DEBERÁ traducirse, transliterarse por idioma ni variar según la configuración regional. - Todas las interacciones de [federación](../03-federation/MUFP.md) DEBERÁN intercambiar CSN, nunca nombres visibles localizados, cuando se trate de identidad. El CSN no se compromete con ninguna lengua humana igual que no se compromete con ningún lenguaje de programación: expresa una posición en una jerarquía semántica y nada más. --- # 5. Qué es localizable Lo siguiente es presentación y DEBERÁ tratarse como **no semántico**: - **Nombres visibles** - la etiqueta amable para personas de un concepto; - **Descripciones** - explicaciones breves legibles por personas; - **Documentación** - texto extenso legible por personas; - **etiquetas** y rótulos de interfaz asociados a Propiedades y Proyecciones. Estas claves ya están enumeradas como no semánticas y excluidas de la canonicalización en [MMAS-Interchange §5](../02-architecture/MMAS-Interchange.md). La localización añade *más valores* a esos mismos campos no semánticos; nunca introduce contenido semántico. --- # 6. Etiquetas de idioma El contenido localizado DEBERÁ etiquetarse con una etiqueta de idioma conforme a **BCP 47** (por ejemplo `en`, `ru`, `zh`, `zh-Hans`, `pt-BR`). - Cada valor localizado DEBERÁ declarar su etiqueta de idioma. - Un modelo DEBERÍA declarar una etiqueta de idioma por defecto para el contenido cuya etiqueta falte. - Las etiquetas de idioma DEBERÁN compararse sin distinguir mayúsculas conforme a BCP 47 y DEBERÍAN almacenarse en su forma canónica BCP 47. Un campo localizado es, por tanto, un mapa de etiqueta de idioma BCP 47 a texto, asociado a la presentación no semántica del concepto. --- # 7. Asociar etiquetas localizadas sin afectar a la huella Las etiquetas localizadas DEBERÁN asociarse a Objetos, Propiedades y Proyecciones como valores de las claves de presentación no semánticas de la Sección 5. Puesto que esas claves quedan excluidas de la canonicalización: - un concepto con un CSN y diez nombres visibles traducidos DEBERÁ producir la **misma huella semántica** que ese mismo concepto con una traducción, o sin ninguna; - añadir, editar o eliminar una traducción NO DEBERÁ requerir un [Evento de migración](../02-architecture/Semantic-Migration.md), porque no cambia ningún significado; - dos Universos que presenten un concepto en idiomas distintos DEBERÁN resolver igualmente al mismo CSN y a la misma huella y, por tanto, coincidir en que significan lo mismo. Las interfaces de usuario DEBERÍAN presentar el nombre visible localizado adecuado a la configuración regional del usuario resolviéndolo al CSN subyacente; si no existe traducción para la configuración solicitada, DEBERÍAN recurrir al idioma por defecto. --- # 8. Ejemplo resuelto Un único concepto de retribución, presentado en tres idiomas sobre un CSN inmutable: ```text CSN : employee.compensation.salaryAgreement (language-independent) displayName : en : "Salary Agreement" ru : "Соглашение об оплате труда" zh : "薪资协议" description : en : "The agreed terms of an employee's base compensation." ru : "Согласованные условия базовой оплаты труда сотрудника." zh : "员工基本薪酬的约定条款。" ``` La huella semántica se calcula sobre el núcleo semántico, que contiene el CSN y los hechos estructurales pero **ninguno** de los valores de `displayName` o `description`. Por tanto, las tres presentaciones, y cualquier subconjunto de ellas, dan una huella idéntica. Eliminar la traducción `zh`, o añadir una `de`, no cambia nada semántico. --- # 9. Validación Un modelo se ajusta a esta especificación cuando: - todo concepto público tiene exactamente un CSN independiente del idioma; - ningún CSN está localizado; - todo valor localizado lleva una etiqueta de idioma BCP 47; - el contenido localizado ocupa únicamente claves de presentación no semánticas; - la huella semántica es invariante ante la adición, el cambio o la eliminación de cualquier traducción. Véase [Validation](../02-architecture/Validation.md) para los niveles aplicables. --- # 10. Invariantes arquitectónicos - El CSN DEBERÁ ser independiente del idioma y NO DEBERÁ localizarse. - El contenido localizado DEBERÁ ser no semántico y NO DEBERÁ afectar a la huella semántica. - Los valores localizados DEBERÁN llevar etiquetas de idioma BCP 47. - La federación DEBERÁ intercambiar CSN, nunca nombres visibles localizados, cuando se trate de identidad. - Cambiar una traducción NO DEBERÁ constituir un cambio semántico. --- # Direcciones futuras Una revisión futura podría definir un formato de **paquete de localización** que permita publicar, versionar y federar traducciones con independencia del modelo al que decoran, de modo que una comunidad pueda aportar un idioma sin tocar el modelo semántico autoritativo, junto con una señal de calidad sobre la cobertura de traducción que podría alimentar la dimensión de completitud documental de la [puntuación de coherencia semántica](../06-ecosystem/Semantic-Coherence-Score.md), y con una selección de [Proyección](../04-core-concepts/Projection.md) sensible a la configuración regional. --- # Declaración final > Un concepto significa una cosa; el mundo lo lee en muchos idiomas. El Meta-Universo mantiene ambas cosas separadas: un nombre semántico canónico lleva el significado y cualquier número de etiquetas localizadas llevan las palabras, de modo que traducir un modelo nunca cambia lo que dice.