Merge branch 'feature/UpdateHumanize' into dev

This commit is contained in:
JackDandy 2023-02-09 14:34:58 +00:00
commit 8bc99d7058
32 changed files with 4137 additions and 1038 deletions

View file

@ -6,6 +6,7 @@
* Remove lockfile no longer used by cachecontrol
* Update Msgpack 1.0.0 (fa7d744) to 1.0.4 (b5acfd5)
* Update diskcache 5.1.0 (40ce0de) to 5.4.0 (1cb1425)
* Update humanize 3.5.0 (b6b0ea5) to 4.0.0 (a1514eb)
* Update Rarfile 4.0 (55fe778) to 4.1a1 (8a72967)
* Update UnRar x64 for Windows 6.11 to 6.20
* Update Send2Trash 1.5.0 (66afce7) to 1.8.1b0 (0ef9b32)

View file

@ -19,7 +19,7 @@ from humanize.time import (
precisedelta,
)
__version__ = VERSION = '3.5.0'
__version__ = VERSION = '4.0.0'
__all__ = [

View file

@ -1,6 +0,0 @@
import sys
if sys.version_info < (3,):
string_types = (basestring,) # noqa: F821
else:
string_types = (str,)

View file

@ -1,5 +1,4 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Bits and bytes related humanization."""

View file

@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
"""Activate, get and deactivate translations."""
import gettext as gettext_module
import os.path
from threading import local
__all__ = ["activate", "deactivate", "gettext", "ngettext", "thousands_separator"]
__all__ = ["activate", "deactivate", "thousands_separator"]
_TRANSLATIONS = {None: gettext_module.NullTranslations()}
_CURRENT = local()
@ -67,7 +66,7 @@ def deactivate():
_CURRENT.locale = None
def gettext(message):
def _gettext(message):
"""Get translation.
Args:
@ -79,7 +78,7 @@ def gettext(message):
return get_translation().gettext(message)
def pgettext(msgctxt, message):
def _pgettext(msgctxt, message):
"""Fetches a particular translation.
It works with `msgctxt` .po modifiers and allows duplicate keys with different
@ -104,8 +103,8 @@ def pgettext(msgctxt, message):
return message if translation == key else translation
def ngettext(message, plural, num):
"""Plural version of gettext.
def _ngettext(message, plural, num):
"""Plural version of _gettext.
Args:
message (str): Singular text to translate.
@ -119,14 +118,14 @@ def ngettext(message, plural, num):
return get_translation().ngettext(message, plural, num)
def gettext_noop(message):
def _gettext_noop(message):
"""Mark a string as a translation string without translating it.
Example usage:
```python
CONSTANTS = [gettext_noop('first'), gettext_noop('second')]
CONSTANTS = [_gettext_noop('first'), _gettext_noop('second')]
def num_name(n):
return gettext(CONSTANTS[n])
return _gettext(CONSTANTS[n])
```
Args:
@ -138,14 +137,14 @@ def gettext_noop(message):
return message
def ngettext_noop(singular, plural):
def _ngettext_noop(singular, plural):
"""Mark two strings as pluralized translations without translating them.
Example usage:
```python
CONSTANTS = [ngettext_noop('first', 'firsts'), ngettext_noop('second', 'seconds')]
def num_name(n):
return ngettext(*CONSTANTS[n])
return _ngettext(*CONSTANTS[n])
```
Args:
@ -158,7 +157,7 @@ def ngettext_noop(singular, plural):
return (singular, plural)
def thousands_separator():
def thousands_separator() -> str:
"""Return the thousands separator for a locale, default to comma.
Returns:

View file

@ -0,0 +1,291 @@
# Bengali translations for humanize package.
# Copyright (C) 2021 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the humanize package.
# Wasi Master <arianmollik323@gmail.com>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-07-29 21:59+0600\n"
"PO-Revision-Date: 2021-07-29 22:07+0600\n"
"Last-Translator: U-WASI-PC\\Wasi Master <arianmollik323@gmail.com>\n"
"Language-Team: Bengali\n"
"Language: bn_BD\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/humanize/number.py:58
msgctxt "0 (male)"
msgid "th"
msgstr ""
#: src/humanize/number.py:59
msgctxt "1 (male)"
msgid "st"
msgstr ""
#: src/humanize/number.py:60
msgctxt "2 (male)"
msgid "nd"
msgstr ""
#: src/humanize/number.py:61
msgctxt "3 (male)"
msgid "rd"
msgstr ""
#: src/humanize/number.py:62
msgctxt "4 (male)"
msgid "th"
msgstr ""
#: src/humanize/number.py:63
msgctxt "5 (male)"
msgid "th"
msgstr ""
#: src/humanize/number.py:64
msgctxt "6 (male)"
msgid "th"
msgstr ""
#: src/humanize/number.py:65
msgctxt "7 (male)"
msgid "th"
msgstr ""
#: src/humanize/number.py:66
msgctxt "8 (male)"
msgid "th"
msgstr ""
#: src/humanize/number.py:67
msgctxt "9 (male)"
msgid "th"
msgstr ""
#: src/humanize/number.py:71
msgctxt "0 (female)"
msgid "th"
msgstr ""
#: src/humanize/number.py:72
msgctxt "1 (female)"
msgid "st"
msgstr ""
#: src/humanize/number.py:73
msgctxt "2 (female)"
msgid "nd"
msgstr ""
#: src/humanize/number.py:74
msgctxt "3 (female)"
msgid "rd"
msgstr ""
#: src/humanize/number.py:75
msgctxt "4 (female)"
msgid "th"
msgstr ""
#: src/humanize/number.py:76
msgctxt "5 (female)"
msgid "th"
msgstr ""
#: src/humanize/number.py:77
msgctxt "6 (female)"
msgid "th"
msgstr ""
#: src/humanize/number.py:78
msgctxt "7 (female)"
msgid "th"
msgstr ""
#: src/humanize/number.py:79
msgctxt "8 (female)"
msgid "th"
msgstr ""
#: src/humanize/number.py:80
msgctxt "9 (female)"
msgid "th"
msgstr ""
#: src/humanize/number.py:247
msgid "zero"
msgstr "শুন্য"
#: src/humanize/number.py:248
msgid "one"
msgstr "এক"
#: src/humanize/number.py:249
msgid "two"
msgstr "দুই"
#: src/humanize/number.py:250
msgid "three"
msgstr "তিন"
#: src/humanize/number.py:251
msgid "four"
msgstr "চার"
#: src/humanize/number.py:252
msgid "five"
msgstr "পাচ"
#: src/humanize/number.py:253
msgid "six"
msgstr "ছয়"
#: src/humanize/number.py:254
msgid "seven"
msgstr "সাত"
#: src/humanize/number.py:255
msgid "eight"
msgstr "আট"
#: src/humanize/number.py:256
msgid "nine"
msgstr "নয়"
#: src/humanize/time.py:138
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] "%d মাইক্রোসেকন্ড"
msgstr[1] "%d মাইক্রোসেকন্ড"
#: src/humanize/time.py:147
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] "%d মিলিসেকন্ড"
msgstr[1] "%d মিলিসেকন্ড"
#: src/humanize/time.py:150 src/humanize/time.py:231
msgid "a moment"
msgstr "এক মুহুর্ত"
#: src/humanize/time.py:152
msgid "a second"
msgstr "এক সেকন্ড"
#: src/humanize/time.py:154
#, python-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d সেকন্ড"
msgstr[1] "%d সেকন্ড"
#: src/humanize/time.py:156
msgid "a minute"
msgstr "এক মিনিট"
#: src/humanize/time.py:159
#, python-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d মিনিট"
msgstr[1] "%d মিনিট"
#: src/humanize/time.py:161
msgid "an hour"
msgstr "এক ঘন্টা"
#: src/humanize/time.py:164
#, python-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d ঘন্টা"
msgstr[1] "%d ঘন্টা"
#: src/humanize/time.py:167
msgid "a day"
msgstr "এক দিন"
#: src/humanize/time.py:169 src/humanize/time.py:172
#, python-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d দিন"
msgstr[1] "%d দিন"
#: src/humanize/time.py:174
msgid "a month"
msgstr "এক মাস"
#: src/humanize/time.py:176
#, python-format
msgid "%d month"
msgid_plural "%d months"
msgstr[0] "%d মাস"
msgstr[1] "%d মাস"
#: src/humanize/time.py:179
msgid "a year"
msgstr "এক বছর"
#: src/humanize/time.py:181 src/humanize/time.py:190
#, python-format
msgid "1 year, %d day"
msgid_plural "1 year, %d days"
msgstr[0] "%d বছর"
msgstr[1] "%d বছর"
#: src/humanize/time.py:184
msgid "1 year, 1 month"
msgstr "১ বছর, ১ মাস"
#: src/humanize/time.py:187
#, python-format
msgid "1 year, %d month"
msgid_plural "1 year, %d months"
msgstr[0] "১ বছর, %d মাস"
msgstr[1] "১ বছর, %d মাস"
#: src/humanize/time.py:192
#, python-format
msgid "%d year"
msgid_plural "%d years"
msgstr[0] "%d বছর"
msgstr[1] "%d বছর"
#: src/humanize/time.py:228
#, python-format
msgid "%s from now"
msgstr "আজ থেকে %s পরে"
#: src/humanize/time.py:228
#, python-format
msgid "%s ago"
msgstr "%s আগে"
#: src/humanize/time.py:232
msgid "now"
msgstr "এখন"
#: src/humanize/time.py:255
msgid "today"
msgstr "আজকে"
#: src/humanize/time.py:257
msgid "tomorrow"
msgstr "আগামীকাল"
#: src/humanize/time.py:259
msgid "yesterday"
msgstr "গতকাল"
#: src/humanize/time.py:545
#, python-format
msgid "%s and %s"
msgstr "%s আর %s"

View file

