# Documentation Django 3.1.9.dev

# `django.contrib.humanize`

Un ensemble de filtres de gabarits fournis par Django et utiles pour ajouter une « touche humaine » aux données.

Pour activer ces filtres, ajoutez `'django.contrib.humanize'` à votre réglage `INSTALLED_APPS` . Ensuite, utilisez `{% load humanize %}` dans un gabarit, et vous aurez accès aux filtres suivants.

## `apnumber`

Pour les nombres de 1 à 9, renvoie le nombre écrit en toutes lettres. Sinon, renvoie le nombre lui-même. Cela correspond au style de l’Associated Press.

Exemples :

- `1` devient `un`.
- `2` devient `deux`.
- `10` reste `10`.

Vous pouvez lui passer soit un entier, soit une chaîne de caractères contenant un nombre entier.

## `intcomma`

Convertit un nombre entier ou à virgule (ou une représentation textuelle d’un de ces nombres) en une chaîne de caractères contenant des virgules tous les trois chiffres.

Exemples :

- `4500` devient `4,500`.
- `4500.2` devient `4,500.2`.
- `45000` devient `45,000`.
- `450000` devient `450,000`.
- `4500000` devient `4,500,000`.

La Régionalisation des formats est respectée si elle est activée, par exemple avec la langue `'fr'`:

- `45000` devient `'45 000'` (espace insécable au lieu de la virgule).
- `450000` devient `'450 000'`.

## `intword`

Convertit un grand nombre entier (ou sa représentation textuelle) en une représentation de texte conviviale. Traduit `1.0` comme phrase au singulier et toutes les autres valeurs numériques comme phrase au pluriel, ce qui n’est pas toujours correct selon les langues. Recommandé pour les nombres au-dessus du million.

Exemples :

- `1000000` devient `1.0 million`.
- `1200000` devient `1.2 millions`.
- `1200000000` devient `1.2 milliards`.
- `-1200000000` devient `-1.2 milliards`.

Les valeurs allant jusqu’à 10 ^ 100 (googol) sont prises en charge.

La Régionalisation des formats est respectée si elle est activée, par exemple avec la langue `'fr'`:

- `1000000` devient `'1,0 million'`.
- `1200000` devient `'1,2 millions'`.
- `1200000000` devient `'1,2 milliards'`.
- `-1200000000` devient `'-1,2 Milliarden'`.

Changed in Django 3.0:

Toutes les valeurs numériques sont maintenant traduites au pluriel, à l’exception de `1.0` qui est traduit par une phrase au singulier. Ce comportement n’est pas toujours correct selon les langues.

Changed in Django 3.1:

La prise en charge des entiers négatifs a été ajoutée.

## `naturalday`

Pour les dates qui représentent la journée en cours ou un intervalle de moins d’une journée, renvoie « aujourd’hui », « demain » ou « hier », le cas échéant. Sinon, la date est mise en forme en utilisant le format indiqué.

Paramètre : Chaîne de format de date comme pour la balise `date`.

Exemples (quand « aujourd’hui » est le 17 février 2007) :

- `16 février 2007` devient `hier`.
- `17 février 2007` devient `aujourd'hui`.
- `18 février 2007` devient `demain`.
- Tout autre jour est mis en forme selon le paramètre donné ou le réglage `DATE_FORMAT` si aucun paramètre n’est fourni.

## `naturaltime`

Pour les valeurs de type date/heure, renvoie une chaîne représentant le nombre de secondes, minutes ou heures passées - repassant au format du filtre `timesince` si la valeur passée est de plus d’un jour. Au cas où la valeur date/heure est dans le futur, la valeur renvoyée sera automatiquement une phrase appropriée.

Exemples (quand « maintenant » est le 17 février 2007 16:30:00) :

- `17 février 2007 16:30:00` devient `maintenant`.
- `17 février 2007 16:29:31` devient `il y a 29 secondes`.
- `17 février 2007 16:29:00` devient `il y a une minute`.
- `17 février 2007 16:25:35` devient `il y a 4 minutes`.
- `17 février 2007 15:30:29` devient `il y a 59 minutes`.
- `17 février 2007 15:30:01` devient `il y a 59 minutes`.
- `17 février 2007 15:30:00` devient `il y a une heure`.
- `17 février 2007 13:31:29` devient `il y a 2 heures`.
- `16 février 2007 13:31:29` devient « il y a un jour, 2 heures``.
- `16 février 2007 13:30:01` devient « il y a un jour, 2 heures``.
- `16 février 2007 13:30:00` devient « il y a un jour, 3 heures``.
- `17 février 2007 16:30:30` devient `dans 30 secondes`.
- `17 février 2007 16:30:29` devient `dans 29 secondes`.
- `17 février 2007 16:31:00` devient `dans une minute`.
- `17 février 2007 16:34:35` devient `dans 4 minutes`.
- `17 février 2007 17:30:29` devient `dans une heure`.
- `17 février 2007 18:31:29` devient `dans 2 heures`.
- `18 février 2007 16:31:29` devient `dans 1 jour`.
- `26 février 2007 18:31:29` devient `dans 1 semaine, 2 jours`.

## `ordinal`

Convertit un nombre entier en son nombre ordinal en tant que chaîne de caractères.

Exemples :

- `1` devient `1er`.
- `2` devient `2e`.
- `3` devient `3e`.

Vous pouvez lui passer soit un entier, soit une chaîne de caractères contenant un nombre entier.