Updated about page and its strings, Updated readme, Updated sitemap

Update app.py - BS4.run.xml, sidebar.yml, and 6 more files...
This commit is contained in:
2025-09-14 22:05:05 +02:00
parent 9add4e5171
commit fbd844523c
8 changed files with 317 additions and 257 deletions

26
.run/app.py - BS4.run.xml Normal file
View File

@@ -0,0 +1,26 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app.py - BS4" type="PythonConfigurationType" factoryName="Python">
<module name="Web-NibblePoker" />
<option name="ENV_FILES" value="" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
<env name="NP_HTML_POST_PROCESS" value="BS4" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/app.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
</component>

View File

@@ -58,11 +58,11 @@
- {} - {}
#- title_key: text.about - title_key: text.about
# abs_href: "/about" abs_href: "/about"
# icon: fad fa-user icon: fad fa-user
# active_id: about active_id: about
# has_new_until_utc: 0 has_new_until_utc: 0
- title_key: text.contact - title_key: text.contact
abs_href: "/contact" abs_href: "/contact"

View File

@@ -7,6 +7,10 @@ sitemap:
lastmod: "2025-03-30T00:00:00+01:00" lastmod: "2025-03-30T00:00:00+01:00"
priority: "1" priority: "1"
"/about/":
lastmod: "2025-09-14T22:04:00+01:00"
priority: "0.2"
"/contact/": "/contact/":
lastmod: "2025-03-01T07:40:00+01:00" lastmod: "2025-03-01T07:40:00+01:00"
priority: "0.5" priority: "0.5"

View File

@@ -1,80 +1,93 @@
# EN - About # EN - About
head.title: About - NibblePoker head:
head.description: 'TODO: description' title: About - NibblePoker
og.title: NibblePoker - About description: 'TODO: description'
og.description: 'TODO: description'
header.title: About og:
intro.title: Introduction title: NibblePoker - About
intro.text.01: My name is Herwin Bozet, I'm an experienced developer with extensive description: 'TODO: description'
experience in PureBasic, Python, Java, VBA; and intermediate knowledge in C, Win32
APIs, embedded systems and general web development. header:
intro.text.02: I've been programming for about 10 years now, and for the last title: About
5 years I've been actively working on applying that experience to a variety of projects
with the aim of helping programmers and people in their day-to-day life. intro:
intro.text.10: NibblePoker is, in essence, a simple moniker and the front-end title: Introduction
for most of my public-focused work. text:
intro.text.11: It houses all my work made and tailored for usage by other people. p1:
intro.text.20: This entire website, as well as all my work for it and other l1: My name is Herwin Bozet, I'm an experienced developer with extensive
personal projects, is completely open-source and available under permissive <abbr experience in PureBasic, Python, .NET, Java; and intermediate knowledge in C, Win32
title="Open Source Initiative">OSI</abbr> approved licenses. APIs, embedded systems and general web development.
intro.text.21: All of it is maintained, developed and expanded in my free time # l2: I've been programming for about 10 years now, and for the last
with the occasional help from people in the open-source community. # 5 years I've been actively working on applying that experience to a variety of projects
tenets.title: Core tenets # with the aim of helping programmers and people in their day-to-day life.
tenets.text.01: '' #p2:
tenets.text.02: '' # l1: NibblePoker is, in essence, a simple moniker and the front-end
future.title: Future plans # for most of my public-focused work.
future.text.01: It is planned to turn NibblePoker into a <abbr title="Private # l2: It houses all my work made and tailored for usage by other people.
company with limited liability">SPRL</abbr> in a couple years if everything goes p3:
as planned. l1: This entire website, as well as all my work for it and other
future.text.02: This would allow me to centralize many things and invest properly personal projects, is completely open-source and available under permissive <abbr
in my targetted fields to achieve my goals. title="Open Source Initiative">OSI</abbr> approved licenses.
future.text.10: The goal would be to create a small sustainable local business l2: All of it is maintained, developed and expanded in my free time
that offers a wide range of products and solutions covering <abbr title="Internet with the occasional help from people in the open-source community.
of things">IoT</abbr> devices, programming, and technological independence ; All
while including the required software and hardware components often lacking in such future:
products and solutions. title: Future plans
future.text.20: Ultimately, all this work and research would be made available text:
to the public under open-source licenses, enabling anyone who wishes to learn, reuse, p1:
and resell open-source products, to do so in a similar way as companies like Adafruit l1: It is planned to turn NibblePoker into a <abbr title="Private
do. company with limited liability">SPRL</abbr> in a couple years if everything goes
_nibblepoker.title: The 'NibblePoker' name as planned.
_nibblepoker.text.01: TODO l2: This would allow me to centralize many things and invest properly
_nibblepoker.text.10: TODO in my targeted fields to achieve my goals.
_nibblepoker.text.11: TODO p2:
_nibblepoker.text.20: TODO l1: The goal would be to create a small sustainable local business
financing.title: Financing that offers a wide range of products and solutions covering <abbr title="Internet
financing.text.01: This website, as well as the surrounding infrastructure, of things">IoT</abbr> devices, programming, and technological independence ; All
was made to cost as little as possible while not being reliant on any censor-happy while including the required software and hardware components often lacking in such
companies. products and solutions.
financing.text.02: Following my core tenets, I also wanted to retain some sort p3:
of "technological sovereignty", and therefore refuse to support or use companies l1: Ultimately, all this work and research would be made available
that actively fight against legal free speech. to the public under open-source licenses, enabling anyone who wishes to learn, reuse,
financing.text.10: The details of the operating costs are provided below to and resell open-source products, to do so in a similar way as companies like Adafruit
illustrate the low price of such independence. do.
financing.text.20: And for those of you who are more motivated, I hope to inspire
you to at least try this kind of activity. financing:
financing.text.21: It may seem daunting at first, but for a fraction of the title: Financing
cost presented here, <b>and with a bit of motivation</b>, you can already accomplish text:
a lot of things and gain valuable knowledge for a world as interconnected as ours. p1:
financing.text.isp: The main ISP bill isn't accounted for since this could run l1: This website, as well as the surrounding infrastructure,
off some random public Wi-Fi. was made to cost as little as possible while not being reliant on any censor-happy
financing.part.service: Service companies.
financing.part.cost: Cost l2: Following my core tenets, I also wanted to retain some sort
financing.part.cost.total: Total Cost of "technological sovereignty", and therefore refuse to support or use companies
financing.part.equipment: Equipment that actively fight against legal free speech.
financing.part.cost.yearly: Yearly Cost p2:
financing.part.cost.yearly.total: Yearly Cost l1: The details of the operating costs are provided below to
financing.part.domain.lu: "<i>.lu</i> domain" illustrate the low price of such independence.
financing.part.domain.com: "<i>.com</i> domain" p3:
financing.part.proxy.europe: European reverse-proxy l1: And for those of you who are more motivated, I hope to inspire
financing.part.proxy.america: American reverse-proxy you to at least try this kind of activity.
financing.part.proxy.asia: Asian reverse-proxy l2: It may seem daunting at first, but for a fraction of the
financing.part.emails: Emails cost presented here, <b>and with a bit of motivation</b>, you can already accomplish
financing.part.electricity: Electricity a lot of things and gain valuable knowledge for a world as interconnected as ours.
financing.part.nanopir4s: NanoPi R4S isp: The main ISP bill isn't accounted for since this could run
financing.part.nanopir4s.desc: Handles all non public-facing tasks and services. off some random public Wi-Fi.
financing.part.storage: Local storage part:
aziascreations.title: The 'AziasCreations' name service: Service
_aziascreations.text.01: TODO equipment: Equipment
_aziascreations.text.10: TODO cost: Cost
cost.total: Total Cost
cost.yearly: Yearly Cost
cost.yearly.total: Yearly Cost
domain.lu: "<i>.lu</i> domain"
domain.com: "<i>.com</i> domain"
proxy.europe: European reverse-proxy
proxy.america: American reverse-proxy
proxy.asia: Asian reverse-proxy
emails: Emails
electricity: Electricity
nanopir4s: NanoPi R4S
nanopir4s.desc: Handles all non public-facing tasks and services.
storage: Local storage

View File

