Frage

Ich habe mir einige Optionen angesehen, um die Lokalisierung und Internationalisierung einer dynamischen PHP-Anwendung zu ermöglichen.Es scheint eine Vielzahl von Tools wie gettext und Yahoos R3 zu geben, und ich bin daran interessiert, sowohl von Entwicklern als auch von Übersetzern zu hören, welche Tools gut zu verwenden sind und welche Funktionalität wichtig ist, um die Implementierungs- und Übersetzungsaufgabe zu erleichtern.

War es hilfreich?

Lösung

Die PHP-Gettext-Implementierung funktioniert sehr reibungslos.Und po-Dateien mit po edit und gettext sind die beste Möglichkeit, mit der Lokalisierung umzugehen, wenn man bedenkt, dass keine Lösung dieser Art die Komplexität der verschiedenen Sprachen vollständig bewältigen kann.Beispielsweise eignet sich die gettext-Methode sehr gut für Pluralformen, aber nichts, was ich gesehen habe, kann Dinge wie Konjugation bewältigen.

Weitere Informationen finden Sie in meinem Beitrag hier: Wie erstellt man eine mehrsprachige Website?

Andere Tipps

Wir basteln mitZend_translate, Da wir das Zend Framework sowieso verwenden. Es ist sehr gut dokumentiert und so weitaus solide.

In der Vergangenheit habe ich so ziemlich meine eigenen benutzt einheimisch Lösung meistens. Dies beinhaltet Sprachdateien mit Konstanten oder Variablen, die alle Textteile enthalten und später in der Ansicht/Vorlage später wiedergegeben werden.

Was GetText betrifft, habe ich in der Vergangenheit Referenzen darüber gehört, dass die Implementierung von PHP fehlerhaft ist, aber ich kann das nicht wirklich unterstützen, und ich habe jetzt noch keine Referenzen.

Es gibt eine Reihe nützlicher Erweiterungen in PECL:http://pecl.php.net/packages.php?catpid=28&catname=Internationalisation

Insbesondere möchten Sie PHP-INTL ansehen, das die meisten wichtigen i18N-Funktionen aus internationalen Komponenten für Unicode (ICU) bietet.

Die datenbankgesteuerte Lösung zur Anzeige der Nachrichten ist nicht immer die gute. Ich habe auf einer Website mit mehr als 15 Sprachen gearbeitet und Übersetzungen waren ein Problem.

Also war unser Design:

  • Translation App in PHP-MYSQL (Übersetzungszugriff usw.)
  • Dann sind Übersetzungen in PHP -Arrrays geschrieben
  • Diese Arrays werden auch in APC zwischengespeichert, um die Website zu beschleunigen.

Um verschiedene Sprachen zu lokalisieren, müssen Sie nur eine inklusive tun

wie

<?php
include('lang/en.php');
include('lang/en_us.php'); // this file overrides few keys from the last one.
?>

Xataface kann verwendet werden, um eine willkürliche PHP/MySQL -Anwendung leicht zu internationalisieren. Es unterstützt die Übersetzung sowohl Ihres statischen Textes als auch Ihrer Datenbankdaten. Alles, was Sie tun müssen, ist ein paar Orte in Ihrer Bewerbung eine Zeile oder zwei Code hinzuzufügen, und es ist gut zu gehen.

http://xataface.com/documentation/tutorial/internationalization-with-dataface-0.6

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top