Les balises de dates de SPIP comme [(#DATE|affdate)]
affichent les dates en anglais dans ce format : 23 September 2006.
C’est — pour autant qu’un standard existe — l’usage correct pour les Britanniques :
“Dates should be shown in the order day, month, year, without internal punctuation, as : 2 November 1993. A named day preceding a date is separated by a comma : Tuesday, 2 November 1993. There is no comma between month and year. (...) In US style the order is month, day, year : November 2, 1993 (...)
Do not use the endings ‘st’, ‘rd’ or ‘th’ in conjunction with a figure.”
(Oxford Guide to Style pp. 178-9, Oxford University Press, 2002)
Mais on peut le changer cela !
SPIP 1.8 permet de créer un fichier de langue (dans ce cas, un fichier appelé local_en.php3
) pour remplacer les valeurs par défaut de la distribution.
format U.S.
Voici les quelques lignes nécessaires d’un tel fichier pour afficher les dates dans le format en usage aux Etats-Unis (i.e. September 23 ; September 23, 2006) :
<?php
// This is a SPIP language file
$GLOBALS[$GLOBALS['idx_lang']] = array(
'date_de_mois_1' => '@nommois@ @j@',
'date_de_mois_10' => '@nommois@ @j@',
'date_de_mois_11' => '@nommois@ @j@',
'date_de_mois_12' => '@nommois@ @j@',
'date_de_mois_2' => '@nommois@ @j@',
'date_de_mois_3' => '@nommois@ @j@',
'date_de_mois_4' => '@nommois@ @j@',
'date_de_mois_5' => '@nommois@ @j@',
'date_de_mois_6' => '@nommois@ @j@',
'date_de_mois_7' => '@nommois@ @j@',
'date_de_mois_8' => '@nommois@ @j@',
'date_de_mois_9' => '@nommois@ @j@',
'date_fmt_jour_mois_annee' => '@jourmois@, @annee@'
);
?>
format alternatif britannique
Même si le Oxford Guide to Style suggère de ne pas le faire, certains apprécient les ‘st’, ‘th’, etc. dans leurs dates. Aussi, pouvez vous les avoir vous aussi avec ces quelques lignes :
<?php
// This is a SPIP language file
$GLOBALS[$GLOBALS['idx_lang']] = array(
'date_jnum1' => '1st',
'date_jnum2' => '2nd',
'date_jnum3' => '3rd',
'date_jnum4' => '4th',
'date_jnum5' => '5th',
'date_jnum6' => '6th',
'date_jnum7' => '7th',
'date_jnum8' => '8th',
'date_jnum9' => '9th',
'date_jnum10' => '10th',
'date_jnum11' => '11th',
'date_jnum12' => '12th',
'date_jnum13' => '13th',
'date_jnum14' => '14th',
'date_jnum15' => '15th',
'date_jnum16' => '16th',
'date_jnum17' => '17th',
'date_jnum18' => '18th',
'date_jnum19' => '19th',
'date_jnum20' => '20th',
'date_jnum21' => '21st',
'date_jnum22' => '22nd',
'date_jnum23' => '23rd',
'date_jnum24' => '24th',
'date_jnum25' => '25th',
'date_jnum26' => '26th',
'date_jnum27' => '27th',
'date_jnum28' => '28th',
'date_jnum29' => '29th',
'date_jnum30' => '30th',
'date_jnum31' => '31st'
);
?>
Instructions
Si vous voulez que les balises SPIP affichent ces formats alternatifs alors :
- Créez un fichier
local_en.php3
. [1] - Copiez les lignes de code du format de votre choix (toutes les lignes, depuis
<?php
jusqu’à?>
inclus) dans le fichier. - Placez le fichier dans votre dossier de squelettes, ou à la racine du site, ou dans le dossier
ecrire/lang/
du site.
Discussions par date d’activité
Une discussion
Bonjour et merci.
Mon site s’adresse à un public américain, et la remarque m’avait été faite également. Merci pour cette astuce qui répond tout à fait aux exigences de l’usage local.
Par contre, j’ai le même problème pour les heures : certains sont perturbés de lire 7:00 et 18:00 au lieu de 7:00 am et 6:00 pm. Sauriez vous me dire comment compléter le fichier de langue pour effectuer cette correction ?
Merci d’avance.
Tu peux utiliser les formats PHP dans des filtres (comme expliqué ici) pour faire cela.
Essaie, par exemple,
[(#DATE|affdate{'g:i a'})]
dans le squelette pour afficher l’heure et les minutes + am/pm.Merci Paolo pour ta réponse rapide.
En fait, je ne peux pas trop modifier le squelette, car le site est multilingue et sert autant en environnement portugais que français, anglais ou américain.
D’autre part, il utilise des fonctions d’affichage calculé de dates et heures du plugin Agenda2. C’est pour cela que la solution de la surcharge du fichier /lang/local_en.php était idéale pour moi. Ça fonctionne d’ailleurs très bien pour les dates.
Avec tes orientations, j’ai essayé pas mal de choses, notamment ceci, qui me semble être une syntaxe correcte :
’date_fmt_heures_minutes’ => ’@g@ :@i@ @a@’
Malheureusement, ça ne fonctionne pas. Si je demande l’affichage des révisions d’un article par exemple, j’obtiens :
July 3, 2009 at @j@ :@i@ @a@ (ndd) (compare)
June 19, 2009 at @j@ :@i@ @a@ (ndd) (compare)
Je cale...
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |