Ausgabe der Datumsanzeige in deutsch (mehrsprachig)

Hier wird Hilfe zur Installation oder bei Fehlermeldungen angeboten
Antworten
Benutzeravatar
Henshingly
Administrator
Administrator
Beiträge: 600
Registriert: Sa 1. Sep 2018, 14:21
Wohnort: Dortmund

Ausgabe der Datumsanzeige in deutsch (mehrsprachig)

Beitrag von Henshingly »

DwB hat geschrieben: Mi 19. Jul 2023, 16:31 .......
.....
Sieht halt kacke aus.
Ich muss sagen, ich fand die Ausgabe mit dieser PHP Klasse mehr als Kacke. Um nicht zu sagen die Klasse IntlDateFormatter ist meiner Meinung nach großer Mist. Jedenfalls für die Ausgabe des Datums hier im LMO! :thumbdown:
Also habe ich mir ein paar Gedanken dazu gemacht.
Mein vorläufiger Vorschlag wäre ein Array zu füllen und das Ergebnis der date() Ausgabe, durch Suchen und Ersetzen mit strtr() zu verändern.
Zuerst habe ich das Ganze, durch fest vorgegebene Ersetzungen, versucht zu 'manipulieren'.

Code: Alles auswählen

$trans_lang = array(
    'Monday'    => 'Montag',
    'Tuesday'   => 'Dienstag',
    'Wednesday' => 'Mittwoch',
    'Thursday'  => 'Donnerstag',
    'Friday'    => 'Freitag',
    'Saturday'  => 'Samstag',
    'Sunday'    => 'Sonntag',
    'Mon'       => 'Mo',
    'Tue'       => 'Di',
    'Wed'       => 'Mi',
    'Thu'       => 'Do',
    'Fri'       => 'Fr',
    'Sat'       => 'Sa',
    'Sun'       => 'So',
    'January'   => 'Januar',
    'February'  => 'Februar',
    usw...
);
Nachdem dies funktionierte, fiel mir aber auf, das anderssprachige Besucher es LMO's nun aber keine Ausgabe der Datumsausgaben in Ihrer Sprache haben.
Also weiter gedacht; der LMO übersetzt doch automatisch, wenn die entsprechende lang-DEINE_SPRACHE.txt vorhanden ist.
Also habe ich mal auf die schnelle einen Ordner 'date' im 'lang' Ordner des LMO's angelegt und alle lang-12_SPRACHEN.txt Dateien erstellt. Die lang-Deutsch.txt ist mit den deutschen Ausgaben gefüllt, alle anderen 11 Sprachdateien sind noch in Englisch. UPDATE - Siehe 2ten Post
Hier nun mein bisheriges Ergebnis. Das Array() sieht nun so aus.

Code: Alles auswählen

$trans_lang = array(
'Monday'    => $text['date'][0],
'Tuesday'   => $text['date'][1],
'Wednesday' => $text['date'][2],
'Thursday'  => $text['date'][3],
'Friday'    => $text['date'][4],
'Saturday'  => $text['date'][5],
'Sunday'    => $text['date'][6],
'Mon'       => $text['date'][7],
'Tue'       => $text['date'][8],
'Wed'       => $text['date'][9],
'Thu'       => $text['date'][10],
'Fri'       => $text['date'][11],
'Sat'       => $text['date'][12],
'Sun'       => $text['date'][13],
'January'   => $text['date'][14],
'February'  => $text['date'][15],
usw…
);
___________________________________________________________________________________

