René Harjes: Internationalisierung einer HP

Hallo,

ich hoffe mir kann in der letzten Woche meines Praktikums noch jemand helfen.
Mein Problem liegt in der Sprachauswahl der Firmenhomepage. Es sollte immer die aktuelle Seite übersetzt werden, wenn man auf die Flaggen(Button) klickt. Zur Zeit startet die Seite dann aber immer wieder von der Startseite.
Ich habe nun schon einiges über Cookies etc. gelesen, unteranderem diesen Beitrag:
http://forum.de.selfhtml.org/archiv/2006/6/t131795/

Nun meine Frage, wenn ich meine Seite in PHP aufgebaut habe und ein CMS verwende (ich weiß nicht, ob das eine Rolle spielt), wie kann ich dann mit einer Ordnerstruktur von:
www.url.de/de/index.php
www.url.de/en/index.php
...
die Übersetzung der aktuellen Seite laden?
--------
Zitat aus dem obigen Link:

Je nach Gestaltung der generierenden Skripte ist es so möglich, auf jeder deutschen Seite entweder den Link auf die englische Startseite, oder auf die korrespondierende englische Seite zu setzen.
-------

Letzteres habe  ich vor, aber ich habe leider erst in meinem 8 wöchigem Praktikum php gelernt und es macht mir echt Spaß... Aber leider verzweifel ich an dieser Stelle.

Gruß

