diff options
author | ng0 <ng0@taler.net> | 2019-12-10 00:47:36 +0000 |
---|---|---|
committer | ng0 <ng0@taler.net> | 2019-12-10 00:47:36 +0000 |
commit | ca901e4b99a037553a5afe1beeb50255aeecb27c (patch) | |
tree | 0be1261a10486902002a73215dee1572912ebda7 | |
parent | 7bf827948000a632667a7664f7e4cc9953acdd7f (diff) | |
download | www-ca901e4b99a037553a5afe1beeb50255aeecb27c.tar.gz www-ca901e4b99a037553a5afe1beeb50255aeecb27c.tar.bz2 www-ca901e4b99a037553a5afe1beeb50255aeecb27c.zip |
merge new website generation.
27 files changed, 706 insertions, 590 deletions
@@ -17,8 +17,18 @@ es/ ru/ pt/ -config.mk __pycache__ *.pyc +sitemap.html +sitemap.xml + +*~ +\#*\# + +config.mk + *.core + +.style.yapf +configure diff --git a/GNUmakefile b/GNUmakefile index c460217f..6fae6c8e 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,27 +1,37 @@ # This file is in the public domain. -# Hardly anyone seems to read README files anymore, so keep this note here: -# Don't remove the variables for python etc. They exist -# because one system sticks with PEPs, and others opt -# for installing every version side-by-side, -# Same goes for babel. - include config.mk # All: build HTML pages in all languages and compile the # TypeScript logic in web-common. .PHONY: all all: locale template - cd web-common && $(tsc) - $(sh) make_sitemap.sh - for x in en de fr it es ru pt ; do $(cp) robots.txt rendered/$$x ; done - for x in en de fr it es ru pt ; do $(cp) favicon.ico rendered/$$x ; done - for x in en de fr it es ru pt ; do $(cp) rendered/sitemap.xml rendered/$$x ; done - $(cp) styles.css rendered/ - $(cp) -R images rendered/ - for x in en de fr it es ru pt ; do $(cp) -R images rendered/$$x ; done - for x in en de fr it es ru pt ; do $(cp) -R web-common rendered/$$x ; done - for d in dist icons papers pdf presentations ; do $(cp) -R $$d rendered/ ; done + (cd web-common && $(tsc)) + ($(cp) rendered/static/robots.txt rendered/robots.txt) + ($(cp) rendered/static/robots.txt rendered/dist/robots.txt) + (for lang in en de fr it es ru pt ; do \ + $(cp) rendered/static/robots.txt rendered/$$lang/robots.txt; \ + done) + ($(python) inc/make_sitemap.py -i rendered) + ($(cp) sitemap.xml rendered/sitemap.xml) + ($(cp) sitemap.xml rendered/en/sitemap.xml) + (for x in en de fr it es ru pt ; do \ + $(cp) rendered/sitemap.xml rendered/$$x ; \ + done) + ($(cp) -R images rendered/static/) + (for lang in en de fr it es ru pt ; \ + do $(cp) -R images rendered/$$lang ; \ + done) + (for lang in en de fr it es ru pt ; do \ + $(cp) -R web-common rendered/$$lang ; \ + done) + (cd rendered; \ + for lang in en de fr it es ru pt; do \ + $(cp) $$lang/rss.xml $$lang/news/rss.xml; \ + done) + (for d in dist icons papers pdf presentations ; do \ + $(cp) -R $$d rendered/ ; \ + done) # Extract translateable strings from jinja2 templates. locale/messages.pot: template/*.j2 common/*.j2 common/*.j2.inc @@ -30,26 +40,18 @@ locale/messages.pot: template/*.j2 common/*.j2 common/*.j2.inc # Update translation (.po) files with new strings. .PHONY: locale-update locale-update: locale/messages.pot - $(msgmerge) -U -m --previous locale/en/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -U -m --previous locale/de/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -U -m --previous locale/fr/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -U -m --previous locale/es/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -U -m --previous locale/it/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -U -m --previous locale/ru/LC_MESSAGES/messages.po locale/messages.pot - $(msgmerge) -U -m --previous locale/pt/LC_MESSAGES/messages.po locale/messages.pot + (for lang in de fr es it ru pt; do \ + $(msgmerge) -q -U -m --previous locale/$$lang/LC_MESSAGES/messages.po locale/messages.pot ; \ + done) if $(grep) -nA1 '#-#-#-#-#' locale/*/LC_MESSAGES/messages.po; then $(echo) -e "\nERROR: Conflicts encountered in PO files.\n"; exit 1; fi # Compile translation files for use. .PHONY: locale-compile locale-compile: - $(pybabel) compile -d locale -l en --use-fuzzy - $(pybabel) compile -d locale -l de --use-fuzzy - $(pybabel) compile -d locale -l fr --use-fuzzy - $(pybabel) compile -d locale -l it --use-fuzzy - $(pybabel) compile -d locale -l es --use-fuzzy - $(pybabel) compile -d locale -l ru --use-fuzzy - $(pybabel) compile -d locale -l pt --use-fuzzy + (for lang in de fr it es ru pt; do \ + $(pybabel) -q compile -d locale -l $$lang --use-fuzzy ; \ + done) # Process everything related to gettext translations. .PHONY: locale @@ -58,11 +60,11 @@ locale: locale-update locale-compile # Run the jinja2 templating engine to expand templates to HTML # incorporating translations. template: locale-compile - $(python) ./template.py + $(python) ./make_site.py .PHONY: run run: all - $(browser) http://0.0.0.0:8000 & + $(browser) http://0.0.0.0:8000/rendered/en & $(python) -m http.server .PHONY: install diff --git a/__init__.py b/__init__.py new file mode 100644 index 00000000..0895f233 --- /dev/null +++ b/__init__.py @@ -0,0 +1,2 @@ +import os, sys +sys.path.append(os.path.dirname(os.path.realpath(__file__))) diff --git a/build-system/taler-build-scripts b/build-system/taler-build-scripts -Subproject 2536801927781ea38fefc3de924934e1c6a74d8 +Subproject 1915a74bbb4cd2ae9bc541a382dfebc37064a2f diff --git a/common/footer.j2.inc b/common/footer.j2.inc index bce2b9a1..0d5be467 100644 --- a/common/footer.j2.inc +++ b/common/footer.j2.inc @@ -8,27 +8,29 @@ <div class="row"> <div class="col-12 col-sm-4"> <ul class="footer-list"> - <li><p><a href="contact.html">{{ _("Contact") }}</a></p></li> + <li><a href="{{ url_localized('contact.html') }}">{{ _("Contact") }}</a></li> </ul> </div> <div class="col-12 col-sm-4"> <ul class="footer-list"> - <li><p><a href="faq.html">{{ _("FAQ") }}</a></p></li> + <li><a href="{{ url_localized('faq.html') }}">{{ _("FAQ") }}</a></li> </ul> </div> <div class="col-12 col-sm-4"> <ul class="footer-list"> - <li><p><a href="bibliography.html">{{ _("Bibliography") }}</a></p></li> + <li><a href="{{ url_localized('bibliography.html') }}">{{ _("Bibliography") }}</a></li> </ul> </div> </div> </div> <div class="text-center mt-5"> - <p>© <a href="https://gnunet.org/en/ev.html">GNUnet e.V.</a> {{_("and") }} + <p> + © <a href="https://gnunet.org/en/ev.html">GNUnet e.V.</a> {{_("and") }} Taler Systems SA 2015-2019 <br> {{ _("We are grateful for support and free hosting of this site by <a href='http://www.bfh.ch/'>BFH</a>") }}. <br> - {{ _("This page was created using <a href='https://www.gnu.org/'>Free Software</a> only.") }}</p> + {{ _("This page was created using <a href='https://www.gnu.org/'>Free Software</a> only.") }} + </p> </div> </footer> diff --git a/common/header.j2.inc b/common/header.j2.inc index e75a9433..53320ced 100644 --- a/common/header.j2.inc +++ b/common/header.j2.inc @@ -37,15 +37,17 @@ <!-- <link rel="icon" href="../../favicon.ico"> --> <!-- Bootstrap core CSS --> - <link href="{{ url('dist/css/bootstrap.min.css') }}" rel="stylesheet"> + <link href="{{ url_dist('css/bootstrap.min.css') }}" rel="stylesheet"> <!-- Custom styles for this template --> - <link href="{{ url('styles.css') }}" rel="stylesheet"> + <link href="{{ url_static('styles.css') }}" rel="stylesheet"> - <script src="{{ url('dist/js/jquery-1.11.1.min.js') }}"></script> - <script src="{{ url('dist/js/bootstrap.min.js') }}"></script> + <script src="{{ url_dist('js/jquery-1.11.1.min.js') }}"></script> + <script src="{{ url_dist('js/bootstrap.min.js') }}"></script> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> + + <link rel="alternate" type="application/rss+xml" title="Taler.net rss" href="{{ url_localized('news/rss.xml') }}" /> diff --git a/common/navigation.j2.inc b/common/navigation.j2.inc index c8a645bd..3e353737 100644 --- a/common/navigation.j2.inc +++ b/common/navigation.j2.inc @@ -1,12 +1,12 @@ {% macro navlink(site, text) -%} - <a class="nav-link {{ 'active' if filename == site else '' }}" - href="/{{ lang }}/{{ site }}"> - {{ text }} - </a> + <a class="nav-link {{ 'active' if filename == site else '' }}" + href="{{ url_localized(site) }}"> + {{ text }} + </a> {%- endmacro %} <nav class="navbar navbar-expand-lg navbar-light"> - <a class="navbar-brand taler_home" href="/{{ lang }}/index.html">Taler</a> + <a class="navbar-brand taler_home" href="{{ url_localized('index.html') }}">Taler</a> <button class="navbar-toggler" type="button" data-toggle="collapse" @@ -21,6 +21,7 @@ {{ navlink('features.html', _('Features')) }} {{ navlink('principles.html', _('Principles')) }} {{ navlink('docs.html', _('Docs')) }} + {{ navlink('news/index.html', _('News')) }} </div> <div class="nav-item dropdown"> @@ -30,7 +31,7 @@ data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> - <img src="{{ url('images/languageicon.svg') }}" + <img src="{{ url_static('images/languageicon.svg') }}" height="35" alt="[{{lang}}]" /> {{ lang_full }} [{{ lang }}] diff --git a/inc b/inc -Subproject 46295bc38988c16a9a6c8c0cf8930abd20193a0 +Subproject 8ba672a9a16cbf11aac394b183668cb916d601f diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po index 54506c2a..bca5809f 100644 --- a/locale/de/LC_MESSAGES/messages.po +++ b/locale/de/LC_MESSAGES/messages.po @@ -2,14 +2,14 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-12-01 21:29+0100\n" +"POT-Creation-Date: 2019-12-10 00:42+0000\n" "PO-Revision-Date: 2017-06-02 09:46+0100\n" "Last-Translator: Stefan Kügel <skuegel@web.de>\n" "Language-Team: de <LL@li.org, de@taler.net>\n" -"Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: en\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" "Generated-By: Babel 2.4.0\n" @@ -17,7 +17,7 @@ msgstr "" msgid "GNU Taler" msgstr "Das Taler-Bezahlsystem" -#: common/base.j2:6 +#: common/base.j2:6 common/news.j2:6 msgid "Taxable Anonymous Libre Electronic Reserves" msgstr "Taxierbare Anonyme Liberale Elektronische Reserven" @@ -35,19 +35,18 @@ msgstr "" msgid "Bibliography" msgstr "Bibliografie von GNU Taler" -#: common/footer.j2.inc:27 template/bibliography.html.j2:23 -#: template/bibliography.html.j2:30 template/bibliography.html.j2:37 -#: template/bibliography.html.j2:43 template/developers.html.j2:66 +#: common/footer.j2.inc:28 template/bibliography.html.j2:33 +#: template/developers.html.j2:66 msgid "and" msgstr "und" -#: common/footer.j2.inc:30 +#: common/footer.j2.inc:31 msgid "" "We are grateful for support and free hosting of this site by <a href='http://" "www.bfh.ch/'>BFH</a>" msgstr "" -#: common/footer.j2.inc:32 +#: common/footer.j2.inc:33 msgid "" "This page was created using <a href='https://www.gnu.org/'>Free Software</a> " "only." @@ -65,24 +64,30 @@ msgstr "" msgid "Docs" msgstr "" +#: common/navigation.j2.inc:24 news/index.html.j2:9 +msgid "News" +msgstr "" + +#: common/news.j2:5 +msgid "GNUnet" +msgstr "" + +#: inc/news.macro.j2:22 +msgid "read more" +msgstr "" + #: template/architecture.html.j2:6 msgid "Taler System Architecture" msgstr "Systemarchitektur von Taler" -#: template/bibliography.html.j2:4 +#: template/bibliography.html.j2:5 msgid "GNU Taler Bibliography" msgstr "Bibliografie von GNU Taler" -#: template/bibliography.html.j2:9 template/bibliography.html.j2:16 -#: template/bibliography.html.j2:23 template/bibliography.html.j2:30 -#: template/bibliography.html.j2:37 template/bibliography.html.j2:43 +#: template/bibliography.html.j2:27 msgid "by" msgstr "von" -#: template/bibliography.html.j2:44 -msgid "available upon request" -msgstr "erhältlich auf Anfrage" - #: template/contact.html.j2:6 msgid "Contact information" msgstr "Kontakt" @@ -245,9 +250,9 @@ msgstr "" "Taler ist freie Software mit einem offenen Protokoll. Alle Programmierer " "sind dazu eingeladen, unseren Referenzcode in ihre Anwendungen aufzunehmen. " "Verschiedene Taler-Komponenten sind unter verschiedenen Lizenzformen " -"verfügbar. Für die Taler-Wechselstube (den \"Exchange\") dient Affero " -"GPLv3+, LGPLv3+ für den Referenzcode der Integration in Handelsplattformen, " -"GPLv3+-Lizenzen gelten für Geldbörsen (\"Wallets\") und Kundeninteraktions-" +"verfügbar. Für die Taler-Wechselstube (den \"Exchange\") dient Affero GPLv3" +"+, LGPLv3+ für den Referenzcode der Integration in Handelsplattformen, GPLv3" +"+-Lizenzen gelten für Geldbörsen (\"Wallets\") und Kundeninteraktions-" "Software. Wir heißen alle konstruktiven Vorschläge willkommen, die Taler-" "Komponenten in eigene Anwendungen zu integrieren." @@ -721,7 +726,7 @@ msgid "Exchange" msgstr "" #: template/docs.html.j2:64 -msgid "Operator's manual for the GNU Taler exchange. Also available as" +msgid "Operator's manual for the GNU Taler exchange. Also available as" msgstr "" #: template/docs.html.j2:74 @@ -1137,7 +1142,7 @@ msgstr "" msgid "" "When making a payment, customers only need a charged wallet. A merchant can " "accept payments <span class=\"tlr\">without making their customers register</" -"span> on the merchant's Website." +"span> on the merchant's Website." msgstr "" #: template/features.html.j2:50 @@ -1163,8 +1168,8 @@ msgstr "Bezahlen mit Taler" #| "of phishing or identity theft.</p>\n" msgid "" "To pay with Taler, customers install an electronic wallet on their device. " -"Before the first payment, the desired currency must be added to the wallet's " -"balance by some other means of payment." +"Before the first payment, the desired currency must be added to the " +"wallet's balance by some other means of payment." msgstr "" "Um mit dem Taler-Bezahlsystem einkaufen zu können, muss man eine " "elektronische Geldbörse auf einem Endgerät installieren. Vor der ersten " @@ -1219,8 +1224,9 @@ msgstr "Verkaufen mit Taler" msgid "" "To receive Taler payments, a merchant needs a bank account in the desired " "currency. We provide supporting software in various programming languages to " -"make the integration painless. The merchant's backend for Taler transaction " -"processing can run on the merchant's premises or be hosted by a third party." +"make the integration painless. The merchant's backend for Taler " +"transaction processing can run on the merchant's premises or be hosted " +"by a third party." msgstr "" "Um Zahlungen erhalten zu können, brauchen Verkäufer ein Girokonto in der " "gewünschten Währung bei einer Geschäftsbank. Das Taler-Bezahlsystem " @@ -1274,7 +1280,7 @@ msgstr "Stabil" msgid "" "Taler does not introduce a new currency. Taler uses a digital wallet storing " "coins and payment service providers with escrow accounts in existing " -"currencies. Thus, Taler's cryptographic coins correspond to existing " +"currencies. Thus, Taler's cryptographic coins correspond to existing " "currencies, such as US Dollars, Euros or even Bitcoins." msgstr "" "Als Bezahlsystem stellt Taler noch keine neue Währung dar. Taler verbindet " @@ -1316,7 +1322,7 @@ msgstr "Besteuerbar" #| "Taler helps prevent black markets. Taler is not suitable for\n" #| "illegal activities.\n" msgid "" -"When using Taler, merchant's revenue is transparent for tax collection " +"When using Taler, merchant's revenue is transparent for tax collection " "authorities. Unlike cash and most digital currencies, Taler helps prevent " "black markets. Taler is not suitable for illegal activities." msgstr "" @@ -2232,37 +2238,37 @@ msgstr "" msgid "Shipment Tracking" msgstr "" -#: template/index.html.j2:23 +#: template/index.html.j2:25 msgid "" "We provide a payment system that makes <span class='tlr'>privacy-friendly</" "span> online transactions <span class='tlr'>fast and easy</span>." msgstr "" -#: template/index.html.j2:27 +#: template/index.html.j2:29 msgid "Payments without registration" msgstr "" -#: template/index.html.j2:31 +#: template/index.html.j2:33 msgid "Data protection by default" msgstr "" -#: template/index.html.j2:35 +#: template/index.html.j2:37 msgid "Fraud eliminated by design" msgstr "" -#: template/index.html.j2:39 +#: template/index.html.j2:41 msgid "Not a new currency!" msgstr "" -#: template/index.html.j2:43 +#: template/index.html.j2:45 msgid "Empowers communities to run their own payment infrastructure" msgstr "" -#: template/index.html.j2:46 +#: template/index.html.j2:48 msgid "Try Demo!" msgstr "" -#: template/index.html.j2:47 +#: template/index.html.j2:49 msgid "Read Docs" msgstr "" @@ -2713,24 +2719,6 @@ msgstr "" msgid "customer perspective" msgstr "" -#: template/news.html.j2:6 -msgid "News" -msgstr "" - -#: template/news.html.j2:16 -msgid "More news" -msgstr "" - -#: template/old-news.html.j2:6 -#, fuzzy -#| msgid "Taler News" -msgid "Older News" -msgstr "Taler-News" - -#: template/old-news.html.j2:9 -msgid "This page documents the GNU Taler history." -msgstr "" - #: template/press.html.j2:4 msgid "GNU Taler in the Press" msgstr "Taler in den Medien" @@ -3011,6 +2999,14 @@ msgstr "" msgid "Wallets for other browsers will be provided in the near future." msgstr "" +#~ msgid "available upon request" +#~ msgstr "erhältlich auf Anfrage" + +#, fuzzy +#~| msgid "Taler News" +#~ msgid "Older News" +#~ msgstr "Taler-News" + #, fuzzy #~| msgid "The Team" #~ msgid "Team" diff --git a/locale/en/LC_MESSAGES/messages.po b/locale/en/LC_MESSAGES/messages.po index d1f1086e..76355995 100644 --- a/locale/en/LC_MESSAGES/messages.po +++ b/locale/en/LC_MESSAGES/messages.po @@ -2,14 +2,14 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-12-01 21:29+0100\n" +"POT-Creation-Date: 2019-12-09 20:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: en <LL@li.org>\n" -"Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: en\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" "Generated-By: Babel 2.3.4\n" @@ -17,7 +17,7 @@ msgstr "" msgid "GNU Taler" msgstr "" -#: common/base.j2:6 +#: common/base.j2:6 common/news.j2:6 msgid "Taxable Anonymous Libre Electronic Reserves" msgstr "" @@ -63,6 +63,18 @@ msgstr "" msgid "Docs" msgstr "" +#: common/navigation.j2.inc:24 news/index.html.j2:9 +msgid "News" +msgstr "" + +#: common/news.j2:5 +msgid "GNUnet" +msgstr "" + +#: inc/news.macro.j2:22 +msgid "read more" +msgstr "" + #: template/architecture.html.j2:6 msgid "Taler System Architecture" msgstr "" @@ -1561,37 +1573,37 @@ msgstr "" msgid "Shipment Tracking" msgstr "" -#: template/index.html.j2:23 +#: template/index.html.j2:25 msgid "" "We provide a payment system that makes <span class='tlr'>privacy-friendly</" "span> online transactions <span class='tlr'>fast and easy</span>." msgstr "" -#: template/index.html.j2:27 +#: template/index.html.j2:29 msgid "Payments without registration" msgstr "" -#: template/index.html.j2:31 +#: template/index.html.j2:33 msgid "Data protection by default" msgstr "" -#: template/index.html.j2:35 +#: template/index.html.j2:37 msgid "Fraud eliminated by design" msgstr "" -#: template/index.html.j2:39 +#: template/index.html.j2:41 msgid "Not a new currency!" msgstr "" -#: template/index.html.j2:43 +#: template/index.html.j2:45 msgid "Empowers communities to run their own payment infrastructure" msgstr "" -#: template/index.html.j2:46 +#: template/index.html.j2:48 msgid "Try Demo!" msgstr "" -#: template/index.html.j2:47 +#: template/index.html.j2:49 msgid "Read Docs" msgstr "" @@ -1836,22 +1848,6 @@ msgstr "" msgid "customer perspective" msgstr "" -#: template/news.html.j2:6 -msgid "News" -msgstr "" - -#: template/news.html.j2:16 -msgid "More news" -msgstr "" - -#: template/old-news.html.j2:6 -msgid "Older News" -msgstr "" - -#: template/old-news.html.j2:9 -msgid "This page documents the GNU Taler history." -msgstr "" - #: template/press.html.j2:4 msgid "GNU Taler in the Press" msgstr "" diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po index e20c1fe7..0e6b067e 100644 --- a/locale/es/LC_MESSAGES/messages.po +++ b/locale/es/LC_MESSAGES/messages.po @@ -2,14 +2,14 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-12-01 21:29+0100\n" +"POT-Creation-Date: 2019-12-10 00:42+0000\n" "PO-Revision-Date: 2017-08-10 06:24+0200\n" "Last-Translator: \n" "Language-Team: es <LL@li.org>\n" -"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "Generated-By: Babel 2.3.4\n" "X-Generator: Poedit 2.0.2\n" @@ -18,7 +18,7 @@ msgstr "" msgid "GNU Taler" msgstr "GNU Taler" -#: common/base.j2:6 +#: common/base.j2:6 common/news.j2:6 msgid "Taxable Anonymous Libre Electronic Reserves" msgstr "Reservas Electrónicas Gravales, Anónimas y Libres" @@ -34,19 +34,18 @@ msgstr "Preguntas frecuentes" msgid "Bibliography" msgstr "Bibliografía" -#: common/footer.j2.inc:27 template/bibliography.html.j2:23 -#: template/bibliography.html.j2:30 template/bibliography.html.j2:37 -#: template/bibliography.html.j2:43 template/developers.html.j2:66 +#: common/footer.j2.inc:28 template/bibliography.html.j2:33 +#: template/developers.html.j2:66 msgid "and" msgstr "y" -#: common/footer.j2.inc:30 +#: common/footer.j2.inc:31 msgid "" "We are grateful for support and free hosting of this site by <a href='http://" "www.bfh.ch/'>BFH</a>" msgstr "" -#: common/footer.j2.inc:32 +#: common/footer.j2.inc:33 msgid "" "This page was created using <a href='https://www.gnu.org/'>Free Software</a> " "only." @@ -66,24 +65,30 @@ msgstr "" msgid "Docs" msgstr "" +#: common/navigation.j2.inc:24 news/index.html.j2:9 +msgid "News" +msgstr "" + +#: common/news.j2:5 +msgid "GNUnet" +msgstr "" + +#: inc/news.macro.j2:22 +msgid "read more" +msgstr "" + #: template/architecture.html.j2:6 msgid "Taler System Architecture" msgstr "Arquitectura del Sistema Taler" -#: template/bibliography.html.j2:4 +#: template/bibliography.html.j2:5 msgid "GNU Taler Bibliography" msgstr "Bibliografía de GNU Taler" -#: template/bibliography.html.j2:9 template/bibliography.html.j2:16 -#: template/bibliography.html.j2:23 template/bibliography.html.j2:30 -#: template/bibliography.html.j2:37 template/bibliography.html.j2:43 +#: template/bibliography.html.j2:27 msgid "by" msgstr "por" -#: template/bibliography.html.j2:44 -msgid "available upon request" -msgstr "disponible bajo petición" - #: template/contact.html.j2:6 msgid "Contact information" msgstr "Contacto" @@ -619,7 +624,7 @@ msgid "Exchange" msgstr "Plataforma de intercambio" #: template/docs.html.j2:64 -msgid "Operator's manual for the GNU Taler exchange. Also available as" +msgid "Operator's manual for the GNU Taler exchange. Also available as" msgstr "" #: template/docs.html.j2:74 @@ -1027,7 +1032,7 @@ msgstr "" msgid "" "When making a payment, customers only need a charged wallet. A merchant can " "accept payments <span class=\"tlr\">without making their customers register</" -"span> on the merchant's Website." +"span> on the merchant's Website." msgstr "" #: template/features.html.j2:50 @@ -1053,8 +1058,8 @@ msgstr "Pagando con Taler" #| "or identity theft.</p>" msgid "" "To pay with Taler, customers install an electronic wallet on their device. " -"Before the first payment, the desired currency must be added to the wallet's " -"balance by some other means of payment." +"Before the first payment, the desired currency must be added to the " +"wallet's balance by some other means of payment." msgstr "" "<p>Para pagar con Taler, los clientes instalan una billetera electrónica en " "su dispositivo. Antes del primer pago, el saldo de la billetera debe ser " @@ -1103,8 +1108,9 @@ msgstr "Recibiendo pagos con Taler" msgid "" "To receive Taler payments, a merchant needs a bank account in the desired " "currency. We provide supporting software in various programming languages to " -"make the integration painless. The merchant's backend for Taler transaction " -"processing can run on the merchant's premises or be hosted by a third party." +"make the integration painless. The merchant's backend for Taler " +"transaction processing can run on the merchant's premises or be hosted " +"by a third party." msgstr "" "<p>Para recibir pagos con Taler, un comerciante necesita una cuenta bancaria " "en la moneda deseada. Nosotros proporcionamos el software de apoyo en varios " @@ -1142,10 +1148,16 @@ msgid "Stable" msgstr "Estable" #: template/features.html.j2:143 +#, fuzzy +#| msgid "" +#| "Taler does not introduce a new currency. Taler uses a digital wallet " +#| "storing coins and payment service providers with escrow accounts in " +#| "existing currencies. Thus, Taler's cryptographic coins correspond to " +#| "existing currencies, such as US Dollars, Euros or even Bitcoins." msgid "" "Taler does not introduce a new currency. Taler uses a digital wallet storing " "coins and payment service providers with escrow accounts in existing " -"currencies. Thus, Taler's cryptographic coins correspond to existing " +"currencies. Thus, Taler's cryptographic coins correspond to existing " "currencies, such as US Dollars, Euros or even Bitcoins." msgstr "" "Taler no introduce una nueva moneda. Taler utiliza una billetera electrónica " @@ -1175,8 +1187,13 @@ msgid "Taxable" msgstr "Imponible" #: template/features.html.j2:172 +#, fuzzy +#| msgid "" +#| "When using Taler, merchant's revenue is transparent for tax collection " +#| "authorities. Unlike cash and most digital currencies, Taler helps prevent " +#| "black markets. Taler is not suitable for illegal activities." msgid "" -"When using Taler, merchant's revenue is transparent for tax collection " +"When using Taler, merchant's revenue is transparent for tax collection " "authorities. Unlike cash and most digital currencies, Taler helps prevent " "black markets. Taler is not suitable for illegal activities." msgstr "" @@ -2040,37 +2057,37 @@ msgstr "" msgid "Shipment Tracking" msgstr "" -#: template/index.html.j2:23 +#: template/index.html.j2:25 msgid "" "We provide a payment system that makes <span class='tlr'>privacy-friendly</" "span> online transactions <span class='tlr'>fast and easy</span>." msgstr "" -#: template/index.html.j2:27 +#: template/index.html.j2:29 msgid "Payments without registration" msgstr "" -#: template/index.html.j2:31 +#: template/index.html.j2:33 msgid "Data protection by default" msgstr "" -#: template/index.html.j2:35 +#: template/index.html.j2:37 msgid "Fraud eliminated by design" msgstr "" -#: template/index.html.j2:39 +#: template/index.html.j2:41 msgid "Not a new currency!" msgstr "" -#: template/index.html.j2:43 +#: template/index.html.j2:45 msgid "Empowers communities to run their own payment infrastructure" msgstr "" -#: template/index.html.j2:46 +#: template/index.html.j2:48 msgid "Try Demo!" msgstr "" -#: template/index.html.j2:47 +#: template/index.html.j2:49 msgid "Read Docs" msgstr "" @@ -2413,24 +2430,6 @@ msgstr "" msgid "customer perspective" msgstr "Perspectiva del consumidor" -#: template/news.html.j2:6 -msgid "News" -msgstr "" - -#: template/news.html.j2:16 -msgid "More news" -msgstr "" - -#: template/old-news.html.j2:6 -#, fuzzy -#| msgid "Taler News" -msgid "Older News" -msgstr "Noticias de Taler" - -#: template/old-news.html.j2:9 -msgid "This page documents the GNU Taler history." -msgstr "" - #: template/press.html.j2:4 msgid "GNU Taler in the Press" msgstr "GNU Taler en la Prensa" @@ -2713,6 +2712,14 @@ msgstr "" msgid "Wallets for other browsers will be provided in the near future." msgstr "" +#~ msgid "available upon request" +#~ msgstr "disponible bajo petición" + +#, fuzzy +#~| msgid "Taler News" +#~ msgid "Older News" +#~ msgstr "Noticias de Taler" + #, fuzzy #~| msgid "The Team" #~ msgid "Team" diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index 4746f681..4b3bab38 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -2,14 +2,14 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-12-01 21:29+0100\n" +"POT-Creation-Date: 2019-12-10 00:42+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: fr <LL@li.org>\n" -"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" "Generated-By: Babel 2.3.4\n" @@ -17,7 +17,7 @@ msgstr "" msgid "GNU Taler" msgstr "" -#: common/base.j2:6 +#: common/base.j2:6 common/news.j2:6 msgid "Taxable Anonymous Libre Electronic Reserves" msgstr "" @@ -33,19 +33,18 @@ msgstr "" msgid "Bibliography" msgstr "" -#: common/footer.j2.inc:27 template/bibliography.html.j2:23 -#: template/bibliography.html.j2:30 template/bibliography.html.j2:37 -#: template/bibliography.html.j2:43 template/developers.html.j2:66 +#: common/footer.j2.inc:28 template/bibliography.html.j2:33 +#: template/developers.html.j2:66 msgid "and" msgstr "" -#: common/footer.j2.inc:30 +#: common/footer.j2.inc:31 msgid "" "We are grateful for support and free hosting of this site by <a href='http://" "www.bfh.ch/'>BFH</a>" msgstr "" -#: common/footer.j2.inc:32 +#: common/footer.j2.inc:33 msgid "" "This page was created using <a href='https://www.gnu.org/'>Free Software</a> " "only." @@ -63,26 +62,32 @@ msgstr "" msgid "Docs" msgstr "" +#: common/navigation.j2.inc:24 news/index.html.j2:9 +msgid "News" +msgstr "" + +#: common/news.j2:5 +msgid "GNUnet" +msgstr "" + +#: inc/news.macro.j2:22 +msgid "read more" +msgstr "" + #: template/architecture.html.j2:6 #, fuzzy #| msgid "Taler system overview" msgid "Taler System Architecture" msgstr "Vue d'ensemble de Taler" -#: template/bibliography.html.j2:4 +#: template/bibliography.html.j2:5 msgid "GNU Taler Bibliography" msgstr "" -#: template/bibliography.html.j2:9 template/bibliography.html.j2:16 -#: template/bibliography.html.j2:23 template/bibliography.html.j2:30 -#: template/bibliography.html.j2:37 template/bibliography.html.j2:43 +#: template/bibliography.html.j2:27 msgid "by" msgstr "" -#: template/bibliography.html.j2:44 -msgid "available upon request" -msgstr "" - #: template/contact.html.j2:6 msgid "Contact information" msgstr "" @@ -441,7 +446,7 @@ msgid "Exchange" msgstr "" #: template/docs.html.j2:64 -msgid "Operator's manual for the GNU Taler exchange. Also available as" +msgid "Operator's manual for the GNU Taler exchange. Also available as" msgstr "" #: template/docs.html.j2:74 @@ -758,7 +763,7 @@ msgstr "" msgid "" "When making a payment, customers only need a charged wallet. A merchant can " "accept payments <span class=\"tlr\">without making their customers register</" -"span> on the merchant's Website." +"span> on the merchant's Website." msgstr "" #: template/features.html.j2:50 @@ -776,8 +781,8 @@ msgstr "" #: template/features.html.j2:71 msgid "" "To pay with Taler, customers install an electronic wallet on their device. " -"Before the first payment, the desired currency must be added to the wallet's " -"balance by some other means of payment." +"Before the first payment, the desired currency must be added to the " +"wallet's balance by some other means of payment." msgstr "" #: template/features.html.j2:79 @@ -799,8 +804,9 @@ msgstr "" msgid "" "To receive Taler payments, a merchant needs a bank account in the desired " "currency. We provide supporting software in various programming languages to " -"make the integration painless. The merchant's backend for Taler transaction " -"processing can run on the merchant's premises or be hosted by a third party." +"make the integration painless. The merchant's backend for Taler " +"transaction processing can run on the merchant's premises or be hosted " +"by a third party." msgstr "" #: template/features.html.j2:105 @@ -836,7 +842,7 @@ msgstr "Taxable" msgid "" "Taler does not introduce a new currency. Taler uses a digital wallet storing " "coins and payment service providers with escrow accounts in existing " -"currencies. Thus, Taler's cryptographic coins correspond to existing " +"currencies. Thus, Taler's cryptographic coins correspond to existing " "currencies, such as US Dollars, Euros or even Bitcoins." msgstr "" @@ -858,7 +864,7 @@ msgstr "Taxable" #: template/features.html.j2:172 msgid "" -"When using Taler, merchant's revenue is transparent for tax collection " +"When using Taler, merchant's revenue is transparent for tax collection " "authorities. Unlike cash and most digital currencies, Taler helps prevent " "black markets. Taler is not suitable for illegal activities." msgstr "" @@ -1577,37 +1583,37 @@ msgstr "" msgid "Shipment Tracking" msgstr "" -#: template/index.html.j2:23 +#: template/index.html.j2:25 msgid "" "We provide a payment system that makes <span class='tlr'>privacy-friendly</" "span> online transactions <span class='tlr'>fast and easy</span>." msgstr "" -#: template/index.html.j2:27 +#: template/index.html.j2:29 msgid "Payments without registration" msgstr "" -#: template/index.html.j2:31 +#: template/index.html.j2:33 msgid "Data protection by default" msgstr "" -#: template/index.html.j2:35 +#: template/index.html.j2:37 msgid "Fraud eliminated by design" msgstr "" -#: template/index.html.j2:39 +#: template/index.html.j2:41 msgid "Not a new currency!" msgstr "" -#: template/index.html.j2:43 +#: template/index.html.j2:45 msgid "Empowers communities to run their own payment infrastructure" msgstr "" -#: template/index.html.j2:46 +#: template/index.html.j2:48 msgid "Try Demo!" msgstr "" -#: template/index.html.j2:47 +#: template/index.html.j2:49 msgid "Read Docs" msgstr "" @@ -1854,22 +1860,6 @@ msgstr "" msgid "customer perspective" msgstr "" -#: template/news.html.j2:6 -msgid "News" -msgstr "" - -#: template/news.html.j2:16 -msgid "More news" -msgstr "" - -#: template/old-news.html.j2:6 -msgid "Older News" -msgstr "" - -#: template/old-news.html.j2:9 -msgid "This page documents the GNU Taler history." -msgstr "" - #: template/press.html.j2:4 msgid "GNU Taler in the Press" msgstr "" diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index a4d17740..181be43e 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -2,14 +2,14 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-12-01 21:29+0100\n" +"POT-Creation-Date: 2019-12-10 00:42+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: it <LL@li.org>\n" -"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: it\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" "Generated-By: Babel 2.3.4\n" @@ -17,7 +17,7 @@ msgstr "" msgid "GNU Taler" msgstr "GNU Taler" -#: common/base.j2:6 +#: common/base.j2:6 common/news.j2:6 msgid "Taxable Anonymous Libre Electronic Reserves" msgstr "Tassabili Anonime Libere Elettroniche Riserve" @@ -35,19 +35,18 @@ msgstr "FAQ" msgid "Bibliography" msgstr "Bibliografia" -#: common/footer.j2.inc:27 template/bibliography.html.j2:23 -#: template/bibliography.html.j2:30 template/bibliography.html.j2:37 -#: template/bibliography.html.j2:43 template/developers.html.j2:66 +#: common/footer.j2.inc:28 template/bibliography.html.j2:33 +#: template/developers.html.j2:66 msgid "and" msgstr "e" -#: common/footer.j2.inc:30 +#: common/footer.j2.inc:31 msgid "" "We are grateful for support and free hosting of this site by <a href='http://" "www.bfh.ch/'>BFH</a>" msgstr "" -#: common/footer.j2.inc:32 +#: common/footer.j2.inc:33 msgid "" "This page was created using <a href='https://www.gnu.org/'>Free Software</a> " "only." @@ -67,24 +66,30 @@ msgstr "" msgid "Docs" msgstr "" +#: common/navigation.j2.inc:24 news/index.html.j2:9 +msgid "News" +msgstr "" + +#: common/news.j2:5 +msgid "GNUnet" +msgstr "" + +#: inc/news.macro.j2:22 +msgid "read more" +msgstr "" + #: template/architecture.html.j2:6 msgid "Taler System Architecture" msgstr "Architettura Taler" -#: template/bibliography.html.j2:4 +#: template/bibliography.html.j2:5 msgid "GNU Taler Bibliography" msgstr "Bibliografia GNU Taler" -#: template/bibliography.html.j2:9 template/bibliography.html.j2:16 -#: template/bibliography.html.j2:23 template/bibliography.html.j2:30 -#: template/bibliography.html.j2:37 template/bibliography.html.j2:43 +#: template/bibliography.html.j2:27 msgid "by" msgstr "di" -#: template/bibliography.html.j2:44 -msgid "available upon request" -msgstr "disponibile su richiesta" - #: template/contact.html.j2:6 msgid "Contact information" msgstr "Contatti" @@ -614,7 +619,7 @@ msgid "Exchange" msgstr "cambio" #: template/docs.html.j2:64 -msgid "Operator's manual for the GNU Taler exchange. Also available as" +msgid "Operator's manual for the GNU Taler exchange. Also available as" msgstr "" #: template/docs.html.j2:74 @@ -1021,7 +1026,7 @@ msgstr "" msgid "" "When making a payment, customers only need a charged wallet. A merchant can " "accept payments <span class=\"tlr\">without making their customers register</" -"span> on the merchant's Website." +"span> on the merchant's Website." msgstr "" #: template/features.html.j2:50 @@ -1047,8 +1052,8 @@ msgstr "Pagare con Taler" #| "or identity theft.</p>" msgid "" "To pay with Taler, customers install an electronic wallet on their device. " -"Before the first payment, the desired currency must be added to the wallet's " -"balance by some other means of payment." +"Before the first payment, the desired currency must be added to the " +"wallet's balance by some other means of payment." msgstr "" "<p>Per pagare con Taler, i clienti installano un portafoglio elettronico sul " "proprio dispositivo. Prima del primo pagamento, il saldo del portafoglio " @@ -1099,8 +1104,9 @@ msgstr "Ricevere pagamenti con Taler" msgid "" "To receive Taler payments, a merchant needs a bank account in the desired " "currency. We provide supporting software in various programming languages to " -"make the integration painless. The merchant's backend for Taler transaction " -"processing can run on the merchant's premises or be hosted by a third party." +"make the integration painless. The merchant's backend for Taler " +"transaction processing can run on the merchant's premises or be hosted " +"by a third party." msgstr "" "<p>Per ricevere i pagamenti di Taler, un commerciante ha bisogno di un conto " "bancario nella valuta desiderata. Forniamo software di supporto in vari " @@ -1137,10 +1143,16 @@ msgid "Stable" msgstr "Stabile" #: template/features.html.j2:143 +#, fuzzy +#| msgid "" +#| "Taler does not introduce a new currency. Taler uses a digital wallet " +#| "storing coins and payment service providers with escrow accounts in " +#| "existing currencies. Thus, Taler's cryptographic coins correspond to " +#| "existing currencies, such as US Dollars, Euros or even Bitcoins." msgid "" "Taler does not introduce a new currency. Taler uses a digital wallet storing " "coins and payment service providers with escrow accounts in existing " -"currencies. Thus, Taler's cryptographic coins correspond to existing " +"currencies. Thus, Taler's cryptographic coins correspond to existing " "currencies, such as US Dollars, Euros or even Bitcoins." msgstr "" "Taler non introduce una nuova valuta. Taler utilizza un portafoglio digitale " @@ -1170,8 +1182,13 @@ msgid "Taxable" msgstr "Tassabile" #: template/features.html.j2:172 +#, fuzzy +#| msgid "" +#| "When using Taler, merchant's revenue is transparent for tax collection " +#| "authorities. Unlike cash and most digital currencies, Taler helps prevent " +#| "black markets. Taler is not suitable for illegal activities." msgid "" -"When using Taler, merchant's revenue is transparent for tax collection " +"When using Taler, merchant's revenue is transparent for tax collection " "authorities. Unlike cash and most digital currencies, Taler helps prevent " "black markets. Taler is not suitable for illegal activities." msgstr "" @@ -2038,37 +2055,37 @@ msgstr "" msgid "Shipment Tracking" msgstr "" -#: template/index.html.j2:23 +#: template/index.html.j2:25 msgid "" "We provide a payment system that makes <span class='tlr'>privacy-friendly</" "span> online transactions <span class='tlr'>fast and easy</span>." msgstr "" -#: template/index.html.j2:27 +#: template/index.html.j2:29 msgid "Payments without registration" msgstr "" -#: template/index.html.j2:31 +#: template/index.html.j2:33 msgid "Data protection by default" msgstr "" -#: template/index.html.j2:35 +#: template/index.html.j2:37 msgid "Fraud eliminated by design" msgstr "" -#: template/index.html.j2:39 +#: template/index.html.j2:41 msgid "Not a new currency!" msgstr "" -#: template/index.html.j2:43 +#: template/index.html.j2:45 msgid "Empowers communities to run their own payment infrastructure" msgstr "" -#: template/index.html.j2:46 +#: template/index.html.j2:48 msgid "Try Demo!" msgstr "" -#: template/index.html.j2:47 +#: template/index.html.j2:49 msgid "Read Docs" msgstr "" @@ -2412,22 +2429,6 @@ msgstr "" msgid "customer perspective" msgstr "" -#: template/news.html.j2:6 -msgid "News" -msgstr "" - -#: template/news.html.j2:16 -msgid "More news" -msgstr "Altre notizie" - -#: template/old-news.html.j2:6 -msgid "Older News" -msgstr "Notizie precedenti" - -#: template/old-news.html.j2:9 -msgid "This page documents the GNU Taler history." -msgstr "Questa pagina documenta la storia di GNU Taler. " - #: template/press.html.j2:4 msgid "GNU Taler in the Press" msgstr "GNU Taler nella Stampa" @@ -2710,6 +2711,18 @@ msgstr "" msgid "Wallets for other browsers will be provided in the near future." msgstr "" +#~ msgid "available upon request" +#~ msgstr "disponibile su richiesta" + +#~ msgid "More news" +#~ msgstr "Altre notizie" + +#~ msgid "Older News" +#~ msgstr "Notizie precedenti" + +#~ msgid "This page documents the GNU Taler history." +#~ msgstr "Questa pagina documenta la storia di GNU Taler. " + #, fuzzy #~| msgid "The Team" #~ msgid "Team" diff --git a/locale/pt/LC_MESSAGES/messages.po b/locale/pt/LC_MESSAGES/messages.po index eebdf7a2..9ba988fe 100644 --- a/locale/pt/LC_MESSAGES/messages.po +++ b/locale/pt/LC_MESSAGES/messages.po @@ -6,14 +6,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU taler master\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-12-01 21:29+0100\n" +"POT-Creation-Date: 2019-12-10 00:42+0000\n" "PO-Revision-Date: 2018-01-28 15:27-0200\n" "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" "Language-Team: Brazilian Portuguese\n" -"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Virtaal 1.0.0-beta1\n" "Generated-By: Babel 2.5.3\n" @@ -22,7 +22,7 @@ msgstr "" msgid "GNU Taler" msgstr "GNU Taler" -#: common/base.j2:6 +#: common/base.j2:6 common/news.j2:6 msgid "Taxable Anonymous Libre Electronic Reserves" msgstr "Reservas eletrônicas livres, anônimas, tributáveis" @@ -38,19 +38,18 @@ msgstr "FAQ" msgid "Bibliography" msgstr "Bibliografia" -#: common/footer.j2.inc:27 template/bibliography.html.j2:23 -#: template/bibliography.html.j2:30 template/bibliography.html.j2:37 -#: template/bibliography.html.j2:43 template/developers.html.j2:66 +#: common/footer.j2.inc:28 template/bibliography.html.j2:33 +#: template/developers.html.j2:66 msgid "and" msgstr "e" -#: common/footer.j2.inc:30 +#: common/footer.j2.inc:31 msgid "" "We are grateful for support and free hosting of this site by <a href='http://" "www.bfh.ch/'>BFH</a>" msgstr "" -#: common/footer.j2.inc:32 +#: common/footer.j2.inc:33 msgid "" "This page was created using <a href='https://www.gnu.org/'>Free Software</a> " "only." @@ -70,24 +69,30 @@ msgstr "" msgid "Docs" msgstr "" +#: common/navigation.j2.inc:24 news/index.html.j2:9 +msgid "News" +msgstr "" + +#: common/news.j2:5 +msgid "GNUnet" +msgstr "" + +#: inc/news.macro.j2:22 +msgid "read more" +msgstr "" + #: template/architecture.html.j2:6 msgid "Taler System Architecture" msgstr "Arquitetura do sistema Taler" -#: template/bibliography.html.j2:4 +#: template/bibliography.html.j2:5 msgid "GNU Taler Bibliography" msgstr "Bibliografia do GNU Taler" -#: template/bibliography.html.j2:9 template/bibliography.html.j2:16 -#: template/bibliography.html.j2:23 template/bibliography.html.j2:30 -#: template/bibliography.html.j2:37 template/bibliography.html.j2:43 +#: template/bibliography.html.j2:27 msgid "by" msgstr "por" -#: template/bibliography.html.j2:44 -msgid "available upon request" -msgstr "disponível mediante solicitação" - #: template/contact.html.j2:6 msgid "Contact information" msgstr "Informações de contato" @@ -609,7 +614,7 @@ msgid "Exchange" msgstr "câmbio <i>(exchange)</i>" #: template/docs.html.j2:64 -msgid "Operator's manual for the GNU Taler exchange. Also available as" +msgid "Operator's manual for the GNU Taler exchange. Also available as" msgstr "" #: template/docs.html.j2:74 @@ -1014,7 +1019,7 @@ msgstr "" msgid "" "When making a payment, customers only need a charged wallet. A merchant can " "accept payments <span class=\"tlr\">without making their customers register</" -"span> on the merchant's Website." +"span> on the merchant's Website." msgstr "" #: template/features.html.j2:50 @@ -1040,8 +1045,8 @@ msgstr "Pagando com o Taler" #| "or identity theft.</p>" msgid "" "To pay with Taler, customers install an electronic wallet on their device. " -"Before the first payment, the desired currency must be added to the wallet's " -"balance by some other means of payment." +"Before the first payment, the desired currency must be added to the " +"wallet's balance by some other means of payment." msgstr "" "<p>Para pagar com o Taler, os clientes instalam uma carteira eletrônica em " "seu dispositivo. Antes do primeiro pagamento, a moeda desejada deve ser " @@ -1090,8 +1095,9 @@ msgstr "Recebendo pagamentos com o Taler" msgid "" "To receive Taler payments, a merchant needs a bank account in the desired " "currency. We provide supporting software in various programming languages to " -"make the integration painless. The merchant's backend for Taler transaction " -"processing can run on the merchant's premises or be hosted by a third party." +"make the integration painless. The merchant's backend for Taler " +"transaction processing can run on the merchant's premises or be hosted " +"by a third party." msgstr "" "<p>Para receber pagamentos do Taler, um comerciante precisa de uma conta " "bancária na moeda desejada. Nós fornecemos software de suporte em várias " @@ -1128,10 +1134,16 @@ msgid "Stable" msgstr "Estável" #: template/features.html.j2:143 +#, fuzzy +#| msgid "" +#| "Taler does not introduce a new currency. Taler uses a digital wallet " +#| "storing coins and payment service providers with escrow accounts in " +#| "existing currencies. Thus, Taler's cryptographic coins correspond to " +#| "existing currencies, such as US Dollars, Euros or even Bitcoins." msgid "" "Taler does not introduce a new currency. Taler uses a digital wallet storing " "coins and payment service providers with escrow accounts in existing " -"currencies. Thus, Taler's cryptographic coins correspond to existing " +"currencies. Thus, Taler's cryptographic coins correspond to existing " "currencies, such as US Dollars, Euros or even Bitcoins." msgstr "" "O Taler não introduz uma nova moeda. A Taler usa uma carteira digital que " @@ -1161,8 +1173,13 @@ msgid "Taxable" msgstr "Tributável" #: template/features.html.j2:172 +#, fuzzy +#| msgid "" +#| "When using Taler, merchant's revenue is transparent for tax collection " +#| "authorities. Unlike cash and most digital currencies, Taler helps prevent " +#| "black markets. Taler is not suitable for illegal activities." msgid "" -"When using Taler, merchant's revenue is transparent for tax collection " +"When using Taler, merchant's revenue is transparent for tax collection " "authorities. Unlike cash and most digital currencies, Taler helps prevent " "black markets. Taler is not suitable for illegal activities." msgstr "" @@ -2018,37 +2035,37 @@ msgstr "" msgid "Shipment Tracking" msgstr "" -#: template/index.html.j2:23 +#: template/index.html.j2:25 msgid "" "We provide a payment system that makes <span class='tlr'>privacy-friendly</" "span> online transactions <span class='tlr'>fast and easy</span>." msgstr "" -#: template/index.html.j2:27 +#: template/index.html.j2:29 msgid "Payments without registration" msgstr "" -#: template/index.html.j2:31 +#: template/index.html.j2:33 msgid "Data protection by default" msgstr "" -#: template/index.html.j2:35 +#: template/index.html.j2:37 msgid "Fraud eliminated by design" msgstr "" -#: template/index.html.j2:39 +#: template/index.html.j2:41 msgid "Not a new currency!" msgstr "" -#: template/index.html.j2:43 +#: template/index.html.j2:45 msgid "Empowers communities to run their own payment infrastructure" msgstr "" -#: template/index.html.j2:46 +#: template/index.html.j2:48 msgid "Try Demo!" msgstr "" -#: template/index.html.j2:47 +#: template/index.html.j2:49 msgid "Read Docs" msgstr "" @@ -2379,22 +2396,6 @@ msgstr "" msgid "customer perspective" msgstr "perspectiva do cliente" -#: template/news.html.j2:6 -msgid "News" -msgstr "" - -#: template/news.html.j2:16 -msgid "More news" -msgstr "Mais notícias" - -#: template/old-news.html.j2:6 -msgid "Older News" -msgstr "Notícias mais antigas" - -#: template/old-news.html.j2:9 -msgid "This page documents the GNU Taler history." -msgstr "Essa página documenta o histórico do GNU Taler." - #: template/press.html.j2:4 msgid "GNU Taler in the Press" msgstr "GNU Taler na imprensa" @@ -2677,6 +2678,18 @@ msgstr "" msgid "Wallets for other browsers will be provided in the near future." msgstr "" +#~ msgid "available upon request" +#~ msgstr "disponível mediante solicitação" + +#~ msgid "More news" +#~ msgstr "Mais notícias" + +#~ msgid "Older News" +#~ msgstr "Notícias mais antigas" + +#~ msgid "This page documents the GNU Taler history." +#~ msgstr "Essa página documenta o histórico do GNU Taler." + #, fuzzy #~| msgid "The Team" #~ msgid "Team" diff --git a/locale/ru/LC_MESSAGES/messages.po b/locale/ru/LC_MESSAGES/messages.po index 236a3316..d7331c29 100644 --- a/locale/ru/LC_MESSAGES/messages.po +++ b/locale/ru/LC_MESSAGES/messages.po @@ -7,23 +7,23 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-12-01 21:29+0100\n" +"POT-Creation-Date: 2019-12-10 00:42+0000\n" "PO-Revision-Date: 2017-12-29 11:14+0100\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: ru <LL@li.org>\n" -"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "Generated-By: Babel 2.5.1\n" #: common/base.j2:5 msgid "GNU Taler" msgstr "" -#: common/base.j2:6 +#: common/base.j2:6 common/news.j2:6 msgid "Taxable Anonymous Libre Electronic Reserves" msgstr "" @@ -39,19 +39,18 @@ msgstr "" msgid "Bibliography" msgstr "" -#: common/footer.j2.inc:27 template/bibliography.html.j2:23 -#: template/bibliography.html.j2:30 template/bibliography.html.j2:37 -#: template/bibliography.html.j2:43 template/developers.html.j2:66 +#: common/footer.j2.inc:28 template/bibliography.html.j2:33 +#: template/developers.html.j2:66 msgid "and" msgstr "" -#: common/footer.j2.inc:30 +#: common/footer.j2.inc:31 msgid "" "We are grateful for support and free hosting of this site by <a href='http://" "www.bfh.ch/'>BFH</a>" msgstr "" -#: common/footer.j2.inc:32 +#: common/footer.j2.inc:33 msgid "" "This page was created using <a href='https://www.gnu.org/'>Free Software</a> " "only." @@ -69,24 +68,30 @@ msgstr "" msgid "Docs" msgstr "" +#: common/navigation.j2.inc:24 news/index.html.j2:9 +msgid "News" +msgstr "" + +#: common/news.j2:5 +msgid "GNUnet" +msgstr "" + +#: inc/news.macro.j2:22 +msgid "read more" +msgstr "" + #: template/architecture.html.j2:6 msgid "Taler System Architecture" msgstr "" -#: template/bibliography.html.j2:4 +#: template/bibliography.html.j2:5 msgid "GNU Taler Bibliography" msgstr "" -#: template/bibliography.html.j2:9 template/bibliography.html.j2:16 -#: template/bibliography.html.j2:23 template/bibliography.html.j2:30 -#: template/bibliography.html.j2:37 template/bibliography.html.j2:43 +#: template/bibliography.html.j2:27 msgid "by" msgstr "" -#: template/bibliography.html.j2:44 -msgid "available upon request" -msgstr "" - #: template/contact.html.j2:6 msgid "Contact information" msgstr "" @@ -441,7 +446,7 @@ msgid "Exchange" msgstr "" #: template/docs.html.j2:64 -msgid "Operator's manual for the GNU Taler exchange. Also available as" +msgid "Operator's manual for the GNU Taler exchange. Also available as" msgstr "" #: template/docs.html.j2:74 @@ -758,7 +763,7 @@ msgstr "" msgid "" "When making a payment, customers only need a charged wallet. A merchant can " "accept payments <span class=\"tlr\">without making their customers register</" -"span> on the merchant's Website." +"span> on the merchant's Website." msgstr "" #: template/features.html.j2:50 @@ -776,8 +781,8 @@ msgstr "" #: template/features.html.j2:71 msgid "" "To pay with Taler, customers install an electronic wallet on their device. " -"Before the first payment, the desired currency must be added to the wallet's " -"balance by some other means of payment." +"Before the first payment, the desired currency must be added to the " +"wallet's balance by some other means of payment." msgstr "" #: template/features.html.j2:79 @@ -799,8 +804,9 @@ msgstr "" msgid "" "To receive Taler payments, a merchant needs a bank account in the desired " "currency. We provide supporting software in various programming languages to " -"make the integration painless. The merchant's backend for Taler transaction " -"processing can run on the merchant's premises or be hosted by a third party." +"make the integration painless. The merchant's backend for Taler " +"transaction processing can run on the merchant's premises or be hosted " +"by a third party." msgstr "" #: template/features.html.j2:105 @@ -832,7 +838,7 @@ msgstr "" msgid "" "Taler does not introduce a new currency. Taler uses a digital wallet storing " "coins and payment service providers with escrow accounts in existing " -"currencies. Thus, Taler's cryptographic coins correspond to existing " +"currencies. Thus, Taler's cryptographic coins correspond to existing " "currencies, such as US Dollars, Euros or even Bitcoins." msgstr "" @@ -854,7 +860,7 @@ msgstr "" #: template/features.html.j2:172 msgid "" -"When using Taler, merchant's revenue is transparent for tax collection " +"When using Taler, merchant's revenue is transparent for tax collection " "authorities. Unlike cash and most digital currencies, Taler helps prevent " "black markets. Taler is not suitable for illegal activities." msgstr "" @@ -1567,37 +1573,37 @@ msgstr "" msgid "Shipment Tracking" msgstr "" -#: template/index.html.j2:23 +#: template/index.html.j2:25 msgid "" "We provide a payment system that makes <span class='tlr'>privacy-friendly</" "span> online transactions <span class='tlr'>fast and easy</span>." msgstr "" -#: template/index.html.j2:27 +#: template/index.html.j2:29 msgid "Payments without registration" msgstr "" -#: template/index.html.j2:31 +#: template/index.html.j2:33 msgid "Data protection by default" msgstr "" -#: template/index.html.j2:35 +#: template/index.html.j2:37 msgid "Fraud eliminated by design" msgstr "" -#: template/index.html.j2:39 +#: template/index.html.j2:41 msgid "Not a new currency!" msgstr "" -#: template/index.html.j2:43 +#: template/index.html.j2:45 msgid "Empowers communities to run their own payment infrastructure" msgstr "" -#: template/index.html.j2:46 +#: template/index.html.j2:48 msgid "Try Demo!" msgstr "" -#: template/index.html.j2:47 +#: template/index.html.j2:49 msgid "Read Docs" msgstr "" @@ -1842,22 +1848,6 @@ msgstr "" msgid "customer perspective" msgstr "" -#: template/news.html.j2:6 -msgid "News" -msgstr "" - -#: template/news.html.j2:16 -msgid "More news" -msgstr "" - -#: template/old-news.html.j2:6 -msgid "Older News" -msgstr "" - -#: template/old-news.html.j2:9 -msgid "This page documents the GNU Taler history." -msgstr "" - #: template/press.html.j2:4 msgid "GNU Taler in the Press" msgstr "" diff --git a/make_site.py b/make_site.py index d7be569f..4c2605ac 100755 --- a/make_site.py +++ b/make_site.py @@ -9,79 +9,51 @@ # # Note that the gettext files need to be prepared first. This script # is thus to be invoked via the Makefile. -import os -import os.path -import sys -import re -import gettext import jinja2 -import glob -import codecs -import os -sys.path.append(os.getcwd()) -import i18nfix +import sys +from pathlib import Path, PurePath +from inc.site import gen_site +from inc.fileproc import copy_files -env = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__)), +env = jinja2.Environment(loader=jinja2.FileSystemLoader(str(PurePath(__file__).parent)), extensions=["jinja2.ext.i18n"], lstrip_blocks=True, trim_blocks=True, undefined=jinja2.StrictUndefined, autoescape=False) -langs_full = {"en": "English", - "fr": "Français", - "it": "Italiano", - "es": "Español", - "de": "Deutsch", - "ru": "Ру́сский язы́к", - "pt": "Português"} - -for in_file in glob.glob("template/*.j2"): - name, ext = re.match(r"(.*)\.([^.]+)$", in_file.rstrip(".j2")).groups() - tmpl = env.get_template(in_file) - - def self_localized(other_locale): - """ - Return URL for the current page in another locale. - """ - return "../" + other_locale + "/" + in_file.replace('template/', '').rstrip(".j2") - - def url_localized(filename): - return "../" + locale + "/" + filename - - def svg_localized(filename): - lf = filename + "." + locale + ".svg" - if "en" == locale or not os.path.isfile (lf): - return "../" + filename + ".svg" - else: - return "../" + lf - - def url(x): - # TODO: look at the app root environment variable - # TODO: check if file exists - return "../" + x - - for l in glob.glob("locale/*/"): - locale = os.path.basename(l[:-1]) - - tr = gettext.translation("messages", - localedir="locale", - languages=[locale]) - - tr.gettext = i18nfix.wrap_gettext(tr.gettext) - - env.install_gettext_translations(tr, newstyle=True) - - content = tmpl.render( - docshost="docs.taler.net", - lang=locale, - lang_full=langs_full[locale], - url=url, - self_localized=self_localized, - url_localized=url_localized, - svg_localized=svg_localized, - filename=name + "." + ext) - out_name = "./rendered/" + locale + "/" + in_file.replace('template/', '').rstrip(".j2") - os.makedirs("./rendered/" + locale, exist_ok=True) - with codecs.open(out_name, "w", encoding='utf-8') as f: - f.write(content) +if len(sys.argv) >= 2 and sys.argv[1] == "-vv": + DEBUG=1 +elif len(sys.argv) >= 2 and sys.argv[1] == "-vvv": + DEBUG=2 +elif len(sys.argv) >= 2 and sys.argv[1] == "-vvvv": + DEBUG=3 +else: + DEBUG=0 + +def main(): + x = gen_site(DEBUG) + conf = x.load_config("www.yml") + x.gen_abstract(conf, "newsposts", "abstract", "page", 1000) + x.gen_newspost_content(conf, "newsposts", "content", "page", "en") + x.gen_rss("inc", conf, env) + if DEBUG: + print("generating html from jinja2 templates...") + x.run("template", conf, env) + if DEBUG >= 2: + print(Path.cwd()) + _ = Path("rendered") + for child in _.iterdir(): + print(child) + if DEBUG >= 2: + print(Path.cwd()) + if DEBUG: + print("generating html from jinja2 news templates...") + x.run("news", conf, env) + if DEBUG: + print("copying directories...") + x.copy_trees("static") + x.copy_trees("dist") + +if __name__ == "__main__": + main() diff --git a/favicon.ico b/static/favicon.ico Binary files differindex 6702382d..6702382d 100644 --- a/favicon.ico +++ b/static/favicon.ico diff --git a/robots.txt b/static/robots.txt index 0a639917..0a639917 100644 --- a/robots.txt +++ b/static/robots.txt diff --git a/styles.css b/static/styles.css index 2307a5f7..2307a5f7 100644 --- a/styles.css +++ b/static/styles.css diff --git a/template/bibliography.html.j2 b/template/bibliography.html.j2 index af91b8d6..10654830 100644 --- a/template/bibliography.html.j2 +++ b/template/bibliography.html.j2 @@ -1,48 +1,50 @@ {% extends "common/base.j2" %} {% block body_content %} -<div class="container"> -<h1>{{ _("GNU Taler Bibliography")}}</h1> - -<h2>The GNU Taler System: Practical and Provably Secure Electronic Payments</h2> -<p> -<a href="{{ url('papers/thesis-dold-phd-2019.pdf') }}"><img border=0 align=right alt="PDF" width=32 height=32 src="{{ url('images/pdf.svg') }}"></a> -{{_("by")}} Florian Dold<br> -PhD Thesis, 2019<br> -</p> - -<h2>Blind Signatures for Untraceable Payments</h2> -<p> -<a href="{{ url('papers/chaum-blind-signatures.pdf') }}"><img border=0 align=right alt="PDF" width=32 height=32 src="{{ url('images/pdf.svg') }}"></a> -{{_("by")}} David Chaum<br> -CRYPTO '82<br> -</p> - -<h2>The One-More-RSA-Inversion Problems and the Security of Chaum's Blind Signature Scheme</h2> -<p> -<a href="{{ url('papers/bellare_blindsigs_proof.pdf') }}"><img border=0 align=right alt="PDF" width=32 height=32 src="{{ url('images/pdf.svg') }}"></a> -{{_("by")}} M. Bellare, C. Namprempre, D. Pointcheval {{ _("and") }} M. Semanko<br> -Financial Cryptography '01<br> -</p> - -<h2>Enabling Secure Web Payments with GNU Taler</h2> -<p> -<a href="{{ url('papers/taler2016space.pdf') }}"><img border=0 align=right width=32 height=32 alt="PDF" src="{{ url('images/pdf.svg') }}"></a> -{{_("by")}} Jeff Burdges, Florian Dold, Christian Grothoff {{ _("and") }} Marcello Stanisci<br> -SPACE 2016<br> -</p> - -<h2>Digital cash and privacy: What are the alternatives to Libra?</h2> -<p> -<a href="https://www.media.mit.edu/posts/digital-cash-and-privacy-what-are-the-alternatives-to-libra/"><img border=0 align=right alt="HTML" width=32 height=32 src="{{ url('images/html.svg') }}"></a> -{{_("by")}} Christian Grothoff {{ _("and") }} Alex Pentland<br> -MIT Media Lab, 2019<br> -</p> - -<h2>Refreshing Coins for Giving Change and Refunds in Chaum-style Anonymous Payment Systems</h2> -<p> -{{_("by")}} Florian Dold, Sree Harsha Totakura, Benedikt Müller, Jeff Burdges {{ _("and") }} Christian Grothoff<br> -<em>{{_("available upon request")}}</em><br> -</p> - -</div> + <article class="container"> + <header> + <h1>{{ _("GNU Taler Bibliography")}}</h1> + </header> + <div class="row"> + <div class="col-lg-12"> + {% for item in conf["paperslist"] %} + <section> + <header> + <h2>{{ item['name']|e }}</h2> + </header> + <div class="row container"> + <div class="col"> + <p> + {% if item['url_pdf'] %} + <a href="{{ url(item['url_pdf']) }}"> + <img border=0 align=right alt="PDF" width=32 height=32 src="{{ url_static('images/pdf.svg') }}"> + </a> + {% endif %} + {% if item['url_html'] %} + <a href="{{ item['url_html'] }}"> + <img border=0 align=right alt="HTML" width=32 height=32 src="{{ url_static('images/html.svg') }}"> + </a> + {% endif %} + {{_("by")}} + {% if item['authors'] %} + {% for name in item['authors'] %} + {{ name|e }} + {% if not loop.last %} + , + {% elif loop.revindex0 == 1 %} + {{ _("and") }} + {% endif %} + {% endfor %} + {% endif %} + <br> + {% if item['kind'] %} {{ item['kind']|e }} {% endif %} + {% if item['year'] %} ({{ item['year'] }}) {% endif %} + {% if item['comment'] %}<br>{{ item['comment'] }} {% endif %} + </p> + </div> + </div> + </section> + {% endfor %} + </div> + </div> + </article> {% endblock body_content %} diff --git a/template/docs.html.j2 b/template/docs.html.j2 index 83fa2e53..2b9c1b0e 100644 --- a/template/docs.html.j2 +++ b/template/docs.html.j2 @@ -1,6 +1,6 @@ {% extends "common/base.j2" %} {% block body_content %} - +{% for siteconfitem in siteconf %} <div class="container"> <div class="row"> <div class="col"> @@ -33,7 +33,7 @@ <div class="row"> <div class="col-3"> - <a href="https://{{ docshost }}/taler-merchant-manual.html"> + <a href="https://{{ siteconfitem["docshost"] }}/taler-merchant-manual.html"> <img src="../icons/icon-backend.svg" height=60> <h3>{{ _("Merchant Backend Administration")}}</h3> </a> @@ -41,11 +41,11 @@ Tutorial and manual for operating a merchant. Also available as {% endtrans %} - <a href="https://{{ docshost }}/pdf/taler-merchant-manual.pdf">PDF</a>. + <a href="https://{{ siteconfitem["docshost"] }}/pdf/taler-merchant-manual.pdf">PDF</a>. </div> <div class="col-3"> - <a href="https://{{ docshost }}/taler-merchant-api-tutorial.html"> + <a href="https://{{ siteconfitem["docshost"] }}/taler-merchant-api-tutorial.html"> <img src="../icons/icon-market.svg" height=60> <h3>{{ _("Merchant API Tutorial") }}</h3> </a> @@ -53,23 +53,23 @@ Tutorial for processing Taler payments using the merchant backend API. Also available as {% endtrans %} - <a href="https://{{ docshost }}/pdf/taler-merchant-api-tutorial.pdf">PDF</a>. + <a href="https://{{ siteconfitem["docshost"] }}/pdf/taler-merchant-api-tutorial.pdf">PDF</a>. </div> <div class="col-3"> - <a href="https://{{ docshost }}/taler-exchange-manual.html"> + <a href="https://{{ siteconfitem["docshost"] }}/taler-exchange-manual.html"> <img src="../icons/icon-exchange.svg" height=60> <h3>{{ _("Exchange")}}</h3> </a> {% trans %} - Operator's manual for the GNU Taler exchange. + Operator's manual for the GNU Taler exchange. Also available as {% endtrans %} - <a href="https://{{ docshost }}/pdf/taler-exchange-manual.pdf">PDF</a>. + <a href="https://{{ siteconfitem["docshost"] }}/pdf/taler-exchange-manual.pdf">PDF</a>. </div> <div class="col-3"> - <a href="https://{{ docshost }}/taler-bank-manual.html"> + <a href="https://{{ siteconfitem["docshost"] }}/taler-bank-manual.html"> <img src="../icons/icon-bank.svg" height=60> <h3>{{ _("Bank Integration") }}</h3> </a> @@ -77,7 +77,7 @@ Manual for tightly integrating Taler with banking applications. Also available as {% endtrans %} - <a href="https://{{ docshost }}/pdf/taler-bank-manual.pdf">PDF</a>. + <a href="https://{{ siteconfitem["docshost"] }}/pdf/taler-bank-manual.pdf">PDF</a>. </div> </div> @@ -87,7 +87,7 @@ <div class="row"> <div class="col-3"> - <a href="https://{{ docshost }}/taler-backoffice-manual.html"> + <a href="https://{{ siteconfitem["docshost"] }}/taler-backoffice-manual.html"> <img src="../icons/icon-backoffice.svg" height=60> <h3>{{ _("Back office") }}</h3> </a> @@ -95,7 +95,7 @@ Manual to run the back-office Web application. Also available as {% endtrans %} - <a href="https://{{ docshost }}/pdf/taler-backoffice-manual.pdf">PDF</a>. + <a href="https://{{ siteconfitem["docshost"] }}/pdf/taler-backoffice-manual.pdf">PDF</a>. </div> </div> @@ -113,7 +113,7 @@ <div class="row"> <div class="col-3"> - <a href="https://{{ docshost }}/core/index.html"> + <a href="https://{{ siteconfitem["docshost"] }}/core/index.html"> <img src="../icons/icon-api.svg" height=60> <h3>{{ _("HTTP API")}}</h3> </a> @@ -123,7 +123,7 @@ </div> <div class="col-3"> - <a href="https://{{ docshost }}/onboarding.html"> + <a href="https://{{ siteconfitem["docshost"] }}/onboarding.html"> <img src="../icons/icon-developers.svg" height=60> <h3>{{ _("Onboarding")}}</h3> </a> @@ -131,7 +131,7 @@ Description of our taler.net setup and how to contribute. Also available as {% endtrans %} - <a href="https://{{ docshost }}/pdf/onboarding.pdf">PDF</a>. + <a href="https://{{ siteconfitem["docshost"] }}/pdf/onboarding.pdf">PDF</a>. </div> </div> @@ -199,5 +199,5 @@ </div> </div> - +{% endfor %} {% endblock body_content %} diff --git a/template/features.html.j2 b/template/features.html.j2 index e4c44485..c97517ee 100644 --- a/template/features.html.j2 +++ b/template/features.html.j2 @@ -42,7 +42,7 @@ When making a payment, customers only need a charged wallet. A merchant can accept payments <span class="tlr">without making their customers register</span> - on the merchant's Website. + on the merchant's Website. {% endtrans %} </p> @@ -57,7 +57,7 @@ </p> </div> <div class="col"> - <img class="img-fluid" src="../images/diagram-simple.png"> + <img class="img-fluid" src="{{ url_static('images/diagram-simple.png') }}"> </div> </div> </div> @@ -71,7 +71,7 @@ {% trans %} To pay with Taler, customers install an electronic wallet on their device. Before the first payment, the desired currency - must be added to the wallet's balance + must be added to the wallet's balance by some other means of payment. {% endtrans %} </p> @@ -97,8 +97,8 @@ To receive Taler payments, a merchant needs a bank account in the desired currency. We provide supporting software in various programming languages to make the integration painless. - The merchant's backend for Taler transaction processing can run - on the merchant's premises or be hosted by a third party. + The merchant's backend for Taler transaction processing can run + on the merchant's premises or be hosted by a third party. {% endtrans %} </p> <p> @@ -144,7 +144,7 @@ Taler does not introduce a new currency. Taler uses a digital wallet storing coins and payment service providers with escrow accounts in existing currencies. - Thus, Taler's cryptographic coins correspond to existing + Thus, Taler's cryptographic coins correspond to existing currencies, such as US Dollars, Euros or even Bitcoins. {% endtrans %} </p> @@ -170,7 +170,7 @@ <p> {% trans %} - When using Taler, merchant's revenue is transparent for tax + When using Taler, merchant's revenue is transparent for tax collection authorities. Unlike cash and most digital currencies, Taler helps prevent black markets. Taler is not suitable for illegal activities. diff --git a/template/index.html.j2 b/template/index.html.j2 index 59937c6a..e74f82cd 100644 --- a/template/index.html.j2 +++ b/template/index.html.j2 @@ -1,17 +1,19 @@ {% extends "common/base.j2" %} {% block body_content %} - + {% import 'inc/news.macro.j2' as news %} <div class="container"> <div class="row justify-content-center"> <div class="col-8"> - <img src="../images/logo-2018-dold.svg"> + <img src="{{ url_static('images/logo-2018-dold.svg') }}"> </div> </div> <div class="row justify-content-center text-center"> <div class="col-8"> - <a href="news.html">2018-04: GNU Taler v0.5.0 released</a> + {% for item in newsdata[:1] %} + {{ news.tinylinkpreview(item, prefix="news/") }} + {% endfor %} </div> </div> @@ -23,23 +25,23 @@ <h2>{{ _("We provide a payment system that makes <span class='tlr'>privacy-friendly</span> online transactions <span class='tlr'>fast and easy</span>.")}}</h2> <ul class="checklist"> <li> - <img class="checkmark" src="../images/checkmark.png"> + <img class="checkmark" src="{{ url_static('images/checkmark.png') }}"> {{ _("Payments without registration")}} </li> <li> - <img class="checkmark" src="../images/checkmark.png"> + <img class="checkmark" src="{{ url_static('images/checkmark.png') }}"> {{ _("Data protection by default")}} </li> <li> - <img class="checkmark" src="../images/checkmark.png"> + <img class="checkmark" src="{{ url_static('images/checkmark.png') }}"> {{ _("Fraud eliminated by design")}} </li> <li> - <img class="checkmark" src="../images/checkmark.png"> + <img class="checkmark" src="{{ url_static('images/checkmark.png') }}"> {{ _("Not a new currency!")}} </li> <li> - <img class="checkmark" src="../images/checkmark.png"> + <img class="checkmark" src="{{ url_static('images/checkmark.png') }}"> {{ _("Empowers communities to run their own payment infrastructure")}} </li> </ul> @@ -47,7 +49,7 @@ <form action="https://docs.taler.net/" style="display:inline;"><button type="submit" class="btn btn-secondary">{{ _("Read Docs")}}</button></form> </div> <div class="col align-self-center"> - <img class="img-fluid" src="../images/stock1s.jpg" style="border-radius: 1cm;" /> + <img class="img-fluid" src="{{ url_static('images/stock1s.jpg') }}" style="border-radius: 1cm;" /> </div> </div> </div> diff --git a/template/news.html.j2 b/template/news.html.j2 deleted file mode 100644 index 311f4c15..00000000 --- a/template/news.html.j2 +++ /dev/null @@ -1,20 +0,0 @@ -{% extends "common/base.j2" %} -{% block body_content %} - - <div class="container"> - <div class="col"> - <h1>{{ _("News")}}</h1> - - {% include "news/2018-04.inc" %} - {% include "news/2017-10.inc" %} - {# include "news/2017-08.inc" #} - {# include "news/2017-04.inc" #} - {# include "news/2017-03.inc" #} - {# include "news/2017-02.inc" #} - {% include "news/2017-01.inc" %} - - <a href="old-news.html"><h3>{{ _("More news")}}</h3></a> - </div> - </div> - -{% endblock body_content %} diff --git a/template/old-news.html.j2 b/template/old-news.html.j2 deleted file mode 100644 index 611b4ae8..00000000 --- a/template/old-news.html.j2 +++ /dev/null @@ -1,44 +0,0 @@ -{% extends "common/base.j2" %} -{% block body_content %} - - <div class="jumbotron"> - <div class="container text-center"> - <h1>{{ _("Older News") }}</h1> - <div class="col-lg-12"> - <p> - {% trans %} - This page documents the GNU Taler history. - {% endtrans %} - </p> - </div> - </div> - </div> - - <div class="container"> - <div class="row"> - <div class="col-lg-12"> - - {# - {% include "news/2016-12.inc" %} - #} - {% include "news/2016-10.inc" %} - {% include "news/2016-09.inc" %} - {% include "news/2016-08.inc" %} - {% include "news/2016-06.inc" %} - {% include "news/2015-12.inc" %} - - {# - {% include "news/2015-11.inc" %} - #} - - {% include "news/2015-02.inc" %} - {# - {% include "news/2014-12.inc" %} - #} - {% include "news/2014-11.inc" %} - - </div> - </div> - </div> <!-- /container --> - -{% endblock body_content %} diff --git a/template/principles.html.j2 b/template/principles.html.j2 index f81c01b8..d16a8fb6 100644 --- a/template/principles.html.j2 +++ b/template/principles.html.j2 @@ -30,7 +30,7 @@ <div class="col-lg-12"> <h2>{{ _("1. Free Software implementation") }}</h2> <a href="https://www.gnu.org/graphics/freedom.html"> - <img style="width:20vw;float:right" src="../images/stallman.medium.png" alt="{{ _("... in the area of computing, freedom means not using proprietary software") }}"> + <img style="width:20vw;float:right" src="{{ url_static('images/stallman.medium.png') }}" alt="{{ _("... in the area of computing, freedom means not using proprietary software") }}"> </a> <p> {% trans %} @@ -55,7 +55,7 @@ <div class="col-lg-12"> <h2>{{ _("2. Protect the privacy of buyers") }}</h2> <!-- From https://www.pixabay.com/ --> - <img style="width:20vw;float:left;padding:15px" src="../images/anonymous.jpg" alt="{{_("You deserve some privacy")}}"> + <img style="width:20vw;float:left;padding:15px" src="{{ url_static('images/anonymous.jpg') }}" alt="{{_("You deserve some privacy")}}"> <p> {% trans %} Privacy should be guaranteed via technical measures, as opposed to mere @@ -80,7 +80,7 @@ <div class="col-lg-12"> <h2>{{ _("3. Enable the state to tax income and crack down on illegal business activities") }}</h2> <!-- From https://www.pxhere.com/ --> - <img style="width:20vw;float:right;padding:15px" src="../images/money-laundering.medium.jpg" alt="{{_("Money laundering")}}"> + <img style="width:20vw;float:right;padding:15px" src="{{ url_static('images/money-laundering.medium.jpg') }}" alt="{{_("Money laundering")}}"> <p> {% trans %} As a payment system must still be legal to operate and use, it must comply @@ -94,7 +94,7 @@ <div class="col-lg-12"> <h2>{{ _("4. Prevent payment fraud") }}</h2> <!-- From https://www.maxpixel.net/ --> - <img style="width:20vw;float:left;padding:15px" src="../images/fraud.medium.jpg" alt="{{_("Phishing attack")}}"> + <img style="width:20vw;float:left;padding:15px" src="{{ url_static('images/fraud.medium.jpg') }}" alt="{{_("Phishing attack")}}"> <p> {% trans %} This imposes requirements on the security of the system, as well as on the @@ -107,7 +107,7 @@ <div class="row"> <div class="col-lg-12"> <h2>{{ _("5. Only disclose the minimal amount of information necessary") }}</h2> - <img style="width:20vw;float:right;padding:15px" src="../images/gdpr.medium.jpg" alt="{{_("Privacy by design, privacy by default, General Data Protection Regulation (GDPR) compliant")}}"> + <img style="width:20vw;float:right;padding:15px" src="{{ url_static('images/gdpr.medium.jpg') }}" alt="{{_("Privacy by design, privacy by default, General Data Protection Regulation (GDPR) compliant")}}"> <p> {% trans %} The reason behind this goal is similar to (2). The privacy of buyers is given @@ -120,7 +120,7 @@ <div class="row"> <div class="col-lg-12"> <h2>{{ _("6. Be usable") }}</h2> - <img style="width:20vw;float:left;padding:15px" src="../images/buy.medium.jpg" alt="{{_("Buy with one click")}}"> + <img style="width:20vw;float:left;padding:15px" src="{{ url_static('images/buy.medium.jpg') }}" alt="{{_("Buy with one click")}}"> <p> {% trans %} Specifically it must be usable for non-expert customers. Usability also @@ -134,7 +134,7 @@ <div class="row"> <div class="col-lg-12"> <h2>{{ _("7. Be efficient")}}</h2> - <img style="width:20vw;float:right;padding:15px" src="../images/efficient.png" alt="{{_("Energy efficiency")}}"> + <img style="width:20vw;float:right;padding:15px" src="{{ url_static('images/efficient.png') }}" alt="{{_("Energy efficiency")}}"> <p> {% trans %} Approaches such as proof-of-work are ruled out by this @@ -147,7 +147,7 @@ <div class="row"> <div class="col-lg-12"> <h2>{{ _("8. Fault-tolerant design")}}</h2> - <img style="width:20vw;float:left;padding:15px" src="../images/life-safer.medium.jpg" alt="{{_("Life Safers")}}"> + <img style="width:20vw;float:left;padding:15px" src="{{ url_static('images/life-safer.medium.jpg') }}" alt="{{_("Life Safers")}}"> <p> {% trans %} Taler should tolerate failure of individual components and systems, @@ -161,7 +161,7 @@ <div class="row"> <div class="col-lg-12"> <h2>{{ _("9. Foster competition")}}</h2> - <img style="width:20vw;float:right;padding:15px" src="../images/market.medium.jpg" alt="{{_("A competitive market")}}"> + <img style="width:20vw;float:right;padding:15px" src="{{ url_static('images/market.medium.jpg') }}" alt="{{_("A competitive market")}}"> <p> {% trans %} It must be relatively easy for competitors to join the systems. While the diff --git a/www.yml b/www.yml new file mode 100644 index 00000000..ff589c52 --- /dev/null +++ b/www.yml @@ -0,0 +1,180 @@ +siteconf: + - baseurl: taler.net + newsloc: /news/ + newsdir: news + rsstitle: Taler.net + rssdescr: "News posts published by Taler about changes related to Taler, releases and events" + rssloc: + rsslink: + rsslang: + docshost: docs.taler.net +langs_full: &langs + en: English + fr: Français + it: Italiano + es: Español + de: Deutsch + ru: Ру́сский язы́к + pt: Português +symlinks: +staticfiles: + - file: favicon.ico + targets: + - favicon.ico + - file: robots.txt + targets: + - robots.txt +meetingnotes: +newsposts: + - page: 2018-04.html + date: 2018-04-01 + title: GNU Taler v0.5.0 released + abstract: + content: + - page: 2017-10.html + date: 2017-10-01 + title: GNU Taler v0.4.0 released + abstract: + content: + - page: 2017-08.html + date: 2017-08-01 + title: We explain GNU Taler at SHA 2017 + abstract: + content: + - page: 2017-04.html + date: 2017-04-01 + title: "Sva explains GNU Taler at EasterHegg and Torsten demonstrates it is child's play" + abstract: + content: + - page: 2017-03.html + date: 2017-03-01 + title: Sva explains GNU Taler at FOSSASIA in Singapore + abstract: + content: + - page: 2017-02.html + date: 2017-02-01 + title: Florian Dold explains Taler at 50p in Bangalore + abstract: + content: + - page: 2017-01.html + date: 2017-01-01 + title: Taler Documentation pages updated + abstract: + content: + - page: 2016-12.html + date: 2016-12-01 + title: Christian Grothoff explains Taler at hasgeek in Bangalore + abstract: + content: + - page: 2016-10.html + date: 2016-10-01 + title: Taler Wallet for Firefox online + abstract: + content: + - page: 2016-09.html + date: 2016-09-01 + title: Taler Web Payments paper published + abstract: + content: + - page: 2016-08.html + date: 2016-08-01 + title: Taler Systems S.A. created + abstract: + content: + - page: 2016-06.html + date: 2016-06-01 + title: GNU Taler 0.0.0 released + abstract: + content: + - page: 2015-12.html + date: 2015-12-01 + title: "Taler Demo for Chrome/Chromium online" + abstract: + content: + - page: 2015-11.html + date: 2015-11-01 + title: "Christian Grothoff explains the goals behind Taler" + abstract: + content: + - page: 2015-02.html + date: 2015-02-01 + title: Taler becomes an official GNU package + abstract: + content: + - page: 2014-12.html + date: 2014-12-01 + title: "Watch Christian Grothoff's FOSSA talk on Taler" + abstract: + content: + - page: 2014-11.html + date: 2014-11-01 + title: Launching taler.net + abstract: + content: +videoslist: +paperslist: + - year: 2019 + authors: + - Florian Dold + name: "The GNU Taler System: Practical and Provably Secure Electronic Payments" + kind: PhD Thesis + url: + url_html: + url_pdf: "papers/thesis-dold-phd-2019.pdf" + comment: + - year: 1982 + authors: + - David Chaum + name: "Blind Signatures for Untraceable Payments" + kind: "CRYPTO '82" + url: + url_html: + url_pdf: "papers/chaum-blind-signatures.pdf" + comment: + - year: + authors: + - M. Bellare + - C. Namprempre + - D. Pointcheval + - M. Semanko + name: "The One-More-RSA-Inversion Problems and the Security of Chaum's Blind Signature Scheme" + kind: Financial Cryptography + url: + url_html: + url_pdf: "papers/bellare_blindsigs_proof.pdf" + comment: + - year: 2016 + authors: + - Jeff Burdges + - Florian Dold + - Christian Grothoff + - Marcello Stanisci + name: "Enabling Secure Web Payments with GNU Taler" + kind: SPACE 2016 + url: + url_html: + url_pdf: "papers/taler2016space.pdf" + comment: + - year: 2019 + authors: + - Christian Grothoff + - Alex Pentland + name: "Digital cash and privacy: What are the alternatives to Libra?" + kind: MIT Media Lab + url: + url_html: https://www.media.mit.edu/posts/digital-cash-and-privacy-what-are-the-alternatives-to-libra/ + url_pdf: + comment: + - year: + authors: + - Florian Dold + - Sree Harsha Totakura + - Benedikt Müller + - Jeff Burdges + - Christian Grothoff + name: "Refreshing Coins for Giving Change and Refunds in Chaum-style Anonymous Payment Systems" + kind: + url: + url_pdf: + url_html: + comment: "<em>available upon request</em>" |