# Traduce una vista a varios idiomas

> Marca los textos con @(...) en las vistas y aporta las traducciones en ficheros de recursos elegidos con LOCALIZE().

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: es
Content-SHA256: db52e1286303e3f6d688d7e2686a99e905eda45e26faa9ed255c776bf779a945
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Envuelve cualquier texto de una vista en `@(...)` y Total.js lo sustituye por la traducción del idioma actual. Las traducciones viven en `resources/<idioma>.resource`; cada línea es `clave : traducción`. La clave es `T` más el hash del texto original en base 36, que `total5` puede generar por ti. Los textos sin traducción se quedan como están escritos, así que el texto de la vista actúa como idioma por defecto.

`LOCALIZE()` decide el idioma de cada petición. Aquí se lee de la query string, pero puede ser una cookie, una cabecera o un segmento de la URL.

```js definitions/localization.js
LOCALIZE(function($) {
	return $.query.lang;
});
```

```text resources/sk.resource
// Total.js translation file
T4oxobw : Vitajte v obchode
```

```html views/index.html
@{layout('')}
<h1>@(Welcome to the shop)</h1>
```

```js controllers/default.js
exports.install = function() {
	ROUTE('GET /', home);
};

function home($) {
	$.view('index');
}
```