René Harjes

  1. Hi,

    Letzteres habe  ich vor, aber ich habe leider erst in meinem 8 wöchigem Praktikum php gelernt und es macht mir echt Spaß... Aber leider verzweifel ich an dieser Stelle.

    nicht verzweifeln. Systematisch vorgehen. Wie muss die Link-URL aussehen, wenn Du von /de/foo/bar.html auf das englischsprachige Pendant verweisen möchtest?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Letzteres habe  ich vor, aber ich habe leider erst in meinem 8 wöchigem Praktikum php gelernt und es macht mir echt Spaß... Aber leider verzweifel ich an dieser Stelle.

      nicht verzweifeln. Systematisch vorgehen. Wie muss die Link-URL aussehen, wenn Du von /de/foo/bar.html auf das englischsprachige Pendant verweisen möchtest?

      Cheatah

      »»

      Demnach muss der Link /en/foo/bar.html aussehen, aber wie realisiere ich jetzt, dass das per Klick auf einen Button geschieht und bei jeder Seite funktioniert?

      1. Hi,

        Demnach muss der Link /en/foo/bar.html aussehen,

        richtig.

        aber wie realisiere ich jetzt, dass das per Klick auf einen Button geschieht

        Der Link wird nicht generiert, wenn man auf ihn klickt, sondern schon viel früher.

        und bei jeder Seite funktioniert?

        Deine Flaggen[1] werden doch wohl von einem zentralen Script erzeugt, nehme ich an. Also sorge dort dafür, dass die jeweils richtige URL in den Links steht.

        Cheatah

        [1] Wieso eigentlich Flaggen? Seit wann gibt es Flaggen für Sprachen? Ich kenne sowas nur für Länder.

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Deine Flaggen[1] werden doch wohl von einem zentralen Script erzeugt, nehme ich an. Also sorge dort dafür, dass die jeweils richtige URL in den Links steht.

          Meine Flaggen werden aus einer separaten navi.php geladen, aber da ich mit Frames weitermachen muss (Seite war so aufgebaut) weiß ich nicht, wie ich dem Btn mitteilen soll, dass er die Seite aus dem "main" Frame laden soll nur halt aus dem anderen Ordner.

          Ich kann ja nicht für jede Seite eine If-Abfrage erstellen und dann weiß ich immer noch nicht, ob der die P-Id's aus dem "main" Frame übernimmt.
          Werde es aber jetzt mal ausprobieren.

          [1] Wieso eigentlich Flaggen? Seit wann gibt es Flaggen für Sprachen? Ich kenne sowas nur für Länder.

          Soll ja auch für Länder sein, die Seite gehört zu einer Firma, die gerade expandiert und da sollen dann in den jeweiligen Ländern die Sprachen zur Verfügung stehen.

          1. Moin!

            Meine Flaggen werden aus einer separaten navi.php geladen, aber da ich mit Frames weitermachen muss (Seite war so aufgebaut) weiß ich nicht, wie ich dem Btn mitteilen soll, dass er die Seite aus dem "main" Frame laden soll nur halt aus dem anderen Ordner.

            Dann setze dich in deiner letzten Woche doch einfach noch kurz ran und entferne die Frames aus der Website. Hat außerdem den Vorteil, dass Suchmaschinen nicht auf die ohne Frame nicht navigierbaren Inhaltsseiten verweisen können, weil darin die Navigation gleich eingebaut ist.

            Denn die Frames sorgen für dein Problem. Du müßtest ohnehin jedesmal, wenn das Hauptframe eine neue Seite lädt, auch die Navigation neu laden, damit der passende Sprachlink entsteht.

            Also kannst du die Navigation auch gleich direkt in der Hauptseite laden, und damit auf Frames verzichten.

            - Sven Rautenberg

            --
            "Love your nation - respect the others."
            1. Moin!
              Dann setze dich in deiner letzten Woche doch einfach noch kurz ran und entferne die Frames aus der Website. Hat außerdem den Vorteil, dass Suchmaschinen nicht auf die ohne Frame nicht navigierbaren Inhaltsseiten verweisen können, weil darin die Navigation gleich eingebaut ist.

              Denn die Frames sorgen für dein Problem. Du müßtest ohnehin jedesmal, wenn das Hauptframe eine neue Seite lädt, auch die Navigation neu laden, damit der passende Sprachlink entsteht.

              Also kannst du die Navigation auch gleich direkt in der Hauptseite laden, und damit auf Frames verzichten.

              • Sven Rautenberg

              Dann müsste ich die ganze Firmenseite umstricken und wüsste immer noch nicht, ob es 100%ig funktioniert, oder?

              Wie sollte ich das Ganze denn aufbauen, die Seite wurde von einer Webdesign Firma erstellt und es handelt sich um ca. 40 .php Dateien...

              Mit CSS und <div>-Boxen komme ich da meier Meinung anch nicht weit oder sollte ich nur die Hauptseite zu einer Datei werden lassen?
              Ich kapiere hier garnichts mehr bei der Hitze und in dem kleinen Büro hier ohne Klimaanlage...

              Kann ich nicht die Variable als globale Variable vergeben und dann in jedem Frame nutzen?

              1. Moin!

                Dann müsste ich die ganze Firmenseite umstricken und wüsste immer noch nicht, ob es 100%ig funktioniert, oder?

                Doch, die Funktion dürfte problemlos herstellbar sein.

                Wie sollte ich das Ganze denn aufbauen, die Seite wurde von einer Webdesign Firma erstellt und es handelt sich um ca. 40 .php Dateien...

                Ach ja, Halbprofis... wehe, wenn sie losgelassen.

                Aber da PHP ja grundsätzlich offene Quellen hat, sollte es dir prinzipiell möglich sein, passende Änderungen einzubauen.

                Mit CSS und <div>-Boxen komme ich da meier Meinung anch nicht weit oder sollte ich nur die Hauptseite zu einer Datei werden lassen?

                Nein, das Frameset sollte schon insgesamt eliminiert werden, alles andere hilft dir nicht.

                CSS hilft dir in dieser Beziehung selbstverständlich weiter, weil es für alle Formatierungen einer Webseite zuständig ist. Ob man den Rest über DIVs lösen muß, wäre die zweite Frage.

                Kann ich nicht die Variable als globale Variable vergeben und dann in jedem Frame nutzen?

                Es gibt keine globalen Variablen. Jedes Framesfenster ist vollkommen unabhängig von jedem anderen Framesfenster - und auch auf dem Server wird jeder Request, sei es nach dem Frameset oder nach einem Frameinhalt, komplett separat abgearbeitet, ohne Bezug zu irgendeinem anderen Frameinhalt. Dementsprechend: Globale Variablen stehen dir nicht zur Verfügung.

                So wie ich die Lage sehe, gibt es exakt zwei Möglichkeiten: Entweder entfernst du die Frames und fügst die Verlinkung auf "dieselbe Seite in anderer Sprache" dann in die PHP-Skripte der Navigation hinzu, oder du beläßt die Frames und verlinkst in der Navigation jeweils immer nur die Startseite der anderen Sprachen.

                - Sven Rautenberg

                --
                "Love your nation - respect the others."
                1. ...

                  So wie ich die Lage sehe, gibt es exakt zwei Möglichkeiten: Entweder entfernst du die Frames und fügst die Verlinkung auf "dieselbe Seite in anderer Sprache" dann in die PHP-Skripte der Navigation hinzu, oder du beläßt die Frames und verlinkst in der Navigation jeweils immer nur die Startseite der anderen Sprachen.

                  • Sven Rautenberg

                  Ok, dann belasse ich es dabei, es besteht einfach nicht die Möglichkeit alles umzuschreiben und ich bin nur Praktikant... Wenn der Chef mir eine Woche vor Ende meines Praktikums damit kommt, hat er einfach Pech gehabt.
                  Ich bekomme nichts dafür und habe schon eine Menge an der Seite geleistet, schade dass es nicht geht, aber ich werde jetzt nicht alles umstricken ;)
                  Vielen Dank!

                  1. OK, leider muss ich nochmal eine Frage stellen:

                    Wenn ich die Auswahl im 'main'Frame machen würde, dann wäre das doch eigentlich kein Problem, oder?

                    Alle Inhalte die übersetzt werden müssen befinden sich nämlich in dem Frame.

                    Müsste eigentlich klappen, oder gibt es da Beschränkungen, weil ein Frame drumherum liegt?

                    Gruß

                    René

  2. Hello out there!

    Mein Problem liegt in der Sprachauswahl der Firmenhomepage.

    http://forum.de.selfhtml.org/archiv/2006/3/t124751/#m804023 ff.

    http://forum.de.selfhtml.org/archiv/2006/6/t131307/#m849403 ff.

    wenn man auf die Flaggen(Button) klickt.

    http://forum.de.selfhtml.org/archiv/2005/1/t99863/#m610749 ff.

    http://forum.de.selfhtml.org/archiv/2006/6/t131795/

    http://forum.de.selfhtml.org/hilfe/bedienung.htm#verweise-einbinden

    www.url.de/de/index.php

    http://forum.de.selfhtml.org/archiv/2006/2/t123060/#m792064

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Hello out there!

      Mein Problem liegt in der Sprachauswahl der Firmenhomepage.

      http://forum.de.selfhtml.org/archiv/2006/3/t124751/#m804023 ff.

      http://forum.de.selfhtml.org/archiv/2006/6/t131307/#m849403 ff.

      ...

      See ya up the road,
      Gunnar

      Ok sorry, dass ich ein paar Fehler gemacht habe.

      Aber trotzdem in den oben angegeben Links finde ich keine Version, mit der ich direkt auf die aufgerufene Seite der anderen Sprache linken kann. Entweder beim Start auswählen, oder wo die Spracheinstellungen aus den Browserdaten geladen werden.
      Ich habe eigentlich keine Ahnung, was ich da machen könnte.
      Eine IF-Abfrage in dem Navigations-Frame erkennt die $pid des main-Frames nicht.