@ -0,0 +1,363 @@
# Catalan translations for PACKAGE package
# This file is distributed under the same license as the PACKAGE package.
# Jordi Mas i Hernàndez <jmas@softcatala.org>, 2021
#
msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2021-04-09 19:57+0200\n"
"Last-Translator: Jordi Mas i Hernàndez <jmas@softcatala.org>\n"
"Language-Team: Catalan\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n!=1;\n"
"X-Generator: Poedit 2.4.1\n"
#: src/humanize/number.py:57
msgctxt "0 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:58
msgctxt "1 (male)"
msgid "st"
msgstr "º"
#: src/humanize/number.py:59
msgctxt "2 (male)"
msgid "nd"
msgstr "º"
#: src/humanize/number.py:60
msgctxt "3 (male)"
msgid "rd"
msgstr "º"
#: src/humanize/number.py:61
msgctxt "4 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:62
msgctxt "5 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:63
msgctxt "6 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:64
msgctxt "7 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:65
msgctxt "8 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "º"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "º"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "º"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "milió"
msgstr[1] "milió"
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "mil milions"
msgstr[1] "mil milions"
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "bilions"
msgstr[1] "bilions"
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "quadrilió"
msgstr[1] "quadrilió"
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "quintillió"
msgstr[1] "quintillió"
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "sextilió"
msgstr[1] "sextilió"
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "septilió"
msgstr[1] "septilió"
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "octilió"
msgstr[1] "octilió"
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "nonilió"
msgstr[1] "nonilió"
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "decilió"
msgstr[1] "decilió"
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "googol"
msgstr[1] "googol"
#: src/humanize/number.py:246
msgid "zero"
msgstr "zero"
#: src/humanize/number.py:247
msgid "one"
msgstr "un"
#: src/humanize/number.py:248
msgid "two"
msgstr "dos"
#: src/humanize/number.py:249
msgid "three"
msgstr "tres"
#: src/humanize/number.py:250
msgid "four"
msgstr "quatre"
#: src/humanize/number.py:251
msgid "five"
msgstr "cinc"
#: src/humanize/number.py:252
msgid "six"
msgstr "sis"
#: src/humanize/number.py:253
msgid "seven"
msgstr "set"
#: src/humanize/number.py:254
msgid "eight"
msgstr "vuit"
#: src/humanize/number.py:255
msgid "nine"
msgstr "nou"
#: src/humanize/time.py:133
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] "%d microsegon"
msgstr[1] "%d microsegons"
#: src/humanize/time.py:142
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] "%d mil·lisegons"
msgstr[1] "%d mil·lisegons"
#: src/humanize/time.py:145 src/humanize/time.py:220
msgid "a moment"
msgstr "un moment"
#: src/humanize/time.py:147
msgid "a second"
msgstr "un segon"
#: src/humanize/time.py:149
#, python-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d segon"
msgstr[1] "%d segons"
#: src/humanize/time.py:151
msgid "a minute"
msgstr "un minut"
#: src/humanize/time.py:154
#, python-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minut"
msgstr[1] "%d minuts"
#: src/humanize/time.py:156
msgid "an hour"
msgstr "una hora"
#: src/humanize/time.py:159
#, python-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d hora"
msgstr[1] "%d hores"
#: src/humanize/time.py:162
msgid "a day"
msgstr "un dia"
#: src/humanize/time.py:164 src/humanize/time.py:167
#, python-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dia"
msgstr[1] "%d dies"
#: src/humanize/time.py:169
msgid "a month"
msgstr "un mes"
#: src/humanize/time.py:171
#, python-format
msgid "%d month"
msgid_plural "%d months"
msgstr[0] "%d mes"
msgstr[1] "%d mesos"
#: src/humanize/time.py:174
msgid "a year"
msgstr "un any"
#: src/humanize/time.py:176 src/humanize/time.py:185
#, python-format
msgid "1 year, %d day"
msgid_plural "1 year, %d days"
msgstr[0] "1 any, %d dia"
msgstr[1] "1 any, %d dies"
#: src/humanize/time.py:179
msgid "1 year, 1 month"
msgstr "1 any, 1 mes"
#: src/humanize/time.py:182
#, python-format
msgid "1 year, %d month"
msgid_plural "1 year, %d months"
msgstr[0] "1 any, %d mes"
msgstr[1] "1 any, %d mesos"
#: src/humanize/time.py:187
#, python-format
msgid "%d year"
msgid_plural "%d years"
msgstr[0] "%d any"
msgstr[1] "%d anys"
#: src/humanize/time.py:217
#, python-format
msgid "%s from now"
msgstr "en %s"
#: src/humanize/time.py:217
#, python-format
msgid "%s ago"
msgstr "fa %s"
#: src/humanize/time.py:221
msgid "now"
msgstr "ara"
#: src/humanize/time.py:244
msgid "today"
msgstr "avui"
#: src/humanize/time.py:246
msgid "tomorrow"
msgstr "demà"
#: src/humanize/time.py:248
msgid "yesterday"
msgstr "ahir"
#: src/humanize/time.py:534
#, python-format
msgid "%s and %s"
msgstr "%s i %s"

View file

@ -0,0 +1,364 @@
# Danish translations for humanize package.
# Copyright (C) 2021
# This file is distributed under the same license as the humanize project.
# YURII DEREVYCH <gkhelloworld@gmail.com>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: https://github.com/jmoiron/humanize/issues\n"
"POT-Creation-Date: 2021-07-05 09:49+0200\n"
"PO-Revision-Date: 2021-11-24 22:25+0200\n"
"Last-Translator: YURII DEREVYCH <gkhelloworld@gmail.com>\n"
"Language-Team: Da\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.0\n"
#: src/humanize/number.py:58
msgctxt "0 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:59
msgctxt "1 (male)"
msgid "st"
msgstr ":e"
#: src/humanize/number.py:60
msgctxt "2 (male)"
msgid "nd"
msgstr ":t"
#: src/humanize/number.py:61
msgctxt "3 (male)"
msgid "rd"
msgstr ":e"
#: src/humanize/number.py:62
msgctxt "4 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:63
msgctxt "5 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:64
msgctxt "6 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:65
msgctxt "7 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:66
msgctxt "8 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:67
msgctxt "9 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:71
msgctxt "0 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:72
msgctxt "1 (female)"
msgid "st"
msgstr ":e"
#: src/humanize/number.py:73
msgctxt "2 (female)"
msgid "nd"
msgstr ":t"
#: src/humanize/number.py:74
msgctxt "3 (female)"
msgid "rd"
msgstr ":e"
#: src/humanize/number.py:75
msgctxt "4 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:76
msgctxt "5 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:77
msgctxt "6 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:78
msgctxt "7 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:79
msgctxt "8 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:80
msgctxt "9 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:141
msgid "thousand"
msgid_plural "thousand"
msgstr[0] "tusind"
msgstr[1] "thousand"
#: src/humanize/number.py:142
msgid "million"
msgid_plural "million"
msgstr[0] "million"
msgstr[1] "millioner"
#: src/humanize/number.py:143
msgid "billion"
msgid_plural "billion"
msgstr[0] "billion"
msgstr[1] "billioner"
#: src/humanize/number.py:144
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "billion"
msgstr[1] "billioner"
#: src/humanize/number.py:145
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "quadrillion"
msgstr[1] "quadrillioner"
#: src/humanize/number.py:146
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "quintillion"
msgstr[1] "quintillioner"
#: src/humanize/number.py:147
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "sextillion"
msgstr[1] "sextillioner"
#: src/humanize/number.py:148
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "septillion"
msgstr[1] "septillioner"
#: src/humanize/number.py:149
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "octillion"
msgstr[1] "octillioner"
#: src/humanize/number.py:150
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "nonillion"
msgstr[1] "nonillioner"
#: src/humanize/number.py:151
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "decillion"
msgstr[1] "decillioner"
#: src/humanize/number.py:152
msgid "googol"
msgid_plural "googol"
msgstr[0] "googol"
msgstr[1] "googol"
#: src/humanize/number.py:247
msgid "zero"
msgstr "nul"
#: src/humanize/number.py:248
msgid "one"
msgstr "en"
#: src/humanize/number.py:249
msgid "two"
msgstr "to"
#: src/humanize/number.py:250
msgid "three"
msgstr "tre"
#: src/humanize/number.py:251
msgid "four"
msgstr "fire"
#: src/humanize/number.py:252
msgid "five"
msgstr "fem"
#: src/humanize/number.py:253
msgid "six"
msgstr "seks"
#: src/humanize/number.py:254
msgid "seven"
msgstr "syv"
#: src/humanize/number.py:255
msgid "eight"
msgstr "otte"
#: src/humanize/number.py:256
msgid "nine"
msgstr "ni"
#: src/humanize/time.py:138
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] "%d mikrosekund"
msgstr[1] "%d mikrosekunder"
#: src/humanize/time.py:147
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] "%d millsekund"
msgstr[1] "%d millsekunder"
#: src/humanize/time.py:150 src/humanize/time.py:231
msgid "a moment"
msgstr "et øjeblik"
#: src/humanize/time.py:152
msgid "a second"
msgstr "en anden"
#: src/humanize/time.py:154
#, python-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d sekund"
msgstr[1] "%d sekunder"
#: src/humanize/time.py:156
msgid "a minute"
msgstr "en minut"
#: src/humanize/time.py:159
#, python-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minut"
msgstr[1] "%d minutter"
#: src/humanize/time.py:161
msgid "an hour"
msgstr "en time"
#: src/humanize/time.py:164
#, python-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d time"
msgstr[1] "%d timer"
#: src/humanize/time.py:167
msgid "a day"
msgstr "en dag"
#: src/humanize/time.py:169 src/humanize/time.py:172
#, python-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dag"
msgstr[1] "%d dage"
#: src/humanize/time.py:174
msgid "a month"
msgstr "en måned"
#: src/humanize/time.py:176
#, python-format
msgid "%d month"
msgid_plural "%d months"
msgstr[0] "%d måned"
msgstr[1] "%d måneder"
#: src/humanize/time.py:179
msgid "a year"
msgstr "et år"
#: src/humanize/time.py:181 src/humanize/time.py:190
#, python-format
msgid "1 year, %d day"
msgid_plural "1 year, %d days"
msgstr[0] "1 år, %d dag"
msgstr[1] "1 år, %d dage"
#: src/humanize/time.py:184
msgid "1 year, 1 month"
msgstr "1 år, 1 måned"
#: src/humanize/time.py:187
#, python-format
msgid "1 year, %d month"
msgid_plural "1 year, %d months"
msgstr[0] "1 år, %d måned"
msgstr[1] "1 år, %d måneder"
#: src/humanize/time.py:192
#, python-format
msgid "%d year"
msgid_plural "%d years"
msgstr[0] "%d år"
msgstr[1] "%d år"
#: src/humanize/time.py:228
#, python-format
msgid "%s from now"
msgstr "%s fra nu"
#: src/humanize/time.py:228
#, python-format
msgid "%s ago"
msgstr "%s siden"
#: src/humanize/time.py:232
msgid "now"
msgstr "nu"
#: src/humanize/time.py:255
msgid "today"
msgstr "i dag"
#: src/humanize/time.py:257
msgid "tomorrow"
msgstr "i morgen"
#: src/humanize/time.py:259
msgid "yesterday"
msgstr "i går"
#: src/humanize/time.py:545
#, python-format
msgid "%s and %s"
msgstr "%s og %s"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2016-12-18 11:50+0100\n"
"Last-Translator: Christian Klein <chris@5711.org>\n"
"Language-Team: German\n"
@ -19,165 +19,215 @@ msgstr ""
"Generated-By: Christian Klein\n"
"X-Generator: Sublime Text 3\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "."
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "."
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "."
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "Million"
msgstr[1] "Million"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "Milliarde"
msgstr[1] "Milliarde"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "Billion"
msgstr[1] "Billion"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "Billiarde"
msgstr[1] "Billiarde"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "Trillion"
msgstr[1] "Trillion"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "Trilliarde"
msgstr[1] "Trilliarde"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "Quadrillion"
msgstr[1] "Quadrillion"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "Quadrillarde"
msgstr[1] "Quadrillarde"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "Quintillion"
msgstr[1] "Quintillion"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "Quintilliarde"
msgstr[1] "Quintilliarde"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "Googol"
msgstr[1] "Googol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "null"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "eins"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "zwei"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "drei"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "vier"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "fünf"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "sechs"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "sieben"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "acht"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "neun"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2020-03-31 21:08+0200\n"
"Last-Translator: Álvaro Mondéjar <mondejar1994@gmail.com>\n"
"Language-Team: \n"
@ -18,165 +18,215 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.3\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "º"
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "º"
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "º"
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "º"
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "ª"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "ª"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "ª"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] "mil"
msgstr[1] "mil"
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "millón"
msgstr[1] "millones"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "billón"
msgstr[1] "billones"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "trillón"
msgstr[1] "trillones"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "quatrillón"
msgstr[1] "quatrillones"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "quintillón"
msgstr[1] "quintillones"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "sextillón"
msgstr[1] "sextillones"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "septillón"
msgstr[1] "septillones"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "octillón"
msgstr[1] "octillones"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "nonillón"
msgstr[1] "nonillones"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "decillón"
msgstr[1] "decillones"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "gúgol"
msgstr[1] "gúgol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "cero"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "uno"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "dos"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "tres"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "cuatro"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "cinco"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "seis"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "siete"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "ocho"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "nueve"
@ -311,4 +361,4 @@ msgstr "ayer"
#: src/humanize/time.py:534
#, python-format
msgid "%s and %s"
msgstr ""
msgstr "%s y %s"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2017-01-10 02:44+0330\n"
"Last-Translator: Christian Klein <chris@5711.org>\n"
"Language-Team: German\n"
@ -19,165 +19,215 @@ msgstr ""
"Generated-By: Christian Klein\n"
"X-Generator: Poedit 1.5.4\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "."
#: src/humanize/number.py:57
msgctxt "1"
msgctxt "0 (male)"
msgid "th"
msgstr "صفرمین"
#: src/humanize/number.py:58
msgctxt "1 (male)"
msgid "st"
msgstr "اولین"
#: src/humanize/number.py:58
msgctxt "2"
#: src/humanize/number.py:59
msgctxt "2 (male)"
msgid "nd"
msgstr "دومین"
#: src/humanize/number.py:59
msgctxt "3"
#: src/humanize/number.py:60
msgctxt "3 (male)"
msgid "rd"
msgstr "سومین"
#: src/humanize/number.py:60
msgctxt "4"
#: src/humanize/number.py:61
msgctxt "4 (male)"
msgid "th"
msgstr "چهارمین"
#: src/humanize/number.py:61
msgctxt "5"
#: src/humanize/number.py:62
msgctxt "5 (male)"
msgid "th"
msgstr "پنجمین"
#: src/humanize/number.py:62
msgctxt "6"
#: src/humanize/number.py:63
msgctxt "6 (male)"
msgid "th"
msgstr "ششمین"
#: src/humanize/number.py:63
msgctxt "7"
#: src/humanize/number.py:64
msgctxt "7 (male)"
msgid "th"
msgstr "هفتمین"
#: src/humanize/number.py:64
msgctxt "8"
#: src/humanize/number.py:65
msgctxt "8 (male)"
msgid "th"
msgstr "هشتمین"
#: src/humanize/number.py:65
msgctxt "9"
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "نهمین"
#: src/humanize/number.py:126
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "صفرمین"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "اولین"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "دومین"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "سومین"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "چهارمین"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "پنجمین"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "ششمین"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "هفتمین"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "هشتمین"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "نهمین"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "هزار"
msgstr[1] "هزار"
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "میلیون"
msgstr[1] "میلیون"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "میلیارد"
msgstr[1] "میلیارد"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "ترلیون"
msgstr[1] "ترلیون"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "کوادریلیون"
msgstr[1] "کوادریلیون"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "کوانتیلیون"
msgstr[1] "کوانتیلیون"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "سکستیلیون"
msgstr[1] "سکستیلیون"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "سپتیلیون"
msgstr[1] "سپتیلیون"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "اوکتیلیون"
msgstr[1] "اوکتیلیون"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "نونیلیون"
msgstr[1] "نونیلیون"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "دسیلیون"
msgstr[1] "دسیلیون"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "گوگول"
msgstr[1] "گوگول"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr ""
msgstr "صفر"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "یک"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "دو"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "سه"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "چهار"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "پنج"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "شش"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "هفت"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "هشت"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "نه"
@ -185,15 +235,15 @@ msgstr "نه"
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%d میکرو‌ثانیه"
msgstr[1] "%d میکرو‌ثانیه"
#: src/humanize/time.py:142
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%d میلی‌ثانیه"
msgstr[1] "%d میلی‌ثانیه"
#: src/humanize/time.py:145 src/humanize/time.py:220
msgid "a moment"
@ -312,4 +362,4 @@ msgstr "دیروز"
#: src/humanize/time.py:534
#, python-format
msgid "%s and %s"
msgstr ""
msgstr "%s و %s"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2017-03-02 11:26+0200\n"
"Last-Translator: Ville Skyttä <ville.skytta@iki.fi>\n"
"Language-Team: Finnish\n"
@ -18,165 +18,215 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.12\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "."
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "."
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "."
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] "tuhatta"
msgstr[1] "tuhatta"
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "miljoonaa"
msgstr[1] "miljoonaa"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "miljardia"
msgstr[1] "miljardia"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "biljoonaa"
msgstr[1] "biljoonaa"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "kvadriljoonaa"
msgstr[1] "kvadriljoonaa"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "kvintiljoonaa"
msgstr[1] "kvintiljoonaa"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "sekstiljoonaa"
msgstr[1] "sekstiljoonaa"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "septiljoonaa"
msgstr[1] "septiljoonaa"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "oktiljoonaa"
msgstr[1] "oktiljoonaa"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "noniljoonaa"
msgstr[1] "noniljoonaa"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "dekiljoonaa"
msgstr[1] "dekiljoonaa"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "googol"
msgstr[1] "googol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "nolla"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "yksi"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "kaksi"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "kolme"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "neljä"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "viisi"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "kuusi"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "seitsemän"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "kahdeksan"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "yhdeksän"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2013-06-22 08:52+0100\n"
"Last-Translator: Olivier Cortès <oc@1flow.io>\n"
"Language-Team: fr_FR <LL@li.org>\n"
@ -19,185 +19,225 @@ msgstr ""
"Generated-By: Babel 0.9.6\n"
"X-Generator: Poedit 1.5.5\n"
#: src/humanize/number.py:56
#, fuzzy
msgctxt "0"
#: src/humanize/number.py:57
msgctxt "0 (male)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:57
#, fuzzy
msgctxt "1"
#: src/humanize/number.py:58
msgctxt "1 (male)"
msgid "st"
msgstr "er"
#: src/humanize/number.py:58
#, fuzzy
msgctxt "2"
#: src/humanize/number.py:59
msgctxt "2 (male)"
msgid "nd"
msgstr "e"
#: src/humanize/number.py:59
#, fuzzy
msgctxt "3"
#: src/humanize/number.py:60
msgctxt "3 (male)"
msgid "rd"
msgstr "e"
#: src/humanize/number.py:60
#, fuzzy
msgctxt "4"
msgid "th"
msgstr "e"
#: src/humanize/number.py:61
#, fuzzy
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:62
#, fuzzy
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:63
#, fuzzy
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:64
#, fuzzy
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:65
#, fuzzy
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "ère"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "e"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "e"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "e"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
#, fuzzy
msgid "million"
msgid_plural "million"
msgstr[0] "%(value)s million"
msgstr[1] "%(value)s million"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "milliard"
msgstr[1] "milliard"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
#, fuzzy
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "%(value)s billion"
msgstr[1] "%(value)s billion"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
#, fuzzy
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "%(value)s billiard"
msgstr[1] "%(value)s billiard"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
#, fuzzy
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "%(value)s trillion"
msgstr[1] "%(value)s trillion"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
#, fuzzy
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "%(value)s trilliard"
msgstr[1] "%(value)s trilliard"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
#, fuzzy
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "%(value)s quatrillion"
msgstr[1] "%(value)s quatrillion"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
#, fuzzy
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "%(value)s quadrilliard"
msgstr[1] "%(value)s quadrilliard"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
#, fuzzy
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "%(value)s quintillion"
msgstr[1] "%(value)s quintillion"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
#, fuzzy
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "%(value)s quintilliard"
msgstr[1] "%(value)s quintilliard"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
#, fuzzy
msgid "googol"
msgid_plural "googol"
msgstr[0] "%(value)s gogol"
msgstr[1] "%(value)s gogol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "zéro"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "un"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "deux"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "trois"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "quatre"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "cinq"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "six"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "sept"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "huit"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "neuf"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2017-03-18 15:41+0700\n"
"Last-Translator: adie.rebel@gmail.com\n"
"Language-Team: Indonesian\n"
@ -18,153 +18,203 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.8.11\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "."
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "."
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "."
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "juta"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "miliar"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "triliun"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "kuadriliun"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "quintillion"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "sextillion"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "septillion"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "octillion"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "nonillion"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "decillion"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "googol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "nol"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "satu"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "dua"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "tiga"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "empat"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "lima"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "enam"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "tujuh"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "delapan"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "sembilan"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2018-10-27 22:52+0200\n"
"Last-Translator: derfel <code@derfel.net>\n"
"Language-Team: Italian\n"
@ -18,165 +18,215 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "º"
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "º"
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "º"
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "º"
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "ª"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "ª"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "ª"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "milioni"
msgstr[1] "milioni"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "miliardi"
msgstr[1] "miliardi"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "bilioni"
msgstr[1] "bilioni"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "biliardi"
msgstr[1] "biliardi"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "trilioni"
msgstr[1] "trilioni"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "triliardi"
msgstr[1] "triliardi"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "quadrilioni"
msgstr[1] "quadrilioni"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "quadriliardi"
msgstr[1] "quadriliardi"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "quintilioni"
msgstr[1] "quintilioni"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "quintiliardi"
msgstr[1] "quintiliardi"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "googol"
msgstr[1] "googol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "zero"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "uno"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "due"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "tre"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "quattro"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "cinque"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "sei"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "sette"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "otto"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "nove"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2018-01-22 10:48+0900\n"
"Last-Translator: Kan Torii <oss@qoolloop.com>\n"
"Language-Team: Japanese\n"
@ -19,162 +19,212 @@ msgstr ""
"Generated-By: Babel 0.9.6\n"
"X-Generator: Poedit 2.0.6\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "番目"
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "番目"
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "番目"
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "番目"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "番目"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "番目"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "番目"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "百万"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
#, fuzzy
msgid "billion"
msgid_plural "billion"
msgstr[0] "十億"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "兆"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
#, fuzzy
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "千兆"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
#, fuzzy
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "百京"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
#, fuzzy
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "十垓"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
#, fuzzy
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "じょ"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
#, fuzzy
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "千じょ"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
#, fuzzy
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "百穣"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
#, fuzzy
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "十溝"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
#, fuzzy
msgid "googol"
msgid_plural "googol"
msgstr[0] "溝無量大数"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr ""
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "一"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "二"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "三"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "四"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "五"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "六"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "七"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "八"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "九"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2013-07-10 11:38+0900\n"
"Last-Translator: @youngrok\n"
"Language-Team: ko_KR <LL@li.org>\n"
@ -19,184 +19,244 @@ msgstr ""
"Generated-By: Babel 0.9.6\n"
"X-Generator: Poedit 1.5.7\n"
#: src/humanize/number.py:56
#, fuzzy
msgctxt "0"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:57
#, fuzzy
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:58
#, fuzzy
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "번째"
#: src/humanize/number.py:59
#, fuzzy
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "번째"
#: src/humanize/number.py:60
#, fuzzy
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "번째"
#: src/humanize/number.py:61
#, fuzzy
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:62
#, fuzzy
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:63
#, fuzzy
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:64
#, fuzzy
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:65
#, fuzzy
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
#, fuzzy
msgctxt "9 (male)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:70
#, fuzzy
msgctxt "0 (female)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:71
#, fuzzy
msgctxt "1 (female)"
msgid "st"
msgstr "번째"
#: src/humanize/number.py:72
#, fuzzy
msgctxt "2 (female)"
msgid "nd"
msgstr "번째"
#: src/humanize/number.py:73
#, fuzzy
msgctxt "3 (female)"
msgid "rd"
msgstr "번째"
#: src/humanize/number.py:74
#, fuzzy
msgctxt "4 (female)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:75
#, fuzzy
msgctxt "5 (female)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:76
#, fuzzy
msgctxt "6 (female)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:77
#, fuzzy
msgctxt "7 (female)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:78
#, fuzzy
msgctxt "8 (female)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:79
#, fuzzy
msgctxt "9 (female)"
msgid "th"
msgstr "번째"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "%(value)s million"
msgstr[1] "%(value)s million"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "milliard"
msgstr[1] "milliard"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
#, fuzzy
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "%(value)s billion"
msgstr[1] "%(value)s billion"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
#, fuzzy
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "%(value)s quadrillion"
msgstr[1] "%(value)s quadrillion"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
#, fuzzy
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "%(value)s quintillion"
msgstr[1] "%(value)s quintillion"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
#, fuzzy
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "%(value)s sextillion"
msgstr[1] "%(value)s sextillion"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
#, fuzzy
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "%(value)s septillion"
msgstr[1] "%(value)s septillion"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
#, fuzzy
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "%(value)s octillion"
msgstr[1] "%(value)s octillion"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
#, fuzzy
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "%(value)s nonillion"
msgstr[1] "%(value)s nonillion"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
#, fuzzy
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "%(value)s décillion"
msgstr[1] "%(value)s décillion"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
#, fuzzy
msgid "googol"
msgid_plural "googol"
msgstr[0] "%(value)s gogol"
msgstr[1] "%(value)s gogol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr ""
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "하나"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "둘"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "셋"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "넷"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "다섯"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "여섯"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "일곱"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "여덟"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "아홉"
@ -204,15 +264,15 @@ msgstr "아홉"
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%d마이크로초"
msgstr[1] "%d마이크로초"
#: src/humanize/time.py:142
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%d밀리초"
msgstr[1] "%d밀리초"
#: src/humanize/time.py:145 src/humanize/time.py:220
msgid "a moment"
@ -248,7 +308,7 @@ msgstr "1시간"
#, python-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d heure"
msgstr[0] "%d시간"
msgstr[1] "%d시간"
#: src/humanize/time.py:162
@ -259,18 +319,18 @@ msgstr "하루"
#, python-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d jour"
msgstr[0] "%d"
msgstr[1] "%d일"
#: src/humanize/time.py:169
msgid "a month"
msgstr "한달"
msgstr "1개월"
#: src/humanize/time.py:171
#, python-format
msgid "%d month"
msgid_plural "%d months"
msgstr[0] "%d mois"
msgstr[0] "%d개월"
msgstr[1] "%d개월"
#: src/humanize/time.py:174
@ -281,8 +341,8 @@ msgstr "1년"
#, python-format
msgid "1 year, %d day"
msgid_plural "1 year, %d days"
msgstr[0] "1년 %d일"
msgstr[1] "1년 %d일"
msgstr[0] "1년, %d일"
msgstr[1] "1년, %d일"
#: src/humanize/time.py:179
msgid "1 year, 1 month"
@ -299,8 +359,8 @@ msgstr[1] "1년, %d개월"
#, python-format
msgid "%d year"
msgid_plural "%d years"
msgstr[0] "%d 년"
msgstr[1] "%d ans"
msgstr[0] "%d년"
msgstr[1] "%d"
#: src/humanize/time.py:217
#, python-format

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2015-03-25 21:08+0100\n"
"Last-Translator: Martin van Wingerden\n"
"Language-Team: nl_NL\n"
@ -19,165 +19,215 @@ msgstr ""
"Generated-By: Babel 0.9.6\n"
"X-Generator: Poedit 1.7.5\n"
#: src/humanize/number.py:56
msgctxt "0"
#: src/humanize/number.py:57
msgctxt "0 (male)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:57
msgctxt "1"
#: src/humanize/number.py:58
msgctxt "1 (male)"
msgid "st"
msgstr "ste"
#: src/humanize/number.py:58
msgctxt "2"
#: src/humanize/number.py:59
msgctxt "2 (male)"
msgid "nd"
msgstr "de"
#: src/humanize/number.py:59
msgctxt "3"
#: src/humanize/number.py:60
msgctxt "3 (male)"
msgid "rd"
msgstr "de"
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgstr "de"
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "ste"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "de"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "de"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "de"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "miljoen"
msgstr[1] "miljoen"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "miljard"
msgstr[1] "miljard"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "biljoen"
msgstr[1] "biljoen"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "biljard"
msgstr[1] "biljard"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "triljoen"
msgstr[1] "triljoen"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "triljard"
msgstr[1] "triljard"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "quadriljoen"
msgstr[1] "quadriljoen"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "quadriljard"
msgstr[1] "quadriljard"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "quintiljoen"
msgstr[1] "quintiljoen"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "quintiljard"
msgstr[1] "quintiljard"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "googol"
msgstr[1] "googol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "nul"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "één"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "twee"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "drie"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "vier"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "vijf"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "zes"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "zeven"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "acht"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "negen"

View file

@ -2,12 +2,13 @@
# Copyright (C) 2020 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Bartosz Bubak <bartosz.bubak@gmail.com>, 2020.
# Added missing strings by Krystian Postek <krystian postek eu>, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2020-04-22 10:02+0200\n"
"Last-Translator: Bartosz Bubak <bartosz.bubak gmail com>\n"
"Language-Team: Polish\n"
@ -18,177 +19,227 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "."
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "."
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "."
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "milion"
msgstr[1] "milion"
msgstr[2] "milion"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "bilion"
msgstr[1] "bilion"
msgstr[2] "bilion"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "trylion"
msgstr[1] "trylion"
msgstr[2] "trylion"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "kwadrylion"
msgstr[1] "kwadrylion"
msgstr[2] "kwadrylion"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "kwintylion"
msgstr[1] "kwintylion"
msgstr[2] "kwintylion"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "sekstylion"
msgstr[1] "sekstylion"
msgstr[2] "sekstylion"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "septylion"
msgstr[1] "septylion"
msgstr[2] "septylion"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "oktylion"
msgstr[1] "oktylion"
msgstr[2] "oktylion"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "nonilion"
msgstr[1] "nonilion"
msgstr[2] "nonilion"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "decylion"
msgstr[1] "decylion"
msgstr[2] "decylion"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "googol"
msgstr[1] "googol"
msgstr[2] "googol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "zero"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "jeden"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "dwa"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "trzy"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "cztery"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "pięć"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "sześć"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "siedem"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "osiem"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "dziewięć"
@ -286,7 +337,7 @@ msgstr[2] "1 rok, %d dni"
#: src/humanize/time.py:179
msgid "1 year, 1 month"
msgstr ""
msgstr "1 rok, 1 miesiąc"
#: src/humanize/time.py:182
#, python-format
@ -333,4 +384,4 @@ msgstr "wczoraj"
#: src/humanize/time.py:534
#, python-format
msgid "%s and %s"
msgstr ""
msgstr "%s i %s"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2016-06-15 15:58-0300\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -18,165 +18,215 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 1.8.5\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "º"
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "º"
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "º"
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "º"
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "ª"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "ª"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "ª"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "milhão"
msgstr[1] "milhão"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "bilhão"
msgstr[1] "bilhão"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "trilhão"
msgstr[1] "trilhão"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "quatrilhão"
msgstr[1] "quatrilhão"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "quintilhão"
msgstr[1] "quintilhão"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "sextilhão"
msgstr[1] "sextilhão"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "septilhão"
msgstr[1] "septilhão"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "octilhão"
msgstr[1] "octilhão"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "nonilhão"
msgstr[1] "nonilhão"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "decilhão"
msgstr[1] "decilhão"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "undecilhão"
msgstr[1] "undecilhão"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "zero"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "um"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "dois"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "três"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "quatro"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "cinco"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "seis"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "sete"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "oito"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "nove"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2020-07-05 18:17+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -18,165 +18,215 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 2.3.1\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "º"
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "º"
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "º"
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "º"
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "º"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "ª"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "ª"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "ª"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "ª"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "milhão"
msgstr[1] "milhão"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "milhar de milhão"
msgstr[1] "milhar de milhão"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "bilião"
msgstr[1] "bilião"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "mil biliões"
msgstr[1] "mil biliões"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "trilião"
msgstr[1] "trilião"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "mil triliões"
msgstr[1] "mil triliões"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "quatrilião"
msgstr[1] "quatrilião"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "mil quatriliões"
msgstr[1] "mil quatriliões"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "quintilhão"
msgstr[1] "quintilhão"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "mil quintilhões"
msgstr[1] "mil quintilhões"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "sextilhão"
msgstr[1] "sextilhão"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "zero"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "um"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "dois"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "três"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "quatro"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "cinco"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "seis"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "sete"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "oito"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "nove"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2014-03-24 20:32+0300\n"
"Last-Translator: Sergey Prokhorov <me@seriyps.ru>\n"
"Language-Team: ru_RU <LL@li.org>\n"
@ -20,184 +20,227 @@ msgstr ""
"Generated-By: Babel 0.9.6\n"
"X-Generator: Poedit 1.5.4\n"
# в Django тут "ий" но на самом деле оба варианта работают плохо
#: src/humanize/number.py:56
msgctxt "0"
#: src/humanize/number.py:57
msgctxt "0 (male)"
msgid "th"
msgstr "ой"
#: src/humanize/number.py:57
msgctxt "1"
#: src/humanize/number.py:58
msgctxt "1 (male)"
msgid "st"
msgstr "ый"
#: src/humanize/number.py:58
msgctxt "2"
#: src/humanize/number.py:59
msgctxt "2 (male)"
msgid "nd"
msgstr "ой"
#: src/humanize/number.py:59
msgctxt "3"
#: src/humanize/number.py:60
msgctxt "3 (male)"
msgid "rd"
msgstr "ий"
# в Django тут "ий" но на самом деле оба варианта работают плохо
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgstr "ый"
# в Django тут "ий" но на самом деле оба варианта работают плохо
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "ый"
# в Django тут "ий" но на самом деле оба варианта работают плохо
#: src/humanize/number.py:62
msgctxt "6"
msgid "th"
msgstr "ой"
# в Django тут "ий" но на самом деле оба варианта работают плохо
#: src/humanize/number.py:63
msgctxt "7"
msgid "th"
msgstr "ой"
# в Django тут "ий" но на самом деле оба варианта работают плохо
#: src/humanize/number.py:64
msgctxt "8"
msgid "th"
msgstr "ой"
# в Django тут "ий" но на самом деле оба варианта работают плохо
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "5 (male)"
msgid "th"
msgstr "ый"
#: src/humanize/number.py:126
#: src/humanize/number.py:63
msgctxt "6 (male)"
msgid "th"
msgstr "ой"
#: src/humanize/number.py:64
msgctxt "7 (male)"
msgid "th"
msgstr "ой"
#: src/humanize/number.py:65
msgctxt "8 (male)"
msgid "th"
msgstr "ой"
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "ый"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "ой"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "ый"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "ой"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "ий"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "ый"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "ый"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "ой"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "ой"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "ой"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "ый"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "тысяча"
msgstr[1] "тысячи"
msgstr[2] "тысяч"
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "миллиона"
msgstr[0] "миллион"
msgstr[1] "миллиона"
msgstr[2] "миллиона"
msgstr[2] "миллионов"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "миллиарда"
msgstr[0] "миллиард"
msgstr[1] "миллиарда"
msgstr[2] "миллиарда"
msgstr[2] "миллиардов"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "триллиона"
msgstr[0] "триллион"
msgstr[1] "триллиона"
msgstr[2] "триллиона"
msgstr[2] "триллионов"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "квадриллиона"
msgstr[0] "квадриллион"
msgstr[1] "квадриллиона"
msgstr[2] "квадриллиона"
msgstr[2] "квадриллионов"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "квинтиллиона"
msgstr[0] "квинтиллион"
msgstr[1] "квинтиллиона"
msgstr[2] "квинтиллиона"
msgstr[2] "квинтиллионов"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "сикстиллиона"
msgstr[0] "сикстиллион"
msgstr[1] "сикстиллиона"
msgstr[2] "сикстиллиона"
msgstr[2] "сикстиллионов"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "септиллиона"
msgstr[0] "септиллион"
msgstr[1] "септиллиона"
msgstr[2] "септиллиона"
msgstr[2] "септиллионов"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "октиллиона"
msgstr[0] "октиллион"
msgstr[1] "октиллиона"
msgstr[2] "октиллиона"
msgstr[2] "октиллионов"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "нониллиона"
msgstr[0] "нониллион"
msgstr[1] "нониллиона"
msgstr[2] "нониллиона"
msgstr[2] "нониллионов"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "децилиона"
msgstr[0] "децилион"
msgstr[1] "децилиона"
msgstr[2] "децилиона"
msgstr[2] "децилионов"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "гогола"
msgstr[0] "гогол"
msgstr[1] "гогола"
msgstr[2] "гогола"
msgstr[2] "гоголов"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr ""
msgstr "ноль"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "один"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "два"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "три"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "четыре"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "пять"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "шесть"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "семь"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "восемь"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "девять"
@ -205,17 +248,17 @@ msgstr "девять"
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "%d микросекунда"
msgstr[1] "%d микросекунды"
msgstr[2] "%d микросекунд"
#: src/humanize/time.py:142
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "%d миллисекунда"
msgstr[1] "%d миллисекунды"
msgstr[2] "%d миллисекунд"
#: src/humanize/time.py:145 src/humanize/time.py:220
msgid "a moment"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2020-09-29 22:43+0300\n"
"Last-Translator: Jose Riha <jose1711 gmail com>\n"
"Language-Team: sk <LL@li.org>\n"
@ -18,177 +18,227 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "."
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "."
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "."
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "milióna/ov"
msgstr[1] "milióna/ov"
msgstr[2] "milióna/ov"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "miliardy/árd"
msgstr[1] "miliardy/árd"
msgstr[2] "miliardy/árd"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "bilióna/ov"
msgstr[1] "bilióna/ov"
msgstr[2] "bilióna/ov"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "biliardy/árd"
msgstr[1] "biliardy/árd"
msgstr[2] "biliardy/árd"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "trilióna/árd"
msgstr[1] "trilióna/árd"
msgstr[2] "trilióna/árd"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "triliardy/árd"
msgstr[1] "triliardy/árd"
msgstr[2] "triliardy/árd"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "kvadrilióna/ov"
msgstr[1] "kvadrilióna/ov"
msgstr[2] "kvadrilióna/ov"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "kvadriliardy/árd"
msgstr[1] "kvadriliardy/árd"
msgstr[2] "kvadriliardy/árd"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "kvintilióna/ov"
msgstr[1] "kvintilióna/ov"
msgstr[2] "kvintilióna/ov"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "kvintiliardy/árd"
msgstr[1] "kvintiliardy/árd"
msgstr[2] "kvintiliardy/árd"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "googola/ov"
msgstr[1] "googola/ov"
msgstr[2] "googola/ov"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "nula"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "jedna"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "dve"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "tri"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "štyri"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "päť"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "šesť"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "sedem"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "osem"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "deväť"

