diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-10-31 18:08:33 +0100 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-10-31 18:08:33 +0100 |
commit | e5d9ee98a548e2b863104e52eb2bc309b1336179 (patch) | |
tree | 729b649284823a45d95baeec27618223c21e83a3 /src/hydrilla_website | |
parent | 5bd4d055f314eeba9187163b191ffa6ecce03f33 (diff) | |
download | hydrilla-website-e5d9ee98a548e2b863104e52eb2bc309b1336179.tar.gz hydrilla-website-e5d9ee98a548e2b863104e52eb2bc309b1336179.zip |
add internationalization and polish translations
Diffstat (limited to 'src/hydrilla_website')
-rw-r--r-- | src/hydrilla_website/app.py | 55 | ||||
m--------- | src/hydrilla_website/common_jinja_templates | 0 | ||||
-rw-r--r-- | src/hydrilla_website/locales/en_US/LC_MESSAGES/messages.po | 333 | ||||
-rw-r--r-- | src/hydrilla_website/locales/pl_PL/LC_MESSAGES/messages.po | 365 | ||||
-rw-r--r-- | src/hydrilla_website/templates/downloads.html.jinja | 140 | ||||
-rw-r--r-- | src/hydrilla_website/templates/index.html.jinja | 142 |
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 %} |