Zum Inhalt springen

Wiedermal Lokalisierungs-Problem

Erstellt am 26. Mai 2009 · 2 Antworten · letzte Antwort am 14. Juli 2009

Tags: Frage

postanmartin ·

Hallo zusammen,

wiedermal habe ich ein Problem mit der Mehrsprachigkeit.
Ich habe eine Übersetung im Backend angelegt, aber beim Klicken auf die englische Version (via php_script eingebundene Buttons) verlinkt das script zwar auf die englische Version (..&L=1) die Übersetzung wird aber nicht angezeigt.
Typo3 zeigt die Übersetzung nicht an, auch wenn ich manuell die Adresse eintrage (z.B. typo3/index.php?id=89&L=1).

Ich schätze, dass es nicht am script oder dessen Einbindung liegt, sondern typo3 mit der linkVars = L einfach nichts anfangen kann und nicht blickt, dass es nun die englische Version anzeigen muss.

Anbei meine Scripts:

#########################
# Globale Konfiguration
#########################

config {
spamProtectEmailAddresses = 2
spamProtectEmailAddresses_atSubst = (at)
extTarget = _blank
linkVars = L
uniqueLinkVars = 1
sys_language_uid = 0
language = de
locale_all = de_DE
# pageTitleFirst=1
metaCharset = utf-8
htmlTag_langKey = de-DE
xhtml_cleaning=all
doctype = xhtml_trans
doctypeSwitch = {$doctypesw_cond}
htmlTag_langKey = de
cache_period = 3600
}


############################
# SPRACHWAHL
#############################


# English language, sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
page.config.language = en
page.config.locale_all = en_EN.UTF-8
config.htmlTag_langKey = en-EN
[global]


# German language, sys_language.uid = 0
[globalVar = GP:L = 0]
config.sys_language_uid = 0
page.config.language = de
page.config.locale_all = de_DE.UTF-8
config.htmlTag_langKey = de-DE
[global]

#Die jeweils andere Übersetzung ausblenden
config.sys_language_overlay = hideNonTranslated  

#Das per Script erstellte Language-Switch-Menu anzeigen
#siehe page: LANG-MENU

#sprachabhängige Suche
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0


LANG-MENU = PHP_SCRIPT
LANG-MENU {
file = fileadmin/templates/main/scripts/Sprachmenu.php
}

php-script:

   <?php

if (!is_object($this)) die ('Error: No parent object present.');

// Für die aktuelle Seite werden alle all pages_language_overlay records geholt. Jeder Record entspricht einer Sprache
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'pages_language_overlay', 'pid='.intval($GLOBALS['TSFE']->id).$GLOBALS['TSFE']->sys_page->enableFields('pages_language_overlay'), 'sys_language_uid');

$langArr = array();
while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$langArr[$row['sys_language_uid']] = $row['title'];
}
$flags = array();
if ($GLOBALS['TSFE']->sys_language_uid==0) {
    $flags[] = '<a href="index.php?id='.$GLOBALS['TSFE']->id.'&L=1" target=_top>English</a>';
} elseif ($GLOBALS['TSFE']->sys_language_uid==1) {
    $flags[] = '<a href="index.php?id='.$GLOBALS['TSFE']->id.'&L=0" target=_top>Deutsch</a>';
}

// Macht die Ausgabe. Das Menü transferitert die page-id und die "L" variable zur Sprachsteuerung
$content = implode('',$flags);
?>

Ich find einfach nicht raus woran das liegt... #paralyzed#

postanmartin ·

NACHTRAG:

Habe gerade bemerkt, dass die englisch-Übersetzung grundsätzlich nicht angezeigt wird.
Ich hab sie im Backend angelegt und wollte sie dann anschauen mit dem "speichern und anzeigen" -Button aber da komm ich nur wieder auf die deutsche Übersetzung

Muss ich noch was einschalten oder so?

stefan.​glanz ·

Hi Martin!

Hänge am selben Problem - eh erste in paar Stunden :-)

Konntest du eine Lösung finden - war es vielleicht nur eine Kleinigkeit?
LG
S