# Eine View in mehrere Sprachen übersetzen

> Markiere Texte in Views mit @(...) und liefere Übersetzungen in Ressourcendateien, die LOCALIZE() auswählt.

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

Umschließe einen beliebigen Text einer View mit `@(...)`, und Total.js ersetzt ihn durch die Übersetzung für die aktuelle Sprache. Übersetzungen liegen in `resources/<language>.resource`; jede Zeile ist `key : translation`. Der Schlüssel ist `T` plus der Hash des Originaltexts zur Basis 36, den `total5` für dich erzeugen kann. Texte ohne Übersetzung bleiben wie geschrieben, der Text der View dient also als Standardsprache.

`LOCALIZE()` bestimmt die Sprache jeder Anfrage. Hier wird sie aus dem Query-String gelesen, es kann aber auch ein Cookie, ein Header oder ein URL-Segment sein.

```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');
}
```
