diff --git a/locales/af/LC_MESSAGES/messages.po b/locales/af/LC_MESSAGES/messages.po index 5ac84c9de..8985acb1c 100644 --- a/locales/af/LC_MESSAGES/messages.po +++ b/locales/af/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: af\n" "Language-Team: af \n" diff --git a/locales/am/LC_MESSAGES/messages.po b/locales/am/LC_MESSAGES/messages.po index 0521d0d4a..07c05ce96 100644 --- a/locales/am/LC_MESSAGES/messages.po +++ b/locales/am/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: am\n" "Language-Team: am \n" diff --git a/locales/ar/LC_MESSAGES/messages.po b/locales/ar/LC_MESSAGES/messages.po index 44f67d320..a41908406 100644 --- a/locales/ar/LC_MESSAGES/messages.po +++ b/locales/ar/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ar\n" "Language-Team: ar \n" diff --git a/locales/az/LC_MESSAGES/messages.po b/locales/az/LC_MESSAGES/messages.po index ed7495889..5f31346eb 100644 --- a/locales/az/LC_MESSAGES/messages.po +++ b/locales/az/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: az\n" "Language-Team: az \n" diff --git a/locales/be/LC_MESSAGES/messages.po b/locales/be/LC_MESSAGES/messages.po index e91d8a4dd..47c13c35a 100644 --- a/locales/be/LC_MESSAGES/messages.po +++ b/locales/be/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: be\n" "Language-Team: be \n" diff --git a/locales/bg/LC_MESSAGES/messages.po b/locales/bg/LC_MESSAGES/messages.po index bd453413b..f0e854354 100644 --- a/locales/bg/LC_MESSAGES/messages.po +++ b/locales/bg/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: bg\n" "Language-Team: bg \n" diff --git a/locales/bn/LC_MESSAGES/messages.po b/locales/bn/LC_MESSAGES/messages.po index 638e3fdad..770530e3c 100644 --- a/locales/bn/LC_MESSAGES/messages.po +++ b/locales/bn/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: bn\n" "Language-Team: bn \n" diff --git a/locales/bs/LC_MESSAGES/messages.po b/locales/bs/LC_MESSAGES/messages.po index ad45dce56..ab130d2a7 100644 --- a/locales/bs/LC_MESSAGES/messages.po +++ b/locales/bs/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: bs\n" "Language-Team: bs \n" diff --git a/locales/ca/LC_MESSAGES/messages.po b/locales/ca/LC_MESSAGES/messages.po index 0a79591fc..cd3f4e133 100644 --- a/locales/ca/LC_MESSAGES/messages.po +++ b/locales/ca/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ca\n" "Language-Team: ca \n" diff --git a/locales/ceb/LC_MESSAGES/messages.po b/locales/ceb/LC_MESSAGES/messages.po index 7d88723c4..dc1ad8a0a 100644 --- a/locales/ceb/LC_MESSAGES/messages.po +++ b/locales/ceb/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ceb\n" "Language-Team: ceb \n" diff --git a/locales/co/LC_MESSAGES/messages.po b/locales/co/LC_MESSAGES/messages.po index a047afd9d..f65c897cb 100644 --- a/locales/co/LC_MESSAGES/messages.po +++ b/locales/co/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: co\n" "Language-Team: co \n" diff --git a/locales/cs/LC_MESSAGES/messages.po b/locales/cs/LC_MESSAGES/messages.po index 075a76e71..fd3aa3db3 100644 --- a/locales/cs/LC_MESSAGES/messages.po +++ b/locales/cs/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: cs\n" "Language-Team: cs \n" diff --git a/locales/cy/LC_MESSAGES/messages.po b/locales/cy/LC_MESSAGES/messages.po index 6e7e8cb36..7440cb30b 100644 --- a/locales/cy/LC_MESSAGES/messages.po +++ b/locales/cy/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: cy\n" "Language-Team: cy \n" diff --git a/locales/da/LC_MESSAGES/messages.po b/locales/da/LC_MESSAGES/messages.po index 9c61b7eed..0b86ec242 100644 --- a/locales/da/LC_MESSAGES/messages.po +++ b/locales/da/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: da\n" "Language-Team: da \n" diff --git a/locales/de/LC_MESSAGES/messages.po b/locales/de/LC_MESSAGES/messages.po index d9fb6b3dd..1bf4e63aa 100644 --- a/locales/de/LC_MESSAGES/messages.po +++ b/locales/de/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: de\n" "Language-Team: de \n" diff --git a/locales/el/LC_MESSAGES/messages.po b/locales/el/LC_MESSAGES/messages.po index c3b94bcc0..4ff43c859 100644 --- a/locales/el/LC_MESSAGES/messages.po +++ b/locales/el/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: el\n" "Language-Team: el \n" diff --git a/locales/en/LC_MESSAGES/messages.po b/locales/en/LC_MESSAGES/messages.po index d192b4d96..b001cf5a4 100644 --- a/locales/en/LC_MESSAGES/messages.po +++ b/locales/en/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: en\n" "Language-Team: en \n" diff --git a/locales/eo/LC_MESSAGES/messages.po b/locales/eo/LC_MESSAGES/messages.po index d67fead6b..8c11c970c 100644 --- a/locales/eo/LC_MESSAGES/messages.po +++ b/locales/eo/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: eo\n" "Language-Team: eo \n" diff --git a/locales/es/LC_MESSAGES/messages.po b/locales/es/LC_MESSAGES/messages.po index e50f5504e..df9c89307 100644 --- a/locales/es/LC_MESSAGES/messages.po +++ b/locales/es/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: es\n" "Language-Team: es \n" diff --git a/locales/et/LC_MESSAGES/messages.po b/locales/et/LC_MESSAGES/messages.po index c70686fe7..23851d434 100644 --- a/locales/et/LC_MESSAGES/messages.po +++ b/locales/et/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: et\n" "Language-Team: et \n" diff --git a/locales/eu/LC_MESSAGES/messages.po b/locales/eu/LC_MESSAGES/messages.po index 2c4133bcd..c47fcf6e6 100644 --- a/locales/eu/LC_MESSAGES/messages.po +++ b/locales/eu/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: eu\n" "Language-Team: eu \n" diff --git a/locales/fa/LC_MESSAGES/messages.po b/locales/fa/LC_MESSAGES/messages.po index ab3126b00..26ec2917a 100644 --- a/locales/fa/LC_MESSAGES/messages.po +++ b/locales/fa/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: fa\n" "Language-Team: fa \n" diff --git a/locales/fi/LC_MESSAGES/messages.po b/locales/fi/LC_MESSAGES/messages.po index 333133a01..3c60d679e 100644 --- a/locales/fi/LC_MESSAGES/messages.po +++ b/locales/fi/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: fi\n" "Language-Team: fi \n" diff --git a/locales/fr/LC_MESSAGES/messages.po b/locales/fr/LC_MESSAGES/messages.po index 976508c26..24e3f4f89 100644 --- a/locales/fr/LC_MESSAGES/messages.po +++ b/locales/fr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: fr\n" "Language-Team: fr \n" diff --git a/locales/fy/LC_MESSAGES/messages.po b/locales/fy/LC_MESSAGES/messages.po index 99684cc86..e83807cb3 100644 --- a/locales/fy/LC_MESSAGES/messages.po +++ b/locales/fy/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: fy\n" "Language-Team: fy \n" diff --git a/locales/ga/LC_MESSAGES/messages.po b/locales/ga/LC_MESSAGES/messages.po index 165e9279c..7ec62bccd 100644 --- a/locales/ga/LC_MESSAGES/messages.po +++ b/locales/ga/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ga\n" "Language-Team: ga \n" diff --git a/locales/gd/LC_MESSAGES/messages.po b/locales/gd/LC_MESSAGES/messages.po index 76e6b18ab..716b7b2c3 100644 --- a/locales/gd/LC_MESSAGES/messages.po +++ b/locales/gd/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: gd\n" "Language-Team: gd \n" diff --git a/locales/gl/LC_MESSAGES/messages.po b/locales/gl/LC_MESSAGES/messages.po index eb7f92520..03967bac0 100644 --- a/locales/gl/LC_MESSAGES/messages.po +++ b/locales/gl/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: gl\n" "Language-Team: gl \n" diff --git a/locales/gu/LC_MESSAGES/messages.po b/locales/gu/LC_MESSAGES/messages.po index 70c8afff6..a03a42e63 100644 --- a/locales/gu/LC_MESSAGES/messages.po +++ b/locales/gu/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: gu\n" "Language-Team: gu \n" diff --git a/locales/ha/LC_MESSAGES/messages.po b/locales/ha/LC_MESSAGES/messages.po index 126c660f3..93b2993bf 100644 --- a/locales/ha/LC_MESSAGES/messages.po +++ b/locales/ha/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ha\n" "Language-Team: ha \n" diff --git a/locales/haw/LC_MESSAGES/messages.po b/locales/haw/LC_MESSAGES/messages.po index 9045acf2d..607d97402 100644 --- a/locales/haw/LC_MESSAGES/messages.po +++ b/locales/haw/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: haw\n" "Language-Team: haw \n" diff --git a/locales/he/LC_MESSAGES/messages.po b/locales/he/LC_MESSAGES/messages.po index c711c6800..9fe97ed47 100644 --- a/locales/he/LC_MESSAGES/messages.po +++ b/locales/he/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: he\n" "Language-Team: he \n" diff --git a/locales/hi/LC_MESSAGES/messages.po b/locales/hi/LC_MESSAGES/messages.po index 22200ea5a..8e997c780 100644 --- a/locales/hi/LC_MESSAGES/messages.po +++ b/locales/hi/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: hi\n" "Language-Team: hi \n" diff --git a/locales/hnj/LC_MESSAGES/messages.po b/locales/hnj/LC_MESSAGES/messages.po index d29062d88..97300c30a 100644 --- a/locales/hnj/LC_MESSAGES/messages.po +++ b/locales/hnj/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: hnj\n" "Language-Team: hnj \n" diff --git a/locales/hr/LC_MESSAGES/messages.po b/locales/hr/LC_MESSAGES/messages.po index 354b202f1..da0e36e94 100644 --- a/locales/hr/LC_MESSAGES/messages.po +++ b/locales/hr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: hr\n" "Language-Team: hr \n" diff --git a/locales/hu/LC_MESSAGES/messages.po b/locales/hu/LC_MESSAGES/messages.po index e03e80073..300beabfb 100644 --- a/locales/hu/LC_MESSAGES/messages.po +++ b/locales/hu/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: hu\n" "Language-Team: hu \n" diff --git a/locales/hy/LC_MESSAGES/messages.po b/locales/hy/LC_MESSAGES/messages.po index b4ca8d36b..9d1a3dbc2 100644 --- a/locales/hy/LC_MESSAGES/messages.po +++ b/locales/hy/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: hy\n" "Language-Team: hy \n" diff --git a/locales/id/LC_MESSAGES/messages.po b/locales/id/LC_MESSAGES/messages.po index 8789b0a64..450e1dd50 100644 --- a/locales/id/LC_MESSAGES/messages.po +++ b/locales/id/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: id\n" "Language-Team: id \n" diff --git a/locales/ig/LC_MESSAGES/messages.po b/locales/ig/LC_MESSAGES/messages.po index 46f93f35f..14ad3b6f7 100644 --- a/locales/ig/LC_MESSAGES/messages.po +++ b/locales/ig/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ig\n" "Language-Team: ig \n" diff --git a/locales/is/LC_MESSAGES/messages.po b/locales/is/LC_MESSAGES/messages.po index 6a4185fe3..d361e191f 100644 --- a/locales/is/LC_MESSAGES/messages.po +++ b/locales/is/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: is\n" "Language-Team: is \n" diff --git a/locales/it/LC_MESSAGES/messages.po b/locales/it/LC_MESSAGES/messages.po index 70f1c40f2..7225a2b6c 100644 --- a/locales/it/LC_MESSAGES/messages.po +++ b/locales/it/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: it\n" "Language-Team: it \n" diff --git a/locales/ja/LC_MESSAGES/messages.po b/locales/ja/LC_MESSAGES/messages.po index 39165339b..a079123c4 100644 --- a/locales/ja/LC_MESSAGES/messages.po +++ b/locales/ja/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ja\n" "Language-Team: ja \n" diff --git a/locales/jw/LC_MESSAGES/messages.po b/locales/jw/LC_MESSAGES/messages.po index 9541f5533..24b0b4511 100644 --- a/locales/jw/LC_MESSAGES/messages.po +++ b/locales/jw/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: jv_ID\n" "Language-Team: jv_ID \n" diff --git a/locales/ka/LC_MESSAGES/messages.po b/locales/ka/LC_MESSAGES/messages.po index ca360a044..31ee9023f 100644 --- a/locales/ka/LC_MESSAGES/messages.po +++ b/locales/ka/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ka\n" "Language-Team: ka \n" diff --git a/locales/kk/LC_MESSAGES/messages.po b/locales/kk/LC_MESSAGES/messages.po index 8e6dd2a5d..8290aa920 100644 --- a/locales/kk/LC_MESSAGES/messages.po +++ b/locales/kk/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: kk\n" "Language-Team: kk \n" diff --git a/locales/km/LC_MESSAGES/messages.po b/locales/km/LC_MESSAGES/messages.po index fb7555857..35b8a9c84 100644 --- a/locales/km/LC_MESSAGES/messages.po +++ b/locales/km/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: km\n" "Language-Team: km \n" diff --git a/locales/kn/LC_MESSAGES/messages.po b/locales/kn/LC_MESSAGES/messages.po index 739860955..0a4ec6333 100644 --- a/locales/kn/LC_MESSAGES/messages.po +++ b/locales/kn/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: kn\n" "Language-Team: kn \n" diff --git a/locales/ko/LC_MESSAGES/messages.po b/locales/ko/LC_MESSAGES/messages.po index a8b10dff1..5600bbd23 100644 --- a/locales/ko/LC_MESSAGES/messages.po +++ b/locales/ko/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ko\n" "Language-Team: ko \n" diff --git a/locales/ku/LC_MESSAGES/messages.po b/locales/ku/LC_MESSAGES/messages.po index 1a4ade5a0..30c1665f7 100644 --- a/locales/ku/LC_MESSAGES/messages.po +++ b/locales/ku/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ku\n" "Language-Team: ku \n" diff --git a/locales/ky/LC_MESSAGES/messages.po b/locales/ky/LC_MESSAGES/messages.po index ab569f726..bdb364839 100644 --- a/locales/ky/LC_MESSAGES/messages.po +++ b/locales/ky/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ky\n" "Language-Team: ky \n" diff --git a/locales/la/LC_MESSAGES/messages.po b/locales/la/LC_MESSAGES/messages.po index 160d578fc..1a7012067 100644 --- a/locales/la/LC_MESSAGES/messages.po +++ b/locales/la/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: la\n" "Language-Team: la \n" diff --git a/locales/lb/LC_MESSAGES/messages.po b/locales/lb/LC_MESSAGES/messages.po index 776eb1de1..d9137cc26 100644 --- a/locales/lb/LC_MESSAGES/messages.po +++ b/locales/lb/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: lb\n" "Language-Team: lb \n" diff --git a/locales/lo/LC_MESSAGES/messages.po b/locales/lo/LC_MESSAGES/messages.po index 4b4055d2f..d4379c5c7 100644 --- a/locales/lo/LC_MESSAGES/messages.po +++ b/locales/lo/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: lo\n" "Language-Team: lo \n" diff --git a/locales/lt/LC_MESSAGES/messages.po b/locales/lt/LC_MESSAGES/messages.po index f5fc1834b..702a3a642 100644 --- a/locales/lt/LC_MESSAGES/messages.po +++ b/locales/lt/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: lt\n" "Language-Team: lt \n" diff --git a/locales/lv/LC_MESSAGES/messages.po b/locales/lv/LC_MESSAGES/messages.po index 030c66940..5e1734ab8 100644 --- a/locales/lv/LC_MESSAGES/messages.po +++ b/locales/lv/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: lv\n" "Language-Team: lv \n" diff --git a/locales/mg/LC_MESSAGES/messages.po b/locales/mg/LC_MESSAGES/messages.po index a77aaf792..a2a95045f 100644 --- a/locales/mg/LC_MESSAGES/messages.po +++ b/locales/mg/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: mg\n" "Language-Team: mg \n" diff --git a/locales/mi/LC_MESSAGES/messages.po b/locales/mi/LC_MESSAGES/messages.po index cf420045f..535657826 100644 --- a/locales/mi/LC_MESSAGES/messages.po +++ b/locales/mi/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: mi\n" "Language-Team: mi \n" diff --git a/locales/mk/LC_MESSAGES/messages.po b/locales/mk/LC_MESSAGES/messages.po index 58dc1f1c6..728be17f0 100644 --- a/locales/mk/LC_MESSAGES/messages.po +++ b/locales/mk/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: mk\n" "Language-Team: mk \n" diff --git a/locales/ml/LC_MESSAGES/messages.po b/locales/ml/LC_MESSAGES/messages.po index a9f6f1c9e..83cb1ed2d 100644 --- a/locales/ml/LC_MESSAGES/messages.po +++ b/locales/ml/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ml\n" "Language-Team: ml \n" diff --git a/locales/mn/LC_MESSAGES/messages.po b/locales/mn/LC_MESSAGES/messages.po index 1d19aa5de..b5913d38e 100644 --- a/locales/mn/LC_MESSAGES/messages.po +++ b/locales/mn/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: mn\n" "Language-Team: mn \n" diff --git a/locales/mr/LC_MESSAGES/messages.po b/locales/mr/LC_MESSAGES/messages.po index 0ced091eb..70e4b23c8 100644 --- a/locales/mr/LC_MESSAGES/messages.po +++ b/locales/mr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: mr\n" "Language-Team: mr \n" diff --git a/locales/ms/LC_MESSAGES/messages.po b/locales/ms/LC_MESSAGES/messages.po index 895ee41ea..c1125a53f 100644 --- a/locales/ms/LC_MESSAGES/messages.po +++ b/locales/ms/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ms\n" "Language-Team: ms \n" diff --git a/locales/mt/LC_MESSAGES/messages.po b/locales/mt/LC_MESSAGES/messages.po index 7707b48c1..a47601eb2 100644 --- a/locales/mt/LC_MESSAGES/messages.po +++ b/locales/mt/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: mt\n" "Language-Team: mt \n" diff --git a/locales/my/LC_MESSAGES/messages.po b/locales/my/LC_MESSAGES/messages.po index 3108e1a77..208be7e94 100644 --- a/locales/my/LC_MESSAGES/messages.po +++ b/locales/my/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: my\n" "Language-Team: my \n" diff --git a/locales/ne/LC_MESSAGES/messages.po b/locales/ne/LC_MESSAGES/messages.po index de4f893d0..d9d962581 100644 --- a/locales/ne/LC_MESSAGES/messages.po +++ b/locales/ne/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ne\n" "Language-Team: ne \n" diff --git a/locales/nl/LC_MESSAGES/messages.po b/locales/nl/LC_MESSAGES/messages.po index b9d7916a6..8232f6fd6 100644 --- a/locales/nl/LC_MESSAGES/messages.po +++ b/locales/nl/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: nl\n" "Language-Team: nl \n" diff --git a/locales/no/LC_MESSAGES/messages.po b/locales/no/LC_MESSAGES/messages.po index 67f617959..d0de6e096 100644 --- a/locales/no/LC_MESSAGES/messages.po +++ b/locales/no/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: no\n" "Language-Team: no \n" diff --git a/locales/ny/LC_MESSAGES/messages.po b/locales/ny/LC_MESSAGES/messages.po index bec048ab3..9aced50ab 100644 --- a/locales/ny/LC_MESSAGES/messages.po +++ b/locales/ny/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ny\n" "Language-Team: ny \n" diff --git a/locales/or/LC_MESSAGES/messages.po b/locales/or/LC_MESSAGES/messages.po index 26121a34b..fca81ce07 100644 --- a/locales/or/LC_MESSAGES/messages.po +++ b/locales/or/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: or\n" "Language-Team: or \n" diff --git a/locales/pa/LC_MESSAGES/messages.po b/locales/pa/LC_MESSAGES/messages.po index 2eade336a..27412b394 100644 --- a/locales/pa/LC_MESSAGES/messages.po +++ b/locales/pa/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: pa\n" "Language-Team: pa \n" diff --git a/locales/pl/LC_MESSAGES/messages.po b/locales/pl/LC_MESSAGES/messages.po index 80a4391df..bd39c0606 100644 --- a/locales/pl/LC_MESSAGES/messages.po +++ b/locales/pl/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: pl\n" "Language-Team: pl \n" diff --git a/locales/ps/LC_MESSAGES/messages.po b/locales/ps/LC_MESSAGES/messages.po index 9936e7914..843648b2b 100644 --- a/locales/ps/LC_MESSAGES/messages.po +++ b/locales/ps/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ps\n" "Language-Team: ps \n" diff --git a/locales/pt/LC_MESSAGES/messages.po b/locales/pt/LC_MESSAGES/messages.po index 8fed7b766..732470d3e 100644 --- a/locales/pt/LC_MESSAGES/messages.po +++ b/locales/pt/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: pt\n" "Language-Team: pt \n" diff --git a/locales/ro/LC_MESSAGES/messages.po b/locales/ro/LC_MESSAGES/messages.po index c0ed1b4e6..1dae0ac25 100644 --- a/locales/ro/LC_MESSAGES/messages.po +++ b/locales/ro/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ro\n" "Language-Team: ro \n" diff --git a/locales/ru/LC_MESSAGES/messages.po b/locales/ru/LC_MESSAGES/messages.po index 14a928411..c578a8a4a 100644 --- a/locales/ru/LC_MESSAGES/messages.po +++ b/locales/ru/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ru\n" "Language-Team: ru \n" diff --git a/locales/sd/LC_MESSAGES/messages.po b/locales/sd/LC_MESSAGES/messages.po index cd162273a..20314c69a 100644 --- a/locales/sd/LC_MESSAGES/messages.po +++ b/locales/sd/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: sd\n" "Language-Team: sd \n" diff --git a/locales/si/LC_MESSAGES/messages.po b/locales/si/LC_MESSAGES/messages.po index 0824c6cd3..f2b6c2a16 100644 --- a/locales/si/LC_MESSAGES/messages.po +++ b/locales/si/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: si\n" "Language-Team: si \n" diff --git a/locales/sk/LC_MESSAGES/messages.po b/locales/sk/LC_MESSAGES/messages.po index 9ef3b0754..5c0f9f4ef 100644 --- a/locales/sk/LC_MESSAGES/messages.po +++ b/locales/sk/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: sk\n" "Language-Team: sk \n" diff --git a/locales/sl/LC_MESSAGES/messages.po b/locales/sl/LC_MESSAGES/messages.po index ecd7bfead..afa878c50 100644 --- a/locales/sl/LC_MESSAGES/messages.po +++ b/locales/sl/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: sl\n" "Language-Team: sl \n" diff --git a/locales/sn/LC_MESSAGES/messages.po b/locales/sn/LC_MESSAGES/messages.po index 93aa54b89..d373a05e2 100644 --- a/locales/sn/LC_MESSAGES/messages.po +++ b/locales/sn/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: sn\n" "Language-Team: sn \n" diff --git a/locales/so/LC_MESSAGES/messages.po b/locales/so/LC_MESSAGES/messages.po index 780a06dea..ea773407d 100644 --- a/locales/so/LC_MESSAGES/messages.po +++ b/locales/so/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: so\n" "Language-Team: so \n" diff --git a/locales/sq/LC_MESSAGES/messages.po b/locales/sq/LC_MESSAGES/messages.po index 92671da96..620ea8028 100644 --- a/locales/sq/LC_MESSAGES/messages.po +++ b/locales/sq/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: sq\n" "Language-Team: sq \n" diff --git a/locales/sr/LC_MESSAGES/messages.po b/locales/sr/LC_MESSAGES/messages.po index 5ecdf1cbd..ba0aa334c 100644 --- a/locales/sr/LC_MESSAGES/messages.po +++ b/locales/sr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: sr\n" "Language-Team: sr \n" diff --git a/locales/st/LC_MESSAGES/messages.po b/locales/st/LC_MESSAGES/messages.po index 44ea3a771..b2763e52f 100644 --- a/locales/st/LC_MESSAGES/messages.po +++ b/locales/st/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: st\n" "Language-Team: st \n" diff --git a/locales/su/LC_MESSAGES/messages.po b/locales/su/LC_MESSAGES/messages.po index f1fdf326d..8a88cecf7 100644 --- a/locales/su/LC_MESSAGES/messages.po +++ b/locales/su/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: su\n" "Language-Team: su \n" diff --git a/locales/sv/LC_MESSAGES/messages.po b/locales/sv/LC_MESSAGES/messages.po index a401769c4..560579337 100644 --- a/locales/sv/LC_MESSAGES/messages.po +++ b/locales/sv/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: sv\n" "Language-Team: sv \n" diff --git a/locales/sw/LC_MESSAGES/messages.po b/locales/sw/LC_MESSAGES/messages.po index 2cbcd446c..2c43381bc 100644 --- a/locales/sw/LC_MESSAGES/messages.po +++ b/locales/sw/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: sw\n" "Language-Team: sw \n" diff --git a/locales/ta/LC_MESSAGES/messages.po b/locales/ta/LC_MESSAGES/messages.po index 35e6fb43e..04626de8c 100644 --- a/locales/ta/LC_MESSAGES/messages.po +++ b/locales/ta/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ta\n" "Language-Team: ta \n" diff --git a/locales/te/LC_MESSAGES/messages.po b/locales/te/LC_MESSAGES/messages.po index b3ee409b6..4e4a56a58 100644 --- a/locales/te/LC_MESSAGES/messages.po +++ b/locales/te/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: te\n" "Language-Team: te \n" diff --git a/locales/tg/LC_MESSAGES/messages.po b/locales/tg/LC_MESSAGES/messages.po index 27ad67a3e..32497ba81 100644 --- a/locales/tg/LC_MESSAGES/messages.po +++ b/locales/tg/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: tg\n" "Language-Team: tg \n" diff --git a/locales/th/LC_MESSAGES/messages.po b/locales/th/LC_MESSAGES/messages.po index c56a292c9..a5249eb24 100644 --- a/locales/th/LC_MESSAGES/messages.po +++ b/locales/th/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: th\n" "Language-Team: th \n" diff --git a/locales/tl/LC_MESSAGES/messages.po b/locales/tl/LC_MESSAGES/messages.po index f1d77358d..c540111b0 100644 --- a/locales/tl/LC_MESSAGES/messages.po +++ b/locales/tl/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: fil_PH\n" "Language-Team: fil_PH \n" diff --git a/locales/tr/LC_MESSAGES/messages.po b/locales/tr/LC_MESSAGES/messages.po index 4d9d823fb..bda90ec94 100644 --- a/locales/tr/LC_MESSAGES/messages.po +++ b/locales/tr/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: tr\n" "Language-Team: tr \n" diff --git a/locales/ug/LC_MESSAGES/messages.po b/locales/ug/LC_MESSAGES/messages.po index 9adf185f5..da310ed28 100644 --- a/locales/ug/LC_MESSAGES/messages.po +++ b/locales/ug/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ug\n" "Language-Team: ug \n" diff --git a/locales/uk/LC_MESSAGES/messages.po b/locales/uk/LC_MESSAGES/messages.po index 6818ba8f2..717ceb6b4 100644 --- a/locales/uk/LC_MESSAGES/messages.po +++ b/locales/uk/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: uk\n" "Language-Team: uk \n" diff --git a/locales/ur/LC_MESSAGES/messages.po b/locales/ur/LC_MESSAGES/messages.po index 6a276d34b..e6aeed8c3 100644 --- a/locales/ur/LC_MESSAGES/messages.po +++ b/locales/ur/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: ur\n" "Language-Team: ur \n" diff --git a/locales/uz/LC_MESSAGES/messages.po b/locales/uz/LC_MESSAGES/messages.po index d59b35eef..d440a98eb 100644 --- a/locales/uz/LC_MESSAGES/messages.po +++ b/locales/uz/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: uz\n" "Language-Team: uz \n" diff --git a/locales/vi/LC_MESSAGES/messages.po b/locales/vi/LC_MESSAGES/messages.po index 92ff13196..c92c8850c 100644 --- a/locales/vi/LC_MESSAGES/messages.po +++ b/locales/vi/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: vi\n" "Language-Team: vi \n" diff --git a/locales/xh/LC_MESSAGES/messages.po b/locales/xh/LC_MESSAGES/messages.po index c51622245..5b818940b 100644 --- a/locales/xh/LC_MESSAGES/messages.po +++ b/locales/xh/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: xh\n" "Language-Team: xh \n" diff --git a/locales/yi/LC_MESSAGES/messages.po b/locales/yi/LC_MESSAGES/messages.po index 71ccf8dea..e36e9a03b 100644 --- a/locales/yi/LC_MESSAGES/messages.po +++ b/locales/yi/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: yi\n" "Language-Team: yi \n" diff --git a/locales/yo/LC_MESSAGES/messages.po b/locales/yo/LC_MESSAGES/messages.po index a37089c5d..92ec2a328 100644 --- a/locales/yo/LC_MESSAGES/messages.po +++ b/locales/yo/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: yo\n" "Language-Team: yo \n" diff --git a/locales/zh/LC_MESSAGES/messages.po b/locales/zh/LC_MESSAGES/messages.po index 6218c4009..11424fe59 100644 --- a/locales/zh/LC_MESSAGES/messages.po +++ b/locales/zh/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: zh\n" "Language-Team: zh \n" diff --git a/locales/zu/LC_MESSAGES/messages.po b/locales/zu/LC_MESSAGES/messages.po index 7ba7dd05e..f944e3c4f 100644 --- a/locales/zu/LC_MESSAGES/messages.po +++ b/locales/zu/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-01-11 23:12+1100\n" -"PO-Revision-Date: 2024-01-15 13:45+1100\n" +"PO-Revision-Date: 2024-01-17 14:47+1100\n" "Last-Translator: FULL NAME \n" "Language: zu\n" "Language-Team: zu \n" diff --git a/src/constants.py b/src/constants.py index 3be0a31c9..6b744e1a0 100644 --- a/src/constants.py +++ b/src/constants.py @@ -1,6 +1,9 @@ +'''Constants that are used by `cword_gen.py`, `main.py`, `definitions_parser.py` and `locale_utils.py`''' + from pathlib import Path class Paths: + '''Absolute paths used across the source code.''' CONFIG_PATH = Path(__file__).resolve().parents[0] / "config.ini" LOCALES_PATH = Path(__file__).resolve().parents[1] / "locales" CWORD_IMG_LIGHT_PATH = Path(__file__).resolve().parents[1] / "assets/images/cword_img_light.png" @@ -10,6 +13,7 @@ class Paths: class Colour: + '''Light, dark and global colour specifications for widgets in `main.py`.''' class Global: EXIT_BUTTON = "#ED3B4D" EXIT_BUTTON_HOVER = "#BF0013" @@ -26,10 +30,14 @@ class Dark: class CrosswordDifficulties: + '''Generic difficulty names for crosswords. In a crossword directory's `info.json` file, they + are specified as indexes and not strings. + ''' DIFFICULTIES = ["Easy", "Medium", "Hard", "Extreme"] class Fonts: + '''Font size, weight and slant specifications for GUI text in `main.py`.''' TITLE_FONT = {"size": 30, "weight": "bold", "slant": "roman"} SUBHEADING_FONT = {"size": 23, "weight": "normal", "slant": "italic"} LABEL_FONT = {"size": 14, "weight": "bold", "slant": "roman"} @@ -37,6 +45,7 @@ class Fonts: class LanguageReplacementsForPybabel: + '''See information about this class in `locale_utils.py`.''' REPLACEMENTS = { "zh-cn": "zh", "zh-tw": None, @@ -47,17 +56,32 @@ class LanguageReplacementsForPybabel: class CrosswordDirections: + '''Constants representing words going across or down. Used extensively in conditional statements + and functions in `cword_gen.py`. + ''' ACROSS = "a" DOWN = "d" class CrosswordStyle: + '''The value of an "empty" cell (containing no letters) in the crossword grid.''' EMPTY = "▮" class CrosswordRestrictions: + '''Used in `definitions_parser.py` to remove all non-language characters from the words/keys of + a definitions dictionary. + ''' KEEP_LANGUAGES_PATTERN = r"\PL" # The opposite of \p{l} which matches characters from any language +class DimensionsCalculation: + '''Values that aid with scaling whitespace and providing an appropriate side length for the grid.''' + # Decrease attributes = break everything + # Increase attributes = wait forever to make a crossword + WHITESPACE_SCALAR = 1.85 + DIMENSIONS_CONSTANT = 1 + + class BaseEngStrings: BASE_ENG_APPEARANCES = ["light", "dark", "system"] \ No newline at end of file diff --git a/src/custom_types.py b/src/custom_types.py new file mode 100644 index 000000000..cef7f3b4d --- /dev/null +++ b/src/custom_types.py @@ -0,0 +1,8 @@ +from typing import List, Tuple, Union, TypedDict + +class Placement(TypedDict): + '''A dictionary specifying the placement information of `word` at `pos` in the grid''' + word: str + direction: str + pos: Tuple[int] + intersections: Union[List[...], List[Tuple[int]]] \ No newline at end of file diff --git a/src/cword_gen.py b/src/cword_gen.py index 7475167ca..dd5df5b37 100644 --- a/src/cword_gen.py +++ b/src/cword_gen.py @@ -1,58 +1,84 @@ -import random import string +import random import json import math +from pprint import pprint +from typing import Dict, Tuple, List, Union -import regex # Similar to "re" module but with more functionality - -from constants import CrosswordDirections, CrosswordStyle, CrosswordRestrictions, Paths -from errors import ( - EmptyDefinitions, InsufficientDefinitionsAndOrWordCount, ShorterDefinitionsThanWordCount, - InsufficientWordLength, EscapeCharacterInWord, AlreadyGeneratedCrossword, - PrintingCrosswordObjectBeforeGeneration +from definitions_parser import DefinitionsParser +from constants import ( + CrosswordDirections, CrosswordStyle, DimensionsCalculation, Paths +) +from errors import ( # For the most part this isn't really necessary until, or if, custom crossword + # creation is implemented + AlreadyGeneratedCrossword, PrintingCrosswordObjectBeforeGeneration, + MakingUnfilledReplicaGridBeforeGeneration ) +from custom_types import Placement class Crossword(object): '''The Crossword class creates and populates a grid with a given amount of randomly sampled words - from a larger set of crossword definitions. Complete with error detection. + from a larger set of crossword definitions in a crossword-like pattern. + ~~~~~~ Usage information: > To begin, assign a definitions JSON to a variable by running Crossword.load_definitions(f"{Paths.CWORDS_PATH}/.json) - + + > For simple use, instantiate the class with the required parameters and call the generate() function. + >>> crossword = Crossword("Capitals", definitions=definitions, word_count=10) + >>> crossword.generate() + >>> print(crossword) + + You can also can generate and view an unfilled replica of the grid: + >>> crossword.make_unfilled_grid_replica() + >>> pprint(crossword.unfilled_grid_replica) + > For more advanced use, use CrosswordHelper.find_best_crossword, which takes an ungenerated instance of the Crossword class. This will return a crossword object that is already has a populated grid and has more intersections than a crossword generated with only a single attempt. + >>> crossword = Crossword("Capitals", definitions=definitions, word_count=10) + >>> crossword = CrosswordHelper.find_best_crossword(crossword) + >>> print(crossword) + >>> pprint(crossword.unfilled_grid_replica) # Already made in this case When inserting large amounts of words, fails with insertion may occur. ''' - - def __init__(self, name, definitions, word_count, retry=False): - if not definitions: - raise EmptyDefinitions - if len(definitions) < 3 or word_count < 3: - raise InsufficientDefinitionsAndOrWordCount - if len(definitions) < word_count: - raise ShorterDefinitionsThanWordCount - if any("\\" in word for word in definitions.keys()): - raise EscapeCharacterInWord - - self.generated = False + + def __init__(self, + name: str, + definitions: Dict[str, str], + word_count: int, + retry: bool = False + ) -> None: self.retry = retry + if self.retry: + self.definitions = self._randomise_existing_definitions(definitions) + else: + self.definitions = DefinitionsParser._parse_definitions(definitions, word_count) + + self.generated: bool = False self.name = name self.word_count = word_count - self.definitions = self._format_definitions(definitions) - self.dimensions = self._find_dimensions() - self.clues = dict() # Presentable to end-user - self.data = list([list(), list()]) # For internal usage in main app - - if not (all(len(k) >= 3 for k in definitions.keys())): - raise InsufficientWordLength - - def __str__(self): + self.dimensions: int = self._find_dimensions() + self.clues = dict() # Presentable to end-user; expanded as words are inserted + ''' example: + self.clues = { + ((1, 2), "a"): "Capital of France", + } + ''' + self.data = dict() # For internal usage in main app; expanded as words are inserted + ''' example: + self.data = { + (1, 2): {"word": "Hello", "direction": "a", + "intersections": [(1, 5)], "definition": A standard english greeting}, + } + ''' + + def __str__(self) -> str: '''Display crossword when printing an instance of this class.''' if not self.generated: raise PrintingCrosswordObjectBeforeGeneration @@ -64,47 +90,48 @@ def __str__(self): "\n".join(" ".join(cell for cell in row) for row in self.grid) + "\n\n" + \ "\n".join(f"{k}: {v}" for k, v in self.clues.items()) - def generate(self): + def generate(self) -> None: '''Create an "EMPTY" two-dimensional array then populate it.''' if not self.generated: self.generated = True - self.grid = self._initialise_cword_grid() + self.grid: List[List[str]] = self._initialise_cword_grid() self._populate_grid(list(self.definitions.keys())) else: raise AlreadyGeneratedCrossword - def _format_definitions(self, definitions): - '''Randomly pick definitions from a larger sample, then remove all but language characters.''' - if self.retry: # For reattempting insertion, existing definitions are randomised, which - # prevents find_best_crossword from favouring certain word groups with - # intrinsically higher intersections - return dict(random.sample(list(definitions.items()), len(definitions))) - else: - randomly_sampled_definitions = dict(random.sample(list(definitions.items()), self.word_count)) - formatted_definitions = {regex.sub(CrosswordRestrictions.KEEP_LANGUAGES_PATTERN, - "", k).upper(): v \ - for k, v in randomly_sampled_definitions.items()} - return formatted_definitions + def _randomise_existing_definitions(self, + definitions: Dict[str, str] + ) -> Dict[str, str]: + '''For reattempting insertion, existing definitions are randomised, which prevents + find_best_crossword from favouring certain word groups with intrinsically higher intersections + ''' + return dict(random.sample(list(definitions.items()), len(definitions))) - def _find_dimensions(self): + def _find_dimensions(self) -> int: '''Determine the square dimensions of the crossword based on total word count or maximum word length. ''' - self.total_char_count = sum(len(word) for word in self.definitions.keys()) - dimensions = math.ceil(math.sqrt(self.total_char_count * 1.85)) + 1 + self.total_char_count: int = sum(len(word) for word in self.definitions.keys()) + dimensions: int = math.ceil(math.sqrt( + self.total_char_count \ + * DimensionsCalculation.WHITESPACE_SCALAR)) \ + + DimensionsCalculation.DIMENSIONS_CONSTANT if dimensions < (max_word_len := (len(max(self.definitions.keys(), key=len)))): dimensions = max_word_len return dimensions - def _initialise_cword_grid(self): + def _initialise_cword_grid(self) -> List[List[str]]: '''Make a two-dimensional array of "EMPTY" characters.''' - grid = [[CrosswordStyle.EMPTY for column in range(self.dimensions)] \ - for row in range(self.dimensions)] - - return grid - - def _place_word(self, word, direction, row, column): + return [[CrosswordStyle.EMPTY for column in range(self.dimensions)] \ + for row in range(self.dimensions)] + + def _place_word(self, + word: str, + direction: int, + row: int, + column: int + ) -> None: '''Place a word in the grid at the given row, column and direction.''' if direction == CrosswordDirections.ACROSS: for i in range(len(word)): @@ -114,14 +141,16 @@ def _place_word(self, word, direction, row, column): for i in range(len(word)): self.grid[row + i][column] = word[i] - def _find_first_word_placement_position(self, word): + def _find_first_word_placement_position(self, + word: str + ) -> Placement: '''Place the first word in a random orientation in the middle of the grid.''' - direction = random.choice([CrosswordDirections.ACROSS, CrosswordDirections.DOWN]) - middle = self.dimensions // 2 + direction: str = random.choice([CrosswordDirections.ACROSS, CrosswordDirections.DOWN]) + middle: int = self.dimensions // 2 if direction == CrosswordDirections.ACROSS: row = middle - column = middle - len(word) // 2 + column: int = middle - len(word) // 2 return {"word": word, "direction": CrosswordDirections.ACROSS, "pos": (row, column), "intersections": list()} @@ -131,7 +160,12 @@ def _find_first_word_placement_position(self, word): return {"word": word, "direction": CrosswordDirections.DOWN, "pos": (row, column), "intersections": list()} - def _find_intersections(self, word, direction, row, column): + def _find_intersections(self, + word: str, + direction: str, + row: int, + column: int + ) -> Union[Tuple[...], Tuple[int]]: '''Find the indexes of all points of intersection that the parameter "word" has with the grid.''' intersections = list() @@ -147,7 +181,12 @@ def _find_intersections(self, word, direction, row, column): return intersections - def _can_word_be_inserted(self, word, direction, row, column): + def _can_word_be_inserted(self, + word: str, + direction: str, + row: int, + column: int + ) -> bool: '''Determine if a word is suitable to be inserted into the grid. Causes for this function returning False include: 1. The word being too long for the dimensions of the grid @@ -179,7 +218,9 @@ def _can_word_be_inserted(self, word, direction, row, column): return True - def _prune_placements_for_readability(self, placements): + def _prune_placements_for_readability(self, + placements: List[Placement] + ) -> List[Placement]: '''Remove all placements that will result in the word being directly adjacent to another word, e.x. or: ATHENS ATHENSSOFIA @@ -191,13 +232,13 @@ def _prune_placements_for_readability(self, placements): for placement in placements: word_length = len(placement["word"]) row, column = placement["pos"] - readability_flags = 0 + readability_flags: int = 0 if placement["direction"] == CrosswordDirections.ACROSS: - check_above = row != 0 - check_below = row != self.dimensions - 1 - check_left = column != 0 - check_right = column + word_length != self.dimensions + check_above: bool = row != 0 + check_below: bool = row != self.dimensions - 1 + check_left: bool = column != 0 + check_right: bool = column + word_length != self.dimensions for i in range(word_length): if (row, column + i) in placement["intersections"]: continue @@ -240,7 +281,9 @@ def _prune_placements_for_readability(self, placements): return pruned_placements - def _find_insertion_coords(self, word): + def _find_insertion_coords(self, + word: str + ) -> List[Placement]: '''Find all valid insertion coords for a given word (across and down) through validation with self._can_word_be_inserted. If it can be inserted, the word's intersections are determined and it is appended to the placements array (a list of dictionaries containing information @@ -254,62 +297,77 @@ def _find_insertion_coords(self, word): intersections = self._find_intersections(word, CrosswordDirections.ACROSS, row, column) placements.append({ - "word": word, - "direction": CrosswordDirections.ACROSS, - "pos": (row, column), - "intersections": intersections}) + "word": word, + "direction": CrosswordDirections.ACROSS, + "pos": (row, column), + "intersections": intersections}) if self._can_word_be_inserted(word, CrosswordDirections.DOWN, row, column): intersections = self._find_intersections(word, CrosswordDirections.DOWN, row, column) placements.append({ - "word": word, - "direction": CrosswordDirections.DOWN, - "pos": (row, column), - "intersections": intersections}) + "word": word, + "direction": CrosswordDirections.DOWN, + "pos": (row, column), + "intersections": intersections}) return placements - def _add_clue(self, placement, word): + def _add_clue(self, + placement: Placement, + ) -> None: '''Add a clue to the self.clues dictionary. Increments each index of "pos" by 1 to be more understandable for the user as python indexes from 0. ''' self.clues[((placement["pos"][0] + 1, placement["pos"][1] + 1), - placement["direction"])] = self.definitions[word] # Retrieve the clue value for the - # word key in self.definitions - - def _add_data(self, placement): - '''Append placement data to either list 0 or 1 (across or down) in the self.data array.''' - if placement["direction"] == CrosswordDirections.ACROSS: - self.data[0].append(placement) - - elif placement["direction"] == CrosswordDirections.DOWN: - self.data[1].append(placement) - - def _populate_grid(self, words, insert_backlog=False): + placement["direction"])] = self.definitions[placement["word"]] # Retrieve the clue value for the + # word key in self.definitions + + def _add_data(self, + placement: Placement + ) -> None: + '''Append placement information to self.data''' + self.data[(placement["pos"][0], placement["pos"][1])] = { + "word": placement["word"], + "direction": placement["direction"], + "intersections": placement["intersections"], + "definition": self.definitions[placement["word"]]} + + def make_unfilled_grid_replica(self) -> List[List[str]]: + if not self.generated: + raise MakingUnfilledGridReplicaBeforeGeneration + '''Creates an unfilled version of the populated grid.''' + self.unfilled_grid_replica: List[List[str]] = self.grid.copy() + self.unfilled_grid_replica = [[" " if column != CrosswordStyle.EMPTY else column for column in row] + for row in self.unfilled_grid_replica] + + def _populate_grid(self, + words: List[str], + insert_backlog: bool = False + ) -> None: '''Call _find_insertion_coords to determine all the places a word can be inserted and choose the placement with the most intersections. If no intersections are present, it appends it to the array "uninserted_words_backlog" which will be inserted later when the function is recursed with that array as the "words" parameter. ''' if not insert_backlog: # First time execution - self.backlog_has_been_inserted = False - self.uninserted_words_backlog = list() - self.inserts = 0 - self.fails = 0 - self.total_intersections = 0 - - if self.inserts == 0: - middle_placement = self._find_first_word_placement_position(words[0]) + self.backlog_has_been_inserted: bool = False + self.uninserted_words_backlog: List[str] = list() + self.inserts: int = 0 + self.fails: int = 0 + self.total_intersections: int = 0 + + if self.inserts == 0: # First word is to be placed in the middle of the grid + middle_placement: Placement = self._find_first_word_placement_position(words[0]) self._place_word(middle_placement["word"], middle_placement["direction"], middle_placement["pos"][0], middle_placement["pos"][1]) - self._add_clue(middle_placement, words[0]) + self._add_clue(middle_placement) self._add_data(middle_placement) del words[0] self.inserts += 1 for word in words: # Insert remaining words after the middle placement is complete - placements = self._find_insertion_coords(word) + placements: List[Placement] = self._find_insertion_coords(word) placements = self._prune_placements_for_readability(placements) if not placements: self.fails += 1 @@ -322,43 +380,47 @@ def _populate_grid(self, words, insert_backlog=False): self.uninserted_words_backlog.append(word) continue else: # Reinsertion didn't help much, just pick a random placement - placement = random.choice(sorted_placements) + placement: Placement = random.choice(sorted_placements) else: - placement = sorted_placements[0] + placement: Placement = sorted_placements[0] self._place_word(placement["word"], placement["direction"], placement["pos"][0], placement["pos"][1]) - self._add_clue(placement, word) + self._add_clue(placement) self._add_data(placement) self.total_intersections += len(placement["intersections"]) self.inserts += 1 - if self.backlog_has_been_inserted: + if self.backlog_has_been_inserted: # The backlog was just inserted, so end the function return + # There are words present in the backlog and it has not been inserted yet if self.uninserted_words_backlog and not self.backlog_has_been_inserted: self.backlog_has_been_inserted = True # Recurse _populate_grid with "uninserted_words_backlog" self._populate_grid(self.uninserted_words_backlog, insert_backlog=True) - + class CrosswordHelper(): '''Contains static methods to help with the loading of necessary JSON files and for performing optimised crossword creation with `find_best_crossword`. ''' @staticmethod - def find_best_crossword(crossword): + def find_best_crossword(crossword: Crossword) -> Crossword: '''Determines the best crossword out of a amount of instantiated crosswords based on the largest amount of total intersections and smallest amount of fails. ''' - name = crossword.name - word_count = crossword.word_count + name: str = crossword.name + word_count: int = crossword.word_count - attempts_db = CrosswordHelper._load_attempts_db() - max_attempts = attempts_db[str(word_count)] # Get amount of attempts based on word count - attempts = 0 + attempts_db: Dict[str, int] = CrosswordHelper._load_attempts_db() + max_attempts: int = attempts_db[str(word_count)] # Get amount of attempts based on word count + attempts: int = 0 - reinsert_definitions = crossword.definitions - crossword.generate() + reinsert_definitions: Dict[str, str] = crossword.definitions + try: + crossword.generate() + except: + ... # ok buddy best_crossword = crossword while attempts < max_attempts: @@ -373,10 +435,11 @@ def find_best_crossword(crossword): best_crossword = crossword attempts += 1 - return best_crossword + best_crossword.make_unfilled_grid_replica() + return best_crossword # Note that `generate()`` has already been called on this object @staticmethod - def load_definitions(name): + def load_definitions(name: str) -> Dict[str, str]: '''Load a definitions json for a given crossword.''' try: with open(f"{Paths.CWORDS_PATH}/{name}/{name}.json", "r") as file: @@ -387,7 +450,7 @@ def load_definitions(name): return definitions @staticmethod - def _load_attempts_db(): + def _load_attempts_db() -> Dict[str, int]: '''Load a json that specifies the amount of attempts a crossword should be recreated based on the amount of words that crossword will contain. ''' @@ -402,9 +465,5 @@ def _load_attempts_db(): crossword = Crossword(definitions=definitions, word_count=3, name="Capitals") crossword = CrosswordHelper.find_best_crossword(crossword) - - # You can also generate a single crossword: - # crossword = Crossword(definitions=definitions, word_count=10, name="Capitals") - # crossword.generate() print(crossword) \ No newline at end of file diff --git a/src/definitions_parser.py b/src/definitions_parser.py new file mode 100644 index 000000000..7780b5871 --- /dev/null +++ b/src/definitions_parser.py @@ -0,0 +1,44 @@ +import regex # Similar to "re" module but with more functionality +import random +from typing import Dict + +from errors import ( + EmptyDefinitions, InsufficientDefinitionsAndOrWordCount, ShorterDefinitionsThanWordCount, + InsufficientWordLength, EscapeCharacterInWord +) +from constants import CrosswordRestrictions + +class DefinitionsParser: + @staticmethod + def _parse_definitions(definitions: Dict[str, str], + word_count: int + ) -> Dict[str, str]: + definitions = definitions + + if not definitions: + raise EmptyDefinitions + if len(definitions) < 3 or word_count < 3: + raise InsufficientDefinitionsAndOrWordCount + if len(definitions) < word_count: + raise ShorterDefinitionsThanWordCount + if any("\\" in word for word in definitions.keys()): + raise EscapeCharacterInWord + + definitions = DefinitionsParser._format_definitions(definitions, word_count) + + if not (all(len(k) >= 3 for k in definitions.keys())): + raise InsufficientWordLength + + return definitions + + @staticmethod + def _format_definitions(definitions: Dict[str, str], + word_count: int + ) -> Dict[str, str]: + '''Randomly pick definitions from a larger sample, then remove all but language characters.''' + randomly_sampled_definitions = dict(random.sample(list(definitions.items()), word_count)) + formatted_definitions = {regex.sub(CrosswordRestrictions.KEEP_LANGUAGES_PATTERN, + "", k).upper(): v \ + for k, v in randomly_sampled_definitions.items()} + + return formatted_definitions \ No newline at end of file diff --git a/src/errors.py b/src/errors.py index c3d8ce239..600a70b1a 100644 --- a/src/errors.py +++ b/src/errors.py @@ -19,3 +19,6 @@ def __init__(self): class PrintingCrosswordObjectBeforeGeneration(Exception): def __init__(self): super().__init__("Call generate() on this object before printing it") +class MakingUnfilledReplicaGridBeforeGeneration(Exception): + def __init__(self): + super().__init__("Call generate() on this object before creating an unfilled replica of the populated grid") \ No newline at end of file diff --git a/src/locale_utils.py b/src/locale_utils.py index 07bc26b56..080e235dd 100644 --- a/src/locale_utils.py +++ b/src/locale_utils.py @@ -1,28 +1,48 @@ -import googletrans +'''The `LocaleUtils` class uses `parse_langcodes` to parse `googletrans` langcodes to remove any +inconsistencies with the locale naming conventions of Babel's `Locales` class. + +The class uses `write_locales` to initialise all of the locale folders based on the parsed locales. + +NOTE: `write_locales` only works on macOS currently. +''' + import subprocess +from typing import Dict + +import googletrans from constants import LanguageReplacementsForPybabel -def parse_langcodes(langcodes): - parsed_langcodes = langcodes - for replacement in LanguageReplacementsForPybabel.REPLACEMENTS: - parsed_langcodes.remove(replacement) - if (sub := (LanguageReplacementsForPybabel.REPLACEMENTS[replacement])): - parsed_langcodes.append(sub) - - parsed_langcodes.append("en") - return parsed_langcodes +class LocaleUtils: + @staticmethod + def parse_langcodes(langcodes: Dict[str, str]) -> Dict[str, str]: + '''Replace all googletrans langcodes as specified by `LanguageReplacementsForPyBabel` if the + value of the langcode is a string. If it is a None value, it is removed entirely. + ''' + parsed_langcodes = langcodes + for replacement in LanguageReplacementsForPybabel.REPLACEMENTS: + parsed_langcodes.remove(replacement) + if (sub := (LanguageReplacementsForPybabel.REPLACEMENTS[replacement])): + parsed_langcodes.append(sub) + + parsed_langcodes.append("en") + + return parsed_langcodes -def write_locales(langcodes): - for code in langcodes: - try: - print(f"inserting: {code}") - zsh_command = f"pybabel init -l {code} -i locales/base.pot -d locales" - result = subprocess.run(['zsh', '-c', zsh_command], text=True) - except: - print(f"failed to insert: {code}") + @staticmethod + def write_locales(langcodes: Dict[str, str]) -> None: + '''Runs the pybabel `init` command to create approximately 104 locale files within + `crossword_puzzle/locales` based on the parsed langcodes. + ''' + for code in langcodes: + try: + print(f"Inserting: {code}") + cmd = f"pybabel init -l {code} -i locales/base.pot -d locales" + result = subprocess.run(['zsh', '-c', cmd], text=True) + except: + print(f"Failed to insert: {code}") if __name__ == "__main__": langcodes = list(googletrans.LANGCODES.values()) - parsed_langcodes = parse_langcodes(langcodes) - write_locales(langcodes) \ No newline at end of file + parsed_langcodes = LocaleUtils.parse_langcodes(langcodes) + LocaleUtils.write_locales(langcodes) \ No newline at end of file diff --git a/src/main.py b/src/main.py index 9dbd29978..81f346fc7 100644 --- a/src/main.py +++ b/src/main.py @@ -13,7 +13,9 @@ import cword_gen as cwg from cword_gen import Crossword, CrosswordHelper -from constants import Paths, Colour, Fonts, CrosswordDifficulties, CrosswordStyle, BaseEngStrings +from constants import ( + Paths, Colour, Fonts, CrosswordDifficulties, CrosswordStyle, BaseEngStrings +) class Home(ctk.CTk): @@ -129,7 +131,7 @@ def generate_screen(self): def _exit_handler(self, restart=False): if AppHelper.confirm_with_messagebox(exit_=True, restart=restart): - self.destroy() + self.quit() if restart: AppHelper.start_app() @@ -171,6 +173,7 @@ def __init__(self, master): self.grid_rowconfigure(0, weight=1) self.cword_launch_options_enabled = False + self.cword_game_loaded = False self.selected_block = ctk.IntVar() self.selected_block.set(-1) self.word_count_preference = ctk.IntVar() @@ -234,11 +237,11 @@ def _configure_optionmenu_state(self, name): else: self.custom_word_count_optionmenu.configure(state="normal") self.custom_word_count_optionmenu.set("3") - self.b_load_selected_cword.configure(state="normal") + + if not self.cword_game_loaded: + self.b_load_selected_cword.configure(state="normal") def load_selected_cword(self): - self.b_load_selected_cword.configure(state="disabled") - return if self.word_count_preference.get() == 0: chosen_word_count = self.selected_cword_word_count elif self.word_count_preference.get() == 1: @@ -249,7 +252,9 @@ def load_selected_cword(self): name=self.selected_cword_name) crossword = cwg.CrosswordHelper.find_best_crossword(crossword) - crossword_game = CrosswordGame(crossword, self) + self.cword_game_loaded = True + + # ... def _generate_crossword_blocks(self): self.blocks_sequence = list() @@ -281,67 +286,6 @@ def _on_cword_selection(self, name, word_count): def go_to_home(self): self.master.close_cword_browser() - -class CrosswordGame(ctk.CTkToplevel): - def __init__(self, crossword, master): - super().__init__(master) - self.master = master - self.crossword = crossword - - # Will likely need these attributes - self.word_count = self.crossword.word_count - self.complete_grid = self.crossword.grid - self.dimensions = self.crossword.dimensions - self.total_char_count = self.crossword.total_char_count - self.data = self.crossword.data - - self.ref_grid = self._make_ref_grid() - - self.resizable(False, False) # Prevent insane amounts of lag and allow the toplevel to open - # in a new window and not a new tab (on MacOS) - self.geometry(f"{self.winfo_screenwidth()}x{self.winfo_screenheight()}") - self.title("Crossword Puzzle - Game") - - self._make_content() - self._place_content() - self._make_cells() - - def _make_content(self): - self.cword_container_dimensions = min(self.winfo_screenwidth(), self.winfo_screenheight()) - self.cword_container = ctk.CTkFrame(self, height=self.cword_container_dimensions, - width=self.cword_container_dimensions) - self._configure_container_grid() - - def _place_content(self): - self.cword_container.pack(side="left") - - def _configure_container_grid(self): - for i in range(self.dimensions): - self.cword_container.grid_rowconfigure(i, weight=1) - self.cword_container.grid_columnconfigure(i, weight=1) - - def _make_ref_grid(self): - ref_grid = self.complete_grid.copy() - ref_grid = [["" if column != CrosswordStyle.EMPTY else column for column in row] for row in ref_grid] - - return ref_grid - - def _make_cells(self): - self.cell_objects_grid = list() - - for row in range(self.dimensions): - cell_objects_row = list() - for column in range(self.dimensions): - frame_colour = "black" if self.ref_grid[row][column] == CrosswordStyle.EMPTY else "white" - cell_size = (self.cword_container_dimensions // self.dimensions) - cell_frame = ctk.CTkFrame(self.cword_container, fg_color=frame_colour, - width=cell_size, height=cell_size, corner_radius=0, - border_width=1) - cell_frame.grid(row=row, column=column, sticky="nsew") - cell_frame.bind("", lambda e: print("test")) - cell_objects_row.append(cell_frame) - self.cell_objects_grid.append(cell_objects_row) - class HorizontalScrollFrame(ctk.CTkFrame): def __init__(self, container, master):