@@ -1,94 +1,96 @@
# FR - About # FR - About
head.title: À-propos - NibblePoker head:
head.description: 'TODO: description' title: À-propos - NibblePoker
og.title: NibblePoker - À-propos description: 'TODO: description'
og.description: 'TODO: description'
header.title: À-propos
intro.title: Introduction
intro.text.01: Je m'appelle Herwin Bozet, et je suis un développeur expérimenté
en PureBasic, Python, Java, VBA ; et de manière plus modérée en C, API Win32, systèmes
embarqués et le développement web général.
intro.text.02: Je programme depuis environ 10 ans, et au cours des 5 dernières
années, j'ai activement travaillé à l'application de cette expérience à divers projets
dans le but d'aider les programmeurs et les gens dans leur vie quotidienne.
intro.text.10: NibblePoker est, en essence, un simple pseudonyme et une ombrelle
sous laquelle la majeure partie de mon travail axé sur le public sera présente.
intro.text.11: Il abrite l'ensemble de mon travail créé et adapté pour être
utilisé par d'autres personnes.
intro.text.20: L'ensemble de ce site web, ainsi que l'ensemble de mon travail
et autres projets personnels réalisés pour lui, sont entièrement open-source et
disponibles sous des licences permissives approuvées par l'<abbr title="Open Source
Initiative">OSI</abbr>.
intro.text.21: Tout cela est maintenu, développé et étendu pendant mon temps
libre, avec l'aide occasionnelle de personnes de la communauté open source.
tenets.title: Principes fondamentaux
tenets.text.01: ''
tenets.text.02: ''
future.title: Projet d'avenir
future.text.01: 'Il est prévu que je décline NibblePoker en une petite <abbr
title="Societé privée à responsibilité limitée">SPRL</abbr> d''ici quelques années
si tout se déroule comme prévu.
' og:
future.text.02: Cela aura pour but de me permettre de centraliser plein de choses title: NibblePoker - À-propos
et d'investir correctement dans mes domaines de prédilection. description: 'TODO: description'
future.text.10: La finalité serait de pouvoir créer un petit projet local d'entreprise
durable, ainsi que de proposer une large gamme de produits et solutions couvrant header:
les domaines de l'électronique connectée et intelligente, la programmation et lindépendance title: À-propos
technologique tout en incluant les composantes logicielles et physiques souvent
manquantes dans de tels produits et solutions. intro:
future.text.20: Finalement tout ce travail et recherches seraient mis à disposition title: Introduction
du public sous des licences open-source afin de permettre permettant à quiconque text:
le souhaite dapprendre, réutiliser et revendre des produits ouverts tels que le p1:
font des compagnies comme Adafruit. l1: Je m'appelle Herwin Bozet, et je suis un développeur expérimenté
_nibblepoker.title: Le nom 'NibblePoker' en PureBasic, Python, Java, VBA ; et de manière plus modérée en C, API Win32, systèmes
_nibblepoker.text.01: Le surnom '<i>NibblePoker</i>' est un mot composé de plusieurs embarqués et le développement web général.
termes [techniques] plus anciens. # l2: Je programme depuis environ 10 ans, et au cours des 5 dernières
_nibblepoker.text.10: "●&nbsp;&nbsp;'<i>Nibble</i>' est un terme technique anglais # années, j'ai activement travaillé à l'application de cette expérience à divers projets
historiquement utilisé pour décrire décrit un demi-octet, ou 4 bits d'information." # dans le but d'aider les programmeurs et les gens dans leur vie quotidienne.
_nibblepoker.text.11: "●&nbsp;&nbsp;'<i>Poker</i>' viens du verbe anglais '<i>to #p2:
poke</i>' qui, dans le domaine rétro-informatique, décrit le fait d'écrire des données # l1: NibblePoker est, en essence, un simple pseudonyme et une ombrelle
dans la mémoire d'un ordinateur." # sous laquelle la majeure partie de mon travail axé sur le public sera présente.
_nibblepoker.text.20: Finalement, lors de la création de ce surnom, je travaillais # l2: Il abrite l'ensemble de mon travail créé et adapté pour être
depuis quelques temps sur d'anciennes machines telle la Commodore64, Acorn Electron # utilisé par d'autres personnes.
et [???]ironique. p3:
financing.title: Financement l1: L'ensemble de ce site web, ainsi que l'ensemble de mon travail
financing.text.01: Ce site web, ainsi que son infrastructure environnante, ont et autres projets personnels réalisés pour lui, sont entièrement open-source et
été conçus pour coûter le moins possible tout en étant indépendants d'entreprises disponibles sous des licences permissives approuvées par l'<abbr title="Open Source
qui se prennent pour des censeurs. Initiative">OSI</abbr>.
financing.text.02: Et en suivant mes principes fondamentaux, je souhaitais également l2: Tout cela est maintenu, développé et étendu pendant mon temps
conserver une "souveraineté technologique", et, par conséquent, refuse de soutenir libre, avec l'aide occasionnelle de personnes de la communauté open source.
ou d'utiliser des entreprises qui luttent activement contre la liberté d'expression.
financing.text.10: Le détail des coûts opérationnels sont présents ci-dessous future:
afin d'illustrer le faible prix d'une telle indépendance. title: Projet d'avenir
financing.text.20: Et pour les plus motivés d'entre-vous, j'espère pouvoir vous text:
motiver à au moins tester ce genre d'activités. p1:
financing.text.21: C'est un domaine qui peut paraître intimidant de prime abord, l1: 'Il est prévu que je décline NibblePoker en une petite <abbr
mais pour une fraction du coût présenté ici, <b>et avec un rien de motivation</b>, title="Societé privée à responsibilité limitée">SPRL</abbr> d''ici quelques années
vous pouvez déjà accomplir énormément de choses et acquérir des connaissances essentielles si tout se déroule comme prévu.'
dans un monde aussi connecté que le nôtre. l2: Cela aura pour but de me permettre de centraliser plein de choses
financing.text.isp: Le coût de la connexion internet n'est pas compté car elle et d'investir correctement dans mes domaines de prédilection.
pourrait être remplacée par un Wi-Fi public lambda. p2:
financing.part.service: Service l1: La finalité serait de pouvoir créer un petit projet local d'entreprise
financing.part.cost: Coût durable, ainsi que de proposer une large gamme de produits et solutions couvrant
financing.part.cost.total: Coût Total les domaines de l'électronique connectée et intelligente, la programmation et lindépendance
financing.part.equipment: Matériel technologique tout en incluant les composantes logicielles et physiques souvent
financing.part.cost.yearly: Coût Annuel manquantes dans de tels produits et solutions.
financing.part.cost.yearly.total: Coût Annuel p3:
financing.part.domain.lu: Domaine en <i>.lu</i> l1: Finalement tout ce travail et recherches seraient mis à disposition
financing.part.domain.com: Domaine en <i>.com</i> du public sous des licences open-source afin de permettre permettant à quiconque
financing.part.proxy.europe: Reverse-proxy en Europe le souhaite dapprendre, réutiliser et revendre des produits ouverts tels que le
financing.part.proxy.america: Reverse-proxy en Amérique font des compagnies comme Adafruit.
financing.part.proxy.asia: Reverse-proxy en Asie
financing.part.emails: Adresses email financing:
financing.part.electricity: Électricité title: Financement
financing.part.nanopir4s: NanoPi R4S text:
financing.part.nanopir4s.desc: Gère tous les services et programmes internes. p1:
financing.part.storage: Stockage local l1: Ce site web, ainsi que son infrastructure environnante, ont
aziascreations.title: Le nom 'AziasCreations' été conçus pour coûter le moins possible tout en étant indépendants d'entreprises
aziascreations.text.01: L'ancien surnom 'AziasCreations' était utilisé entre qui se prennent pour des censeurs.
2013 et 2020 et est à présent abandonné au profit de <i>NibblePoker</i>. l2: Et en suivant mes principes fondamentaux, je souhaitais également
aziascreations.text.10: Cependant, il reste utilisé sur GitHub et Gitea à cause conserver une "souveraineté technologique", et, par conséquent, refuse de soutenir
de certaines limitations concernant les changements de pseudonyme qui m'ont empèché ou d'utiliser des entreprises qui luttent activement contre la liberté d'expression.
de faire un changement complet. p2:
l1: Le détail des coûts opérationnels sont présents ci-dessous
afin d'illustrer le faible prix d'une telle indépendance.
p3:
l1: Et pour les plus motivés d'entre-vous, j'espère pouvoir vous
motiver à au moins tester ce genre d'activités.
l2: C'est un domaine qui peut paraître intimidant de prime abord,
mais pour une fraction du coût présenté ici, <b>et avec un rien de motivation</b>,
vous pouvez déjà accomplir énormément de choses et acquérir des connaissances essentielles
dans un monde aussi connecté que le nôtre.
isp: Le coût de la connexion internet n'est pas compté car elle
pourrait être remplacée par un Wi-Fi public lambda.
part:
service: Service
equipment: Matériel
cost: Coût
cost.total: Coût Total
cost.yearly: Coût Annuel
cost.yearly.total: Coût Annuel
domain.lu: Domaine en <i>.lu</i>
domain.com: Domaine en <i>.com</i>
proxy.europe: Reverse-proxy en Europe
proxy.america: Reverse-proxy en Amérique
proxy.asia: Reverse-proxy en Asie
emails: Adresses email
electricity: Électricité
nanopir4s: NanoPi R4S
nanopir4s.desc: Gère tous les services et programmes internes.
storage: Stockage local

