Heim >Backend-Entwicklung >PHP-Tutorial >Implementierung von Support mit mehrsprachiger Sprache
Einrichten einer mehrsprachigen Website kann eine gute Möglichkeit sein, neue Kunden für Ihr Unternehmen zu gewinnen oder mehr Teilnehmer an Ihrem Projekt zu gewinnen. Das Übersetzen einer einfachen Site mit ein paar statischen Seiten ist wahrscheinlich nicht kompliziert, aber komplexere PHP -Webanwendungen erfordern möglicherweise viel Arbeit, wenn Sie mehrere Sprachunterstützung auf den Markt bringen. In diesem Artikel werde ich verschiedene Arten von Inhalten präsentieren, die bei der Internationalisierung einer Website berücksichtigt werden müssen. Lesen Sie weiter, um zu erfahren, wie man mit der Übersetzung in verschiedene Sprachen umgeht.
Zunächst enthält Ihre Website in Ihren Projektdateien, die in eine andere Sprache übersetzt werden müssen, wahrscheinlich Textinhalte. Textzeichenfolgen in Vorlagendateien oder Benachrichtigungsnachrichten, die in einem PHP -Skript behandelt werden, sind Beispiele für solche Inhalte. Wenn Sie beim Schreiben dieser Teile des Codes nicht vorhaben, international zu schreiben, müssen Sie durch jede Zeile gehen und die dort gespeicherten Textzeichenfolge übersetzen.
Aber wie sollen die tatsächlichen Übersetzungen durchgeführt werden? Die übliche Art, mehrere Sprachinhalte zu bearbeiten, besteht darin, GetText zu verwenden - eine Softwarelösung, um Übersetzungen in Anwendungen zu verarbeiten, die in verschiedenen Programmiersprachen geschrieben wurden. Es ist auch in PHP als separate Erweiterung erhältlich. Mit GetText können Sie die App -Übersetzungen vom Quellcode trennen. Im Ergebnis muss die für die Vorbereitung der Übersetzungen verantwortliche Person nicht in den Code eintauchen und kann unabhängig von einem Webentwickler arbeiten. Wenn die Übersetzungen fertig sind, werden sie in eine separate Datei eingefügt, die vom PHP -Skript gelesen wird. Die Anwendung stimmt mit den Übersetzungen mit Quelltext überein, die im Code gespeichert sind, und schließlich kann der Endbenutzer sehen, dass eine Site in der richtigen Sprache angezeigt wird.
Was Sie als Entwickler tun müssen, ist, einfache Textzeichenfolgen in einer PHP -Anwendung in Zeichenfolgen zu verwandeln, die durch GetText übergeben werden können. Sie müssen den Text in die Funktion getText () einwickeln, auf die üblicherweise mit dem Alias _ () zugegriffen wird (der Funktionsname ist ein Unterstrich). Auf diese Weise geben Sie an, dass eine bestimmte Textzeichenfolge übersetzt werden muss und durch GetText behandelt werden kann.
Wenn Sie die Details zur Verwaltung von GetText -Übersetzungen in einer PHP -Anwendung kennenlernen möchten, gibt es ein vollständiges Tutorial, das das Thema im Detail erläutert, das von Abdullah Abouzekry: Lokalisierung von PHP -Anwendungen „der richtige Weg“ geschrieben wurde. Ich ermutige Sie, es zu lesen, um einige praktische Beispiele für die oben beschriebene Logik zu sehen.
Denken Sie auch daran, dass wenn Sie ein Framework als Basis für Ihre PHP -Anwendung verwenden, wahrscheinlich eine Komponente für die Verwaltung der Übersetzungen verantwortlich ist. Überprüfen Sie die Dokumentation Ihres Frameworks, um zu überprüfen, ob es Tools gibt, die die Behandlung der Mehrfachsprachenunterstützung vereinfachen.
In komplexeren Anwendungen kann ein großer Teil des Inhalts der Website in einer Datenbank gespeichert werden. Wenn die Website nur eine Sprache unterstützt, müssen Sie nur eine Version einer Ressource speichern, die bei Bedarf abgerufen wird. Durch die Implementierung einer Multiple -Language -Site müssen Sie jedoch die Art und Weise ändern, wie die Daten in einer Datenbank gespeichert werden. Sprachspezifische Ressourcen müssen nun durch einen Sprachcode identifiziert werden und müssen in der von einem Besucher festgelegten Sprachversion abgerufen werden. Was es Ihnen als Entwickler bedeutet, ist, dass Sie wahrscheinlich Ihre Datenbankstruktur ändern müssen, um die Übersetzungen zu verarbeiten.
Um zu erfahren, was die besten Praktiken zum Erstellen einer Datenbankstruktur für eine Website mit mehreren Sprachen sind, können Sie sich nur die Lösungen ansehen, die von verschiedenen Frameworks verwendet werden. Einige Frameworks bieten Verhaltensweisen an (Module, die Moduls für Modelle zusätzliche Funktionen bieten), die für die Behandlung der Übersetzungen eines bestimmten Modells verantwortlich sind. Nach dem Anhängen eines Übersetzungsverhaltens an ein Modell schreibt und liest das Framework verschiedene Sprachversionen von Daten unter Verwendung einer Datenbankstruktur, die in der Lage ist, mehrere Sprachunterstützung zu verarbeiten.
Zum Beispiel bietet das CakePHP -Framework das Übersetzungsverhalten, das Ihren Modellen möglicherweise angeschlossen ist. Dazu müssen Sie angeben, welche Modellfelder sprachabhängig sind. Stellen wir uns vor, Sie haben die Artikeltabelle mit zwei solchen Feldern: Titel und Text:
Um die Übersetzungen zu speichern, müssen Sie diese sprachabhängigen Felder in eine separate Übersetzungstabelle verschieben. Jede Zeile in der Übersetzungstabelle wird durch die Sprachversion, das Modell und den Feldnamen auf die Basistabelle identifiziert. Die Artikeltabelle sieht also jetzt wie folgt aus:
Der Artikel -Titel und der Artikel wurden in eine separate Tabelle verschoben, in der die Übersetzungen enthält. Wie Sie sehen können, wird in einer separaten Zeile eine einzelne Übersetzung jeder dieser Felder gespeichert:
Was ist am wichtigsten, das CakePHP -Framework übernimmt die Datenbank automatisch von den übersetzten Daten. Nachdem Sie das Übersetzungsverhalten angehängt haben, können Sie Ihre Modellmethoden genauso wie zuvor aufrufen, und das Framework verknüpft die Haupttabelle mit der Translations -Tabelle selbst. Sie müssen sich keine Sorgen machen, dass Sie Ihre Auswahlanweisungen anbinden oder Daten in mehrere Tabellen einfügen, wenn Sie eine neue Zeile speichern. Durchsuchen
Andere Frameworks bieten häufig ähnliche Lösungen wie die oben beschriebenen. Wenn Sie das Symfony2 -Framework mit der Doktrin -ORM verwenden, überprüfen Sie einfach das übersetzbare Verhalten der Doktrin, um ein Beispiel anzuzeigen. Wenn Ihre Website in keinem Framework ausgeführt wird, können Sie sich auf die oben beschriebenen Lösungen beziehen, wenn Sie Ihre eigene Art der Übersetzung in einer Datenbank implementieren.Benutzer übermittelt Inhalt
Zunächst müssen Sie die Sprachversion des vom Benutzer eingegebenen Inhalte speichern, wenn er ein Formular einreicht. Sie müssen wahrscheinlich nur davon ausgehen, dass es der Sprachversion der vom Benutzer festgelegten Site entspricht. Sie können auch eine externe API (z. B. die Google Translate API) verwenden, um die Sprache eines bestimmten Textes zu erkennen.
Dann müssen Sie den angegebenen Text in alle Sprachversionen übersetzen, die von Ihrer Website unterstützt werden. Anstatt es manuell zu tun, können Sie nur eine externe API verwenden, die Ihnen maschinelle Übersetzungen der von den Besuchern Ihrer Website eingereichten Inhalte zur Verfügung stellt. Auf der ProgrammableWeb -Site sind über 60 Übersetzungs -APIs, die über dem Web verfügbar sind, wahrscheinlich leicht eine Lösung finden, die Ihren Anforderungen entspricht. Wenn Sie nach einem bestimmten Tutorial zur Implementierung einer Übersetzungs -API in einer PHP -Anwendung suchen, empfehle ich Ihnen, meine Artikel auf der Google Translate API zu lesen:
- Verwenden von Google Translate API mit PHP, das die Grundlagen zur Integration eines PHP -Skripts mit der API
erklärt
-Automatisch translatieren von Benutzern übermittelte Inhalte mit Google Translate API, die ein vollständiges Codebeispiel enthält, um die übersetzenden Benutzerinhalte auf einer PHP-Website zu übersetzen.
Natürlich können Sie den von Benutzer übermittelten Inhalten nicht übersetzen und in den Originalsprachversionen anzeigen. Meiner Meinung nach ist das Anzeigen von maschinellen Übersetzungen jedoch besser als das Anzeigen von Inhalten in einer anderen Sprache, auch wenn die von den APIs abgebauten Übersetzungen nicht perfekt sind.
Da Ihre Website wahrscheinlich nicht nur aus dem Textinhalt besteht, müssen Sie auch die Übersetzungen verschiedener Ressourcen verarbeiten, die auf Ihren Webseiten freigegeben werden. Bilder, Videos, Anhänge, PDF -Dateien - alle diese Arten von Inhalten müssen ebenfalls behandelt werden. Um die Art und Weise zu vereinfachen, die die richtige Version einer Datei auf einer Webseite anzuzeigen, können Sie alle Dateien in einer Verzeichnisstruktur speichern, die die auf der Website verfügbaren Sprachen widerspiegelt. Die englische Version einer Datei wird im EN -Verzeichnis, der französischen Version unter FR und so weiter gespeichert. Anschließend können Sie eine einfache Helfermethode schreiben, die die richtige Datei basiert, die auf der Sprachversion basiert, die derzeit von einem Benutzer festgelegt wird. Wenn es eine Standardversion einer bestimmten Ressource gibt, können Sie die Methode erweitern und die Standarddatei abrufen, wenn die sprachspezifische Version nicht gefunden wurde.
Umgang mit den Übersetzungen der oben beschriebenen Arten von Inhalten reicht häufig nicht aus, um eine Site zu erhalten, die verschiedene Sprachversionen vollständig unterstützt. Denken Sie daran, dass eine PHP -Website häufig andere Inhaltsquellen enthält. JavaScript -Code, der den DOM -Baum ändert oder Benachrichtigungsmeldungen anzeigen, enthält häufig Textzeichenfolgen, die übersetzt werden müssen. Vergessen Sie auch nicht, die richtige Sprachversion zu setzen, wenn Sie externe APIs oder Widgets verwenden, die an Ihre Webseiten (z. B. soziale Plugins) angeschlossen sind. Durch das Durchsuchen Ihrer Website vor der Implementierung mehrerer Sprachunterstützung können Sie mehr Arten von Inhalten bieten, die bei der Vorbereitung von Übersetzungen untersucht werden müssen.
Wie Sie sehen können, müssen Sie eine Website starten, die mehrere Sprachunterstützung bietet, um die Übersetzung verschiedener Arten von Inhalten auf unterschiedliche Weise zu verarbeiten. Wenn Sie vorhaben, Ihre Website zu übersetzen, ermutige ich Sie, eine Checkliste der Arten der Übersetzungen zu erstellen, die durchgeführt werden müssen. Es kann als guter Ausgangspunkt für die Beurteilung der Arbeit dienen, die erledigt werden muss, und die Umsetzung der Übersetzungen.
Wenn Sie Fragen oder Kommentare zum Artikel haben, können Sie sie unten veröffentlichen. Sie können mich auch über Google Plus kontaktieren.
Wie kann ich die Benutzererfahrung auf meiner mehrsprachigen Website verbessern? Die Erfahrung auf einer mehrsprachigen Website beinhaltet mehrere Strategien. Zunächst müssen Sie sicherstellen, dass Benutzer problemlos zwischen verschiedenen Sprachversionen wechseln können. Dies kann durch die Verwendung eines prominenten Sprachschalters erfolgen. Zweitens müssen Sie sicherstellen, dass die Übersetzungen genau und kulturell angemessen sind. Dies kann die Arbeit mit Muttersprachlern jeder Sprache beinhalten. Zuletzt müssen Sie das Design und das Layout jeder Sprachversion berücksichtigen. Unterschiedliche Sprachen können unterschiedliche Lesemuster und Designkonventionen haben. Daher ist es wichtig, Ihr Design entsprechend anzupassen.
Das obige ist der detaillierte Inhalt vonImplementierung von Support mit mehrsprachiger Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!