[TYPO3-german] Mehrsprachigkeit - Link für Sprache wird nicht richtig gesetzt

Uwe Jakobs uwe.jakobs at imageco.de
Wed Jan 30 00:03:07 CET 2008


Hallo Lars,

hier der Tipp zum textbasierenden Sprachswitch (oder Sprachwechsler):

Du definierst zuerst einen Platzhalter wie z.B. ###SPRACHE###, bindest
diesen in Deine HTML-Vorlage ein und spricht ihn aus Typoscript nach diesem
Schema an:

page.5.marks {
		SPRACHE = TEXT
		SPRACHE {
			field = uid
			wrap = <a href="index.php?id=|&L=1">english</a>
		}
	}

Damit erzeugst Du schon mal einen Link auf die aufrufende Seite und fügst
ihm den GET-Parameter L=1 an, der jetzt mal englisch (Default-Sprache 0 =
Deutsch)sein soll.

Alle anderen Sprachen kannst Du nach diesem Vorbild der wrap-Zeile anhängen,
also in Deinem Falle so was wie:
wrap = <a href="index.php?id=|&L=1">english</a>&nbsp;<a
href="index.php?id=|&L=2">francais</a>&nbsp;<a
href="index.php?id=|&L=3">suomi</a>

Wenn Du das hast, sollte ein einfaches TMENU schon mal sprachabhängig
reagieren.

Vergiss bitte nicht, auch Deinen Inhalt entsprechend mehrsprachig zu
schalten. Das geht unter Ausnutzung der folgenden Systemfunktion:

AUSGABE = CONTENT
AUSGABE {
	table = tt_content
	select.languageField = sys_language_uid }

Zum weiteren Einstieg in das Thema empfehle ich eindringlich die Lektüre von
"Praxiswissen TYPO3" von Robert Meyer, Verlag O'Reilly ISBN 3-89721-394-X
oder entsprechenden Nachfolgern.

Einen graphischen Sprachwechsler kriegst Du, wenn Du das hier googelst:
http://www.google.de/search?hl=de&q=typo3+%2B+languageMenu.php&meta=

Viel Erfolg wünscht

Uwe Jakobs


-----Ursprüngliche Nachricht-----
Von: Lars Möller [mailto:moeller at basis5.de] 
Gesendet: Dienstag, 29. Januar 2008 12:46
An: uwe.jakobs at imageco.de; German Typo3 Userlist
Betreff: Re: [TYPO3-german] Mehrsprachigkeit - Link für Sprache wird nicht
richtig gesetzt


Hallo Uwe,

den von dir angesprochenen textbasierten Sprachswitch, wo kann ich 
Hinweise dazu finden. ich wollte das in der art lösen (habe auch einen 
thread dazu geöffnet, leider ohne Antworten):
lib.langset2= HMENU
lib.langset2.special = language
lib.langset2.special.value = 1
lib.langset2.1 = TMENU
lib.langset2.1.NO {
}

Damit wird aber nur der Seitentitel als Link zur englischen Version 
ausgegeben. Ich möchte den Seitentitel gegen "englisch Version" oder 
ähnliches ersetzen.

Hast du einen Tipp dazu??

Mit bestem Gruss
lars





