From e00c06b949d39697f26fd843320335e8a620e6d9 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 30 Mar 2015 00:04:55 +0200 Subject: [PATCH] donation: Redesign the page Allow donation with different currencies with PayPal --- templates/donate.html | 152 +++++++++++++++-------- templates/modules/donation-box.html | 135 ++++++++------------ templates/modules/donation-button.html | 16 +++ templates/wishlist/donate.html | 2 +- translations/de/LC_MESSAGES/webapp.po | 164 +++++++++++++------------ translations/webapp.pot | 155 ++++++++++++----------- webapp/__init__.py | 1 + webapp/handlers.py | 5 +- webapp/ui_modules.py | 20 +-- 9 files changed, 358 insertions(+), 292 deletions(-) create mode 100644 templates/modules/donation-button.html diff --git a/templates/donate.html b/templates/donate.html index 5301c65..83af759 100644 --- a/templates/donate.html +++ b/templates/donate.html @@ -4,65 +4,119 @@ {% block header %}
-
+

{{ _("Donate") }}

- {{ _("We need your help!") }} + {% if lang == "de" %} + IPFire ist freie Software und für jeden kostenlos herunterladbar. +
+ Bitte unterstützt das IPFire-Projekt mit eurer Spende. + {% else %} + IPFire is free software and free to download for everyone. + Please help us to support the project by making a financial + contribution. It is very much appreciated. + {% end %}

{% end header %} {% block body %} - {% if lang == "de" %} -

- Wir möchten jeden, der IPFire einsetzt, ermutigen einen Beitrag zu leisten. - Danke dafür. -

-

- IPFire ist ein Open Source-Projekt. - Nutzer und die Gemeinschaft sind das wertvollste und wichtigste - Gut, weil sich das Projekt auf sie stützt. - Die Entwicklung und die Fortführung des Projekts sind allein - einer Gruppe von Freiwilligen zu verdanken. - Sie haben ein Produkt entwickelt, das tagtäglich von - Hunderttausenden genutzt wird. -

-

- Um die Qualität von IPFire noch weiter verbessern zu können, - sowie Aktivitäten des Projekts auszuweiten und die Verbreitung - zu steigern, sind finanzielle Mittel unabdingbar. - Jeder Sponsor kann seinen Teil dazu beitragen, diese Ziele - zu erreichen, das Projekt finanziell gesund zu erhalten und - somit langfristig abzusichern. -

- {% else %} -

- We encourage anyone who downloads and uses IPFire to donate. - It is very much appreciated. -

-

- IPFire is an Open Source project. - The users and the community are the most valuable and most important factor, - because those people are the foundation of the project. - Development and keeping the project healthy is carried out by a group of volunteers, - that in time have built a very successful product, - which hundreds of thousands of people use every day. - We appreciate every bit of feedback, every bug report, patch and contribution. -

-

- We would like to extend our activities and improve the quality of IPFire even more. - For that, we will need financial resources to support the maintenance, - improvement and promotion of the IPFire project. - Sponsorship is a good way to ensure the longevity and overall health of the project. -

- {% end %} - -
-
- {% module DonationBox(show_wishlist_items=True) %} + {% module DonationBox(reason_for_transfer=reason_for_transfer) %} + +
+ + {% if lang == "de" %} +

+ IPFire ist ein Open-Source-Softwareprojekt. + Die Entwicklung und die Fortführung des Projekts wird allein + von einer Gruppe von Freiwilligen getragen, die ein Produkt + entwickelt hat, das tagtäglich von Hunderttausenden genutzt + wird. +

+

+ Alle gesammelten Spenden werden zur Aufrechterhaltung des + Projekts genutzt, wie zur Bezahlung der projekteigenen + Infrastruktur, zur Bewerbung des Projekts, zur Anschaffung + von neuem Equipment, sowie zur Unterstützung der Leute die + hinter dem Projekt stehen. + Jeder Sponsor kann seinen Teil dazu beitragen diese Ziele zu + erreichen, das Projekt finanziell gesund zu erhalten, und + somit langfristig zu unterstützen. +

+ {% else %} +

+ IPFire is an Open Source software project. + Development and keeping the project healthy is carried out by a + group of volunteers, that in time have built a very successful product, + which hundreds of thousands of people use every day. +

+

+ Donations are used to finance the needs of the distribution, to pay + for the project's infrastructure, to advertise the project, to + purchase equipment and to fund the work of the people behind it. + Sponsorship is a good way to ensure the longevity and overall health + of the project. +

+ {% end %} + + {% if wishlist_items %} +
+ +

+ {{ _("Did you know...?") }} + + {% if lang == "de" %} + Du kannst die Implementierung deiner bevorzugten Funktion mit Hilfe einer Spende auf der + IPFire Wunschliste unterstützen! + {% else %} + You can support the implementation of your favorite feature on the + IPFire wishlist! + {% end %} +

+ +
+ + {% module WishlistItems(wishlist_items) %} + {% end %} + +
+ +
+

{{ _("Recurring Donations") }}

+ + {% if lang == "de" %} +

+ Das Tätigen von wiederkehrenden Spenden ist eine großartige Methode + um das IPFire Projekt zu unterstützen. Diese helfen das Projekt auf einem + finanziell soliden Stand zu halten und die weitere Entwicklung voranzutreiben. + Unabhängig ob die zügige Sicherheitsupdates oder das Einbauen von neuen + Funktionen ist, wiederkehrende Spenden sind die Basis um den Fortbestand des + Projekts langfristig zu gewährleisten. +

+ +

+ PayPal ermöglicht in einigen Ländern die Einrichtung von Daueraufträgen via + Überweisung für den Zweck von wiederkehrende Spenden. +

+ {% else %} +

+ A great way to support the IPFire project is a recurring donation. + These will help to keep the project solidly funded and help us to + keep up our development efforts. Either if that is the prompt + security updates or introducing new features, recurring donations + are the foundation that keeps this project running. +

+ +

+ PayPal allows to set up recurring donations in some countries + or you can set up a standing order at your bank if you are + want to donate by using bank transfer. +

+ {% end %} +
{% end block %} diff --git a/templates/modules/donation-box.html b/templates/modules/donation-box.html index 44ee78c..e84aad3 100644 --- a/templates/modules/donation-box.html +++ b/templates/modules/donation-box.html @@ -1,114 +1,87 @@ -
-
-
-

{{ _("Donate with PayPal or Credit Card") }}

+
+
+
+

{{ _("Donate with PayPal") }}

+
{% if lang == "de" %}

- PayPal ist unser bevorzugter und gleichzeitig einfachster Weg zu spenden. - Dazu einfach auf den Button klicken und den gewünschten Betrag eingeben. -

- -
- -
-
- - - {% if reason_for_transfer %} - - {% end %} - - -
-
- -
- -

- Wenn du nicht per PayPal spenden möchtest, kannst du das auch per - Banküberweisung tun. Dazu einfach oben auf den Button klicken. + Um mit PayPal zu spenden, einfach auf den Button klicken + und den gewünschten Betrag eingeben.

{% else %}

- PayPal is our preferred way to make donations. Simply click on the donate button and type in the amount of money you would like to donate.

+ {% end %} -
+
-
-
- - - {% if reason_for_transfer %} - - {% end %} - - -
-
+
+ {% module DonationButton(reason_for_transfer=reason_for_transfer) %}
-

- If you are not keen on using PayPal, you can also donate by bank transfer. - Click on the button above to do so. -

- {% end %} +
    + {% for currency in ("USD", "GBP", "CHF", "AUD", "NZD", "CAD") %} +
  • + {% module DonationButton(reason_for_transfer=reason_for_transfer, currency=currency) %} +
  • + {% end %} +
+
+
+ +
+
+

{{ _("Donate by Bank Transfer") }}

-
-

{{ _("Donate by Bank Transfer") }}


{% if lang == "de" %} -

+

Ebenso ist eine Spende auf unser Bankkonto möglich.

{% else %} -

- It is also possible to transfer donations into - our bank account. +

+ You can also send donations directly to our bank account.

{% end %}
-

- {{ _("IBAN") }}: DE86 4265 0150 1020 0768 89
- {{ _("BIC-/SWIFT-Code") }}: WELADED1REK +

+
{{ _("IBAN") }}
+
DE86 4265 0150 1020 0768 89
+ +
{{ _("BIC-/SWIFT-Code") }}
+
WELADED1REK
+ {% if reason_for_transfer %} -
- {{ _("Reason for transfer") }}: - {{ reason_for_transfer }} +
{{ _("Reason for transfer") }}
+
{{ reason_for_transfer }}
{% end %} -

+
-
- - {% if wishlist_items %} -
- -
-
-

- {{ _("Did you know...?") }} - {% if lang == "de" %} - Du kannst die Implementierung deiner bevorzugten Funktion mit Hilfe einer Spende auf der - IPFire Wunschliste unterstützen! - {% else %} - You can support the implementation of your favorite feature on the - IPFire wishlist! - {% end %} -

-
- - {% module WishlistItems(wishlist_items) %} -
-
- {% end %} +

+ {% if lang == "de" %} + + Da das IPFire-Projekt keine registrierte gemeinnützige Organisation + ist, können keine steuerlich abzugsfähige Spendenquittungen erstellt + werden. + + {% else %} + + The IPFire project is not a registered non-profit organisation. +
+ Hence we are not able to issue a tax-deductible contribution receipt + for your donation. +
+ {% end %} +

+
diff --git a/templates/modules/donation-button.html b/templates/modules/donation-button.html new file mode 100644 index 0000000..60bfa35 --- /dev/null +++ b/templates/modules/donation-button.html @@ -0,0 +1,16 @@ +
+ + + + + + + + + + {% if primary %} + + {% else %} + + {% end %} +
diff --git a/templates/wishlist/donate.html b/templates/wishlist/donate.html index f0b4b15..c3f7627 100644 --- a/templates/wishlist/donate.html +++ b/templates/wishlist/donate.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends "../base.html" %} {% block title %}{{ wish.title }} - {{ _("Donate") }}{% end block %} diff --git a/translations/de/LC_MESSAGES/webapp.po b/translations/de/LC_MESSAGES/webapp.po index fa733d5..cf7c5cc 100644 --- a/translations/de/LC_MESSAGES/webapp.po +++ b/translations/de/LC_MESSAGES/webapp.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-17 22:31+0100\n" -"PO-Revision-Date: 2015-03-17 21:27+0100\n" +"POT-Creation-Date: 2015-03-29 23:50+0200\n" +"PO-Revision-Date: 2015-03-29 23:55+0100\n" "Last-Translator: Michael Tremer \n" "Language-Team: LANGUAGE \n" "Language: de\n" @@ -1028,107 +1028,107 @@ msgstr "" msgid "Zimbabwe" msgstr "" -#: webapp/backend/fireinfo.py:259 webapp/backend/fireinfo.py:281 -#: webapp/backend/fireinfo.py:297 webapp/backend/fireinfo.py:298 -#: webapp/backend/fireinfo.py:299 +#: webapp/backend/fireinfo.py:306 webapp/backend/fireinfo.py:328 +#: webapp/backend/fireinfo.py:344 webapp/backend/fireinfo.py:345 +#: webapp/backend/fireinfo.py:346 msgid "Unclassified" msgstr "Unklassifiziert" -#: webapp/backend/fireinfo.py:260 webapp/backend/fireinfo.py:288 +#: webapp/backend/fireinfo.py:307 webapp/backend/fireinfo.py:335 msgid "Mass storage" msgstr "Massenspeicher" -#: webapp/backend/fireinfo.py:261 +#: webapp/backend/fireinfo.py:308 msgid "Network" msgstr "Netzwerk" -#: webapp/backend/fireinfo.py:262 webapp/backend/fireinfo.py:293 +#: webapp/backend/fireinfo.py:309 webapp/backend/fireinfo.py:340 msgid "Display" msgstr "Display" -#: webapp/backend/fireinfo.py:263 webapp/backend/fireinfo.py:282 +#: webapp/backend/fireinfo.py:310 webapp/backend/fireinfo.py:329 msgid "Multimedia" msgstr "Multimedia" -#: webapp/backend/fireinfo.py:264 +#: webapp/backend/fireinfo.py:311 msgid "Memory controller" msgstr "Speichercontroller" -#: webapp/backend/fireinfo.py:265 +#: webapp/backend/fireinfo.py:312 msgid "Bridge" msgstr "Bridge" -#: webapp/backend/fireinfo.py:266 webapp/backend/fireinfo.py:283 -#: webapp/backend/fireinfo.py:290 +#: webapp/backend/fireinfo.py:313 webapp/backend/fireinfo.py:330 +#: webapp/backend/fireinfo.py:337 msgid "Communication" msgstr "Kommunikation" -#: webapp/backend/fireinfo.py:267 webapp/backend/fireinfo.py:285 +#: webapp/backend/fireinfo.py:314 webapp/backend/fireinfo.py:332 msgid "Generic system peripheral" msgstr "Generisches Peripheriegerät" -#: webapp/backend/fireinfo.py:268 webapp/backend/fireinfo.py:284 +#: webapp/backend/fireinfo.py:315 webapp/backend/fireinfo.py:331 msgid "Input device" msgstr "Eingabegerät" -#: webapp/backend/fireinfo.py:269 +#: webapp/backend/fireinfo.py:316 msgid "Docking station" msgstr "Dockingstation" -#: webapp/backend/fireinfo.py:270 templates/fireinfo/profile-detail.html:54 +#: webapp/backend/fireinfo.py:317 templates/fireinfo/profile-detail.html:54 #: templates/static/hardware.html:44 templates/static/hardware.html:272 msgid "Processor" msgstr "Prozessor" -#: webapp/backend/fireinfo.py:271 +#: webapp/backend/fireinfo.py:318 msgid "Serial bus" msgstr "Serieller Bus" -#: webapp/backend/fireinfo.py:272 webapp/backend/fireinfo.py:296 +#: webapp/backend/fireinfo.py:319 webapp/backend/fireinfo.py:343 msgid "Wireless" msgstr "WLAN" -#: webapp/backend/fireinfo.py:273 +#: webapp/backend/fireinfo.py:320 msgid "Intelligent controller" msgstr "Intelligenter Controller" -#: webapp/backend/fireinfo.py:274 +#: webapp/backend/fireinfo.py:321 msgid "Satellite communications controller" msgstr "Satellitenkommunikationscontroller" -#: webapp/backend/fireinfo.py:275 webapp/backend/fireinfo.py:292 +#: webapp/backend/fireinfo.py:322 webapp/backend/fireinfo.py:339 msgid "Encryption" msgstr "Verschlüsselung" -#: webapp/backend/fireinfo.py:276 +#: webapp/backend/fireinfo.py:323 msgid "Signal processing controller" msgstr "Signalverarbeitungscontroller" -#: webapp/backend/fireinfo.py:277 +#: webapp/backend/fireinfo.py:324 msgid "Unassigned class" msgstr "Nicht vergebene Klasse" -#: webapp/backend/fireinfo.py:286 +#: webapp/backend/fireinfo.py:333 msgid "Image" msgstr "Bild" -#: webapp/backend/fireinfo.py:287 +#: webapp/backend/fireinfo.py:334 msgid "Printer" msgstr "Drucker" -#: webapp/backend/fireinfo.py:289 +#: webapp/backend/fireinfo.py:336 msgid "Hub" msgstr "Hub" -#: webapp/backend/fireinfo.py:291 +#: webapp/backend/fireinfo.py:338 msgid "Smart card" msgstr "Smartcard" -#: webapp/backend/fireinfo.py:294 +#: webapp/backend/fireinfo.py:341 msgid "Personal Healthcare" msgstr "" -#: webapp/backend/fireinfo.py:295 +#: webapp/backend/fireinfo.py:342 msgid "Diagnostic Device" msgstr "Diagnosegerät" @@ -1232,73 +1232,73 @@ msgstr "Ein fertiges Image für Xen." msgid "Generator for creating a Xen image." msgstr "Generator zum Erstellen einex Xen-Images." -#: webapp/__init__.py:352 +#: webapp/__init__.py:353 #: /usr/lib/python2.7/site-packages/tornado/locale.py:235 #: /usr/lib/python3.3/site-packages/tornado/locale.py:235 msgid "January" msgstr "Januar" -#: webapp/__init__.py:354 +#: webapp/__init__.py:355 #: /usr/lib/python2.7/site-packages/tornado/locale.py:235 #: /usr/lib/python3.3/site-packages/tornado/locale.py:235 msgid "February" msgstr "Februar" -#: webapp/__init__.py:356 +#: webapp/__init__.py:357 #: /usr/lib/python2.7/site-packages/tornado/locale.py:235 #: /usr/lib/python3.3/site-packages/tornado/locale.py:235 msgid "March" msgstr "März" -#: webapp/__init__.py:358 +#: webapp/__init__.py:359 #: /usr/lib/python2.7/site-packages/tornado/locale.py:235 #: /usr/lib/python3.3/site-packages/tornado/locale.py:235 msgid "April" msgstr "April" -#: webapp/__init__.py:360 +#: webapp/__init__.py:361 #: /usr/lib/python2.7/site-packages/tornado/locale.py:236 #: /usr/lib/python3.3/site-packages/tornado/locale.py:236 msgid "May" msgstr "Mai" -#: webapp/__init__.py:362 +#: webapp/__init__.py:363 #: /usr/lib/python2.7/site-packages/tornado/locale.py:236 #: /usr/lib/python3.3/site-packages/tornado/locale.py:236 msgid "June" msgstr "Juni" -#: webapp/__init__.py:364 +#: webapp/__init__.py:365 #: /usr/lib/python2.7/site-packages/tornado/locale.py:236 #: /usr/lib/python3.3/site-packages/tornado/locale.py:236 msgid "July" msgstr "Juli" -#: webapp/__init__.py:366 +#: webapp/__init__.py:367 #: /usr/lib/python2.7/site-packages/tornado/locale.py:236 #: /usr/lib/python3.3/site-packages/tornado/locale.py:236 msgid "August" msgstr "August" -#: webapp/__init__.py:368 +#: webapp/__init__.py:369 #: /usr/lib/python2.7/site-packages/tornado/locale.py:237 #: /usr/lib/python3.3/site-packages/tornado/locale.py:237 msgid "September" msgstr "September" -#: webapp/__init__.py:370 +#: webapp/__init__.py:371 #: /usr/lib/python2.7/site-packages/tornado/locale.py:237 #: /usr/lib/python3.3/site-packages/tornado/locale.py:237 msgid "October" msgstr "Oktober" -#: webapp/__init__.py:372 +#: webapp/__init__.py:373 #: /usr/lib/python2.7/site-packages/tornado/locale.py:237 #: /usr/lib/python3.3/site-packages/tornado/locale.py:237 msgid "November" msgstr "November" -#: webapp/__init__.py:374 +#: webapp/__init__.py:375 #: /usr/lib/python2.7/site-packages/tornado/locale.py:237 #: /usr/lib/python3.3/site-packages/tornado/locale.py:237 msgid "December" @@ -1488,7 +1488,7 @@ msgid "Supports 64 bits" msgstr "Unterstützt 64-Bit" #: templates/fireinfo/stats-cpus-detail.html:34 -#: templates/fireinfo/profile-detail.html:92 +#: templates/fireinfo/profile-detail.html:96 msgid "PAE" msgstr "PAE" @@ -1501,7 +1501,7 @@ msgid "POPCNT" msgstr "POPCNT" #: templates/fireinfo/stats-cpus-detail.html:40 -#: templates/fireinfo/profile-detail.html:94 +#: templates/fireinfo/profile-detail.html:98 msgid "RDRAND" msgstr "RDRAND" @@ -1582,7 +1582,7 @@ msgstr "Hardware" #: templates/fireinfo/stats.html:34 templates/fireinfo/stats-memory.html:3 #: templates/fireinfo/stats-memory.html:7 -#: templates/fireinfo/profile-detail.html:133 +#: templates/fireinfo/profile-detail.html:137 msgid "Memory" msgstr "Arbeitsspeicher" @@ -1670,7 +1670,7 @@ msgid "Hypervisors" msgstr "Hypervisoren" #: templates/fireinfo/stats-virtual.html:64 -#: templates/fireinfo/profile-detail.html:114 templates/mirrors-item.html:14 +#: templates/fireinfo/profile-detail.html:118 templates/mirrors-item.html:14 msgid "Unknown" msgstr "Unbekannt" @@ -1741,15 +1741,15 @@ msgstr "ORANGE" msgid "BLUE" msgstr "BLAU" -#: templates/fireinfo/index.html:51 +#: templates/fireinfo/index.html:48 msgid "Profile ID" msgstr "Profil-ID" -#: templates/fireinfo/index.html:54 +#: templates/fireinfo/index.html:51 msgid "Show" msgstr "Anzeigen" -#: templates/fireinfo/index.html:61 +#: templates/fireinfo/index.html:58 msgid "Random profile" msgstr "Zufälliges Profil" @@ -1776,70 +1776,75 @@ msgstr "Quad-Core-Prozessor" msgid "%s core processor" msgstr "%s-Core-Prozessor" -#: templates/fireinfo/profile-detail.html:73 +#: templates/fireinfo/profile-detail.html:74 msgid "using Intel Hyper-Threading Technology" msgstr "mit Intel Hyper-Threading Technology" -#: templates/fireinfo/profile-detail.html:80 +#: templates/fireinfo/profile-detail.html:76 +#, python-format +msgid "with %s logical cores" +msgstr "mit %s logischen Kernen" + +#: templates/fireinfo/profile-detail.html:84 msgid "Supported features" msgstr "Unterstützte Funktionen" -#: templates/fireinfo/profile-detail.html:86 +#: templates/fireinfo/profile-detail.html:90 msgid "64 bit" msgstr "64-Bit" -#: templates/fireinfo/profile-detail.html:88 +#: templates/fireinfo/profile-detail.html:92 msgid "AES-NI" msgstr "AES-NI" -#: templates/fireinfo/profile-detail.html:90 +#: templates/fireinfo/profile-detail.html:94 msgid "NX" msgstr "NX" -#: templates/fireinfo/profile-detail.html:96 +#: templates/fireinfo/profile-detail.html:100 msgid "VT-x/AMD-V" msgstr "VT-x/AMD-V" -#: templates/fireinfo/profile-detail.html:108 +#: templates/fireinfo/profile-detail.html:112 msgid "Hypervisor" msgstr "Hypervisor" -#: templates/fireinfo/profile-detail.html:112 +#: templates/fireinfo/profile-detail.html:116 msgid "VMware" msgstr "VMware" -#: templates/fireinfo/profile-detail.html:121 +#: templates/fireinfo/profile-detail.html:125 msgid "Vendor" msgstr "Hersteller" -#: templates/fireinfo/profile-detail.html:126 +#: templates/fireinfo/profile-detail.html:130 msgid "Model" msgstr "Modell" -#: templates/fireinfo/profile-detail.html:149 +#: templates/fireinfo/profile-detail.html:153 msgid "System Storage" msgstr "Systemspeicher" -#: templates/fireinfo/profile-detail.html:154 +#: templates/fireinfo/profile-detail.html:158 msgid "Kernel" msgstr "Kernel" -#: templates/fireinfo/profile-detail.html:160 templates/mirrors-item.html:30 +#: templates/fireinfo/profile-detail.html:164 templates/mirrors-item.html:30 #: templates/admin-mirrors-create.html:24 #: templates/talk/phonebook-contact.html:106 #: templates/downloads-mirrors.html:49 templates/admin-mirrors-details.html:25 msgid "Location" msgstr "Standort" -#: templates/fireinfo/profile-detail.html:169 +#: templates/fireinfo/profile-detail.html:173 msgid "Language" msgstr "Sprache" -#: templates/fireinfo/profile-detail.html:183 +#: templates/fireinfo/profile-detail.html:187 msgid "Signature images" msgstr "Signaturbilder" -#: templates/fireinfo/profile-detail.html:198 templates/admin-mirrors.html:15 +#: templates/fireinfo/profile-detail.html:202 templates/admin-mirrors.html:15 #: templates/download-mirror-detail.html:20 #: templates/downloads-mirrors.html:50 msgid "Last update" @@ -2388,9 +2393,13 @@ msgstr "Rufe %s an..." msgid "Donate" msgstr "Spenden" -#: templates/donate.html:10 -msgid "We need your help!" -msgstr "Wir brauchen Deine Hilfe!" +#: templates/donate.html:69 +msgid "Did you know...?" +msgstr "Schon gewusst?" + +#: templates/donate.html:88 +msgid "Recurring Donations" +msgstr "Regelmäßig Spenden" #: templates/geoip/index.html:3 templates/geoip/index.html:7 #, python-format @@ -2823,29 +2832,25 @@ msgid "%d%% funded" msgstr "%d%% gesammelt" #: templates/modules/donation-box.html:4 -msgid "Donate with PayPal or Credit Card" -msgstr "Mit PayPal oder Kreditkarte spenden" +msgid "Donate with PayPal" +msgstr "Mit PayPal spenden" -#: templates/modules/donation-box.html:64 +#: templates/modules/donation-box.html:40 msgid "Donate by Bank Transfer" msgstr "Per Banküberweisung spenden" -#: templates/modules/donation-box.html:81 +#: templates/modules/donation-box.html:57 msgid "IBAN" msgstr "IBAN" -#: templates/modules/donation-box.html:82 +#: templates/modules/donation-box.html:60 msgid "BIC-/SWIFT-Code" msgstr "BIC-/SWIFT-Code" -#: templates/modules/donation-box.html:85 +#: templates/modules/donation-box.html:64 msgid "Reason for transfer" msgstr "Verwendungszweck" -#: templates/modules/donation-box.html:98 -msgid "Did you know...?" -msgstr "Schon gewusst?" - #: templates/modules/planet-entry.html:14 templates/planet/posting.html:22 msgid "Posted by" msgstr "Erstellt von" @@ -3334,6 +3339,9 @@ msgstr "%(weekday)s, %(day)s. %(month_name)s" msgid "%(commas)s and %(last)s" msgstr "%(commas)s und %(last)s" +#~ msgid "We need your help!" +#~ msgstr "Wir brauchen Deine Hilfe!" + #~ msgid "Get IPFire" #~ msgstr "IPFire herunterladen" diff --git a/translations/webapp.pot b/translations/webapp.pot index ce2d370..6aab926 100644 --- a/translations/webapp.pot +++ b/translations/webapp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-17 22:31+0100\n" +"POT-Creation-Date: 2015-03-29 23:50+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1028,107 +1028,107 @@ msgstr "" msgid "Zimbabwe" msgstr "" -#: webapp/backend/fireinfo.py:259 webapp/backend/fireinfo.py:281 -#: webapp/backend/fireinfo.py:297 webapp/backend/fireinfo.py:298 -#: webapp/backend/fireinfo.py:299 +#: webapp/backend/fireinfo.py:306 webapp/backend/fireinfo.py:328 +#: webapp/backend/fireinfo.py:344 webapp/backend/fireinfo.py:345 +#: webapp/backend/fireinfo.py:346 msgid "Unclassified" msgstr "" -#: webapp/backend/fireinfo.py:260 webapp/backend/fireinfo.py:288 +#: webapp/backend/fireinfo.py:307 webapp/backend/fireinfo.py:335 msgid "Mass storage" msgstr "" -#: webapp/backend/fireinfo.py:261 +#: webapp/backend/fireinfo.py:308 msgid "Network" msgstr "" -#: webapp/backend/fireinfo.py:262 webapp/backend/fireinfo.py:293 +#: webapp/backend/fireinfo.py:309 webapp/backend/fireinfo.py:340 msgid "Display" msgstr "" -#: webapp/backend/fireinfo.py:263 webapp/backend/fireinfo.py:282 +#: webapp/backend/fireinfo.py:310 webapp/backend/fireinfo.py:329 msgid "Multimedia" msgstr "" -#: webapp/backend/fireinfo.py:264 +#: webapp/backend/fireinfo.py:311 msgid "Memory controller" msgstr "" -#: webapp/backend/fireinfo.py:265 +#: webapp/backend/fireinfo.py:312 msgid "Bridge" msgstr "" -#: webapp/backend/fireinfo.py:266 webapp/backend/fireinfo.py:283 -#: webapp/backend/fireinfo.py:290 +#: webapp/backend/fireinfo.py:313 webapp/backend/fireinfo.py:330 +#: webapp/backend/fireinfo.py:337 msgid "Communication" msgstr "" -#: webapp/backend/fireinfo.py:267 webapp/backend/fireinfo.py:285 +#: webapp/backend/fireinfo.py:314 webapp/backend/fireinfo.py:332 msgid "Generic system peripheral" msgstr "" -#: webapp/backend/fireinfo.py:268 webapp/backend/fireinfo.py:284 +#: webapp/backend/fireinfo.py:315 webapp/backend/fireinfo.py:331 msgid "Input device" msgstr "" -#: webapp/backend/fireinfo.py:269 +#: webapp/backend/fireinfo.py:316 msgid "Docking station" msgstr "" -#: webapp/backend/fireinfo.py:270 templates/fireinfo/profile-detail.html:54 +#: webapp/backend/fireinfo.py:317 templates/fireinfo/profile-detail.html:54 #: templates/static/hardware.html:44 templates/static/hardware.html:272 msgid "Processor" msgstr "" -#: webapp/backend/fireinfo.py:271 +#: webapp/backend/fireinfo.py:318 msgid "Serial bus" msgstr "" -#: webapp/backend/fireinfo.py:272 webapp/backend/fireinfo.py:296 +#: webapp/backend/fireinfo.py:319 webapp/backend/fireinfo.py:343 msgid "Wireless" msgstr "" -#: webapp/backend/fireinfo.py:273 +#: webapp/backend/fireinfo.py:320 msgid "Intelligent controller" msgstr "" -#: webapp/backend/fireinfo.py:274 +#: webapp/backend/fireinfo.py:321 msgid "Satellite communications controller" msgstr "" -#: webapp/backend/fireinfo.py:275 webapp/backend/fireinfo.py:292 +#: webapp/backend/fireinfo.py:322 webapp/backend/fireinfo.py:339 msgid "Encryption" msgstr "" -#: webapp/backend/fireinfo.py:276 +#: webapp/backend/fireinfo.py:323 msgid "Signal processing controller" msgstr "" -#: webapp/backend/fireinfo.py:277 +#: webapp/backend/fireinfo.py:324 msgid "Unassigned class" msgstr "" -#: webapp/backend/fireinfo.py:286 +#: webapp/backend/fireinfo.py:333 msgid "Image" msgstr "" -#: webapp/backend/fireinfo.py:287 +#: webapp/backend/fireinfo.py:334 msgid "Printer" msgstr "" -#: webapp/backend/fireinfo.py:289 +#: webapp/backend/fireinfo.py:336 msgid "Hub" msgstr "" -#: webapp/backend/fireinfo.py:291 +#: webapp/backend/fireinfo.py:338 msgid "Smart card" msgstr "" -#: webapp/backend/fireinfo.py:294 +#: webapp/backend/fireinfo.py:341 msgid "Personal Healthcare" msgstr "" -#: webapp/backend/fireinfo.py:295 +#: webapp/backend/fireinfo.py:342 msgid "Diagnostic Device" msgstr "" @@ -1230,73 +1230,73 @@ msgstr "" msgid "Generator for creating a Xen image." msgstr "" -#: webapp/__init__.py:352 +#: webapp/__init__.py:353 #: /usr/lib/python2.7/site-packages/tornado/locale.py:235 #: /usr/lib/python3.3/site-packages/tornado/locale.py:235 msgid "January" msgstr "" -#: webapp/__init__.py:354 +#: webapp/__init__.py:355 #: /usr/lib/python2.7/site-packages/tornado/locale.py:235 #: /usr/lib/python3.3/site-packages/tornado/locale.py:235 msgid "February" msgstr "" -#: webapp/__init__.py:356 +#: webapp/__init__.py:357 #: /usr/lib/python2.7/site-packages/tornado/locale.py:235 #: /usr/lib/python3.3/site-packages/tornado/locale.py:235 msgid "March" msgstr "" -#: webapp/__init__.py:358 +#: webapp/__init__.py:359 #: /usr/lib/python2.7/site-packages/tornado/locale.py:235 #: /usr/lib/python3.3/site-packages/tornado/locale.py:235 msgid "April" msgstr "" -#: webapp/__init__.py:360 +#: webapp/__init__.py:361 #: /usr/lib/python2.7/site-packages/tornado/locale.py:236 #: /usr/lib/python3.3/site-packages/tornado/locale.py:236 msgid "May" msgstr "" -#: webapp/__init__.py:362 +#: webapp/__init__.py:363 #: /usr/lib/python2.7/site-packages/tornado/locale.py:236 #: /usr/lib/python3.3/site-packages/tornado/locale.py:236 msgid "June" msgstr "" -#: webapp/__init__.py:364 +#: webapp/__init__.py:365 #: /usr/lib/python2.7/site-packages/tornado/locale.py:236 #: /usr/lib/python3.3/site-packages/tornado/locale.py:236 msgid "July" msgstr "" -#: webapp/__init__.py:366 +#: webapp/__init__.py:367 #: /usr/lib/python2.7/site-packages/tornado/locale.py:236 #: /usr/lib/python3.3/site-packages/tornado/locale.py:236 msgid "August" msgstr "" -#: webapp/__init__.py:368 +#: webapp/__init__.py:369 #: /usr/lib/python2.7/site-packages/tornado/locale.py:237 #: /usr/lib/python3.3/site-packages/tornado/locale.py:237 msgid "September" msgstr "" -#: webapp/__init__.py:370 +#: webapp/__init__.py:371 #: /usr/lib/python2.7/site-packages/tornado/locale.py:237 #: /usr/lib/python3.3/site-packages/tornado/locale.py:237 msgid "October" msgstr "" -#: webapp/__init__.py:372 +#: webapp/__init__.py:373 #: /usr/lib/python2.7/site-packages/tornado/locale.py:237 #: /usr/lib/python3.3/site-packages/tornado/locale.py:237 msgid "November" msgstr "" -#: webapp/__init__.py:374 +#: webapp/__init__.py:375 #: /usr/lib/python2.7/site-packages/tornado/locale.py:237 #: /usr/lib/python3.3/site-packages/tornado/locale.py:237 msgid "December" @@ -1486,7 +1486,7 @@ msgid "Supports 64 bits" msgstr "" #: templates/fireinfo/stats-cpus-detail.html:34 -#: templates/fireinfo/profile-detail.html:92 +#: templates/fireinfo/profile-detail.html:96 msgid "PAE" msgstr "" @@ -1499,7 +1499,7 @@ msgid "POPCNT" msgstr "" #: templates/fireinfo/stats-cpus-detail.html:40 -#: templates/fireinfo/profile-detail.html:94 +#: templates/fireinfo/profile-detail.html:98 msgid "RDRAND" msgstr "" @@ -1580,7 +1580,7 @@ msgstr "" #: templates/fireinfo/stats.html:34 templates/fireinfo/stats-memory.html:3 #: templates/fireinfo/stats-memory.html:7 -#: templates/fireinfo/profile-detail.html:133 +#: templates/fireinfo/profile-detail.html:137 msgid "Memory" msgstr "" @@ -1668,7 +1668,7 @@ msgid "Hypervisors" msgstr "" #: templates/fireinfo/stats-virtual.html:64 -#: templates/fireinfo/profile-detail.html:114 templates/mirrors-item.html:14 +#: templates/fireinfo/profile-detail.html:118 templates/mirrors-item.html:14 msgid "Unknown" msgstr "" @@ -1739,15 +1739,15 @@ msgstr "" msgid "BLUE" msgstr "" -#: templates/fireinfo/index.html:51 +#: templates/fireinfo/index.html:48 msgid "Profile ID" msgstr "" -#: templates/fireinfo/index.html:54 +#: templates/fireinfo/index.html:51 msgid "Show" msgstr "" -#: templates/fireinfo/index.html:61 +#: templates/fireinfo/index.html:58 msgid "Random profile" msgstr "" @@ -1774,70 +1774,75 @@ msgstr "" msgid "%s core processor" msgstr "" -#: templates/fireinfo/profile-detail.html:73 +#: templates/fireinfo/profile-detail.html:74 msgid "using Intel Hyper-Threading Technology" msgstr "" -#: templates/fireinfo/profile-detail.html:80 +#: templates/fireinfo/profile-detail.html:76 +#, python-format +msgid "with %s logical cores" +msgstr "" + +#: templates/fireinfo/profile-detail.html:84 msgid "Supported features" msgstr "" -#: templates/fireinfo/profile-detail.html:86 +#: templates/fireinfo/profile-detail.html:90 msgid "64 bit" msgstr "" -#: templates/fireinfo/profile-detail.html:88 +#: templates/fireinfo/profile-detail.html:92 msgid "AES-NI" msgstr "" -#: templates/fireinfo/profile-detail.html:90 +#: templates/fireinfo/profile-detail.html:94 msgid "NX" msgstr "" -#: templates/fireinfo/profile-detail.html:96 +#: templates/fireinfo/profile-detail.html:100 msgid "VT-x/AMD-V" msgstr "" -#: templates/fireinfo/profile-detail.html:108 +#: templates/fireinfo/profile-detail.html:112 msgid "Hypervisor" msgstr "" -#: templates/fireinfo/profile-detail.html:112 +#: templates/fireinfo/profile-detail.html:116 msgid "VMware" msgstr "" -#: templates/fireinfo/profile-detail.html:121 +#: templates/fireinfo/profile-detail.html:125 msgid "Vendor" msgstr "" -#: templates/fireinfo/profile-detail.html:126 +#: templates/fireinfo/profile-detail.html:130 msgid "Model" msgstr "" -#: templates/fireinfo/profile-detail.html:149 +#: templates/fireinfo/profile-detail.html:153 msgid "System Storage" msgstr "" -#: templates/fireinfo/profile-detail.html:154 +#: templates/fireinfo/profile-detail.html:158 msgid "Kernel" msgstr "" -#: templates/fireinfo/profile-detail.html:160 templates/mirrors-item.html:30 +#: templates/fireinfo/profile-detail.html:164 templates/mirrors-item.html:30 #: templates/admin-mirrors-create.html:24 #: templates/talk/phonebook-contact.html:106 #: templates/downloads-mirrors.html:49 templates/admin-mirrors-details.html:25 msgid "Location" msgstr "" -#: templates/fireinfo/profile-detail.html:169 +#: templates/fireinfo/profile-detail.html:173 msgid "Language" msgstr "" -#: templates/fireinfo/profile-detail.html:183 +#: templates/fireinfo/profile-detail.html:187 msgid "Signature images" msgstr "" -#: templates/fireinfo/profile-detail.html:198 templates/admin-mirrors.html:15 +#: templates/fireinfo/profile-detail.html:202 templates/admin-mirrors.html:15 #: templates/download-mirror-detail.html:20 #: templates/downloads-mirrors.html:50 msgid "Last update" @@ -2381,8 +2386,12 @@ msgstr "" msgid "Donate" msgstr "" -#: templates/donate.html:10 -msgid "We need your help!" +#: templates/donate.html:69 +msgid "Did you know...?" +msgstr "" + +#: templates/donate.html:88 +msgid "Recurring Donations" msgstr "" #: templates/geoip/index.html:3 templates/geoip/index.html:7 @@ -2813,29 +2822,25 @@ msgid "%d%% funded" msgstr "" #: templates/modules/donation-box.html:4 -msgid "Donate with PayPal or Credit Card" +msgid "Donate with PayPal" msgstr "" -#: templates/modules/donation-box.html:64 +#: templates/modules/donation-box.html:40 msgid "Donate by Bank Transfer" msgstr "" -#: templates/modules/donation-box.html:81 +#: templates/modules/donation-box.html:57 msgid "IBAN" msgstr "" -#: templates/modules/donation-box.html:82 +#: templates/modules/donation-box.html:60 msgid "BIC-/SWIFT-Code" msgstr "" -#: templates/modules/donation-box.html:85 +#: templates/modules/donation-box.html:64 msgid "Reason for transfer" msgstr "" -#: templates/modules/donation-box.html:98 -msgid "Did you know...?" -msgstr "" - #: templates/modules/planet-entry.html:14 templates/planet/posting.html:22 msgid "Posted by" msgstr "" diff --git a/webapp/__init__.py b/webapp/__init__.py index 22e4e0d..6cab6c0 100644 --- a/webapp/__init__.py +++ b/webapp/__init__.py @@ -36,6 +36,7 @@ class Application(tornado.web.Application): ui_modules = { "Advertisement" : AdvertisementModule, "DonationBox" : DonationBoxModule, + "DonationButton" : DonationButtonModule, "DownloadButton" : DownloadButtonModule, "LanguageName" : LanguageNameModule, "Map" : MapModule, diff --git a/webapp/handlers.py b/webapp/handlers.py index 8a082b0..d9b17bc 100644 --- a/webapp/handlers.py +++ b/webapp/handlers.py @@ -126,7 +126,10 @@ class GeoIPHandler(BaseHandler): class DonateHandler(BaseHandler): def get(self): + reason_for_transfer = self.get_argument("reason_for_transfer", None) + # Interesting items from the wishlist. wishlist_items = self.wishlist.get_hot_wishes() - self.render("donate.html", wishlist_items=wishlist_items) + self.render("donate.html", wishlist_items=wishlist_items, + reason_for_transfer=reason_for_transfer) diff --git a/webapp/ui_modules.py b/webapp/ui_modules.py index 47673ee..832d4e3 100644 --- a/webapp/ui_modules.py +++ b/webapp/ui_modules.py @@ -373,14 +373,20 @@ class WishlistItemsModule(UIModule): class DonationBoxModule(UIModule): - def render(self, reason_for_transfer=None, show_wishlist_items=False): + def render(self, reason_for_transfer=None): if reason_for_transfer: reason_for_transfer = "IPFire.org - %s" % reason_for_transfer - # Interesting items from the wishlist. - wishlist_items = [] - if show_wishlist_items: - wishlist_items = self.wishlist.get_hot_wishes() - return self.render_string("modules/donation-box.html", - reason_for_transfer=reason_for_transfer, wishlist_items=wishlist_items) + reason_for_transfer=reason_for_transfer) + + +class DonationButtonModule(UIModule): + def render(self, reason_for_transfer=None, currency="EUR"): + if not reason_for_transfer: + reason_for_transfer = "IPFire.org" + + primary = (currency == "EUR") + + return self.render_string("modules/donation-button.html", primary=primary, + reason_for_transfer=reason_for_transfer, currency=currency) -- 2.39.2