From 65b21f5574a4fcb27799a500162b39a92baa8103 Mon Sep 17 00:00:00 2001 From: Denys Nykula Date: Fri, 20 Feb 2026 19:05:05 +0200 Subject: [PATCH] Fix Ukrainian seconds and add weeks --- arrow/locales.py | 14 ++++++++++++-- tests/test_locales.py | 9 ++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/arrow/locales.py b/arrow/locales.py index 757df480..b259e110 100644 --- a/arrow/locales.py +++ b/arrow/locales.py @@ -1757,8 +1757,12 @@ class UkrainianLocale(SlavicBaseLocale): timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { "now": "зараз", - "second": "секунда", - "seconds": "{0} кілька секунд", + "second": "секунду", + "seconds": { + "singular": "{0} секунду", + "dual": "{0} секунди", + "plural": "{0} секунд", + }, "minute": "хвилину", "minutes": { "singular": "{0} хвилину", @@ -1773,6 +1777,12 @@ class UkrainianLocale(SlavicBaseLocale): }, "day": "день", "days": {"singular": "{0} день", "dual": "{0} дні", "plural": "{0} днів"}, + "week": "тиждень", + "weeks": { + "singular": "{0} тиждень", + "dual": "{0} тижні", + "plural": "{0} тижнів", + }, "month": "місяць", "months": { "singular": "{0} місяць", diff --git a/tests/test_locales.py b/tests/test_locales.py index 3d7120e3..0ce24c38 100644 --- a/tests/test_locales.py +++ b/tests/test_locales.py @@ -3665,24 +3665,27 @@ def test_format_relative_future(self): class TestUkrainianLocale: def test_timeframes(self): assert self.locale._format_timeframe("now", 0) == "зараз" - assert self.locale._format_timeframe("second", 1) == "секунда" + assert self.locale._format_timeframe("second", 1) == "секунду" assert self.locale._format_timeframe("minute", 1) == "хвилину" assert self.locale._format_timeframe("hour", 1) == "годину" + assert self.locale._format_timeframe("week", 1) == "тиждень" assert self.locale._format_timeframe("day", 1) == "день" assert self.locale._format_timeframe("month", 1) == "місяць" assert self.locale._format_timeframe("year", 1) == "рік" - assert self.locale._format_timeframe("seconds", 2) == "2 кілька секунд" + assert self.locale._format_timeframe("seconds", 2) == "2 секунди" assert self.locale._format_timeframe("minutes", 2) == "2 хвилини" assert self.locale._format_timeframe("hours", 2) == "2 години" assert self.locale._format_timeframe("days", 2) == "2 дні" + assert self.locale._format_timeframe("weeks", 2) == "2 тижні" assert self.locale._format_timeframe("months", 2) == "2 місяці" assert self.locale._format_timeframe("years", 2) == "2 роки" - assert self.locale._format_timeframe("seconds", 5) == "5 кілька секунд" + assert self.locale._format_timeframe("seconds", 5) == "5 секунд" assert self.locale._format_timeframe("minutes", 5) == "5 хвилин" assert self.locale._format_timeframe("hours", 5) == "5 годин" assert self.locale._format_timeframe("days", 5) == "5 днів" + assert self.locale._format_timeframe("weeks", 5) == "5 тижнів" assert self.locale._format_timeframe("months", 5) == "5 місяців" assert self.locale._format_timeframe("years", 5) == "5 років"