Ergebnis 1 bis 20 von 38

Thema: Web fragen

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #16
    Wenn man es richtig machen will, dann ist die Lokalisierung eine große Sache
    Wie gesagt, mit HTML hast du keine Kontrollmöglichkeiten. Das ist statischer Text. Erst mit Scriptsprachen, wie php oder JavaScript kann HTML in gewisser Maßen dynamisch werden, indem der Inhalt dynamisch ermittelt wird.
    Du musst dir also eine Lokalisierung mittels JavaScript basteln, und wenn du danach unter Google suchst, findest du auch tausende Ansätze, wie man so was realisieren könnte. Das simpelste ist wohl ein assoziatives Array.

    Code:
    var localizedStrings = {
          "de": {
            'hello'     : 'Hallo'
          , 'welcome'   : 'Willkommen'
        }
        , "en": {
            'hello'     : 'Hello'
          , 'welcome'   : 'Welcome'
        }
    };
    
    document.write(localizedStrings['en']['hello']);
    Dies wäre ein erster Versuch, der aber noch sehr fehleranfällig ist, und auch nicht grad effizient, da man das Array immer mitübertragen muss. Bei komplexeren Webseiten, die dann mehrere Hundert Strings besitzen, kann das Laden der Webseite ggf. länger dauern. Das ganze könnte man aber dann noch in eine Methode packen, die die Sprache des Browsers ermittelt und automatisch den lokalisierten String zurückgibt, und auch einen Default-Wert zurückgibt, falls eine Sprache ein String nicht besitzen sollte (z.B. die deutsche Übersetzung). Für die Sprache gibt es zwar die Eigenschaft language im navigator-Objekt, aber der gehört nicht zwingend zum Standard und kann u.U. in unterschiedlichen Browsern leer sein. Der IE benutzt auch stattdessen UserLanguage. Eine bessere Methode wäre die Eigenschaft Accept-Language im HTTP-Header, aber hierfür musst du eine JSON-Abfrage abfeuern. Eine effizientere Methode wäre wohl, ein Teil der Webseite mittels AJAX neuzuladen, wenn der Countdown beendet ist. Die AJAX-Abfrage würde dann ein serverseitiges Script starten, welches dann schon den lokalisierten String zurückgibt. Auch wäre es klüger, die Strings in eine Datenbank-Struktur (z.B. SQLite) abzulegen, weil so eine Struktur wartbarer und ggf. effizienter ist.

    Geändert von Whiz-zarD (03.01.2014 um 10:28 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •