Seite 1 von 1

[erledigt] Language Variablen in php-Datei

Verfasst: 04.11.2007 12:23
von Swat
Moin ich habe ein kleines Problem, habe eine eigene Seite (Link-Liste), wollte die jetzt auch zweisprachig gestalten wollte.
In der Template-Datei hat das auch alles super funktioniert, nur habe ich auch einige Text-Brocken in der php Datei drin und wollte die jetzt ebenfalls in die Language-Datei unterbringen das sie dann auch die Sprache wechseln.

Beispiel:

Code: Alles auswählen

$user->setup(links);

[...]

... {L_BSP} ...

[...]

$template->assign_vars(array(
	'L_BSP'			=> $user->lang['BSP'],
));
habe es auch schon mit dem versucht:

Code: Alles auswählen

$template->assign_vars(array(
	'L_BSP'			=> $user->lang['L_BSP'],
));
aber beides hat keinen Erfolg wird immer nur {L_BSP} später angezeigt.

Ich hoffe einer hat einen Tipp für mich wo mein Fehler liegt :roll:

Verfasst: 04.11.2007 13:38
von djchrisnet
Einbindung der Sprachdatei:

Code: Alles auswählen

$user->setup('links');
wenn du den modordner nutzen würdest, was eigendlich von der übersicht her besser währe müsste es

Code: Alles auswählen

$user->setup('mods/links');
sein.

bei einem Mod von nickvergessen habe ich gesehen, das er

Code: Alles auswählen

$user->add_lang('links');
nutzt, was besser ist, weiss ich ned, funktioniert aber beides.

Code: Alles auswählen

$template->assign_vars(array(
         'L_BSP' => $user->lang['L_BSP'],
         'BSP'    => $user->lang['BSP']
));
so müsste es gehen, wenn die Sprachdatei korrekt ist.

Verfasst: 04.11.2007 13:57
von Swat
erstmal danke für deinen Hilfe

hab mal bissel rum probiert, leider immer noch ohne erfolg :(

Fehler in der Language möchte ich ausschließen da dort ja auch die Sachen von der Template drin sind und das super funktioniert.

das jetzt auch mit add_lang('links') drin ... aber er zeigt es nicht an :(

:cry: :cry:

EDIT: (ich versuch mal bissel genau zu erklären)
root/links.php

Code: Alles auswählen

[...]
$user->setup();     
$user->add_lang('links');
[...]
// Inhalt
[...]
$stat= "{L_LINK_ENTR}: <b>".$searching."</b> | {L_LINK_SUCHE_IN} <b>".$time."</b> {L_LINK_SUCHE_SEC}<br>";
[...]
$template->assign_vars(array(
	'STAT'				=> $stat,
	'LINK_ENTR'		=> $user->lang['L_LINK_ENTR'],
	'LINK_SUCHE_IN'	=> $user->lang['L_LINK_SUCHE_IN'],
	'LINK_SUCHE_SEC'	=> $user->lang['L_LINK_SUCHE_SEC'],
));
[...]
root/language/DE/links.php

Code: Alles auswählen

[...]
$lang = array_merge($lang, array(
	'L_LINK_ENTR'			=> 'Eintr&auml;ge',
	'LINK_SUCHE_IN'		=> 'Suche wurde in',
	'L_LINK_SUCHE_SEC'	=> 'Sekunden ausgef&uuml;hrt.',
));
[...]
was mit dabei auffällt, kann es daran liegen das $stat in {STAT} drin ist und somit ja schon so übergeben wird? Wobei ja das keine Language Variable ist ... *grübel*

Verfasst: 04.11.2007 15:24
von djchrisnet
wenn {L_LINK_ENTR} erst viel später im script einen wert erhält, wird er dir nichts anzeigen. setze stattdessen einfach den $user->lang['L_LINK_ENTR'] ein, und formatiere den string entsprechend.

Verfasst: 04.11.2007 16:32
von Swat
super vielen Dank

hätte ich auch selbst drauf kommen müssen, mit logischem denken, man sieht den Wald vor lauter Bäumen nicht :oops: :oops: