aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-10-31 18:08:33 +0100
committerWojtek Kosior <koszko@koszko.org>2022-10-31 18:08:33 +0100
commite5d9ee98a548e2b863104e52eb2bc309b1336179 (patch)
tree729b649284823a45d95baeec27618223c21e83a3
parent5bd4d055f314eeba9187163b191ffa6ecce03f33 (diff)
downloadhydrilla-website-e5d9ee98a548e2b863104e52eb2bc309b1336179.tar.gz
hydrilla-website-e5d9ee98a548e2b863104e52eb2bc309b1336179.zip
add internationalization and polish translations
-rw-r--r--src/hydrilla_website/app.py55
m---------src/hydrilla_website/common_jinja_templates0
-rw-r--r--src/hydrilla_website/locales/en_US/LC_MESSAGES/messages.po333
-rw-r--r--src/hydrilla_website/locales/pl_PL/LC_MESSAGES/messages.po365
-rw-r--r--src/hydrilla_website/templates/downloads.html.jinja140
-rw-r--r--src/hydrilla_website/templates/index.html.jinja142
6 files changed, 868 insertions, 167 deletions
diff --git a/src/hydrilla_website/app.py b/src/hydrilla_website/app.py
index a86c22a..289bf76 100644
--- a/src/hydrilla_website/app.py
+++ b/src/hydrilla_website/app.py
@@ -30,6 +30,8 @@ import typing as t
from pathlib import Path
import flask
+import werkzeug
+import itsdangerous
import jinja2
from . import common_jinja_templates
@@ -38,26 +40,34 @@ from . import common_jinja_templates
here = Path(__file__).resolve().parent
-supported_languages = {'en_US'}
+supported_locales = {'en_US', 'pl_PL'}
default_locale = 'en_US'
def choose_locale() -> None:
app = t.cast(HydrillaWebsite, flask.current_app)
- best_locale_match = flask.request.accept_languages.best_match(
- supported_languages,
- default = default_locale
- )
- if best_locale_match is None:
- app._hydrilla_request_locale = default_locale
+
+ user_chosen_locale = flask.request.cookies.get('chosen-locale')
+ if user_chosen_locale not in supported_locales:
+ user_chosen_locale = None
+
+ if user_chosen_locale is None:
+ best_locale_match = flask.request.accept_languages.best_match(
+ supported_locales,
+ default = default_locale
+ )
+ if best_locale_match is None:
+ app._hydrilla_request_locale = default_locale
+ else:
+ app._hydrilla_request_locale = best_locale_match
else:
- app._hydrilla_request_locale = best_locale_match
+ app._hydrilla_request_locale = user_chosen_locale
translations = gettext.translation(
- 'messages',
- localedir = here / 'locales',
- languages = [app._hydrilla_request_locale]
- )
+ 'messages',
+ localedir = here / 'locales',
+ languages = [app._hydrilla_request_locale]
+ )
app.jinja_env.install_gettext_translations(translations)
@@ -90,7 +100,10 @@ website_app = HydrillaWebsite()
@website_app.route('/', methods=['GET'])
def main() -> str:
- return flask.render_template('index.html.jinja')
+ return flask.render_template(
+ 'index.html.jinja',
+ locale_serializer = itsdangerous.Serializer(secret, salt='set_locale')
+ )
@website_app.route('/favicon.ico', methods=['GET'])
def favicon() -> str:
@@ -99,3 +112,19 @@ def favicon() -> str:
@website_app.route('/downloads', methods=['GET'])
def downloads() -> str:
return flask.render_template('downloads.html.jinja')
+
+@website_app.route('/set-lang', methods=['POST'])
+def set_locale() -> werkzeug.Response:
+ serializer = itsdangerous.Serializer(secret, salt='set_locale')
+ new_locale = serializer.loads(flask.request.form['lang_code'])
+
+ response = flask.redirect(flask.url_for('main') + '#langs', code=303)
+ response.set_cookie(key='chosen-locale', value=new_locale, path='/')
+
+ return response
+
+secret = 'not-so-secret'
+
+def set_secret(new_secret: str) -> None:
+ global secret
+ secret = new_secret
diff --git a/src/hydrilla_website/common_jinja_templates b/src/hydrilla_website/common_jinja_templates
-Subproject 12fc683ba764b32f371ee8d4c75bac4471a388d
+Subproject 6b414822f00206b83884e7738b1311ab9d7cbf9
diff --git a/src/hydrilla_website/locales/en_US/LC_MESSAGES/messages.po b/src/hydrilla_website/locales/en_US/LC_MESSAGES/messages.po
index d4041b2..9f97f6e 100644
--- a/src/hydrilla_website/locales/en_US/LC_MESSAGES/messages.po
+++ b/src/hydrilla_website/locales/en_US/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hydrilla_website 0.1.dev0+d20221029\n"
"Report-Msgid-Bugs-To: koszko@koszko.org\n"
-"POT-Creation-Date: 2022-10-29 13:24+0200\n"
+"POT-Creation-Date: 2022-10-31 18:07+0100\n"
"PO-Revision-Date: 2022-10-29 13:18+0200\n"
"Last-Translator: Wojtek Kosior <koszko@koszko.org>\n"
"Language: en_US\n"
@@ -18,17 +18,338 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.0\n"
+#: src/hydrilla_website/templates/downloads.html.jinja:23
+msgid "downloads.title"
+msgstr "Downloads - Haketilo"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:47
+msgid "downloads.h_small.files"
+msgstr "Files"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:48
+msgid "downloads.h_small.signify_signatures"
+msgstr "Signify signatures"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:49
+msgid "downloads.h_small.pgp_signatures"
+msgstr "PGP signatures"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:81
+msgid "downloads.pre_release_version"
+msgstr "(pre-release version)"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:83
+msgid "downloads.source_code"
+msgstr "source code"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:85
+msgid "downloads.webextension.chromium_build"
+msgstr "Chromium build"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:86
+msgid "downloads.webextension.mozilla_build"
+msgstr "Mozilla build"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:91
+msgid "downloads.h_big.haketilo_downloads"
+msgstr "Haketilo downloads"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:95
+msgid "downloads.haketilo_downloads.this_page_lists"
+msgstr ""
+"This page lists releases of Haketilo proxy, Haketilo browser extension "
+"(now in maintenance mode) and Hydrilla repository server. Starting with "
+"version 3 Haketilo proxy and Hydrilla are distributed together."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:99
+msgid "downloads.haketilo_downloads.html.all_files_signed_by"
+msgstr ""
+"All files are cryptographically signed by project maintainer, Wojciech "
+"Kosior. Public keys for verification of signatures are the ones from <a "
+"href=\"https://koszko.org\">koszko.org</a>. You might want to read the <a"
+" "
+"href=\"https://hydrillabugs.koszko.org/projects/haketilo/wiki/Verifying_signatures\">instructions</a>"
+" on signature verification."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:102
+msgid "downloads.haketilo_downloads.h_small.pgp_fingerprint"
+msgstr "PGP key fingerprint"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:109
+msgid "downloads.haketilo_downloads.h_small.html.signify_key"
+msgstr "<a href=\"https://man.openbsd.org/signify\">Signify</a> public key"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:118
+msgid "downloads.h_big.haketilo_and_hydrilla_releases"
+msgstr "Haketilo proxy and Hydrilla releases"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:121
+msgid "downloads.haketilo_and_hydrilla_releases.listed_below_are"
+msgstr ""
+"Tool releases from version 3 upwards are listed below. Both Haketilo "
+"proxy and Hydrilla are included inside."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:125
+msgid "downloads.haketilo_and_hydrilla_releases.html.repo_is_at"
+msgstr ""
+"If you're a programmer, you might also want to check the <a "
+"href=\"https://git.koszko.org/pydrilla\">git repository of Hydrilla and "
+"Haketilo</a>."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:131
+msgid "downloads.haketilo_and_hydrilla_releases.html.with_guix_1.3.0-26.fd00ac7"
+msgstr ""
+"The binary release was made with <a href=\"https://guix.gnu.org/\">GNU "
+"Guix</a> version <span class=\"bold\">1.3.0-26.fd00ac7</span>."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:137
+msgid "downloads.haketilo_and_hydrilla_releases.relocatable_x86-64"
+msgstr "relocatable standalone binary release for x86-64 GNU/Linux computers"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:139
+msgid "downloads.haketilo_and_hydrilla_releases.wheel_for_pip"
+msgstr "Python wheel for use with pip"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:147
+msgid "downloads.h_big.old_hydrilla_releases"
+msgstr "Old Hydrilla releases"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:150
+msgid "downloads.old_hydrilla_releases.html.listed_below_are"
+msgstr ""
+"Hydrilla releases before version 3 are listed below. Those old versions "
+"do not yet include the Haketilo proxy. The functionality is split between"
+" separate Hydrilla <span class=\"bold\">builder</span> and <span "
+"class=\"bold\">server</span> packages. The latter depends on the former."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:154
+msgid "downloads.old_hydrilla_releases.html.repo_is_at"
+msgstr ""
+"If you're a programmer, you might also want to check the git repositories"
+" of <a href=\"https://git.koszko.org/pydrilla\">Hydrilla</a> and <a "
+"href=\"https://git.koszko.org/hydrilla-builder\">Hydrilla builder</a>."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:203
+msgid "downloads.h_big.webextension"
+msgstr "Haketilo WebExtension"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:206
+msgid "downloads.webextension.listed_below_are"
+msgstr ""
+"Browser extension releases are listed below. The extension is currently "
+"in maintenance mode and is not going to receive new functionalities."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:210
+msgid "downloads.webextension.html.repo_is_at"
+msgstr ""
+"If you're a programmer, you might also want to check the <a "
+"href=\"https://git.koszko.org/browser-extension/\">git repository of "
+"Haketilo browser extension</a>."
+
#: src/hydrilla_website/templates/index.html.jinja:23
msgid "index.title"
msgstr "Haketilo"
-#: src/hydrilla_website/templates/index.html.jinja:27
+#: src/hydrilla_website/templates/index.html.jinja:45
+msgid "index.nav.home"
+msgstr "Home"
+
+#: src/hydrilla_website/templates/index.html.jinja:47
+msgid "index.nav.about"
+msgstr "About"
+
+#: src/hydrilla_website/templates/index.html.jinja:49
+msgid "index.nav.manual"
+msgstr "Manual"
+
+#: src/hydrilla_website/templates/index.html.jinja:51
+msgid "index.nav.downloads"
+msgstr "Downloads"
+
+#: src/hydrilla_website/templates/index.html.jinja:53
+msgid "index.nav.get_involved"
+msgstr "Get involved"
+
+#: src/hydrilla_website/templates/index.html.jinja:55
+msgid "index.nav.languages"
+msgstr "Languages"
+
+#: src/hydrilla_website/templates/index.html.jinja:57
+msgid "index.nav.site_sources"
+msgstr "Website sources"
+
+#: src/hydrilla_website/templates/index.html.jinja:66
msgid "index.h_big.taking_back_the_web"
-msgstr "Taking back the web with Haketilo"
+msgstr "Taking back the Web with Haketilo"
+
+#: src/hydrilla_website/templates/index.html.jinja:72
+msgid "index.h_big.about"
+msgstr "About"
-#: src/hydrilla_website/templates/website_base.html.jinja:20
+#: src/hydrilla_website/templates/index.html.jinja:76
+msgid "index.about.html.haketilo_is_a_tool"
+msgstr ""
+"Haketilo is a tool that facilitates viewing websites with their original "
+"<a href=\"https://en.wikipedia.org/wiki/JavaScript\">JavaScript</a> "
+"replaced by user-provided scripts. It combines the functionalities of "
+"content blocker and user script manager. It can be used with its script "
+"repository, Hydrilla."
+
+#: src/hydrilla_website/templates/index.html.jinja:80
+msgid "index.about.html.haketilo_javascript_trap"
+msgstr ""
+"One of Haketilo's aims is to address the issues raised in <a "
+"href=\"https://www.gnu.org/philosophy/javascript-trap.html\">\"The "
+"JavaScript trap\"</a>. It is being developed with hope that it will make "
+"more user-controlled \"Web\" browsing possible."
+
+#: src/hydrilla_website/templates/index.html.jinja:84
+msgid "index.about.html.haketilo_is_libre_proxy"
+msgstr ""
+"Haketilo is a <a "
+"href=\"https://en.wikipedia.org/wiki/Free_software\">free/libre "
+"software</a>, TLS-enabled HTTP proxy. As such, it can be used with "
+"multiple web browsers, regardless of their native support for some "
+"particular addon format."
+
+#: src/hydrilla_website/templates/index.html.jinja:88
+msgid "index.about.html.haketilo_extension_variant"
+msgstr ""
+"A browser extension variant of Haketilo also exists and is compatible "
+"with <a href=\"https://en.wikipedia.org/wiki/Firefox\">Firefox</a>- and "
+"<a "
+"href=\"https://en.wikipedia.org/wiki/Chromium_(web_browser)\">Chromium</a>-based"
+" browsers that support the Manifest V2 WebExtension format. The browser "
+"extension is currently in maintenance mode and does not receive new "
+"features."
+
+#: src/hydrilla_website/templates/index.html.jinja:91
+msgid "index.about.h_medium.available_packages"
+msgstr "Available packages"
+
+#: src/hydrilla_website/templates/index.html.jinja:94
+msgid "index.about.available_packages.html"
+msgstr ""
+"Haketilo can be used both for simple script-blocking and for altering the"
+" ways websites are viewed. Its official Hydrilla repository provides a "
+"collection of <a href=\"https://en.wikipedia.org/wiki/Free-"
+"software_license\">freely-licensed</a> packages that can make several "
+"websites viewable again after their original JavaScript is blocked from "
+"executing."
+
+#: src/hydrilla_website/templates/index.html.jinja:97
+msgid "index.about.h_medium.credits"
+msgstr "Credits"
+
+#: src/hydrilla_website/templates/index.html.jinja:100
+msgid "index.about.credits.special_thanks_to"
+msgstr ""
+"Those who knowingly or unknowingly helped the project in some way, "
+"receive special thanks."
+
+#: src/hydrilla_website/templates/index.html.jinja:105
+msgid "index.about.credits.list_entry.html.nlnet"
+msgstr ""
+"the <a href=\"https://nlnet.nl/\">NLnet Foundation</a> with the <a "
+"href=\"https://ngi.eu/\">NGI0 Programme</a> for funding the development "
+"of Haketilo in 2021 and 2022"
+
+#: src/hydrilla_website/templates/index.html.jinja:108
+msgid "index.about.credits.list_entry.html.jahoti"
+msgstr ""
+"<a href=\"https://tilde.team/~jahoti/\">Jahoti</a> for contributions in "
+"the early stages of Haketilo browser extension"
+
+#: src/hydrilla_website/templates/index.html.jinja:111
+msgid "index.about.credits.list_entry.html.nick"
+msgstr ""
+"<a href=\"https://nicksphere.ch/\">Nicholas Johnson</a> for preparing a "
+"<a href=\"https://media.libreplanet.org/u/libreplanet/m/taking-back-the-"
+"web-with-haketilo/\">presentation about Haketilo</a> for LibrePlanet 2022"
+
+#: src/hydrilla_website/templates/index.html.jinja:114
+msgid "index.about.credits.list_entry.html.david_lyons"
+msgstr ""
+"<a href=\"https://openclipart.org/artist/davidblyons\">David Lyons</a> "
+"for his hatchet graphic that is being used in Haketilo"
+
+#: src/hydrilla_website/templates/index.html.jinja:117
+msgid "index.about.credits.list_entry.html.mitmproxy"
+msgstr ""
+"the creators of <a href=\"https://mitmproxy.org/\">mitmproxy</a> which "
+"serves as a base for Haketilo proxy"
+
+#: src/hydrilla_website/templates/index.html.jinja:120
+msgid "index.about.credits.list_entry.html.pallets"
+msgstr ""
+"the <a href=\"https://palletsprojects.com/\">the Pallets Projects</a> for"
+" creating Flask and other tools that are used extensively in this very "
+"website as well as in Haketilo&Hydrilla"
+
+#: src/hydrilla_website/templates/index.html.jinja:126
+msgid "index.h_big.user_manual"
+msgstr "User manual"
+
+#: src/hydrilla_website/templates/index.html.jinja:129
+msgid "index.user_manual.html.haketilo_wiki_and_inline_doc"
+msgstr ""
+"Information about installation, running and some technical aspects of "
+"Haketilo operation can be found on <a "
+"href=\"https://hydrillabugs.koszko.org/projects/haketilo/wiki\">project's"
+" Redmine-powered wiki</a>. Additional help is provided by Haketilo "
+"proxy's builtin documentation which can be viewed from the tool itself."
+
+#: src/hydrilla_website/templates/index.html.jinja:133
+msgid "index.user_manual.html.hydrilla_wiki"
+msgstr ""
+"The documentation of Hydrilla repository server for use with Haketilo can"
+" be found on <a "
+"href=\"https://hydrillabugs.koszko.org/projects/hydrilla/wiki\">on "
+"project's wiki</a>."
+
+#: src/hydrilla_website/templates/index.html.jinja:138
+msgid "index.h_big.get_involved"
+msgstr "Get involved"
+
+#: src/hydrilla_website/templates/index.html.jinja:141
+msgid "index.get_involved.html.project_redmine_instance"
+msgstr ""
+"Haketilo development currently occurs on <a "
+"href=\"https://hydrillabugs.koszko.org/\">project's Redmine instance</a>."
+" Individuals and groups are more than welcome to"
+
+#: src/hydrilla_website/templates/index.html.jinja:146
+msgid "index.get_involved.list_entry.provide_feedback"
+msgstr "provide feedback and suggestions,"
+
+#: src/hydrilla_website/templates/index.html.jinja:149
+msgid "index.get_involved.list_entry.report_bugs"
+msgstr "make bug reports,"
+
+#: src/hydrilla_website/templates/index.html.jinja:152
+msgid "index.get_involved.list_entry.share_custom_scripts"
+msgstr "share custom scripts for websites,"
+
+#: src/hydrilla_website/templates/index.html.jinja:155
+msgid "index.get_involved.list_entry.provide_translations"
+msgstr "provide translations and"
+
+#: src/hydrilla_website/templates/index.html.jinja:158
+msgid "index.get_involved.list_entry.contribute_code"
+msgstr "contribute code to Haketilo and Hydrilla."
+
+#: src/hydrilla_website/templates/index.html.jinja:163
+msgid "index.get_involved.html.email_maintainer"
+msgstr ""
+"One can also email the maintainer of Haketilo, <a "
+"href=\"https://koszko.org/en/koszko.html\">Wojtek Kosior</a>, directly at"
+" <a href=\"mailto:koszko@koszko.org\">koszko@koszko.org</a>."
+
+#: src/hydrilla_website/templates/index.html.jinja:168
+msgid "index.h_big.choose_language"
+msgstr "Choose your language"
+
+#: src/hydrilla_website/templates/website_base.html.jinja:19
msgid "base.title.haketilo"
msgstr "Haketilo"
-msgid "index.h_big.haketilo_downloads"
-msgstr "Haketilo downloads"
diff --git a/src/hydrilla_website/locales/pl_PL/LC_MESSAGES/messages.po b/src/hydrilla_website/locales/pl_PL/LC_MESSAGES/messages.po
new file mode 100644
index 0000000..360c99b
--- /dev/null
+++ b/src/hydrilla_website/locales/pl_PL/LC_MESSAGES/messages.po
@@ -0,0 +1,365 @@
+# SPDX-License-Identifier: CC0-1.0
+# Polish translations for Hydrilla&Haketilo website.
+#
+# Copyright (C) 2021-2022 Wojtek Kosior <koszko@koszko.org>
+# Available under the terms of Creative Commons Zero v1.0 Universal.
+msgid ""
+msgstr ""
+"Project-Id-Version: hydrilla_website 0.1.dev0+d20221029\n"
+"Report-Msgid-Bugs-To: koszko@koszko.org\n"
+"POT-Creation-Date: 2022-10-31 18:07+0100\n"
+"PO-Revision-Date: 2022-10-29 13:18+0200\n"
+"Last-Translator: Wojtek Kosior <koszko@koszko.org>\n"
+"Language: pl_PL\n"
+"Language-Team: pl_PL <koszko@koszko.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.9.0\n"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:23
+msgid "downloads.title"
+msgstr "Do pobrania - Haketilo"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:47
+msgid "downloads.h_small.files"
+msgstr "Pliki"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:48
+msgid "downloads.h_small.signify_signatures"
+msgstr "Podpisy Signify"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:49
+msgid "downloads.h_small.pgp_signatures"
+msgstr "Podpisy PGP"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:81
+msgid "downloads.pre_release_version"
+msgstr "(wersja przedpremierowa)"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:83
+msgid "downloads.source_code"
+msgstr "kod źródłowy"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:85
+msgid "downloads.webextension.chromium_build"
+msgstr "wariant spreparowany pod Chromium"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:86
+msgid "downloads.webextension.mozilla_build"
+msgstr "wariant spreparowany pod Mozillę"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:91
+msgid "downloads.h_big.haketilo_downloads"
+msgstr "Do pobrania"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:95
+msgid "downloads.haketilo_downloads.this_page_lists"
+msgstr ""
+"Niniejsza strona zawiera spis wydań proxy Haketilo i rozszerzenia "
+"przeglądarkowego Haketilo (obecnie w stanie wyłącznie utrzymywania) i "
+"serwera repozytorium Hydrilla. Począwszy od wersji 3-ciej proxy Haketilo "
+"i Hydrilla są rozpowszechniane razem."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:99
+msgid "downloads.haketilo_downloads.html.all_files_signed_by"
+msgstr ""
+"Wszystkie pliki są podpisane kryptograficznie przez kierownika projektu, "
+"Wojtka Kosiora. Klucze publiczne do weryfikacji podpisów dostępne są na "
+"jego stronie <a href=\"https://koszko.org\">koszko.org</a>. Zainteresować"
+" Cię mogą tak także <a "
+"href=\"https://hydrillabugs.koszko.org/projects/haketilo/wiki/Verifying_signatures\">instrukcje</a>"
+" dotyczące weryfikacji podpisów."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:102
+msgid "downloads.haketilo_downloads.h_small.pgp_fingerprint"
+msgstr "Odcisk klucza PGP"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:109
+msgid "downloads.haketilo_downloads.h_small.html.signify_key"
+msgstr "Odcisk klucza <a href=\"https://man.openbsd.org/signify\">Signify</a>"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:118
+msgid "downloads.h_big.haketilo_and_hydrilla_releases"
+msgstr "Wydania Haketilo proxy and Hydrilli"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:121
+msgid "downloads.haketilo_and_hydrilla_releases.listed_below_are"
+msgstr ""
+"Wydania ninejszych narzędzi od wersji 3-ciej wzwyż są wypisane poniżej. "
+"Zawarte w nich są zarówno proxy Haketilo, jak i Hydrilla."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:125
+msgid "downloads.haketilo_and_hydrilla_releases.html.repo_is_at"
+msgstr ""
+"Jeśli jesteś programistą, możesz być także zainteresowany zajrzeniem na "
+"<a href=\"https://git.koszko.org/pydrilla\">repozytorium gitowe Hydrilli "
+"i Haketilo</a>."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:131
+msgid "downloads.haketilo_and_hydrilla_releases.html.with_guix_1.3.0-26.fd00ac7"
+msgstr ""
+"Wydanie binarne zostało przygotowane z wykorzystaniem <a "
+"href=\"https://guix.gnu.org/\">GNU Guix</a> w wersji <span "
+"class=\"bold\">1.3.0-26.fd00ac7</span>."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:137
+msgid "downloads.haketilo_and_hydrilla_releases.relocatable_x86-64"
+msgstr ""
+"przenośne, wolnostojące wydanie binarne na komputery x86-64 działające "
+"pod GNU/Linuksem"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:139
+msgid "downloads.haketilo_and_hydrilla_releases.wheel_for_pip"
+msgstr "Python'owy \"wheel\" do instalacji pip'em"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:147
+msgid "downloads.h_big.old_hydrilla_releases"
+msgstr "Stare wydania Hydrilli"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:150
+msgid "downloads.old_hydrilla_releases.html.listed_below_are"
+msgstr ""
+"Wydania Hydrilli sprzed wersji 3-ciej są wypisane poniżej. Te starsze "
+"wersje nie zawierają w sobie jeszcze proxy Haketilo. Funkcjonalności są "
+"podzielone pomiędzy osobne pakiety <span class=\"bold\">builder'a</span> "
+"i <span class=\"bold\">serwera</span> Hydrilli. Ten drugi zależy od tego "
+"pierwszego."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:154
+msgid "downloads.old_hydrilla_releases.html.repo_is_at"
+msgstr ""
+"Jeśli jesteś programistą, możesz być także zainteresowany zajrzeniem na "
+"repozytoria gitowe <a "
+"href=\"https://git.koszko.org/pydrilla\">Hydrilli</a> i <a "
+"href=\"https://git.koszko.org/hydrilla-builder\">Hydrilla builder'a</a>."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:203
+msgid "downloads.h_big.webextension"
+msgstr "Haketilo WebExtension"
+
+#: src/hydrilla_website/templates/downloads.html.jinja:206
+msgid "downloads.webextension.listed_below_are"
+msgstr ""
+"Wydania rozszerzenia przeglądarkowego są wypisane poniżej. Rozszerzenie "
+"jest obecnie w stanie wyłącznie utrzymania i nie będą do niego dodawane "
+"nowe funkcjonalności."
+
+#: src/hydrilla_website/templates/downloads.html.jinja:210
+msgid "downloads.webextension.html.repo_is_at"
+msgstr ""
+"Jeśli jesteś programistą, możesz być także zainteresowany zajrzeniem na "
+"<a href=\"https://git.koszko.org/browser-extension/\">repozytorium gitowe"
+" rozszerzenia przeglądarkowego Haketilo</a>."
+
+#: src/hydrilla_website/templates/index.html.jinja:23
+msgid "index.title"
+msgstr "Haketilo"
+
+#: src/hydrilla_website/templates/index.html.jinja:45
+msgid "index.nav.home"
+msgstr "Start"
+
+#: src/hydrilla_website/templates/index.html.jinja:47
+msgid "index.nav.about"
+msgstr "O Haketilo"
+
+#: src/hydrilla_website/templates/index.html.jinja:49
+msgid "index.nav.manual"
+msgstr "Podręcznik"
+
+#: src/hydrilla_website/templates/index.html.jinja:51
+msgid "index.nav.downloads"
+msgstr "Do pobrania"
+
+#: src/hydrilla_website/templates/index.html.jinja:53
+msgid "index.nav.get_involved"
+msgstr "Zaangażuj się"
+
+#: src/hydrilla_website/templates/index.html.jinja:55
+msgid "index.nav.languages"
+msgstr "Języki"
+
+#: src/hydrilla_website/templates/index.html.jinja:57
+msgid "index.nav.site_sources"
+msgstr "Kod źródłowy strony"
+
+#: src/hydrilla_website/templates/index.html.jinja:66
+msgid "index.h_big.taking_back_the_web"
+msgstr "Odzyskujemy kontrolę nad siecią z Haketilo"
+
+#: src/hydrilla_website/templates/index.html.jinja:72
+msgid "index.h_big.about"
+msgstr "O Haketilo"
+
+#: src/hydrilla_website/templates/index.html.jinja:76
+msgid "index.about.html.haketilo_is_a_tool"
+msgstr ""
+"Haketilo to narzędzie, które pozwala na zastępowanie oryginalnego kodu <a"
+" href=\"https://en.wikipedia.org/wiki/JavaScript\">JavaScript</a> "
+"przeglądanych stron skryptami dostarczonymi przez użytkownika. Łączy ono "
+"w sobie funkcjonalności blokera i menadżera skryptów. Może być używane "
+"razem ze swoim repozytorium skryptów, Hydrillą."
+
+#: src/hydrilla_website/templates/index.html.jinja:80
+msgid "index.about.html.haketilo_javascript_trap"
+msgstr ""
+"Jednym z celów Haketilo jest zaradzenie problemom zarysowanym w <a "
+"href=\"https://www.gnu.org/philosophy/javascript-trap.html\">\"Pułapce "
+"JavaScript'u\"</a>. Jest rozwijane z nadzieją, że umożliwi przeglądanie "
+"sieci w sposób bardziej kotrolowany przez użytkownika."
+
+#: src/hydrilla_website/templates/index.html.jinja:84
+msgid "index.about.html.haketilo_is_libre_proxy"
+msgstr ""
+"Haketilo to wspierające protokół TLS proxy HTTP będące <a "
+"href=\"https://pl.wikipedia.org/wiki/Wolne_oprogramowanie\">wolnym "
+"oprogramowaniem</a>. Jako takie, może być używane z wieloma "
+"przeglądarkami, niezależnie od ich własnego wsparcia dla jakiegoś "
+"konkretnego formatu rozszerzeń."
+
+#: src/hydrilla_website/templates/index.html.jinja:88
+msgid "index.about.html.haketilo_extension_variant"
+msgstr ""
+"Istnieje również wariant Haketilo będący rozszerzeniem przeglądarkowym i "
+"wpółpracuje on z przeglądarkami opartymi na <a "
+"href=\"https://pl.wikipedia.org/wiki/Firefox\">Firefox</a> i <a "
+"href=\"https://pl.wikipedia.org/wiki/Chromium\">Chromium</a>, które "
+"wspierają format Manifest V2 rozszerzeń WebExtension. Rozszerzenie "
+"przeglądarkowe jest obecnie w trybie wyłącznie utrzymania i nie dostaje "
+"nowych funkcjonalności."
+
+#: src/hydrilla_website/templates/index.html.jinja:91
+msgid "index.about.h_medium.available_packages"
+msgstr "Dostępne pakiety"
+
+#: src/hydrilla_website/templates/index.html.jinja:94
+msgid "index.about.available_packages.html"
+msgstr ""
+"Haketilo może być użyte zarówno do prostego blokowania skryptów, jak i do"
+" wprowadzania zmian na wyświetlanych stronach. Jego oficjalne "
+"repozytorium Hydrilli oferuje kolekcję dostępnych na <a "
+"href=\"https://pl.wikipedia.org/wiki/Licencja_wolnego_oprogramowania\">wolnych"
+" licencjach</a> pakietów, które mogą uczynić niektóre strony na powrót "
+"używalnymi po tym, jak wykonywanie ich oryginalnego JavaScript'u zostanie"
+" zablokowane."
+
+#: src/hydrilla_website/templates/index.html.jinja:97
+msgid "index.about.h_medium.credits"
+msgstr "Podziękowania"
+
+#: src/hydrilla_website/templates/index.html.jinja:100
+msgid "index.about.credits.special_thanks_to"
+msgstr ""
+"Ci, którzy świadomie lub nie przyczynili się do rozwoju projektu, "
+"otrzymują szczególny wyraz uznania."
+
+#: src/hydrilla_website/templates/index.html.jinja:105
+msgid "index.about.credits.list_entry.html.nlnet"
+msgstr ""
+"<a href=\"https://nlnet.nl/\">Foundacja NLnet</a> z <a "
+"href=\"https://ngi.eu/\">Programem NGI0</a> za fundowanie rozwoju "
+"Haketilo w latach 2021 i 2022"
+
+#: src/hydrilla_website/templates/index.html.jinja:108
+msgid "index.about.credits.list_entry.html.jahoti"
+msgstr ""
+"<a href=\"https://tilde.team/~jahoti/\">Jahoti</a> za wkład we wczesnych "
+"stadiach rozwoju rozszerzenia przeglądarkowego Haketilo"
+
+#: src/hydrilla_website/templates/index.html.jinja:111
+msgid "index.about.credits.list_entry.html.nick"
+msgstr ""
+"<a href=\"https://nicksphere.ch/\">Nicholas Johnson</a> za przygotowanie "
+"<a href=\"https://media.libreplanet.org/u/libreplanet/m/taking-back-the-"
+"web-with-haketilo/\">prezentacji o Haketilo</a> na konferencji "
+"LibrePlanet 2022"
+
+#: src/hydrilla_website/templates/index.html.jinja:114
+msgid "index.about.credits.list_entry.html.david_lyons"
+msgstr ""
+"<a href=\"https://openclipart.org/artist/davidblyons\">David Lyons</a> za"
+" jego grafikę siekiery, która jest wykorzystywana w Haketilo"
+
+#: src/hydrilla_website/templates/index.html.jinja:117
+msgid "index.about.credits.list_entry.html.mitmproxy"
+msgstr ""
+"twórcy <a href=\"https://mitmproxy.org/\">mitmproxy</a>, które stanowi "
+"bazę dla proxy Haketilo"
+
+#: src/hydrilla_website/templates/index.html.jinja:120
+msgid "index.about.credits.list_entry.html.pallets"
+msgstr ""
+"<a href=\"https://palletsprojects.com/\">Pallets Projects</a> za "
+"stworzenie Flask'a i innych narzędzi, które używane są w wysokim stopniu "
+"zarówno przez tą stronę internetową, jak i przez Haketilo oraz Hydrillę"
+
+#: src/hydrilla_website/templates/index.html.jinja:126
+msgid "index.h_big.user_manual"
+msgstr "Podręcznik użytkownika"
+
+#: src/hydrilla_website/templates/index.html.jinja:129
+msgid "index.user_manual.html.haketilo_wiki_and_inline_doc"
+msgstr ""
+"Informacje na temat instalacji, uruchamiania i niektórych technicznych "
+"aspektów Haketilo można znaleźć na <a "
+"href=\"https://hydrillabugs.koszko.org/projects/haketilo/wiki\">wiki "
+"projektu zasilanej przez Redmine</a>. Dodakową pomoc stanowi wbudowana w "
+"proxy Haketilo dokumentacja, którą można wyświetlać wewnątrz narzędzia."
+
+#: src/hydrilla_website/templates/index.html.jinja:133
+msgid "index.user_manual.html.hydrilla_wiki"
+msgstr ""
+"Dokumentację serwera repozytorium Hydrilli używanego razem z Haketilo "
+"można również znaleźć na <a "
+"href=\"https://hydrillabugs.koszko.org/projects/hydrilla/wiki\">wiki "
+"projektu</a>."
+
+#: src/hydrilla_website/templates/index.html.jinja:138
+msgid "index.h_big.get_involved"
+msgstr "Zaangażuj się"
+
+#: src/hydrilla_website/templates/index.html.jinja:141
+msgid "index.get_involved.html.project_redmine_instance"
+msgstr ""
+"Rozwojanie Haketilo obecnie odbywa się na <a "
+"href=\"https://hydrillabugs.koszko.org/\">instancji Redmine projektu</a>."
+" Mile widziane są"
+
+#: src/hydrilla_website/templates/index.html.jinja:146
+msgid "index.get_involved.list_entry.provide_feedback"
+msgstr "feedback i sugestie,"
+
+#: src/hydrilla_website/templates/index.html.jinja:149
+msgid "index.get_involved.list_entry.report_bugs"
+msgstr "raporty o błędach,"
+
+#: src/hydrilla_website/templates/index.html.jinja:152
+msgid "index.get_involved.list_entry.share_custom_scripts"
+msgstr "dzielenie się zastępczymi skryptami dla stron,"
+
+#: src/hydrilla_website/templates/index.html.jinja:155
+msgid "index.get_involved.list_entry.provide_translations"
+msgstr "tłumaczenia i"
+
+#: src/hydrilla_website/templates/index.html.jinja:158
+msgid "index.get_involved.list_entry.contribute_code"
+msgstr "wkład w tworzenie Haketilo i Hydrilli."
+
+#: src/hydrilla_website/templates/index.html.jinja:163
+msgid "index.get_involved.html.email_maintainer"
+msgstr ""
+"Można również kontaktować się z twórcą Haketilo, <a "
+"href=\"https://koszko.org/koszko.html\">Wojtkiem</a>, drogą mailową "
+"bezpośrednio na adres <a "
+"href=\"mailto:koszko@koszko.org\">koszko@koszko.org</a>."
+
+#: src/hydrilla_website/templates/index.html.jinja:168
+msgid "index.h_big.choose_language"
+msgstr "Wybierz swój język"
+
+#: src/hydrilla_website/templates/website_base.html.jinja:19
+msgid "base.title.haketilo"
+msgstr "Haketilo"
+
diff --git a/src/hydrilla_website/templates/downloads.html.jinja b/src/hydrilla_website/templates/downloads.html.jinja
index ce5dde3..d0e51ff 100644
--- a/src/hydrilla_website/templates/downloads.html.jinja
+++ b/src/hydrilla_website/templates/downloads.html.jinja
@@ -44,10 +44,14 @@ code in a proprietary work, I am not going to enforce this in court.
{% set downloads_base = 'https://hydrilla.koszko.org/downloads/' %}
+{% set files_label_text = _('downloads.h_small.files') %}
+{% set signify_sigs_label_text = _('downloads.h_small.signify_signatures') %}
+{% set pgp_sigs_label_text = _('downloads.h_small.pgp_signatures') %}
+
{%
macro list_files(
filenames_comments,
- label_text = 'Files',
+ label_text = files_label_text,
filename_suffix = '',
include_comments = true
)
@@ -70,39 +74,39 @@ code in a proprietary work, I am not going to enforce this in court.
{% macro files_and_sigs_lists(filenames_comments) %}
{{ list_files(filenames_comments) }}
- {{ list_files(filenames_comments, 'Signify signatures', '.sig', false) }}
- {{ list_files(filenames_comments, 'PGP signatures', '.asc', false) }}
+ {{ list_files(filenames_comments, signify_sigs_label_text, '.sig', false) }}
+ {{ list_files(filenames_comments, pgp_sigs_label_text, '.asc', false) }}
{% endmacro %}
+{% set pre_release_note = _('downloads.pre_release_version') %}
+
+{% set source_code_note = _('downloads.source_code') %}
+
+{% set chromium_build_note = _('downloads.webextension.chromium_build') %}
+{% set mozilla_build_note = _('downloads.webextension.mozilla_build') %}
+
{% block body %}
{% call subpage('') %}
<h3>
- {{ _('index.h_big.haketilo_downloads') }}
+ {{ _('downloads.h_big.haketilo_downloads') }}
</h3>
<p>
- This page lists releases of Haketilo proxy, Haketilo browser extension
- (now in maintenance mode) and Hydrilla repository server. Starting with
- version 3, Haketilo proxy and Hydrilla are distributed together.
+ {{ _('downloads.haketilo_downloads.this_page_lists') }}
</p>
<p>
- All files are cryptographically signed by project maintainer, Wojciech
- Kosior. Public keys for verification of signatures are the ones from
- <a href="https://koszko.org">koszko.org</a>.
- You might want to read the
- <a href="https://hydrillabugs.koszko.org/projects/haketilo/wiki/Verifying_signatures">instructions</a>
- on signature verification.
+ {{ _('downloads.haketilo_downloads.html.all_files_signed_by')|safe }}
</p>
- {{ label('PGP key fingerprint') }}
+ {{ label(_('downloads.haketilo_downloads.h_small.pgp_fingerprint')) }}
<p class="bold">
E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A
</p>
{% call label() %}
- <span>
- <a href="https://man.openbsd.org/signify">Signify</a> public key
+ <span class="has-colored-links">
+ {{ _('downloads.haketilo_downloads.h_small.html.signify_key')|safe }}
</span>
{% endcall %}
<p class="bold signify-pubkey">
@@ -111,56 +115,46 @@ code in a proprietary work, I am not going to enforce this in court.
{% endcall %}
{% call subpage('proxy') %}
- <h3>Haketilo proxy and Hydrilla releases</h3>
+ <h3>{{ _('downloads.h_big.haketilo_and_hydrilla_releases') }}</h3>
<p>
- Tool releases from version 3 upwards are listed below. Both Haketilo proxy
- and Hydrilla are included inside.
+ {{ _('downloads.haketilo_and_hydrilla_releases.listed_below_are') }}
</p>
<p>
- If you're a programmer, you might also want to check the
- <a href="https://git.koszko.org/pydrilla">git repository of Hydrilla and Haketilo</a>.
+ {{ _('downloads.haketilo_and_hydrilla_releases.html.repo_is_at')|safe }}
</p>
- <h4>Version 3.0-beta1 (pre-release version)</h4>
+ <h4>3.0-beta1 {{ pre_release_note }}</h4>
<p>
- The binary release was made with
- <a href="https://guix.gnu.org/">GNU Guix</a> version
- <span class="bold">1.3.0-26.fd00ac7</span>.
+ {{ _('downloads.haketilo_and_hydrilla_releases.html.with_guix_1.3.0-26.fd00ac7')|safe }}
</p>
{{
files_and_sigs_lists([
('haketilo-and-hydrilla-bin-3.0b1-x86_64.tar.gz',
- 'relocatable standalone binary release for x86-64 GNU/Linux computers'),
+ _('downloads.haketilo_and_hydrilla_releases.relocatable_x86-64')),
('hydrilla-3.0b1-py3-none-any.whl',
- 'Python wheel for use with pip'),
+ _('downloads.haketilo_and_hydrilla_releases.wheel_for_pip')),
('haketilo-and-hydrilla-3.0b1.tar.gz',
- 'source code')
+ source_code_note)
])
}}
{% endcall %}
{% call subpage('old-hydrilla') %}
- <h3>Old Hydrilla releases</h3>
+ <h3>{{ _('downloads.h_big.old_hydrilla_releases') }}</h3>
<p>
- Hydrilla releases before version 3 are listed below. Those old versions
- do not yet include the Haketilo proxy. The functionality is split between
- separate Hydrilla <span class="bold">builder</span> and
- <span class="bold">server</span> packages. The latter depends on the
- former.
+ {{ _('downloads.old_hydrilla_releases.html.listed_below_are')|safe }}
</p>
<p>
- If you're a programmer, you might also want to check the git repositories
- of <a href="https://git.koszko.org/pydrilla">Hydrilla</a> and
- <a href="https://git.koszko.org/hydrilla-builder">Hydrilla builder</a>.
+ {{ _('downloads.old_hydrilla_releases.html.repo_is_at')|safe }}
</p>
- <h4>Version 1.1-beta1 (pre-release version)</h4>
+ <h4>1.1-beta1 {{ pre_release_note }}</h4>
{{
files_and_sigs_lists([
@@ -171,7 +165,7 @@ code in a proprietary work, I am not going to enforce this in court.
])
}}
- <h4>Version 1.0</h4>
+ <h4>1.0</h4>
{{
files_and_sigs_lists([
@@ -182,7 +176,7 @@ code in a proprietary work, I am not going to enforce this in court.
])
}}
- <h4>Version - 1.0-beta2 (pre-release version)</h4>
+ <h4>1.0-beta2 {{ pre_release_note }}</h4>
{{
files_and_sigs_lists([
@@ -193,7 +187,7 @@ code in a proprietary work, I am not going to enforce this in court.
])
}}
- <h4>Version - 1.0-beta1 (pre-release version)</h4>
+ <h4>1.0-beta1 {{ pre_release_note }}</h4>
{{
files_and_sigs_lists([
@@ -206,85 +200,83 @@ code in a proprietary work, I am not going to enforce this in court.
{% endcall %}
{% call subpage('webextension') %}
- <h3>Haketilo WebExtension</h3>
+ <h3>{{ _('downloads.h_big.webextension') }}</h3>
<p>
- Browser extension releases are listed below. The extension is currently in
- maintenance mode and is not going to receive new functionalities.
+ {{ _('downloads.webextension.listed_below_are') }}
</p>
<p>
- If you're a programmer, you might also want to check the
- <a href="https://git.koszko.org/browser-extension/">git repository of Haketilo browser extension</a>.
+ {{ _('downloads.webextension.html.repo_is_at')|safe }}
</p>
- <h4>Version 2.0.1</h4>
+ <h4>2.0.1</h4>
{{
files_and_sigs_lists([
- ('haketilo-2.0.1.zip', 'Chromium build'),
- ('haketilo-2.0.1.xpi', 'Mozilla build'),
- ('haketilo-2.0.1.tar.gz', 'source code')
+ ('haketilo-2.0.1.zip', chromium_build_note),
+ ('haketilo-2.0.1.xpi', mozilla_build_note),
+ ('haketilo-2.0.1.tar.gz', source_code_note)
])
}}
- <h4>Version 2.0</h4>
+ <h4>2.0</h4>
{{
files_and_sigs_lists([
- ('haketilo-2.0.zip', 'Chromium build'),
- ('haketilo-2.0.xpi', 'Mozilla build'),
- ('haketilo-2.0.tar.gz', 'source code')
+ ('haketilo-2.0.zip', chromium_build_note),
+ ('haketilo-2.0.xpi', mozilla_build_note),
+ ('haketilo-2.0.tar.gz', source_code_note)
])
}}
- <h4>Version 2.0-beta1 (pre-release version)</h4>
+ <h4>2.0-beta1 {{ pre_release_note }}</h4>
{{
files_and_sigs_lists([
- ('haketilo-2.0b1.zip', 'Chromium build'),
- ('haketilo-2.0b1.xpi', 'Mozilla build'),
- ('haketilo-2.0b1.tar.gz', 'source code')
+ ('haketilo-2.0b1.zip', chromium_build_note),
+ ('haketilo-2.0b1.xpi', mozilla_build_note),
+ ('haketilo-2.0b1.tar.gz', source_code_note)
])
}}
- <h4>Version 1.0</h4>
+ <h4>1.0</h4>
{{
files_and_sigs_lists([
- ('haketilo-1.0.zip', 'Chromium build'),
- ('haketilo-1.0.mozilla-signed.xpi', 'Mozilla build'),
- ('haketilo-1.0.tar.gz', 'source code')
+ ('haketilo-1.0.zip', chromium_build_note),
+ ('haketilo-1.0.mozilla-signed.xpi', mozilla_build_note),
+ ('haketilo-1.0.tar.gz', source_code_note)
])
}}
- <h4>Version 1.0-beta3 (pre-release version)</h4>
+ <h4>1.0-beta3 {{ pre_release_note }}</h4>
{{
files_and_sigs_lists([
- ('haketilo-1.0b3.zip', 'Chromium build'),
- ('haketilo-1.0b3.xpi', 'Mozilla build'),
- ('haketilo-1.0b3.tar.gz', 'source code')
+ ('haketilo-1.0b3.zip', chromium_build_note),
+ ('haketilo-1.0b3.xpi', mozilla_build_note),
+ ('haketilo-1.0b3.tar.gz', source_code_note)
])
}}
- <h4>Version 1.0-beta2 (pre-release version)</h4>
+ <h4>1.0-beta2 {{ pre_release_note }}</h4>
{{
files_and_sigs_lists([
- ('haketilo-1.0b2.zip', 'Chromium build'),
- ('haketilo-1.0b2.xpi', 'Mozilla build'),
- ('haketilo-1.0b2.tar.gz', 'source code')
+ ('haketilo-1.0b2.zip', chromium_build_note),
+ ('haketilo-1.0b2.xpi', mozilla_build_note),
+ ('haketilo-1.0b2.tar.gz', source_code_note)
])
}}
- <h4>Version 1.0-beta1 (pre-release version)</h4>
+ <h4>1.0-beta1 {{ pre_release_note }}</h4>
{{
files_and_sigs_lists([
- ('haketilo-1.0b1.zip', 'Chromium build'),
- ('haketilo-1.0b1.xpi', 'Mozilla build'),
- ('haketilo-1.0b1.tar.gz', 'source code')
+ ('haketilo-1.0b1.zip', chromium_build_note),
+ ('haketilo-1.0b1.xpi', mozilla_build_note),
+ ('haketilo-1.0b1.tar.gz', source_code_note)
])
}}
{% endcall %}
diff --git a/src/hydrilla_website/templates/index.html.jinja b/src/hydrilla_website/templates/index.html.jinja
index 955c06f..642c833 100644
--- a/src/hydrilla_website/templates/index.html.jinja
+++ b/src/hydrilla_website/templates/index.html.jinja
@@ -32,6 +32,8 @@ code in a proprietary work, I am not going to enforce this in court.
max-width: 100%;
margin: auto;
}
+
+ .
{% endblock %}
{% set here_url = url_for('main') %}
@@ -39,12 +41,20 @@ code in a proprietary work, I am not going to enforce this in court.
{%
set nav_links_data = [
- ('', here_url ~ '#', 'Home'),
- ('about', here_url ~ '#about', 'About'),
- ('manual', here_url ~ '#manual', 'Manual'),
- (none, url_for('downloads') ~ '#', 'Downloads'),
- ('get-involved', here_url ~ '#get-involved', 'Get involved'),
- (none, site_git_url, 'Website sources')
+ ('', here_url ~ '#',
+ _('index.nav.home')),
+ ('about', here_url ~ '#about',
+ _('index.nav.about')),
+ ('manual', here_url ~ '#manual',
+ _('index.nav.manual')),
+ (none, url_for('downloads') ~ '#',
+ _('index.nav.downloads')),
+ ('get-involved', here_url ~ '#get-involved',
+ _('index.nav.get_involved')),
+ ('langs', here_url ~ '#langs',
+ _('index.nav.languages')),
+ (none, site_git_url,
+ _('index.nav.site_sources'))
]
%}
@@ -58,137 +68,121 @@ code in a proprietary work, I am not going to enforce this in court.
{% endcall %}
{% call subpage('about') %}
- <h3>About</h3>
+ <h3>
+ {{ _('index.h_big.about') }}
+ </h3>
<p>
- Haketilo is a tool that facilitates viewing websites with their original
- <a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a> replaced
- by user-provided scripts.
- It combines the functionalities of content
- blocker and user script manager.
- It can be used with its script repository, Hydrilla.
+ {{ _('index.about.html.haketilo_is_a_tool')|safe }}
</p>
<p>
- One of Haketilo's aims is to address the issues raised in
- <a href="https://www.gnu.org/philosophy/javascript-trap.html">"The JavaScript trap"</a>.
- It is being developed with hope that it will make more user-controlled
- "Web" browsing possible.
+ {{ _('index.about.html.haketilo_javascript_trap')|safe }}
</p>
<p>
- Haketilo is a
- <a href="https://en.wikipedia.org/wiki/Free_software">free/libre software</a>,
- SSl-enabled HTTP proxy. As such, it can be used with multiple web
- browsers, regardless of their native support for some particular addon
- format.
+ {{ _('index.about.html.haketilo_is_libre_proxy')|safe }}
</p>
<p>
- A browser extension variant of Haketilo also exists and is compatible with
- <a href="https://en.wikipedia.org/wiki/Firefox">Firefox</a>- and
- <a href="https://en.wikipedia.org/wiki/Chromium_(web_browser)">Chromium</a>-based
- browsers that support the Manifest V2 WebExtension format. The browser
- extension is currently in maintenance mode and does not receive new
- features.
+ {{ _('index.about.html.haketilo_extension_variant')|safe }}
</p>
- <h4>Available packages</h4>
+ <h4>{{ _('index.about.h_medium.available_packages') }}</h4>
<p>
- Haketilo can be used both for simple script-blocking and for altering the
- ways websites are viewed. Its official Hydrilla repository provides a
- collection of
- <a href="https://en.wikipedia.org/wiki/Free-software_license">freely-licensed</a>
- packages that can make several websites viewable again after their
- original JavaScript is blocked from executing.
+ {{ _('index.about.available_packages.html')|safe }}
</p>
- <h4>Credits</h4>
+ <h4>{{ _('index.about.h_medium.credits') }}</h4>
- Those who knowingly or unknowingly helped the project in some way, receive
- special thanks.
+ <p>
+ {{ _('index.about.credits.special_thanks_to') }}
+ </p>
{% call unordered_list() %}
{% call list_entry() %}
- the <a href="https://nlnet.nl/">NLnet Foundation</a> with the
- <a href="https://ngi.eu/">NGI0 Programme</a> for funding the
- development of Haketilo in 2021 and 2022
+ {{ _('index.about.credits.list_entry.html.nlnet')|safe }}
{% endcall %}
{% call list_entry() %}
- <a href="https://tilde.team/~jahoti/">Jahoti</a> for contributions in
- the early stages of Haketilo browser extension
+ {{ _('index.about.credits.list_entry.html.jahoti')|safe }}
{% endcall %}
{% call list_entry() %}
- <a href="https://nicksphere.ch/">Nicholas Johnson</a> for preparing a
- <a href="https://media.libreplanet.org/u/libreplanet/m/taking-back-the-web-with-haketilo/">presentation about Haketilo</a>
- for LibrePlanet 2022
+ {{ _('index.about.credits.list_entry.html.nick')|safe }}
{% endcall %}
{% call list_entry() %}
- <a href="https://openclipart.org/artist/davidblyons">David Lyons</a> for
- his Hatchet graphic that is being used in Haketilo
+ {{ _('index.about.credits.list_entry.html.david_lyons')|safe }}
{% endcall %}
{% call list_entry() %}
- the creators of <a href="https://mitmproxy.org/">mitmproxy</a> which
- serves as a base for Haketilo proxy
+ {{ _('index.about.credits.list_entry.html.mitmproxy')|safe }}
{% endcall %}
{% call list_entry() %}
- the <a href="https://palletsprojects.com/">the Pallets Projects</a> for
- creating Flask and other tools that are used extensively in this very
- website as well as in Haketilo&Hydrilla
+ {{ _('index.about.credits.list_entry.html.pallets')|safe }}
{% endcall %}
{% endcall %}
{% endcall %}
{% call subpage('manual') %}
- <h3>User manual</h3>
+ <h3>{{ _('index.h_big.user_manual') }}</h3>
<p>
- Information about installation, running and some technical aspects of
- Haketilo operation can be found on
- <a href="https://hydrillabugs.koszko.org/projects/haketilo/wiki">project's Redmine-powered wiki</a>.
- Additional help is provided by Haketilo proxy's builtin documentation
- which can be viewed from the tool itself.
+ {{ _('index.user_manual.html.haketilo_wiki_and_inline_doc')|safe }}
</p>
<p>
- The documentation of Hydrilla repository server for use with Haketilo can
- be found on
- <a href="https://hydrillabugs.koszko.org/projects/hydrilla/wiki">on project's wiki</a>.
+ {{ _('index.user_manual.html.hydrilla_wiki')|safe }}
</p>
{% endcall %}
{% call subpage('get-involved') %}
- <h3>Get involved</h3>
+ <h3>{{ _('index.h_big.get_involved') }}</h3>
<p>
- Haketilo development currently occurs on
- <a href="https://hydrillabugs.koszko.org/">project's Redmine instance</a>.
- Individuals and groups are more than welcome to
+ {{ _('index.get_involved.html.project_redmine_instance')|safe }}
</p>
{% call unordered_list() %}
{% call list_entry() %}
- provide feedback and suggestions,
+ {{ _('index.get_involved.list_entry.provide_feedback') }}
{% endcall %}
{% call list_entry() %}
- make bug reports,
+ {{ _('index.get_involved.list_entry.report_bugs') }}
{% endcall %}
{% call list_entry() %}
- share custom scripts for websites,
+ {{ _('index.get_involved.list_entry.share_custom_scripts') }}
{% endcall %}
{% call list_entry() %}
- provide translations and
+ {{ _('index.get_involved.list_entry.provide_translations') }}
{% endcall %}
{% call list_entry() %}
- contribute code to Haketilo and Hydrilla.
+ {{ _('index.get_involved.list_entry.contribute_code') }}
{% endcall %}
{% endcall %}
<p>
- One can also email the maintainer of Haketilo,
- <a href="https://koszko.org/koszko.html">Wojtek Kosior</a>, directly
- at <a href="mailto:koszko@koszko.org">koszko@koszko.org</a>.
+ {{ _('index.get_involved.html.email_maintainer')|safe }}
</p>
{% endcall %}
+
+ {% call subpage('langs') %}
+ <h3>{{ _('index.h_big.choose_language') }}</h3>
+
+ {% call unordered_list() %}
+ {% set action_url = url_for('set_locale') %}
+ {%
+ for lang_name, lang_code in [
+ ('english', 'en_US'),
+ ('polski', 'pl_PL')
+ ]
+ %}
+ {% call list_entry() %}
+ <form method="POST" action="{{ action_url }}" class="inline">
+ {% set value = locale_serializer.dumps(lang_code) %}
+ <input type="hidden" name="lang_code" value="{{ value }}">
+ <button>{{ lang_name }}</button>
+ </form>
+ {% endcall %}
+ {% endfor %}
+ {% endcall %}
+ {% endcall %}
{% endblock %}