Home > Yii > Yii Message Translation

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:

  1. yiiframework – Guidelines for good schema design
  2. CButtonColumn erweitern
  3. Parameterized Named Scopes
  4. Gegen DB authentifizieren
  5. Ein Modul als Admin Backend
  6. CGridColumn
  7. Ein Anrede-Behavior
  8. CGridView
  9. Anonyme Funktionen
  10. Wie ich Datenbank-Tabellen und -Felder benenne
  11. Models aus Modulen verwenden
  12. yiic shell
  13. Widgets
  14. Yii Module
  15. renderPortlets
Author: Categories: Yii Tags:
  1. Bisher keine Kommentare
  1. Bisher keine Trackbacks