> For the complete documentation index, see [llms.txt](https://academy.pentaho.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.pentaho.com/schema-workbench/schema-workbench-es/banco-de-trabajo-de-esquemas/localizacion.md).

# Localización

{% hint style="info" %}

#### 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.&#x20;

Piénsalo como combinar correspondencia para análisis: un esquema sirve para muchos idiomas.
{% endhint %}

marcador de posición para captura de pantalla del cubo localizado:

{% tabs %}
{% tab title="Tokenización" %}
{% hint style="info" %}

#### 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.
{% endhint %}

{% hint style="danger" %}

#### 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.
{% endhint %}

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Schema name="ClassicModels"
  caption="%{classicmodels.schema.caption}"
  description="%{classicmodels.schema.description}">
...
```

{% hint style="info" %}

### 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.
{% endhint %}
{% endtab %}

{% tab title="Paquetes de mensajes" %}
{% hint style="info" %}

#### 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.
{% endhint %}

```
classicmodels.schema.caption=Modèles Classiques
classicmodels.schema.description=La description
classicmodels.measures.caption=Mesures
classicmodels.measures.sales.caption=Ventes
classicmodels.dimension.customers.caption=CLIENTS
classicmodels.dimension.customers.description=La description
...
```

{% hint style="info" %}

### 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
  {% endhint %}

x
{% endtab %}

{% tab title="Procesador de Esquema Dinámico" %}
{% hint style="info" %}

#### 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.
{% endhint %}

x

x
{% endtab %}

{% tab title="Locale" %}
{% hint style="info" %}

#### Locale

**Locale** simplemente es un código de idioma como "en" para inglés o "fr" para francés que le indica al sistema qué archivo de traducción usar.
{% endhint %}

x
{% endtab %}

{% tab title="Segunda pestaña" %}

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://academy.pentaho.com/schema-workbench/schema-workbench-es/banco-de-trabajo-de-esquemas/localizacion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
