diff options
author | Florian Dold <florian@dold.me> | 2021-10-29 11:28:20 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-10-29 11:28:20 +0200 |
commit | 4818dba4fcddc7c9e6deace6f44876ef29cb1bf4 (patch) | |
tree | 0c33c2671c5e653cd7187885b708d84d3bc00ca3 /talermerchantdemos | |
parent | ed242c8f677c99aa5986bc5dabc337c72b76b623 (diff) | |
download | taler-merchant-demos-4818dba4fcddc7c9e6deace6f44876ef29cb1bf4.tar.gz taler-merchant-demos-4818dba4fcddc7c9e6deace6f44876ef29cb1bf4.tar.bz2 taler-merchant-demos-4818dba4fcddc7c9e6deace6f44876ef29cb1bf4.zip |
use poetry
Diffstat (limited to 'talermerchantdemos')
l--------- | talermerchantdemos/blog/articles/pt_BR | 1 | ||||
-rw-r--r-- | talermerchantdemos/cli.py | 149 | ||||
-rw-r--r-- | talermerchantdemos/translations/pt_BR/LC_MESSAGES/messages.po | 600 |
3 files changed, 149 insertions, 601 deletions
diff --git a/talermerchantdemos/blog/articles/pt_BR b/talermerchantdemos/blog/articles/pt_BR deleted file mode 120000 index 9e3340e..0000000 --- a/talermerchantdemos/blog/articles/pt_BR +++ /dev/null @@ -1 +0,0 @@ -pt
\ No newline at end of file diff --git a/talermerchantdemos/cli.py b/talermerchantdemos/cli.py new file mode 100644 index 0000000..fd836c6 --- /dev/null +++ b/talermerchantdemos/cli.py @@ -0,0 +1,149 @@ +## +# This file is part of GNU Taler +# (C) 2017,2021 Taler Systems S.A. +# +# GNU Taler is free software; you can redistribute it and/or +# modify it under the terms of the GNU Affero General Public +# License as published by the Free Software Foundation; either +# version 3, or (at your option) any later version. +# +# GNU Taler is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with GNU Taler; see the file COPYING. If not, +# see <http://www.gnu.org/licenses/> +# +# @author Florian Dold +# @file Standalone script to run the blog. + +import click +import logging +import argparse +import sys +import os +import site +from taler.util.talerconfig import TalerConfig, ConfigurationError + +LOGGER = logging.getLogger(__name__) +# No perfect match to our logging format, but good enough ... +UWSGI_LOGFMT = "%(ltime) %(proto) %(method) %(uri) %(proto) => %(status)" + +# Argument to tell uWSGI to load the python plugin. +# This hack is required, because on systems where the plugin is statically linked, +# loading it causes an error. +arg_load_python = "--if-not-plugin python --plugins python --endif".split(" ") + +## +# This function interprets the 'serve-uwsgi' subcommand. +# The effect is to launch the blog UWSGI service. This +# type of service is usually used when the HTTP blog interface +# is accessed via a reverse proxy (like Nginx, for example). +# +# @param command line options. +def handle_serve_uwsgi(config, which_shop): + serve_uwsgi = config[which_shop]["uwsgi_serve"].value_string(required=True).lower() + params = [ + "uwsgi", + "uwsgi", + *arg_load_python, + "--master", + "--die-on-term", + "--log-format", + UWSGI_LOGFMT, + "--module", + "talermerchantdemos.{}:app".format(which_shop), + "--need-app", + "--cache2", + "name=paid_articles,items=500", + ] + if serve_uwsgi == "tcp": + port = config[which_shop]["uwsgi_port"].value_int(required=True) + spec = ":%d" % (port,) + params.extend(["--socket", spec]) + elif serve_uwsgi == "unix": + spec = config[which_shop]["uwsgi_unixpath"].value_filename(required=True) + mode = config[which_shop]["uwsgi_unixpath_mode"].value_filename(required=True) + params.extend(["--socket", spec]) + params.extend(["--chmod-socket=" + mode]) + os.makedirs(os.path.dirname(spec), exist_ok=True) + logging.info("launching uwsgi with argv %s", params[1:]) + try: + os.execlp(*params) + except: + sys.stderr.write( + "Failed to start uwsgi. Please make sure to install uwsgi for Python3." + ) + sys.exit(1) + + +## +# This function interprets the 'serve-http' subcommand. +# The effect it to launch the blog HTTP service. +# +# @param args command line options. +def handle_serve_http(config, which_shop, port=None): + if port is None: + port = config[which_shop]["http_port"].value_int(required=True) + if port is None: + print("'http_port' configuration option is missing") + exit(1) + spec = ":%d" % (port,) + try: + os.execlp( + "uwsgi", + "uwsgi", + *arg_load_python, + "--master", + "--die-on-term", + "--log-format", + UWSGI_LOGFMT, + "--http", + spec, + "--module", + "talermerchantdemos.{}:app".format(which_shop), + ) + except: + sys.stderr.write( + "Failed to start uwsgi. Please make sure to install uwsgi for Python3." + ) + sys.exit(1) + + +def handle_serve_from_config(config_obj, which_shop): + try: + if ( + config_obj.value_string(which_shop, "serve", required=True).lower() + == "http" + ): + return handle_serve_http(config_obj, which_shop) + handle_serve_uwsgi(config_obj, which_shop) + except ConfigurationError as ce: + print(ce) + exit(1) + + +@click.command("Global shop launcher") +@click.option("-c", "--config", help="Configuration file", required=False) +@click.option( + "--http-port", + help="HTTP port to serve (if not given, serving comes from config)", + required=False, + type=int, +) +@click.argument("which-shop") +def demos(config, http_port, which_shop): + """WHICH_SHOP is one of: blog, donations, survey or landing.""" + + if which_shop not in ["blog", "donations", "landing", "survey"]: + print("Please use a valid shop name: blog, donations, landing, survey.") + sys.exit(1) + config_obj = TalerConfig.from_file(config) + if http_port: + return handle_serve_http(config_obj, which_shop, http_port) + handle_serve_from_config(config_obj, which_shop) + + +demos() diff --git a/talermerchantdemos/translations/pt_BR/LC_MESSAGES/messages.po b/talermerchantdemos/translations/pt_BR/LC_MESSAGES/messages.po deleted file mode 100644 index 33e0e18..0000000 --- a/talermerchantdemos/translations/pt_BR/LC_MESSAGES/messages.po +++ /dev/null @@ -1,600 +0,0 @@ -# Portuguese (Brazil) translations for PROJECT. -# Copyright (C) 2021 ORGANIZATION -# This file is distributed under the same license as the PROJECT project. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2021. -# -msgid "" -msgstr "" -"Project-Id-Version: PROJECT VERSION\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-06-11 07:56+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language: pt_BR\n" -"Language-Team: none\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.0\n" - -#: talermerchantdemos/blog/blog.py:126 talermerchantdemos/landing/landing.py:93 -msgid "Internal error" -msgstr "" - -#: talermerchantdemos/blog/blog.py:186 -msgid "Cannot refund unpaid article" -msgstr "" - -#: talermerchantdemos/blog/blog.py:193 -msgid "Article is not anymore refundable" -msgstr "" - -#: talermerchantdemos/blog/blog.py:229 -msgid "You did not pay for this article (nice try!)" -msgstr "" - -#: talermerchantdemos/blog/blog.py:234 -msgid "Item not refundable (anymore)" -msgstr "" - -#: talermerchantdemos/blog/blog.py:260 -msgid "Internal error: Files for article ({}) not found." -msgstr "" - -#: talermerchantdemos/blog/blog.py:267 -msgid "Supplemental file ({}) for article ({}) not found." -msgstr "" - -#: talermerchantdemos/blog/blog.py:345 talermerchantdemos/blog/blog.py:359 -msgid "Direct access forbidden" -msgstr "" - -#: talermerchantdemos/blog/blog.py:411 -msgid "Internal server error" -msgstr "" - -#: talermerchantdemos/blog/blog.py:419 -#: talermerchantdemos/donations/donations.py:284 -#: talermerchantdemos/landing/landing.py:166 -#: talermerchantdemos/survey/survey.py:162 -msgid "Page not found" -msgstr "" - -#: talermerchantdemos/donations/donations.py:125 -msgid "parameter '{}' required" -msgstr "" - -#: talermerchantdemos/donations/donations.py:242 -msgid "Backend could not create the order" -msgstr "" - -#: talermerchantdemos/httpcommon/__init__.py:40 -#: talermerchantdemos/httpcommon/__init__.py:80 -msgid "Could not establish connection to backend" -msgstr "" - -#: talermerchantdemos/httpcommon/__init__.py:46 -#: talermerchantdemos/httpcommon/__init__.py:85 -msgid "Could not parse response from backend" -msgstr "" - -#: talermerchantdemos/httpcommon/__init__.py:51 -#: talermerchantdemos/httpcommon/__init__.py:88 -msgid "Backend returned error status" -msgstr "" - -#: talermerchantdemos/landing/landing.py:174 -#: talermerchantdemos/survey/survey.py:170 -msgid "HTTP method not allowed for this page" -msgstr "" - -#: talermerchantdemos/templates/blog-article-frame.html.j2:11 -#: talermerchantdemos/templates/blog-article-frame.html.j2:16 -msgid "Taler allows merchants to offer refunds to customers." -msgstr "" - -#: talermerchantdemos/templates/blog-article-frame.html.j2:12 -msgid "" -"You can <a href=\"{url}\">request a refund</a> within the first hour " -"after buying this article." -msgstr "" - -#: talermerchantdemos/templates/blog-article-frame.html.j2:17 -msgid "This article can't be refunded anymore." -msgstr "" - -#: talermerchantdemos/templates/blog-base.html.j2:9 -msgid "Essay shop" -msgstr "" - -#: talermerchantdemos/templates/blog-base.html.j2:11 -msgid "On this page you can buy articles using an imaginary currency." -msgstr "" - -#: talermerchantdemos/templates/blog-base.html.j2:12 -msgid "" -"The articles are chapters from Richard Stallman's book "Free " -"Software, Free Society"." -msgstr "" - -#: talermerchantdemos/templates/blog-base.html.j2:13 -msgid "" -"The book is <a href=\"{shop}\">published by the FSF</a> and available " -"gratis at <a href=\"{gnu}\">gnu.org</a>." -msgstr "" - -#: talermerchantdemos/templates/blog-confirm-refund.html.j2:3 -msgid "Confirm refund request for article" -msgstr "" - -#: talermerchantdemos/templates/blog-confirm-refund.html.j2:7 -msgid "Do you want to get a refund for the article <em>{name}</em>?" -msgstr "" - -#: talermerchantdemos/templates/blog-confirm-refund.html.j2:8 -msgid "" -"In this demonstration, refunds will be automatically approved by the " -"merchant." -msgstr "" - -#: talermerchantdemos/templates/blog-confirm-refund.html.j2:9 -msgid "" -"After you have obtained a refund, you will not be able to read the " -"article anymore." -msgstr "" - -#: talermerchantdemos/templates/blog-confirm-refund.html.j2:15 -msgid "" -"You will only be able to receive the refund on the same wallet that you " -"have used to pay for this article originally." -msgstr "" - -#: talermerchantdemos/templates/blog-confirm-refund.html.j2:21 -msgid "Request refund" -msgstr "" - -#: talermerchantdemos/templates/blog-error.html.j2:3 -#: talermerchantdemos/templates/donations-error.html.j2:3 -#: talermerchantdemos/templates/landing-error.html.j2:3 -#: talermerchantdemos/templates/survey-error.html.j2:3 -msgid "Error encountered" -msgstr "" - -#: talermerchantdemos/templates/blog-error.html.j2:9 -#: talermerchantdemos/templates/donations-error.html.j2:9 -#: talermerchantdemos/templates/survey-error.html.j2:9 -msgid "The backend returned status code {code}." -msgstr "" - -#: talermerchantdemos/templates/blog-error.html.j2:14 -#: talermerchantdemos/templates/donations-error.html.j2:14 -#: talermerchantdemos/templates/survey-error.html.j2:14 -msgid "Backend response:" -msgstr "" - -#: talermerchantdemos/templates/blog-error.html.j2:19 -#: talermerchantdemos/templates/donations-error.html.j2:19 -#: talermerchantdemos/templates/landing-error.html.j2:8 -#: talermerchantdemos/templates/survey-error.html.j2:19 -msgid "Stack trace:" -msgstr "" - -#: talermerchantdemos/templates/blog-index.html.j2:3 -msgid "Essay Shop: Free Software, Free Society" -msgstr "" - -#: talermerchantdemos/templates/blog-index.html.j2:5 -msgid "" -"This is the latest edition of <cite>Free Software, Free Society: Selected" -" Essays of Richard M. Stallman.</cite>" -msgstr "" - -#: talermerchantdemos/templates/blog-index.html.j2:13 -msgid "" -"Verbatim copying and distribution of this entire book are permitted " -"worldwide, without royalty, in any medium, provided this notice is " -"preserved. Permission is granted to copy and distribute translations of " -"this book from the original English into another language provided the " -"translation has been approved by the Free Software Foundation and the " -"copyright notice and this permission notice are preserved on all copies." -msgstr "" - -#: talermerchantdemos/templates/blog-index.html.j2:18 -msgid "Chapters" -msgstr "" - -#: talermerchantdemos/templates/blog-index.html.j2:20 -msgid "Click on an individual chapter to to purchase it with GNU Taler." -msgstr "" - -#: talermerchantdemos/templates/blog-index.html.j2:21 -msgid "" -"You can get free, virtual money to buy articles on this page at the <a " -"href=\"{}\")\">bank</a>." -msgstr "" - -#: talermerchantdemos/templates/blog-index.html.j2:28 -msgid "Pay to read more..." -msgstr "" - -#: talermerchantdemos/templates/blog-index.html.j2:31 -msgid "No articles available in this language." -msgstr "" - -#: talermerchantdemos/templates/common-base.html.j2:20 -msgid "GNU Taler Demo" -msgstr "" - -#: talermerchantdemos/templates/common-base.html.j2:44 -#: talermerchantdemos/templates/landing-base.html.j2:5 -msgid "Introduction" -msgstr "" - -#: talermerchantdemos/templates/common-base.html.j2:47 -msgid "Bank" -msgstr "" - -#: talermerchantdemos/templates/common-base.html.j2:50 -msgid "Essay Shop" -msgstr "" - -#: talermerchantdemos/templates/common-base.html.j2:53 -#: talermerchantdemos/templates/donations-base.html.j2:6 -msgid "Donations" -msgstr "" - -#: talermerchantdemos/templates/common-base.html.j2:56 -msgid "Tipping/Survey" -msgstr "" - -#: talermerchantdemos/templates/common-base.html.j2:85 -msgid "" -"You can learn more about GNU Taler on our main <a " -"href=\"{site}\">website</a>." -msgstr "" - -#: talermerchantdemos/templates/donations-base.html.j2:8 -msgid "This is the donation page." -msgstr "" - -#: talermerchantdemos/templates/donations-base.html.j2:9 -msgid "" -"Using this page you can make donations in {currency} to Free Software " -"projects." -msgstr "" - -#: talermerchantdemos/templates/donations-checkout.html.j2:5 -msgid "Select your payment method" -msgstr "" - -#: talermerchantdemos/templates/donations-checkout.html.j2:9 -msgid "This is an example for a \"checkout\" page of a Web shop." -msgstr "" - -#: talermerchantdemos/templates/donations-checkout.html.j2:10 -msgid "" -"On the previous page, you have created the shopping cart and decided " -"which product to buy (i.e. which project to donate KUDOS to)." -msgstr "" - -#: talermerchantdemos/templates/donations-checkout.html.j2:11 -msgid "" -"As Taler is not yet universally used, we expect merchants will offer " -"various payment options." -msgstr "" - -#: talermerchantdemos/templates/donations-checkout.html.j2:12 -msgid "To continue with the demo, select the "Taler" payment option." -msgstr "" - -#: talermerchantdemos/templates/donations-checkout.html.j2:17 -msgid "" -"Note that you must select Taler here for the demo to continue, as the " -"other payment options are just placeholders and not really working in the" -" demonstration." -msgstr "" - -#: talermerchantdemos/templates/donations-checkout.html.j2:18 -msgid "" -"It would be possible to ask the user to make this choice already on the " -"previous page (with the shopping cart); we just separated the two steps " -"to keep each step as simple as possible." -msgstr "" - -#: talermerchantdemos/templates/donations-checkout.html.j2:44 -msgid "Confirm selection" -msgstr "" - -#: talermerchantdemos/templates/donations-fulfillment.html.j2:4 -msgid "Donation Receipt" -msgstr "" - -#: talermerchantdemos/templates/donations-fulfillment.html.j2:7 -msgid "" -"Thank you, <strong>{donor}</strong>, for donating " -"<strong>{amount}</strong> to <strong>{receiver}</strong>." -msgstr "" - -#: talermerchantdemos/templates/donations-fulfillment.html.j2:12 -msgid "" -"Please keep the order identifier <strong>{id}</strong> as a receipt for " -"your donation." -msgstr "" - -#: talermerchantdemos/templates/donations-fulfillment.html.j2:13 -msgid "" -"You can show other people that you donated by sharing <a " -"href=\"{link}\">this link</a> with them." -msgstr "" - -#: talermerchantdemos/templates/donations-fulfillment.html.j2:19 -msgid "You can always make <a href=\"{link}\">another donation</a>." -msgstr "" - -#: talermerchantdemos/templates/donations-index.html.j2:4 -msgid "Donate to Free Software projects" -msgstr "" - -#: talermerchantdemos/templates/donations-index.html.j2:8 -msgid "" -"This donations website shows the user experience for donations with GNU " -"Taler." -msgstr "" - -#: talermerchantdemos/templates/donations-index.html.j2:9 -msgid "You can make donations in an toy currency ({currency})" -msgstr "" - -#: talermerchantdemos/templates/donations-index.html.j2:16 -msgid "" -"Please select a project, the amount (*) of {currency} you wish to donate," -" and enter the donor's name that will appear on your receipt:" -msgstr "" - -#: talermerchantdemos/templates/donations-index.html.j2:33 -msgid "Anonymous Donor" -msgstr "" - -#: talermerchantdemos/templates/donations-index.html.j2:34 -msgid "Donate!" -msgstr "" - -#: talermerchantdemos/templates/donations-index.html.j2:39 -msgid "" -"(*) To make the demo a bit more interesting, the 5 {currency} option is " -"deliberately implemented with a fault: the merchant will try to make you " -"donate 6 {currency} instead of the 5 {currency} shown in the form. But " -"do not worry, you will be given the opportunity to review the final offer" -" from the merchant in the Taler wallet. That way, Taler protects you " -"from committing to erroneous payments." -msgstr "" - -#: talermerchantdemos/templates/donations-provider-not-supported.html.j2:4 -msgid "Payment Provider Not Supported" -msgstr "" - -#: talermerchantdemos/templates/donations-provider-not-supported.html.j2:7 -msgid "Unfortunately the selected payment provider is not supported in this demo." -msgstr "" - -#: talermerchantdemos/templates/donations-provider-not-supported.html.j2:8 -msgid "Please go back and select "Taler"." -msgstr "" - -#: talermerchantdemos/templates/landing-base.html.j2:7 -msgid "This is the GNU Taler demo." -msgstr "" - -#: talermerchantdemos/templates/landing-base.html.j2:8 -msgid "Here you can try out the GNU Taler payment system using a toy currency." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:4 -msgid "Step 1: Install the Taler wallet" -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:7 -msgid "Install the wallet from the <a href=\"{link}\">installation page</a>." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:8 -msgid "Installation only takes one click." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:12 -msgid "" -"After installation, you may be asked to grant the browser-based Taler " -"wallet additional optional permissions that allow it to improve your user" -" experience." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:13 -msgid "" -"These permissions will allow the wallet to automatically open if a page " -"asks for a Taler payment." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:14 -msgid "" -"Regardless of the permissions you grant, the wallet will never transmit " -"information about you or your browsing history to anyone." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:19 -msgid "Step 2: Withdraw coins" -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:22 -msgid "In this demo you are paying with {currency}, an imaginary currency." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:23 -msgid "" -"To withdraw {currency} coins you must first create an account at our <a " -"href=\"{bank}\">bank</a>." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:24 -msgid "Signing up only requires you to pick a username and password." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:25 -msgid "" -"When you create an account at our bank, you will be credited 100 " -"{currency} for signing up." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:26 -msgid "" -"Afterwards, use the bank's Web interface to authorize the transfer of " -"{currency} to your wallet." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:30 -msgid "" -"Once you have completed this step, you can click on the Taler icon in " -"your browser to check your balance." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:35 -msgid "Step 3: Pay" -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:38 -msgid "We have two demo merchants where you can spend your coins:" -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:44 -msgid "" -"At the <a href=\"{blog}\">essay store</a> you can pay in {currency} for " -"individual chapters of Richard Stallman's book "Free Software, " -"Free Society"." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:45 -msgid "The book is also available for free at <a href=\"{fsf}\">the FSF</a>." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:50 -msgid "" -"At the project <a href=\"{donations}\">donation website</a> you can show " -"respect to a software project of your choice by donating {currency} to " -"them." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:56 -msgid "Step 4: Check money flow" -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:59 -msgid "" -"You can see the wire transfers from the escrow account of the exchange to" -" the merchants on the <a href=\"{bank}\">public accounts page</a> of the " -"bank." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:60 -msgid "" -"Note that only accounts configured to be publicly viewable are shown on " -"that page." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:65 -msgid "Step 5: Survey" -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:68 -msgid "Websites can give tips to visitors for completing tasks." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:69 -msgid "" -"You can earn some {currency} coins by filling in our <a " -"href=\"{url}\">survey</a>." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:81 -msgid "Step 6: Reach out to us" -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:84 -msgid "We appreciate feedback about Taler and this demonstrator." -msgstr "" - -#: talermerchantdemos/templates/landing-index.html.j2:85 -msgid "Let us know what you think by <a href=\"{link}\">contacting us</a>." -msgstr "" - -#: talermerchantdemos/templates/survey-base.html.j2:6 -msgid "Survey" -msgstr "" - -#: talermerchantdemos/templates/survey-base.html.j2:8 -msgid "This page demonstrates how to tip visitors for completing small tasks." -msgstr "" - -#: talermerchantdemos/templates/survey-base.html.j2:9 -msgid "" -"Tipping is a way for offer cash rewards that go directly into a user's " -"wallet." -msgstr "" - -#: talermerchantdemos/templates/survey-index.html.j2:6 -msgid "" -"Please participate in our survey about payment systems and receive a tip " -"in return." -msgstr "" - -#: talermerchantdemos/templates/survey-index.html.j2:12 -msgid "Which payment system do you prefer?" -msgstr "" - -#: talermerchantdemos/templates/survey-index.html.j2:23 -msgid "Submit Survey" -msgstr "" - -#~ msgid "English [en]" -#~ msgstr "" - -#~ msgid "Spanish [es]" -#~ msgstr "" - -#~ msgid "German [de]" -#~ msgstr "" - -#~ msgid "Swedish [sv]" -#~ msgstr "" - -#~ msgid "GNU Taler Demo: Essay Shop" -#~ msgstr "" - -#~ msgid "Taler Demo" -#~ msgstr "" - -#~ msgid "" -#~ "You can get free, virtual money to" -#~ " buy articles on this page at " -#~ "the <a href=\"{}\")\">bank</a>" -#~ msgstr "" - -#~ msgid "Back-office" -#~ msgstr "" - -#~ msgid "GNU Taler Demo: Donations" -#~ msgstr "" - -#~ msgid "GNU Taler Demo: Introduction" -#~ msgstr "" - -#~ msgid "" -#~ "You can see the wire transfers " -#~ "from the escrow account of the " -#~ "exchange to the merchants on the " -#~ "<a href=\"{bank}/public-accounts\">public accounts" -#~ " page</a> of the bank." -#~ msgstr "" - -#~ msgid "GNU Taler Demo: Survey" -#~ msgstr "" - |