facebook_distance_of_time_in_words

Publié le 09 janvier 2010 par Cédrci Bousmanne

facebook_distance_of_time_in_words est un helper Rails qui permet d'afficher la temps écoulé entre une date donnée et maintenant d'une manière similaire à Facebook.

Installation

script/plugin install git://github.com/cedricbousmanne/facebook_distance_of_time_in_words.git

Utilisation

Dans votre vue, à l'endroit désiré, utilisez facebook_distance_of_time_in_words() de la même manière que distance_of_time_in_words() :

<%= facebook_distance_of_time_in_words(@object.created_at) %>

Exemples

Time.now
# => Sun Jan 10 15:27:03 +0100 2010 

facebook_distance_of_time_in_words(Time.now-1.minute)
# => aujourd'hui à 15:26

facebook_distance_of_time_in_words(Time.now-5.minutes)
# => aujourd'hui à 15:22

facebook_distance_of_time_in_words(Time.now-33.minutes)
# => aujourd'hui à 14:54

facebook_distance_of_time_in_words(Time.now-1.hour)
# => il y a environ une heure

facebook_distance_of_time_in_words(Time.now-1.4.hours)
# => il y a environ une heure

facebook_distance_of_time_in_words(Time.now-1.6.hours)
# => il y a environ 2 heures

facebook_distance_of_time_in_words(Time.now-3.hours)
# => il y a environ 3 heures

facebook_distance_of_time_in_words(Time.now-23.hours)
# => hier à 16:27

facebook_distance_of_time_in_words(Time.now-1.day)
# => hier à 15:27

facebook_distance_of_time_in_words(Time.now-1.day-12.hours)
# => hier à 03:27

facebook_distance_of_time_in_words(Time.now-2.days)
# => vendredi à 15:27

facebook_distance_of_time_in_words(Time.now-3.days)
# => jeudi à 15:27

facebook_distance_of_time_in_words(Time.now-4.days)
# => mercredi à 15:27

facebook_distance_of_time_in_words(Time.now-5.days)
# => mardi à 15:27

facebook_distance_of_time_in_words(Time.now-6.days)
# => lundi à 15:27

facebook_distance_of_time_in_words(Time.now-7.days)
# => il y a 7 jours

Localisation

Les fichiers de traductions sont disponibles dans le dossiers /locales. A l'heure actuelle, seuls le français et l'anglais sont disponible. Si vous vous sentez l'âme d'un traducteur et que vous désirer partager votre travail, n'hésitez pas à me faire parvenir vos traductions.

Fichier de traduction en français :

fr:
  facebook_distance_of_time_in_words:
    yesterday_at_time: "hier à {{hour}}"
    day_with_hour: "{{day}} à {{hour}}"
    days_ago: "il y a {{day_string}}"
    today_at_time: "aujourd'hui à {{hour}}"
  time:
    formats:
      fdotin_day_name: "%A"
      fdotin_hour_minute: "%H:%M"
  date:
    formats:
      fdotin_day_name: "%A"
      fdotin_hour_minute: "%H:%M"