| |||||||
| Registrieren | Lexikon | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
| | Themen-Optionen | Ansicht |
| | #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. |
| | |
| | #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;
}
?>
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>
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);
}
?>
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). |
| | |
| | #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));
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 ... |
| | |
| | #5 (permalink) | |
| WPD-Team ![]() Registriert seit: 30.03.2008 Ort: Leipzig
Beiträge: 999
| Zitat:
Wenn ich
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 | |
| | |
| | #7 (permalink) | |
| PostRank: 2 ![]() Registriert seit: 08.09.2004
Beiträge: 77
| Zitat:
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. | |
| | |
| | #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. |
| | |
| | #9 (permalink) | |
| WPD-Team ![]() Registriert seit: 30.03.2008 Ort: Leipzig
Beiträge: 999
| Zitat:
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 | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |