Olli: knifflige Aufgabe, aber ziemlich wichtig

Hallo,

ich habe eine recht knifflige Aufgabe (zumindest für mich) bekommen.

Meine Webseite soll mehrsprachig angezeigt werden. Die Auswahl welche Sprache angezeigt werden soll, steht in einem .txt File.
Zur Laufzeit muss die Webseite ebenfalls auf Änderungen in dem txt-File reagieren und die Sprache umstellen (falls sich der Wert im txt-File ändert).

Meine Aufgabe ist es also, das txt-File immer auszulesen und entsprechend darauf reagieren. Das richtige Problem ist jetzt allerdings, dass ich NUR mit "HTML" und "C++" arbeiten kann.

Haltet mir jetzt bitte nicht vor, dass es anders viel besser und einfacher gehen würde. (Ich weiss es selber, kann aber nix dagegen machen) So als Info, könnt ihr natürlich Alternativen nennen.

Ich hoffe euch fällt dazu etwas cleveres (einfaches) ein.
Falls ich etwas vergessen habe zu erklären, fragen werden gerne beantwortet :)

Vielen Dank

Olli

  1. Hoi,

    Meine Webseite soll mehrsprachig angezeigt werden. Die Auswahl
    welche Sprache angezeigt werden soll, steht in einem .txt File.

    In einem .txt-File? Wie meinst du das?

    Zur Laufzeit muss die Webseite ebenfalls auf Änderungen in dem
    txt-File reagieren und die Sprache umstellen (falls sich der
    Wert im txt-File ändert).

    Die Website? Hae? Eine Website (im eigentlichen Sinne) kann auf keine
    'txt-Files' reagieren.

    Meine Aufgabe ist es also, das txt-File immer auszulesen und
    entsprechend darauf reagieren. Das richtige Problem ist jetzt
    allerdings, dass ich NUR mit "HTML" und "C++" arbeiten kann.

    Bitte was? Sorry, ich verstehe dich nicht.
    Du musst davon ausgehen, wir haben nicht halb das Wissen, was du
    hast. Niemand hier weiss, was deine Aufgabenstellung ist, was dein
    eigentliches Problem ist und nichts.

    Wenn du wissen willst, wie man mit C++ Dateien ausliest, das kann
    ich dir gern verraten. Da reicht aber auch ein Blick in die
    STL-Referenz (Stichwort 'istream'). Ist es das?

    Gruesse,
     CK

  2. Das mit dem txt file scheck ich nicht ganz ab.

    Frage: Welchrer Webserver wird da benutzt?
    Die Webserver ansich haben ja schon Multilanguagesupport.

    Mein Erstergedanke: aus dem txt.File html.de html.en u.s.w. regelmäßig erzeugen, und Serverseitig die Mutilang machen.

  3. Hallo nochmal,

    ok, ich versuchs nochmal.

    Die Seite wird nur auf einem PC (nicht im Internet) dargestellt.
    Es läuft ebenfalls eine Maschinensteuerung darauf, auf der man die Sprache umstellen kann. Zudem liefert die Steuerung mir Daten, welche ich auf der HTML Seite darstellen soll. Sowohl die Daten, als auch die Angaben über die Sprache wird von der Maschine in ein txt-File geschrieben.

    Ich muss jetzt auf der (meiner) "Webseite" also die übergebenen Daten in der gewählten Sprache darstellen.

    Wie ich das txt-File durchsuche (streams) iss mir schon klar, nur wie ich:

    1. beim Start der Seite die richtige Sprache anzeigen lassen
       (wie kann ich mit c++ die HTML Seite beeinflussen die richtige Seite anzuzeigen)?

    2. wie kann ich, dynamisch (jedesmal beim Refresh der Seite z.B.) den C++ Code starten und auf Änderungen im txt-File reagieren?

    Olli

    1. Hi,

      Die Seite wird nur auf einem PC (nicht im Internet) dargestellt.

      wieso braucht man auf _einem_ PC mehrere Sprachen? Naja, egal. Solange es um HTTP geht, ist es unerheblich, ob nun von einem Rechner aus zugegriffen wird oder von Millionen. Du hast nur den Vorteil, etwas mehr über die Konfiguration des Client zu wissen.

      1. beim Start der Seite die richtige Sprache anzeigen lassen

      Definiere "richtig". Sprich: Wie erkennst Du, welche Sprache gewollt ist?

      (wie kann ich mit c++ die HTML Seite beeinflussen die richtige Seite anzuzeigen)?

      Entweder schreibst Du ein Programm (HTTP-unabhängig), das statische HTML-Seiten rausschreibt. Das ist nicht anders als ein Programm, das automatisch einen Bericht erzeugt.
      Oder Du benutzt serverseitige Techniken wie z.B. CGI (Aufruf evtl. per SSI), um ein (CGI-taugliches; vrgl. Kapitel in SelfHTML) C++-Programm zu starten. Die Inhalte werden dann bei jedem(!) Aufruf dynamisch in die Ausgabe geschrieben.

      Ich möchte Dir aber empfehlen, neben C++ noch eine zweite, etwas höher angesiedelte Programmiersprache zu erlernen; Perl beispielsweise.

      Cheatah

    2. warum schreibst du keine Callbackroutine, die immer das file nach veränderungen durchsuchst, bei veränderung, schreibst du die HTML-Seite per C++ neu und dann sollte es gehen

      Hallo nochmal,

      ok, ich versuchs nochmal.

      Die Seite wird nur auf einem PC (nicht im Internet) dargestellt.
      Es läuft ebenfalls eine Maschinensteuerung darauf, auf der man die Sprache umstellen kann. Zudem liefert die Steuerung mir Daten, welche ich auf der HTML Seite darstellen soll. Sowohl die Daten, als auch die Angaben über die Sprache wird von der Maschine in ein txt-File geschrieben.

      Ich muss jetzt auf der (meiner) "Webseite" also die übergebenen Daten in der gewählten Sprache darstellen.

      Wie ich das txt-File durchsuche (streams) iss mir schon klar, nur wie ich:

      1. beim Start der Seite die richtige Sprache anzeigen lassen
           (wie kann ich mit c++ die HTML Seite beeinflussen die richtige Seite anzuzeigen)?
      1. wie kann ich, dynamisch (jedesmal beim Refresh der Seite z.B.) den C++ Code starten und auf Änderungen im txt-File reagieren?

      Olli

    3. moin ...

      Ein paar Fragen bleiben offen !?

      Die Seite wird nur auf einem PC (nicht im Internet) dargestellt.

      Wird die HTML Datei aus einem festen Verzeichniss aufgerufen oder über einen HTTP Server?

      Es läuft ebenfalls eine Maschinensteuerung darauf, auf der man die Sprache umstellen kann. Zudem liefert die Steuerung mir Daten, welche ich auf der HTML Seite darstellen soll. Sowohl die Daten, als auch die Angaben über die Sprache wird von der Maschine in ein txt-File geschrieben.

      Ich muss jetzt auf der (meiner) "Webseite" also die übergebenen Daten in der gewählten Sprache darstellen.

      .... 'gewählte Sprache' . Also je nach Einstellung der Sprache wird auch eine andere Datei ausgegeben ??? Die Darstellung im Browser sollte nicht das Problem sein, außer sie verwendet einen anderen Zeichensatz.

      Wie ich das txt-File durchsuche (streams) iss mir schon klar, nur wie ich:

      1. beim Start der Seite die richtige Sprache anzeigen lassen
           (wie kann ich mit c++ die HTML Seite beeinflussen die richtige Seite anzuzeigen)?

      Wieso die richtige Datei??? Sind mehrere Dateien vorhanden, für jede Sprache eine????

      1. wie kann ich, dynamisch (jedesmal beim Refresh der Seite z.B.) den C++ Code starten und auf Änderungen im txt-File reagieren?

      Welcher Browser wird verwendet ? (Ist der Browser JavaScript-fähig ?)

      cu

    4. Hi Olli,

      ich schließe mich meinen Vorrednern an - es fehlen Unmengen von Details.
      Ich kann mir Deine Konfiguration nicht mal ansatzweise vorstellen.

      Die Seite wird nur auf einem PC (nicht im Internet) dargestellt.

      1. Was heißt "dargestellt"? Mit einem Browser?
         Verwendest Du überhaupt HTTP, oder willst Du auf eine lokale Datei
         zugreifen?

      2. Wenn HTTP: Von wie vielen Rechnern reden wir überhaupt?
         Befindet sich der HTTP-Server auf dem einen Client, den es nach
         Deiner Aussage nur gibt, oder nicht?

      Es läuft ebenfalls eine Maschinensteuerung darauf,

      Worauf? Auf dem einen PC oder auf einem (anderen?) Server, wird aber
      von diesem Client aus gesteuert? Ist das eine HTTP-Anwendung oder was?

      auf der man die Sprache umstellen kann.

      Wie funktioniert das?

      Zudem liefert die Steuerung mir

      wem? Wohin? In welcher Form? Über welches Protokoll?

      Daten, welche ich auf der HTML Seite darstellen soll.
      Sowohl die Daten, als auch die Angaben über die Sprache wird von
      der Maschine in ein txt-File geschrieben.

      Auf welchem Rechner liegt diese Textdatei?
      Wenn auf demselben Rechner wie der HTTP-Server (falls es einen solchen
      gibt!), hast Du eine gut Chance, Deine Aufgabe lösen zu können.

      Ich muss jetzt auf der (meiner) "Webseite" also die übergebenen Daten
      in der gewählten Sprache darstellen.

      Wenn auf Deinem Webserver ein CGI-Skript diese Textdatei liest und ihren
      Inhalt auswertet, kann es herausfinden, welches von mehreren sprach-
      abhängigen Dokumenten gemeint war, dieses ebenfalls lesen und ausgeben.

      1. beim Start der Seite

      Was soll das bedeuten? Eine "Seite" ist kein Programm.

      die richtige Sprache anzeigen lassen

      Die steht in Deiner Textdatei - sie muß von einem Programm gelesen werden.

      (wie kann ich mit c++ die HTML Seite beeinflussen die richtige Seite
         anzuzeigen)?

      Das kannst Du nicht. Die HTML-Seite kann nichts "anzeigen".
      Dein C++-Programm kann aber aus Sprache und einer Menge (!) von Dokumenten
      eine Ausgabe bedingt erzeugen.

      1. wie kann ich, dynamisch (jedesmal beim Refresh der Seite z.B.) den
        C++ Code starten und auf Änderungen im txt-File reagieren?

      CGI. (Falls Du HTTP verwendest.)

      Viele Grüße
            Michael