1
Hallo Jörg,
ich habe eine PHP-Klasse in welcher Monatsnamen drinstehen. Nun möchte ich - abhängig von $_SERVER['SCRIPT_NAME'] - dort verschiedene Sprachen reinladen. Prinzipiell könnte ich es wie folgt machen (Funktion auf den wesentlichen Teil gekürzt):
Viel lieber wäre es mir natürlich wenn ich die Funktion nicht kopieren müsste, sondern das in der Richtung realisieren könnte was allerdings nicht so geht da ich vermutlich die Variablen in der Class in irgend eienr Form definieren muss nehme ich an:
Ich finde zwar viele Tutorials im Netz, aber irgendwie klappt es einfach nicht.
Ein zweites Problem ist, dass beim Weiterblättern der Monate per AJAX offenbar die $_SERVER['SCRIPT_NAME'] ignoriert wird und die Monatsnamen immer auf Deutsch angezeigt werden. D.h. er tut so als wäre diese Variable nicht vorhanden, leer oder mit einem anderen Wert belegt was ja nicht sein kann da ich den Script-Pfad ja nicht ändere.
ich habe eine PHP-Klasse in welcher Monatsnamen drinstehen. Nun möchte ich - abhängig von $_SERVER['SCRIPT_NAME'] - dort verschiedene Sprachen reinladen. Prinzipiell könnte ich es wie folgt machen (Funktion auf den wesentlichen Teil gekürzt):
if(strstr($_SERVER['SCRIPT_NAME'],"admin"))
{
final class DateTimeUtil
{
const MAX_MONTH_DAY_NUM = 31;
private static $monthNames = array('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');
private static $monthShortcutNames = array('Jan','Feb','Mrz','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez');
private static $weekdayShortcutNames = array('do', 'lu', 'ma', 'me', 'gi', 've', 'sa');
private function __construct() { }
(...)
}
}
else
{
final class DateTimeUtil
{
const MAX_MONTH_DAY_NUM = 31;
private static $monthNames = array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
private static $monthShortcutNames = array('Jan','Feb','Mrz','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez');
private static $weekdayShortcutNames = array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa');
private function __construct() { }
(...)
}
}
Viel lieber wäre es mir natürlich wenn ich die Funktion nicht kopieren müsste, sondern das in der Richtung realisieren könnte was allerdings nicht so geht da ich vermutlich die Variablen in der Class in irgend eienr Form definieren muss nehme ich an:
if(strstr($_SERVER['SCRIPT_NAME'],"admin"))
{
$monate = ....;
$monatekurz = ....;
$monatekurzklein = ....;
}
else
{
$monate = ...;
$monatekurz = ...;
$monatekurzklein = ...;
}
final class DateTimeUtil
{
const MAX_MONTH_DAY_NUM = 31;
private static $monthNames = array($monate);
private static $monthShortcutNames = array($monatekurz);
private static $weekdayShortcutNames = array($monatekurzklein);
private function __construct() { }
(...)
}
Ich finde zwar viele Tutorials im Netz, aber irgendwie klappt es einfach nicht.
Ein zweites Problem ist, dass beim Weiterblättern der Monate per AJAX offenbar die $_SERVER['SCRIPT_NAME'] ignoriert wird und die Monatsnamen immer auf Deutsch angezeigt werden. D.h. er tut so als wäre diese Variable nicht vorhanden, leer oder mit einem anderen Wert belegt was ja nicht sein kann da ich den Script-Pfad ja nicht ändere.