Skip to content

Commit

Permalink
Add Lithuanian locale
Browse files Browse the repository at this point in the history
  • Loading branch information
naglis committed Apr 17, 2020
1 parent 685fc46 commit 381e73c
Show file tree
Hide file tree
Showing 4 changed files with 124 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Expand Up @@ -99,6 +99,7 @@ At the time we're speaking, [following locale](src/timeago/locales) are availabl
- `it`
- `ja`
- `ko`
- `lt`
- `ml`
- `my`
- `nb_NO`
Expand Down
1 change: 1 addition & 0 deletions README.rst
Expand Up @@ -108,6 +108,7 @@ At the time we're speaking, `following locale`_ are available:
- ``it``
- ``ja``
- ``ko``
- ``lt``
- ``ml``
- ``my``
- ``nb_NO``
Expand Down
43 changes: 43 additions & 0 deletions src/timeago/locales/lt.py
@@ -0,0 +1,43 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
Created on 2020-04-17
@author: naglis
'''

base = [
["ką tik", "po akimirkos"],
["prieš %s sekundę", "po %s sekundės", "prieš %s sekundes", "po %s sekundžių", "prieš %s sekundžių", "po %s sekundžių"],
["prieš 1 minutę", "po 1 minutės"],
["prieš %s minutę", "po %s minutės", "prieš %s minutes", "po %s minučių", "prieš %s minučių", "po %s minučių"],
["prieš 1 valandą", "po 1 valandos"],
["prieš %s valandą", "po %s valandos", "prieš %s valandas", "po %s valandų", "prieš %s valandų", "po %s valandų"],
["prieš 1 dieną", "po 1 dienos"],
["prieš %s dieną", "po %s dienos", "prieš %s dienas", "po %s dienų", "prieš %s dienų", "po %s dienų"],
["prieš 1 savaitę", "po 1 savaitės"],
["prieš %s savaitę", "po %s savaitės", "prieš %s savaites", "po %s savaičių", "prieš %s savaičių", "po %s savaičių"],
["prieš 1 mėnesį", "po 1 mėnesio"],
["prieš %s mėnesį", "po %s mėnesio", "prieš %s mėnesius", "po %s mėnesių", "prieš %s mėnesių", "po %s mėnesių"],
["prieš 1 metus", "po 1 metų"],
["prieš %s metus", "po %s metų", "prieš %s metus", "po %s metų", "prieš %s metų", "po %s metų"],
]


def generate(row, y):
def formatting(time):
if row % 2 == 0:
return base[row][y]

r_10, r_100 = time % 10, time % 100
if 10 < r_100 < 20 or r_10 == 0:
return base[row][y + 4]
elif r_10 != 1:
return base[row][y + 2]
else:
return base[row][y]

return formatting


LOCALE = generate
79 changes: 79 additions & 0 deletions test/testcase.py
Expand Up @@ -2291,5 +2291,84 @@ def test_timeago_uk(self):
now = date + datetime.timedelta(seconds=31536000 * 100)
self.assertEqual(timeago.format(date, now, locale), '100 років тому')

def test_timeago_lt(self):
locale = 'lt'
date = datetime.datetime.now()
now = date + datetime.timedelta(seconds=2)
self.assertEqual(timeago.format(date, now, locale), 'ką tik')

now = date + datetime.timedelta(seconds=10)
self.assertEqual(timeago.format(date, now, locale), 'prieš 10 sekundžių')

now = date + datetime.timedelta(seconds=12)
self.assertEqual(timeago.format(date, now, locale), 'prieš 12 sekundžių')

now = date + datetime.timedelta(seconds=60)
self.assertEqual(timeago.format(date, now, locale), 'prieš 1 minutę')

now = date + datetime.timedelta(seconds=60 * 3.4)
self.assertEqual(timeago.format(date, now, locale), 'prieš 3 minutes')

now = date + datetime.timedelta(seconds=3600)
self.assertEqual(timeago.format(date, now, locale), 'prieš 1 valandą')

now = date + datetime.timedelta(seconds=3600 * 2)
self.assertEqual(timeago.format(date, now, locale), 'prieš 2 valandas')

now = date + datetime.timedelta(seconds=3600 * 15)
self.assertEqual(timeago.format(date, now, locale), 'prieš 15 valandų')

now = date + datetime.timedelta(seconds=3600 * 20)
self.assertEqual(timeago.format(date, now, locale), 'prieš 20 valandų')

now = date + datetime.timedelta(seconds=3600 * 22)
self.assertEqual(timeago.format(date, now, locale), 'prieš 22 valandas')

now = date + datetime.timedelta(seconds=86400)
self.assertEqual(timeago.format(date, now, locale), 'prieš 1 dieną')

now = date + datetime.timedelta(seconds=86400 * 4.5)
self.assertEqual(timeago.format(date, now, locale), 'prieš 4 dienas')

now = date + datetime.timedelta(seconds=2592000)
self.assertEqual(timeago.format(date, now, locale), 'prieš 4 savaites')

now = date + datetime.timedelta(seconds=2592000 * 3.5)
self.assertEqual(timeago.format(date, now, locale), 'prieš 3 mėnesius')

now = date + datetime.timedelta(seconds=31536000)
self.assertEqual(timeago.format(date, now, locale), 'prieš 1 metus')

now = date + datetime.timedelta(seconds=31536000 * 1.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 1 metus')

now = date + datetime.timedelta(seconds=31536000 * 2.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 2 metus')

now = date + datetime.timedelta(seconds=31536000 * 10.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 10 metų')

now = date + datetime.timedelta(seconds=31536000 * 17.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 17 metų')

now = date + datetime.timedelta(seconds=31536000 * 20.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 20 metų')

now = date + datetime.timedelta(seconds=31536000 * 28.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 28 metus')

now = date + datetime.timedelta(seconds=31536000 * 103.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 103 metus')

now = date + datetime.timedelta(seconds=31536000 * 110.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 110 metų')

now = date + datetime.timedelta(seconds=31536000 * 111.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 111 metų')

now = date + datetime.timedelta(seconds=31536000 * 125.1)
self.assertEqual(timeago.format(date, now, locale), 'prieš 125 metus')


if __name__ == '__main__':
unittest.main()

0 comments on commit 381e73c

Please sign in to comment.