From ae37c342d815e04b92ac45953b0fc941e83a001e Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 13:58:15 +0100 Subject: [PATCH 01/12] Added translation using Weblate (Belarusian) --- i18n/be/LC_MESSAGES/messages.po | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 i18n/be/LC_MESSAGES/messages.po diff --git a/i18n/be/LC_MESSAGES/messages.po b/i18n/be/LC_MESSAGES/messages.po new file mode 100644 index 0000000..db3d814 --- /dev/null +++ b/i18n/be/LC_MESSAGES/messages.po @@ -0,0 +1,49 @@ +# Translations template for PROJECT. +# Copyright (C) 2026 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2026-03-07 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Generated-By: Babel 2.17.0\n" + +#: src/snapshots/templates/article-template.html.j2:66 +msgid "How do I know that I can trust this page?" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:73 +msgid "" +"This story is a copy of an article from %(site_title). It is delivered to " +"you from a trusted archive to assure its availability over time." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:76 +msgid "View the article source" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:143 +msgid "You are leaving this page" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:163 +msgid "" +"This link will redirect you to an external website. If it’s not available" +" in your region, you may not be able to access it." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:165 +msgid "Continue" +msgstr "" From 5e3919406d36cd4dae7ca65c1eda501184604d7b Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 13:58:15 +0100 Subject: [PATCH 02/12] Added translation using Weblate (Persian) --- i18n/fa/LC_MESSAGES/messages.po | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 i18n/fa/LC_MESSAGES/messages.po diff --git a/i18n/fa/LC_MESSAGES/messages.po b/i18n/fa/LC_MESSAGES/messages.po new file mode 100644 index 0000000..483d342 --- /dev/null +++ b/i18n/fa/LC_MESSAGES/messages.po @@ -0,0 +1,48 @@ +# Translations template for PROJECT. +# Copyright (C) 2026 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2026-03-07 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Generated-By: Babel 2.17.0\n" + +#: src/snapshots/templates/article-template.html.j2:66 +msgid "How do I know that I can trust this page?" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:73 +msgid "" +"This story is a copy of an article from %(site_title). It is delivered to " +"you from a trusted archive to assure its availability over time." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:76 +msgid "View the article source" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:143 +msgid "You are leaving this page" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:163 +msgid "" +"This link will redirect you to an external website. If it’s not available" +" in your region, you may not be able to access it." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:165 +msgid "Continue" +msgstr "" From 5cf88056e7cdf06cbd0d3597ea5bf3a4ee4f0d16 Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 13:58:15 +0100 Subject: [PATCH 03/12] Added translation using Weblate (Georgian) --- i18n/ka/LC_MESSAGES/messages.po | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 i18n/ka/LC_MESSAGES/messages.po diff --git a/i18n/ka/LC_MESSAGES/messages.po b/i18n/ka/LC_MESSAGES/messages.po new file mode 100644 index 0000000..aa07c51 --- /dev/null +++ b/i18n/ka/LC_MESSAGES/messages.po @@ -0,0 +1,48 @@ +# Translations template for PROJECT. +# Copyright (C) 2026 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2026-03-07 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Generated-By: Babel 2.17.0\n" + +#: src/snapshots/templates/article-template.html.j2:66 +msgid "How do I know that I can trust this page?" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:73 +msgid "" +"This story is a copy of an article from %(site_title). It is delivered to " +"you from a trusted archive to assure its availability over time." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:76 +msgid "View the article source" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:143 +msgid "You are leaving this page" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:163 +msgid "" +"This link will redirect you to an external website. If it’s not available" +" in your region, you may not be able to access it." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:165 +msgid "Continue" +msgstr "" From 9b5a9afa657b0f3cc200b28021a8ba4ab508cdb5 Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 13:58:15 +0100 Subject: [PATCH 04/12] Added translation using Weblate (Dari) --- i18n/prs/LC_MESSAGES/messages.po | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 i18n/prs/LC_MESSAGES/messages.po diff --git a/i18n/prs/LC_MESSAGES/messages.po b/i18n/prs/LC_MESSAGES/messages.po new file mode 100644 index 0000000..5212f79 --- /dev/null +++ b/i18n/prs/LC_MESSAGES/messages.po @@ -0,0 +1,48 @@ +# Translations template for PROJECT. +# Copyright (C) 2026 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2026-03-07 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: prs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Generated-By: Babel 2.17.0\n" + +#: src/snapshots/templates/article-template.html.j2:66 +msgid "How do I know that I can trust this page?" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:73 +msgid "" +"This story is a copy of an article from %(site_title). It is delivered to " +"you from a trusted archive to assure its availability over time." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:76 +msgid "View the article source" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:143 +msgid "You are leaving this page" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:163 +msgid "" +"This link will redirect you to an external website. If it’s not available" +" in your region, you may not be able to access it." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:165 +msgid "Continue" +msgstr "" From ccf5da9af96cc98bb2ca7c7bb246654be8583eec Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 13:58:16 +0100 Subject: [PATCH 05/12] Added translation using Weblate (Pashto) --- i18n/ps/LC_MESSAGES/messages.po | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 i18n/ps/LC_MESSAGES/messages.po diff --git a/i18n/ps/LC_MESSAGES/messages.po b/i18n/ps/LC_MESSAGES/messages.po new file mode 100644 index 0000000..3fafae2 --- /dev/null +++ b/i18n/ps/LC_MESSAGES/messages.po @@ -0,0 +1,48 @@ +# Translations template for PROJECT. +# Copyright (C) 2026 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2026-03-07 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ps\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Generated-By: Babel 2.17.0\n" + +#: src/snapshots/templates/article-template.html.j2:66 +msgid "How do I know that I can trust this page?" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:73 +msgid "" +"This story is a copy of an article from %(site_title). It is delivered to " +"you from a trusted archive to assure its availability over time." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:76 +msgid "View the article source" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:143 +msgid "You are leaving this page" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:163 +msgid "" +"This link will redirect you to an external website. If it’s not available" +" in your region, you may not be able to access it." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:165 +msgid "Continue" +msgstr "" From 33e5d91d7daef9ab151bc28ca0ce3bf8f1226abc Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 13:58:16 +0100 Subject: [PATCH 06/12] Added translation using Weblate (Russian) --- i18n/ru/LC_MESSAGES/messages.po | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 i18n/ru/LC_MESSAGES/messages.po diff --git a/i18n/ru/LC_MESSAGES/messages.po b/i18n/ru/LC_MESSAGES/messages.po new file mode 100644 index 0000000..97b6053 --- /dev/null +++ b/i18n/ru/LC_MESSAGES/messages.po @@ -0,0 +1,49 @@ +# Translations template for PROJECT. +# Copyright (C) 2026 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2026-03-07 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Generated-By: Babel 2.17.0\n" + +#: src/snapshots/templates/article-template.html.j2:66 +msgid "How do I know that I can trust this page?" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:73 +msgid "" +"This story is a copy of an article from %(site_title). It is delivered to " +"you from a trusted archive to assure its availability over time." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:76 +msgid "View the article source" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:143 +msgid "You are leaving this page" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:163 +msgid "" +"This link will redirect you to an external website. If it’s not available" +" in your region, you may not be able to access it." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:165 +msgid "Continue" +msgstr "" From 3e4e9676cf154e8f4cc5996471c348971bd12f9e Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 14:21:04 +0100 Subject: [PATCH 07/12] Added translation using Weblate (Spanish) --- i18n/es/LC_MESSAGES/messages.po | 48 +++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 i18n/es/LC_MESSAGES/messages.po diff --git a/i18n/es/LC_MESSAGES/messages.po b/i18n/es/LC_MESSAGES/messages.po new file mode 100644 index 0000000..c58cac3 --- /dev/null +++ b/i18n/es/LC_MESSAGES/messages.po @@ -0,0 +1,48 @@ +# Translations template for PROJECT. +# Copyright (C) 2026 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2026-03-07 17:05+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Generated-By: Babel 2.17.0\n" + +#: src/snapshots/templates/article-template.html.j2:66 +msgid "How do I know that I can trust this page?" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:73 +msgid "" +"This story is a copy of an article from %(site_title). It is delivered to " +"you from a trusted archive to assure its availability over time." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:76 +msgid "View the article source" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:143 +msgid "You are leaving this page" +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:163 +msgid "" +"This link will redirect you to an external website. If it’s not available" +" in your region, you may not be able to access it." +msgstr "" + +#: src/snapshots/templates/article-template.html.j2:165 +msgid "Continue" +msgstr "" From 83123688ee83255d3d845f591255026bbc0f63c4 Mon Sep 17 00:00:00 2001 From: Fabiola Maurice Date: Sun, 8 Mar 2026 16:42:51 +0100 Subject: [PATCH 08/12] Translated using Weblate (Spanish) Currently translated at 100.0% (6 of 6 strings) Translation: SR2/snapdirect Translate-URL: https://hosted.weblate.org/projects/sr2/snapdirect/es/ --- i18n/es/LC_MESSAGES/messages.po | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/i18n/es/LC_MESSAGES/messages.po b/i18n/es/LC_MESSAGES/messages.po index c58cac3..a609758 100644 --- a/i18n/es/LC_MESSAGES/messages.po +++ b/i18n/es/LC_MESSAGES/messages.po @@ -8,19 +8,24 @@ msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2026-03-07 17:05+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2026-03-08 15:54+0000\n" +"Last-Translator: Fabiola Maurice \n" +"Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.17-dev\n" "Generated-By: Babel 2.17.0\n" #: src/snapshots/templates/article-template.html.j2:66 msgid "How do I know that I can trust this page?" msgstr "" +"Esto aparece en la parte superior de la página, en una captura de pantalla " +"del artículo. Al hacer clic aquí, se expandirá la sección para mostrar la " +"respuesta a la pregunta." #: src/snapshots/templates/article-template.html.j2:73 msgid "" From 7ecc8f776d0c012d057fe37ab2dc47bb9d6d6553 Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 16:44:00 +0100 Subject: [PATCH 09/12] Translated using Weblate (Spanish) Currently translated at 100.0% (6 of 6 strings) Translation: SR2/snapdirect Translate-URL: https://hosted.weblate.org/projects/sr2/snapdirect/es/ --- i18n/es/LC_MESSAGES/messages.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/i18n/es/LC_MESSAGES/messages.po b/i18n/es/LC_MESSAGES/messages.po index a609758..5e507cb 100644 --- a/i18n/es/LC_MESSAGES/messages.po +++ b/i18n/es/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2026-03-07 17:05+0000\n" "PO-Revision-Date: 2026-03-08 15:54+0000\n" -"Last-Translator: Fabiola Maurice \n" +"Last-Translator: irl \n" "Language-Team: Spanish \n" "Language: es\n" @@ -21,6 +21,7 @@ msgstr "" "Generated-By: Babel 2.17.0\n" #: src/snapshots/templates/article-template.html.j2:66 +#, fuzzy msgid "How do I know that I can trust this page?" msgstr "" "Esto aparece en la parte superior de la página, en una captura de pantalla " From ce9d1815e111372eb27b50af58a49cceb1b07bcc Mon Sep 17 00:00:00 2001 From: Fabiola Maurice Date: Sun, 8 Mar 2026 16:50:36 +0100 Subject: [PATCH 10/12] Translated using Weblate (Spanish) Currently translated at 100.0% (6 of 6 strings) Translation: SR2/snapdirect Translate-URL: https://hosted.weblate.org/projects/sr2/snapdirect/es/ --- i18n/es/LC_MESSAGES/messages.po | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/i18n/es/LC_MESSAGES/messages.po b/i18n/es/LC_MESSAGES/messages.po index 5e507cb..a0efd2a 100644 --- a/i18n/es/LC_MESSAGES/messages.po +++ b/i18n/es/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2026-03-07 17:05+0000\n" "PO-Revision-Date: 2026-03-08 15:54+0000\n" -"Last-Translator: irl \n" +"Last-Translator: Fabiola Maurice \n" "Language-Team: Spanish \n" "Language: es\n" @@ -21,12 +21,8 @@ msgstr "" "Generated-By: Babel 2.17.0\n" #: src/snapshots/templates/article-template.html.j2:66 -#, fuzzy msgid "How do I know that I can trust this page?" -msgstr "" -"Esto aparece en la parte superior de la página, en una captura de pantalla " -"del artículo. Al hacer clic aquí, se expandirá la sección para mostrar la " -"respuesta a la pregunta." +msgstr "¿Cómo sé que puedo confiar en esta página?" #: src/snapshots/templates/article-template.html.j2:73 msgid "" @@ -34,21 +30,27 @@ msgid "" "=\"snap-trust-header__sitelink\">%(site_title). It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" +"Esta historia es una copia de un artículo de %(site_title). Se la entregamos " +"desde un archivo confiable para garantizar su disponibilidad a lo largo del " +"tiempo." #: src/snapshots/templates/article-template.html.j2:76 msgid "View the article source" -msgstr "" +msgstr "Ver el código fuente del artículo" #: src/snapshots/templates/article-template.html.j2:143 msgid "You are leaving this page" -msgstr "" +msgstr "Estas abandonando esta pagina" #: src/snapshots/templates/article-template.html.j2:163 msgid "" "This link will redirect you to an external website. If it’s not available" " in your region, you may not be able to access it." msgstr "" +"Este enlace te redirigirá a un sitio web externo. Si no está disponible en " +"tu región, es posible que no lo puedas acceder." #: src/snapshots/templates/article-template.html.j2:165 msgid "Continue" -msgstr "" +msgstr "Continuar" From 50ae94c9e9428e2c509b6c07f1c66f586dd63ed7 Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 16:53:27 +0100 Subject: [PATCH 11/12] Translated using Weblate (Spanish) Currently translated at 100.0% (6 of 6 strings) Translation: SR2/snapdirect Translate-URL: https://hosted.weblate.org/projects/sr2/snapdirect/es/ --- i18n/es/LC_MESSAGES/messages.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/es/LC_MESSAGES/messages.po b/i18n/es/LC_MESSAGES/messages.po index a0efd2a..eef3583 100644 --- a/i18n/es/LC_MESSAGES/messages.po +++ b/i18n/es/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2026-03-07 17:05+0000\n" "PO-Revision-Date: 2026-03-08 15:54+0000\n" -"Last-Translator: Fabiola Maurice \n" +"Last-Translator: irl \n" "Language-Team: Spanish \n" "Language: es\n" From 6b8fb3b47062685aa51b6586d09d7ecda0152d55 Mon Sep 17 00:00:00 2001 From: irl Date: Sun, 8 Mar 2026 16:02:18 +0000 Subject: [PATCH 12/12] i18n: fix string with variables format --- i18n/be/LC_MESSAGES/messages.po | 4 +-- i18n/en/LC_MESSAGES/messages.po | 8 ++--- i18n/es/LC_MESSAGES/messages.po | 8 ++--- i18n/fa/LC_MESSAGES/messages.po | 4 +-- i18n/ka/LC_MESSAGES/messages.po | 4 +-- i18n/messages.pot | 4 +-- i18n/prs/LC_MESSAGES/messages.po | 4 +-- i18n/ps/LC_MESSAGES/messages.po | 4 +-- i18n/ru/LC_MESSAGES/messages.po | 4 +-- src/database.py | 50 ++++++++++++++++++++++++++++++++ src/models.py | 34 ++++++++++++++++++++++ src/snapshots/models.py | 9 ++++++ 12 files changed, 115 insertions(+), 22 deletions(-) create mode 100644 src/database.py create mode 100644 src/models.py create mode 100644 src/snapshots/models.py diff --git a/i18n/be/LC_MESSAGES/messages.po b/i18n/be/LC_MESSAGES/messages.po index db3d814..8962308 100644 --- a/i18n/be/LC_MESSAGES/messages.po +++ b/i18n/be/LC_MESSAGES/messages.po @@ -25,8 +25,8 @@ msgstr "" #: src/snapshots/templates/article-template.html.j2:73 msgid "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" diff --git a/i18n/en/LC_MESSAGES/messages.po b/i18n/en/LC_MESSAGES/messages.po index 82f1ac0..d3a6f71 100644 --- a/i18n/en/LC_MESSAGES/messages.po +++ b/i18n/en/LC_MESSAGES/messages.po @@ -24,12 +24,12 @@ msgstr "How do I know that I can trust this page?" #: src/snapshots/templates/article-template.html.j2:73 msgid "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." #: src/snapshots/templates/article-template.html.j2:76 diff --git a/i18n/es/LC_MESSAGES/messages.po b/i18n/es/LC_MESSAGES/messages.po index eef3583..2157241 100644 --- a/i18n/es/LC_MESSAGES/messages.po +++ b/i18n/es/LC_MESSAGES/messages.po @@ -26,12 +26,12 @@ msgstr "¿Cómo sé que puedo confiar en esta página?" #: src/snapshots/templates/article-template.html.j2:73 msgid "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" -"Esta historia es una copia de un artículo de %(site_title). Se la entregamos " +"Esta historia es una copia de un artículo de {site_title}. Se la entregamos " "desde un archivo confiable para garantizar su disponibilidad a lo largo del " "tiempo." diff --git a/i18n/fa/LC_MESSAGES/messages.po b/i18n/fa/LC_MESSAGES/messages.po index 483d342..f3c20d0 100644 --- a/i18n/fa/LC_MESSAGES/messages.po +++ b/i18n/fa/LC_MESSAGES/messages.po @@ -24,8 +24,8 @@ msgstr "" #: src/snapshots/templates/article-template.html.j2:73 msgid "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" diff --git a/i18n/ka/LC_MESSAGES/messages.po b/i18n/ka/LC_MESSAGES/messages.po index aa07c51..f4d8635 100644 --- a/i18n/ka/LC_MESSAGES/messages.po +++ b/i18n/ka/LC_MESSAGES/messages.po @@ -24,8 +24,8 @@ msgstr "" #: src/snapshots/templates/article-template.html.j2:73 msgid "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" diff --git a/i18n/messages.pot b/i18n/messages.pot index b23b85c..3356255 100644 --- a/i18n/messages.pot +++ b/i18n/messages.pot @@ -23,8 +23,8 @@ msgstr "" #: src/snapshots/templates/article-template.html.j2:73 msgid "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" diff --git a/i18n/prs/LC_MESSAGES/messages.po b/i18n/prs/LC_MESSAGES/messages.po index 5212f79..481721e 100644 --- a/i18n/prs/LC_MESSAGES/messages.po +++ b/i18n/prs/LC_MESSAGES/messages.po @@ -24,8 +24,8 @@ msgstr "" #: src/snapshots/templates/article-template.html.j2:73 msgid "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" diff --git a/i18n/ps/LC_MESSAGES/messages.po b/i18n/ps/LC_MESSAGES/messages.po index 3fafae2..2bb963d 100644 --- a/i18n/ps/LC_MESSAGES/messages.po +++ b/i18n/ps/LC_MESSAGES/messages.po @@ -24,8 +24,8 @@ msgstr "" #: src/snapshots/templates/article-template.html.j2:73 msgid "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" diff --git a/i18n/ru/LC_MESSAGES/messages.po b/i18n/ru/LC_MESSAGES/messages.po index 97b6053..44b8f91 100644 --- a/i18n/ru/LC_MESSAGES/messages.po +++ b/i18n/ru/LC_MESSAGES/messages.po @@ -25,8 +25,8 @@ msgstr "" #: src/snapshots/templates/article-template.html.j2:73 msgid "" -"This story is a copy of an article from %(site_title). It is delivered to " +"This story is a copy of an article from {site_title}. It is delivered to " "you from a trusted archive to assure its availability over time." msgstr "" diff --git a/src/database.py b/src/database.py new file mode 100644 index 0000000..d344210 --- /dev/null +++ b/src/database.py @@ -0,0 +1,50 @@ +import contextlib +from typing import Annotated, Iterator, Generator + +from fastapi import Depends +from sqlalchemy import ( + MetaData, create_engine, Connection, +) +from sqlalchemy.orm import sessionmaker, Session + +from src.config import settings +from src.constants import DB_NAMING_CONVENTION + +engine = create_engine( + str(settings.DATABASE_URL), + pool_size=settings.DATABASE_POOL_SIZE, + pool_recycle=settings.DATABASE_POOL_TTL, + pool_pre_ping=settings.DATABASE_POOL_PRE_PING, +) +metadata = MetaData(naming_convention=DB_NAMING_CONVENTION) +sm = sessionmaker(autocommit=False, expire_on_commit=False, bind=engine) + + +@contextlib.contextmanager +def get_db_connection() -> Iterator[Connection]: + with engine.connect() as connection: + try: + yield connection + except Exception: + connection.rollback() + raise + + +@contextlib.contextmanager +def get_db_session() -> Iterator[Session]: + session = sm() + try: + yield session + except Exception: + session.rollback() + raise + finally: + session.close() + + +def get_db() -> Generator[Session, None]: + with get_db_session() as session: + yield session + + +DbSession = Annotated[Session, Depends(get_db)] diff --git a/src/models.py b/src/models.py new file mode 100644 index 0000000..614f969 --- /dev/null +++ b/src/models.py @@ -0,0 +1,34 @@ +from datetime import datetime +from typing import Any + +from sqlalchemy import DateTime, JSON, func +from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column +from src.database import metadata + + +class CustomBase(DeclarativeBase): + type_annotation_map = { + datetime: DateTime(timezone=True), + dict[str, Any]: JSON, + } + metadata = metadata + +class ActivatedMixin: + active: Mapped[bool] = mapped_column(default=True) + + +class DeletedTimestampMixin: + deleted_at: Mapped[datetime | None] = mapped_column(nullable=True) + + +class DescriptionMixin: + description: Mapped[str] + + +class IdMixin: + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + + +class TimestampMixin: + created_at: Mapped[datetime] = mapped_column(default=func.now()) + updated_at: Mapped[datetime] = mapped_column(default=func.now(), onupdate=func.now()) diff --git a/src/snapshots/models.py b/src/snapshots/models.py new file mode 100644 index 0000000..17b9f01 --- /dev/null +++ b/src/snapshots/models.py @@ -0,0 +1,9 @@ +from sqlalchemy.orm import Mapped + +from src.models import CustomBase, IdMixin + + +class Snapshot(CustomBase, IdMixin): + __tablename__ = "snapshot" + + url: Mapped[str]