Localización
Localización
La localización del esquema permite que tu cubo OLAP Mondrian se muestre en varios idiomas. En lugar de codificar directamente "Sales" o "Customer" en tu esquema, utilizas marcadores de posición (llamados tokens) que se reemplazan con la traducción apropiada según la preferencia de idioma de cada usuario.
Piénsalo como combinar correspondencia para análisis: un esquema sirve para muchos idiomas.
marcador de posición para captura de pantalla del cubo localizado:
Tokenización
Tokenización es el proceso de reemplazar texto real como "Sales" por marcadores de posición como %{sales.caption} en tu archivo XML de esquema. Estos tokens actúan como variables que se completarán más adelante.
La Regla de Oro
Esta es la regla más importante en la localización de esquemas. Debes solo localizar los captions (el texto que ven los usuarios) y las descripciones. Never localizar los nombres técnicos que Mondrian usa internamente.
Por ejemplo, en <Dimension name="Customer" caption="...">, el name="Customer" siempre debe permanecer "Customer" en todos los idiomas, pero el caption puede cambiar a "Client" en francés. El name es para el sistema; el caption es para los usuarios.
Lo mismo se aplica a niveles, medidas y jerarquías. Siempre mantén los names estables y solo traduce lo que aparece en pantalla mediante captions.
Por qué importa esta Regla ..!
Problemas de rendimiento: Si localizas los names, la caché de Mondrian se rompe cada vez que alguien cambia de idioma. Los nombres de los miembros siguen cambiando, obligando al sistema a reconstruir las cachés constantemente. Esto hace que tus análisis sean increíblemente lentos.
Fallos de consulta: Un usuario francés escribe una consulta que referencia "[Client].[Europe]". Un usuario inglés intenta ejecutarla, pero su sistema está buscando "[Customer].[Europe]" – la consulta falla. Mantener los names consistentes significa que las consultas funcionan independientemente del idioma.
Pesadilla de mantenimiento: Imagina actualizar una dimensión referenciada por 50 consultas, pero tienes que hacerlo en 5 idiomas con nombres diferentes. Pasarás horas rastreando qué nombre va en cada lugar. Los names estables significan que solo actualizas una vez.
<?xml version="1.0" encoding="UTF-8"?>
<Schema name="ClassicModels"
caption="%{classicmodels.schema.caption}"
description="%{classicmodels.schema.description}">
...Qué localizar vs. Qué dejar intacto
LOCALIZA (estos son para que los usuarios los vean):
Captions de dimensión, jerarquía, nivel y medida
Texto de descripción
Etiquetas y títulos visibles para el usuario
NO localices (estos son para el sistema):
Nombres de dimensión, jerarquía, nivel y medida (el
name=atributo)Nombres de columnas de la base de datos
Nombres de tablas de la base de datos
Identificadores técnicos
Piénsalo así: si está en un caption= o description= atributo, localízalo. Si está en un name= o column= atributo, déjalo intacto. Esta separación mantiene tu esquema funcionando sin problemas mientras ofrece a los usuarios su idioma preferido.
Paquetes de mensajes
Paquetes de mensajes son archivos de texto simples (uno por idioma) que contienen las traducciones reales. Por ejemplo, MondrianMessages_en.properties tiene "Sales" mientras que MondrianMessages_fr.properties tiene "Ventes" para el mismo token.
Buenas prácticas para archivos de propiedades
Usa codificación UTF-8 para caracteres especiales
Agrega comentarios para organizar secciones
Mantén nombres de tokens consistentes en todos los archivos de idioma
Prueba que todos los tokens tengan traducciones correspondientes
Evita saltos de línea en los valores de las propiedades
Escapa caracteres especiales con barra invertida si es necesario
x
Procesador de Esquema Dinámico
Procesador de Esquema Dinámico es el motor que realiza el reemplazo. Cuando un usuario francés abre Analyzer, lee tu esquema, encuentra todos los %{...} tokens, los busca en el archivo de propiedades en francés y los reemplaza con texto en francés – todo automáticamente.
x
x
¿Te fue útil?