Nun zur Umsetzung des ganzen.
  • In die lmo-function.php (ab Zeile 20, nach der Einleitung) folgende NEUE Zeile eintragen.

    Code: Alles auswählen

    $trans_lang = array( 'Monday' => $text['date'][0], 'Tuesday' => $text['date'][1], 'Wednesday' => $text['date'][2], 'Thursday' => $text['date'][3], 'Friday' => $text['date'][4], 'Saturday' => $text['date'][5], 'Sunday' => $text['date'][6], 'Mon' => $text['date'][7], 'Tue' => $text['date'][8], 'Wed' => $text['date'][9], 'Thu' => $text['date'][10], 'Fri' => $text['date'][11], 'Sat' => $text['date'][12], 'Sun' => $text['date'][13], 'January' => $text['date'][14], 'February' => $text['date'][15], 'March' => $text['date'][16], 'April' => $text['date'][17], 'May' => $text['date'][18], 'June' => $text['date'][19], 'July' => $text['date'][20], 'August' => $text['date'][21], 'September' => $text['date'][22], 'October' => $text['date'][23], 'November' => $text['date'][24], 'December' => $text['date'][25], 'Jan' => $text['date'][26], 'Feb' => $text['date'][27], 'Mar' => $text['date'][28], 'Apr' => $text['date'][29], 'May' => $text['date'][30], 'Jun' => $text['date'][31], 'Jul' => $text['date'][32], 'Aug' => $text['date'][33], 'Sep' => $text['date'][34], 'Oct' => $text['date'][35], 'Nov' => $text['date'][36], 'Dec' => $text['date'][37] );
___________________________________________________________________________________

  • In der lmo-showkoprogram.php folgende Zeile suchen (circa Zeile 130)

    Code: Alles auswählen

                    $dumn1 = "<acronym title=\"".date($datf, $mterm[$j][$i][$n])."\">"; 
    ändern durch Auskommentieren darunter eine neue Zeile einfügen damit es nachher so aussieht.

    Code: Alles auswählen

                    //$dumn1 = "<acronym title=\"".date($datf, $mterm[$j][$i][$n])."\">"; 
                    $dumn1 = "<acronym title=\"" . strtr(date($datf, $mterm[$j][$i][$n]), $trans_lang) . "\">"; 
___________________________________________________________________________________
  • In der lmo-showkoresults.php folgende Zeile suchen (circa Zeile 79)

    Code: Alles auswählen

                $dum1 = date($datf, $mterm[$st-1][$i][$n]);
    ändern durch Auskommentieren darunter eine neue Zeile einfügen damit es nachher so aussieht.

    Code: Alles auswählen

                //$dum1 = date($datf, $mterm[$st-1][$i][$n]);
                $dum1 = strtr(date($datf, $mterm[$st-1][$i][$n]), $trans_lang);
___________________________________________________________________________________
  • In der lmo-showprogram.php folgende Zeile suchen (circa Zeile 55)

    Code: Alles auswählen

                  $dum1 = date($datf, $mterm[$j][$i]);
    ändern durch Auskommentieren darunter eine neue Zeile einfügen damit es nachher so aussieht.

    Code: Alles auswählen

                  //$dum1 = date($datf, $mterm[$j][$i]);
                  $dum1 = strtr(date($datf, $mterm[$j][$i]), $trans_lang);
___________________________________________________________________________________
  • Und als letzte Datei die lmo-showresults.php öffnen und folgende Zeile suchen (circa Zeile 48)

    Code: Alles auswählen

            $dum1 = date($datf, $mterm[$st-1][$i]);
    ändern durch Auskommentieren darunter eine neue Zeile einfügen damit es nachher so aussieht.

    Code: Alles auswählen

            //$dum1 = date($datf, $mterm[$st-1][$i]);
            $dum1 = strtr(date($datf, $mterm[$st-1][$i]), $trans_lang);
___________________________________________________________________________________
  • Zum Schluss noch die neuen Sprachdateien aus dem Anhang in den Ordner 'lang' hochladen.
    Also der Ordner 'date', mit den Sprachdateien, muss danach im Ordner 'lang' sein.
___________________________________________________________________________________

Viel Spaß beim testen.

MfG
Henshingly

Downloaddatei im nächsten Post....
Kein Support über PN oder eMail.
Support gibt es nur im Forum.

Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)

Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Benutzeravatar
Henshingly
Administrator
Administrator
Beiträge: 600
Registriert: Sa 1. Sep 2018, 14:21
Wohnort: Dortmund

Re: Ausgabe der Datumsanzeige in deutsch (mehrsprachig)

Beitrag von Henshingly »

UPDATE
Alle 12 Sprachdateien übersetzt
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.

Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)

Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Antworten