2016-11-11 3 views
1

Ich möchte Symfony Bundle erstellen, das verschiedene Texte/Flags etc. für verschiedene Sprachen speichern soll.Symfony Bundle mit verschiedenen Texten für verschiedene Sprachen

Ist es möglich (und korrekt) Symfony-Übersetzer irgendwie für diese Funktion zu verwenden? Oder es wird nur zwei Tabellen sein?

+1

Warum sollten Sie den symfony-Übersetzer nicht für die Übersetzung von Text verwenden? – Federkun

+0

Ich will keine reine Übersetzung. Wenn ich zum Beispiel ArticleBundle mit dieser Funktion mache, möchte ich in der Administration für cz - flag aktiv, text - wir sind cool vs für en - flag inaktiv, text - sie sind schlecht – Jimi

Antwort

1

Nicht sicher, wenn ich die Frage richtig verstehe.

Aber für verschiedene Texte in verschiedenen Sprachen, sondern nur die Komponente Übersetzung verwenden: http://symfony.com/doc/current/translation.html

Grundsätzlich erstellen Sie zwei Dateien - mytranslation.en.yml und mytranslation.cs.yml (für Englisch und Tschechisch). Jeder von ihnen hat die gleichen Übersetzungsschlüssel, zum Beispiel:

app.title: My English title 
app.description: This is my English translation. 
app.counter: You have been here %count% times so far. 

Dann wird in einem Controller oder einer Dienstleistung, verwenden Sie den Übersetzungsdienst wie folgt aus:

$title = $this->get('translator')->trans('app.title', [], 'mytranslation'); 

Oder mit einem Parameter:

$counter = $this->get('translator')->trans('app.counter', ['%counter%' => 2], 'mytranslation'); 

In einem Zweig Vorlage können Sie das gleiche tun, wie folgt:

{% trans_default_domain "mytranslation" %} 
{{ 'app.title'|trans }} 
{{ 'app.counter'|trans({'%counter%': 2}) }} 
Verwandte Themen