View file

@ -0,0 +1,409 @@
# Slovenian translations for PACKAGE package.
# Copyright (C) 2021 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# vlin <vlin@vlin-vb1>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-11 22:52+0200\n"
"PO-Revision-Date: 2021-06-11 23:39+0200\n"
"Last-Translator: dkrat7 <dkrat7 @github.com>\n"
"Language-Team: Slovenian\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
"%100==4 ? 2 : 3);\n"
"X-Generator: Poedit 2.3\n"
#: src/humanize/number.py:58
msgctxt "0 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:59
msgctxt "1 (male)"
msgid "st"
msgstr "."
#: src/humanize/number.py:60
msgctxt "2 (male)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:61
msgctxt "3 (male)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:62
msgctxt "4 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:63
msgctxt "5 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:64
msgctxt "6 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:65
msgctxt "7 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:66
msgctxt "8 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:67
msgctxt "9 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:71
msgctxt "0 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:72
msgctxt "1 (female)"
msgid "st"
msgstr "."
#: src/humanize/number.py:73
msgctxt "2 (female)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:74
msgctxt "3 (female)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:75
msgctxt "4 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:76
msgctxt "5 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:77
msgctxt "6 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:78
msgctxt "7 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:79
msgctxt "8 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:80
msgctxt "9 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] "tisoč"
msgstr[1] "tisoč"
msgstr[2] "tisoč"
msgstr[3] "tisoč"
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "milijon"
msgstr[1] "milijona"
msgstr[2] "milijoni"
msgstr[3] "milijonov"
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "milijarda"
msgstr[1] "milijardi"
msgstr[2] "milijarde"
msgstr[3] "milijard"
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "bilijon"
msgstr[1] "bilijona"
msgstr[2] "bilijoni"
msgstr[3] "bilijonov"
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "bilijarda"
msgstr[1] "bilijardi"
msgstr[2] "bilijarde"
msgstr[3] "bilijard"
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "trilijon"
msgstr[1] "trilijona"
msgstr[2] "trilijoni"
msgstr[3] "trilijonov"
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "trilijarda"
msgstr[1] "trilijardi"
msgstr[2] "trilijarde"
msgstr[3] "trilijard"
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "kvadrilijon"
msgstr[1] "kvadrilijona"
msgstr[2] "kvadrilijoni"
msgstr[3] "kvadrilijonov"
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "kvadrilijarda"
msgstr[1] "kvadrilijardi"
msgstr[2] "kvadrilijarde"
msgstr[3] "kvadrilijard"
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "kvintilijon"
msgstr[1] "kvintilijona"
msgstr[2] "kvintilijoni"
msgstr[3] "kvintilijonov"
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "kvintilijarda"
msgstr[1] "kvintilijardi"
msgstr[2] "kvintilijarde"
msgstr[3] "kvintilijard"
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "gugol"
msgstr[1] "gugola"
msgstr[2] "gugoli"
msgstr[3] "gugolov"
#: src/humanize/number.py:247
msgid "zero"
msgstr "nič"
#: src/humanize/number.py:248
msgid "one"
msgstr "ena"
#: src/humanize/number.py:249
msgid "two"
msgstr "dve"
#: src/humanize/number.py:250
msgid "three"
msgstr "tri"
#: src/humanize/number.py:251
msgid "four"
msgstr "štiri"
#: src/humanize/number.py:252
msgid "five"
msgstr "pet"
#: src/humanize/number.py:253
msgid "six"
msgstr "šest"
#: src/humanize/number.py:254
msgid "seven"
msgstr "sedem"
#: src/humanize/number.py:255
msgid "eight"
msgstr "osem"
#: src/humanize/number.py:256
msgid "nine"
msgstr "devet"
#: src/humanize/time.py:138
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] "%d mikrosekunda"
msgstr[1] "%d mikrosekundi"
msgstr[2] "%d mikrosekunde"
msgstr[3] "%d mikrosekund"
#: src/humanize/time.py:147
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] "%d milisekunda"
msgstr[1] "%d milisekundi"
msgstr[2] "%d milisekunde"
msgstr[3] "%d milisekund"
#: src/humanize/time.py:150 src/humanize/time.py:231
msgid "a moment"
msgstr "trenutek"
#: src/humanize/time.py:152
msgid "a second"
msgstr "sekunda"
#: src/humanize/time.py:154
#, python-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d sekunda"
msgstr[1] "%d sekundi"
msgstr[2] "%d sekunde"
msgstr[3] "%d sekund"
#: src/humanize/time.py:156
msgid "a minute"
msgstr "minuta"
#: src/humanize/time.py:159
#, python-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minuta"
msgstr[1] "%d minuti"
msgstr[2] "%d minute"
msgstr[3] "%d minut"
#: src/humanize/time.py:161
msgid "an hour"
msgstr "ura"
#: src/humanize/time.py:164
#, python-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d ura"
msgstr[1] "%d uri"
msgstr[2] "%d ure"
msgstr[3] "%d ur"
#: src/humanize/time.py:167
msgid "a day"
msgstr "dan"
#: src/humanize/time.py:169 src/humanize/time.py:172
#, python-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dan"
msgstr[1] "%d dneva"
msgstr[2] "%d dnevi"
msgstr[3] "%d dni"
#: src/humanize/time.py:174
msgid "a month"
msgstr "mesec"
#: src/humanize/time.py:176
#, python-format
msgid "%d month"
msgid_plural "%d months"
msgstr[0] "%d mesec"
msgstr[1] "%d meseca"
msgstr[2] "%d meseci"
msgstr[3] "%d mesecev"
#: src/humanize/time.py:179
msgid "a year"
msgstr "leto"
#: src/humanize/time.py:181 src/humanize/time.py:190
#, python-format
msgid "1 year, %d day"
msgid_plural "1 year, %d days"
msgstr[0] "1 leto, %d dan"
msgstr[1] "1 leto, %d dneva"
msgstr[2] "1 leto, %d dnevi"
msgstr[3] "1 leto, %d dni"
#: src/humanize/time.py:184
msgid "1 year, 1 month"
msgstr "1 leto, 1 mesec"
#: src/humanize/time.py:187
#, python-format
msgid "1 year, %d month"
msgid_plural "1 year, %d months"
msgstr[0] "1 leto, %d mesec"
msgstr[1] "1 leto, %d meseca"
msgstr[2] "1 leto, %d meseci"
msgstr[3] "1 leto, %d mesecev"
#: src/humanize/time.py:192
#, python-format
msgid "%d year"
msgid_plural "%d years"
msgstr[0] "%d leto"
msgstr[1] "%d leti"
msgstr[2] "%d leta"
msgstr[3] "%d let"
#: src/humanize/time.py:228
#, python-format
msgid "%s from now"
msgstr "%s od zdaj"
#: src/humanize/time.py:228
#, python-format
msgid "%s ago"
msgstr "%s nazaj"
#: src/humanize/time.py:232
msgid "now"
msgstr "zdaj"
#: src/humanize/time.py:255
msgid "today"
msgstr "danes"
#: src/humanize/time.py:257
msgid "tomorrow"
msgstr "jutri"
#: src/humanize/time.py:259
msgid "yesterday"
msgstr "včeraj"
#: src/humanize/time.py:545
#, python-format
msgid "%s and %s"
msgstr "%s in %s"

View file

@ -0,0 +1,363 @@
# Swedish (Sweden) translations for humanize package.
# Copyright (C) 2021
# This file is distributed under the same license as the humanize project.
# Kess Vargavind <vargavind@gmail.com>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: https://github.com/jmoiron/humanize/issues\n"
"POT-Creation-Date: 2021-07-05 09:49+0200\n"
"PO-Revision-Date: 2021-07-05 10:30+0200\n"
"Last-Translator: Kess Vargavind <vargavind@gmail.com>\n"
"Language-Team: Swedish\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/humanize/number.py:58
msgctxt "0 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:59
msgctxt "1 (male)"
msgid "st"
msgstr ":a"
#: src/humanize/number.py:60
msgctxt "2 (male)"
msgid "nd"
msgstr ":a"
#: src/humanize/number.py:61
msgctxt "3 (male)"
msgid "rd"
msgstr ":e"
#: src/humanize/number.py:62
msgctxt "4 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:63
msgctxt "5 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:64
msgctxt "6 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:65
msgctxt "7 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:66
msgctxt "8 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:67
msgctxt "9 (male)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:71
msgctxt "0 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:72
msgctxt "1 (female)"
msgid "st"
msgstr ":a"
#: src/humanize/number.py:73
msgctxt "2 (female)"
msgid "nd"
msgstr ":a"
#: src/humanize/number.py:74
msgctxt "3 (female)"
msgid "rd"
msgstr ":e"
#: src/humanize/number.py:75
msgctxt "4 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:76
msgctxt "5 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:77
msgctxt "6 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:78
msgctxt "7 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:79
msgctxt "8 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:80
msgctxt "9 (female)"
msgid "th"
msgstr ":e"
#: src/humanize/number.py:141
msgid "thousand"
msgid_plural "thousand"
msgstr[0] "tusen"
msgstr[1] "tusen"
#: src/humanize/number.py:142
msgid "million"
msgid_plural "million"
msgstr[0] "miljon"
msgstr[1] "miljoner"
#: src/humanize/number.py:143
msgid "billion"
msgid_plural "billion"
msgstr[0] "miljard"
msgstr[1] "miljarder"
#: src/humanize/number.py:144
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "biljon"
msgstr[1] "biljoner"
#: src/humanize/number.py:145
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "biljard"
msgstr[1] "biljarder"
#: src/humanize/number.py:146
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "triljon"
msgstr[1] "triljoner"
#: src/humanize/number.py:147
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "triljard"
msgstr[1] "triljarder"
#: src/humanize/number.py:148
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "kvadriljon"
msgstr[1] "kvadriljoner"
#: src/humanize/number.py:149
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "kvadriljard"
msgstr[1] "kvadriljarder"
#: src/humanize/number.py:150
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "kvintiljon"
msgstr[1] "kvintiljoner"
#: src/humanize/number.py:151
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "kvintiljard"
msgstr[1] "kvintiljarder"
#: src/humanize/number.py:152
msgid "googol"
msgid_plural "googol"
msgstr[0] "googol"
msgstr[1] "googol"
#: src/humanize/number.py:247
msgid "zero"
msgstr "noll"
#: src/humanize/number.py:248
msgid "one"
msgstr "ett"
#: src/humanize/number.py:249
msgid "two"
msgstr "två"
#: src/humanize/number.py:250
msgid "three"
msgstr "tre"
#: src/humanize/number.py:251
msgid "four"
msgstr "fyra"
#: src/humanize/number.py:252
msgid "five"
msgstr "fem"
#: src/humanize/number.py:253
msgid "six"
msgstr "sex"
#: src/humanize/number.py:254
msgid "seven"
msgstr "sju"
#: src/humanize/number.py:255
msgid "eight"
msgstr "åtta"
#: src/humanize/number.py:256
msgid "nine"
msgstr "nio"
#: src/humanize/time.py:138
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] "%d mikrosekund"
msgstr[1] "%d mikrosekunder"
#: src/humanize/time.py:147
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] "%d millsekund"
msgstr[1] "%d millsekunder"
#: src/humanize/time.py:150 src/humanize/time.py:231
msgid "a moment"
msgstr "en liten stund"
#: src/humanize/time.py:152
msgid "a second"
msgstr "en sekund"
#: src/humanize/time.py:154
#, python-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d sekund"
msgstr[1] "%d sekunder"
#: src/humanize/time.py:156
msgid "a minute"
msgstr "en minut"
#: src/humanize/time.py:159
#, python-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d minut"
msgstr[1] "%d minuter"
#: src/humanize/time.py:161
msgid "an hour"
msgstr "en timme"
#: src/humanize/time.py:164
#, python-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d timme"
msgstr[1] "%d timmar"
#: src/humanize/time.py:167
msgid "a day"
msgstr "en dag"
#: src/humanize/time.py:169 src/humanize/time.py:172
#, python-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d dag"
msgstr[1] "%d dagar"
#: src/humanize/time.py:174
msgid "a month"
msgstr "en månad"
#: src/humanize/time.py:176
#, python-format
msgid "%d month"
msgid_plural "%d months"
msgstr[0] "%d månad"
msgstr[1] "%d månader"
#: src/humanize/time.py:179
msgid "a year"
msgstr "ett år"
#: src/humanize/time.py:181 src/humanize/time.py:190
#, python-format
msgid "1 year, %d day"
msgid_plural "1 year, %d days"
msgstr[0] "1 år, %d dag"
msgstr[1] "1 år, %d dagar"
#: src/humanize/time.py:184
msgid "1 year, 1 month"
msgstr "1 år, 1 månad"
#: src/humanize/time.py:187
#, python-format
msgid "1 year, %d month"
msgid_plural "1 year, %d months"
msgstr[0] "1 år, %d månad"
msgstr[1] "1 år, %d månader"
#: src/humanize/time.py:192
#, python-format
msgid "%d year"
msgid_plural "%d years"
msgstr[0] "%d år"
msgstr[1] "%d år"
#: src/humanize/time.py:228
#, python-format
msgid "%s from now"
msgstr "%s från nu"
#: src/humanize/time.py:228
#, python-format
msgid "%s ago"
msgstr "%s sedan"
#: src/humanize/time.py:232
msgid "now"
msgstr "nu"
#: src/humanize/time.py:255
msgid "today"
msgstr "idag"
#: src/humanize/time.py:257
msgid "tomorrow"
msgstr "imorgon"
#: src/humanize/time.py:259
msgid "yesterday"
msgstr "igår"
#: src/humanize/time.py:545
#, python-format
msgid "%s and %s"
msgstr "%s och %s"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: humanize\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2017-02-23 20:00+0300\n"
"Last-Translator: Emre Çintay <emre@cintay.com>\n"
"Language-Team: Turkish\n"
@ -19,165 +19,215 @@ msgstr ""
"X-Generator: Poedit 1.8.7.1\n"
"Generated-By: Emre Çintay\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "."
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "."
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "."
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "milyon"
msgstr[1] "milyon"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "milyar"
msgstr[1] "milyar"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "trilyon"
msgstr[1] "trilyon"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "katrilyon"
msgstr[1] "katrilyon"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "kentilyon"
msgstr[1] "kentilyon"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "sekstilyon"
msgstr[1] "sekstilyon"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "septilyon"
msgstr[1] "septilyon"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "oktilyon"
msgstr[1] "oktilyon"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "nonilyon"
msgstr[1] "nonilyon"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "desilyon"
msgstr[1] "desilyon"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "googol"
msgstr[1] "googol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr ""
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "bir"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "iki"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "üç"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "dört"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "beş"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "altı"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "yedi"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "sekiz"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "dokuz"

