# Django 5.2.8 ドキュメント

# `django.contrib.humanize`

humanize は、データに「人間くささ（human touch）」を与えるための Django テンプレートフィルタセットです。

これらのフィルタを有効にするには、 `INSTALLED_APPS` 設定に `'django.contrib.humanize'` を加えます。インストール後、テンプレート上で `{% load humanize %}` を呼び出せば、以下のフィルタを利用できるようになります:

## `apnumber`

1-9 の数字に対して、数をアルファベットで表します。それ以外の数はそのまま数字で返します。これは AP スタイルブックの書式に従っています。

例:

- `1` は `one` になります。

- `2` は `two` になります。

- `10` は `10` になります。

渡す値は整数でも、整数を文字列で表したものでもかまいません。

## `intcomma`

整数または浮動小数点数 (またはどちらかの文字列表現) を受け取り、3桁ごとにカンマが入った文字列に変換します。

例:

- `4500` は `4,500` になります。

- `4500.2` は `4,500.2` になります。

- `45000` は `45,000` になります。

- `450000` は `450,000` になります。

- `4500000` は `4,500,000` になります。

可能であれば 表示形式のローカライズ が優先されます。たとえば `'de'` (ドイツ語) では次のようになります。

- `45000` は `'45.000'` になります。

- `450000` は `'450.000'` になります。

## `intword`

大きな整数 (または整数の文字列表現) をわかりやすいテキスト表現に変換します。`1.0` を単数のフレーズとして翻訳し、その他のすべての数値を複数形として扱います。これは一部の言語にとって正しくない場合があります。100 万を超える数値に最適です。

例:

- `1000000` は `1.0 million` になります。

- `1200000` は `1.2 million` になります。

- `1200000000` は `1.2 billion` になります。

- `-1200000000` は `-1.2 billion` になります。

値は 10^100 (Googol) までサポートされます。

可能であれば 表示形式のローカライズ が優先されます。たとえば `'de'` (ドイツ語) では次のようになります。

- `1000000` は `'1,0 Million'` になります。

- `1200000` は `'1,2 Millionen'` となります。

- `1200000000` は `'1,2 Milliarden'` になります。

- `-1200000000` は `'-1,2 Milliarden'` になります。

## `naturalday`

日付が今日、明日、昨日のいずれかに該当する場合、それぞれ「今日（“today”）」、 「明日（“tomorrow”）」、「昨日（“yesterday”）」を返します。それ以外の日付の 場合は、引数に渡したフォーマット文字列を使って日付をフォーマットします。

引数: `date` タグと同じ記法による日付フォーマット文字列

表示例 ( 今日の日付を `2007年 2月 17日` とします ) :

- `2007年 2月 16日` は `yesterday` になります。

- `2007年 2月 17日` は `today` になります。

- `2007年 2月 18日` は `tomorrow` になります。

- 今日、昨日、明日以外の日付は与えられた引数に従ってフォーマットされます。引数がない場合は `DATE_FORMAT` 設定に従います。

## `naturaltime`

datetime 値に対して、何時間（分、秒）前であったかを表わす文字列を返します。1日以上前である場合は `timesince` フォーマットにフォールバックします。 datetime 値が未来である場合も、自動的に適切なフレーズが返り値に使用されます。

表示例 ( 現在の日時を `17 Feb 2007 16:30:00` とします ) :

- `17 Feb 2007 16:30:00` は `now` になります。

- `17 Feb 2007 16:29:31` は `29 seconds ago` になります。

- `17 Feb 2007 16:29:00` は `a minute ago` になります。

- `17 Feb 2007 16:25:35` は `4 minutes ago` になります。

- `17 Feb 2007 15:30:29` は `59 minutes ago` になります。

- `17 Feb 2007 15:30:01` は `59 minutes ago` になります。

- `17 Feb 2007 15:30:00` は `an hour ago` になります。

- `17 Feb 2007 13:31:29` は `2 hours ago` になります。

- `16 Feb 2007 13:31:29` は `1 day, 2 hours ago` になります。

- `16 Feb 2007 13:30:01` は `1 day, 2 hours ago` になります。

- `16 Feb 2007 13:30:00` は `1 day, 3 hours ago` になります。

- `17 Feb 2007 16:30:30` は `30 seconds from now` になります。

- `17 Feb 2007 16:30:29` は `29 seconds from now` になります。

- `17 Feb 2007 16:31:00` becomes `a minute from now` になります。

- `17 Feb 2007 16:34:35` は `4 minutes from now` になります。

- `17 Feb 2007 17:30:29` は `an hour from now` になります。

- `17 Feb 2007 18:31:29` は `2 hours from now` になります。

- `18 Feb 2007 16:31:29` は `1 day from now` になります。

- `26 Feb 2007 18:31:29` は `1 week, 2 days from now` になります。

## `ordinal`

整数を序数形式の文字列に変換します。

例:

- `1` は `1st` になります。

- `2` は `2nd` になります。

- `3` は `3rd` になります。

整数または整数の文字列表現を渡すことができます。負の整数はそのまま返されます。