Zum Inhalt springen

Mehrsprachigkeit in Modulen

Erstellt am 26. April 2007 · 5 Antworten · letzte Antwort am 27. April 2007

Tags: Frage

Lothrien ·

Habe das Problem, dass ich nur englisch im Modul angezeigt bekomme. Default ist deutsch und das sowie L=1 (auch deutsch) bleiben leer.

# Remove L-Bug
config.uniqueLinkVars = 1
# Localization
config.sys_language_mode = content_fallback
# SprachVariable L initialisieren 
config.linkVars = L 
config.sys_language_uid = 0 
config.language = de 
config.locale_all = de_DE 
config.htmlTag_langKey = de_DE 
 
# Standardsprache UID 1 -> Deutsch 
[globalVar = GP:L = 1] 
config.sys_language_uid = 1
config.language = de 
config.locale_all = de_DE 
config.htmlTag_langKey = de_DE 

 
# Englisch, sys_language.uid = 2 
[globalVar = GP:L = 2] 
config.sys_language_uid = 2
config.language = en 
config.locale_all = en_GB 
config.htmlTag_langKey = en_GB 
[global]

teste ich diese Konfiguration im Template, dann erhalte ich bei page.10.lang.de auch die richtige anzeige.

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<t3locallang>

        <meta type="array" />
                <type>module</type>
                <description>Language labels for plugin "tx_txobmsys_pi1"</description>
        </meta>

        <data type="array">
                <languagekey index="default" type="array">
                        <label index="login">Login</label>
                        <label index="user-description">Benutzer</label>
                        <label index="password">Passwort</label>
                </languagekey>
        </data>

         <data type="array">
                <languagekey index="de" type="array">
                        <label index="tx_txobmsys_pi1.login">Login</label>
                        <label index="tx_txobmsys_pi1.user-description">Benutzer</label>
                        <label index="password">Passwort</label>
                </languagekey>
        </data>

         <data type="array">
                <languagekey index="en" type="array">
                        <label index="login">Login</label>
                        <label index="user-description">Username</label>
                        <label index="password">Password</label>
                </languagekey>
        </data>

</t3locallang>

Aus dieser locallang.xml versuche ich mit

$this->pi_loadLL();
$markerArray['###LOGIN###'] = $this->pi_getLL('login');

im Modul die richtige Sprache einzusetzen, aber wie gesagt nur in englisch wird etwas eingesetzt und sonst erscheint nix.

Was mach ich da falsch?

Website Sprachen deutsch und englisch sind auch gesetzt.

einpraegsam.​net ·

Warum heißt es bei Default und im Englischen:

<label index="login">Login</label>

und im Deutschen:

<label index="tx_txobmsys_pi1.login">Login</label>

Macht so wenig Sinn...

Desweiteren eventl. mal den Cache leeren beim Extension programmieren!

Lothrien ·

Ja, das mit dem Modulnamen davor war auch so ein Tipp aus einem Forum und da hab ich es erstmal ausprobiert.
Ich habe das mal zurückgesetzt und den Cache geleert, aber das hilft auch nix.

just2b ·

Also erstmals ist das xml falsch, denn es gibt nur ein

<data type="array">
...
</data>

und da stehen alle languagekey drinnen!

Funktioniert sonst überall der Sprachwechsel?

und du meinst eigentlich ein Plugin, also irgendwas im Frontend, und nicht ein Modul im Backend, richtig?

georg

Lothrien ·

Ja, ja, das wars - Danke!

Typo3 hat dadurch natürlich nur den letzten <data> Satz genommen und dort steht ja auch nur englisch drin.

just2b ·

Hallo,

das nächste mal einfach bei einer anderen Extension abschauen, ist durchaus erlaubt - ich wusste die Struktur ja auch nicht im Kopf 😉

georg