Zweisprachig... wie am besten?

  • Hallo,

    1.
    Vor einiger Zeit habe ich eine Website gesehen, wo man verschiedene Sprachen auswählen konnte... da war ein Übersetzungstool dahinter. Wenn man auf seine Flagge klickte und die Seite war noch nicht perfekt übersetzt, konnte man selbst eine Übersetzung machen.

    Weiß jemand wie das Tool heißt? bzw. gibt es ein entsprechendes Plugin von WP?

    2.
    ... und wie baue ich die Zweisprachigkeit am besten so auf, dass es auch für SEO am besten ist.

    BG Chris :-)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich musste auch mal eine Seite in 4 Sprachen anlegen. Nachdem diese ganzen Übersetzungsplugins nicht das Wahre waren, habe ich es ganz einfach selbst programmiert.

    Erst mal eine Seitenstruktur anlegen, wo die Oberste Seite immer die Sprache war, darunter dann die eigentlichen Seiten. Also

    DE
    - Home
    - News
    - Zeugs
    - Dings
    EN
    - Home
    - News
    - Stuff
    - Things
    FR
    - Maison
    - Nouvelles
    - Trucs
    - Autres Trucs

    usw.

    DANN war das komplizierteste, immer die korrekte Navi anzuzeigen, also immer gleich in die Unterseite von DE oder EN zu gehen. Das habe ich mit Sessions gelöst.

    In der header.php steht z.b. als erstes drin

    Dann brauche ich bei der Navi nur das hier angeben:

    PHP
    <div id="st_navi">
    		<div id="menu"><ul><?php wp_list_pages('sort_column=menu_order&title_li=&child_of='.$lang_id); ?></ul></div>
    	</div>

    Das war die Seitensteuerung.
    Bei den Posts habe ich dann ebenfalls DE, EN, FR und IT Kategorien angelegt, in der index.php steht drin

    PHP
    <?php
    	// Homepage darf nur Beiträge aus der gewählten Sprache anzeigen.
    	if (is_home()) {
    		query_posts("cat=".$lang_post_id);
    		}
    	?>

    Funktioniert eigentlich ganz gut. Ach ja, die Sprachänderung geht dann mittels

    PHP
    <div id="st_flags">
    		<a href="<?php bloginfo('url'); ?>/?lang=de"><img src="<?php bloginfo('template_directory'); ?>/img/flag_de.gif" border="0"></a>
    		<a href="<?php bloginfo('url'); ?>/?lang=en"><img src="<?php bloginfo('template_directory'); ?>/img/flag_en.gif" border="0"></a>
    		<a href="<?php bloginfo('url'); ?>/?lang=it"><img src="<?php bloginfo('template_directory'); ?>/img/flag_it.gif" border="0"></a>
    		<a href="<?php bloginfo('url'); ?>/?lang=fr"><img src="<?php bloginfo('template_directory'); ?>/img/flag_fr.gif" border="0"></a>
    	</div>

    Einmal editiert, zuletzt von mores (18. August 2008 um 14:58)

  • Um überhaupt erstmal die Theme Navigation und allgemeinen Theme Texte in der Landessprache des Besuchers anzuzeigen dieser Tipp:

    Code
    define ('WPLANG', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));


    Diese Zeile in die wp-config einbauen.
    Mehr Infos dazu hier drüben: Soleil Theme for WordPress :: Avi Alkalay - Abschnitt: "Soleil Localization and Internationalization"

    Das Prinzip: Jeder Besucher übermittelt ja die voreingestellte Sprache des eigenen Browsers, wenn er eine Site besucht. Diese wird mit obiger Zeile ausgelesen und die entsprechende Sprachdatei des Wordpress Theme eingespielt. Wenn diese vorhanden ist ...

  • Um überhaupt erstmal die Theme Navigation und allgemeinen Theme Texte in der Landessprache des Besuchers anzuzeigen dieser Tipp:

    Code
    define ('WPLANG', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));

    Diese Zeile in die wp-config einbauen.
    Mehr Infos dazu hier drüben: Soleil Theme for WordPress :: Avi Alkalay - Abschnitt: "Soleil Localization and Internationalization"

    Das Prinzip: Jeder Besucher übermittelt ja die voreingestellte Sprache des eigenen Browsers, wenn er eine Site besucht. Diese wird mit obiger Zeile ausgelesen und die entsprechende Sprachdatei des Wordpress Theme eingespielt. Wenn diese vorhanden ist ...


    Das ist Sülze, mit Verlaub!
    Wenn ich

    • de_DE für Deutschland
    • de_AT für Österreich
    • en_US für USA
    • en_GB für britisch english

    haben muß, nutzt ein de oder en gar nix. Außerdem sind die Sprachdateien wegen locale Funktionen ja auch mit Landesangabe. Und im Asiatischen Bereich ist das Land essentiell (Chinesisch != Chinesisch).
    Außerdem kann der Browser ein Bevorzugungsmodell als Kennung schicken mit gewichteten Werten, der 1 Wert kann durchaus die am wenigsten gewünschte Sprache sein.
    Dazu braucht man schon eine qualifizierte Erkennungsmethode und nicht dies 0815 Lösung, die nicht immer geht. (Denkt an die Suchmachinen Bots, die müssen gar nix schicken und ihr zermüllert euch die Serps.)

  • Hallo,

    vielen Dank für Eure Mühe. Schade, dass es nicht funktioniert. Daher komme ich wieder auf die ursprüngliche Frage im ersten thread zurück.

    Weiß da jemand wo ich dieses Tool finde?

    BG Chris :-)

  • Das ist Sülze, mit Verlaub!
    Wenn ich

    • de_DE für Deutschland
    • de_AT für Österreich
    • en_US für USA
    • en_GB für britisch english

    haben muß, nutzt ein de oder en gar nix. Außerdem sind die Sprachdateien wegen locale Funktionen ja auch mit Landesangabe. Und im Asiatischen Bereich ist das Land essentiell (Chinesisch != Chinesisch).
    Außerdem kann der Browser ein Bevorzugungsmodell als Kennung schicken mit gewichteten Werten, der 1 Wert kann durchaus die am wenigsten gewünschte Sprache sein.
    Dazu braucht man schon eine qualifizierte Erkennungsmethode und nicht dies 0815 Lösung, die nicht immer geht. (Denkt an die Suchmachinen Bots, die müssen gar nix schicken und ihr zermüllert euch die Serps.)

    Hmm, ich hab das Theme meines Links oben lange Zeit genutzt, und war überrascht, wie gut das funktioniert, was du Sülze nennst.

    Deine Beispiele mit Österreich und GB-British sind richtig, ja. Aber das ist über einen entsprechenden Fundus von Theme Sprachdateien zu lösen. Wer multilingual anbieten möchte, muss sich mit den Sprachdateien in jedem Fall auseinander setzen.

    Und man kann bei Firefox die eigenen Sprachvorlieben genauso gewichten, wie man es lesen möchte. Im Ergebnis erlebe ich dann: Wird die oberste gewünschte Sprache nicht gefunden, dann springe zur zweiten und so fort - bis eine entsprechende Sprachdatei gefunden wurde.

    Ich habe dies konkret mit Deutsch, Englisch, Portugiesisch, Spanisch und Italienisch im Betrieb obigen Themes von Avi erlebt. Damit war für meinen Blog Europa mit vergleichsweise geringem Aufwand abgedeckt.

    Mach du einfach mal selbst den Test und ändere die Spracheinstellungen deines Browsers (z.B. auf Portugiesisch) und besuch die Demoseiten von Avis Soleil Theme, obs funktioniert.

  • Hallo Gersprenz,
    vielen Dank, dass Du noch einmal darauf eingegangen bist. Ich habe noch ein wenig Respekt davor in dieses Thema einzusteigen... es scheint noch zu kompliziert.

    Ich stelle mir eine Lösung folgendermaßen vor:
    1. Abänderung der Sprachdatei (damit wären alle Standardeinträge abgedeckt)
    2. Benutzung eines Tools, welches beim Flaggenklick die Standardeinträge verändern und für den Rest der Seite jeweils vorübersetzte Texte anbietet. Wenn diese Texte schon übersetzt sind... gut... dann erscheinen diese Texte. Wenn nicht, kann man auf Klick übersetzen.

    Liege ich mit meiner Vorstellung total daneben oder gibt es so etwas?

    Punkt 2 hab ich schonmal irgendwo so gesehen (weiß leider nicht mehr wo) und weiß natürlich auch nicht ob es mit WP funktioniert.

    BG Chris :-)

  • Hmm, ich hab das Theme meines Links oben lange Zeit genutzt, und war überrascht, wie gut das funktioniert, was du Sülze nennst.

    Deine Beispiele mit Österreich und GB-British sind richtig, ja. Aber das ist über einen entsprechenden Fundus von Theme Sprachdateien zu lösen. Wer multilingual anbieten möchte, muss sich mit den Sprachdateien in jedem Fall auseinander setzen.

    Und man kann bei Firefox die eigenen Sprachvorlieben genauso gewichten, wie man es lesen möchte. Im Ergebnis erlebe ich dann: Wird die oberste gewünschte Sprache nicht gefunden, dann springe zur zweiten und so fort - bis eine entsprechende Sprachdatei gefunden wurde.

    Ich habe dies konkret mit Deutsch, Englisch, Portugiesisch, Spanisch und Italienisch im Betrieb obigen Themes von Avi erlebt. Damit war für meinen Blog Europa mit vergleichsweise geringem Aufwand abgedeckt.

    Mach du einfach mal selbst den Test und ändere die Spracheinstellungen deines Browsers (z.B. auf Portugiesisch) und besuch die Demoseiten von Avis Soleil Theme, obs funktioniert.


    Glaub mir, ich weiss wovon ich rede. Das ganze Konzept hinter der Lösung geht nur darauf zurück, das man nur die Sprache angibt nicht jedoch das Land. Also muß man alle Sprachdateien, die man verwendet umbenennen in de.mo oder en.mo ... Dies würde ebenso für alle Plugins gelten also statt sitemap-de_DE.mo dann sitemap-de.mo.
    Wenn man dann auch noch die Locale umschalten muß, weil man die Komma- oder Tausenderseparatoren sprachkorrekt einsetzen muß, steht man im Regen !
    Deutsch hat für Dezimalzahlen "," statt "." und Schweizer haben als Tausender Trenner statt "." dann " ' ". Viele Serversysteme können nur mit den 2stelligen Sprachkode keine Locale umschalten, somit ist das einfach nur schlecht. Es mag für bestimmte Projekte ein Schmalspurlösung sein, es ist aber keine vertretbare und aus Wartungssicht viel zu aufwendige Herangehensweise (Updates von Plugins, Themes, WP Sprachdateien ...)
    Deshalb auch meine Einstellung zu dieser Lösung, ich hab viel zu oft mit sprachspezifischen Problemen gekämpft und beruflich weltweit Kunden betreut.

  • Glaub mir, ich weiss wovon ich rede. Das ganze Konzept hinter der Lösung geht nur darauf zurück, das man nur die Sprache angibt nicht jedoch das Land. Also muß man alle Sprachdateien, die man verwendet umbenennen in de.mo oder en.mo ... Dies würde ebenso für alle Plugins gelten also statt sitemap-de_DE.mo dann sitemap-de.mo.

    Irgendwie habe ich andere Argumente: Das Umbenennen ist kein unzumutbarer Aufwand, sondern in 5 Minuten gemacht. Auch bei Plugin Updates. Einfach dran denken und gut ist. Und was ist verkehrt daran, ausschliesslich eine Sprachvariante anzugeben anstatt dem Land? Ich überlasse doch lieber dem Besucher in welcher Sprache er lesen will, und gehe deshalb davon aus, daß er seinen Browser in der für ihn richtigen Sprache eingestellt hat.


    Wenn man dann auch noch die Locale umschalten muß, weil man die Komma- oder Tausenderseparatoren sprachkorrekt einsetzen muß, steht man im Regen !
    Deutsch hat für Dezimalzahlen "," statt "." und Schweizer haben als Tausender Trenner statt "." dann " ' ". Viele Serversysteme können nur mit den 2stelligen Sprachkode keine Locale umschalten, somit ist das einfach nur schlecht. Es mag für bestimmte Projekte ein Schmalspurlösung sein, es ist aber keine vertretbare und aus Wartungssicht viel zu aufwendige Herangehensweise (Updates von Plugins, Themes, WP Sprachdateien ...)
    Deshalb auch meine Einstellung zu dieser Lösung, ich hab viel zu oft mit sprachspezifischen Problemen gekämpft und beruflich weltweit Kunden betreut.

    Das mag ja alles sein. Ob jedoch die Server (ich nehme an du meinst die Server des Wordpress Hosters) eine solche Einstellung der wp-config.php wie oben als Tipp dargestellt verarbeiten können, oder nicht ist mit genau einem Test innerhalb einer Minute geklärt. So habs ichs bei Hosteurope gemacht, es lief und fertig. So what?

    Was ist eine schmalspurige Lösung wert im Vergleich zu keiner Lösung?
    Die oben als Tipp genannte Lösung führt zum Ziel eines multilingualen Auftritts bei vertretbarem Aufwand und geringen laufenden Wartungs/Pflegekosten.
    Damit ist sie vertretbar. Eine perfekte Lösung ist es nicht. Perfekte (ich meine "customized") Software-Lösungen kosten dafür aber auch viel Geld..

    Ich würde mir übrigens wünschen du zeigst uns Schmalspurprojektlern einfach mal einen anderen, praxisorientierten Lösungsweg zur einleitenden Frage des Threads und dämpfst deine, ich nenne sie mit Verlaub, Freude an arrogantenTotschlagargumenten ("keine vertretbare Lösung" .. "ich weiss wovon ich rede" .. "hab beruflich weltweit Kunden betreut".).

  • Ich würde mir übrigens wünschen du zeigst uns Schmalspurprojektlern einfach mal einen anderen, praxisorientierten Lösungsweg zur einleitenden Frage des Threads und dämpfst deine, ich nenne sie mit Verlaub, Freude an arrogantenTotschlagargumenten ("keine vertretbare Lösung" .. "ich weiss wovon ich rede" .. "hab beruflich weltweit Kunden betreut".).


    Das hat überhaupt nichts mit Arroganz zu tun sondern mit Erfahrung. Kunden und Benutzer neigen dazu immer mehr und um immer umfangreichere Sachen zu wollen, wenn man anfängt etwas bereitzustellen. Langfristig rächen sich die Flickenlösungen dann, weil der Aufwand alles weitere einzubauen, exponentiell mit dem Flickwerk wächst.
    Ich habe derzeit auch keine Patentlösung für WordPress, denn von vorn herein ist WP nicht wirklich darauf ausgerichtet, parallel Sprachen anzubieten. Alles was man dazu gern hätte, gibt es auf DB Ebene nicht von Haus aus. Deshalb sind auch die Ansätze, die es im Netz gibt ein Anfang aber nicht für Otto-Normal-Nutzer machbar.
    Ich hab auch nur ausgedrückt, dass es ohne Kenntnisse von PHP und ein paar WP internas nicht ohne weiteres möglich ist, multi-lingual zu arbeiten. Aber es gibt unzählige Benutzer, die eine "zero-config / plug 'n play" Lösung brauchen oder möchtest du ein Hilf-mir Forum bei dir hosten und mit viel Zeitaufwand betreuen, in dem alle diejenigen aufschlagen, die nicht verstehen, wie es gehen soll ?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!