MyBB.support, le portail francophone de MyBB
[Plugin] Traduire les dates en français - Version imprimable

+- MyBB.support, le portail francophone de MyBB (http://mybb.fr)
+-- Forum : MyBB.fr (http://mybb.fr/forum-1.html)
+--- Forum : Tutoriels (http://mybb.fr/forum-19.html)
+--- Sujet : [Plugin] Traduire les dates en français (/thread-5217.html)



[Plugin] Traduire les dates en français - cfillion - 30-01-2012

Bonjour,

Je viens partager un petit plugin que j'ai écrit pour traduire les toutes dates de MyBB en français.
Il suffit de l'uploader dans le dossier /inc/plugins/ et de l'activer dans l'administration.

Une seule modification des fichiers interne de MyBB est requise pour traduire les dates de naissance dans les profils :
  • Ouvrez le fichier member.php
  • Trouvez ce code aux alentours de la ligne 1700 :
    Code PHP :
    else
    {
        
    $membday mktime(000$membday[1], $membday[0], 0);
        
    $membday date("F j"$membday);
        
    $membdayage '';

  • Remplacez par :
    Code PHP :
    else
    {
        
    $membday mktime(000$membday[1], $membday[0], 0);
        
    $membday date("F j"$membday);
        
    $membday frenchdate_convert($membday);
        
    $membdayage '';


Toutes les dates devraient maintenant être en français.


RE: [Plugin] Traduire les dates en français - FriendlyCraft - 15-02-2012

Marche pas pour moi Big Grin


RE: [Plugin] Traduire les dates en français - cfillion - 16-02-2012

(15-02-2012, 23:08)FriendlyCraft a écrit :  Marche pas pour moi Big Grin

Vraiment ? Peut-tu m'envoyer un screen par MP ?


RE: [Plugin] Traduire les dates en français - DR.K3T0X - 16-02-2012

Merci du partage je vais essayer.


RE: [Plugin] Traduire les dates en français - sinse73 - 15-03-2012

J'lai mi sur mon forum et il ne marche que à moitié ^^
J'ai bien les mois en Français, mais pas les jours : "Saturday, 4Th Février, 2012 08:43" ^^


RE: [Plugin] Traduire les dates en français - cfillion - 15-03-2012

En effet, il ne traduit que les mois. Je vais ajouter le support des jours. Merci pour la suggestion.


RE: [Plugin] Traduire les dates en français - sinse73 - 15-03-2012

Bon ba nickel, j'attends ça Smile
Merci à toi o/


RE: [Plugin] Traduire les dates en français - cfillion - 15-03-2012

C'est fait. Ça devrait fonctionner pour les jours aussi. Smile
Re-télécharge le fichier.


RE: [Plugin] Traduire les dates en français - sinse73 - 15-03-2012

°°
Nan mais je pensais pas y avoir ce soir ^^"
Je teste ça de suite alors o//
Yohohohoho, ça fonctionne sans problème, merci à toi o//


RE: [Plugin] Traduire les dates en français - sinse73 - 19-03-2012

Hmmm, je reviens t'embêter un peu ^^
Je cherche à ce que l'on puisse choisir (ou même carrément le mettre par défaut) le format de date suivant :
Jour 15 Mois, HH:mm
Or ce n'est pas possible actuellement et je n'ai pas trouvé le fichier dans lequel ça allait chercher tout ça :/
J'ai bien essayé le functions.php car Spyto en parlait dans un tuto pour afficher les dates en français mais rien trouvé et pareil dans le fichier functions_time.php (qui calcule les dates et heures si j'ai bien compris ^^).

Merci d'avance à ceux qui me donneront ne serait-ce qu'une piste ;-)


RE: [Plugin] Traduire les dates en français - Jujufield - 19-03-2012

Tout ça me dit quelque chose, vérifie dans ton panel admin je crois bien qu'il y a un paramètre du genre "format de date et heure" Wink


RE: [Plugin] Traduire les dates en français - sinse73 - 19-03-2012

Héhé, j'étais passé par là bas mais j'avais pas pensé à faire ça ^^"
J'voulais me compliquer la vie et changer dans les choix possibles ^^
Et donc un petit lien pour ceux qui chercheront les paramètres que l'on peut écrire : http://php.net/manual/en/function.date.php


RE: [Plugin] Traduire les dates en français - sinse73 - 25-04-2015

Hop, j'up ce petit plugin bien sympatique Smile
Il a donc l'air de bien fonctionner sous MyBB1.8 si on modifie la compatibilité 16 pour 18 dans le fichier frenchdate.php.
Par contre dans le profil des membres je n'arrive pas à obtenir des dates françaises pour les champs "Date de naissance" et "Heure locale".

Est ce que quelqu'un a trouvé la parade ?


RE: [Plugin] Traduire les dates en français - sinse73 - 25-04-2015

Hop, alors j'ai ajouté le petit bout de ligne pour la conversion à chaque fois que la variable $membday était appelé et donc dans le fichier member.php j'ai modifié les lignes suivantes :

Code PHP :
                if($membday[2] >= 1970)
                {
                    
$w_day date("l"mktime(000$membday[1], $membday[0], $membday[2]));
                    
$membday format_bdays($mybb->settings['dateformat'], $membday[1], $membday[0], $membday[2], $w_day);
                }
                else
                {
                    
$bdayformat fix_mktime($mybb->settings['dateformat'], $membday[2]);
                    
$membday mktime(000$membday[1], $membday[0], $membday[2]);
                    
$membday date($bdayformat$membday);
                }
                
$membdayage $lang->membdayage;
            }
            elseif(
$membday[2])
            {
                
$membday mktime(00011$membday[2]);
                
$membday date("Y"$membday);
                
$membdayage '';
            }
            else
            {
                
$membday mktime(000$membday[1], $membday[0], 0);
                
$membday date("F j"$membday);
                
$membdayage '';
            }
        } 
 en

Code PHP :
if($membday[2] >= 1970)
                {
                    
$w_day date("l"mktime(000$membday[1], $membday[0], $membday[2]));
                    
$membday format_bdays($mybb->settings['dateformat'], $membday[1], $membday[0], $membday[2], $w_day);
                    
$membday frenchdate_convert($membday);
                }
                else
                {
                    
$bdayformat fix_mktime($mybb->settings['dateformat'], $membday[2]);
                    
$membday mktime(000$membday[1], $membday[0], $membday[2]);
                    
$membday date($bdayformat$membday);
                    
$membday frenchdate_convert($membday);
                }
                
$membdayage $lang->membdayage;
            }
            elseif(
$membday[2])
            {
                
$membday mktime(00011$membday[2]);
                
$membday date("Y"$membday);
                
$membday frenchdate_convert($membday);
                
$membdayage '';
            }
            else
            {
                
$membday mktime(000$membday[1], $membday[0], 0);
                
$membday date("F j"$membday);
                
$membday frenchdate_convert($membday);
                
$membdayage '';
            }
        } 