Uwe Jakobs schrieb:
> Hallo Michael,
> 
> Deine Bedingungen sind richtig - ich würde hier aber noch den jeweiligen
> ISO-Code und die Language-Meta übergeben. Schema:
> 
> [globalVar = GP:L=2]
> 	config.sys_language_uid=2
> 	config.metaCharset = iso-8859-1
> 	config.renderCharset = iso-8859-1
> 	config.language=en
> 	config.locale_all = en_EN.UTF8
> 	page.meta.LANGUAGE = en
> 
> 
> Das Problem liegt vielmehr im Aufbau Deines Menüs: Hier brauchst Du nicht
> nach Sprachen zu unterscheiden, denn das machen bereits Deine Conditions. 
> 
> Lege einfach erstmal ein normales TMENU zum Experimentieren an und einen
> DAVON UNABHÄNGIGEN SPRACHSWITCH!
> 
> Den gibt es entweder textbasierend oder als grafische Flaggenschaltflächen
> (PHP-Script zum importieren)
> 
> Übernommen werden dann einfach die übersetzten Seitenbezeichnungen, die
bei
> richtiger Anlage des Systems bereits bekannt sind. Sollten diese noch
nicht
> gesetzt sein, wird Typo3 im FE (also auch dort im Menü) für die nicht
> übersetzte Seite die Default-Sprache anzeigen.
> 
> Anbei noch ein paar Links zum Thema Sprachen:
> http://www.c-dev.ch/kaepten/typo3/tutorial_1_sprachen.html
> http://jweiland.net/typo3cms/howto/typo3-languages.html
>
http://www.contentmanager.de/magazin/artikel_922_typo3_mehrsprachigkeit_utf.
> html
> 
> 
> Gruß
> 
> Uwe Jakobs
> 
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: Michael Ludwig [mailto:michaellud at googlemail.com] 
> Gesendet: Montag, 28. Januar 2008 10:16
> An: German Typo3 Userlist
> Betreff: [TYPO3-german] Mehrsprachigkeit - Link für Sprache wird nicht
> richtig gesetzt
> 
> Hallo,
> 
> ich habe folgendes Problem, welches ich nicht gelöst bekomme.
> In meiner Sprachnavigation für Deutsch/Englisch/Französisch/Finnisch
> werden alle Links ordentlich gesetzt, die L-Variable wird korrekt
> übergeben, damit das ganze etwas hübscher aussieht habe ich auch
> realurl mit ins Boot geholt.
> Das resultiert in Links, die wie folgt aussehen sollten (bis auf /fi/):
> 
> - http://www.domain.com/de/ (Deutsch, L = default)
> - http://www.domain.com/en/ (Englisch, L = id2)
> - http://www.domain.com/fr/ (Französisch, L = id1)
> - http://www.domain.com/fi/ (Finnisch, L = id8)
> 
> Problem: Der finnische Link wird *nicht* korrekt gesetzt, TYPO3
> verlinkt immer /de/ .
> Wie kann ich dieses Problem erzeugt haben?
> Die Backendsprachen sind angelegt, die Seiten wurden lokalisiert.
> Mein TS sieht so aus:
> 
> 
> === +ext language_config ==============
> [globalVar = GP:L = 1]
> config {
>  language = fr
>  locale_all = fr_FR
>  htmlTag_langKey = fr
>  sys_language_uid = 1
> }
> [globalVar = GP:L = 2]
> config {
>  language = en
>  locale_all = en_US
>  htmlTag_langKey = en
>  sys_language_uid = 2
> }
> [globalVar = GP:L = 8]
> config {
>  language = fi
>  locale_all = fi
>  htmlTag_langKey = fi
>  sys_language_uid = 8
> }
> [global]
> =======================================
> 
> === +ext menu_lang ====================
> page.10.marks {
>  LANG_MENU = COA
>  LANG_MENU {
>     10 = HMENU
>     10 {
>        special = language
>        special.value = 0,2,1,8
>        1 = TMENU
>        1 {
>           NO = 1
>           NO.wrapItemAndSub = |*| |&nbsp;&#124;&nbsp; |*| |
>           NO.stdWrap.cObject = TEXT
>           NO.stdWrap.cObject {
>             value   = Deutsch || Englisch || Französisch || Finnisch
>             lang.en = German || English || French || Finnish
>             lang.fr = Allemand || Anglais || Français || Finlandais
>             lang.fi = Saksalainen || Englantilainen || Ranskalainen
> || Suomalainen
>           }
>           ACT < .NO
>           ACT.doNotLinkIt = 1
>           ACT.stdWrap.cObject {
>             value   = Deutsch || Englisch || Französisch || Finnisch
>             lang.en = German || English || French || Finnish
>             lang.fr = Allemand || Anglais || Français || Finlandais
>             lang.fi = Saksalainen || Englantilainen || Ranskalainen
> || Suomalainen
>           }
>           USERDEF1 < .NO
>           USERDEF1.doNotLinkIt = 1
>           USERDEF1.stdWrap.cObject {
>             value   = Deutsch|| - || - || -
>             lang.en = - || English || - ||-
>             lang.fr = - || - || Français || -
>             lang.fi = - || - || - || Suomalainen
>           }
>           USERDEF2 < .NO
>           USERDEF2.doNotLinkIt = 1
>           USERDEF2.stdWrap.cObject {
>             value   = (Deutsch) || Englisch || Französisch || Finnisch
>             lang.en = German || (English) || French || Finnish
>             lang.fr = Allemand || Anglais || (Français) || Finlandais
>             lang.fi = Saksalainen || Englantilainen || Ranskalainen
> || (Suomalainen)
>           }
>        }
>     }
>  }
> }
> =======================================
> 
> 
> Eingebunden werden die +ext-Templates auch ordentlich, sonst würden ja
> die anderen Sprachen nicht abgebildet werden können?!!??
> Alles übrigens im One-Tree-Verfahren ohne TemplaVoila auf T3 4.1.5 (PHP4)
> Die bereits übersetzten Seiten werden korrekt dargestellt.
> Nur die Links, die auf /fi/ (L = id8) verweisen sollten, verweisen
> alle auf /de/ (L = id2).
> 
> Ich hoffe, irgend jemand von Euch weiss Rat, ich habe mich schon halb
> grau gegoogelt... ;-)
> 
> Grüsse,
> Michi
> 
> 
> PS: Wie sehen eigentlich die korrekten locale-Variablen für "fi" aus??
> fi_fi ????? Konnte dazu auch nichts ergiebiges finden...
> 
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
> 
> 




More information about the TYPO3-german mailing list