Beiträge: 321
Themen: 39
Registriert seit: 17.06.2012
MyBB-Version: 1.8.27
Aloha,
Ich habe ein neues MYBB 1.8.20 installiert, verwende Sprachpaket Deutsch-Du und im Postbit steht "Registriert seit: May 2019". Was muss ich wo anpassen, damit das korrekt in deutsch angezeigt wird?
LG
Beiträge: 837
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Die Einstellungen befinden sich Im ACP unter Konfiguration > Einstellungen > Datums- und Zeitformat.
Z.B.:
Datumsformat: d.m.Y
Zeitformat: H:i
Format des Registrierungsdatums: M Y
Aber dies sind nur die Parameter für die date-Funktion. Bei dir scheint das Problem ganz woanders zu liegen.
Hast du noch weitere falsche Übersetzungen, oder ausschließlich bei "Registriert seit:"?
Schaue mal in deine Templates, ob dort tatsächlich eine Variable steht und kein fixer Text (, der vielleicht versehentlich hineinkopiert wurde).
Was passiert mit einem neu angelegtem Benutzer (jetzt haben wir Juni). Bleibt es bei "May" oder wird englisches "June" angezeigt?
[ExiTuS]
Beiträge: 321
Themen: 39
Registriert seit: 17.06.2012
MyBB-Version: 1.8.27
Also mir ist noch keine falsche Übersetzung ansonsten aufgefallen, sagen wir es so.
In meinem Template steht an dieser Stelle ganz brav Code: {$lang->postbit_joined} {$post['userregdate']}
Ich habe einen neuen Benutzer angelegt, wenn der postet, steht bei ihm folgerichtig "Registriert seit: Jun 2019".
Beiträge: 2.041
Themen: 10
Registriert seit: 28.06.2007
MyBB-Version: 1.8.x
MyBB verwendet die PHP date() Funktion, welche die Namen der Wochentage und Monate immer auf englisch ausgibt.
Siehe auch diesen Thread:
https://www.mybb.de/forum/thread-12803.html
Ich habe bei uns in der erwähnten my_date Funktion (beim my_date Hook) etwas Code hinzugefügt, der die Namen übersetzt, wenn ein deutsches Sprachpaket ausgewählt ist.
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
04.06.2019, 15:26
(Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2019, 15:39 von itsmeJAY.)
//deleted
//Edit: achso, okay.
PHP-Code: <?php $timestamp = time(); $datum = date("D.F.Y - H:i", $timestamp); echo $datum; ?>
würde wieder
Tue.June.2019 - 16:26
ausgeben.
Aber du hast ja bereits eine Lösung programmiert Ansonsten wäre ich simpel über ein Array gegangen. Hätte mir nen asoziatives Array gebaut, die Wochentage auf Englisch abgefangen und dann über das Array halt den richtigen Wert ausgegeben.
oder halt:
PHP-Code: <?php // Beispielausgabe vor Umstellen auf Deutsch echo strftime("%A, der %e. %B %G", strtotime("now")); echo "<p>Es erfolgt nun die Umstellung auf dt. Datum:"; setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge'); echo strftime("%A, der %e. %B %G", strtotime("now")); ?>
https://www.php-kurs.com/php-datumsausgabe-deutsch.htm
Beiträge: 321
Themen: 39
Registriert seit: 17.06.2012
MyBB-Version: 1.8.27
Oh, vielen Dank, ich verstehe - nein, ich wollte jetzt gar kein großes Ding draus machen. Wenn es nur auf Englisch geht, dann stelle ich das Registrierdatumsformat einfach auf "d.m.Y" und dann wird eben ein normales Datum genommen.
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
05.06.2019, 13:13
(Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2019, 13:24 von itsmeJAY.)
Okay, 1. Lösung hat doylecc bereits gepostet, eine weitere ich und ich hatte gestern die andere Lösung (3) noch vergessen. Falls es irgendwem, irgendwann mal weiterhilft, weshalb auch immer (gestern schnell zusammengeschrieben, aber vergessen zu posten ) :
PHP-Code: $monate = [ "January" => "Januar", "February" => "Februar", "March" => "März", "April" => "April", "May" => "Mai", "June" => "Juni", "July" => "Juli", "August" => "August", "September" => "September", "October" => "Oktober", "November" => "November", "December" => "Dezember", ];
$datum = date("F Y", time());
foreach ($monate AS $key => $monat) { if (strpos($datum, $key) !== false) { $datum = str_replace($key, $monat, $datum); } }
var_dump($datum);
klappt auch
Beiträge: 837
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Ich mache es etwas knackiger und vor allem effizienter:
PHP-Code: <?php $dateF_de = array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); $dateFY = $dateF_de[date("n")] . " " . date("Y");
echo $dateFY; # Juni 2019 ?>
Wichtig hier: Das erste Element im Array (Index: 0) bleibt leer; die Inhalte fangen bei 1 an.
[ExiTuS]
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
05.06.2019, 19:45
(Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2019, 19:47 von itsmeJAY.)
(05.06.2019, 15:32)[ExiTuS] schrieb: Ich mache es etwas knackiger und vor allem effizienter:
PHP-Code: <?php $dateF_de = array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); $dateFY = $dateF_de[date("n")] . " " . date("Y");
echo $dateFY; # Juni 2019 ?>
Wichtig hier: Das erste Element im Array (Index: 0) bleibt leer; die Inhalte fangen bei 1 an.
[ExiTuS]
Auch geil gut gelöst.. oder du nimmst ein assoziatives Array.. sollte auch klappen dann muss Index 0 nicht umgangen werden bzw leergelassen werden. Find ich sauberer, ansonsten top.
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
06.06.2019, 08:25
(Dieser Beitrag wurde zuletzt bearbeitet: 06.06.2019, 08:25 von StefanT.)
Dabei bietet PHP bereits von Haus aus eine Lösung: setlocale und strftime
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
|