View file

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: TL\n"
"Language-Team: uk_UA\n"
@ -15,177 +15,227 @@ msgstr ""
"Generated-By:\n"
"X-Generator: \n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "ий"
#: src/humanize/number.py:59
msgctxt "3"
msgctxt "2 (male)"
msgid "nd"
msgstr "ий"
#: src/humanize/number.py:60
msgctxt "3 (male)"
msgid "rd"
msgstr "ій"
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "ий"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "ий"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "ій"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "ий"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "тисяча"
msgstr[1] "тисячі"
msgstr[2] "тисяч"
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "мільйонів"
msgstr[1] "мільйонів"
msgstr[0] "мільйон"
msgstr[1] "мільйона"
msgstr[2] "мільйонів"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "мільярдів"
msgstr[1] "мільярдів"
msgstr[0] "мільярд"
msgstr[1] "мільярда"
msgstr[2] "мільярдів"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "трильйонів"
msgstr[1] "трильйонів"
msgstr[0] "трильйон"
msgstr[1] "трильйона"
msgstr[2] "трильйонів"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "квадрильйонів"
msgstr[1] "квадрильйонів"
msgstr[0] "квадрильйон"
msgstr[1] "квадрильйона"
msgstr[2] "квадрильйонів"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "квинтиліонів"
msgstr[1] "квинтиліонів"
msgstr[0] "квинтиліон"
msgstr[1] "квинтиліона"
msgstr[2] "квинтиліонів"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "сикстильйонів"
msgstr[1] "сикстильйонів"
msgstr[0] "сикстильйон"
msgstr[1] "сикстильйона"
msgstr[2] "сикстильйонів"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "септильйонів"
msgstr[1] "септильйонів"
msgstr[0] "септильйон"
msgstr[1] "септильйона"
msgstr[2] "септильйонів"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "октильйонів"
msgstr[1] "октильйонів"
msgstr[0] "октильйон"
msgstr[1] "октильйона"
msgstr[2] "октильйонів"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "нонильйонів"
msgstr[1] "нонильйонів"
msgstr[0] "нонильйон"
msgstr[1] "нонильйона"
msgstr[2] "нонильйонів"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "децильйонів"
msgstr[1] "децильйонів"
msgstr[0] "децильйон"
msgstr[1] "децильйона"
msgstr[2] "децильйонів"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "гугола"
msgstr[1] "гугола"
msgstr[2] "гугола"
msgstr[0] "гугол"
msgstr[1] "гугла"
msgstr[2] "гуглів"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr "нуль"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "один"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "два"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "три"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "чотири"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "п'ять"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "шість"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "сім"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "вісім"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "дев'ять"
@ -194,8 +244,8 @@ msgstr "дев'ять"
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] "%d мікросекунда"
msgstr[1] "%d мікросекунд"
msgstr[2] "%d мікросекунди"
msgstr[1] "%d мікросекунди"
msgstr[2] "%d мікросекунд"
#: src/humanize/time.py:142
#, fuzzy, python-format
@ -203,7 +253,7 @@ msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] "%d мілісекунда"
msgstr[1] "%d мілісекунди"
msgstr[2] "%d мілісекунди"
msgstr[2] "%d мілісекунд"
#: src/humanize/time.py:145 src/humanize/time.py:220
msgid "a moment"
@ -211,14 +261,14 @@ msgstr "у цей момент"
#: src/humanize/time.py:147
msgid "a second"
msgstr "секунду"
msgstr "секунда"
#: src/humanize/time.py:149
#, python-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d секунда"
msgstr[1] "%d секунд"
msgstr[1] "%d секунди"
msgstr[2] "%d секунд"
#: src/humanize/time.py:151
@ -242,7 +292,7 @@ msgstr "година"
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d година"
msgstr[1] "%d годин"
msgstr[1] "%d години"
msgstr[2] "%d годин"
#: src/humanize/time.py:162
@ -255,7 +305,7 @@ msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d день"
msgstr[1] "%d дня"
msgstr[2] "%d дні"
msgstr[2] "%d днів"
#: src/humanize/time.py:169
msgid "a month"
@ -330,4 +380,4 @@ msgstr "вчора"
#: src/humanize/time.py:534
#, python-format
msgid "%s and %s"
msgstr ""
msgstr "%s й %s"

View file

@ -1,4 +1,4 @@
# French (France) translations for PROJECT.
# Vietnamese (Vietnam) translations for PROJECT.
# Copyright (C) 2013 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2017-05-30 11:51+0700\n"
"Last-Translator: Olivier Cortès <oc@1flow.io>\n"
"Language-Team: vi_VI <sapd@vccloud.vn>\n"
@ -19,172 +19,222 @@ msgstr ""
"Generated-By: Babel 0.9.6\n"
"X-Generator: Poedit 1.8.7.1\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "."
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "."
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "."
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "."
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "."
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "."
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "."
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "nghìn"
msgstr[1] "nghìn"
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "%(value)s triệu"
msgstr[1] "%(value)s triệu"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "tỷ"
msgstr[1] "tỷ"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "%(value)s nghìn tỷ"
msgstr[1] "%(value)s nghìn tỷ"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "%(value)s triệu tỷ"
msgstr[1] "%(value)s triệu tỷ"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
#, fuzzy
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "%(value)s quintillion"
msgstr[1] "%(value)s quintillion"
msgstr[0] "%(value)s tỷ tỷ"
msgstr[1] "%(value)s tỷ tỷ"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
#, fuzzy
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "%(value)s sextillion"
msgstr[1] "%(value)s sextillion"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
#, fuzzy
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "%(value)s septillion"
msgstr[1] "%(value)s septillion"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
#, fuzzy
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "%(value)s octillion"
msgstr[1] "%(value)s octillion"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
#, fuzzy
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "%(value)s nonillion"
msgstr[1] "%(value)s nonillion"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
#, fuzzy
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "%(value)s décillion"
msgstr[1] "%(value)s décillion"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
#, fuzzy
msgid "googol"
msgid_plural "googol"
msgstr[0] "%(value)s gogol"
msgstr[1] "%(value)s gogol"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr ""
msgstr "không"
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "một"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "hai"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "ba"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "bốn"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "năm"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "sáu"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "bảy"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "tám"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "chín"
@ -192,15 +242,15 @@ msgstr "chín"
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%d micro giây"
msgstr[1] "%d micro giây"
#: src/humanize/time.py:142
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%d mili giây"
msgstr[1] "%d mili giây"
#: src/humanize/time.py:145 src/humanize/time.py:220
msgid "a moment"
@ -319,4 +369,4 @@ msgstr "ngày hôm qua"
#: src/humanize/time.py:534
#, python-format
msgid "%s and %s"
msgstr ""
msgstr "%s và %s"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-30 22:34+0200\n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2016-11-14 23:02+0000\n"
"Last-Translator: Liwen SUN <sunliwen@gmail.com>\n"
"Language-Team: Chinese (simplified)\n"
@ -18,165 +18,215 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/humanize/number.py:56
msgctxt "0"
msgid "th"
msgstr "第"
#: src/humanize/number.py:57
msgctxt "1"
msgid "st"
msgctxt "0 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:58
msgctxt "2"
msgid "nd"
msgctxt "1 (male)"
msgid "st"
msgstr "第"
#: src/humanize/number.py:59
msgctxt "3"
msgid "rd"
msgctxt "2 (male)"
msgid "nd"
msgstr "第"
#: src/humanize/number.py:60
msgctxt "4"
msgid "th"
msgctxt "3 (male)"
msgid "rd"
msgstr "第"
#: src/humanize/number.py:61
msgctxt "5"
msgctxt "4 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:62
msgctxt "6"
msgctxt "5 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:63
msgctxt "7"
msgctxt "6 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:64
msgctxt "8"
msgctxt "7 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:65
msgctxt "9"
msgctxt "8 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:126
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "第"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "第"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "第"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] ""
msgstr[1] ""
#: src/humanize/number.py:127
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "百万"
msgstr[1] "百万"
#: src/humanize/number.py:128
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "十亿"
msgstr[1] "十亿"
#: src/humanize/number.py:129
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "兆"
msgstr[1] "兆"
#: src/humanize/number.py:130
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "万亿"
msgstr[1] "万亿"
#: src/humanize/number.py:131
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "百京"
msgstr[1] "百京"
#: src/humanize/number.py:132
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "十垓"
msgstr[1] "十垓"
#: src/humanize/number.py:133
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "秭"
msgstr[1] "秭"
#: src/humanize/number.py:134
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "千秭"
msgstr[1] "千秭"
#: src/humanize/number.py:135
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "百穰"
msgstr[1] "百穰"
#: src/humanize/number.py:136
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "十沟"
msgstr[1] "十沟"
#: src/humanize/number.py:137
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "古高尔"
msgstr[1] "古高尔"
#: src/humanize/number.py:228
#: src/humanize/number.py:246
msgid "zero"
msgstr ""
#: src/humanize/number.py:229
#: src/humanize/number.py:247
msgid "one"
msgstr "一"
#: src/humanize/number.py:230
#: src/humanize/number.py:248
msgid "two"
msgstr "二"
#: src/humanize/number.py:231
#: src/humanize/number.py:249
msgid "three"
msgstr "三"
#: src/humanize/number.py:232
#: src/humanize/number.py:250
msgid "four"
msgstr "四"
#: src/humanize/number.py:233
#: src/humanize/number.py:251
msgid "five"
msgstr "五"
#: src/humanize/number.py:234
#: src/humanize/number.py:252
msgid "six"
msgstr "六"
#: src/humanize/number.py:235
#: src/humanize/number.py:253
msgid "seven"
msgstr "七"
#: src/humanize/number.py:236
#: src/humanize/number.py:254
msgid "eight"
msgstr "八"
#: src/humanize/number.py:237
#: src/humanize/number.py:255
msgid "nine"
msgstr "九"

