﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking
1612	In Klassenerweiterungen ist das Sprach-Handling problematisch	noRiddle	somebody	"Wenn man eine Klassenerweiterung schreibt kann man die sprachabhängigen Texte
* mittels einer Funktion ''translate()'' definieren,
  wie es z.B. in ''/includes/modules/order/productTagsOnCheckout.php'' gemacht wird,
  oder
* mittels Sprachdateien in ''/lang/SPRACHE/module/MODULE_TYPE/''

Das funktioniert allerdings nicht bei allen Klassenerweiterungen gleich und Erstgenanntes will mir auch frickelig erscheinen.

Bei einer shopping_cart-Klassenerweiterung beispielsweise, ist ein ''translate()'' mittels
{{{
switch($_SESSION['language_code'])
}}}
nicht möglich, weil, was das Frontend betrifft, die Session noch nicht initiiert ist (siehe ''/includes/application_top.php''), für's Backend ginge es so.

Mittels genanntem Sprach-File geht es ebenfalls im Frontend nicht weil das zugehörige Sprachfile nur im Backend geladen wird wenn 
{{{
$_GET['set']
}}}
gesetzt ist (siehe ''/admin/modules.php''),
die Erweiterung der shopping_cart-Klasse jedoch im Frontend bereits bei Instantiierung der shopping_cart-Klasse selbst ebenfalls instantiiert wird.

Man kann sich zwar mit einem
{{{
if(isset($_SESSION['language_code'])) { //this is to prevent notice on not yet set session in front end
    $this->translate();
} 
}}}
behelfen, insofern die nötigen Texte nur für's Backend nötig sind, was meist der Fall sein dürfte, das ist jedoch imho keine zufriedenstellende Lösung.
Vor allem auch deshalb nicht weil es so keine systematisch gleiche Vorgehensweise für Klassenerweiterungen gibt.

Gruß,
noRiddle
"	Bug/Fehler	closed	normal	modified-shop-2.0.5.0	Admin	2.0.4.2	fixed				
