Codebase list python-humanize / d882f85
Update upstream source from tag 'upstream/2.2.0' Update to upstream version '2.2.0' with Debian dir 5d6d4c5595bb83e289d5652bf138ad67b26ee210 Sylvestre Ledru 4 years ago
30 changed file(s) with 988 addition(s) and 492 deletion(s). Raw diff Collapse all Expand all
11
22 Changes proposed in this pull request:
33
4 *
5 *
6 *
4 *
5 *
6 *
99 python-version: [3.8]
1010
1111 steps:
12 - uses: actions/checkout@v1
12 - uses: actions/checkout@v2
1313
1414 - name: pip cache
1515 uses: actions/cache@v1
77 strategy:
88 fail-fast: false
99 matrix:
10 python-version: [3.5, 3.6, 3.7, 3.8]
10 python-version: ["pypy3", "3.5", "3.6", "3.7", "3.8", "3.9"]
1111 os: [ubuntu-latest, macos-latest, windows-latest]
1212 include:
1313 # Include new variables for Codecov
14 - os: ubuntu-latest
15 codecov-flag: GHA_Ubuntu
16 - os: macOS-latest
17 codecov-flag: GHA_macOS
18 - os: windows-latest
19 codecov-flag: GHA_Windows
14 - { codecov-flag: GHA_Ubuntu, os: ubuntu-latest }
15 - { codecov-flag: GHA_macOS, os: macos-latest }
16 - { codecov-flag: GHA_Windows, os: windows-latest }
17 exclude:
18 - { python-version: 3.9, os: macos-latest }
19 - { python-version: 3.9, os: windows-latest }
20 - { python-version: pypy3, os: windows-latest }
2021
2122 steps:
22 - uses: actions/checkout@v1
23 - uses: actions/checkout@v2
2324
2425 - name: Ubuntu cache
2526 uses: actions/cache@v1
3435
3536 - name: macOS cache
3637 uses: actions/cache@v1
37 if: startsWith(matrix.os, 'macOS')
38 if: startsWith(matrix.os, 'macos')
3839 with:
3940 path: ~/Library/Caches/pip
4041 key:
5455 restore-keys: |
5556 ${{ matrix.os }}-${{ matrix.python-version }}-
5657
58 - name: Install Python 3.9
59 if: matrix.python-version == '3.9'
60 run: |
61 sudo add-apt-repository ppa:deadsnakes/ppa
62 sudo apt-get update
63 sudo apt-get install -y --no-install-recommends python3.9-dev python3.9-distutils python3.9-venv
64 python3.9 -m pip install --upgrade pip setuptools
65 python3.9 -m venv $HOME/venv-python3.9
66 echo "::set-env name=VIRTUAL_ENV::$HOME/venv-python3.9"
67 echo "::add-path::$HOME/venv-python3.9/bin"
68
5769 - name: Set up Python ${{ matrix.python-version }}
70 if: matrix.python-version != '3.9'
5871 uses: actions/setup-python@v1
5972 with:
6073 python-version: ${{ matrix.python-version }}
7285 - name: Upload coverage
7386 if: success()
7487 run: |
75 curl -s https://codecov.io/bash -o codecov.sh
88 curl --retry 8 -s https://codecov.io/bash -o codecov.sh
7689 bash codecov.sh -F ${{ matrix.codecov-flag }}
7790 env:
7891 CODECOV_NAME: ${{ matrix.os }} Python ${{ matrix.python-version }}
00 repos:
11 - repo: https://github.com/asottile/pyupgrade
2 rev: v2.0.1
2 rev: v2.1.0
33 hooks:
44 - id: pyupgrade
55 args: ["--py3-plus"]
1717 additional_dependencies: [flake8-2020, flake8-implicit-str-concat]
1818
1919 - repo: https://github.com/asottile/seed-isort-config
20 rev: v1.9.4
20 rev: v2.1.0
2121 hooks:
2222 - id: seed-isort-config
2323
00 Metadata-Version: 2.1
11 Name: humanize
2 Version: 2.0.0
2 Version: 2.2.0
33 Summary: Python humanize utilities
44 Home-page: https://github.com/jmoiron/humanize
55 Author: Jason Moiron
180180 How to add new phrases to existing locale files:
181181
182182 ```console
183 $ xgettext -o humanize.pot -k'_' -k'N_' -k'P_:1c,2' -l python src/humanize/*.py # extract new phrases
183 $ xgettext --from-code=UTF-8 -o humanize.pot -k'_' -k'N_' -k'P_:1c,2' -l python src/humanize/*.py # extract new phrases
184184 $ msgmerge -U src/humanize/locale/ru_RU/LC_MESSAGES/humanize.po humanize.pot # add them to locale files
185185 $ msgfmt --check -o src/humanize/locale/ru_RU/LC_MESSAGES/humanize{.mo,.po} # compile to binary .mo
186186 ```
171171 How to add new phrases to existing locale files:
172172
173173 ```console
174 $ xgettext -o humanize.pot -k'_' -k'N_' -k'P_:1c,2' -l python src/humanize/*.py # extract new phrases
174 $ xgettext --from-code=UTF-8 -o humanize.pot -k'_' -k'N_' -k'P_:1c,2' -l python src/humanize/*.py # extract new phrases
175175 $ msgmerge -U src/humanize/locale/ru_RU/LC_MESSAGES/humanize.po humanize.pot # add them to locale files
176176 $ msgfmt --check -o src/humanize/locale/ru_RU/LC_MESSAGES/humanize{.mo,.po} # compile to binary .mo
177177 ```
66 [![Build Status](https://travis-ci.org/hugovk/humanize.svg?branch=master)](https://travis-ci.org/hugovk/humanize)
77 [![GitHub Actions status](https://github.com/jmoiron/humanize/workflows/Test/badge.svg)](https://github.com/jmoiron/humanize/actions)
88
9 https://github.com/hugovk/pypistats/commit/801ed41823e96e2511444dac4dfceb3bdcb37201#diff-60cd2f42437b5cb3c2c09391a6f4c54a
10
119 * [ ] Start from a freshly cloned repo:
1210
1311 ```bash
1412 cd /tmp
13 rm -rf humanize
1514 git clone https://github.com/jmoiron/humanize
1615 cd humanize
1716 ```
2019
2120 ```bash
2221 pip install -U pip setuptools wheel twine keyring
23 rm -rf build
22 rm -rf build dist
2423 python3 setup.py sdist --format=gztar bdist_wheel
2524 twine check dist/*
26 twine upload --repository-url https://test.pypi.org/legacy/ dist/humanize-1.0.0*
25 twine upload --repository-url https://test.pypi.org/legacy/ dist/*
2726 ```
2827
2928 - [ ] (Optional) Check **test** installation:
3029
3130 ```bash
32 pip uninstall -y humanize
33 pip install -U -i https://test.pypi.org/simple/ humanize
31 pip3 uninstall -y humanize
32 pip3 install -U -i https://test.pypi.org/simple/ humanize
33 python3 -c "import humanize; print(humanize.__version__)"
3434 ```
3535
3636 * [ ] Tag with the version number:
3737
3838 ```bash
39 git tag -a 1.0.0 -m "Release 1.0.0"
39 git tag -a 2.1.0 -m "Release 2.1.0"
4040 ```
4141
4242 * [ ] Create a distribution and release on **live PyPI**:
4343
4444 ```bash
4545 pip install -U pip setuptools wheel twine keyring
46 rm -rf build
46 rm -rf build dist
4747 python3 setup.py sdist --format=gztar bdist_wheel
4848 twine check dist/*
49 twine upload -r pypi dist/humanize-1.0.0*
49 twine upload -r pypi dist/*
5050 ```
5151
5252 * [ ] Check installation:
5454 ```bash
5555 pip uninstall -y humanize
5656 pip install -U humanize
57 python3 -c "import humanize; print(humanize.__version__)"
5758 ```
5859
5960 * [ ] Push tag:
6061 ```bash
6162 git push --tags
6263 ```
63 * [ ] Edit GitHub release: https://github.com/jmoiron/humanize/releases
64
65 * [ ] Edit release draft, adjust text if needed: https://github.com/jmoiron/humanize/releases
66
67 * [ ] Check next tag is correct, amend if needed
68
69 * [ ] Publish release
0 set -e
1
2 # extract new phrases
3 /usr/local/opt/gettext/bin/xgettext --from-code=UTF-8 -o humanize.pot -k'_' -k'N_' -k'P_:1c,2' -l python src/humanize/*.py
4
5 for d in src/humanize/locale/*/; do
6 locale="$(basename $d)"
7 echo "$locale"
8 # add them to locale files
9 /usr/local/opt/gettext/bin/msgmerge -U src/humanize/locale/$locale/LC_MESSAGES/humanize.po humanize.pot
10 # compile to binary .mo
11 /usr/local/opt/gettext/bin/msgfmt --check -o src/humanize/locale/$locale/LC_MESSAGES/humanize{.mo,.po}
12 done
99
1010
1111 def naturalsize(value, binary=False, gnu=False, format="%.1f"):
12 """Format a number of byteslike a human readable filesize (eg. 10 kB). By
13 default, decimal suffixes (kB, MB) are used. Passing binary=true will use
14 binary suffixes (KiB, MiB) are used and the base will be 2**10 instead of
15 10**3. If ``gnu`` is True, the binary argument is ignored and GNU-style
16 (ls -sh style) prefixes are used (K, M) with the 2**10 definition.
17 Non-gnu modes are compatible with jinja2's ``filesizeformat`` filter."""
12 """Format a number of bytes like a human readable filesize (eg. 10 kB).
13
14 By default, decimal suffixes (kB, MB) are used.
15
16 Non-gnu modes are compatible with jinja2's ``filesizeformat`` filter.
17
18 Args:
19 value (int, float, string): Integer to convert.
20 binary (Boolean): If `True`, uses binary suffixes (KiB, MiB) with base 2**10
21 instead of 10**3.
22 gnu (Boolean): If `True`, the binary argument is ignored and GNU-style
23 (`ls -sh` style) prefixes are used (K, M) with the 2**10 definition.
24 format (str): Custom formatter.
25 """
1826 if gnu:
1927 suffix = suffixes["gnu"]
2028 elif binary:
2432
2533 base = 1024 if (gnu or binary) else 1000
2634 bytes = float(value)
35 abs_bytes = abs(bytes)
2736
28 if bytes == 1 and not gnu:
29 return "1 Byte"
30 elif bytes < base and not gnu:
37 if abs_bytes == 1 and not gnu:
38 return "%d Byte" % bytes
39 elif abs_bytes < base and not gnu:
3140 return "%d Bytes" % bytes
32 elif bytes < base and gnu:
41 elif abs_bytes < base and gnu:
3342 return "%dB" % bytes
3443
3544 for i, s in enumerate(suffix):
3645 unit = base ** (i + 2)
37 if bytes < unit and not gnu:
46 if abs_bytes < unit and not gnu:
3847 return (format + " %s") % ((base * bytes / unit), s)
39 elif bytes < unit and gnu:
48 elif abs_bytes < unit and gnu:
4049 return (format + "%s") % ((base * bytes / unit), s)
4150 if gnu:
4251 return (format + "%s") % ((base * bytes / unit), s)
66 msgstr ""
77 "Project-Id-Version: humanize\n"
88 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2020-02-08 20:05+0200\n"
9 "POT-Creation-Date: 2020-03-22 16:30+0200\n"
1010 "PO-Revision-Date: 2016-12-18 11:50+0100\n"
1111 "Last-Translator: Christian Klein <chris@5711.org>\n"
1212 "Language-Team: German\n"
1818 "Generated-By: Christian Klein\n"
1919 "X-Generator: Sublime Text 3\n"
2020
21 #: src/humanize/number.py:24
21 #: src/humanize/number.py:22
2222 msgctxt "0"
2323 msgid "th"
2424 msgstr "."
2525
26 #: src/humanize/number.py:25
26 #: src/humanize/number.py:23
2727 msgctxt "1"
2828 msgid "st"
2929 msgstr "."
3030
31 #: src/humanize/number.py:26
31 #: src/humanize/number.py:24
3232 msgctxt "2"
3333 msgid "nd"
3434 msgstr "."
3535
36 #: src/humanize/number.py:27
36 #: src/humanize/number.py:25
3737 msgctxt "3"
3838 msgid "rd"
3939 msgstr "."
4040
41 #: src/humanize/number.py:26
42 msgctxt "4"
43 msgid "th"
44 msgstr "."
45
46 #: src/humanize/number.py:27
47 msgctxt "5"
48 msgid "th"
49 msgstr "."
50
4151 #: src/humanize/number.py:28
42 msgctxt "4"
52 msgctxt "6"
4353 msgid "th"
4454 msgstr "."
4555
4656 #: src/humanize/number.py:29
47 msgctxt "5"
57 msgctxt "7"
4858 msgid "th"
4959 msgstr "."
5060
5161 #: src/humanize/number.py:30
52 msgctxt "6"
62 msgctxt "8"
5363 msgid "th"
5464 msgstr "."
5565
5666 #: src/humanize/number.py:31
57 msgctxt "7"
58 msgid "th"
59 msgstr "."
60
61 #: src/humanize/number.py:32
62 msgctxt "8"
63 msgid "th"
64 msgstr "."
65
66 #: src/humanize/number.py:33
6767 msgctxt "9"
6868 msgid "th"
6969 msgstr "."
7070
71 #: src/humanize/number.py:62
71 #: src/humanize/number.py:73
7272 msgid "million"
7373 msgstr "Million"
7474
75 #: src/humanize/number.py:63
75 #: src/humanize/number.py:74
7676 msgid "billion"
7777 msgstr "Milliarde"
7878
79 #: src/humanize/number.py:64
79 #: src/humanize/number.py:75
8080 msgid "trillion"
8181 msgstr "Billion"
8282
83 #: src/humanize/number.py:65
83 #: src/humanize/number.py:76
8484 msgid "quadrillion"
8585 msgstr "Billiarde"
8686
87 #: src/humanize/number.py:66
87 #: src/humanize/number.py:77
8888 msgid "quintillion"
8989 msgstr "Trillion"
9090
91 #: src/humanize/number.py:67
91 #: src/humanize/number.py:78
9292 msgid "sextillion"
9393 msgstr "Trilliarde"
9494
95 #: src/humanize/number.py:68
95 #: src/humanize/number.py:79
9696 msgid "septillion"
9797 msgstr "Quadrillion"
9898
99 #: src/humanize/number.py:69
99 #: src/humanize/number.py:80
100100 msgid "octillion"
101101 msgstr "Quadrillarde"
102102
103 #: src/humanize/number.py:70
103 #: src/humanize/number.py:81
104104 msgid "nonillion"
105105 msgstr "Quintillion"
106106
107 #: src/humanize/number.py:71
107 #: src/humanize/number.py:82
108108 msgid "decillion"
109109 msgstr "Quintilliarde"
110110
111 #: src/humanize/number.py:72
111 #: src/humanize/number.py:83
112112 msgid "googol"
113113 msgstr "Googol"
114114
115 #: src/humanize/number.py:108
115 #: src/humanize/number.py:138
116 msgid "zero"
117 msgstr "null"
118
119 #: src/humanize/number.py:139
116120 msgid "one"
117121 msgstr "eins"
118122
119 #: src/humanize/number.py:109
123 #: src/humanize/number.py:140
120124 msgid "two"
121125 msgstr "zwei"
122126
123 #: src/humanize/number.py:110
127 #: src/humanize/number.py:141
124128 msgid "three"
125129 msgstr "drei"
126130
127 #: src/humanize/number.py:111
131 #: src/humanize/number.py:142
128132 msgid "four"
129133 msgstr "vier"
130134
131 #: src/humanize/number.py:112
135 #: src/humanize/number.py:143
132136 msgid "five"
133137 msgstr "fünf"
134138
135 #: src/humanize/number.py:113
139 #: src/humanize/number.py:144
136140 msgid "six"
137141 msgstr "sechs"
138142
139 #: src/humanize/number.py:114
143 #: src/humanize/number.py:145
140144 msgid "seven"
141145 msgstr "sieben"
142146
143 #: src/humanize/number.py:115
147 #: src/humanize/number.py:146
144148 msgid "eight"
145149 msgstr "acht"
146150
147 #: src/humanize/number.py:116
151 #: src/humanize/number.py:147
148152 msgid "nine"
149153 msgstr "neun"
150154
151 #: src/humanize/time.py:68 src/humanize/time.py:131
155 #: src/humanize/time.py:87
156 #, fuzzy, python-format
157 msgid "%d microsecond"
158 msgid_plural "%d microseconds"
159 msgstr[0] "%d Mikrosekunde"
160 msgstr[1] "%d Mikrosekunden"
161
162 #: src/humanize/time.py:93
163 #, fuzzy, python-format
164 msgid "%d millisecond"
165 msgid_plural "%d milliseconds"
166 msgstr[0] "%d Millisekunde"
167 msgstr[1] "%d Millisekunden"
168
169 #: src/humanize/time.py:96 src/humanize/time.py:170
152170 msgid "a moment"
153171 msgstr "ein Moment"
154172
155 #: src/humanize/time.py:70
173 #: src/humanize/time.py:98
156174 msgid "a second"
157175 msgstr "eine Sekunde"
158176
159 #: src/humanize/time.py:72
177 #: src/humanize/time.py:100
160178 #, python-format
161179 msgid "%d second"
162180 msgid_plural "%d seconds"
163181 msgstr[0] "%d Sekunde"
164182 msgstr[1] "%d Sekunden"
165183
166 #: src/humanize/time.py:74
184 #: src/humanize/time.py:102
167185 msgid "a minute"
168186 msgstr "eine Minute"
169187
170 #: src/humanize/time.py:77
188 #: src/humanize/time.py:105
171189 #, python-format
172190 msgid "%d minute"
173191 msgid_plural "%d minutes"
174192 msgstr[0] "%d Minute"
175193 msgstr[1] "%d Minuten"
176194
177 #: src/humanize/time.py:79
195 #: src/humanize/time.py:107
178196 msgid "an hour"
179197 msgstr "eine Stunde"
180198
181 #: src/humanize/time.py:82
199 #: src/humanize/time.py:110
182200 #, python-format
183201 msgid "%d hour"
184202 msgid_plural "%d hours"
185203 msgstr[0] "%d Stunde"
186204 msgstr[1] "%d Stunden"
187205
188 #: src/humanize/time.py:85
206 #: src/humanize/time.py:113
189207 msgid "a day"
190208 msgstr "ein Tag"
191209
192 #: src/humanize/time.py:87 src/humanize/time.py:90
210 #: src/humanize/time.py:115 src/humanize/time.py:118
193211 #, python-format
194212 msgid "%d day"
195213 msgid_plural "%d days"
196214 msgstr[0] "%d Tag"
197215 msgstr[1] "%d Tage"
198216
199 #: src/humanize/time.py:92
217 #: src/humanize/time.py:120
200218 msgid "a month"
201219 msgstr "ein Monat"
202220
203 #: src/humanize/time.py:94
221 #: src/humanize/time.py:122
204222 #, python-format
205223 msgid "%d month"
206224 msgid_plural "%d months"
207225 msgstr[0] "%d Monat"
208226 msgstr[1] "%d Monate"
209227
210 #: src/humanize/time.py:97
228 #: src/humanize/time.py:125
211229 msgid "a year"
212230 msgstr "ein Jahr"
213231
214 #: src/humanize/time.py:99 src/humanize/time.py:108
232 #: src/humanize/time.py:127 src/humanize/time.py:136
215233 #, python-format
216234 msgid "1 year, %d day"
217235 msgid_plural "1 year, %d days"
218236 msgstr[0] "ein Jahr und %d Tag"
219237 msgstr[1] "ein Jahr und %d Tage"
220238
221 #: src/humanize/time.py:102
239 #: src/humanize/time.py:130
222240 msgid "1 year, 1 month"
223241 msgstr "ein Monat"
224242
225 #: src/humanize/time.py:105
243 #: src/humanize/time.py:133
226244 #, python-format
227245 msgid "1 year, %d month"
228246 msgid_plural "1 year, %d months"
229247 msgstr[0] "ein Jahr und %d Monat"
230248 msgstr[1] "ein Jahr und %d Monate"
231249
232 #: src/humanize/time.py:110
250 #: src/humanize/time.py:138
233251 #, python-format
234252 msgid "%d year"
235253 msgid_plural "%d years"
236254 msgstr[0] "%d Jahr"
237255 msgstr[1] "%d Jahre"
238256
239 #: src/humanize/time.py:128
257 #: src/humanize/time.py:167
240258 #, python-format
241259 msgid "%s from now"
242260 msgstr "%s ab jetzt"
243261
244 #: src/humanize/time.py:128
262 #: src/humanize/time.py:167
245263 #, python-format
246264 msgid "%s ago"
247265 msgstr "vor %s"
248266
249 #: src/humanize/time.py:132
267 #: src/humanize/time.py:171
250268 msgid "now"
251269 msgstr "jetzt"
252270
253 #: src/humanize/time.py:151
271 #: src/humanize/time.py:190
254272 msgid "today"
255273 msgstr "heute"
256274
257 #: src/humanize/time.py:153
275 #: src/humanize/time.py:192
258276 msgid "tomorrow"
259277 msgstr "morgen"
260278
261 #: src/humanize/time.py:155
279 #: src/humanize/time.py:194
262280 msgid "yesterday"
263281 msgstr "gestern"
66 msgstr ""
77 "Project-Id-Version: humanize\n"
88 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2020-02-08 20:05+0200\n"
9 "POT-Creation-Date: 2020-03-22 16:30+0200\n"
1010 "PO-Revision-Date: 2017-03-02 11:26+0200\n"
1111 "Last-Translator: Ville Skyttä <ville.skytta@iki.fi>\n"
1212 "Language-Team: Finnish\n"
1717 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
1818 "X-Generator: Poedit 1.8.12\n"
1919
20 #: src/humanize/number.py:24
20 #: src/humanize/number.py:22
2121 msgctxt "0"
2222 msgid "th"
2323 msgstr "."
2424
25 #: src/humanize/number.py:25
25 #: src/humanize/number.py:23
2626 msgctxt "1"
2727 msgid "st"
2828 msgstr "."
2929
30 #: src/humanize/number.py:26
30 #: src/humanize/number.py:24
3131 msgctxt "2"
3232 msgid "nd"
3333 msgstr "."
3434
35 #: src/humanize/number.py:27
35 #: src/humanize/number.py:25
3636 msgctxt "3"
3737 msgid "rd"
3838 msgstr "."
3939
40 #: src/humanize/number.py:26
41 msgctxt "4"
42 msgid "th"
43 msgstr "."
44
45 #: src/humanize/number.py:27
46 msgctxt "5"
47 msgid "th"
48 msgstr "."
49
4050 #: src/humanize/number.py:28
41 msgctxt "4"
51 msgctxt "6"
4252 msgid "th"
4353 msgstr "."
4454
4555 #: src/humanize/number.py:29
46 msgctxt "5"
56 msgctxt "7"
4757 msgid "th"
4858 msgstr "."
4959
5060 #: src/humanize/number.py:30
51 msgctxt "6"
61 msgctxt "8"
5262 msgid "th"
5363 msgstr "."
5464
5565 #: src/humanize/number.py:31
56 msgctxt "7"
57 msgid "th"
58 msgstr "."
59
60 #: src/humanize/number.py:32
61 msgctxt "8"
62 msgid "th"
63 msgstr "."
64
65 #: src/humanize/number.py:33
6666 msgctxt "9"
6767 msgid "th"
6868 msgstr "."
6969
70 #: src/humanize/number.py:62
70 #: src/humanize/number.py:73
7171 msgid "million"
7272 msgstr "miljoonaa"
7373
74 #: src/humanize/number.py:63
74 #: src/humanize/number.py:74
7575 msgid "billion"
7676 msgstr "miljardia"
7777
78 #: src/humanize/number.py:64
78 #: src/humanize/number.py:75
7979 msgid "trillion"
8080 msgstr "biljoonaa"
8181
82 #: src/humanize/number.py:65
82 #: src/humanize/number.py:76
8383 msgid "quadrillion"
8484 msgstr "kvadriljoonaa"
8585
86 #: src/humanize/number.py:66
86 #: src/humanize/number.py:77
8787 msgid "quintillion"
8888 msgstr "kvintiljoonaa"
8989
90 #: src/humanize/number.py:67
90 #: src/humanize/number.py:78
9191 msgid "sextillion"
9292 msgstr "sekstiljoonaa"
9393
94 #: src/humanize/number.py:68
94 #: src/humanize/number.py:79
9595 msgid "septillion"
9696 msgstr "septiljoonaa"
9797
98 #: src/humanize/number.py:69
98 #: src/humanize/number.py:80
9999 msgid "octillion"
100100 msgstr "oktiljoonaa"
101101
102 #: src/humanize/number.py:70
102 #: src/humanize/number.py:81
103103 msgid "nonillion"
104104 msgstr "noniljoonaa"
105105
106 #: src/humanize/number.py:71
106 #: src/humanize/number.py:82
107107 msgid "decillion"
108108 msgstr "dekiljoonaa"
109109
110 #: src/humanize/number.py:72
110 #: src/humanize/number.py:83
111111 msgid "googol"
112112 msgstr "googol"
113113
114 #: src/humanize/number.py:108
114 #: src/humanize/number.py:138
115 msgid "zero"
116 msgstr "nolla"
117
118 #: src/humanize/number.py:139
115119 msgid "one"
116120 msgstr "yksi"
117121
118 #: src/humanize/number.py:109
122 #: src/humanize/number.py:140
119123 msgid "two"
120124 msgstr "kaksi"
121125
122 #: src/humanize/number.py:110
126 #: src/humanize/number.py:141
123127 msgid "three"
124128 msgstr "kolme"
125129
126 #: src/humanize/number.py:111
130 #: src/humanize/number.py:142
127131 msgid "four"
128132 msgstr "neljä"
129133
130 #: src/humanize/number.py:112
134 #: src/humanize/number.py:143
131135 msgid "five"
132136 msgstr "viisi"
133137
134 #: src/humanize/number.py:113
138 #: src/humanize/number.py:144
135139 msgid "six"
136140 msgstr "kuusi"
137141
138 #: src/humanize/number.py:114
142 #: src/humanize/number.py:145
139143 msgid "seven"
140144 msgstr "seitsemän"
141145
142 #: src/humanize/number.py:115
146 #: src/humanize/number.py:146
143147 msgid "eight"
144148 msgstr "kahdeksan"
145149
146 #: src/humanize/number.py:116
150 #: src/humanize/number.py:147
147151 msgid "nine"
148152 msgstr "yhdeksän"
149153
150 #: src/humanize/time.py:68 src/humanize/time.py:131
154 #: src/humanize/time.py:87
155 #, fuzzy, python-format
156 msgid "%d microsecond"
157 msgid_plural "%d microseconds"
158 msgstr[0] "%d mikrosekunti"
159 msgstr[1] "%d mikrosekuntia"
160
161 #: src/humanize/time.py:93
162 #, fuzzy, python-format
163 msgid "%d millisecond"
164 msgid_plural "%d milliseconds"
165 msgstr[0] "%d millisekunti"
166 msgstr[1] "%d millisekuntia"
167
168 #: src/humanize/time.py:96 src/humanize/time.py:170
151169 msgid "a moment"
152170 msgstr "hetki"
153171
154 #: src/humanize/time.py:70
172 #: src/humanize/time.py:98
155173 msgid "a second"
156174 msgstr "sekunti"
157175
158 #: src/humanize/time.py:72
176 #: src/humanize/time.py:100
159177 #, python-format
160178 msgid "%d second"
161179 msgid_plural "%d seconds"
162180 msgstr[0] "%d sekunti"
163181 msgstr[1] "%d sekuntia"
164182
165 #: src/humanize/time.py:74
183 #: src/humanize/time.py:102
166184 msgid "a minute"
167185 msgstr "minuutti"
168186
169 #: src/humanize/time.py:77
187 #: src/humanize/time.py:105
170188 #, python-format
171189 msgid "%d minute"
172190 msgid_plural "%d minutes"
173191 msgstr[0] "%d minuutti"
174192 msgstr[1] "%d minuuttia"
175193
176 #: src/humanize/time.py:79
194 #: src/humanize/time.py:107
177195 msgid "an hour"
178196 msgstr "tunti"
179197
180 #: src/humanize/time.py:82
198 #: src/humanize/time.py:110
181199 #, python-format
182200 msgid "%d hour"
183201 msgid_plural "%d hours"
184202 msgstr[0] "%d tunti"
185203 msgstr[1] "%d tuntia"
186204
187 #: src/humanize/time.py:85
205 #: src/humanize/time.py:113
188206 msgid "a day"
189207 msgstr "päivä"
190208
191 #: src/humanize/time.py:87 src/humanize/time.py:90
209 #: src/humanize/time.py:115 src/humanize/time.py:118
192210 #, python-format
193211 msgid "%d day"
194212 msgid_plural "%d days"
195213 msgstr[0] "%d päivä"
196214 msgstr[1] "%d päivää"
197215
198 #: src/humanize/time.py:92
216 #: src/humanize/time.py:120
199217 msgid "a month"
200218 msgstr "kuukausi"
201219
202 #: src/humanize/time.py:94
220 #: src/humanize/time.py:122
203221 #, python-format
204222 msgid "%d month"
205223 msgid_plural "%d months"
206224 msgstr[0] "%d kuukausi"
207225 msgstr[1] "%d kuukautta"
208226
209 #: src/humanize/time.py:97
227 #: src/humanize/time.py:125
210228 msgid "a year"
211229 msgstr "vuosi"
212230
213 #: src/humanize/time.py:99 src/humanize/time.py:108
231 #: src/humanize/time.py:127 src/humanize/time.py:136
214232 #, python-format
215233 msgid "1 year, %d day"
216234 msgid_plural "1 year, %d days"
217235 msgstr[0] "1 vuosi, %d päivä"
218236 msgstr[1] "1 vuosi, %d päivää"
219237
220 #: src/humanize/time.py:102
238 #: src/humanize/time.py:130
221239 msgid "1 year, 1 month"
222240 msgstr "1 vuosi, 1 kuukausi"
223241
224 #: src/humanize/time.py:105
242 #: src/humanize/time.py:133
225243 #, python-format
226244 msgid "1 year, %d month"
227245 msgid_plural "1 year, %d months"
228246 msgstr[0] "1 vuosi, %d kuukausi"
229247 msgstr[1] "1 vuosi, %d kuukautta"
230248
231 #: src/humanize/time.py:110
249 #: src/humanize/time.py:138
232250 #, python-format
233251 msgid "%d year"
234252 msgid_plural "%d years"
235253 msgstr[0] "%d vuosi"
236254 msgstr[1] "%d vuotta"
237255
238 #: src/humanize/time.py:128
256 #: src/humanize/time.py:167
239257 #, python-format
240258 msgid "%s from now"
241259 msgstr "%s tästä"
242260
243 #: src/humanize/time.py:128
261 #: src/humanize/time.py:167
244262 #, python-format
245263 msgid "%s ago"
246264 msgstr "%s sitten"
247265
248 #: src/humanize/time.py:132
266 #: src/humanize/time.py:171
249267 msgid "now"
250268 msgstr "nyt"
251269
252 #: src/humanize/time.py:151
270 #: src/humanize/time.py:190
253271 msgid "today"
254272 msgstr "tänään"
255273
256 #: src/humanize/time.py:153
274 #: src/humanize/time.py:192
257275 msgid "tomorrow"
258276 msgstr "huomenna"
259277
260 #: src/humanize/time.py:155
278 #: src/humanize/time.py:194
261279 msgid "yesterday"
262280 msgstr "eilen"
66 msgstr ""
77 "Project-Id-Version: PROJECT VERSION\n"
88 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2020-02-08 20:05+0200\n"
9 "POT-Creation-Date: 2020-03-22 16:30+0200\n"
1010 "PO-Revision-Date: 2013-06-22 08:52+0100\n"
1111 "Last-Translator: Olivier Cortès <oc@1flow.io>\n"
1212 "Language-Team: fr_FR <LL@li.org>\n"
1818 "Generated-By: Babel 0.9.6\n"
1919 "X-Generator: Poedit 1.5.5\n"
2020
21 #: src/humanize/number.py:24
21 #: src/humanize/number.py:22
2222 #, fuzzy
2323 msgctxt "0"
2424 msgid "th"
2525 msgstr "e"
2626
27 #: src/humanize/number.py:25
27 #: src/humanize/number.py:23
2828 #, fuzzy
2929 msgctxt "1"
3030 msgid "st"
3131 msgstr "er"
3232
33 #: src/humanize/number.py:26
33 #: src/humanize/number.py:24
3434 #, fuzzy
3535 msgctxt "2"
3636 msgid "nd"
3737 msgstr "e"
3838
39 #: src/humanize/number.py:27
39 #: src/humanize/number.py:25
4040 #, fuzzy
4141 msgctxt "3"
4242 msgid "rd"
4343 msgstr "e"
4444
45 #: src/humanize/number.py:26
46 #, fuzzy
47 msgctxt "4"
48 msgid "th"
49 msgstr "e"
50
51 #: src/humanize/number.py:27
52 #, fuzzy
53 msgctxt "5"
54 msgid "th"
55 msgstr "e"
56
4557 #: src/humanize/number.py:28
4658 #, fuzzy
47 msgctxt "4"
59 msgctxt "6"
4860 msgid "th"
4961 msgstr "e"
5062
5163 #: src/humanize/number.py:29
5264 #, fuzzy
53 msgctxt "5"
65 msgctxt "7"
5466 msgid "th"
5567 msgstr "e"
5668
5769 #: src/humanize/number.py:30
5870 #, fuzzy
59 msgctxt "6"
71 msgctxt "8"
6072 msgid "th"
6173 msgstr "e"
6274
6375 #: src/humanize/number.py:31
6476 #, fuzzy
65 msgctxt "7"
66 msgid "th"
67 msgstr "e"
68
69 #: src/humanize/number.py:32
70 #, fuzzy
71 msgctxt "8"
72 msgid "th"
73 msgstr "e"
74
75 #: src/humanize/number.py:33
76 #, fuzzy
7777 msgctxt "9"
7878 msgid "th"
7979 msgstr "e"
8080
81 #: src/humanize/number.py:62
81 #: src/humanize/number.py:73
8282 #, fuzzy
8383 msgid "million"
8484 msgstr "%(value)s million"
8585
86 #: src/humanize/number.py:63
86 #: src/humanize/number.py:74
8787 msgid "billion"
8888 msgstr "milliard"
8989
90 #: src/humanize/number.py:64
90 #: src/humanize/number.py:75
9191 #, fuzzy
9292 msgid "trillion"
9393 msgstr "%(value)s billion"
9494
95 #: src/humanize/number.py:65
95 #: src/humanize/number.py:76
9696 #, fuzzy
9797 msgid "quadrillion"
9898 msgstr "%(value)s billiard"
9999
100 #: src/humanize/number.py:66
100 #: src/humanize/number.py:77
101101 #, fuzzy
102102 msgid "quintillion"
103103 msgstr "%(value)s trillion"
104104
105 #: src/humanize/number.py:67
105 #: src/humanize/number.py:78
106106 #, fuzzy
107107 msgid "sextillion"
108108 msgstr "%(value)s trilliard"
109109
110 #: src/humanize/number.py:68
110 #: src/humanize/number.py:79
111111 #, fuzzy
112112 msgid "septillion"
113113 msgstr "%(value)s quatrillion"
114114
115 #: src/humanize/number.py:69
115 #: src/humanize/number.py:80
116116 #, fuzzy
117117 msgid "octillion"
118118 msgstr "%(value)s quadrilliard"
119119
120 #: src/humanize/number.py:70
120 #: src/humanize/number.py:81
121121 #, fuzzy
122122 msgid "nonillion"
123123 msgstr "%(value)s quintillion"
124124
125 #: src/humanize/number.py:71
125 #: src/humanize/number.py:82
126126 #, fuzzy
127127 msgid "decillion"
128128 msgstr "%(value)s quintilliard"
129129
130 #: src/humanize/number.py:72
130 #: src/humanize/number.py:83
131131 #, fuzzy
132132 msgid "googol"
133133 msgstr "%(value)s gogol"
134134
135 #: src/humanize/number.py:108
135 #: src/humanize/number.py:138
136 msgid "zero"
137 msgstr "zéro"
138
139 #: src/humanize/number.py:139
136140 msgid "one"
137141 msgstr "un"
138142
139 #: src/humanize/number.py:109
143 #: src/humanize/number.py:140
140144 msgid "two"
141145 msgstr "deux"
142146
143 #: src/humanize/number.py:110
147 #: src/humanize/number.py:141
144148 msgid "three"
145149 msgstr "trois"
146150
147 #: src/humanize/number.py:111
151 #: src/humanize/number.py:142
148152 msgid "four"
149153 msgstr "quatre"
150154
151 #: src/humanize/number.py:112
155 #: src/humanize/number.py:143
152156 msgid "five"
153157 msgstr "cinq"
154158
155 #: src/humanize/number.py:113
159 #: src/humanize/number.py:144
156160 msgid "six"
157161 msgstr "six"
158162
159 #: src/humanize/number.py:114
163 #: src/humanize/number.py:145
160164 msgid "seven"
161165 msgstr "sept"
162166
163 #: src/humanize/number.py:115
167 #: src/humanize/number.py:146
164168 msgid "eight"
165169 msgstr "huit"
166170
167 #: src/humanize/number.py:116
171 #: src/humanize/number.py:147
168172 msgid "nine"
169173 msgstr "neuf"
170174
171 #: src/humanize/time.py:68 src/humanize/time.py:131
175 #: src/humanize/time.py:87
176 #, fuzzy, python-format
177 msgid "%d microsecond"
178 msgid_plural "%d microseconds"
179 msgstr[0] "%d microseconde"
180 msgstr[1] "%d microsecondes"
181
182 #: src/humanize/time.py:93
183 #, fuzzy, python-format
184 msgid "%d millisecond"
185 msgid_plural "%d milliseconds"
186 msgstr[0] "%d milliseconde"
187 msgstr[1] "%d millisecondes"
188
189 #: src/humanize/time.py:96 src/humanize/time.py:170
172190 msgid "a moment"
173191 msgstr "un moment"
174192
175 #: src/humanize/time.py:70
193 #: src/humanize/time.py:98
176194 msgid "a second"
177195 msgstr "une seconde"
178196
179 #: src/humanize/time.py:72
197 #: src/humanize/time.py:100
180198 #, python-format
181199 msgid "%d second"
182200 msgid_plural "%d seconds"
183201 msgstr[0] "%d seconde"
184202 msgstr[1] "%d secondes"
185203
186 #: src/humanize/time.py:74
204 #: src/humanize/time.py:102
187205 msgid "a minute"
188206 msgstr "une minute"
189207
190 #: src/humanize/time.py:77
208 #: src/humanize/time.py:105
191209 #, python-format
192210 msgid "%d minute"
193211 msgid_plural "%d minutes"
194212 msgstr[0] "%d minute"
195213 msgstr[1] "%d minutes"
196214
197 #: src/humanize/time.py:79
215 #: src/humanize/time.py:107
198216 msgid "an hour"
199217 msgstr "une heure"
200218
201 #: src/humanize/time.py:82
219 #: src/humanize/time.py:110
202220 #, python-format
203221 msgid "%d hour"
204222 msgid_plural "%d hours"
205223 msgstr[0] "%d heure"
206224 msgstr[1] "%d heures"
207225
208 #: src/humanize/time.py:85
226 #: src/humanize/time.py:113
209227 msgid "a day"
210228 msgstr "un jour"
211229
212 #: src/humanize/time.py:87 src/humanize/time.py:90
230 #: src/humanize/time.py:115 src/humanize/time.py:118
213231 #, python-format
214232 msgid "%d day"
215233 msgid_plural "%d days"
216234 msgstr[0] "%d jour"
217235 msgstr[1] "%d jours"
218236
219 #: src/humanize/time.py:92
237 #: src/humanize/time.py:120
220238 msgid "a month"
221239 msgstr "un mois"
222240
223 #: src/humanize/time.py:94
241 #: src/humanize/time.py:122
224242 #, python-format
225243 msgid "%d month"
226244 msgid_plural "%d months"
227245 msgstr[0] "%d mois"
228246 msgstr[1] "%d mois"
229247
230 #: src/humanize/time.py:97
248 #: src/humanize/time.py:125
231249 msgid "a year"
232250 msgstr "un an"
233251
234 #: src/humanize/time.py:99 src/humanize/time.py:108
252 #: src/humanize/time.py:127 src/humanize/time.py:136
235253 #, python-format
236254 msgid "1 year, %d day"
237255 msgid_plural "1 year, %d days"
238256 msgstr[0] "un an et %d jour"
239257 msgstr[1] "un an et %d jours"
240258
241 #: src/humanize/time.py:102
259 #: src/humanize/time.py:130
242260 msgid "1 year, 1 month"
243261 msgstr "un an et un mois"
244262
245 #: src/humanize/time.py:105
263 #: src/humanize/time.py:133
246264 #, python-format
247265 msgid "1 year, %d month"
248266 msgid_plural "1 year, %d months"
249267 msgstr[0] "un an et %d mois"
250268 msgstr[1] "un an et %d mois"
251269
252 #: src/humanize/time.py:110
270 #: src/humanize/time.py:138
253271 #, python-format
254272 msgid "%d year"
255273 msgid_plural "%d years"
256274 msgstr[0] "%d an"
257275 msgstr[1] "%d ans"
258276
259 #: src/humanize/time.py:128
277 #: src/humanize/time.py:167
260278 #, python-format
261279 msgid "%s from now"
262280 msgstr "dans %s"
263281
264 #: src/humanize/time.py:128
282 #: src/humanize/time.py:167
265283 #, python-format
266284 msgid "%s ago"
267285 msgstr "il y a %s"
268286
269 #: src/humanize/time.py:132
287 #: src/humanize/time.py:171
270288 msgid "now"
271289 msgstr "maintenant"
272290
273 #: src/humanize/time.py:151
291 #: src/humanize/time.py:190
274292 msgid "today"
275293 msgstr "aujourd'hui"
276294
277 #: src/humanize/time.py:153
295 #: src/humanize/time.py:192
278296 msgid "tomorrow"
279297 msgstr "demain"
280298
281 #: src/humanize/time.py:155
299 #: src/humanize/time.py:194
282300 msgid "yesterday"
283301 msgstr "hier"
66 msgstr ""
77 "Project-Id-Version: \n"
88 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2020-02-08 20:05+0200\n"
9 "POT-Creation-Date: 2020-03-22 16:30+0200\n"
1010 "PO-Revision-Date: 2018-10-27 22:52+0200\n"
1111 "Last-Translator: derfel <code@derfel.net>\n"
1212 "Language-Team: Italian\n"
1717 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
1818 "X-Generator: Poedit 2.2\n"
1919
20 #: src/humanize/number.py:24
20 #: src/humanize/number.py:22
2121 msgctxt "0"
2222 msgid "th"
2323 msgstr "º"
2424
25 #: src/humanize/number.py:25
25 #: src/humanize/number.py:23
2626 msgctxt "1"
2727 msgid "st"
2828 msgstr "º"
2929
30 #: src/humanize/number.py:26
30 #: src/humanize/number.py:24
3131 msgctxt "2"
3232 msgid "nd"
3333 msgstr "º"
3434
35 #: src/humanize/number.py:27
35 #: src/humanize/number.py:25
3636 msgctxt "3"
3737 msgid "rd"
3838 msgstr "º"
3939
40 #: src/humanize/number.py:26
41 msgctxt "4"
42 msgid "th"
43 msgstr "º"
44
45 #: src/humanize/number.py:27
46 msgctxt "5"
47 msgid "th"
48 msgstr "º"
49
4050 #: src/humanize/number.py:28
41 msgctxt "4"
51 msgctxt "6"
4252 msgid "th"
4353 msgstr "º"
4454
4555 #: src/humanize/number.py:29
46 msgctxt "5"
56 msgctxt "7"
4757 msgid "th"
4858 msgstr "º"
4959
5060 #: src/humanize/number.py:30
51 msgctxt "6"
61 msgctxt "8"
5262 msgid "th"
5363 msgstr "º"
5464
5565 #: src/humanize/number.py:31
56 msgctxt "7"
57 msgid "th"
58 msgstr "º"
59
60 #: src/humanize/number.py:32
61 msgctxt "8"
62 msgid "th"
63 msgstr "º"
64
65 #: src/humanize/number.py:33
6666 msgctxt "9"
6767 msgid "th"
6868 msgstr "º"
6969
70 #: src/humanize/number.py:62
70 #: src/humanize/number.py:73
7171 msgid "million"
7272 msgstr "milioni"
7373
74 #: src/humanize/number.py:63
74 #: src/humanize/number.py:74
7575 msgid "billion"
7676 msgstr "miliardi"
7777
78 #: src/humanize/number.py:64
78 #: src/humanize/number.py:75
7979 msgid "trillion"
8080 msgstr "bilioni"
8181
82 #: src/humanize/number.py:65
82 #: src/humanize/number.py:76
8383 msgid "quadrillion"
8484 msgstr "biliardi"
8585
86 #: src/humanize/number.py:66
86 #: src/humanize/number.py:77
8787 msgid "quintillion"
8888 msgstr "trilioni"
8989
90 #: src/humanize/number.py:67
90 #: src/humanize/number.py:78
9191 msgid "sextillion"
9292 msgstr "triliardi"
9393
94 #: src/humanize/number.py:68
94 #: src/humanize/number.py:79
9595 msgid "septillion"
9696 msgstr "quadrilioni"
9797
98 #: src/humanize/number.py:69
98 #: src/humanize/number.py:80
9999 msgid "octillion"
100100 msgstr "quadriliardi"
101101
102 #: src/humanize/number.py:70
102 #: src/humanize/number.py:81
103103 msgid "nonillion"
104104 msgstr "quintilioni"
105105
106 #: src/humanize/number.py:71
106 #: src/humanize/number.py:82
107107 msgid "decillion"
108108 msgstr "quintiliardi"
109109
110 #: src/humanize/number.py:72
110 #: src/humanize/number.py:83
111111 msgid "googol"
112112 msgstr "googol"
113113
114 #: src/humanize/number.py:108
114 #: src/humanize/number.py:138
115 msgid "zero"
116 msgstr "zero"
117
118 #: src/humanize/number.py:139
115119 msgid "one"
116120 msgstr "uno"
117121
118 #: src/humanize/number.py:109
122 #: src/humanize/number.py:140
119123 msgid "two"
120124 msgstr "due"
121125
122 #: src/humanize/number.py:110
126 #: src/humanize/number.py:141
123127 msgid "three"
124128 msgstr "tre"
125129
126 #: src/humanize/number.py:111
130 #: src/humanize/number.py:142
127131 msgid "four"
128132 msgstr "quattro"
129133
130 #: src/humanize/number.py:112
134 #: src/humanize/number.py:143
131135 msgid "five"
132136 msgstr "cinque"
133137
134 #: src/humanize/number.py:113
138 #: src/humanize/number.py:144
135139 msgid "six"
136140 msgstr "sei"
137141
138 #: src/humanize/number.py:114
142 #: src/humanize/number.py:145
139143 msgid "seven"
140144 msgstr "sette"
141145
142 #: src/humanize/number.py:115
146 #: src/humanize/number.py:146
143147 msgid "eight"
144148 msgstr "otto"
145149
146 #: src/humanize/number.py:116
150 #: src/humanize/number.py:147
147151 msgid "nine"
148152 msgstr "nove"
149153
150 #: src/humanize/time.py:68 src/humanize/time.py:131
154 #: src/humanize/time.py:87
155 #, fuzzy, python-format
156 msgid "%d microsecond"
157 msgid_plural "%d microseconds"
158 msgstr[0] "%d microsecondo"
159 msgstr[1] "%d microsecondi"
160
161 #: src/humanize/time.py:93
162 #, fuzzy, python-format
163 msgid "%d millisecond"
164 msgid_plural "%d milliseconds"
165 msgstr[0] "%d millisecondo"
166 msgstr[1] "%d millisecondi"
167
168 #: src/humanize/time.py:96 src/humanize/time.py:170
151169 msgid "a moment"
152170 msgstr "un momento"
153171
154 #: src/humanize/time.py:70
172 #: src/humanize/time.py:98
155173 msgid "a second"
156174 msgstr "un secondo"
157175
158 #: src/humanize/time.py:72
176 #: src/humanize/time.py:100
159177 #, python-format
160178 msgid "%d second"
161179 msgid_plural "%d seconds"
162180 msgstr[0] "%d secondo"
163181 msgstr[1] "%d secondi"
164182
165 #: src/humanize/time.py:74
183 #: src/humanize/time.py:102
166184 msgid "a minute"
167185 msgstr "un minuto"
168186
169 #: src/humanize/time.py:77
187 #: src/humanize/time.py:105
170188 #, python-format
171189 msgid "%d minute"
172190 msgid_plural "%d minutes"
173191 msgstr[0] "%d minuto"
174192 msgstr[1] "%d minuti"
175193
176 #: src/humanize/time.py:79
194 #: src/humanize/time.py:107
177195 msgid "an hour"
178196 msgstr "un'ora"
179197
180 #: src/humanize/time.py:82
198 #: src/humanize/time.py:110
181199 #, python-format
182200 msgid "%d hour"
183201 msgid_plural "%d hours"
184202 msgstr[0] "%d ora"
185203 msgstr[1] "%d ore"
186204
187 #: src/humanize/time.py:85
205 #: src/humanize/time.py:113
188206 msgid "a day"
189207 msgstr "un giorno"
190208
191 #: src/humanize/time.py:87 src/humanize/time.py:90
209 #: src/humanize/time.py:115 src/humanize/time.py:118
192210 #, python-format
193211 msgid "%d day"
194212 msgid_plural "%d days"
195213 msgstr[0] "%d giorno"
196214 msgstr[1] "%d giorni"
197215
198 #: src/humanize/time.py:92
216 #: src/humanize/time.py:120
199217 msgid "a month"
200218 msgstr "un mese"
201219
202 #: src/humanize/time.py:94
220 #: src/humanize/time.py:122
203221 #, python-format
204222 msgid "%d month"
205223 msgid_plural "%d months"
206224 msgstr[0] "%d mese"
207225 msgstr[1] "%d mesi"
208226
209 #: src/humanize/time.py:97
227 #: src/humanize/time.py:125
210228 msgid "a year"
211229 msgstr "un anno"
212230
213 #: src/humanize/time.py:99 src/humanize/time.py:108
231 #: src/humanize/time.py:127 src/humanize/time.py:136
214232 #, python-format
215233 msgid "1 year, %d day"
216234 msgid_plural "1 year, %d days"
217235 msgstr[0] "un anno e %d giorno"
218236 msgstr[1] "un anno e %d giorni"
219237
220 #: src/humanize/time.py:102
238 #: src/humanize/time.py:130
221239 msgid "1 year, 1 month"
222240 msgstr "un anno ed un mese"
223241
224 #: src/humanize/time.py:105
242 #: src/humanize/time.py:133
225243 #, python-format
226244 msgid "1 year, %d month"
227245 msgid_plural "1 year, %d months"
228246 msgstr[0] "un anno e %d mese"
229247 msgstr[1] "un anno e %d mesi"
230248
231 #: src/humanize/time.py:110
249 #: src/humanize/time.py:138
232250 #, python-format
233251 msgid "%d year"
234252 msgid_plural "%d years"
235253 msgstr[0] "%d anno"
236254 msgstr[1] "%d anni"
237255
238 #: src/humanize/time.py:128
256 #: src/humanize/time.py:167
239257 #, python-format
240258 msgid "%s from now"
241259 msgstr "fra %s"
242260
243 #: src/humanize/time.py:128
261 #: src/humanize/time.py:167
244262 #, python-format
245263 msgid "%s ago"
246264 msgstr "%s fa"
247265
248 #: src/humanize/time.py:132
266 #: src/humanize/time.py:171
249267 msgid "now"
250268 msgstr "adesso"
251269
252 #: src/humanize/time.py:151
270 #: src/humanize/time.py:190
253271 msgid "today"
254272 msgstr "oggi"
255273
256 #: src/humanize/time.py:153
274 #: src/humanize/time.py:192
257275 msgid "tomorrow"
258276 msgstr "domani"
259277
260 #: src/humanize/time.py:155
278 #: src/humanize/time.py:194
261279 msgid "yesterday"
262280 msgstr "ieri"
66 msgstr ""
77 "Project-Id-Version: PROJECT VERSION\n"
88 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2020-02-08 20:05+0200\n"
9 "POT-Creation-Date: 2020-03-22 16:30+0200\n"
1010 "PO-Revision-Date: 2015-03-25 21:08+0100\n"
1111 "Last-Translator: Martin van Wingerden\n"
1212 "Language-Team: nl_NL\n"
1818 "Generated-By: Babel 0.9.6\n"
1919 "X-Generator: Poedit 1.7.5\n"
2020
21 #: src/humanize/number.py:24
21 #: src/humanize/number.py:22
2222 msgctxt "0"
2323 msgid "th"
2424 msgstr "de"
2525
26 #: src/humanize/number.py:25
26 #: src/humanize/number.py:23
2727 msgctxt "1"
2828 msgid "st"
2929 msgstr "ste"
3030
31 #: src/humanize/number.py:26
31 #: src/humanize/number.py:24
3232 msgctxt "2"
3333 msgid "nd"
3434 msgstr "de"
3535
36 #: src/humanize/number.py:27
36 #: src/humanize/number.py:25
3737 msgctxt "3"
3838 msgid "rd"
3939 msgstr "de"
4040
41 #: src/humanize/number.py:26
42 msgctxt "4"
43 msgid "th"
44 msgstr "de"
45
46 #: src/humanize/number.py:27
47 msgctxt "5"
48 msgid "th"
49 msgstr "de"
50
4151 #: src/humanize/number.py:28
42 msgctxt "4"
52 msgctxt "6"
4353 msgid "th"
4454 msgstr "de"
4555
4656 #: src/humanize/number.py:29
47 msgctxt "5"
57 msgctxt "7"
4858 msgid "th"
4959 msgstr "de"
5060
5161 #: src/humanize/number.py:30
52 msgctxt "6"
62 msgctxt "8"
5363 msgid "th"
5464 msgstr "de"
5565
5666 #: src/humanize/number.py:31
57 msgctxt "7"
58 msgid "th"
59 msgstr "de"
60
61 #: src/humanize/number.py:32
62 msgctxt "8"
63 msgid "th"
64 msgstr "de"
65
66 #: src/humanize/number.py:33
6767 msgctxt "9"
6868 msgid "th"
6969 msgstr "de"
7070
71 #: src/humanize/number.py:62
71 #: src/humanize/number.py:73
7272 msgid "million"
7373 msgstr "miljoen"
7474
75 #: src/humanize/number.py:63
75 #: src/humanize/number.py:74
7676 msgid "billion"
7777 msgstr "miljard"
7878
79 #: src/humanize/number.py:64
79 #: src/humanize/number.py:75
8080 msgid "trillion"
8181 msgstr "biljoen"
8282
83 #: src/humanize/number.py:65
83 #: src/humanize/number.py:76
8484 msgid "quadrillion"
8585 msgstr "biljard"
8686
87 #: src/humanize/number.py:66
87 #: src/humanize/number.py:77
8888 msgid "quintillion"
8989 msgstr "triljoen"
9090
91 #: src/humanize/number.py:67
91 #: src/humanize/number.py:78
9292 msgid "sextillion"
9393 msgstr "triljard"
9494
95 #: src/humanize/number.py:68
95 #: src/humanize/number.py:79
9696 msgid "septillion"
9797 msgstr "quadriljoen"
9898
99 #: src/humanize/number.py:69
99 #: src/humanize/number.py:80
100100 msgid "octillion"
101101 msgstr "quadriljard"
102102
103 #: src/humanize/number.py:70
103 #: src/humanize/number.py:81
104104 msgid "nonillion"
105105 msgstr "quintiljoen"
106106
107 #: src/humanize/number.py:71
107 #: src/humanize/number.py:82
108108 msgid "decillion"
109109 msgstr "quintiljard"
110110
111 #: src/humanize/number.py:72
111 #: src/humanize/number.py:83
112112 msgid "googol"
113113 msgstr "googol"
114114
115 #: src/humanize/number.py:108
115 #: src/humanize/number.py:138
116 msgid "zero"
117 msgstr "nul"
118
119 #: src/humanize/number.py:139
116120 msgid "one"
117121 msgstr "één"
118122
119 #: src/humanize/number.py:109
123 #: src/humanize/number.py:140
120124 msgid "two"
121125 msgstr "twee"
122126
123 #: src/humanize/number.py:110
127 #: src/humanize/number.py:141
124128 msgid "three"
125129 msgstr "drie"
126130
127 #: src/humanize/number.py:111
131 #: src/humanize/number.py:142
128132 msgid "four"
129133 msgstr "vier"
130134
131 #: src/humanize/number.py:112
135 #: src/humanize/number.py:143
132136 msgid "five"
133137 msgstr "vijf"
134138
135 #: src/humanize/number.py:113
139 #: src/humanize/number.py:144
136140 msgid "six"
137141 msgstr "zes"
138142
139 #: src/humanize/number.py:114
143 #: src/humanize/number.py:145
140144 msgid "seven"
141145 msgstr "zeven"
142146
143 #: src/humanize/number.py:115
147 #: src/humanize/number.py:146
144148 msgid "eight"
145149 msgstr "acht"
146150
147 #: src/humanize/number.py:116
151 #: src/humanize/number.py:147
148152 msgid "nine"
149153 msgstr "negen"
150154
151 #: src/humanize/time.py:68 src/humanize/time.py:131
155 #: src/humanize/time.py:87
156 #, fuzzy, python-format
157 msgid "%d microsecond"
158 msgid_plural "%d microseconds"
159 msgstr[0] "%d microseconde"
160 msgstr[1] "%d microseconden"
161
162 #: src/humanize/time.py:93
163 #, fuzzy, python-format
164 msgid "%d millisecond"
165 msgid_plural "%d milliseconds"
166 msgstr[0] "%d milliseconde"
167 msgstr[1] "%d milliseconden"
168
169 #: src/humanize/time.py:96 src/humanize/time.py:170
152170 msgid "a moment"
153171 msgstr "een moment"
154172
155 #: src/humanize/time.py:70
173 #: src/humanize/time.py:98
156174 msgid "a second"
157175 msgstr "een seconde"
158176
159 #: src/humanize/time.py:72
177 #: src/humanize/time.py:100
160178 #, python-format
161179 msgid "%d second"
162180 msgid_plural "%d seconds"
163181 msgstr[0] "%d seconde"
164182 msgstr[1] "%d seconden"
165183
166 #: src/humanize/time.py:74
184 #: src/humanize/time.py:102
167185 msgid "a minute"
168186 msgstr "een minuut"
169187
170 #: src/humanize/time.py:77
188 #: src/humanize/time.py:105
171189 #, python-format
172190 msgid "%d minute"
173191 msgid_plural "%d minutes"
174192 msgstr[0] "%d minuut"
175193 msgstr[1] "%d minuten"
176194
177 #: src/humanize/time.py:79
195 #: src/humanize/time.py:107
178196 msgid "an hour"
179197 msgstr "een uur"
180198
181 #: src/humanize/time.py:82
199 #: src/humanize/time.py:110
182200 #, python-format
183201 msgid "%d hour"
184202 msgid_plural "%d hours"
185203 msgstr[0] "%d uur"
186204 msgstr[1] "%d uren"
187205
188 #: src/humanize/time.py:85
206 #: src/humanize/time.py:113
189207 msgid "a day"
190208 msgstr "een dag"
191209
192 #: src/humanize/time.py:87 src/humanize/time.py:90
210 #: src/humanize/time.py:115 src/humanize/time.py:118
193211 #, python-format
194212 msgid "%d day"
195213 msgid_plural "%d days"
196214 msgstr[0] "%d dag"
197215 msgstr[1] "%d dagen"
198216
199 #: src/humanize/time.py:92
217 #: src/humanize/time.py:120
200218 msgid "a month"
201219 msgstr "een maand"
202220
203 #: src/humanize/time.py:94
221 #: src/humanize/time.py:122
204222 #, python-format
205223 msgid "%d month"
206224 msgid_plural "%d months"
207225 msgstr[0] "%d maand"
208226 msgstr[1] "%d maanden"
209227
210 #: src/humanize/time.py:97
228 #: src/humanize/time.py:125
211229 msgid "a year"
212230 msgstr "een jaar"
213231
214 #: src/humanize/time.py:99 src/humanize/time.py:108
232 #: src/humanize/time.py:127 src/humanize/time.py:136
215233 #, python-format
216234 msgid "1 year, %d day"
217235 msgid_plural "1 year, %d days"
218236 msgstr[0] "1 jaar, %d dag"
219237 msgstr[1] "1 jaar, %d dagen"
220238
221 #: src/humanize/time.py:102
239 #: src/humanize/time.py:130
222240 msgid "1 year, 1 month"
223241 msgstr "1 jaar, 1 maand"
224242
225 #: src/humanize/time.py:105
243 #: src/humanize/time.py:133
226244 #, python-format
227245 msgid "1 year, %d month"
228246 msgid_plural "1 year, %d months"
229247 msgstr[0] "1 jaar, %d maand"
230248 msgstr[1] "1 jaar, %d maanden"
231249
232 #: src/humanize/time.py:110
250 #: src/humanize/time.py:138
233251 #, python-format
234252 msgid "%d year"
235253 msgid_plural "%d years"
236254 msgstr[0] "%d jaar"
237255 msgstr[1] "%d jaar"
238256
239 #: src/humanize/time.py:128
257 #: src/humanize/time.py:167
240258 #, python-format
241259 msgid "%s from now"
242260 msgstr "over %s"
243261
244 #: src/humanize/time.py:128
262 #: src/humanize/time.py:167
245263 #, python-format
246264 msgid "%s ago"
247265 msgstr "%s geleden"
248266
249 #: src/humanize/time.py:132
267 #: src/humanize/time.py:171
250268 msgid "now"
251269 msgstr "nu"
252270
253 #: src/humanize/time.py:151
271 #: src/humanize/time.py:190
254272 msgid "today"
255273 msgstr "vandaag"
256274
257 #: src/humanize/time.py:153
275 #: src/humanize/time.py:192
258276 msgid "tomorrow"
259277 msgstr "morgen"
260278
261 #: src/humanize/time.py:155
279 #: src/humanize/time.py:194
262280 msgid "yesterday"
263281 msgstr "gisteren"
66 msgstr ""
77 "Project-Id-Version: \n"
88 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2020-02-08 20:05+0200\n"
9 "POT-Creation-Date: 2020-03-22 16:30+0200\n"
1010 "PO-Revision-Date: 2016-06-15 15:58-0300\n"
1111 "Last-Translator: \n"
1212 "Language-Team: \n"
1717 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
1818 "X-Generator: Poedit 1.8.5\n"
1919
20 #: src/humanize/number.py:24
20 #: src/humanize/number.py:22
2121 msgctxt "0"
2222 msgid "th"
2323 msgstr "º"
2424
25 #: src/humanize/number.py:25
25 #: src/humanize/number.py:23
2626 msgctxt "1"
2727 msgid "st"
2828 msgstr "º"
2929
30 #: src/humanize/number.py:26
30 #: src/humanize/number.py:24
3131 msgctxt "2"
3232 msgid "nd"
3333 msgstr "º"
3434
35 #: src/humanize/number.py:27
35 #: src/humanize/number.py:25
3636 msgctxt "3"
3737 msgid "rd"
3838 msgstr "º"
3939
40 #: src/humanize/number.py:26
41 msgctxt "4"
42 msgid "th"
43 msgstr "º"
44
45 #: src/humanize/number.py:27
46 msgctxt "5"
47 msgid "th"
48 msgstr "º"
49
4050 #: src/humanize/number.py:28
41 msgctxt "4"
51 msgctxt "6"
4252 msgid "th"
4353 msgstr "º"
4454
4555 #: src/humanize/number.py:29
46 msgctxt "5"
56 msgctxt "7"
4757 msgid "th"
4858 msgstr "º"
4959
5060 #: src/humanize/number.py:30
51 msgctxt "6"
61 msgctxt "8"
5262 msgid "th"
5363 msgstr "º"
5464
5565 #: src/humanize/number.py:31
56 msgctxt "7"
57 msgid "th"
58 msgstr "º"
59
60 #: src/humanize/number.py:32
61 msgctxt "8"
62 msgid "th"
63 msgstr "º"
64
65 #: src/humanize/number.py:33
6666 msgctxt "9"
6767 msgid "th"
6868 msgstr "º"
6969
70 #: src/humanize/number.py:62
70 #: src/humanize/number.py:73
7171 msgid "million"
7272 msgstr "milhão"
7373
74 #: src/humanize/number.py:63
74 #: src/humanize/number.py:74
7575 msgid "billion"
7676 msgstr "bilhão"
7777
78 #: src/humanize/number.py:64
78 #: src/humanize/number.py:75
7979 msgid "trillion"
8080 msgstr "trilhão"
8181
82 #: src/humanize/number.py:65
82 #: src/humanize/number.py:76
8383 msgid "quadrillion"
8484 msgstr "quatrilhão"
8585
86 #: src/humanize/number.py:66
86 #: src/humanize/number.py:77
8787 msgid "quintillion"
8888 msgstr "quintilhão"
8989
90 #: src/humanize/number.py:67
90 #: src/humanize/number.py:78
9191 msgid "sextillion"
9292 msgstr "sextilhão"
9393
94 #: src/humanize/number.py:68
94 #: src/humanize/number.py:79
9595 msgid "septillion"
9696 msgstr "septilhão"
9797
98 #: src/humanize/number.py:69
98 #: src/humanize/number.py:80
9999 msgid "octillion"
100100 msgstr "octilhão"
101101
102 #: src/humanize/number.py:70
102 #: src/humanize/number.py:81
103103 msgid "nonillion"
104104 msgstr "nonilhão"
105105
106 #: src/humanize/number.py:71
106 #: src/humanize/number.py:82
107107 msgid "decillion"
108108 msgstr "decilhão"
109109
110 #: src/humanize/number.py:72
110 #: src/humanize/number.py:83
111111 msgid "googol"
112112 msgstr "undecilhão"
113113
114 #: src/humanize/number.py:108
114 #: src/humanize/number.py:138
115 msgid "zero"
116 msgstr "zero"
117
118 #: src/humanize/number.py:139
115119 msgid "one"
116120 msgstr "um"
117121
118 #: src/humanize/number.py:109
122 #: src/humanize/number.py:140
119123 msgid "two"
120124 msgstr "dois"
121125
122 #: src/humanize/number.py:110
126 #: src/humanize/number.py:141
123127 msgid "three"
124128 msgstr "três"
125129
126 #: src/humanize/number.py:111
130 #: src/humanize/number.py:142
127131 msgid "four"
128132 msgstr "quatro"
129133
130 #: src/humanize/number.py:112
134 #: src/humanize/number.py:143
131135 msgid "five"
132136 msgstr "cinco"
133137
134 #: src/humanize/number.py:113
138 #: src/humanize/number.py:144
135139 msgid "six"
136140 msgstr "seis"
137141
138 #: src/humanize/number.py:114
142 #: src/humanize/number.py:145
139143 msgid "seven"
140144 msgstr "sete"
141145
142 #: src/humanize/number.py:115
146 #: src/humanize/number.py:146
143147 msgid "eight"
144148 msgstr "oito"
145149
146 #: src/humanize/number.py:116
150 #: src/humanize/number.py:147
147151 msgid "nine"
148152 msgstr "nove"
149153
150 #: src/humanize/time.py:68 src/humanize/time.py:131
154 #: src/humanize/time.py:87
155 #, fuzzy, python-format
156 msgid "%d microsecond"
157 msgid_plural "%d microseconds"
158 msgstr[0] "%d microssegundo"
159 msgstr[1] "%d microssegundos"
160
161 #: src/humanize/time.py:93
162 #, fuzzy, python-format
163 msgid "%d millisecond"
164 msgid_plural "%d milliseconds"
165 msgstr[0] "%d milissegundo"
166 msgstr[1] "%d milissegundos"
167
168 #: src/humanize/time.py:96 src/humanize/time.py:170
151169 msgid "a moment"
152170 msgstr "um momento"
153171
154 #: src/humanize/time.py:70
172 #: src/humanize/time.py:98
155173 msgid "a second"
156174 msgstr "um segundo"
157175
158 #: src/humanize/time.py:72
176 #: src/humanize/time.py:100
159177 #, python-format
160178 msgid "%d second"
161179 msgid_plural "%d seconds"
162180 msgstr[0] "%d segundo"
163181 msgstr[1] "%d segundos"
164182
165 #: src/humanize/time.py:74
183 #: src/humanize/time.py:102
166184 msgid "a minute"
167185 msgstr "um minuto"
168186
169 #: src/humanize/time.py:77
187 #: src/humanize/time.py:105
170188 #, python-format
171189 msgid "%d minute"
172190 msgid_plural "%d minutes"
173191 msgstr[0] "%d minuto"
174192 msgstr[1] "%d minutos"
175193
176 #: src/humanize/time.py:79
194 #: src/humanize/time.py:107
177195 msgid "an hour"
178196 msgstr "uma hora"
179197
180 #: src/humanize/time.py:82
198 #: src/humanize/time.py:110
181199 #, python-format
182200 msgid "%d hour"
183201 msgid_plural "%d hours"
184202 msgstr[0] "%d hora"
185203 msgstr[1] "%d horas"
186204
187 #: src/humanize/time.py:85
205 #: src/humanize/time.py:113
188206 msgid "a day"
189207 msgstr "um dia"
190208
191 #: src/humanize/time.py:87 src/humanize/time.py:90
209 #: src/humanize/time.py:115 src/humanize/time.py:118
192210 #, python-format
193211 msgid "%d day"
194212 msgid_plural "%d days"
195213 msgstr[0] "%d dia"
196214 msgstr[1] "%d dias"
197215
198 #: src/humanize/time.py:92
216 #: src/humanize/time.py:120
199217 msgid "a month"
200218 msgstr "um mês"
201219
202 #: src/humanize/time.py:94
220 #: src/humanize/time.py:122
203221 #, python-format
204222 msgid "%d month"
205223 msgid_plural "%d months"
206224 msgstr[0] "%d mês"
207225 msgstr[1] "%d meses"
208226
209 #: src/humanize/time.py:97
227 #: src/humanize/time.py:125
210228 msgid "a year"
211229 msgstr "um ano"
212230
213 #: src/humanize/time.py:99 src/humanize/time.py:108
231 #: src/humanize/time.py:127 src/humanize/time.py:136
214232 #, python-format
215233 msgid "1 year, %d day"
216234 msgid_plural "1 year, %d days"
217235 msgstr[0] "1 ano e %d dia"
218236 msgstr[1] "1 ano e %d dias"
219237
220 #: src/humanize/time.py:102
238 #: src/humanize/time.py:130
221239 msgid "1 year, 1 month"
222240 msgstr "1 ano e 1 mês"
223241
224 #: src/humanize/time.py:105
242 #: src/humanize/time.py:133
225243 #, python-format
226244 msgid "1 year, %d month"
227245 msgid_plural "1 year, %d months"
228246 msgstr[0] "1 ano e %d mês"
229247 msgstr[1] "1 ano e %d meses"
230248
231 #: src/humanize/time.py:110
249 #: src/humanize/time.py:138
232250 #, python-format
233251 msgid "%d year"
234252 msgid_plural "%d years"
235253 msgstr[0] "%d ano"
236254 msgstr[1] "%d anos"
237255
238 #: src/humanize/time.py:128
256 #: src/humanize/time.py:167
239257 #, python-format
240258 msgid "%s from now"
241259 msgstr "em %s"
242260
243 #: src/humanize/time.py:128
261 #: src/humanize/time.py:167
244262 #, python-format
245263 msgid "%s ago"
246264 msgstr "a %s"
247265
248 #: src/humanize/time.py:132
266 #: src/humanize/time.py:171
249267 msgid "now"
250268 msgstr "agora"
251269
252 #: src/humanize/time.py:151
270 #: src/humanize/time.py:190
253271 msgid "today"
254272 msgstr "hoje"
255273
256 #: src/humanize/time.py:153
274 #: src/humanize/time.py:192
257275 msgid "tomorrow"
258276 msgstr "amanhã"
259277
260 #: src/humanize/time.py:155
278 #: src/humanize/time.py:194
261279 msgid "yesterday"
262280 msgstr "ontem"
77 msgstr ""
88 "Project-Id-Version: PACKAGE VERSION\n"
99 "Report-Msgid-Bugs-To: \n"
10 "POT-Creation-Date: 2020-02-08 20:05+0200\n"
10 "POT-Creation-Date: 2020-03-22 16:30+0200\n"
1111 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1212 "Last-Translator: Jose Riha <jose1711 gmail com>\n"
1313 "Language-Team: sk <LL@li.org>\n"
1717 "Content-Transfer-Encoding: 8bit\n"
1818 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
1919
20 #: src/humanize/number.py:24
20 #: src/humanize/number.py:22
2121 msgctxt "0"
2222 msgid "th"
2323 msgstr "."
2424
25 #: src/humanize/number.py:25
25 #: src/humanize/number.py:23
2626 msgctxt "1"
2727 msgid "st"
2828 msgstr "."
2929
30 #: src/humanize/number.py:26
30 #: src/humanize/number.py:24
3131 msgctxt "2"
3232 msgid "nd"
3333 msgstr "."
3434
35 #: src/humanize/number.py:27
35 #: src/humanize/number.py:25
3636 msgctxt "3"
3737 msgid "rd"
3838 msgstr "."
3939
40 #: src/humanize/number.py:26
41 msgctxt "4"
42 msgid "th"
43 msgstr "."
44
45 #: src/humanize/number.py:27
46 msgctxt "5"
47 msgid "th"
48 msgstr "."
49
4050 #: src/humanize/number.py:28
41 msgctxt "4"
51 msgctxt "6"
4252 msgid "th"
4353 msgstr "."
4454
4555 #: src/humanize/number.py:29
46 msgctxt "5"
56 msgctxt "7"
4757 msgid "th"
4858 msgstr "."
4959
5060 #: src/humanize/number.py:30
51 msgctxt "6"
61 msgctxt "8"
5262 msgid "th"
5363 msgstr "."
5464
5565 #: src/humanize/number.py:31
56 msgctxt "7"
57 msgid "th"
58 msgstr "."
59
60 #: src/humanize/number.py:32
61 msgctxt "8"
62 msgid "th"
63 msgstr "."
64
65 #: src/humanize/number.py:33
6666 msgctxt "9"
6767 msgid "th"
6868 msgstr "."
6969
70 #: src/humanize/number.py:62
70 #: src/humanize/number.py:73
7171 msgid "million"
7272 msgstr "milióna/ov"
7373
74 #: src/humanize/number.py:63
74 #: src/humanize/number.py:74
7575 msgid "billion"
7676 msgstr "miliardy/árd"
7777
78 #: src/humanize/number.py:64
78 #: src/humanize/number.py:75
7979 msgid "trillion"
8080 msgstr "bilióna/ov"
8181
82 #: src/humanize/number.py:65
82 #: src/humanize/number.py:76
8383 msgid "quadrillion"
8484 msgstr "biliardy/árd"
8585
86 #: src/humanize/number.py:66
86 #: src/humanize/number.py:77
8787 msgid "quintillion"
8888 msgstr "trilióna/árd"
8989
90 #: src/humanize/number.py:67
90 #: src/humanize/number.py:78
9191 msgid "sextillion"
9292 msgstr "triliardy/árd"
9393
94 #: src/humanize/number.py:68
94 #: src/humanize/number.py:79
9595 msgid "septillion"
9696 msgstr "kvadrilióna/ov"
9797
98 #: src/humanize/number.py:69
98 #: src/humanize/number.py:80
9999 msgid "octillion"
100100 msgstr "kvadriliardy/árd"
101101
102 #: src/humanize/number.py:70
102 #: src/humanize/number.py:81
103103 msgid "nonillion"
104104 msgstr "kvintilióna/ov"
105105
106 #: src/humanize/number.py:71
106 #: src/humanize/number.py:82
107107 msgid "decillion"
108108 msgstr "kvintiliardy/árd"
109109
110 #: src/humanize/number.py:72
110 #: src/humanize/number.py:83
111111 msgid "googol"
112112 msgstr "googola/ov"
113113
114 #: src/humanize/number.py:108
114 #: src/humanize/number.py:138
115 msgid "zero"
116 msgstr "nula"
117
118 #: src/humanize/number.py:139
115119 msgid "one"
116120 msgstr "jedna"
117121
118 #: src/humanize/number.py:109
122 #: src/humanize/number.py:140
119123 msgid "two"
120124 msgstr "dve"
121125
122 #: src/humanize/number.py:110
126 #: src/humanize/number.py:141
123127 msgid "three"
124128 msgstr "tri"
125129
126 #: src/humanize/number.py:111
130 #: src/humanize/number.py:142
127131 msgid "four"
128132 msgstr "štyri"
129133
130 #: src/humanize/number.py:112
134 #: src/humanize/number.py:143
131135 msgid "five"
132136 msgstr "päť"
133137
134 #: src/humanize/number.py:113
138 #: src/humanize/number.py:144
135139 msgid "six"
136140 msgstr "šesť"
137141
138 #: src/humanize/number.py:114
142 #: src/humanize/number.py:145
139143 msgid "seven"
140144 msgstr "sedem"
141145
142 #: src/humanize/number.py:115
146 #: src/humanize/number.py:146
143147 msgid "eight"
144148 msgstr "osem"
145149
146 #: src/humanize/number.py:116
150 #: src/humanize/number.py:147
147151 msgid "nine"
148152 msgstr "deväť"
149153
150 #: src/humanize/time.py:68 src/humanize/time.py:131
154 #: src/humanize/time.py:87
155 #, fuzzy, python-format
156 msgid "%d microsecond"
157 msgid_plural "%d microseconds"
158 msgstr[0] "%d mikrosekundu"
159 msgstr[1] "%d mikrosekundy"
160 msgstr[2] "%d mikrosekúnd"
161
162 #: src/humanize/time.py:93
163 #, fuzzy, python-format
164 msgid "%d millisecond"
165 msgid_plural "%d milliseconds"
166 msgstr[0] "%d milisekundu"
167 msgstr[1] "%d milisekundy"
168 msgstr[2] "%d milisekúnd"
169
170 #: src/humanize/time.py:96 src/humanize/time.py:170
151171 msgid "a moment"
152172 msgstr "chvíľku"
153173
154 #: src/humanize/time.py:70
174 #: src/humanize/time.py:98
155175 msgid "a second"
156176 msgstr "sekundu"
157177
158 #: src/humanize/time.py:72
178 #: src/humanize/time.py:100
159179 #, python-format
160180 msgid "%d second"
161181 msgid_plural "%d seconds"
163183 msgstr[1] "%d sekundy"
164184 msgstr[2] "%d sekúnd"
165185
166 #: src/humanize/time.py:74
186 #: src/humanize/time.py:102
167187 msgid "a minute"
168188 msgstr "minútu"
169189
170 #: src/humanize/time.py:77
190 #: src/humanize/time.py:105
171191 #, python-format
172192 msgid "%d minute"
173193 msgid_plural "%d minutes"
175195 msgstr[1] "%d minúty"
176196 msgstr[2] "%d minút"
177197
178 #: src/humanize/time.py:79
198 #: src/humanize/time.py:107
179199 msgid "an hour"
180200 msgstr "hodinu"
181201
182 #: src/humanize/time.py:82
202 #: src/humanize/time.py:110
183203 #, python-format
184204 msgid "%d hour"
185205 msgid_plural "%d hours"
187207 msgstr[1] "%d hodiny"
188208 msgstr[2] "%d hodín"
189209
190 #: src/humanize/time.py:85
210 #: src/humanize/time.py:113
191211 msgid "a day"
192212 msgstr "deň"
193213
194 #: src/humanize/time.py:87 src/humanize/time.py:90
214 #: src/humanize/time.py:115 src/humanize/time.py:118
195215 #, python-format
196216 msgid "%d day"
197217 msgid_plural "%d days"
199219 msgstr[1] "%d dni"
200220 msgstr[2] "%d dní"
201221
202 #: src/humanize/time.py:92
222 #: src/humanize/time.py:120
203223 msgid "a month"
204224 msgstr "mesiac"
205225
206 #: src/humanize/time.py:94
226 #: src/humanize/time.py:122
207227 #, python-format
208228 msgid "%d month"
209229 msgid_plural "%d months"
211231 msgstr[1] "%d mesiace"
212232 msgstr[2] "%d mesiacov"
213233
214 #: src/humanize/time.py:97
234 #: src/humanize/time.py:125
215235 msgid "a year"
216236 msgstr "rok"
217237
218 #: src/humanize/time.py:99 src/humanize/time.py:108
238 #: src/humanize/time.py:127 src/humanize/time.py:136
219239 #, python-format
220240 msgid "1 year, %d day"
221241 msgid_plural "1 year, %d days"
223243 msgstr[1] "1 rok, %d dni"
224244 msgstr[2] "1 rok, %d dní"
225245
226 #: src/humanize/time.py:102
246 #: src/humanize/time.py:130
227247 msgid "1 year, 1 month"
228248 msgstr "1 rok, 1 mesiac"
229249
230 #: src/humanize/time.py:105
250 #: src/humanize/time.py:133
231251 #, python-format
232252 msgid "1 year, %d month"
233253 msgid_plural "1 year, %d months"
235255 msgstr[1] "1 rok, %d mesiace"
236256 msgstr[2] "1 rok, %d mesiacov"
237257
238 #: src/humanize/time.py:110
258 #: src/humanize/time.py:138
239259 #, python-format
240260 msgid "%d year"
241261 msgid_plural "%d years"
243263 msgstr[1] "%d roky"
244264 msgstr[2] "%d rokov"
245265
246 #: src/humanize/time.py:128
266 #: src/humanize/time.py:167
247267 #, python-format
248268 msgid "%s from now"
249269 msgstr "o %s"
250270
251 #: src/humanize/time.py:128
271 #: src/humanize/time.py:167
252272 #, python-format
253273 msgid "%s ago"
254274 msgstr "%s naspäť"
255275
256 #: src/humanize/time.py:132
276 #: src/humanize/time.py:171
257277 msgid "now"
258278 msgstr "teraz"
259279
260 #: src/humanize/time.py:151
280 #: src/humanize/time.py:190
261281 msgid "today"
262282 msgstr "dnes"
263283
264 #: src/humanize/time.py:153
284 #: src/humanize/time.py:192
265285 msgid "tomorrow"
266286 msgstr "zajtra"
267287
268 #: src/humanize/time.py:155
288 #: src/humanize/time.py:194
269289 msgid "yesterday"
270290 msgstr "včera"
0 msgid ""
1 msgstr ""
2 "Project-Id-Version: PROJECT VERSION\n"
3 "Report-Msgid-Bugs-To: \n"
4 "POT-Creation-Date: 2020-03-22 16:59+0200\n"
5 "PO-Revision-Date: \n"
6 "Last-Translator: TL\n"
7 "Language-Team: uk_UA\n"
8 "Language: uk\n"
9 "MIME-Version: 1.0\n"
10 "Content-Type: text/plain; charset=utf-8\n"
11 "Content-Transfer-Encoding: 8bit\n"
12 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
13 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
14 "Generated-By:\n"
15 "X-Generator: \n"
16
17 #: src/humanize/number.py:22
18 msgctxt "0"
19 msgid "th"
20 msgstr "ий"
21
22 #: src/humanize/number.py:23
23 msgctxt "1"
24 msgid "st"
25 msgstr "ий"
26
27 #: src/humanize/number.py:24
28 msgctxt "2"
29 msgid "nd"
30 msgstr "ий"
31
32 #: src/humanize/number.py:25
33 msgctxt "3"
34 msgid "rd"
35 msgstr "ій"
36
37 #: src/humanize/number.py:26
38 msgctxt "4"
39 msgid "th"
40 msgstr "ий"
41
42 #: src/humanize/number.py:27
43 msgctxt "5"
44 msgid "th"
45 msgstr "ий"
46
47 #: src/humanize/number.py:28
48 msgctxt "6"
49 msgid "th"
50 msgstr "ий"
51
52 #: src/humanize/number.py:29
53 msgctxt "7"
54 msgid "th"
55 msgstr "ий"
56
57 #: src/humanize/number.py:30
58 msgctxt "8"
59 msgid "th"
60 msgstr "ий"
61
62 #: src/humanize/number.py:31
63 msgctxt "9"
64 msgid "th"
65 msgstr "ий"
66
67 #: src/humanize/number.py:73
68 msgid "million"
69 msgstr "мільйонів"
70
71 #: src/humanize/number.py:74
72 msgid "billion"
73 msgstr "мільярдів"
74
75 #: src/humanize/number.py:75
76 msgid "trillion"
77 msgstr "трильйонів"
78
79 #: src/humanize/number.py:76
80 msgid "quadrillion"
81 msgstr "квадрильйонів"
82
83 #: src/humanize/number.py:77
84 msgid "quintillion"
85 msgstr "квинтиліонів"
86
87 #: src/humanize/number.py:78
88 msgid "sextillion"
89 msgstr "сикстильйонів"
90
91 #: src/humanize/number.py:79
92 msgid "septillion"
93 msgstr "септильйонів"
94
95 #: src/humanize/number.py:80
96 msgid "octillion"
97 msgstr "октильйонів"
98
99 #: src/humanize/number.py:81
100 msgid "nonillion"
101 msgstr "нонильйонів"
102
103 #: src/humanize/number.py:82
104 msgid "decillion"
105 msgstr "децильйонів"
106
107 #: src/humanize/number.py:83
108 msgid "googol"
109 msgstr "гугола"
110
111 #: src/humanize/number.py:138
112 msgid "zero"
113 msgstr "нуль"
114
115 #: src/humanize/number.py:139
116 msgid "one"
117 msgstr "один"
118
119 #: src/humanize/number.py:140
120 msgid "two"
121 msgstr "два"
122
123 #: src/humanize/number.py:141
124 msgid "three"
125 msgstr "три"
126
127 #: src/humanize/number.py:142
128 msgid "four"
129 msgstr "чотири"
130
131 #: src/humanize/number.py:143
132 msgid "five"
133 msgstr "п'ять"
134
135 #: src/humanize/number.py:144
136 msgid "six"
137 msgstr "шість"
138
139 #: src/humanize/number.py:145
140 msgid "seven"
141 msgstr "сім"
142
143 #: src/humanize/number.py:146
144 msgid "eight"
145 msgstr "вісім"
146
147 #: src/humanize/number.py:147
148 msgid "nine"
149 msgstr "дев'ять"
150
151 #: src/humanize/time.py:87
152 #, fuzzy, python-format
153 msgid "%d microsecond"
154 msgid_plural "%d microseconds"
155 msgstr[0] "%d мікросекунда"
156 msgstr[1] "%d мікросекунд"
157 msgstr[2] "%d мікросекунди"
158
159 #: src/humanize/time.py:93
160 #, fuzzy, python-format
161 msgid "%d millisecond"
162 msgid_plural "%d milliseconds"
163 msgstr[0] "%d мілісекунда"
164 msgstr[1] "%d мілісекунди"
165 msgstr[2] "%d мілісекунди"
166
167 #: src/humanize/time.py:96 src/humanize/time.py:170
168 msgid "a moment"
169 msgstr "у цей момент"
170
171 #: src/humanize/time.py:98
172 msgid "a second"
173 msgstr "секунду"
174
175 #: src/humanize/time.py:100
176 #, python-format
177 msgid "%d second"
178 msgid_plural "%d seconds"
179 msgstr[0] "%d секунда"
180 msgstr[1] "%d секунд"
181 msgstr[2] "%d секунд"
182
183 #: src/humanize/time.py:102
184 msgid "a minute"
185 msgstr "хвилина"
186
187 #: src/humanize/time.py:105
188 #, python-format
189 msgid "%d minute"
190 msgid_plural "%d minutes"
191 msgstr[0] "%d хвилина"
192 msgstr[1] "%d хвилини"
193 msgstr[2] "%d хвилин"
194
195 #: src/humanize/time.py:107
196 msgid "an hour"
197 msgstr "година"
198
199 #: src/humanize/time.py:110
200 #, python-format
201 msgid "%d hour"
202 msgid_plural "%d hours"
203 msgstr[0] "%d година"
204 msgstr[1] "%d годин"
205 msgstr[2] "%d годин"
206
207 #: src/humanize/time.py:113
208 msgid "a day"
209 msgstr "день"
210
211 #: src/humanize/time.py:115 src/humanize/time.py:118
212 #, python-format
213 msgid "%d day"
214 msgid_plural "%d days"
215 msgstr[0] "%d день"
216 msgstr[1] "%d дня"
217 msgstr[2] "%d дні"
218
219 #: src/humanize/time.py:120
220 msgid "a month"
221 msgstr "місяць"
222
223 #: src/humanize/time.py:122
224 #, python-format
225 msgid "%d month"
226 msgid_plural "%d months"
227 msgstr[0] "%d місяць"
228 msgstr[1] "%d місяця"
229 msgstr[2] "%d місяців"
230
231 #: src/humanize/time.py:125
232 msgid "a year"
233 msgstr "рік"
234
235 #: src/humanize/time.py:127 src/humanize/time.py:136
236 #, python-format
237 msgid "1 year, %d day"
238 msgid_plural "1 year, %d days"
239 msgstr[0] "1 рік, %d день"
240 msgstr[1] "1 рік, %d дня"
241 msgstr[2] "1 рік, %d днів"
242
243 #: src/humanize/time.py:130
244 msgid "1 year, 1 month"
245 msgstr "1 рік, 1 місяць"
246
247 #: src/humanize/time.py:133
248 #, python-format
249 msgid "1 year, %d month"
250 msgid_plural "1 year, %d months"
251 msgstr[0] "1 рік, %d місяць"
252 msgstr[1] "1 рік, %d місяця"
253 msgstr[2] "1 рік, %d місяців"
254
255 #: src/humanize/time.py:138
256 #, python-format
257 msgid "%d year"
258 msgid_plural "%d years"
259 msgstr[0] "%d рік"
260 msgstr[1] "%d роки"
261 msgstr[2] "%d років"
262
263 #: src/humanize/time.py:167
264 #, python-format
265 msgid "%s from now"
266 msgstr "через %s"
267
268 #: src/humanize/time.py:167
269 #, python-format
270 msgid "%s ago"
271 msgstr "%s назад"
272
273 #: src/humanize/time.py:171
274 msgid "now"
275 msgstr "зараз"
276
277 #: src/humanize/time.py:190
278 msgid "today"
279 msgstr "сьогодні"
280
281 #: src/humanize/time.py:192
282 msgid "tomorrow"
283 msgstr "завтра"
284
285 #: src/humanize/time.py:194
286 msgid "yesterday"
287 msgstr "вчора"
3434 return "%d%s" % (value, t[value % 10])
3535
3636
37 def intcomma(value):
37 def intcomma(value, ndigits=None):
3838 """Converts an integer to a string containing commas every three digits.
39 For example, 3000 becomes '3,000' and 45000 becomes '45,000'. To maintain
40 some compatibility with Django's intcomma, this function also accepts
41 floats."""
39
40 For example, 3000 becomes "3,000" and 45000 becomes "45,000". To maintain some
41 compatibility with Django's intcomma, this function also accepts floats.
42
43 Args:
44 value (int, float, string): Integer or float to convert.
45 ndigits (int, None): digits of precision for rounding after the decimal point.
46
47 Returns:
48 str: string containing commas every three digits.
49 """
4250 try:
4351 if isinstance(value, str):
4452 float(value.replace(",", ""))
4654 float(value)
4755 except (TypeError, ValueError):
4856 return value
49 orig = str(value)
57
58 if ndigits:
59 orig = "{0:.{1}f}".format(value, ndigits)
60 else:
61 orig = str(value)
62
5063 new = re.sub(r"^(-?\d+)(\d{3})", r"\g<1>,\g<2>", orig)
5164 if orig == new:
5265 return new
105118
106119
107120 def apnumber(value):
108 """For numbers 1-9, returns the number spelled out. Otherwise, returns the
109 number. This follows Associated Press style. This always returns a string
110 unless the value was not int-able, unlike the Django filter."""
121 """Converts an integer to Associated Press style.
122
123 Args:
124 value (int, float, string): Integer to convert.
125
126 Returns:
127 str: For numbers 0-9, the number spelled out. Otherwise, the number. This always
128 returns a string unless the value was not int-able, unlike the Django filter.
129 """
111130 try:
112131 value = int(value)
113132 except (TypeError, ValueError):
114133 return value
115 if not 0 < value < 10:
134 if not 0 <= value < 10:
116135 return str(value)
117136 return (
137 _("zero"),
118138 _("one"),
119139 _("two"),
120140 _("three"),
124144 _("seven"),
125145 _("eight"),
126146 _("nine"),
127 )[value - 1]
147 )[value]
128148
129149
130150 def fractional(value):
00 Metadata-Version: 2.1
11 Name: humanize
2 Version: 2.0.0
2 Version: 2.2.0
33 Summary: Python humanize utilities
44 Home-page: https://github.com/jmoiron/humanize
55 Author: Jason Moiron
180180 How to add new phrases to existing locale files:
181181
182182 ```console
183 $ xgettext -o humanize.pot -k'_' -k'N_' -k'P_:1c,2' -l python src/humanize/*.py # extract new phrases
183 $ xgettext --from-code=UTF-8 -o humanize.pot -k'_' -k'N_' -k'P_:1c,2' -l python src/humanize/*.py # extract new phrases
184184 $ msgmerge -U src/humanize/locale/ru_RU/LC_MESSAGES/humanize.po humanize.pot # add them to locale files
185185 $ msgfmt --check -o src/humanize/locale/ru_RU/LC_MESSAGES/humanize{.mo,.po} # compile to binary .mo
186186 ```
1515 .github/workflows/lint.yml
1616 .github/workflows/release-drafter.yml
1717 .github/workflows/test.yml
18 scripts/update-translations.sh
1819 src/humanize/__init__.py
1920 src/humanize/filesize.py
2021 src/humanize/i18n.py
5253 src/humanize/locale/sk_SK/LC_MESSAGES/humanize.po
5354 src/humanize/locale/tr_TR/LC_MESSAGES/humanize.mo
5455 src/humanize/locale/tr_TR/LC_MESSAGES/humanize.po
56 src/humanize/locale/uk_UA/LC_MESSAGES/humanize.mo
57 src/humanize/locale/uk_UA/LC_MESSAGES/humanize.po
5558 src/humanize/locale/vi_VI/LC_MESSAGES/humanize.mo
5659 src/humanize/locale/vi_VI/LC_MESSAGES/humanize.po
5760 src/humanize/locale/zh_CN/LC_MESSAGES/humanize.mo
3030 ([10 ** 26 * 30, True, False, "%.3f"], "2481.542 YiB"),
3131 ],
3232 )
33 def test_naturaltime_minimum_unit_default(test_args, expected):
33 def test_naturalsize(test_args, expected):
3434 assert humanize.naturalsize(*test_args) == expected
35
36 args_with_negative = test_args
37 args_with_negative[0] *= -1
38 assert humanize.naturalsize(*args_with_negative) == "-" + expected
2929
3030
3131 @pytest.mark.parametrize(
32 "test_input, expected",
32 "test_args, expected",
3333 [
34 (100, "100"),
35 (1000, "1,000"),
36 (10123, "10,123"),
37 (10311, "10,311"),
38 (1000000, "1,000,000"),
39 (1234567.25, "1,234,567.25"),
40 ("100", "100"),
41 ("1000", "1,000"),
42 ("10123", "10,123"),
43 ("10311", "10,311"),
44 ("1000000", "1,000,000"),
45 ("1234567.1234567", "1,234,567.1234567"),
46 (None, None),
34 ([100], "100"),
35 ([1000], "1,000"),
36 ([10123], "10,123"),
37 ([10311], "10,311"),
38 ([1000000], "1,000,000"),
39 ([1234567.25], "1,234,567.25"),
40 (["100"], "100"),
41 (["1000"], "1,000"),
42 (["10123"], "10,123"),
43 (["10311"], "10,311"),
44 (["1000000"], "1,000,000"),
45 (["1234567.1234567"], "1,234,567.1234567"),
46 ([None], None),
47 ([14308.40], "14,308.4"),
48 ([14308.40, None], "14,308.4"),
49 ([14308.40, 1], "14,308.4"),
50 ([14308.40, 2], "14,308.40"),
51 ([14308.40, 3], "14,308.400"),
52 ([1234.5454545], "1,234.5454545"),
53 ([1234.5454545, None], "1,234.5454545"),
54 ([1234.5454545, 1], "1,234.5"),
55 ([1234.5454545, 2], "1,234.55"),
56 ([1234.5454545, 3], "1,234.545"),
57 ([1234.5454545, 10], "1,234.5454545000"),
4758 ],
4859 )
49 def test_intcomma(test_input, expected):
50 assert humanize.intcomma(test_input) == expected
60 def test_intcomma(test_args, expected):
61 assert humanize.intcomma(*test_args) == expected
5162
5263
5364 def test_intword_powers():
8596 @pytest.mark.parametrize(
8697 "test_input, expected",
8798 [
99 (0, "zero"),
88100 (1, "one"),
89101 (2, "two"),
90102 (4, "four"),