Heim > Backend-Entwicklung > PHP-Tutorial > Wie verwende ich i18n in CakePHP?

Wie verwende ich i18n in CakePHP?

王林
Freigeben: 2023-06-04 12:12:02
Original
739 Leute haben es durchsucht

CakePHP ist ein Open-Source-PHP-Framework, das die Integration der mehrsprachigen Internationalisierung (i18n) unterstützt. i18n kann Ihre Anwendung mehrsprachig machen, sodass Sie leichter ein internationales Publikum ansprechen und lokale Benutzer besser bedienen können. In diesem Artikel werfen wir einen detaillierten Blick auf die Verwendung von CakePHP i18n.

  1. Start

Zuerst müssen Sie die mehrsprachige Funktionalität von CakePHP aktivieren. Aktualisieren Sie dazu die Konfigurationsdatei config/bootstrap.php und fügen Sie den folgenden Code zu Ihrer Anwendung hinzu: #Als nächstes müssen Sie die Sprachdatei im Verzeichnis config/Locale erstellen. Diese Sprachdateien sollten den Namen locale%iso-639-1code%iso-3166-1-alpha-2 format.php tragen. Zum Beispiel en_US.php, es_ES.php oder de_DE.php usw.

    In einer Sprachdatei können Sie Übersetzungszeichenfolgen definieren. Beispielsweise können Sie in en_US.php schreiben:
  1. Configure::write('App.defaultLocale', 'en_US'); //设置默认语言
    Configure::write('App.languages', ['en_US', 'es_ES', 'de_DE']); //可选语言
    Nach dem Login kopieren
  2. In es_ES.php können Sie schreiben:
return [
    'welcome' => 'Welcome',
    'hello' => 'Hello',
];
Nach dem Login kopieren

In de_DE.php können Sie schreiben:

return [
    'welcome' => 'Bienvenido',
    'hello' => 'Hola',
];
Nach dem Login kopieren

ViewLayer

In einer Ansicht können Sie die Funktion __() verwenden, um Text zu übersetzen. Wenn Sie beispielsweise „Willkommen“ in Ihrer Ansicht anzeigen möchten, könnten Sie schreiben:

return [
    'welcome' => 'Willkommen',
    'hello' => 'Hallo',
];
Nach dem Login kopieren
    Dadurch wird automatisch die richtige Übersetzungszeichenfolge für das aktuelle Gebietsschema verwendet. Wenn das Gebietsschema en_US ist, wird „Willkommen“ angezeigt. Wenn das Gebietsschema es_ES ist, wird Bienvenido angezeigt.
  1. Ähnlich können Sie __('string', array('name' => 'value')) in der Ansichtsdatei verwenden, um die Ausgabe zu formatieren.
<h1><?php echo __('welcome'); ?></h1>
Nach dem Login kopieren

Ausgabe Mein Name ist Lucas.

Kontrollebene

Im Controller können Sie zum Ändern die Funktion „Configure::write('Config.sprache', 'langauge')“ verwenden Aktuelles Gebietsschema:

<?php echo __('My name is %name%', array('name' => 'Lucas')); ?>
Nach dem Login kopieren
    Sie können in der Aktion des Controllers ein anderes Gebietsschema festlegen und so für jede Ansicht nach Bedarf unterschiedliche Übersetzungszeichenfolgen auswählen. Dies ist sehr nützlich für dynamische Websites.
  1. Zum Beispiel:
Configure::write('Config.language', 'de_DE'); //将语言环境设置为de_DE
Nach dem Login kopieren

In diesem Beispiel wird es_ES.php geladen und die Übersetzungszeichenfolge home_title verwendet.

Datum und Uhrzeit

CakePHP i18n unterstützt auch lokalisierte Datums- und Uhrzeitformate. Zum Beispiel:

public function index()
{
    Configure::write('Config.language', 'es_ES');
    $this->set('title', __('home_title'));
}
Nach dem Login kopieren
    Dadurch wird das Datum entsprechend dem aktuellen Gebietsschema formatiert und Ergebnisse ähnlich dem 20. November 2018 angezeigt. Sie können das Datumsformat in app.php ändern.
  1. echo $this->Time->nice(new DateTime('2018-11-20')); //在控制器分配或直接用数组传递时使用
    echo $this->Time->nice($dateObject);
    Nach dem Login kopieren
Zusammenfassung

Wie Sie sehen, ist i18n von CakePHP sehr einfach zu bedienen. Durch die Nutzung der vom Framework bereitgestellten i18n-Unterstützung können Sie Benutzern auf der ganzen Welt schnell und einfach Unterstützung für mehrere Sprachen und Lokalisierungen bereitstellen. Denken Sie daran, Ihrer Bewerbung immer einen klaren und präzisen Text zu geben, um die beste Benutzererfahrung zu erzielen.

Das obige ist der detaillierte Inhalt vonWie verwende ich i18n in CakePHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage