Overblog Suivre ce blog
Administration Créer mon blog

Méta langage : Langue et dates

Langues

Lorsque nous créons des thèmes, nous nous assurons que les textes s'adptent à la langue du blog. Le mot "Contact" apparait donc sous la forme "Kontakt" en allemand.

Pour cela, nous utilisons une fonction qui est à votre disposition. Elle permet de passer en paramètre un texte (en anglais) pour obtenir l'affichage du texte dans la bonne langue.

<a href="#">{{ Lang.Get('contact') }}</a>

Selon la langue du blog, cette ligne affichera le texte contact, kontakt, contacto...

Si le texte à traduire n'est pas prévu, la valeur sera affichée sans être traduite.

Attention : si le texte à traduire contient une apostrophe, il faut taper \'

Dates

Les dates sont des élèments à part dans l'informatique, et nous avons cherché à simplifier au maximum.

Lorsqu'une date est affichée, c'est une simple chaîne de caractères : du texte. On peut lui passer des paramètres afin d'avoir le format de date voulu.

<-- Format de date par défaut : anglais -->
{{ Post.Date }}

<-- Format de date  : langue courant du blog -->
{{ Post.Date|datel(Lang.Get('Default date format')) }}

La valeur de Lang.Get('Default date format') varie en fonction de la langue du blog. Sur un blog en anglais, on affiche le mois en toutes lettres, puis le jour, et enfin l'année. En français, on affiche jour, mois en toutes lettres, puis année.

Il est possible de personnaliser ce format.

<--> Format de date : complexe -->
{{ Post.Date|datel("yyyy.MM.dd 'at' HH:mm:ss") }} 
Affichera 2012.07.10 at 15:08:56

<--> Format de date : nombres -->
{{ Post.Date|datel("dd/MM/yyyy") }} 
Affichera 10/07/2012

<--> Format de date : heures -->
{{ Post.Date|datel("h:mm a") }} 
Affichera 15:08 AM

Attention, les minuscules / majuscules sont importantes.

Si vous souhaitez ajouter du texte au milieu de la date, il doit être entouré par des apostrophes. Ex : 'à'

Pour consulter toutes les possibilités de formatage de date : http://userguide.icu-project.org/formatparse/datetime (en anglais)

Partager cet article

Commentaires

Rene1596 25/10/2012 09:24

J'ai résolu temporairement mon problème de décalage d'une heure en changeant de fuseau horaire dans les paramètre généraux. J'ai pris Athènes bien que j'habite à Paris. Il faudra surveiller quand on passera à l'heure d'hiver.
En réponse à Lô du 05/08/2012, en fait il existe deux fonctions, "date()" et "datel()", avec un "l" à la fin comme "long" je suppose ou "local", qui est expliquée sur cette page. La fonction "date()" sans "l" n'est pas décrite ici. J'ai fait un test et on peut remplacer l'une par l'autre, mais les paramètres sont différents.

Rene1596 24/10/2012 16:00

D'après mes essais, l'heure a un décalage d'une heure, mais j'ai peut-être fait une mauvaise manipulation quelque part.

05/08/2012 01:56

Bonjour,
C'est bien, c'est un début ; mais alors, quand on a ça :
<div class="date">
<span class="posted-on">{{ Lang.Get('Posted en') }}</span>
<span class="date">{{ Post.Date|date('F d, Y') }}</span>
</div>
on le met où le datel ? . J'ai tenté à plusieurs endroits et n'ai pas constaté de changement -
Même en lisant votre autre rubrique où la date est dans un paragraphe <p></p>, je n'ai pas réussi à transformer la date en français.
Merci

Jérémie 28/07/2012 13:56

Bonjour,
Je n'arrive pas à changer la langue par défaut de mon blog même en mettant en haut du code <html lang="{{Blog.Lang|default('fr-FR') }}">
Avez vous une solution ? Merci d'avance

Fabrice 25/07/2012 22:01

Il faut aussi noter qu'on peut "simplifier" si on a du mal avec les paramètres.
{{ Post.Date|datel("yyyy.MM.dd 'at' HH:mm:ss") }}
peut être écrit :
{{ Post.Date|datel("HH:mm:ss") }} {{ Lang.Get('at') }} {{ Post.Date|datel("HH:mm:ss") }}