Felix Riesterer: ... andere Idee

Beitrag lesen

problematische Seite

Lieber Linuchs,

Allerdings kann ich bei Felixens Link nicht erkennen, wie man da Text für eine weitere Sprache eingeben könnte. Offenbar sind alle Sprachen im Dokument enthalten und werden ohne Neuladen der Seite ein- und ausgeblendet. Nee doch nicht, der Quellcode enthält die Sprachen nicht.

der JS-Code enthält alle Sprachbausteine, die im jeweiligen Kontext benötigt werden. So kann man ohne Neuladen die Sprache umschalten.

Wieso ist der griechische Text trotz UTF-8 HTML-mäßig codiert?

Weil mein PHP damit Entitäten ins DOM schreibt - das liegt an der libxml, die hinter den DOM-Klassen von PHP steckt. Ich tue das jedenfalls nicht selbst.

Wer hat denn schon mal eine weitere Sprache nachträglich in sein Projekt integriert?

Ich. Aber ich hatte mein Projekt von vornherein so angelegt, dass es verschiedene Sprachen unterstützt. Dazu verwende ich mittlerweile eine JSON-Datei (früher eine XML-Datei):

{
  "snippet-abc": {
    "de": "Was auch immer in snippet-abc stehen soll.",
    "en": "Whatever snippet-abc contains."
  },
  "snippet-xyz": {
    "de": "Was auch immer in snippet-xyz stehen soll.",
    "en": "Whatever snippet-xyz contains."
  }
}

In dem von mir verlinkten Projekt kannst Du im JavaScript sehen, dass eine Variable i18n (kurz für internationalization) genau solch ein Objekt enthält. Dort ist ein Hinzufügen einer anderen Sprache kein Hexenwerk:

{
  "snippet-abc": {
    "de": "Was auch immer in snippet-abc stehen soll.",
    "en": "Whatever snippet-abc contains.",
    "es": "Cualquier snippet-abc contiene."
  },
  "snippet-xyz": {
    "de": "Was auch immer in snippet-xyz stehen soll.",
    "en": "Whatever snippet-xyz contains.",
    "es": "Cualquier snippet-xyz contiene."
  }
}

Liebe Grüße,

Felix Riesterer.