Et concernant l'heure local, j'ai modifié le morceau :

Code PHP :
$memregdate my_date($mybb->settings['dateformat'], $memprofile['regdate']);
    
$memlocaldate gmdate($mybb->settings['dateformat'], TIME_NOW + ($memprofile['timezone'] * 3600));
    
$memlocaldate frenchdate_convert($memlocaldate);
    
$memlocaltime gmdate($mybb->settings['timeformat'], TIME_NOW + ($memprofile['timezone'] * 3600)); 

en

Code PHP :
$memregdate my_date($mybb->settings['dateformat'], $memprofile['regdate']);
    
$memlocaldate gmdate($mybb->settings['dateformat'], TIME_NOW + ($memprofile['timezone'] * 3600));
    
$memlocaldate frenchdate_convert($memlocaldate);
    
$memlocaltime gmdate($mybb->settings['timeformat'], TIME_NOW + ($memprofile['timezone'] * 3600)); 

Ce qui a l'air de faire le boulot.


*******************************

Edit :
Par contre un truc que je n'arrive pas à régler c'est un affichage correct en "Jour numéro Mois", pour cela je mets "l j F" comme paramètre de configuration pour l'affichage de la date dans l'admin mais ça ne veut pas, je me retrouve avec du "j l F", sans le plugin cela fonctionne bien, donc c'est lié à la françisation de la date.
J'ai noté qu'en utilisant "l - j F" le jour restait bien en première position dans ce cas.

Quelqu'un a une idée ?

*******************************


Edit :
Si on supprime les lignes de fin du plugin :

Code PHP :
    $date preg_replace('#^([^0-9\s]+)(\s+)([0-9]{1,2})(\s+.*)?$#''$3$2$1$4'$date);
    
$date preg_replace('#([0-9])(\s*)H(\s*)([0-9])#''$1$2h$3$4'$date); 

Tout à l'air de bien aller. Je ne comprends d'ailleurs à quoi elle servait, la seconde ligne a l'air de concerner l'affichage de l'heure mais pour la première ligne je ne vois pas.


RE: [Plugin] Traduire les dates en français - CrazyCat - 29-04-2015

La première ligne sert à inverser le jour et le mois a priori.


RE: [Plugin] Traduire les dates en français - sinse73 - 30-04-2015

Ok CrazyCat, du coup cela ne me dérange pas de les avoir enlevé ^^


RE: [Plugin] Traduire les dates en français - bruno36100 - 01-09-2015

Bonjour!

Pourquoi le mois et la date sont inverser ?
Mardi, Juin 30, 2015, 17:04
au lieu de
Mardi, 30 Juin, 2015


RE: [Plugin] Traduire les dates en français - sinse73 - 16-03-2018

Bonjour,

Je déterre un peu mais je n'arrive plus à faire fonctionner ce plugin, mybb 1.8.15.
Quelqu'un aurait une idée du pourquoi et comment le refaire fonctionner ?
Je n'ai trouvé que ce ci que je pourrais essayer d'adapter pour avoir les dates en français : https://community.mybb.com/mods.php?action=view&pid=34
Il est quand même plus agréable d'avoir les dates en français pour un forum en français.

Edit  :
Pour ceux qui cherchent : https://community.mybb.com/thread-130608.html
Il faut changer le fichier functions.php surtout, on peut déjà trouver les modifs qui vont bien dans le fichier dans languages fourni par spyto ensuite Smile
Modifier quand même les mois et jours en abrégé qui sont en anglais ou juste un lettre dans la traduction (à votre convenance) :
Code :
$l['short_month_1'] = "Jan";
$l['short_month_2'] = "Fév";
$l['short_month_3'] = "Mars";
$l['short_month_4'] = "Avr";
$l['short_month_5'] = "Mai";
$l['short_month_6'] = "Juin";
$l['short_month_7'] = "Juil";
$l['short_month_8'] = "Août";
$l['short_month_9'] = "Sept";
$l['short_month_10'] = "Oct";
$l['short_month_11'] = "Nov";
$l['short_month_12'] = "Déc";

$l['short_monday'] = "Lun";

$l['short_tuesday'] = "Mar";
$l['short_wednesday'] = "Mer";
$l['short_thursday'] = "Jeu";
$l['short_friday'] = "Ven";
$l['short_saturday'] = "Sam";
$l['short_sunday'] = "Dim";


Problème résolu Smile


 Utilitaire de traduction fourni par Regentronique