View file

@ -0,0 +1,365 @@
# Traditional Chinese (China) translation for the project
# Copyright (C) 2021
# This file is distributed under the same license as the PACKAGE package.
# AZLisme <helloazl@icloud.com>, 2016.
# Liwen SUN <sunliwen@gmail.com>, 2019.
# Edward Ho <edward@edward.is>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-04 23:15+0200\n"
"PO-Revision-Date: 2016-11-14 23:02+0000\n"
"Last-Translator: Edward Ho <edward@edward.is>\n"
"Language-Team: Chinese (traditional)\n"
"Language: zh_HK\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/humanize/number.py:57
msgctxt "0 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:58
msgctxt "1 (male)"
msgid "st"
msgstr "第"
#: src/humanize/number.py:59
msgctxt "2 (male)"
msgid "nd"
msgstr "第"
#: src/humanize/number.py:60
msgctxt "3 (male)"
msgid "rd"
msgstr "第"
#: src/humanize/number.py:61
msgctxt "4 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:62
msgctxt "5 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:63
msgctxt "6 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:64
msgctxt "7 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:65
msgctxt "8 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:66
msgctxt "9 (male)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:70
msgctxt "0 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:71
msgctxt "1 (female)"
msgid "st"
msgstr "第"
#: src/humanize/number.py:72
msgctxt "2 (female)"
msgid "nd"
msgstr "第"
#: src/humanize/number.py:73
msgctxt "3 (female)"
msgid "rd"
msgstr "第"
#: src/humanize/number.py:74
msgctxt "4 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:75
msgctxt "5 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:76
msgctxt "6 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:77
msgctxt "7 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:78
msgctxt "8 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:79
msgctxt "9 (female)"
msgid "th"
msgstr "第"
#: src/humanize/number.py:140
msgid "thousand"
msgid_plural "thousand"
msgstr[0] "千"
msgstr[1] "千"
#: src/humanize/number.py:141
msgid "million"
msgid_plural "million"
msgstr[0] "百萬"
msgstr[1] "百萬"
#: src/humanize/number.py:142
msgid "billion"
msgid_plural "billion"
msgstr[0] "十億"
msgstr[1] "十億"
#: src/humanize/number.py:143
msgid "trillion"
msgid_plural "trillion"
msgstr[0] "兆"
msgstr[1] "兆"
#: src/humanize/number.py:144
msgid "quadrillion"
msgid_plural "quadrillion"
msgstr[0] "萬億"
msgstr[1] "萬億"
#: src/humanize/number.py:145
msgid "quintillion"
msgid_plural "quintillion"
msgstr[0] "百京"
msgstr[1] "百京"
#: src/humanize/number.py:146
msgid "sextillion"
msgid_plural "sextillion"
msgstr[0] "十垓"
msgstr[1] "十垓"
#: src/humanize/number.py:147
msgid "septillion"
msgid_plural "septillion"
msgstr[0] "秭"
msgstr[1] "秭"
#: src/humanize/number.py:148
msgid "octillion"
msgid_plural "octillion"
msgstr[0] "千秭"
msgstr[1] "千秭"
#: src/humanize/number.py:149
msgid "nonillion"
msgid_plural "nonillion"
msgstr[0] "百穰"
msgstr[1] "百穰"
#: src/humanize/number.py:150
msgid "decillion"
msgid_plural "decillion"
msgstr[0] "十溝"
msgstr[1] "十溝"
#: src/humanize/number.py:151
msgid "googol"
msgid_plural "googol"
msgstr[0] "古高爾"
msgstr[1] "古高爾"
#: src/humanize/number.py:246
msgid "zero"
msgstr "零"
#: src/humanize/number.py:247
msgid "one"
msgstr "一"
#: src/humanize/number.py:248
msgid "two"
msgstr "二"
#: src/humanize/number.py:249
msgid "three"
msgstr "三"
#: src/humanize/number.py:250
msgid "four"
msgstr "四"
#: src/humanize/number.py:251
msgid "five"
msgstr "五"
#: src/humanize/number.py:252
msgid "six"
msgstr "六"
#: src/humanize/number.py:253
msgid "seven"
msgstr "七"
#: src/humanize/number.py:254
msgid "eight"
msgstr "八"
#: src/humanize/number.py:255
msgid "nine"
msgstr "九"
#: src/humanize/time.py:133
#, python-format
msgid "%d microsecond"
msgid_plural "%d microseconds"
msgstr[0] "%d 微秒"
msgstr[1] "%d 微秒"
#: src/humanize/time.py:142
#, python-format
msgid "%d millisecond"
msgid_plural "%d milliseconds"
msgstr[0] "%d 毫秒"
msgstr[1] "%d 毫秒"
#: src/humanize/time.py:145 src/humanize/time.py:220
msgid "a moment"
msgstr "一會"
#: src/humanize/time.py:147
msgid "a second"
msgstr "1 秒"
#: src/humanize/time.py:149
#, python-format
msgid "%d second"
msgid_plural "%d seconds"
msgstr[0] "%d 秒"
msgstr[1] "%d 秒"
#: src/humanize/time.py:151
msgid "a minute"
msgstr "1 分鐘"
#: src/humanize/time.py:154
#, python-format
msgid "%d minute"
msgid_plural "%d minutes"
msgstr[0] "%d 分鐘"
msgstr[1] "%d 分鐘"
#: src/humanize/time.py:156
msgid "an hour"
msgstr "1 小時"
#: src/humanize/time.py:159
#, python-format
msgid "%d hour"
msgid_plural "%d hours"
msgstr[0] "%d 小時"
msgstr[1] "%d 小時"
#: src/humanize/time.py:162
msgid "a day"
msgstr "1 天"
#: src/humanize/time.py:164 src/humanize/time.py:167
#, python-format
msgid "%d day"
msgid_plural "%d days"
msgstr[0] "%d 天"
msgstr[1] "%d 天"
#: src/humanize/time.py:169
msgid "a month"
msgstr "1 月"
#: src/humanize/time.py:171
#, python-format
msgid "%d month"
msgid_plural "%d months"
msgstr[0] "%d 月"
msgstr[1] "%d 月"
#: src/humanize/time.py:174
msgid "a year"
msgstr "1 年"
#: src/humanize/time.py:176 src/humanize/time.py:185
#, python-format
msgid "1 year, %d day"
msgid_plural "1 year, %d days"
msgstr[0] "%d 年"
msgstr[1] "%d 年"
#: src/humanize/time.py:179
msgid "1 year, 1 month"
msgstr "1 年又 1 個月"
#: src/humanize/time.py:182
#, python-format
msgid "1 year, %d month"
msgid_plural "1 year, %d months"
msgstr[0] "1 年又 %d 個月"
msgstr[1] "1 年又 %d 個月"
#: src/humanize/time.py:187
#, python-format
msgid "%d year"
msgid_plural "%d years"
msgstr[0] "%d年"
msgstr[1] "%d年"
#: src/humanize/time.py:217
#, python-format
msgid "%s from now"
msgstr "%s 之後"
#: src/humanize/time.py:217
#, python-format
msgid "%s ago"
msgstr "%s 之前"
#: src/humanize/time.py:221
msgid "now"
msgstr "現在"
#: src/humanize/time.py:244
msgid "today"
msgstr "今天"
#: src/humanize/time.py:246
msgid "tomorrow"
msgstr "明天"
#: src/humanize/time.py:248
msgid "yesterday"
msgstr "昨天"
#: src/humanize/time.py:534
#, python-format
msgid "%s and %s"
msgstr "%s 與 %s"

View file

