Ankündigung

Einklappen
Keine Ankündigung bisher.

Multi-Language wie würdet ihr es umsetzen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Multi-Language wie würdet ihr es umsetzen?

    Hi,

    ich überlge gerade wie man ein Mehrsprachigkeit in JavaScript am besten umsetzt. Meine App ist eine Single-View App und läd seine Codes (js/html/css) je nach bedarf nach. Ich sehe da jetzt generell erstmal zwei Möglichkeiten

    1) Ich mache für jede Sprache einen eigenen HTML Ordner mit eigenem HTML file das nachgeladen wird.
    2) ich benutze immer das gleiche HTML, fülle dieses aber mit magic Tokens und erstelle dann für jedes Land einen Ordner mit den mapping files für Token -> Text und lade zuerst das HTML nach, dann das ensprechende mapping file und ersetze die Tokens bevor ich das HTML anzeige.

    Beide Methoden haben Vor- und Nachteile:

    1) Hier habe ich die Möglichkeit für jedes Land nicht nur eigene Texte sondern auch eigenes Design zu machen. Das kann durchaus interessant sein, wenn man sich z.B. ausserhalb der arabischen Schriftzeichen bewegt. Der Nachteil ist, dass wenn sich dieses View ändert ich für jedes Land das HTML anpassen muss, was wiederum sehr nervig sein kann. Allerdings kann es auch gewollt sein, dass das eine Land eine andere Maske hat als das andere oder sogar eine andere Funktionalität auf diesem View. Weiterer Nachteil: Für das Übersetzen der Views braucht man jemanden der sich zumindest in Grundzügen mit HTML auskennt.
    2) Hier kann man den die mapping files recht einfach an ein Übersetzungs-Büro schicken und die Texte können von jedem übersetzt werden. Nachteil: Man muss das HTML immer so designen das man genug Platz auch für die längste Sprache hat. Weiterhin ist es natürlich deutlich weniger performant. Vorteil wiederum, dass man, wenn man den Text nicht im mapping file findet, man immer auf die base language (Also englisch) zurückfallen kann.

    Das sind jetzt nur meine ersten Überlegungen. Vielleicht gibt es ja noch eine ganz andere Möglichkeit oder vielleicht habe ich ja auch noch ein paar wichtige Punkte vergessen.

    Ich möchte den Code ausdrücklich selber schreiben. Also bitte keine Vorschläge "Benutze doch Framework XY". Ich finde das spannend sich mit so etwas zu beschäftigen und selber zu erstellen.

    Was ist eure Meinung, wie geht man es am besten an?

    Gruß

    Claus


    Pre-Coffee-Posts sind mit Vorsicht zu geniessen!

  • #2
    Was hat das mit Javascript zu tun, die Sprachauswahl wird für gewöhnlich am Server ermittelt und dann entsprechend HTML ausgeliefert.
    Was ist eure Meinung, wie geht man es am besten an?
    Siehe Antwort aus den Forenregeln.

    Du bist der Progger, du setzt das um. Lies dazu was du im Netz findest und wäge es ab, ob es deinen Vorstellungen entspricht.
    Wenn du bei der Umsetzung auf Programmierschwierigkeiten stässt, frage hier wieder an.

    Kommentar


    • #3
      Sorry ich dachte sowas würde auch andere interessieren und man könnte darüber angeregt Diskutieren....

      Und warum soll der Server das Land ermitteln in einer reinen Javascript Anwendung? Der Server ist nur Lieferant der Daten. Die ganze Logik erfolgt am Client.

      Aber vergiss es einfach. Ist ja nicht erwünscht .....
      Pre-Coffee-Posts sind mit Vorsicht zu geniessen!

      Kommentar


      • #4
        Für solche Diskussionen gibt es ja den Off-Topic Bereich.
        Nebenbei bemerkt, wird auch eine Javascript-Anwendung beim ersten mal vom Server geladen, und da lieferst du dann schon die Richtige Sprache aus, ausgehend von der Spracheinstellung des Browsers.

        Kommentar


        • #5
          Zitat von protestix Beitrag anzeigen
          Für solche Diskussionen gibt es ja den Off-Topic Bereich.
          Nebenbei bemerkt, wird auch eine Javascript-Anwendung beim ersten mal vom Server geladen, und da lieferst du dann schon die Richtige Sprache aus, ausgehend von der Spracheinstellung des Browsers.
          Das ist aber nur die halbe Miete!

          Wenn ich z.B. in Marokko im Internetkaffee auf Deine Webseite gehen würde, bekomme ich dann immer Arabisch angezeigt. Das sorgt ohne Möglichkeit zur nachträglichen "Sprachjustierung" dann doch eher für Frustration!

          Kommentar


          • #6
            .
            Allerdings kann es auch gewollt sein, dass das eine Land eine andere Maske hat als das andere oder sogar eine andere Funktionalität auf diesem View.
            Ich sehe wenig Sinn darin einen View fest an eine Sprache zu koppeln.
            Es kann aber durchaus Sinn machen mehrere Views zu haben, welche nach Sprache, Ip oder sonst welchen regeln aktiviert werden.

            Kommentar


            • #7
              Thallius: Grundsätzlich sind beide Wege meiner Meinung nach anwendbar.
              Es kommt halt darauf an, was genau und wie Du Deine App umgesetzt hast.

              Ich frage mich allerdings, warum Du es in JS umsetzen willst.
              Du entscheidest über die Sprache dann ja erst nach dem Response, hättest aber Server seitig bereits alles deckeln können und dem Client die korrekte Sprache liefern können.

              Dann bräuchtest Du eigentlich nur noch eine Sprachauswahl auf Deiner Single-View, die bei Auswahl einer anderen Sprache den entsprechenden Content nachlädt.


              Zitat von tomBuilder
              Ich sehe wenig Sinn darin einen View fest an eine Sprache zu koppeln.
              Das wird er sicherlich auch nicht so meinen. Aber es gibt durchaus Unterschiede zwischen Ländern, wenn ich als Beispiel mal ein Registrierungsformular nehme.
              Wir haben festgestellt, dass tatsächlich in unterschiedlichen Ländern unterschiedliche Vorgehensweisen herrschen, ein Formular auszufüllen. Wir haben bspw. u.a. je einen Online-Shop für Schweiz und Großbritannien. Angefangen haben wir mit dem Grund-Template unseres deutschen Shops und bekamen einen hohen Prozentsatz an falsch ausgefüllten Formularen. Die Adressdaten mussten in vielen Fällen permanent korrigiert werden. Dann haben wir uns mal intensiv damit auseinander gesetzt, wie die Menschen in dem Land es gewohnt sind und siehe da: Nach Umstellung/Änderung des Formulars ging die Fehlerquote rapide gegen 0.

              Es macht also schon tlw. Sinn, für unterschiedliche Länder das Grundgerüst angepasst auszuliefern. Allerdings sollte diese Anpassung Server seitig passieren und das Resultat ausgeliefert werden und nicht umgekehrt.


              [MOD: verschoben]
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                Genau das was Du beschreibst Arne Drews ist eben nicht an eine Sprache gekoppplelt. Gerade in Deinem Beipiel macht es Sinn AdressFormatierung als zusäzlichen Parameter zu nutzen.

                Kommentar


                • #9
                  Es ging nicht um Formatierungen, Das Formular hat tatsächlich einen physikalisch unterschiedlichen Aufbau, das war das ausschlaggebende!
                  Ob Du's glaubst oder nicht, selbst wenn wir die Reihenfolge der Felder verändern, tragen die alles falsch ein. Vollkommen egal, was für Formatierungen wir vorgeben. Das ignorieren die und finden einen Weg ihren Kram einzutragen und uns ne Mail zu schreiben, wie kompliziert das sei, das Formular auszufüllen. Auf die Idee, die Werte in falsche Felder ( obwohl die benannt sind ) eingetragen zu haben, kommen die gar nicht.
                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar


                  • #10
                    dann war der Begriff Adressformatierung falsch gewählt, ich meinte damit ein anderes format für adressen, ähnlich wie es andere (als deutsche) formate für datumsangaben gibt.

                    Kommentar


                    • #11
                      Wie gesagt, es ist nicht nur das Format! Glaub mir, wir haben das durchgemacht...
                      Competence-Center -> Enjoy the Informatrix
                      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                      Kommentar


                      • #12
                        Zitat von tomBuilder Beitrag anzeigen
                        Genau das was Du beschreibst Arne Drews ist eben nicht an eine Sprache gekoppplelt. Gerade in Deinem Beipiel macht es Sinn AdressFormatierung als zusäzlichen Parameter zu nutzen.
                        Zitat von Arne Drews Beitrag anzeigen
                        Es ging nicht um Formatierungen, Das Formular hat tatsächlich einen physikalisch unterschiedlichen Aufbau, das war das ausschlaggebende!
                        Ob Du's glaubst oder nicht, selbst wenn wir die Reihenfolge der Felder verändern, tragen die alles falsch ein. Vollkommen egal, was für Formatierungen wir vorgeben. Das ignorieren die und finden einen Weg ihren Kram einzutragen und uns ne Mail zu schreiben, wie kompliziert das sei, das Formular auszufüllen. Auf die Idee, die Werte in falsche Felder ( obwohl die benannt sind ) eingetragen zu haben, kommen die gar nicht.
                        Ich glaube, ihr redet aneinander vorbei. Sprache != Locale.
                        Wenn ich in Deutschland (example.de) Deutsch, Englisch und Französisch als Sprachen anwählbar mache, dann muss ich nicht davon ausgehen, dass die Englisch- oder Französischsprachler ein anderes Format für Daten, Zahlen oder der Reihenfolge der Eingabefelder brauchen. Bei uns wohnen die überwiegend in Deutschland und nutzen deutsche Formate. Genau so, wenn ich für example.co.uk andere Sprachen als Englisch anbiete.

                        Kommentar


                        • #13
                          Ich versuche eigentlich auch das Format, insbesondere für Datum/Zeit, Währung, etc. dem Land der gewählten Sprache anzupassen.
                          Warum sollte man das nicht tun?
                          Competence-Center -> Enjoy the Informatrix
                          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                          Kommentar


                          • #14
                            Zitat von Arne Drews Beitrag anzeigen
                            Ich versuche eigentlich auch das Format, insbesondere für Datum/Zeit, Währung, etc. dem Land der gewählten Sprache anzupassen.
                            Warum sollte man das nicht tun?
                            Ich glaube es ging rkr darum, dass die bevorzugte Sprache eines Menschen noch nichts darüber aussagt, welche Datums-, Zeit- und Währungsformate er gewohnt ist. Es kann durchaus sein, dass jemand - dessen Muttersprache Englisch ist - seit 10 Jahren in Deutschland lebt und es gewohnt ist ein Datum im Format DD.MM.YYYY zu lesen. D.h. die Sprache des Nutzers ist erstmal unabhängig von seinem "Standort".
                            [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

                            Kommentar


                            • #15
                              Ich denke man muss es nicht unnötig kompliziert machen. Wenn jemand die englische Sprache beherrscht, dann versteht er in der Regel auch das englische Datum-/Zeitformat.

                              Kommentar

                              Lädt...
                              X