Zurück   WordPress Deutschland Forum > Support > Plugins und Widgets

Antwort
 
Themen-Optionen Ansicht
Alt 15.08.2008, 12:47   #1 (permalink)
PostRank: 4
 
Registriert seit: 23.03.2008
Beiträge: 256
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 Chris1 Mac OS X 10.5.5 / WP 2.5.1 / i3theme / http://www.c-salsa.com
chris1 ist offline   Mit Zitat antworten
Alt 18.08.2008, 14:56   #2 (permalink)
PostRank: 0
 
Registriert seit: 05.11.2007
Beiträge: 16
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
Code:
<?php
session_start();

global $lang_id, $lang_post_id;


$lang = $_GET['lang'];

if(isset($_SESSION['language'])) {
	if (($_SESSION['language'] <> $lang) && (!$lang == "")) {
		$_SESSION['language'] = $lang;
	}
	if (!$lang) {
		$_SESSION['language'] = $_SESSION['language'];
	}
	
} else {
	if (!$lang) {
		$lang = "de";
	}
	$_SESSION['language'] = $lang;
}

// **********************
// Hier werden die Sprachen angesteuert. Da kein Plugin meine Wünsche erfüllen konnte
// habe ich es so gemacht.
// $lang_id ist die SEITEN-ID der Übersichtsseite einer Sprache. 
//        Alle weiteren Seiten dieser Sprache befinden sich in der 
//        Hierarchie unterhalb dieser Seite. ID muss man nach dem 
//        Anlegen rausfinden und hier eintragen
// $lang_post_id ist die KATEGORIE-ID. 
//        Beiträge werden in Sprach-Kategorien unterteilt.

switch ($_SESSION['language']) {
	case "de":
		$lang_id = 20;
		$lang_post_id=3;
		break;
	case "en":
		$lang_id = 35;
		$lang_post_id=4;
		break;
	case "it":
		$lang_id = 42;
		$lang_post_id=5;
		break;
	case "fr":
		$lang_id = 41;
		$lang_post_id=6;
		break;
}

?>
Dann brauche ich bei der Navi nur das hier angeben:
Code:
	<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
Code:
<?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
Code:
<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>

Geändert von mores (18.08.2008 um 14:58 Uhr).
mores ist offline   Mit Zitat antworten
Alt 18.08.2008, 18:03   #3 (permalink)
PostRank: 2
 
Registriert seit: 08.09.2004
Beiträge: 77
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 ...
Gersprenz ist offline   Mit Zitat antworten
Alt 18.08.2008, 18:09   #4 (permalink)
PostRank: 0
 
Registriert seit: 05.11.2007
Beiträge: 16
Interessant!

Danke.
mores ist offline   Mit Zitat antworten
Alt 18.08.2008, 20:53   #5 (permalink)
WPD-Team
 
Benutzerbild von codestyling
 
Registriert seit: 30.03.2008
Ort: Leipzig
Beiträge: 999
Zitat:
Zitat von Gersprenz Beitrag anzeigen
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.)
__________________
It's not a bug, it's always a feature. | Code Styling
codestyling ist offline   Mit Zitat antworten
Alt 18.08.2008, 23:32   #6 (permalink)
PostRank: 4
 
Registriert seit: 23.03.2008
Beiträge: 256
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 Chris1 Mac OS X 10.5.5 / WP 2.5.1 / i3theme / http://www.c-salsa.com
chris1 ist offline   Mit Zitat antworten
Alt 19.08.2008, 11:32   #7 (permalink)
PostRank: 2
 
Registriert seit: 08.09.2004
Beiträge: 77
Zitat:
Zitat von codestyling Beitrag anzeigen
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.
Gersprenz ist offline   Mit Zitat antworten
Alt 19.08.2008, 11:57   #8 (permalink)
PostRank: 4
 
Registriert seit: 23.03.2008
Beiträge: 256
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 Chris1 Mac OS X 10.5.5 / WP 2.5.1 / i3theme / http://www.c-salsa.com
chris1 ist offline   Mit Zitat antworten
Alt 19.08.2008, 13:21   #9 (permalink)
WPD-Team
 
Benutzerbild von codestyling
 
Registriert seit: 30.03.2008
Ort: Leipzig
Beiträge: 999
Zitat:
Zitat von Gersprenz Beitrag anzeigen
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.
__________________
It's not a bug, it's always a feature. | Code Styling
codestyling ist offline   Mit Zitat antworten
Alt 19.08.2008, 14:53   #10 (permalink)
PostRank: 4
 
Registriert seit: 23.03.2008
Beiträge: 256
Hallo Codestyling,

vielen Dank für Deinen Hinweis.
Was ist denn aus Deiner Sicht die beste Lösung?
__________________
bg Chris1 Mac OS X 10.5.5 / WP 2.5.1 / i3theme / http://www.c-salsa.com
chris1 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | Ein Inpsyde.com Projekt