View File

@@ -1,3 +1,5 @@
# This docker-compose file should only be used for development !
services: services:
www_nibblepoker_lu: www_nibblepoker_lu:
container_name: www-nibblepoker-python container_name: www-nibblepoker-python

View File

@@ -8,6 +8,7 @@ Public repository containing the source code for [nibblepoker.lu](https://nibble
* [CircuitPython - Ebyte E32 Driver](https://nibblepoker.lu/content/circuitpython-ebyte-e32/) * [CircuitPython - Ebyte E32 Driver](https://nibblepoker.lu/content/circuitpython-ebyte-e32/)
* [DotNet-ListComPort](https://nibblepoker.lu/content/lscom-cli-dotnet/) * [DotNet-ListComPort](https://nibblepoker.lu/content/lscom-cli-dotnet/)
* [Mini Dockerized CCTV NVR](https://nibblepoker.lu/content/docker-mini-cctv-nvr/) * [Mini Dockerized CCTV NVR](https://nibblepoker.lu/content/docker-mini-cctv-nvr/)
* [PEArch](https://nibblepoker.lu/content/pearch/)
* Web-based Tools * Web-based Tools
* [Excel Password Remover](https://nibblepoker.lu/tools/excel-password-remover/) * [Excel Password Remover](https://nibblepoker.lu/tools/excel-password-remover/)
* [IBAN Generator](https://nibblepoker.lu/tools/iban-generator/) * [IBAN Generator](https://nibblepoker.lu/tools/iban-generator/)
@@ -16,7 +17,7 @@ Public repository containing the source code for [nibblepoker.lu](https://nibble
## Related Projects ## Related Projects
TODO * [aziascreations/Excel-Worksheet-Password-Remover](https://github.com/aziascreations/Excel-Worksheet-Password-Remover)
## Local Setup ## Local Setup

View File

@@ -9,93 +9,105 @@
{% block main_content %} {% block main_content %}
{{ render_h1(l10n("intro.title", "about", user_lang)) }} <section class="mt-l mt-0-if-first">
<img src="/resources/NibblePoker/images/about/profile-pic.jpg" {{ render_h1(l10n("intro.title", "about", user_lang)) }}
alt="" class="r-r img-profile f-right m-xs ml-xxs" <div class="content-spacer">
draggable="false"> <img src="/resources/NibblePoker/images/about/profile-pic.jpg"
{{ render_paragraph(l10n("intro.text.01", "about", user_lang) + l10n("intro.text.02", "about", user_lang)) }} alt="" class="r-r img-profile f-right m-xs ml-xxs"
{{ render_paragraph(l10n("intro.text.10", "about", user_lang) + l10n("intro.text.11", "about", user_lang)) }} draggable="false">
{{ render_paragraph(l10n("intro.text.20", "about", user_lang) + l10n("intro.text.21", "about", user_lang)) }} {{ render_paragraph(l10n("intro.text.p1.l1", "about", user_lang)) }}
{{ render_paragraph(l10n("intro.text.p3.l1", "about", user_lang) + "<br>" + l10n("intro.text.p3.l2", "about", user_lang)) }}
</div>
</section>
<!--{{ render_h1(l10n("tenets.title", "about", user_lang)) }} <section class="mt-l mt-0-if-first">
<p class="mt-xs ml-s t-bold"> {{ render_h1(l10n("future.title", "about", user_lang)) }}
TODO <div class="content-spacer">
</p>--> {{ render_paragraph(l10n("future.text.p1.l1", "about", user_lang) + "<br>" + l10n("future.text.p1.l2", "about", user_lang)) }}
{{ render_paragraph(l10n("future.text.p2.l1", "about", user_lang)) }}
{{ render_paragraph(l10n("future.text.p3.l1", "about", user_lang)) }}
</div>
</section>
{{ render_h1(l10n("future.title", "about", user_lang)) }} <section class="mt-l mt-0-if-first">
{{ render_paragraph(l10n("future.text.01", "about", user_lang) + l10n("future.text.02", "about", user_lang)) }} {{ render_h1(l10n("financing.title", "about", user_lang)) }}
{{ render_paragraph(l10n("future.text.10", "about", user_lang)) }} <div class="content-spacer">
{{ render_paragraph(l10n("future.text.20", "about", user_lang)) }} {{ render_paragraph(l10n("financing.text.p1.l1", "about", user_lang) + "<br>" + l10n("financing.text.p1.l2", "about", user_lang)) }}
{{ render_paragraph(l10n("financing.text.p2.l1", "about", user_lang)) }}
{{ render_paragraph(l10n("financing.text.p3.l1", "about", user_lang) + "<br>" + l10n("financing.text.p3.l2", "about", user_lang)) }}
</div>
</section>
{{ render_h1(l10n("financing.title", "about", user_lang)) }} <section class="mt-l mt-0-if-first">
{{ render_paragraph(l10n("financing.text.01", "about", user_lang) + l10n("financing.text.02", "about", user_lang)) }} <div class="grid grid-col-2 grid-col-medium-1 grid-gap-m">
{{ render_paragraph(l10n("financing.text.10", "about", user_lang)) }} <div>
{{ render_paragraph(l10n("financing.text.20", "about", user_lang) + l10n("financing.text.21", "about", user_lang)) }} <table class="table-stylish table-p-xs border r-l w-full">
<thead>
<tr>
<th>{{ l10n("financing.part.service", "about", user_lang) }}</th>
<th>{{ l10n("financing.part.cost.yearly", "about", user_lang) }}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ l10n("financing.part.domain.lu", "about", user_lang) }}</td>
<td>19,99 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.domain.com", "about", user_lang) }}</td>
<td>13,49 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.proxy.europe", "about", user_lang) }}</td>
<td>348 PLN / &pm;81,84 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.proxy.america", "about", user_lang) }}</td>
<td>13,00 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.electricity", "about", user_lang) }}</td>
<td>&pm;32,00 €</td>
</tr>
<tr>
<td><b class="f-right">{{ l10n("financing.part.cost.yearly.total", "about", user_lang) }}:</b></td>
<td>&pm;160,32 €</td>
</tr>
</tbody>
</table>
</div>
<div>
<table class="table-stylish table-p-xs border r-l w-full">
<thead>
<tr>
<th>{{ l10n("financing.part.equipment", "about", user_lang) }}</th>
<th>{{ l10n("financing.part.cost", "about", user_lang) }}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ l10n("financing.part.nanopir4s", "about", user_lang) }}</td>
<td>&pm;80,00 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.storage", "about", user_lang) }}</td>
<td>&pm;10,00 €</td>
</tr>
<tr>
<td><b class="f-right">{{ l10n("financing.part.cost.total", "about", user_lang) }}:</b></td>
<td>&pm;90,00 €
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class="mt-xs ml-s t-super-muted t-center">
{{ l10n("financing.text.isp", "about", user_lang) }}
</p>
</section>
<div class="grid col-2 col-medium-1">
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center mt-s mx-s">
<thead>
<tr>
<th>{{ l10n("financing.part.service", "about", user_lang) }}</th>
<th>{{ l10n("financing.part.cost.yearly", "about", user_lang) }}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ l10n("financing.part.domain.lu", "about", user_lang) }}</td>
<td>17,00 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.domain.com", "about", user_lang) }}</td>
<td>14,50 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.proxy.europe", "about", user_lang) }}</td>
<td>14,50 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.proxy.america", "about", user_lang) }}</td>
<td>13,00 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.electricity", "about", user_lang) }}</td>
<td>&pm;32,00 €</td>
</tr>
<tr>
<td><b class="f-right">{{ l10n("financing.part.cost.yearly.total", "about", user_lang) }}:</b></td>
<td>&pm;89,00 €</td>
</tr>
</tbody>
</table>
<table class="stylish r-s border o-hidden table-p-xs table-h-p-s table-v-center mt-s mx-s">
<thead>
<tr>
<th>{{ l10n("financing.part.equipment", "about", user_lang) }}</th>
<th>{{ l10n("financing.part.cost", "about", user_lang) }}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ l10n("financing.part.nanopir4s", "about", user_lang) }}</td>
<td>&pm;80,00 €</td>
</tr>
<tr>
<td>{{ l10n("financing.part.storage", "about", user_lang) }}</td>
<td>&pm;10,00 €</td>
</tr>
<tr>
<td><b class="f-right">{{ l10n("financing.part.cost.total", "about", user_lang) }}:</b></td>
<td>&pm;90,00 €
</td>
</tr>
</tbody>
</table>
</div>
<p class="mt-xs ml-s t-super-muted t-center">
{{ l10n("financing.text.isp", "about", user_lang) }}
</p>
{% endblock %} {% endblock %}
{% block extra_scripts %} {% block extra_scripts %}