Dokumentationen

Übersetzung

Derzeit sind in Voila drei Übersetzungsachsen möglich: Übersetzung in Controllern, Übersetzung in Ansichten mit Twig und Übersetzung von URLs. Um all dies zu erleichtern, wurde ein Skript erstellt, das die Suche nach zu übersetzenden Texten automatisiert und die entsprechenden Dateien erzeugt.

Übersetzung in Controllern

Um eine Zeichenkette in der Steuerung zu übersetzen, rufen Sie einfach die bereits in der Steuerung enthaltene Übersetzungsfunktion auf.

$this->translate("Hello world")

Übersetzung in Ansichten

Um eine Zeichenkette in einer Ansicht zu übersetzen, rufen Sie einfach die bereits in twig enthaltene Übersetzungsfunktion auf.

{{ translate('Hallo Welt') }}

Erzeugen von Übersetzungsdateien

Before you want to translate your site, you need to "add" the languages ​​in the configuration file (/config/config.php) and add the locale you want to support (here the 'fr')

define('TRANSLATE', true);
define('DEFAULT_LANG', 'en');
define('LANGS', ['en', 'fr']);

Dann müssen Sie die Übersetzungsdateien generieren. Dazu müssen Sie den folgenden Befehl im Terminal ausführen

$ php bin/tranlate.php

Und wenn Sie ein bestimmtes Gebietsschema erzeugen wollen, können Sie es als Parameter übergeben (hier für das Gebietsschema 'fr')

$ php bin/tranlate.php fr

Once the files are generated, you can translate the texts in the files in the translation folder (in "/translation/").

Übersetzungsdateien sind json-Dateien (JavaScript Object Notation), es ist ein Array, das in eine Zeichenkette umgewandelt wird, die daher in einer Datei platziert werden kann. Wie bei einem assoziativen Array ist der Schlüssel der zu übersetzende Wert. Wenn keine Übersetzung gefunden wird, gibt voila den erhaltenen Schlüssel zurück, daher sollten Sie nicht die Schlüssel (auf der linken Seite), sondern die damit verbundenen Werte (auf der rechten Seite) ändern.

Übersetzung von Urls

Um die URLs zu übersetzen, müssen Sie die Übersetzungsdateien erstellen (siehe oben). Im Übersetzungsordner sollte sich eine routeLO.json-Datei befinden (wobei LO durch das Gebietsschema ersetzt wird). Was die anderen Dateien betrifft, können Sie die Daten in der Tabelle durch Ihre Übersetzungen ersetzen (links, was übersetzt werden muss, also nicht berühren, rechts, was im Gebietsschema gerendert wird, um übersetzt zu werden)

As this is a table transformed into a string, some characters must be "disabled" with the '\' sign, notably the '\/' sign. For example, the Route "/Error" in French will be written as "\/Error" in the translation file.

"\/Error": "\/fr\/Error",

Die Übersetzung darf den ersten Parameter, der das Gebietsschema darstellt, nicht verändern, d. h. Sie müssen nur das übersetzen, was dahinter steht. Da es sich um URLs handelt, dürfen sie natürlich keine Sonderzeichen, Leerzeichen oder Akzente enthalten.

"\/Error": "\/fr\/Erreur",