@ -1,5 +1,4 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Humanizing functions for numbers."""
@ -7,15 +6,14 @@ import math
import re
from fractions import Fraction
from . import compat
from .i18n import gettext as _
from .i18n import ngettext
from .i18n import ngettext_noop as NS_
from .i18n import pgettext as P_
from .i18n import _gettext as _
from .i18n import _ngettext
from .i18n import _ngettext_noop as NS_
from .i18n import _pgettext as P_
from .i18n import thousands_separator
def ordinal(value):
def ordinal(value, gender="male"):
"""Converts an integer to its ordinal as a string.
For example, 1 is "1st", 2 is "2nd", 3 is "3rd", etc. Works for any integer or
@ -46,6 +44,7 @@ def ordinal(value):
```
Args:
value (int, str, float): Integer to convert.
gender (str): Gender for translations. Accepts either "male" or "female".
Returns:
str: Ordinal string.
@ -54,21 +53,35 @@ def ordinal(value):
value = int(value)
except (TypeError, ValueError):
return value
t = (
P_("0", "th"),
P_("1", "st"),
P_("2", "nd"),
P_("3", "rd"),
P_("4", "th"),
P_("5", "th"),
P_("6", "th"),
P_("7", "th"),
P_("8", "th"),
P_("9", "th"),
)
if gender == "male":
t = (
P_("0 (male)", "th"),
P_("1 (male)", "st"),
P_("2 (male)", "nd"),
P_("3 (male)", "rd"),
P_("4 (male)", "th"),
P_("5 (male)", "th"),
P_("6 (male)", "th"),
P_("7 (male)", "th"),
P_("8 (male)", "th"),
P_("9 (male)", "th"),
)
else:
t = (
P_("0 (female)", "th"),
P_("1 (female)", "st"),
P_("2 (female)", "nd"),
P_("3 (female)", "rd"),
P_("4 (female)", "th"),
P_("5 (female)", "th"),
P_("6 (female)", "th"),
P_("7 (female)", "th"),
P_("8 (female)", "th"),
P_("9 (female)", "th"),
)
if value % 100 in (11, 12, 13): # special case
return "%d%s" % (value, t[0])
return "%d%s" % (value, t[value % 10])
return f"{value}{t[0]}"
return f"{value}{t[value % 10]}"
def intcomma(value, ndigits=None):
@ -104,7 +117,7 @@ def intcomma(value, ndigits=None):
"""
sep = thousands_separator()
try:
if isinstance(value, compat.string_types):
if isinstance(value, str):
float(value.replace(sep, ""))
else:
float(value)
@ -116,14 +129,14 @@ def intcomma(value, ndigits=None):
else:
orig = str(value)
new = re.sub(r"^(-?\d+)(\d{3})", r"\g<1>%s\g<2>" % sep, orig)
new = re.sub(r"^(-?\d+)(\d{3})", rf"\g<1>{sep}\g<2>", orig)
if orig == new:
return new
else:
return intcomma(new)
powers = [10 ** x for x in (3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 100)]
powers = [10**x for x in (3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 100)]
human_powers = (
NS_("thousand", "thousand"),
NS_("million", "million"),
@ -184,16 +197,16 @@ def intword(value, format="%.1f"):
for ordinal, power in enumerate(powers[1:], 1):
if value < power:
chopped = value / float(powers[ordinal - 1])
if float(format % chopped) == float(10 ** 3):
if float(format % chopped) == float(10**3):
chopped = value / float(powers[ordinal])
singular, plural = human_powers[ordinal]
return (
" ".join([format, ngettext(singular, plural, math.ceil(chopped))])
" ".join([format, _ngettext(singular, plural, math.ceil(chopped))])
) % chopped
else:
singular, plural = human_powers[ordinal - 1]
return (
" ".join([format, ngettext(singular, plural, math.ceil(chopped))])
" ".join([format, _ngettext(singular, plural, math.ceil(chopped))])
) % chopped
return str(value)
@ -292,11 +305,11 @@ def fractional(value):
if whole_number and not numerator and denominator == 1:
# this means that an integer was passed in
# (or variants of that integer like 1.0000)
return "%.0f" % whole_number
return f"{whole_number:.0f}"
elif not whole_number:
return "{:.0f}/{:.0f}".format(numerator, denominator)
return f"{numerator:.0f}/{denominator:.0f}"
else:
return "{:.0f} {:.0f}/{:.0f}".format(whole_number, numerator, denominator)
return f"{whole_number:.0f} {numerator:.0f}/{denominator:.0f}"
def scientific(value, precision=2):
@ -350,7 +363,7 @@ def scientific(value, precision=2):
value = str(value).replace("-", "")
negative = True
if isinstance(value, compat.string_types):
if isinstance(value, str):
value = float(value)
fmt = "{:.%se}" % str(int(precision))
@ -430,7 +443,7 @@ def clamp(value, format="{:}", floor=None, ceil=None, floor_token="<", ceil_toke
else:
token = ""
if isinstance(format, compat.string_types):
if isinstance(format, str):
return token + format.format(value)
elif callable(format):
return token + format(value)

View file

@ -1,5 +1,4 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Time humanizing functions.
@ -8,11 +7,12 @@ These are largely borrowed from Django's `contrib.humanize`.
import datetime as dt
import math
from enum import Enum
from functools import total_ordering
from _23 import Enum
from .i18n import gettext as _
from .i18n import ngettext
from .i18n import _gettext as _
from .i18n import _ngettext
from .number import intcomma
__all__ = [
"naturaldelta",
@ -23,6 +23,7 @@ __all__ = [
]
@total_ordering
class Unit(Enum):
MICROSECONDS = 0
MILLISECONDS = 1
@ -38,40 +39,12 @@ class Unit(Enum):
return self.value < other.value
return NotImplemented
def __gt__(self, other):
if self.__class__ is other.__class__:
return self.value > other.value
return NotImplemented
def __eq__(self, other):
if self.__class__ is other.__class__:
return self.value == other.value
return NotImplemented
def __le__(self, other):
if self.__class__ is other.__class__:
return self.value <= other.value
return NotImplemented
def __ge__(self, other):
if self.__class__ is other.__class__:
return self.value >= other.value
return NotImplemented
def __ne__(self, other):
if self.__class__ is other.__class__:
return self.value != other.value
return NotImplemented
def __hash__(self):
return hash(self.value)
def _now():
return dt.datetime.now()
def abs_timedelta(delta):
def _abs_timedelta(delta):
"""Return an "absolute" value for a timedelta, always representing a time distance.
Args:
@ -86,7 +59,7 @@ def abs_timedelta(delta):
return delta
def date_and_delta(value, now=None):
def _date_and_delta(value, *, now=None):
"""Turn a value into a date and a timedelta which represents how long ago it was.
If that's not possible, return `(None, value)`.
@ -106,24 +79,33 @@ def date_and_delta(value, now=None):
date = now - delta
except (ValueError, TypeError):
return None, value
return date, abs_timedelta(delta)
return date, _abs_timedelta(delta)
def naturaldelta(value, months=True, minimum_unit="seconds", when=None):
def naturaldelta(
value,
months=True,
minimum_unit="seconds",
) -> str:
"""Return a natural representation of a timedelta or number of seconds.
This is similar to `naturaltime`, but does not add tense to the result.
Args:
value (datetime.timedelta): A timedelta or a number of seconds.
value (datetime.timedelta or int): A timedelta or a number of seconds.
months (bool): If `True`, then a number of months (based on 30.5 days) will be
used for fuzziness between years.
minimum_unit (str): The lowest unit that can be used.
when (datetime.timedelta): Point in time relative to which _value_ is
interpreted. Defaults to the current time in the local timezone.
when (datetime.datetime): Removed in version 4.0; If you need to
construct a timedelta, do it inline as the first argument.
Returns:
str: A natural representation of the amount of time elapsed.
str (str or `value`): A natural representation of the amount of time
elapsed unless `value` is not datetime.timedelta or cannot be
converted to int. In that case, a `value` is returned unchanged.
Raises:
OverflowError: If `value` is too large to convert to datetime.timedelta.
Examples
Compare two timestamps in a custom local timezone::
@ -135,16 +117,21 @@ def naturaldelta(value, months=True, minimum_unit="seconds", when=None):
now = dt.datetime.now(tz=berlin)
later = now + dt.timedelta(minutes=30)
assert naturaldelta(later, when=now) == "30 minutes"
assert naturaldelta(later - now) == "30 minutes"
"""
tmp = Unit[minimum_unit.upper()]
if tmp not in (Unit.SECONDS, Unit.MILLISECONDS, Unit.MICROSECONDS):
raise ValueError("Minimum unit '%s' not supported" % minimum_unit)
raise ValueError(f"Minimum unit '{minimum_unit}' not supported")
minimum_unit = tmp
date, delta = date_and_delta(value, now=when)
if date is None:
return value
if isinstance(value, dt.timedelta):
delta = value
else:
try:
value = int(value)
delta = dt.timedelta(seconds=value)
except (ValueError, TypeError):
return value
use_months = months
@ -158,65 +145,70 @@ def naturaldelta(value, months=True, minimum_unit="seconds", when=None):
if seconds == 0:
if minimum_unit == Unit.MICROSECONDS and delta.microseconds < 1000:
return (
ngettext("%d microsecond", "%d microseconds", delta.microseconds)
_ngettext("%d microsecond", "%d microseconds", delta.microseconds)
% delta.microseconds
)
elif minimum_unit == Unit.MILLISECONDS or (
minimum_unit == Unit.MICROSECONDS
# and 1000 <= delta.microseconds < 1_000_000 # using _ is PY3 only
and 1000 <= delta.microseconds < 1000000
and 1000 <= delta.microseconds < 1_000_000
):
milliseconds = delta.microseconds / 1000
return (
ngettext("%d millisecond", "%d milliseconds", milliseconds)
_ngettext("%d millisecond", "%d milliseconds", milliseconds)
% milliseconds
)
return _("a moment")
elif seconds == 1:
return _("a second")
elif seconds < 60:
return ngettext("%d second", "%d seconds", seconds) % seconds
return _ngettext("%d second", "%d seconds", seconds) % seconds
elif 60 <= seconds < 120:
return _("a minute")
elif 120 <= seconds < 3600:
minutes = seconds // 60
return ngettext("%d minute", "%d minutes", minutes) % minutes
return _ngettext("%d minute", "%d minutes", minutes) % minutes
elif 3600 <= seconds < 3600 * 2:
return _("an hour")
elif 3600 < seconds:
hours = seconds // 3600
return ngettext("%d hour", "%d hours", hours) % hours
return _ngettext("%d hour", "%d hours", hours) % hours
elif years == 0:
if days == 1:
return _("a day")
if not use_months:
return ngettext("%d day", "%d days", days) % days
return _ngettext("%d day", "%d days", days) % days
else:
if not months:
return ngettext("%d day", "%d days", days) % days
return _ngettext("%d day", "%d days", days) % days
elif months == 1:
return _("a month")
else:
return ngettext("%d month", "%d months", months) % months
return _ngettext("%d month", "%d months", months) % months
elif years == 1:
if not months and not days:
return _("a year")
elif not months:
return ngettext("1 year, %d day", "1 year, %d days", days) % days
return _ngettext("1 year, %d day", "1 year, %d days", days) % days
elif use_months:
if months == 1:
return _("1 year, 1 month")
else:
return (
ngettext("1 year, %d month", "1 year, %d months", months) % months
_ngettext("1 year, %d month", "1 year, %d months", months) % months
)
else:
return ngettext("1 year, %d day", "1 year, %d days", days) % days
return _ngettext("1 year, %d day", "1 year, %d days", days) % days
else:
return ngettext("%d year", "%d years", years) % years
return _ngettext("%s year", "%s years", years) % intcomma(years)
def naturaltime(value, future=False, months=True, minimum_unit="seconds", when=None):
def naturaltime(
value,
future=False,
months=True,
minimum_unit="seconds",
when=None,
) -> str:
"""Return a natural representation of a time in a resolution that makes sense.
This is more or less compatible with Django's `naturaltime` filter.
@ -236,7 +228,7 @@ def naturaltime(value, future=False, months=True, minimum_unit="seconds", when=N
str: A natural representation of the input in a resolution that makes sense.
"""
now = when or _now()
date, delta = date_and_delta(value, now=now)
date, delta = _date_and_delta(value, now=now)
if date is None:
return value
# determine tense by value only if datetime/timedelta were passed
@ -244,7 +236,7 @@ def naturaltime(value, future=False, months=True, minimum_unit="seconds", when=N
future = date > now
ago = _("%s from now") if future else _("%s ago")
delta = naturaldelta(delta, months, minimum_unit, when=when)
delta = naturaldelta(delta, months, minimum_unit)
if delta == _("a moment"):
return _("now")
@ -252,7 +244,7 @@ def naturaltime(value, future=False, months=True, minimum_unit="seconds", when=N
return ago % delta
def naturalday(value, format="%b %d", locale=True):
def naturalday(value, format="%b %d") -> str:
"""Return a natural day.
For date values that are tomorrow, today or yesterday compared to
@ -270,8 +262,6 @@ def naturalday(value, format="%b %d", locale=True):
return value
delta = value - dt.date.today()
if delta.days == 0:
if not locale:
return "today"
return _("today")
elif delta.days == 1:
return _("tomorrow")
@ -280,7 +270,7 @@ def naturalday(value, format="%b %d", locale=True):
return value.strftime(format)
def naturaldate(value):
def naturaldate(value) -> str:
"""Like `naturalday`, but append a year for dates more than ~five months away."""
try:
value = dt.date(value.year, value.month, value.day)
@ -290,7 +280,7 @@ def naturaldate(value):
except (OverflowError, ValueError):
# Date arguments out of range
return value
delta = abs_timedelta(value - dt.date.today())
delta = _abs_timedelta(value - dt.date.today())
if delta.days >= 5 * 365 / 12:
return naturalday(value, "%b %d %Y")
return naturalday(value)
@ -406,7 +396,7 @@ def _suppress_lower_units(min_unit, suppress):
return suppress
def precisedelta(value, minimum_unit="seconds", suppress=(), format="%0.2f"):
def precisedelta(value, minimum_unit="seconds", suppress=(), format="%0.2f") -> str:
"""Return a precise representation of a timedelta.
```pycon
@ -473,7 +463,7 @@ def precisedelta(value, minimum_unit="seconds", suppress=(), format="%0.2f"):
```
"""
date, delta = date_and_delta(value)
date, delta = _date_and_delta(value)
if date is None:
return value
@ -547,9 +537,13 @@ def precisedelta(value, minimum_unit="seconds", suppress=(), format="%0.2f"):
for unit, fmt in zip(reversed(Unit), fmts):
singular_txt, plural_txt, value = fmt
if value > 0 or (not texts and unit == min_unit):
fmt_txt = ngettext(singular_txt, plural_txt, value)
fmt_txt = _ngettext(singular_txt, plural_txt, value)
if unit == min_unit and math.modf(value)[0] > 0:
fmt_txt = fmt_txt.replace("%d", format)
elif unit == YEARS:
fmt_txt = fmt_txt.replace("%d", "%s")
texts.append(fmt_txt % intcomma(value))
continue
texts.append(fmt_txt % value)