Yii Message Translation
Ich hab mir gestern mal das I18N-Thema von Yii angesehen und möchte hier kurz zeigen, wie man Zeichenketten übersetzt.
Yii gibt mir dafür einen einfachen shortcut: Yii::t()
Als erstes Beispiel diese Anweisung:
echo Yii::t("my", "This is just a test");
Das ganze ist abhängig von der eingestellten Quellsprache, standard ist Englisch.
Möchte ich ins deutsche übersetzen, muss die Zielsprache definiert werden.
Das kann ich in der config/main.php machen:
'language' => 'de';
oder überall, wo ich es brauche:
Yii::app()->language = "de";
Meine Sprachdatei befindet sich in der Datei protected/messages/de/my.php. Man beachte den Namen der Datei (my.php) mit dem ersten Parameter der Methode (my).
Die Core-Übersetzungen bedienen sich der Kategory “yii” und befinden sich in der Datei framework/messages/de/yii.php
return array( "This is just a test" => "Das ist nur ein Test", "Hello {username}" => "Hallo {username}" );
Ein bißchen Dynamik gefällig?
echo Yii::t("my", "Hello {username}", array("{username}" => "Marko"));
gibt mir dann “Hallo Marko” aus
Verwandte Artikel:
- yiiframework – Guidelines for good schema design
- CButtonColumn erweitern
- Parameterized Named Scopes
- Gegen DB authentifizieren
- Ein Modul als Admin Backend
- CGridColumn
- Ein Anrede-Behavior
- CGridView
- Anonyme Funktionen
- Wie ich Datenbank-Tabellen und -Felder benenne
- Models aus Modulen verwenden
- yiic shell
- Widgets
- Yii Module
- renderPortlets
Letzte Kommentare