jinja2: add 'tn' filter, a numerical translation

The possibly plural version of `tr`, `tn` provides a way to translate
strings into singular or plural form based on a given integer
being 1 or not 1.

Example use:

```
{{ 1 | tn("%d package found.", "%d packages found.") | format(1) }}
```

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-08-20 16:29:04 -07:00
parent 1c26ce52a5
commit 45fbf214b4
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
3 changed files with 32 additions and 1 deletions

View file

@ -23,8 +23,9 @@ loader = jinja2.FileSystemLoader(os.path.join(
env = jinja2.Environment(loader=loader, autoescape=True,
extensions=["jinja2.ext.i18n"])
# Add tr translation filter.
# Add t{r,n} translation filters.
env.filters["tr"] = l10n.tr
env.filters["tn"] = l10n.tn
# Utility filters.
env.filters["dt"] = util.timestamp_to_datetime