cra: Sprachen und Ihre Tücken

Hallo zusammen ...

Ich bin seit längerem um Sprachen mit diesen sonderbaren Buchstaben am drücken. Nun aber drängen sich einige auf.

Um was geht's? Ich habe ein Web-Projekt, welches bereits in vielen Westlichen Sprachen (de, en, fr, it, pt, etz) problemlos läuft. Nun soll z.B. Russisch oder Griechisch dazu kommen. Beides Sprachen mit Kyrillischen Zeichen.

Die Westlichen Sprachen konnte ich ganz einfach vie Textfeld einlesen und dann alle Sonderzeichen mittels htmlentities() <PHP> in &...; umwandeln.

Mit den Östlichen Sprachen geht das irgend wie nicht.

Kann mir da jemand ein paar Tipps geben, worauf ich achen soll?
Bin euch schonmal dankbar.

Gruss CRA

  1. Hallo cra

    und wenn Du es mit unicode versuchst ?

    Liebe Grüße

    Bernd

    1. Hallo Bernd

      und wenn Du es mit unicode versuchst ?

      Problem 1: Ich weiss nicht mal genau, nach was ich suchen muss *hust* denn Übersetzen tut jemand, der die Sprache beherrscht. Ich kenn kaum die Zeichen. Derjenige schreibt in seinem Sprachlayout den Text und kopiert den in ein Tool rein. Das Tool ersetzt dann alle unbekannten Zeichen durch die &...; codes. So zumindest hab ich das bisanhin gemacht. Irgend wie funktioniert das aber nicht.

      Die PHP-Funktion htmlentities habe ich atm so definiert:
      $text = htmlentities($text, ENT_NOQUOTES, "UTF-8");

      Problem 2: die Lang-Files sind etwas grösser und sodass ich das per Script machen muss, da ich sonst die Wände hoch gehe ;) Atm sind's rund 400 Zeilen ^^

      Irgend wie habe ich das Gefült, dass was ganz prinzipielles fehlt ...

      Gruss CRA

      1. Hallo CRA

        oh jeh. Ich denke ich kenne mich zu wenig aus.

        Meine Idee wäre aber folgende ...
        Der Übersetzer soll mit open Office arbeiten und nicht mit einem MS-Office. Früher hat MS-Office gerne Sonderzeichen nicht standartkonform gesetzt.

        Bzw. Du importierst in open Office.

        Vielleicht ist das schon die Lösung ?

        Liebe Grüße

        Bernd

        1. Zurzeit wird da mot Notepad gearbeitet, nicht mit einem Office ...

          Es geht um PHP-Basierte Language-Files ...

          Ich glaube eher, dass es sich um UTF-8, etc. handelt ... und nicht um Programme à la M$ Office

  2. Um was geht's? Ich habe ein Web-Projekt, welches bereits in vielen Westlichen Sprachen (de, en, fr, it, pt, etz) problemlos läuft. Nun soll z.B. Russisch oder Griechisch dazu kommen. Beides Sprachen mit Kyrillischen Zeichen.

    Die Westlichen Sprachen konnte ich ganz einfach vie Textfeld einlesen und dann alle Sonderzeichen mittels htmlentities() <PHP> in &...; umwandeln.

    das ist nicht nötig, wenn deine Seite in einem Zeichensatz ausgeliefert wird, der die Zeichen enthält ist die Umwandlung überflüssig. z.b. bei deutschen Umlauten reicht:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    Mit den Östlichen Sprachen geht das irgend wie nicht.

    Der Tipp mit UFT war nicht verkehrt. Die Forum seite verwendet folgenden Zeichensatz:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    Du kannst hier im Forum also auch kyrillisch und griechische Zeichne anzeigen lassen ohne diese umwandeln zu müssen.

    Α, α
    Β, β
    Γ, γ
    Δ, δ
    Ε, ε
    Ζ, ζ
    Η, η
    Θ, θ
    Ι, ι
    Κ, κ
    Λ, λ
    Μ, μ
    Ν, ν
    Ξ, ξ
    Ο, ο
    Π, π
    Ρ, ρ
    Σ, σ
    Τ, τ
    Υ, υ
    Φ, φ
    Χ, χ
    Ψ, ψ
    Ω, ω

    (von wikipedia kopiert)
    Struppi.

  3. Hello out there!

    (de, en, fr, it, pt, etz)

    etz?? Solch Sprachkürzel gibt es nicht. Wofür sollte das stehen?

    Nun soll z.B. Russisch oder Griechisch dazu kommen. Beides Sprachen mit Kyrillischen Zeichen.

    Nö, Griechisch wird mit griechichen Buchstaben geschreiben. Das kyrillische Alphabet basiert auf dem griechischen. [Wikipedia]

    Die Westlichen Sprachen konnte ich ganz einfach vie Textfeld einlesen und dann alle Sonderzeichen mittels htmlentities() <PHP> in &...; umwandeln.

    Eine Umwandlung in Zeichen-Entity-Referenzen ist nicht nötig, wenn eine Zeichencodierung verwendet wird, mit der sich die benötigten Zeichen codieren lassen. Für die meisten westeuropäische Sprachen sollte es ISO 8859-1 tun.

    Mit den Östlichen Sprachen geht das irgend wie nicht.

    Für die in osteuropäischen Sprachen mit lateinischer Schrift benötigten „Sonderzeichen“ gibt es keine Entities; in HTML wurde bspw. keine Entity 'aogonek' für das Zeichen 'ą' oder 'ccaron' für 'č' definiert.

    Für kyrillische Zeichen gibt es auch keine Entities; wohl aber für die griechischen. [SELFHTML]

    Kann mir da jemand ein paar Tipps geben, worauf ich achen soll?

    Am besten, du verwendest einen Unicode-fähigen Editor und codierst deine Dokumente in UTF-8. Dann ist dein Quelltext leicht lesbar und du hast keine Probleme mit anderen Alphabeten.

    Wichtig ist, dass dein Webserver die verwendete Zeichencodierung angibt. Siehe [Jendryschik] und [Ishida].

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hallo Gunnar,

      (de, en, fr, it, pt, etz)

      etz?? Solch Sprachkürzel gibt es nicht. Wofür sollte das stehen?

      etz ist gemäß ISO 639-3 der Code für die Sprache Semimi.

      Eine Umwandlung in Zeichen-Entity-Referenzen ist nicht nötig, wenn eine Zeichencodierung verwendet wird, mit der sich die benötigten Zeichen codieren lassen. Für die meisten westeuropäische Sprachen sollte es ISO 8859-1 tun.

      Aktueller ist ISO 8859-15, dies enthält u.a. auch das Euro-Zeichen.

      Für die in osteuropäischen Sprachen mit lateinischer Schrift benötigten „Sonderzeichen“ gibt es keine Entities; in HTML wurde bspw. keine Entity 'aogonek' für das Zeichen 'ą' oder 'ccaron' für 'č' definiert.

      Für kyrillische Zeichen gibt es auch keine Entities; wohl aber für die griechischen. [SELFHTML]

      Hättest du die Seite genauer gelesen, wüsstest du, dass es auch numerische Referenzen gibt. Somit lassen sich auch alle Zeichen aus dem Unicode-Zeichenvorrat in einem HTML-Dokument darstellen, wenn dieses beispielsweise in ISO 8859-1 vorliegt.

      Gruß,

      Johannes

      1. Hallo Johannes,

        Für kyrillische Zeichen gibt es auch keine Entities; wohl aber für die griechischen. [SELFHTML]
        Hättest du die Seite genauer gelesen, wüsstest du, dass es auch numerische Referenzen gibt.

        klar weiß er das. Aber du weißt doch auch, dass Gunnar einen nahezu perfektionistischen Hang dazu hat, auch nur ja immer die korrekten Fachtermini zu verwenden. Und &#x05A7; ist nunmal keine Entity-Referenz (was auch immer das jetzt für ein Zeichen sein mag, war nur'n Beispiel).

        Somit lassen sich auch alle Zeichen aus dem Unicode-Zeichenvorrat in einem HTML-Dokument darstellen, wenn dieses beispielsweise in ISO 8859-1 vorliegt.

        Richtig, aber eben nicht mit Entity-Referenzen, und das ist es, was Gunnar betont hat. Mir geht diese Pedanterie auch manchmal gegen den Strich, aber wo er Recht hat ...

        So long,
         Martin

        --
        Most experts agree: Any feature of a program that you can't turn off if you want to, is a bug.
        Except with Microsoft, where it is just the other way round.
      2. Hello out there!

        etz ist gemäß ISO 639-3 der Code für die Sprache Semimi.

        Hm, ich hatte in der IANA Language Subtag Registry nachgesehen; da gibt es 'etz' nicht.

        Aber ist denn Semimi eine „westliche Sprache“?

        Hättest du die Seite genauer gelesen, wüsstest du, dass es auch numerische Referenzen gibt.

        „Ach. Ach was.“

        Das weiß ich auch ohne die Seite genauer gelesen zu haben. Es ging hier aber nicht um numerische Referenzen, sondern um Entities.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        1. Hallo Gunnar,

          Aber ist denn Semimi eine „westliche Sprache“?

          Da die Erde weder West- noch Ostpol hat, dürfte dies wohl davon abhängig sein, von welchem Punkt der Erdoberfläche man ausgeht ;-)

          Das weiß ich auch ohne die Seite genauer gelesen zu haben. Es ging hier aber nicht um numerische Referenzen, sondern um Entities.

          Ich gestehe, dass ich nicht genau genug gelesen hab. Allerdings bleibe ich dabei, dass deine Aussage Entity-Referenzen betreffend zwar nicht falsch, aber wenig hilfreich war. Es wäre meines Erachtens nicht zu viel gewesen, kurz den Unterschied zwischen Entity-Referenzen und numerischen Referenzen zu berühren und zu erwähnen, dass htmlentities() nur erstere behandelt.

          Gruß,

          Johannes

          1. Hello out there!

            Allerdings bleibe ich dabei, dass deine Aussage Entity-Referenzen betreffend zwar nicht falsch, aber wenig hilfreich war.

            Meine Aussage war, auf Entity-Referenzen wie auf numerische Referenzen zu verzichten und stattdessen die richtigen Zeichen im Quelltext zu verwenden. Was ist daran nicht hilfreich?

            Es wäre meines Erachtens nicht zu viel gewesen, kurz den Unterschied zwischen Entity-Referenzen und numerischen Referenzen zu berühren

            War meines Erachtens an der Stelle nicht notwendig.

            Dass in der verlinkten HTML-Zeichenreferenz anstatt der korrekten Bezeichnungen „Name in HTML“ und „Unicode in HTML“ steht, ist ein Mangel in SELFHTML, der behoben werden sollte.

            und zu erwähnen, dass htmlentities() nur erstere [Entity-Referenzen] behandelt.

            Geht das nicht bereits aus der Benennung der Funktion hervor?

            See ya up the road,
            Gunnar

            --
            „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
            1. Hallo Gunnar,

              Dass in der verlinkten HTML-Zeichenreferenz anstatt der korrekten Bezeichnungen „Name in HTML“ und „Unicode in HTML“ steht, ist ein Mangel in SELFHTML, der behoben werden sollte.

              Wo ist das entsprechende Ticket?

              Schöne Grüße,

              Johannes

              1. Hello out there!

                Wo ist das entsprechende Ticket?

                [X] Done.

                See ya up the road,
                Gunnar

                --
                „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
                1. Hallo Gunnar,

                  Wo ist das entsprechende Ticket?

                  [X] Done.

                  Danke.

                  Schöne Grüße,

                  Johannes