Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.21 veröffentlicht (11.06.19)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Datum in englisch?
#1
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? Smile

LG
Zitieren
#2
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]
Zitieren
#3
Also mir ist noch keine falsche Übersetzung ansonsten aufgefallen, sagen wir es so. Wink

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".
Zitieren
#4
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.
Zitieren
#5
//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  Big Grin 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
My  PHP-Version: 7.3.1 | MySQL-Version: 5.7.21
My  Plugins: See all
------
Es gibt nur 10 Arten von Menschen. Die, die binär verstehen - und die, die es nicht tun
Zitieren
#6
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. Smile
Zitieren
#7
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 Big Grin ) :

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
My  PHP-Version: 7.3.1 | MySQL-Version: 5.7.21
My  Plugins: See all
------
Es gibt nur 10 Arten von Menschen. Die, die binär verstehen - und die, die es nicht tun
Zitieren
#8
Ich mache es etwas knackiger und vor allem effizienter:

PHP-Code:
<?php
$dateF_de 
= array("""Januar""Februar""M&auml;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]
Zitieren
#9
(05.06.2019, 16:32)[ExiTuS] schrieb: Ich mache es etwas knackiger und vor allem effizienter:

PHP-Code:
<?php
$dateF_de 
= array("""Januar""Februar""M&auml;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 Big Grin 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.
My  PHP-Version: 7.3.1 | MySQL-Version: 5.7.21
My  Plugins: See all
------
Es gibt nur 10 Arten von Menschen. Die, die binär verstehen - und die, die es nicht tun
Zitieren
#10
Dabei bietet PHP bereits von Haus aus eine Lösung: setlocale und strftime
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren