Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Internationalisierung der PHP-Website

Es gibt eine Reihe von Möglichkeiten, dies anzugehen. Keiner von ihnen „der beste Weg“ und alle mit Problemen auf kurze oder lange Sicht. Das allererste, was zu sagen ist, ist, dass mehrsprachige Websites nicht einfach sind, Übersetzer und nette Leute, aber schwer zu arbeiten sind, und die meisten Programmierer sehen das Problem nur als ein technisches. Es gibt auch eine andere Dimension, die außerhalb des Rahmens dieser Antwort liegt, nämlich ob Sie übersetzen oder lokalisieren. Dazu gehört, die kulturellen Sitten der Zielgruppe zu betrachten und dann Sprache, Stil, Layout, Farbe, Schriftart usw. an diese Kultur anzupassen. Schließlich verwenden Sie MT, maschinelle Übersetzung, nicht für etwas Ernsthaftes oder wenn es genau sein muss, und stellen Sie bei der Anwerbung von Übersetzern sicher, dass sie aus einer Fremdsprache in ihre Muttersprache übersetzen, was bedeutet, dass sie alle Nuancen der Zielsprache verstehen.

Recht. Lösungen. Auf der Grundlage, dass Sie die Site nicht umschreiben möchten, klonen Sie einfach die Site, die Sie haben, und übersetzen Sie die Kopien in die Zielsprache. Unter der Annahme, dass die Codebasis stabil ist, können Sie ein VCS verwenden, um alle Codeänderungen zu verwalten. Sie können einzelne Teile der Website an die Zielsprache anpassen, z. B. ist französischer Text im Durchschnitt 30 % größer als der entsprechende englische Text. Wenn Sie also eine Website verwenden, um dies zu liefern, bedeutet dies, dass Sie Formatierungsprobleme haben (werden) und einen austauschen müssen je nach Sprache unterschiedliche CSS-Dateien ein- und aus. Es mag eine umständliche Methode erscheinen, aber wie lange werden die Websites dann existieren? Der Verwaltungsaufwand auf diese Weise ist möglicherweise geringer als bei anderen Optionen.

Zweiter Weg ohne Umbau. Ersetzen Sie alle Inhalte auf der aktuellen Site durch Tags und fügen Sie dann die verschiedenen Sprachen in Datei- oder DB-Tabellen ein, schnüffeln Sie die gewünschte Sprache des Benutzers (haben Sie registrierte Benutzer, die eine Einstellung vornehmen können, oder möchten Sie das Browser-Sprach-Tag erhalten, oder ist es wird URL dot-com dot-fr, dot-de sein, die die Wahl treffen) und dann die Tags durch die Zielsprache ersetzen. Dann müssen Sie die Größenprobleme und die Bildprobleme separat angehen. Diese Lösung ist wirksam, wenn Frameworks wie Symfony und Zend l10n implementieren.

Dann könnten Sie mit einem Framework oder mit gettext neu erstellen und möglicherweise eine sauberere Lösung haben, aber denken Sie daran, dass Frameworks entwickelt wurden, um andere Probleme zu lösen, nicht die Übersetzung, und die Übersetzungskomponente wurde als Teillösung in das Framework aufgenommen, nicht als vollständige.

Das große Problem bei allen Lösungen ist die laufende Wartung. Denn Sie müssen nicht nur eine Codebasis, sondern auch mehrere Sprachbasen pflegen. Wenn Ihre All-in-One-Lösung nicht wirklich clever und effektiv ist, wird die laufende Aufgabe schwierig sein.