From 6004a7ede40f23bb57adc2f273790e70cc0b50ab Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Sat, 23 Sep 2017 01:03:43 +0530 Subject: [PATCH 01/45] new welcome email --- .../datacenterlight/emails/welcome_user.html | 45 +++++++++++++++++++ .../datacenterlight/emails/welcome_user.txt | 9 ++++ datacenterlight/urls.py | 12 +++-- hosting/views.py | 23 +++++++++- 4 files changed, 84 insertions(+), 5 deletions(-) create mode 100644 datacenterlight/templates/datacenterlight/emails/welcome_user.html create mode 100644 datacenterlight/templates/datacenterlight/emails/welcome_user.txt diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.html b/datacenterlight/templates/datacenterlight/emails/welcome_user.html new file mode 100644 index 00000000..be90f9b8 --- /dev/null +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.html @@ -0,0 +1,45 @@ +{% load static i18n %} + + + + + + + {% trans "Welcome to Data Center Light!" %} + + + + + + + + + + + + + + + + + + + + + +
+ +
+

{% trans "Welcome to Data Center Light!" %}

+
+

+ {% blocktrans %}Thanks for joining us! We provide the most affordable virtual machines from the heart of Switzerland.
Try now, order a VM. VM price starts from only 15CHF per month.{% endblocktrans %} +

+
+ {% trans "ORDER VM" %} +
+

Your Data Center Light Team

+
+ + + \ No newline at end of file diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.txt b/datacenterlight/templates/datacenterlight/emails/welcome_user.txt new file mode 100644 index 00000000..59fc242b --- /dev/null +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.txt @@ -0,0 +1,9 @@ +{% load static i18n %} + +{% trans "Welcome to Data Center Light!" %} + +{% blocktrans %}Thanks for joining us! We provide the most affordable virtual machines from the heart of Switzerland.
Try now, order a VM. VM price starts from only 15CHF per month.{% endblocktrans %} + +{{ base_url }}{% url 'hosting:create_virtual_machine' %} + +Your Data Center Light Team \ No newline at end of file diff --git a/datacenterlight/urls.py b/datacenterlight/urls.py index 772e691d..8f0bf646 100644 --- a/datacenterlight/urls.py +++ b/datacenterlight/urls.py @@ -1,11 +1,17 @@ from django.conf.urls import url -from .views import IndexView, BetaProgramView, LandingProgramView, \ - BetaAccessView, PricingView, SuccessView, \ - PaymentOrderView, OrderConfirmationView, \ +from .views import ( + IndexView, BetaProgramView, LandingProgramView, BetaAccessView, + PricingView, SuccessView, PaymentOrderView, OrderConfirmationView, WhyDataCenterLightView, ContactUsView +) + +from django.views.generic import TemplateView + urlpatterns = [ + url(r'^test/$', TemplateView.as_view( + template_name='datacenterlight/emails/welcome_user.html')), url(r'^$', IndexView.as_view(), name='index'), url(r'^t/$', IndexView.as_view(), name='index_t'), url(r'^g/$', IndexView.as_view(), name='index_g'), diff --git a/hosting/views.py b/hosting/views.py index e1d2feb2..4272afe9 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -255,12 +255,31 @@ class SignupValidatedView(SignupValidateView): login_url = '' + str(_('login')) + '' section_title = _('Account activation') + user = CustomUser.objects.filter( + validation_slug=self.kwargs['validate_slug']).first() + pre_valid = user.validated if validated: message = '{account_activation_string}
{login_string} {lurl}.'.format( account_activation_string=_( "Your account has been activated."), login_string=_("You can now"), lurl=login_url) + if not pre_valid: + email_data = { + 'subject': 'Welcome to Data Center Light!', + 'to': self.request.user.email, + 'context': { + 'base_url': "{0}://{1}".format( + self.request.scheme, + self.request.get_host() + ) + }, + 'template_name': 'welcome_user', + 'template_path': 'datacenterlight/emails/', + 'from_address': settings.DCL_SUPPORT_FROM_ADDRESS, + } + email = BaseEmail(**email_data) + email.send() else: home_url = '\n" "Language-Team: LANGUAGE \n" @@ -163,6 +163,18 @@ msgstr "" "den folgenden Link in die Adressleiste deines Browsers.\n" "%(base_url)s%(activation_link)s\n" +msgid "Welcome to Data Center Light!" +msgstr "Willkommen zu Data Center Light!" + +msgid "" +"Thanks for joining us! We provide the most affordable virtual machines from " +"the heart of Switzerland.
Try now, order a VM. VM price starts from only " +"15CHF per month." +msgstr "" + +msgid "ORDER VM" +msgstr "VM BESTELLEN" + msgid "Home" msgstr "Home" diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.html b/datacenterlight/templates/datacenterlight/emails/welcome_user.html index be90f9b8..cbde6d3b 100644 --- a/datacenterlight/templates/datacenterlight/emails/welcome_user.html +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.html @@ -36,7 +36,7 @@ -

Your Data Center Light Team

+

{% trans "Your Data Center Light Team" %}

diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.txt b/datacenterlight/templates/datacenterlight/emails/welcome_user.txt index 59fc242b..b2df2cd1 100644 --- a/datacenterlight/templates/datacenterlight/emails/welcome_user.txt +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.txt @@ -6,4 +6,4 @@ {{ base_url }}{% url 'hosting:create_virtual_machine' %} -Your Data Center Light Team \ No newline at end of file +{% trans "Your Data Center Light Team" %} \ No newline at end of file From 057a2c77a6ed649027a2b19bb977db69f6f21418 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Sat, 23 Sep 2017 01:57:40 +0530 Subject: [PATCH 03/45] password reset email, user activation email redesigned --- alplora/locale/de/LC_MESSAGES/django.po | 75 +- .../locale/de/LC_MESSAGES/django.po | 46 +- .../emails/user_activation.html | 58 +- .../emails/user_activation.txt | 15 +- .../datacenterlight/emails/welcome_user.html | 7 +- .../datacenterlight/emails/welcome_user.txt | 5 +- datacenterlight/urls.py | 2 +- digitalglarus/locale/de/LC_MESSAGES/django.po | 1274 +---------------- hosting/locale/de/LC_MESSAGES/django.po | 83 +- .../hosting/emails/password_reset_email.html | 63 +- .../hosting/emails/password_reset_email.txt | 21 +- membership/locale/de/LC_MESSAGES/django.po | 25 +- ungleich_page/locale/de/LC_MESSAGES/django.po | 60 +- utils/locale/de/LC_MESSAGES/django.po | 5 +- 14 files changed, 279 insertions(+), 1460 deletions(-) diff --git a/alplora/locale/de/LC_MESSAGES/django.po b/alplora/locale/de/LC_MESSAGES/django.po index c39a4595..2669c811 100644 --- a/alplora/locale/de/LC_MESSAGES/django.po +++ b/alplora/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-05-30 13:47+0000\n" +"POT-Creation-Date: 2017-09-23 01:50+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,137 +18,99 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: alplora/templates/alplora/contact.html:6 msgid "New message" msgstr "Neue Nachricht" -#: alplora/templates/alplora/contact.html:13 msgid "Name:" msgstr "Name:" -#: alplora/templates/alplora/contact.html:15 msgid "What is your name ?" msgstr "Was ist Dein Name?" -#: alplora/templates/alplora/contact.html:19 msgid "From:" msgstr "Von:" -#: alplora/templates/alplora/contact.html:21 msgid "You email" msgstr "Deine Email" -#: alplora/templates/alplora/contact.html:25 msgid "Message:" msgstr "Nachricht:" -#: alplora/templates/alplora/contact.html:27 msgid "Leave us your message" msgstr "Schreibe hier Deine Nachricht" -#: alplora/templates/alplora/contact.html:32 msgid "Close" msgstr "schliessen" -#: alplora/templates/alplora/contact.html:33 msgid "Send message" msgstr "Nachricht senden" -#: alplora/templates/alplora/contact_success.html:6 msgid "Message Sent" msgstr "Nachricht gesendet" -#: alplora/templates/alplora/contact_success.html:9 msgid "Thank you, we will contact you as soon as possible" msgstr "Dankeschön! Wir melden uns sobald wie möglich!" -#: alplora/templates/alplora/index.html:13 msgid "Find your animal anywhere, anytime" msgstr "Finde deine Tiere" -#: alplora/templates/alplora/index.html:99 -#: alplora/templates/alplora/index.html:463 msgid "About" msgstr "Über" -#: alplora/templates/alplora/index.html:102 -#: alplora/templates/alplora/index.html:248 -#: alplora/templates/alplora/index.html:469 msgid "Why Alplora?" msgstr "Warum Alplora?" -#: alplora/templates/alplora/index.html:105 -#: alplora/templates/alplora/index.html:466 msgid "Usecase" msgstr "" -#: alplora/templates/alplora/index.html:108 -#: alplora/templates/alplora/index.html:358 msgid "Testimonials" msgstr "Referenzen" -#: alplora/templates/alplora/index.html:111 -#: alplora/templates/alplora/index.html:423 -#: alplora/templates/alplora/index.html:477 msgid "Contact" msgstr "Kontakt" -#: alplora/templates/alplora/index.html:114 msgid "Login" msgstr "Login" -#: alplora/templates/alplora/index.html:137 msgid "Find your herd anytime, anywhere" msgstr "Finde deine Herde jederzeit und überall" -#: alplora/templates/alplora/index.html:138 msgid "Perfect fit for Swiss Alps" msgstr "Perfekt für die Schweizer Alpen" -#: alplora/templates/alplora/index.html:163 msgid "What is Alplora?" msgstr "Was ist Alplora?" -#: alplora/templates/alplora/index.html:164 msgid "" "Alplora is an animal tracker made for outdoor grazing animals in Swiss Alps." msgstr "" "Alplora ist ein Sender, der speziell für Weidetiere in den Schweizer Alpen " "entwickelt wurde." -#: alplora/templates/alplora/index.html:165 msgid "Alplora is just like a cattle bell, but much better." msgstr "Alplora ist wie eine Kuhglocke, nur viel besser." -#: alplora/templates/alplora/index.html:174 msgid "LOST" msgstr "VERLOREN" -#: alplora/templates/alplora/index.html:176 msgid "When an animal gets separated from the herd and is lost." msgstr "Wenn ein Tier sich von der Herde absondert und verloren geht." -#: alplora/templates/alplora/index.html:184 msgid "WOLF" msgstr "WOLF" -#: alplora/templates/alplora/index.html:186 msgid "When a wolf gets close to the herd." msgstr "Wenn ein Wolf sich der Herde nähert." -#: alplora/templates/alplora/index.html:193 msgid "INJURED" msgstr "VERLETZT" -#: alplora/templates/alplora/index.html:195 msgid "When one of the animals is hurt." msgstr "Wenn eins der Tiere verletzt ist." -#: alplora/templates/alplora/index.html:205 msgid "How does Alplora track my animals?" msgstr "Wie kann Alplora meine Tiere verfolgen und ausfindig machen ?" -#: alplora/templates/alplora/index.html:206 msgid "" "Each animal will be wearing a small tracker,

and the tracker will be " "sending a signal every 30 to 60 minutes." @@ -156,33 +118,27 @@ msgstr "" "Jedes Tier wird einen kleinen Sender tragen,

welcher alle 30 bis 60 " "Minuten ein Signal senden wird." -#: alplora/templates/alplora/index.html:215 msgid "Access app" msgstr "Zugang zur App" -#: alplora/templates/alplora/index.html:217 msgid "" "You can see the animal locations on a map by logging into our Alplora app." msgstr "" "Du kannst den Standort deiner Tiere jederzeit auf einer Karte verfolgen, " "indem du dich in unsere Alplora App einloggst." -#: alplora/templates/alplora/index.html:225 msgid "Get an alarm" msgstr "Erhalte ein Warnsignal" -#: alplora/templates/alplora/index.html:227 msgid "" "When certain signals for danger are detected, Alplora sends an alarm to you." msgstr "" "Wenn Anzeichen von Gefahr bestehen, sendet dir die Alplora App einen " "Warnsignal." -#: alplora/templates/alplora/index.html:235 msgid "Find your animal" msgstr "Finde deine Tiere" -#: alplora/templates/alplora/index.html:238 msgid "" "You can locate the animal in trouble on the realtime map and can take " "actions for keeping the animal safe." @@ -190,11 +146,9 @@ msgstr "" "Du kannst dein Tier in Notsituationen auf einer Echtzeit-Karte lokalisieren " "und hast die Möglichkeit es in Sicherheit zu bringen." -#: alplora/templates/alplora/index.html:255 msgid "Perfect fit for Swiss mountains" msgstr "Perfekt für die Schweizer Alpen" -#: alplora/templates/alplora/index.html:257 msgid "" "Alplora is made and tested for Swiss Alps. It is a perfect fit for Swiss " "environment." @@ -202,11 +156,9 @@ msgstr "" "Alplora wurde speziell für die Schweizer Alpen entwickelt und vor Ort " "getestet. Das Produkt passt perfekt in die Schweiz!" -#: alplora/templates/alplora/index.html:263 msgid "Energy efficient" msgstr "Energieeffizient" -#: alplora/templates/alplora/index.html:265 msgid "" "Alplora uses the latest wireless technology, our batteries last the whole " "alp season." @@ -214,11 +166,9 @@ msgstr "" "Alplora arbeitet mit den neuesten Technologien, so dass der Akku die gesamte " "Alpsaison überdauert." -#: alplora/templates/alplora/index.html:271 msgid "Made with love" msgstr "Mit Liebe gemacht" -#: alplora/templates/alplora/index.html:273 msgid "" "With a lot of love and respect for Swiss agriculture and nature, Alplora is " "made by a Swiss company." @@ -226,61 +176,49 @@ msgstr "" "Alplora wurde mit viel Liebe und Respekt für die Schweizer Natur und " "Landwirtschaft von einer Schweizer Firma entwickelt." -#: alplora/templates/alplora/index.html:285 msgid "Who needs Alplora?" msgstr "Wer benötigt Alplora?" -#: alplora/templates/alplora/index.html:301 msgid " Are your animals..." msgstr "Sind deine Tiere..." -#: alplora/templates/alplora/index.html:304 msgid "sheep, goats, cows or llamas living freely in the Alps?" msgstr "Schafe, Ziegen, Kühe oder Lamas, die frei in den Alpen leben?" -#: alplora/templates/alplora/index.html:306 msgid "wearing bells?" msgstr "solche, die Glocken tragen?" -#: alplora/templates/alplora/index.html:308 msgid "" "sometimes getting confused and going too far away from where they are " "supposed to be?" msgstr "" "manchmal verwirrt und entfernen sich zu weit von ihrem vorgesehenen Standort?" -#: alplora/templates/alplora/index.html:332 msgid "Do you..." msgstr "Möchtest du..." -#: alplora/templates/alplora/index.html:335 msgid "have animals which are staying outdoor during some time of the year?" msgstr "" "deine Tiere, die eine längere Zeit im Jahr unbeobachtet Draussen verbringen, " "schützen und überwachen können?" -#: alplora/templates/alplora/index.html:337 msgid "want to get an alarm when your animal is hurt, or in danger?" msgstr "" "alarmiert werden, wenn sich eines deiner Tiere verletzt oder in Gefahr " "befindet ?" -#: alplora/templates/alplora/index.html:339 msgid "want to see where your animals are on your cell phone map?" msgstr "" "mit deinem Smartphone auf einer Karte sehen können, wo sich deine Tiere " "befinden? " -#: alplora/templates/alplora/index.html:341 msgid "want to make sure 24/7 that your animals are safe?" msgstr "" "sicherstellen, dass sich deine Tiere rund um die Uhr in Sicherheit befinden?" -#: alplora/templates/alplora/index.html:359 msgid "What our customers say" msgstr "" -#: alplora/templates/alplora/index.html:379 msgid "" "“Alplora is an innovation in looking after my cows. I can check where my " "cows have been in the higher mountain all day while doing other works at the " @@ -292,11 +230,9 @@ msgstr "" "selben Zeit andereDinge auf dem Hof unten im Dorf erledigen. Dank Alplora " "kann ich meinen Kühenmehr Sicherheit gewährleisten." -#: alplora/templates/alplora/index.html:382 msgid "Farmer in canton Glarus" msgstr "Bauern im Kanton Glarus" -#: alplora/templates/alplora/index.html:388 msgid "" "\"Alplora is exactly what I was waiting for. I have lost my sheep almost " "every year. Finally I have a way when I want to locate them.\"" @@ -305,11 +241,9 @@ msgstr "" "Schafe fastjedes Jahr aus den Augen verloren. Nun habe ich endlich die " "Möglichkeit, sie zulokalisieren.\"" -#: alplora/templates/alplora/index.html:391 msgid "Owner of 50 sheep " msgstr "Besitzerin von 50 Schafen" -#: alplora/templates/alplora/index.html:397 msgid "" "\"I have a farm down all the way down in the village and y goats are always " "freely grazing in the Alps. There are times that I am worried about them but " @@ -323,30 +257,23 @@ msgstr "" "noch um meineanderen Tiere kümmern muss. Mit Alplora kann ich nun ohne " "Probleme beides tun.\"" -#: alplora/templates/alplora/index.html:401 msgid "Farmer at Berner Oberland" msgstr "Bauer aus dem Berner Oberland" -#: alplora/templates/alplora/index.html:418 msgid "How do I get Alplora?" msgstr "Wie kriege ich Zugriff zu Alplora?" -#: alplora/templates/alplora/index.html:419 msgid "Click the button below and leave us your contact." msgstr "Klicke unten auf Kontakt und hinterlasse uns deine Angaben." -#: alplora/templates/alplora/index.html:419 msgid "Team Alplora will contact you and visit you with a tracking device." msgstr "Das Alpora Team wird sich mit Dir schnellstens in Verbindung setzen." -#: alplora/templates/alplora/index.html:459 msgid "Home" msgstr "Startseite" -#: alplora/templates/alplora/index.html:472 msgid "Testimonials " msgstr "Referenzen" -#: alplora/views.py:24 msgid "Message Successfully Sent" msgstr "" diff --git a/datacenterlight/locale/de/LC_MESSAGES/django.po b/datacenterlight/locale/de/LC_MESSAGES/django.po index eb1584d3..dd57b3a4 100644 --- a/datacenterlight/locale/de/LC_MESSAGES/django.po +++ b/datacenterlight/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-23 01:05+0530\n" +"POT-Creation-Date: 2017-09-23 01:50+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -132,44 +132,40 @@ msgstr "" msgid "Thank you!" msgstr "Vielen Dank!" -msgid "Account Activation" -msgstr "Account Aktivierung" +msgid "Data Center Light Account Activation" +msgstr "Data Center Light Account Aktivierung" #, python-format msgid "" -"\n" -"You can activate your Data Center Light account by
clicking here.
\n" -"You can also copy and paste the following link into the address bar of your " -"browser
\n" -"to activate your Data Center Light account.
\n" -"%(base_url)s%(activation_link)s\n" +"You can activate your Data Center Light account by clicking here." msgstr "" -"\n" -"Klicke hier um deinen Data " -"Center Light Account zu aktivieren oder kopiere den folgenden Link in die " -"Adressleiste deines Browsers.
\n" -"%(base_url)s%(activation_link)s\n" +"Klicke here um deinen Data Center " +"Light Account zu aktivieren." -#, python-format msgid "" -"You can activate your Data Center Light account by clicking here.\n" "You can also copy and paste the following link into the address bar of your " -"browser\n" -"to activate your Data Center Light account.\n" -"%(base_url)s%(activation_link)s\n" +"browser to activate your Data Center Light account." msgstr "" -"Klicke hier, um deinen Data Center Light Account zu aktivieren oder kopiere " -"den folgenden Link in die Adressleiste deines Browsers.\n" -"%(base_url)s%(activation_link)s\n" +"Kopiere den folgenden Link in die Adressleiste deines Browsers." + +msgid "" +"You can copy and paste the following link into the address bar of your " +"browser to activate your Data Center Light account." +msgstr "" +"Kopiere den folgenden Link in die Adressleiste deines Browsers." msgid "Welcome to Data Center Light!" msgstr "Willkommen zu Data Center Light!" msgid "" "Thanks for joining us! We provide the most affordable virtual machines from " -"the heart of Switzerland.
Try now, order a VM. VM price starts from only " -"15CHF per month." +"the heart of Switzerland." +msgstr "" + +msgid "Try now, order a VM. VM price starts from only 15CHF per month." msgstr "" msgid "ORDER VM" diff --git a/datacenterlight/templates/datacenterlight/emails/user_activation.html b/datacenterlight/templates/datacenterlight/emails/user_activation.html index 955eed18..9c8c0367 100644 --- a/datacenterlight/templates/datacenterlight/emails/user_activation.html +++ b/datacenterlight/templates/datacenterlight/emails/user_activation.html @@ -1,14 +1,44 @@ -{% extends "datacenterlight/emails/base_email_datacenterlight.html" %} -{% load static from staticfiles %} -{% load i18n %} -{% block email_head %} -{{dcl_text}} {% trans 'Account Activation' %} -{% endblock %} -{% block email_body %} -{% blocktrans %} -You can activate your Data Center Light account by clicking here.
-You can also copy and paste the following link into the address bar of your browser
-to activate your Data Center Light account.
-{{base_url}}{{activation_link}} -{% endblocktrans %} -{% endblock %} +{% load static i18n %} + + + + + + + {% trans "Data Center Light Account Activation" %} + + + + + + + + + + + + + + + + + + +
+ +
+

{% trans "Data Center Light Account Activation" %}

+
+

+ {% blocktrans %}You can activate your Data Center Light account by clicking here.{% endblocktrans %}
+ {% blocktrans %}You can also copy and paste the following link into the address bar of your browser to activate your Data Center Light account.{% endblocktrans %}
+

+

+ {{base_url}}{{activation_link}} +

+
+

{% trans "Your Data Center Light Team" %}

+
+ + + diff --git a/datacenterlight/templates/datacenterlight/emails/user_activation.txt b/datacenterlight/templates/datacenterlight/emails/user_activation.txt index 84ec50a9..13b3e7bf 100644 --- a/datacenterlight/templates/datacenterlight/emails/user_activation.txt +++ b/datacenterlight/templates/datacenterlight/emails/user_activation.txt @@ -1,10 +1,9 @@ -{% extends "datacenterlight/emails/base_email_datacenterlight.txt" %} {% load i18n %} -{% block email_head %}{{dcl_text}} {% trans 'Account Activation' %}{% endblock %} -{% block email_body %} -{% blocktrans %}You can activate your Data Center Light account by clicking here. -You can also copy and paste the following link into the address bar of your browser -to activate your Data Center Light account. + +{% trans "Data Center Light Account Activation" %} + +{% blocktrans %}You can copy and paste the following link into the address bar of your browser to activate your Data Center Light account.{% endblocktrans %} + {{base_url}}{{activation_link}} -{% endblocktrans %} -{% endblock %} + +{% trans "Your Data Center Light Team" %} \ No newline at end of file diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.html b/datacenterlight/templates/datacenterlight/emails/welcome_user.html index cbde6d3b..f426de20 100644 --- a/datacenterlight/templates/datacenterlight/emails/welcome_user.html +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.html @@ -24,13 +24,14 @@ -

- {% blocktrans %}Thanks for joining us! We provide the most affordable virtual machines from the heart of Switzerland.
Try now, order a VM. VM price starts from only 15CHF per month.{% endblocktrans %} +

+ {% blocktrans %}Thanks for joining us! We provide the most affordable virtual machines from the heart of Switzerland.{% endblocktrans %}
+ {% blocktrans %}Try now, order a VM. VM price starts from only 15CHF per month.{% endblocktrans %}

- + {% trans "ORDER VM" %} diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.txt b/datacenterlight/templates/datacenterlight/emails/welcome_user.txt index b2df2cd1..0e7820e6 100644 --- a/datacenterlight/templates/datacenterlight/emails/welcome_user.txt +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.txt @@ -1,8 +1,9 @@ -{% load static i18n %} +{% load i18n %} {% trans "Welcome to Data Center Light!" %} -{% blocktrans %}Thanks for joining us! We provide the most affordable virtual machines from the heart of Switzerland.
Try now, order a VM. VM price starts from only 15CHF per month.{% endblocktrans %} +{% blocktrans %}Thanks for joining us! We provide the most affordable virtual machines from the heart of Switzerland.{% endblocktrans %} +{% blocktrans %}Try now, order a VM. VM price starts from only 15CHF per month.{% endblocktrans %} {{ base_url }}{% url 'hosting:create_virtual_machine' %} diff --git a/datacenterlight/urls.py b/datacenterlight/urls.py index 8f0bf646..095a0645 100644 --- a/datacenterlight/urls.py +++ b/datacenterlight/urls.py @@ -11,7 +11,7 @@ from django.views.generic import TemplateView urlpatterns = [ url(r'^test/$', TemplateView.as_view( - template_name='datacenterlight/emails/welcome_user.html')), + template_name='hosting/emails/password_reset_email.html')), url(r'^$', IndexView.as_view(), name='index'), url(r'^t/$', IndexView.as_view(), name='index_t'), url(r'^g/$', IndexView.as_view(), name='index_g'), diff --git a/digitalglarus/locale/de/LC_MESSAGES/django.po b/digitalglarus/locale/de/LC_MESSAGES/django.po index f4193749..9ce67a57 100644 --- a/digitalglarus/locale/de/LC_MESSAGES/django.po +++ b/digitalglarus/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-07-16 17:50+0000\n" +"POT-Creation-Date: 2017-09-23 01:50+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,1447 +18,331 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cms_templates/djangocms_blog/_header_post_detail.html:21 -#: digitalglarus/templates/digitalglarus/post_detail.html:19 -#: ungleich/templates/ungleich/djangocms_blog/includes/blog_item.html:19 msgid "Posted on" msgstr "Veröffentlicht am" -#: cms_templates/djangocms_blog/post_list.html:11 -#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:11 msgid "Articles by" msgstr "Artikel vom" -#: cms_templates/djangocms_blog/post_list.html:12 -#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:12 msgid "Archive" msgstr "Archiv" -#: cms_templates/djangocms_blog/post_list.html:13 -#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:13 msgid "Tag" msgstr "" -#: cms_templates/djangocms_blog/post_list.html:14 -#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:14 msgid "Category" msgstr "Kategorie" -#: cms_templates/djangocms_blog/post_list.html:21 -#: digitalglarus/templates/glarus_blog/post_list.html:15 -#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:22 msgid "No article found." msgstr "Keine Artikel gefunden" -#: cms_templates/djangocms_blog/post_list.html:24 -#: digitalglarus/templates/glarus_blog/post_list.html:18 -#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:25 msgid "Back" msgstr "Zurück" -#: cms_templates/djangocms_blog/post_list.html:32 -#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:33 msgid "Newer Posts" msgstr "Neuere Einträge" -#: cms_templates/djangocms_blog/post_list.html:39 -#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:40 msgid "Older Posts" msgstr "Ältere Einträge" -#: cms_templates/includes/blog_item.html:31 -#: digitalglarus/templates/glarus_blog/includes/blog_item.html:32 msgid "read more" msgstr "weiterlesen" -#: cms_templates/includes/blog_meta.html:6 -#: digitalglarus/templates/glarus_blog/includes/blog_meta.html:6 msgid "by" msgstr "von" -#: digitalglarus/cms_plugins.py:9 -msgid "Digital Glarus Gallery" -msgstr "" - -#: digitalglarus/cms_plugins.py:22 -msgid "Digital Glarus Supporters" -msgstr "" - -#: digitalglarus/forms.py:34 digitalglarus/forms.py:69 nosystemd/forms.py:47 -#: utils/forms.py:107 -msgid "Street Address" -msgstr "Adresse" - -#: digitalglarus/forms.py:35 digitalglarus/forms.py:70 nosystemd/forms.py:48 -#: utils/forms.py:108 utils/forms.py:123 -msgid "City" -msgstr "Stadt" - -#: digitalglarus/forms.py:36 digitalglarus/forms.py:71 nosystemd/forms.py:49 -#: utils/forms.py:109 utils/forms.py:124 -msgid "Postal Code" -msgstr "Postleitzahl" - -#: digitalglarus/forms.py:37 digitalglarus/forms.py:72 nosystemd/forms.py:50 -#: utils/forms.py:110 utils/forms.py:125 -msgid "Country" -msgstr "Land" - -#: digitalglarus/templates/digitalglarus/login.html:88 -#: digitalglarus/templates/digitalglarus/login_hello.html:32 -#: nosystemd/templates/nosystemd/login.html:23 -msgid "You haven been logged out" -msgstr "Sie wurden abgemeldet" - -#: digitalglarus/templates/glarus_blog/post_list.html:23 -#: nosystemd/templates/nosystemd/donations.html:74 -msgid "previous" -msgstr "vorherige" - -#: digitalglarus/templates/glarus_blog/post_list.html:26 -#: dynamicweb/settings/base.py:192 templates/cms/__init__.py:10 -#: templates/cms/ungleichch/__init__.py:5 -msgid "Page" -msgstr "Seite" - -#: digitalglarus/templates/glarus_blog/post_list.html:26 -msgid "of" -msgstr "vom" - -#: digitalglarus/templates/glarus_blog/post_list.html:29 -#: nosystemd/templates/nosystemd/donations.html:80 -msgid "next" -msgstr "nächste" - -#: digitalglarus/templates/language_chooser.html:8 -#: ungleich/templates/cms/ungleichch/_header_base.html:23 -msgid "Change to language:" -msgstr "Sprache wechseln zu: " - -#: digitalglarus/templates/new_base_glarus.html:161 -#: digitalglarus/templates/new_base_glarus.html:184 -#: digitalglarus/templates/new_base_glarus_c.html:176 -#: digitalglarus/templates/new_base_glarus_c.html:199 -msgid "Bookings" -msgstr "" - -#: digitalglarus/templates/new_base_glarus.html:165 -#: digitalglarus/templates/new_base_glarus.html:188 -#: digitalglarus/templates/new_base_glarus_c.html:180 -#: digitalglarus/templates/new_base_glarus_c.html:203 -msgid "Membership" -msgstr "" - -#: digitalglarus/templates/new_base_glarus.html:171 -#: digitalglarus/templates/new_base_glarus.html:194 -#: digitalglarus/templates/new_base_glarus_c.html:186 -#: digitalglarus/templates/new_base_glarus_c.html:209 -#: nosystemd/templates/nosystemd/base.html:76 -msgid "Logout" -msgstr "" - -#: digitalglarus/urls.py:16 -msgid "booking/payment/edit/?$" -msgstr "" - -#: digitalglarus/urls.py:17 -msgid "^$" -msgstr "" - -#: digitalglarus/urls.py:19 -msgid "support-us/?$" -msgstr "" - -#: digitalglarus/urls.py:20 -msgid "contact/?$" -msgstr "kontakt/?$" - -#: digitalglarus/urls.py:21 -msgid "login/?$" -msgstr "" - -#: digitalglarus/urls.py:22 -msgid "signup/?$" -msgstr "" - -#: digitalglarus/urls.py:28 -msgid "history/?$" -msgstr "" - -#: digitalglarus/urls.py:29 -msgid "users/billing_address/?$" -msgstr "" - -#: digitalglarus/urls.py:31 -msgid "booking/?$" -msgstr "" - -#: digitalglarus/urls.py:32 -msgid "booking/payment/?$" -msgstr "" - -#: digitalglarus/urls.py:33 -msgid "booking/orders/(?P\\d+)/?$" -msgstr "" - -#: digitalglarus/urls.py:37 -msgid "booking/orders/?$" -msgstr "" - -#: digitalglarus/urls.py:39 -msgid "membership/payment/?$" -msgstr "" - -#: digitalglarus/urls.py:40 -msgid "membership/activated/?$" -msgstr "" - -#: digitalglarus/urls.py:42 -msgid "membership/deactivate/?$" -msgstr "" - -#: digitalglarus/urls.py:44 -msgid "membership/reactivate/?$" -msgstr "" - -#: digitalglarus/urls.py:46 -msgid "membership/deactivate/success/?$" -msgstr "" - -#: digitalglarus/urls.py:48 -msgid "membership/pricing/?$" -msgstr "" - -#: digitalglarus/urls.py:50 -msgid "membership/orders/(?P\\d+)/?$" -msgstr "" - -#: digitalglarus/urls.py:52 -#, fuzzy -#| msgid "supporters/?$" -msgid "membership/orders/?$" -msgstr "befurworter/?$" - -#: digitalglarus/urls.py:54 -msgid "supporters/?$" -msgstr "befurworter/?$" - -#: digitalglarus/views.py:715 -msgid "Message Successfully Sent" -msgstr "" - -#: dynamicweb/settings-test/__init__.py:181 msgid "US English" msgstr "" -#: dynamicweb/settings-test/__init__.py:182 msgid "German" msgstr "" -#: dynamicweb/settings-test/__init__.py:235 -#: dynamicweb/settings-test/__init__.py:244 dynamicweb/settings/base.py:280 -#: dynamicweb/settings/base.py:289 msgid "Content" msgstr "" -#: dynamicweb/settings/base.py:181 msgid "default" msgstr "" -#: dynamicweb/settings/base.py:182 msgid "2 Column" msgstr "" -#: dynamicweb/settings/base.py:183 msgid "3 Column" msgstr "" -#: dynamicweb/settings/base.py:184 templates/cms/__init__.py:4 -#: templates/cms/digitalglarus/__init__.py:4 msgid "DG.About" msgstr "" -#: dynamicweb/settings/base.py:185 templates/cms/__init__.py:5 -#: templates/cms/digitalglarus/__init__.py:5 #, fuzzy #| msgid "contact/?$" msgid "DG.Contact" msgstr "kontakt/?$" -#: dynamicweb/settings/base.py:186 templates/cms/__init__.py:6 -#: templates/cms/digitalglarus/__init__.py:6 msgid "DG.Home" msgstr "" -#: dynamicweb/settings/base.py:187 templates/cms/__init__.py:7 -#: templates/cms/digitalglarus/__init__.py:7 msgid "DG.CoWork" msgstr "" -#: dynamicweb/settings/base.py:189 msgid "DG.OneColumn" msgstr "" -#: dynamicweb/settings/base.py:191 templates/cms/__init__.py:9 -#: templates/cms/ungleichch/__init__.py:4 msgid "Blog" msgstr "" -#: dynamicweb/settings/base.py:221 +msgid "Page" +msgstr "Seite" + +msgid "Data Center Light" +msgstr "" + msgid "English" msgstr "" -#: dynamicweb/settings/base.py:222 msgid "Deutsch" msgstr "" -#: nosystemd/forms.py:46 msgid "Amount" msgstr "Betrag" -#: nosystemd/templates/nosystemd/base.html:70 +msgid "Street Address" +msgstr "Adresse" + +msgid "City" +msgstr "Stadt" + +msgid "Postal Code" +msgstr "Postleitzahl" + +msgid "Country" +msgstr "Land" + msgid "My Donations" msgstr "" -#: nosystemd/templates/nosystemd/confirm_reset_password.html:24 +msgid "Logout" +msgstr "" + msgid "Set your new password" msgstr "" -#: nosystemd/templates/nosystemd/confirm_reset_password.html:33 -#: nosystemd/templates/nosystemd/reset_password.html:25 msgid "Reset" msgstr "" -#: nosystemd/templates/nosystemd/confirm_reset_password.html:37 -#: nosystemd/templates/nosystemd/reset_password.html:29 -#: nosystemd/templates/nosystemd/signup.html:33 msgid "Already have an account ?" msgstr "" -#: nosystemd/templates/nosystemd/confirm_reset_password.html:37 msgid "Log in" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:15 msgid "Invoice" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:15 msgid "Donation #" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:20 msgid "Billing Address:" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:28 msgid "Date:" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:38 msgid "Payment Method:" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:49 msgid "Donation summary" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:52 -#: nosystemd/templates/nosystemd/donations.html:49 msgid "Donation" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:54 msgid "Total" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:60 msgid "Finish Configuration" msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:68 msgid "" "Thanks for you donation, you can cancel your monthly donation at any time " "going to profile > subscription " msgstr "" -#: nosystemd/templates/nosystemd/donation_detail.html:74 msgid "View Donations" msgstr "" -#: nosystemd/templates/nosystemd/donations.html:28 -#: nosystemd/templates/nosystemd/donator_status.html:26 msgid "Cancel Donation" msgstr "" -#: nosystemd/templates/nosystemd/donations.html:35 msgid "Donate" msgstr "" -#: nosystemd/templates/nosystemd/donations.html:44 msgid "Donations Made" msgstr "" -#: nosystemd/templates/nosystemd/donations.html:50 msgid "Date" msgstr "" -#: nosystemd/templates/nosystemd/donations.html:62 msgid "View Detail" msgstr "" -#: nosystemd/templates/nosystemd/donator_status.html:28 +msgid "previous" +msgstr "vorherige" + +msgid "next" +msgstr "nächste" + msgid "Reanude Donation" msgstr "" -#: nosystemd/templates/nosystemd/emails/password_reset_email.html:2 -#: nosystemd/templates/nosystemd/emails/password_reset_email.txt:2 #, python-format msgid "" "You're receiving this email because you requested a password reset for your " "user account at %(site_name)s." msgstr "" -#: nosystemd/templates/nosystemd/emails/password_reset_email.html:4 -#: nosystemd/templates/nosystemd/emails/password_reset_email.txt:4 msgid "Please go to the following page and choose a new password:" msgstr "" -#: nosystemd/templates/nosystemd/emails/password_reset_email.html:9 -#: nosystemd/templates/nosystemd/emails/password_reset_email.txt:9 msgid "Thanks for using our site!" msgstr "" -#: nosystemd/templates/nosystemd/emails/password_reset_email.html:11 -#: nosystemd/templates/nosystemd/emails/password_reset_email.txt:11 #, python-format msgid "The %(site_name)s team" msgstr "" -#: nosystemd/templates/nosystemd/login.html:30 +msgid "You haven been logged out" +msgstr "Sie wurden abgemeldet" + msgid "Log in " msgstr "" -#: nosystemd/templates/nosystemd/login.html:40 -#: nosystemd/templates/nosystemd/reset_password.html:29 -#: nosystemd/templates/nosystemd/signup.html:33 msgid "Login" msgstr "" -#: nosystemd/templates/nosystemd/login.html:44 msgid "Don't have an account yet ? " msgstr "" -#: nosystemd/templates/nosystemd/login.html:44 -#: nosystemd/templates/nosystemd/signup.html:17 -#: nosystemd/templates/nosystemd/signup.html:29 msgid "Sign up" msgstr "" -#: nosystemd/templates/nosystemd/login.html:46 msgid "Forgot your password ? " msgstr "" -#: nosystemd/templates/nosystemd/reset_password.html:16 msgid "Reset your password" msgstr "" -#: templates/cms/__init__.py:8 templates/cms/digitalglarus/__init__.py:8 msgid "DG.Detail" msgstr "" -#: ungleich/cms_toolbar.py:23 msgid "Page Header" msgstr "" -#: ungleich/views.py:79 +msgid "Change to language:" +msgstr "Sprache wechseln zu: " + #, python-format msgid "No %(verbose_name)s found matching the query" msgstr "" -#: utils/fields.py:6 -msgid "Andorra" +msgid "Digital Glarus Gallery" msgstr "" -#: utils/fields.py:7 -msgid "United Arab Emirates" +msgid "Digital Glarus Supporters" msgstr "" -#: utils/fields.py:8 -msgid "Afghanistan" -msgstr "" - -#: utils/fields.py:9 -msgid "Antigua & Barbuda" -msgstr "" - -#: utils/fields.py:10 -msgid "Anguilla" -msgstr "" - -#: utils/fields.py:11 -msgid "Albania" -msgstr "" - -#: utils/fields.py:12 -msgid "Armenia" -msgstr "" - -#: utils/fields.py:13 -msgid "Netherlands Antilles" -msgstr "" - -#: utils/fields.py:14 -msgid "Angola" -msgstr "" - -#: utils/fields.py:15 -msgid "Antarctica" -msgstr "" - -#: utils/fields.py:16 -msgid "Argentina" -msgstr "" - -#: utils/fields.py:17 -msgid "American Samoa" -msgstr "" - -#: utils/fields.py:18 -msgid "Austria" -msgstr "" - -#: utils/fields.py:19 -msgid "Australia" -msgstr "" - -#: utils/fields.py:20 -msgid "Aruba" -msgstr "" - -#: utils/fields.py:21 -msgid "Azerbaijan" -msgstr "" - -#: utils/fields.py:22 -msgid "Bosnia and Herzegovina" -msgstr "" - -#: utils/fields.py:23 -msgid "Barbados" -msgstr "" - -#: utils/fields.py:24 -msgid "Bangladesh" -msgstr "" - -#: utils/fields.py:25 -msgid "Belgium" -msgstr "" - -#: utils/fields.py:26 -msgid "Burkina Faso" -msgstr "" - -#: utils/fields.py:27 -msgid "Bulgaria" -msgstr "" - -#: utils/fields.py:28 -msgid "Bahrain" -msgstr "" - -#: utils/fields.py:29 -msgid "Burundi" -msgstr "" - -#: utils/fields.py:30 -msgid "Benin" -msgstr "" - -#: utils/fields.py:31 -msgid "Bermuda" -msgstr "" - -#: utils/fields.py:32 -msgid "Brunei Darussalam" -msgstr "" - -#: utils/fields.py:33 -msgid "Bolivia" -msgstr "" - -#: utils/fields.py:34 -msgid "Brazil" -msgstr "" - -#: utils/fields.py:35 -msgid "Bahama" -msgstr "" - -#: utils/fields.py:36 -msgid "Bhutan" -msgstr "" - -#: utils/fields.py:37 -msgid "Bouvet Island" -msgstr "" - -#: utils/fields.py:38 -msgid "Botswana" -msgstr "" - -#: utils/fields.py:39 -msgid "Belarus" -msgstr "" - -#: utils/fields.py:40 -msgid "Belize" -msgstr "" - -#: utils/fields.py:41 -msgid "Canada" -msgstr "" - -#: utils/fields.py:42 -msgid "Cocos (Keeling) Islands" -msgstr "" - -#: utils/fields.py:43 -msgid "Central African Republic" -msgstr "" - -#: utils/fields.py:44 -msgid "Congo" -msgstr "" - -#: utils/fields.py:45 -msgid "Switzerland" -msgstr "" - -#: utils/fields.py:46 -msgid "Ivory Coast" -msgstr "" - -#: utils/fields.py:47 -msgid "Cook Iislands" -msgstr "" - -#: utils/fields.py:48 -msgid "Chile" -msgstr "" - -#: utils/fields.py:49 -msgid "Cameroon" -msgstr "" - -#: utils/fields.py:50 -msgid "China" -msgstr "" - -#: utils/fields.py:51 -msgid "Colombia" -msgstr "" - -#: utils/fields.py:52 -msgid "Costa Rica" -msgstr "" - -#: utils/fields.py:53 -msgid "Cuba" -msgstr "" - -#: utils/fields.py:54 -msgid "Cape Verde" -msgstr "" - -#: utils/fields.py:55 -msgid "Christmas Island" -msgstr "" - -#: utils/fields.py:56 -msgid "Cyprus" -msgstr "" - -#: utils/fields.py:57 -msgid "Czech Republic" -msgstr "" - -#: utils/fields.py:58 -msgid "Germany" -msgstr "" - -#: utils/fields.py:59 -msgid "Djibouti" -msgstr "" - -#: utils/fields.py:60 -msgid "Denmark" -msgstr "" - -#: utils/fields.py:61 -msgid "Dominica" -msgstr "" - -#: utils/fields.py:62 -msgid "Dominican Republic" -msgstr "" - -#: utils/fields.py:63 -msgid "Algeria" -msgstr "" - -#: utils/fields.py:64 -msgid "Ecuador" -msgstr "" - -#: utils/fields.py:65 -msgid "Estonia" -msgstr "" - -#: utils/fields.py:66 -msgid "Egypt" -msgstr "" - -#: utils/fields.py:67 -msgid "Western Sahara" -msgstr "" - -#: utils/fields.py:68 -msgid "Eritrea" -msgstr "" - -#: utils/fields.py:69 -msgid "Spain" -msgstr "" - -#: utils/fields.py:70 -msgid "Ethiopia" -msgstr "" - -#: utils/fields.py:71 -msgid "Finland" -msgstr "" - -#: utils/fields.py:72 -msgid "Fiji" -msgstr "" - -#: utils/fields.py:73 -msgid "Falkland Islands (Malvinas)" -msgstr "" - -#: utils/fields.py:74 -msgid "Micronesia" -msgstr "" - -#: utils/fields.py:75 -msgid "Faroe Islands" -msgstr "" - -#: utils/fields.py:76 -msgid "France" -msgstr "" - -#: utils/fields.py:77 -msgid "France, Metropolitan" -msgstr "" - -#: utils/fields.py:78 -msgid "Gabon" -msgstr "" - -#: utils/fields.py:79 -msgid "United Kingdom (Great Britain)" -msgstr "" - -#: utils/fields.py:80 -msgid "Grenada" -msgstr "" - -#: utils/fields.py:81 -msgid "Georgia" -msgstr "" - -#: utils/fields.py:82 -msgid "French Guiana" -msgstr "" - -#: utils/fields.py:83 -msgid "Ghana" -msgstr "" - -#: utils/fields.py:84 -msgid "Gibraltar" -msgstr "" - -#: utils/fields.py:85 -msgid "Greenland" -msgstr "" - -#: utils/fields.py:86 -msgid "Gambia" -msgstr "" - -#: utils/fields.py:87 -msgid "Guinea" -msgstr "" - -#: utils/fields.py:88 -msgid "Guadeloupe" -msgstr "" - -#: utils/fields.py:89 -msgid "Equatorial Guinea" -msgstr "" - -#: utils/fields.py:90 -msgid "Greece" -msgstr "" - -#: utils/fields.py:91 -msgid "South Georgia and the South Sandwich Islands" -msgstr "" - -#: utils/fields.py:92 -msgid "Guatemala" -msgstr "" - -#: utils/fields.py:93 -msgid "Guam" -msgstr "" - -#: utils/fields.py:94 -msgid "Guinea-Bissau" -msgstr "" - -#: utils/fields.py:95 -msgid "Guyana" -msgstr "" - -#: utils/fields.py:96 -msgid "Hong Kong" -msgstr "" - -#: utils/fields.py:97 -msgid "Heard & McDonald Islands" -msgstr "" - -#: utils/fields.py:98 -msgid "Honduras" -msgstr "" - -#: utils/fields.py:99 -msgid "Croatia" -msgstr "" - -#: utils/fields.py:100 -msgid "Haiti" -msgstr "" - -#: utils/fields.py:101 -msgid "Hungary" -msgstr "" - -#: utils/fields.py:102 -msgid "Indonesia" -msgstr "" - -#: utils/fields.py:103 -msgid "Ireland" -msgstr "" - -#: utils/fields.py:104 -msgid "Israel" -msgstr "" - -#: utils/fields.py:105 -msgid "India" -msgstr "" - -#: utils/fields.py:106 -msgid "British Indian Ocean Territory" -msgstr "" - -#: utils/fields.py:107 -msgid "Iraq" -msgstr "" - -#: utils/fields.py:108 -msgid "Islamic Republic of Iran" -msgstr "" - -#: utils/fields.py:109 -msgid "Iceland" -msgstr "" - -#: utils/fields.py:110 -msgid "Italy" -msgstr "" - -#: utils/fields.py:111 -msgid "Jamaica" -msgstr "" - -#: utils/fields.py:112 -msgid "Jordan" -msgstr "" - -#: utils/fields.py:113 -msgid "Japan" -msgstr "" - -#: utils/fields.py:114 -msgid "Kenya" -msgstr "" - -#: utils/fields.py:115 -msgid "Kyrgyzstan" -msgstr "" +msgid "of" +msgstr "vom" -#: utils/fields.py:116 -msgid "Cambodia" +msgid "Bookings" msgstr "" -#: utils/fields.py:117 -msgid "Kiribati" +msgid "Membership" msgstr "" -#: utils/fields.py:118 -msgid "Comoros" +msgid "booking/payment/edit/?$" msgstr "" -#: utils/fields.py:119 -msgid "St. Kitts and Nevis" +msgid "^$" msgstr "" -#: utils/fields.py:120 -msgid "Korea, Democratic People's Republic of" +msgid "support-us/?$" msgstr "" -#: utils/fields.py:121 -msgid "Korea, Republic of" -msgstr "" - -#: utils/fields.py:122 -msgid "Kuwait" -msgstr "" - -#: utils/fields.py:123 -msgid "Cayman Islands" -msgstr "" - -#: utils/fields.py:124 -msgid "Kazakhstan" -msgstr "" - -#: utils/fields.py:125 -msgid "Lao People's Democratic Republic" -msgstr "" - -#: utils/fields.py:126 -msgid "Lebanon" -msgstr "" - -#: utils/fields.py:127 -msgid "Saint Lucia" -msgstr "" - -#: utils/fields.py:128 -msgid "Liechtenstein" -msgstr "" - -#: utils/fields.py:129 -msgid "Sri Lanka" -msgstr "" - -#: utils/fields.py:130 -msgid "Liberia" -msgstr "" - -#: utils/fields.py:131 -msgid "Lesotho" -msgstr "" - -#: utils/fields.py:132 -msgid "Lithuania" -msgstr "" - -#: utils/fields.py:133 -msgid "Luxembourg" -msgstr "" - -#: utils/fields.py:134 -msgid "Latvia" -msgstr "" - -#: utils/fields.py:135 -msgid "Libyan Arab Jamahiriya" -msgstr "" - -#: utils/fields.py:136 -msgid "Morocco" -msgstr "" - -#: utils/fields.py:137 -msgid "Monaco" -msgstr "" - -#: utils/fields.py:138 -msgid "Moldova, Republic of" -msgstr "" - -#: utils/fields.py:139 -msgid "Madagascar" -msgstr "" - -#: utils/fields.py:140 -msgid "Marshall Islands" -msgstr "" - -#: utils/fields.py:141 -msgid "Mali" -msgstr "" - -#: utils/fields.py:142 -msgid "Mongolia" -msgstr "" - -#: utils/fields.py:143 -msgid "Myanmar" -msgstr "" - -#: utils/fields.py:144 -msgid "Macau" -msgstr "" - -#: utils/fields.py:145 -msgid "Northern Mariana Islands" -msgstr "" - -#: utils/fields.py:146 -msgid "Martinique" -msgstr "" - -#: utils/fields.py:147 -msgid "Mauritania" -msgstr "" - -#: utils/fields.py:148 -msgid "Monserrat" -msgstr "" - -#: utils/fields.py:149 -msgid "Malta" -msgstr "" - -#: utils/fields.py:150 -msgid "Mauritius" -msgstr "" - -#: utils/fields.py:151 -msgid "Maldives" -msgstr "" - -#: utils/fields.py:152 -msgid "Malawi" -msgstr "" - -#: utils/fields.py:153 -msgid "Mexico" -msgstr "" - -#: utils/fields.py:154 -msgid "Malaysia" -msgstr "" - -#: utils/fields.py:155 -msgid "Mozambique" -msgstr "" - -#: utils/fields.py:156 -msgid "Namibia" -msgstr "" - -#: utils/fields.py:157 -msgid "New Caledonia" -msgstr "" - -#: utils/fields.py:158 -msgid "Niger" -msgstr "" - -#: utils/fields.py:159 -msgid "Norfolk Island" -msgstr "" - -#: utils/fields.py:160 -msgid "Nigeria" -msgstr "" - -#: utils/fields.py:161 -msgid "Nicaragua" -msgstr "" +msgid "contact/?$" +msgstr "kontakt/?$" -#: utils/fields.py:162 -msgid "Netherlands" +msgid "login/?$" msgstr "" -#: utils/fields.py:163 -msgid "Norway" +msgid "signup/?$" msgstr "" -#: utils/fields.py:164 -msgid "Nepal" +msgid "history/?$" msgstr "" -#: utils/fields.py:165 -msgid "Nauru" +msgid "users/billing_address/?$" msgstr "" -#: utils/fields.py:166 -msgid "Niue" +msgid "booking/?$" msgstr "" -#: utils/fields.py:167 -msgid "New Zealand" +msgid "booking/payment/?$" msgstr "" -#: utils/fields.py:168 -msgid "Oman" +msgid "booking/orders/(?P\\d+)/?$" msgstr "" -#: utils/fields.py:169 -msgid "Panama" +msgid "booking/orders/?$" msgstr "" -#: utils/fields.py:170 -msgid "Peru" +msgid "membership/payment/?$" msgstr "" -#: utils/fields.py:171 -msgid "French Polynesia" +msgid "membership/activated/?$" msgstr "" -#: utils/fields.py:172 -msgid "Papua New Guinea" +msgid "membership/deactivate/?$" msgstr "" -#: utils/fields.py:173 -msgid "Philippines" +msgid "membership/reactivate/?$" msgstr "" -#: utils/fields.py:174 -msgid "Pakistan" +msgid "membership/deactivate/success/?$" msgstr "" -#: utils/fields.py:175 -msgid "Poland" +msgid "membership/pricing/?$" msgstr "" -#: utils/fields.py:176 -msgid "St. Pierre & Miquelon" +msgid "membership/orders/(?P\\d+)/?$" msgstr "" -#: utils/fields.py:177 -msgid "Pitcairn" -msgstr "" - -#: utils/fields.py:178 -msgid "Puerto Rico" -msgstr "" - -#: utils/fields.py:179 -msgid "Portugal" -msgstr "" - -#: utils/fields.py:180 -msgid "Palau" -msgstr "" +#, fuzzy +#| msgid "supporters/?$" +msgid "membership/orders/?$" +msgstr "befurworter/?$" -#: utils/fields.py:181 -msgid "Paraguay" -msgstr "" - -#: utils/fields.py:182 -msgid "Qatar" -msgstr "" - -#: utils/fields.py:183 -msgid "Reunion" -msgstr "" - -#: utils/fields.py:184 -msgid "Romania" -msgstr "" +msgid "supporters/?$" +msgstr "befurworter/?$" -#: utils/fields.py:185 -msgid "Russian Federation" +msgid "Message Successfully Sent" msgstr "" -#: utils/fields.py:186 -msgid "Rwanda" -msgstr "" - -#: utils/fields.py:187 -msgid "Saudi Arabia" -msgstr "" - -#: utils/fields.py:188 -msgid "Solomon Islands" -msgstr "" - -#: utils/fields.py:189 -msgid "Seychelles" -msgstr "" - -#: utils/fields.py:190 -msgid "Sudan" -msgstr "" - -#: utils/fields.py:191 -msgid "Sweden" -msgstr "" - -#: utils/fields.py:192 -msgid "Singapore" -msgstr "" +#~ msgid "Enter your name or company name" +#~ msgstr "Geben Sie Ihren Namen oder der Ihrer Firma ein" -#: utils/fields.py:193 -msgid "St. Helena" -msgstr "" - -#: utils/fields.py:194 -msgid "Slovenia" -msgstr "" - -#: utils/fields.py:195 -msgid "Svalbard & Jan Mayen Islands" -msgstr "" - -#: utils/fields.py:196 -msgid "Slovakia" -msgstr "" - -#: utils/fields.py:197 -msgid "Sierra Leone" -msgstr "" - -#: utils/fields.py:198 -msgid "San Marino" -msgstr "" - -#: utils/fields.py:199 -msgid "Senegal" -msgstr "" - -#: utils/fields.py:200 -msgid "Somalia" -msgstr "" - -#: utils/fields.py:201 -msgid "Suriname" -msgstr "" - -#: utils/fields.py:202 -msgid "Sao Tome & Principe" -msgstr "" - -#: utils/fields.py:203 -msgid "El Salvador" -msgstr "" - -#: utils/fields.py:204 -msgid "Syrian Arab Republic" -msgstr "" - -#: utils/fields.py:205 -msgid "Swaziland" -msgstr "" - -#: utils/fields.py:206 -msgid "Turks & Caicos Islands" -msgstr "" - -#: utils/fields.py:207 -msgid "Chad" -msgstr "" - -#: utils/fields.py:208 -msgid "French Southern Territories" -msgstr "" - -#: utils/fields.py:209 -msgid "Togo" -msgstr "" - -#: utils/fields.py:210 -msgid "Thailand" -msgstr "" - -#: utils/fields.py:211 -msgid "Tajikistan" -msgstr "" - -#: utils/fields.py:212 -msgid "Tokelau" -msgstr "" - -#: utils/fields.py:213 -msgid "Turkmenistan" -msgstr "" - -#: utils/fields.py:214 -msgid "Tunisia" -msgstr "" - -#: utils/fields.py:215 -msgid "Tonga" -msgstr "" - -#: utils/fields.py:216 -msgid "East Timor" -msgstr "" - -#: utils/fields.py:217 -msgid "Turkey" -msgstr "" - -#: utils/fields.py:218 -msgid "Trinidad & Tobago" -msgstr "" - -#: utils/fields.py:219 -msgid "Tuvalu" -msgstr "" - -#: utils/fields.py:220 -msgid "Taiwan, Province of China" -msgstr "" - -#: utils/fields.py:221 -msgid "Tanzania, United Republic of" -msgstr "" - -#: utils/fields.py:222 -msgid "Ukraine" -msgstr "" - -#: utils/fields.py:223 -msgid "Uganda" -msgstr "" - -#: utils/fields.py:224 -msgid "United States Minor Outlying Islands" -msgstr "" - -#: utils/fields.py:225 -msgid "United States of America" -msgstr "" - -#: utils/fields.py:226 -msgid "Uruguay" -msgstr "" - -#: utils/fields.py:227 -msgid "Uzbekistan" -msgstr "" - -#: utils/fields.py:228 -msgid "Vatican City State (Holy See)" -msgstr "" - -#: utils/fields.py:229 -msgid "St. Vincent & the Grenadines" -msgstr "" - -#: utils/fields.py:230 -msgid "Venezuela" -msgstr "" - -#: utils/fields.py:231 -msgid "British Virgin Islands" -msgstr "" - -#: utils/fields.py:232 -msgid "United States Virgin Islands" -msgstr "" - -#: utils/fields.py:233 -msgid "Viet Nam" -msgstr "" - -#: utils/fields.py:234 -msgid "Vanuatu" -msgstr "" - -#: utils/fields.py:235 -msgid "Wallis & Futuna Islands" -msgstr "" - -#: utils/fields.py:236 -msgid "Samoa" -msgstr "" - -#: utils/fields.py:237 -msgid "Yemen" -msgstr "" - -#: utils/fields.py:238 -msgid "Mayotte" -msgstr "" - -#: utils/fields.py:239 -msgid "Yugoslavia" -msgstr "" - -#: utils/fields.py:240 -msgid "South Africa" -msgstr "" - -#: utils/fields.py:241 -msgid "Zambia" -msgstr "" - -#: utils/fields.py:242 -msgid "Zaire" -msgstr "" - -#: utils/fields.py:243 -msgid "Zimbabwe" -msgstr "" - -#: utils/fields.py:244 -msgid "Unknown or unspecified country" -msgstr "" - -#: utils/forms.py:21 -msgid "Enter your name or company name" -msgstr "Geben Sie Ihren Namen oder der Ihrer Firma ein" - -#: utils/forms.py:106 -msgid "Cardholder Name" -msgstr "Name des Kartenbesitzer" - -#: utils/forms.py:122 -msgid "Street Building" -msgstr "" +#~ msgid "Cardholder Name" +#~ msgstr "Name des Kartenbesitzer" -#: utils/forms.py:142 -msgid "Name" -msgstr "Name" +#~ msgid "Name" +#~ msgstr "Name" -#: utils/forms.py:143 -msgid "Email" -msgstr "Email" +#~ msgid "Email" +#~ msgstr "Email" -#: utils/forms.py:144 -msgid "Phone number" -msgstr "Telefon" +#~ msgid "Phone number" +#~ msgstr "Telefon" -#: utils/forms.py:145 -msgid "Message" -msgstr "Nachricht" +#~ msgid "Message" +#~ msgstr "Nachricht" #, fuzzy #~ msgid "Card number" diff --git a/hosting/locale/de/LC_MESSAGES/django.po b/hosting/locale/de/LC_MESSAGES/django.po index ede9b66f..79721e0a 100644 --- a/hosting/locale/de/LC_MESSAGES/django.po +++ b/hosting/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-20 20:23+0000\n" +"POT-Creation-Date: 2017-09-23 01:50+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -215,39 +215,20 @@ msgstr "" msgid "Password Reset" msgstr "Passwort zurücksetzen" -#, python-format -msgid "" -"\n" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s.
\n" -"Please go to the following page and choose a new password: %(base_url)s" -"%(password_reset_url)s
\n" -"If you didn't request a new password, ignore this e-mail.
\n" -"Thank you!\n" +msgid "We received a request to reset your password." msgstr "" -"\n" -"Du erhälst diese E-Mail da du dein Passwort für deinen Account bei " -"%(site_name)s zurücksetzen möchtest.
\n" -"Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" -"%(password_reset_url)s Solltest du kein neues Passwort angefordert haben, " -"dann ignoriere diese E-Mail.
\n" -"Dankeschön!\n" -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s.\n" -"Please go to the following page and choose a new password: %(base_url)s" -"%(password_reset_url)s\n" -"If you didn't request a new password, ignore this e-mail.\n" -"Thank you!\n" +msgid "If you didn't make this request you can safely ignore this email." msgstr "" -"Du erhälst diese E-Mail da du dein Passwort für deinen Account bei " -"%(site_name)s zurücksetzen möchtest.\n" -"Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" -"%(password_reset_url)s Solltest du kein neues Passwort angefordert haben, " -"dann ignoriere diese E-Mail.\n" -"Dankeschön!\n" + +msgid "Otherwise, click here to reset your password." +msgstr "" + +msgid "Thank you!" +msgstr "" + +msgid "Your Data Center Light Team" +msgstr "Dein Data Center Light Team" #, python-format msgid "" @@ -374,7 +355,6 @@ msgstr "" msgid "Place order" msgstr "Bestelle" - msgid "Processing..." msgstr "Abarbeitung..." @@ -646,8 +626,8 @@ msgid "" "Your VM will be up and running in a few moments. We will send you a " "confirmation email as soon as it is ready." msgstr "" -"Deine VM ist gleich bereit. Wir senden Dir eine Bestätigungsemail, " -"sobald Du auf sie zugreifen kannst." +"Deine VM ist gleich bereit. Wir senden Dir eine Bestätigungsemail, sobald Du " +"auf sie zugreifen kannst." msgid "In order to create a VM, you need to create/upload your SSH KEY first." msgstr "" @@ -665,12 +645,41 @@ msgstr "VM Kündigung" msgid "VM %(VM_ID)s terminated successfully" msgstr "VM %(VM_ID)s erfolgreich beendet" +#~ msgid "" +#~ "\n" +#~ "You're receiving this email because you requested a password reset for " +#~ "your user account at %(site_name)s.
\n" +#~ "Please go to the following page and choose a new password: %(base_url)s" +#~ "%(password_reset_url)s
\n" +#~ "If you didn't request a new password, ignore this e-mail.
\n" +#~ "Thank you!\n" +#~ msgstr "" +#~ "\n" +#~ "Du erhälst diese E-Mail da du dein Passwort für deinen Account bei " +#~ "%(site_name)s zurücksetzen möchtest.
\n" +#~ "Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" +#~ "%(password_reset_url)s Solltest du kein neues Passwort angefordert haben, " +#~ "dann ignoriere diese E-Mail.
\n" +#~ "Dankeschön!\n" + +#~ msgid "" +#~ "You're receiving this email because you requested a password reset for " +#~ "your user account at %(site_name)s.\n" +#~ "Please go to the following page and choose a new password: %(base_url)s" +#~ "%(password_reset_url)s\n" +#~ "If you didn't request a new password, ignore this e-mail.\n" +#~ "Thank you!\n" +#~ msgstr "" +#~ "Du erhälst diese E-Mail da du dein Passwort für deinen Account bei " +#~ "%(site_name)s zurücksetzen möchtest.\n" +#~ "Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" +#~ "%(password_reset_url)s Solltest du kein neues Passwort angefordert haben, " +#~ "dann ignoriere diese E-Mail.\n" +#~ "Dankeschön!\n" + #~ msgid "Finish Configuration" #~ msgstr "Konfiguration beenden" -#~ msgid "Your New VM %(vm_name)s at Data Center Light" -#~ msgstr "Deine neue VM %(vm_name)s bei Data Center Light" - #~ msgid "My Virtual Machines" #~ msgstr "Meine virtuellen Maschinen" diff --git a/hosting/templates/hosting/emails/password_reset_email.html b/hosting/templates/hosting/emails/password_reset_email.html index b83a08f2..f5929f33 100644 --- a/hosting/templates/hosting/emails/password_reset_email.html +++ b/hosting/templates/hosting/emails/password_reset_email.html @@ -1,14 +1,49 @@ -{% extends "datacenterlight/emails/base_email_datacenterlight.html" %} -{% load i18n %} -{% block email_head %} -{% trans 'Password Reset' %} -{% endblock %} -{% block email_body %} -{% url 'hosting:reset_password_confirm' uidb64=uid token=token as password_reset_url %} -{% blocktrans %} -You're receiving this email because you requested a password reset for your user account at {{site_name}}.
-Please go to the following page and choose a new password: {{base_url}}{{ password_reset_url }}
-If you didn't request a new password, ignore this e-mail.
-Thank you! -{% endblocktrans %} -{% endblock %} +{% load static i18n %} + + + + + + + {% trans "Password Reset" %} + + + + + + + + + + + + + + + + + + +
+ +
+

{% trans "Password Reset" %}

+
+

+ {% trans "We received a request to reset your password." %}
+ {% trans "If you didn't make this request you can safely ignore this email." %}
+ {% trans "Otherwise, click here to reset your password." %} +

+

+ {% url 'hosting:reset_password_confirm' uidb64=uid token=token as password_reset_url %} + {{base_url}}{{ password_reset_url }} +

+

+ {% trans "Thank you!" %} +

+
+

{% trans "Your Data Center Light Team" %}

+
+ + + \ No newline at end of file diff --git a/hosting/templates/hosting/emails/password_reset_email.txt b/hosting/templates/hosting/emails/password_reset_email.txt index 769166ed..af97c78a 100644 --- a/hosting/templates/hosting/emails/password_reset_email.txt +++ b/hosting/templates/hosting/emails/password_reset_email.txt @@ -1,11 +1,12 @@ -{% extends "datacenterlight/emails/base_email_datacenterlight.txt" %} -{% load i18n %} -{% block email_head %}{% trans 'Password Reset' %}{% endblock %} -{% block email_body %} +{% trans "Password Reset" %} + +{% trans "We received a request to reset your password." %} +{% trans "If you didn't make this request you can safely ignore this email." %} +{% trans "Otherwise, click here to reset your password." %} + {% url 'hosting:reset_password_confirm' uidb64=uid token=token as password_reset_url %} -{% blocktrans %}You're receiving this email because you requested a password reset for your user account at {{site_name}}. -Please go to the following page and choose a new password: {{base_url}}{{ password_reset_url }} -If you didn't request a new password, ignore this e-mail. -Thank you! -{% endblocktrans %} -{% endblock %} +{{base_url}}{{ password_reset_url }} + +{% trans "Thank you!" %} + +{% trans "Your Data Center Light Team" %} diff --git a/membership/locale/de/LC_MESSAGES/django.po b/membership/locale/de/LC_MESSAGES/django.po index 42846dab..8732b6c4 100644 --- a/membership/locale/de/LC_MESSAGES/django.po +++ b/membership/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-23 02:05+0530\n" +"POT-Creation-Date: 2017-09-23 01:50+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,42 +18,35 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: forms.py:43 msgid "Name" msgstr "" -#: forms.py:43 msgid "Card number" msgstr "" -#: forms.py:43 msgid "Expiry date" msgstr "" -#: forms.py:44 msgid "CCV" msgstr "" -#: models.py:66 msgid "staff status" msgstr "" -#: models.py:68 msgid "Designates whether the user can log into this admin site." msgstr "" -#: models.py:90 -msgid "Activate your " -msgstr "Aktiviere deinen " +msgid "Account Activation" +msgstr "" -#: models.py:90 -msgid " account" -msgstr " Account" - -#: models.py:198 msgid "Use this pattern(MM/YYYY)." msgstr "" -#: models.py:199 msgid "Wrong CCV number." msgstr "" + +#~ msgid "Activate your " +#~ msgstr "Aktiviere deinen " + +#~ msgid " account" +#~ msgstr " Account" diff --git a/ungleich_page/locale/de/LC_MESSAGES/django.po b/ungleich_page/locale/de/LC_MESSAGES/django.po index dfba87c5..a4470c29 100644 --- a/ungleich_page/locale/de/LC_MESSAGES/django.po +++ b/ungleich_page/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-05-30 13:47+0000\n" +"POT-Creation-Date: 2017-09-23 01:50+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,110 +18,81 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ungleich_page/templates/ungleich_page/includes/_about.html:8 msgid "ABOUT" msgstr "Über ungleich" -#: ungleich_page/templates/ungleich_page/includes/_about.html:9 msgid "The timeline of ungleich" msgstr "Die Chronik von ungleich" -#: ungleich_page/templates/ungleich_page/includes/_about.html:24 msgid "The first incarnation of ungleich" msgstr "Die erste Inkarnation von ungleich" -#: ungleich_page/templates/ungleich_page/includes/_about.html:25 msgid "in Germany" msgstr "in Deutschland" -#: ungleich_page/templates/ungleich_page/includes/_about.html:37 msgid "ungleich founded" msgstr "ungleich gegründet" -#: ungleich_page/templates/ungleich_page/includes/_about.html:38 msgid "in Switzerland" msgstr "in der Schweiz" -#: ungleich_page/templates/ungleich_page/includes/_about.html:51 msgid "ungleich present at various conferences" msgstr "ungleich präsent an mehreren Konferenzen" -#: ungleich_page/templates/ungleich_page/includes/_about.html:65 msgid "ungleich introduces HA-Hosting" msgstr "ungleich führt HA-Hosting ein" -#: ungleich_page/templates/ungleich_page/includes/_about.html:66 msgid "and introduces affordable 24X7 support." msgstr "und führt kostengünstigen 24X7 Support ein." -#: ungleich_page/templates/ungleich_page/includes/_about.html:67 msgid "ungleich launches" msgstr "ungleich lanciert" -#: ungleich_page/templates/ungleich_page/includes/_about.html:68 msgid "Digital Glarus project" msgstr "Digital Glarus Projekt" -#: ungleich_page/templates/ungleich_page/includes/_about.html:74 msgid "and" msgstr "und" -#: ungleich_page/templates/ungleich_page/includes/_about.html:74 msgid "the story continues!" msgstr "Die Geschichte geht weiter!" -#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:15 -#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:28 -#: ungleich_page/views.py:36 msgid "Contact Us" msgstr "Kontaktieren Sie uns" -#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:18 msgid "Join us at" msgstr "Schliessen Sie sich uns an" -#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:19 msgid "Digital Glarus" msgstr "Digital Glarus" -#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:20 msgid "a great co-working space in the middle of Alps!" msgstr "ein wunderschöner Co-Working Space mitten in den Alpen" -#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:21 msgid "You can contact us at" msgstr "Sie können uns kontaktieren unter" -#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:26 msgid "or" msgstr "oder" -#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:60 msgid "Submit" msgstr "Absenden" -#: ungleich_page/templates/ungleich_page/includes/_footer.html:8 msgid "Copyright © ungleich GmbH " msgstr "Copyright © ungleich GmbH" -#: ungleich_page/templates/ungleich_page/includes/_footer.html:22 msgid "ungleich Home" msgstr "ungleich Home" -#: ungleich_page/templates/ungleich_page/includes/_header.html:11 msgid "We Design, Configure & Maintain
Your Linux Infrastructure " msgstr "Wir designen, erstellen und warten Ihre Linux-Infrastruktur" -#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:8 -#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:9 msgid "Hosting Products " msgstr "Hosting Produkte" -#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:16 msgid "HA Hosting" msgstr "HA Hosting" -#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:18 msgid "" "We offer high availablity hosting (HA) in Germany and in Switzerland. Our " "infrastructure is powered by Free and Open Source Software like OpenNebula, " @@ -131,22 +102,18 @@ msgstr "" "Schweiz. Unsere Infrastruktur ist unterstützt durch Free and Open Source " "Software wie OpenNebula." -#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:24 msgid "Rails Hosting" msgstr "Rails Hosting" -#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:26 msgid "" "Ready to go live with your Ruby on Rails application? We offer you ready-to-" "deploy virtual machines or configure your existing infrastructure for Ruby " "on Rails." msgstr "Sind bereit mit ihrem Ruby on Rails Applikation live zu gehen?" -#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:32 msgid " Configuration as a Service" msgstr "Konfiguration als Service" -#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:34 msgid "" "You are in need for a configuration?
With ungleich you have found an " "experienced team that configure your systems to provide service like DNS, E-" @@ -156,27 +123,22 @@ msgstr "" "gefunden, dass ihnen die Konfiguration von DNS, E-Mail, Datenbanken oder " "Webservern für ihr System anbietet" -#: ungleich_page/templates/ungleich_page/includes/_services.html:8 msgid "our services" msgstr "Unsere Dienstleistungen" -#: ungleich_page/templates/ungleich_page/includes/_services.html:10 msgid "We support our clients in all areas of Unix infrastructure." msgstr "" "Wir unterstützen unsere Klienten in allen Bereichen der Unix Infrastruktur." -#: ungleich_page/templates/ungleich_page/includes/_services.html:11 msgid "" "Our top notch configuration management is refreshingly simple and reliable." msgstr "" "Unser erstklassiges Konfigurationsmanagement ist erfrischend einfach und " "zuverlässig." -#: ungleich_page/templates/ungleich_page/includes/_services.html:20 msgid "Hosting" msgstr "Hosting" -#: ungleich_page/templates/ungleich_page/includes/_services.html:22 msgid "" "Ruby on Rails. Java hosting, Django hosting, we make it everything run " "smooth and safe." @@ -184,11 +146,9 @@ msgstr "" "Ruby on Rails. Java hosting, Django hosting, wir garantieren einen " "reibungslosen Ablauf" -#: ungleich_page/templates/ungleich_page/includes/_services.html:30 msgid "Configuration as a Service" msgstr "Konfiguration als Service" -#: ungleich_page/templates/ungleich_page/includes/_services.html:32 msgid "" "Ruby on Rails, Django, Java, Webserver, Mailserver, any infrastructure that " "needs to configured, we provide comprehensive solutions. Amazon, rackspace " @@ -198,11 +158,9 @@ msgstr "" "welche eine Konfiguration braucht, wir offerieren umfassende Lösungen, " "Amazon, Rackspace oder Bare Metal Servers, wir konfigurieren alles." -#: ungleich_page/templates/ungleich_page/includes/_services.html:40 msgid "Linux System Engineering" msgstr "Linux System Engineering" -#: ungleich_page/templates/ungleich_page/includes/_services.html:43 msgid "" "Let your developers develop! We take care of your system administration. " "Gentoo, Archlinux, Debian, Ubuntu, and many more." @@ -210,15 +168,12 @@ msgstr "" "Lassen sie ihre Entwickler entwickeln! Wir kümmern uns um ihre " "Systemadministration. Gentoo, Archlinux, Debian, Ubuntu und viele mehr." -#: ungleich_page/templates/ungleich_page/includes/_team.html:8 msgid "Why ungleich?*" msgstr "Warum ungleich?" -#: ungleich_page/templates/ungleich_page/includes/_team.html:9 msgid "What our customers say" msgstr "Was unsere Kunden sagen" -#: ungleich_page/templates/ungleich_page/includes/_team.html:29 msgid "" "\n" "\t\t\t \"ungleich helped us getting started with our internal\n" @@ -247,7 +202,6 @@ msgstr "" "Infrastruktur-Einrichtung erhalten, welche es unseren Technikern ermöglicht " "effizienter und bequemer zu arbeiten als zuvor." -#: ungleich_page/templates/ungleich_page/includes/_team.html:51 msgid "" "\n" "\t\t\t \"Thanks to ungleich team, who has designed and\n" @@ -265,7 +219,6 @@ msgstr "" "nur in der Kosteneinsparung aber auch zur Zeiteinsparung, was für IT-Firmen " "sehr wichtig ist." -#: ungleich_page/templates/ungleich_page/includes/_team.html:67 msgid "" "\n" "\t\t\t \"ungleich provided an excellent service in designing\n" @@ -292,7 +245,6 @@ msgstr "" "allen Firmen empfehlen, bei denen eine solide Infrastruktur stark gefragt " "ist." -#: ungleich_page/templates/ungleich_page/includes/_team.html:82 msgid "" "\n" "\t\t\t - Sebastian Plattner,\n" @@ -300,47 +252,37 @@ msgid "" "\t\t\t " msgstr "" -#: ungleich_page/templates/ungleich_page/includes/_team.html:95 msgid "*ungleich means not equal to (≠) U+2260." msgstr "*ungleich bedeutet nicht gleich wie (≠) U+2260." -#: ungleich_page/templates/ungleich_page/landing.html:85 #, fuzzy #| msgid "our services" msgid "Services" msgstr "Unsere Dienstleistungen" -#: ungleich_page/templates/ungleich_page/landing.html:90 msgid "products" msgstr "PRODUKTE" -#: ungleich_page/templates/ungleich_page/landing.html:93 msgid "About" msgstr "Über" -#: ungleich_page/templates/ungleich_page/landing.html:96 msgid "WHY UNGLEICH?" msgstr "WARUM UNGLEICH?" -#: ungleich_page/templates/ungleich_page/landing.html:99 msgid "BLOG" msgstr "BLOG" -#: ungleich_page/templates/ungleich_page/landing.html:102 msgid "CONTACT" msgstr "KONTAKT" -#: ungleich_page/urls.py:8 #, fuzzy #| msgid "Contact Us" msgid "contact/$" msgstr "Kontaktieren Sie uns" -#: ungleich_page/views.py:26 msgid "Message Successfully Sent" msgstr "Nachricht erfolgreich versendet" -#: ungleich_page/views.py:37 msgid "If you have any question, just send us an email." msgstr "" "Wenn Sie irgendwelche Fragen haben, schicken Sie uns einfach eine E-Mail." diff --git a/utils/locale/de/LC_MESSAGES/django.po b/utils/locale/de/LC_MESSAGES/django.po index fdc21502..39d6fa19 100644 --- a/utils/locale/de/LC_MESSAGES/django.po +++ b/utils/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-02 11:50+0000\n" +"POT-Creation-Date: 2017-09-23 01:50+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -769,7 +769,8 @@ msgid "Message" msgstr "Nachricht" msgid "The link to reset your email has been sent to your email" -msgstr "Der Link zum Zur?cksetzen deines Passwortes wurde an deine E-Mail gesendet" +msgstr "" +"Der Link zum Zur?cksetzen deines Passwortes wurde an deine E-Mail gesendet" msgid "Password Reset" msgstr "" From 6983b6f72e05d559ec530de58741523d572c564e Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Sat, 23 Sep 2017 02:27:19 +0530 Subject: [PATCH 04/45] all emails redesigned --- .../locale/de/LC_MESSAGES/django.po | 8 +- datacenterlight/urls.py | 4 - hosting/locale/de/LC_MESSAGES/django.po | 124 +++++++++--------- .../hosting/emails/new_booked_vm.html | 61 +++++++-- .../hosting/emails/new_booked_vm.txt | 20 +-- .../templates/hosting/emails/vm_canceled.html | 60 +++++++-- .../templates/hosting/emails/vm_canceled.txt | 21 ++- 7 files changed, 180 insertions(+), 118 deletions(-) diff --git a/datacenterlight/locale/de/LC_MESSAGES/django.po b/datacenterlight/locale/de/LC_MESSAGES/django.po index dd57b3a4..a9dfd3e2 100644 --- a/datacenterlight/locale/de/LC_MESSAGES/django.po +++ b/datacenterlight/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-23 01:50+0530\n" +"POT-Creation-Date: 2017-09-23 02:19+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -148,14 +148,12 @@ msgstr "" msgid "" "You can also copy and paste the following link into the address bar of your " "browser to activate your Data Center Light account." -msgstr "" -"Kopiere den folgenden Link in die Adressleiste deines Browsers." +msgstr "Kopiere den folgenden Link in die Adressleiste deines Browsers." msgid "" "You can copy and paste the following link into the address bar of your " "browser to activate your Data Center Light account." -msgstr "" -"Kopiere den folgenden Link in die Adressleiste deines Browsers." +msgstr "Kopiere den folgenden Link in die Adressleiste deines Browsers." msgid "Welcome to Data Center Light!" msgstr "Willkommen zu Data Center Light!" diff --git a/datacenterlight/urls.py b/datacenterlight/urls.py index 095a0645..0ac2c306 100644 --- a/datacenterlight/urls.py +++ b/datacenterlight/urls.py @@ -6,12 +6,8 @@ from .views import ( WhyDataCenterLightView, ContactUsView ) -from django.views.generic import TemplateView - urlpatterns = [ - url(r'^test/$', TemplateView.as_view( - template_name='hosting/emails/password_reset_email.html')), url(r'^$', IndexView.as_view(), name='index'), url(r'^t/$', IndexView.as_view(), name='index_t'), url(r'^g/$', IndexView.as_view(), name='index_g'), diff --git a/hosting/locale/de/LC_MESSAGES/django.po b/hosting/locale/de/LC_MESSAGES/django.po index 79721e0a..cbed82b7 100644 --- a/hosting/locale/de/LC_MESSAGES/django.po +++ b/hosting/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-23 01:50+0530\n" +"POT-Creation-Date: 2017-09-23 02:19+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -189,28 +189,27 @@ msgid "Support / Contact" msgstr "Support / Kontakt" #, python-format -msgid "" -"You have ordered a new virtual machine!\n" -"
\n" -"Your order of [%(vm_name)s] has been charged.

\n" -"You can view your invoice by clicking the button below.

\n" -msgstr "" -"Du hast eine neue virtuelle Maschine bestellt!
\n" -"Deine Bestellung von [%(vm_name)s] wurde erhoben.

\n" -"Um die Rechnung zu sehen, klicke auf den Button unten.

\n" +msgid "Your New VM %(vm_name)s" +msgstr "Deine Neue VM %(vm_name)s" -msgid "View Invoice" -msgstr "Zur Rechnung" +msgid "You have ordered a new virtual machine!" +msgstr "Du hast eine neue virtuelle Maschine bestellt!" #, python-format -msgid "" -"You have ordered a new virtual machine!\n" -"Your order of [%(vm_name)s] has been charged.\n" -"You can view your invoice here.\n" -msgstr "" -"Du hast eine neue virtuelle Maschine bestellt!\n" -"Deine Bestellung von [%(vm_name)s] wurde erhoben.\n" -"Um die Rechnung zu sehen, klicke hier.\n" +msgid "Your order of [%(vm_name)s] has been charged." +msgstr "Deine Bestellung von [%(vm_name)s] wurde erhoben." + +msgid "You can view your VM detail by clicking the button below." +msgstr "Um die Rechnung zu sehen, klicke auf den Button unten." + +msgid "View Detail" +msgstr "Details anzeigen" + +msgid "Your Data Center Light Team" +msgstr "Dein Data Center Light Team" + +msgid "You can view your VM detail by following the link below." +msgstr "Um die Rechnung zu sehen, klicke auf den Link unten." msgid "Password Reset" msgstr "Passwort zurücksetzen" @@ -227,44 +226,25 @@ msgstr "" msgid "Thank you!" msgstr "" -msgid "Your Data Center Light Team" -msgstr "Dein Data Center Light Team" +msgid "Virtual Machine Cancellation" +msgstr "VM Kündigung" #, python-format msgid "" -"You're receiving this mail because your virtual machine [%(vm_name)s] has " -"been cancelled.
\n" -"You can see your order status by clicking [my VM page] below.
\n" -"If you want to order a new virtual machine, you can do it by clicking this link.
\n" +"You are receiving this email because your virutal machine [%(vm_name)s] has " +"been cancelled." msgstr "" -"Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] gekündigt " -"wurde.
\n" -"Um deinen Auftragsstatus zu sehen, klicke auf die [my VM page] unten.
\n" -"Falls du eine neue virtuelle Maschine bestellen möchtest, kannst du dies " -"tun, indem du diesen " -"Link klickst.
\n" +"Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] " +"gekündigt wurde."" -msgid "My VM page" +msgid "You can always order a new VM by clicking the button below." msgstr "" -#, python-format -msgid "" -"You're receiving this mail because your virtual machine [%(vm_name)s] has " -"been cancelled.\n" -"You can see your order status by clicking here\n" -"%(base_url)s%(vm_order_url)s\n" -"If you want to order a new virtual machine, you can do it by clicking this " -"link.\n" -"%(base_url)s%(my_virtual_machines_url)s\n" +msgid "CREATE VM" +msgstr "NEUE VM" + +msgid "You can always order a new VM by following the link below." msgstr "" -"Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] gekündigt " -"wurde.\n" -"Um deinen Auftragsstatus zu sehen, klicke hier.\n" -"%(base_url)s%(vm_order_url)s\n" -"Falls du eine neue virtuelle Maschine bestellen möchtest, kannst du dies " -"tun, indem du diesen Link klickst.\n" -"%(base_url)s%(my_virtual_machines_url)s\n" msgid "Toggle navigation" msgstr "Konfiguration" @@ -571,12 +551,6 @@ msgstr "Virtuelle Maschinen" msgid "To create a new virtual machine, click \"Create VM\"" msgstr "Um eine neue VM zu erzeugen, klicke \"Neue VM erzeugen\"" -msgid "CREATE VM" -msgstr "NEUE VM" - -msgid "View Detail" -msgstr "Details anzeigen" - msgid "login" msgstr "Einloggen" @@ -638,13 +612,45 @@ msgid "" "contact Data Center Light Support." msgstr "Kontaktiere den Data Center Light Support." -msgid "Virtual Machine Cancellation" -msgstr "VM Kündigung" - #, python-format msgid "VM %(VM_ID)s terminated successfully" msgstr "VM %(VM_ID)s erfolgreich beendet" +#~ msgid "View Invoice" +#~ msgstr "Zur Rechnung" + +#~ msgid "" +#~ "You're receiving this mail because your virtual machine [%(vm_name)s] has " +#~ "been cancelled.
\n" +#~ "You can see your order status by clicking [my VM page] below.
\n" +#~ "If you want to order a new virtual machine, you can do it by clicking this link.
\n" +#~ msgstr "" +#~ "Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] " +#~ "gekündigt wurde.
\n" +#~ "Um deinen Auftragsstatus zu sehen, klicke auf die [my VM page] unten.
\n" +#~ "Falls du eine neue virtuelle Maschine bestellen möchtest, kannst du dies " +#~ "tun, indem du diesen " +#~ "Link klickst.
\n" + +#~ msgid "" +#~ "You're receiving this mail because your virtual machine [%(vm_name)s] has " +#~ "been cancelled.\n" +#~ "You can see your order status by clicking here\n" +#~ "%(base_url)s%(vm_order_url)s\n" +#~ "If you want to order a new virtual machine, you can do it by clicking " +#~ "this link.\n" +#~ "%(base_url)s%(my_virtual_machines_url)s\n" +#~ msgstr "" +#~ "Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] " +#~ "gekündigt wurde.\n" +#~ "Um deinen Auftragsstatus zu sehen, klicke hier.\n" +#~ "%(base_url)s%(vm_order_url)s\n" +#~ "Falls du eine neue virtuelle Maschine bestellen möchtest, kannst du dies " +#~ "tun, indem du diesen Link klickst.\n" +#~ "%(base_url)s%(my_virtual_machines_url)s\n" + #~ msgid "" #~ "\n" #~ "You're receiving this email because you requested a password reset for " diff --git a/hosting/templates/hosting/emails/new_booked_vm.html b/hosting/templates/hosting/emails/new_booked_vm.html index 864cf813..78134307 100644 --- a/hosting/templates/hosting/emails/new_booked_vm.html +++ b/hosting/templates/hosting/emails/new_booked_vm.html @@ -1,14 +1,47 @@ -{% extends "datacenterlight/emails/base_email_datacenterlight.html" %} -{% load i18n %} -{% block email_head %}{{page_header}}{% endblock %} -{% block email_body %} -{% url 'hosting:orders' order.id as order_url %} -{% blocktrans with vm.name as vm_name %}You have ordered a new virtual machine! -
-Your order of [{{vm_name}}] has been charged.

-You can view your invoice by clicking the button below.

-{% endblocktrans %} - -{% endblock %} +{% load static i18n %} + + + + + + + {% blocktrans %}Your New VM {{vm_name}}{% endblocktrans %} + + + + + + + + + + + + + + + + + + + + + +
+ +
+

{% blocktrans %}Your New VM {{vm_name}}{% endblocktrans %}

+
+

+ {% blocktrans %}You have ordered a new virtual machine!{% endblocktrans %}
+ {% blocktrans %}Your order of [{{vm_name}}] has been charged.{% endblocktrans %}
+ {% blocktrans %}You can view your VM detail by clicking the button below.{% endblocktrans %} +

+
+ {% trans "View Detail" %} +
+

{% trans "Your Data Center Light Team" %}

+
+ + + \ No newline at end of file diff --git a/hosting/templates/hosting/emails/new_booked_vm.txt b/hosting/templates/hosting/emails/new_booked_vm.txt index b8e3eed1..1520ccab 100644 --- a/hosting/templates/hosting/emails/new_booked_vm.txt +++ b/hosting/templates/hosting/emails/new_booked_vm.txt @@ -1,11 +1,11 @@ -{% extends "datacenterlight/emails/base_email_datacenterlight.txt" %} {% load i18n %} -{% block email_head %}{{page_header}}{% endblock %} -{% block email_body %} -{% url 'hosting:orders' order.id as order_url %} -{% blocktrans with vm.name as vm_name %}You have ordered a new virtual machine! -Your order of [{{vm_name}}] has been charged. -You can view your invoice here. -{% endblocktrans %} -{{ base_url }}{{order_url}} -{% endblock %} + +{% blocktrans %}Your New VM {{vm_name}}{% endblocktrans %} + +{% blocktrans %}You have ordered a new virtual machine!{% endblocktrans %} +{% blocktrans %}Your order of [{{vm_name}}] has been charged.{% endblocktrans %} +{% blocktrans %}You can view your VM detail by following the link below.{% endblocktrans %} + +{{ base_url }}{{ order_url }} + +{% trans "Your Data Center Light Team" %} \ No newline at end of file diff --git a/hosting/templates/hosting/emails/vm_canceled.html b/hosting/templates/hosting/emails/vm_canceled.html index 68c7b9fd..1baa6954 100644 --- a/hosting/templates/hosting/emails/vm_canceled.html +++ b/hosting/templates/hosting/emails/vm_canceled.html @@ -1,15 +1,47 @@ -{% extends "datacenterlight/emails/base_email_datacenterlight.html" %} -{% load i18n %} -{% block email_head %}{{page_header}}{% endblock %} -{% block email_body %} -{% url 'hosting:virtual_machines' as my_virtual_machines_url %} -{% url 'hosting:orders' as vm_orders_url %} -{% blocktrans with vm.name as vm_name %}You're receiving this mail because your virtual machine [{{vm_name}}] has been cancelled.
-You can see your order status by clicking [my VM page] below.
-If you want to order a new virtual machine, you can do it by clicking this link.
-{% endblocktrans %} - -{% endblock %} +{% load static i18n %} + + + + + + + {% trans "Virtual Machine Cancellation" %} + + + + + + + + + + + + + + + + + + + + + +
+ +
+

{% trans "Virtual Machine Cancellation" %}

+
+

+ {% blocktrans %}You are receiving this email because your virutal machine [{{vm_name}}] has been cancelled.{% endblocktrans %}
+ {% blocktrans %}You can always order a new VM by clicking the button below.{% endblocktrans %} +

+
+ + {% trans "CREATE VM" %} +
+

{% trans "Your Data Center Light Team" %}

+
+ + + diff --git a/hosting/templates/hosting/emails/vm_canceled.txt b/hosting/templates/hosting/emails/vm_canceled.txt index e20e639c..873dd0ac 100644 --- a/hosting/templates/hosting/emails/vm_canceled.txt +++ b/hosting/templates/hosting/emails/vm_canceled.txt @@ -1,13 +1,10 @@ -{% extends "datacenterlight/emails/base_email_datacenterlight.txt" %} {% load i18n %} -{% block email_head %}{{page_header}}{% endblock %} -{% block email_body %} -{% url 'hosting:virtual_machines' as my_virtual_machines_url %} -{% url 'hosting:orders' order.id as vm_order_url %} -{% blocktrans with vm.name as vm_name %}You're receiving this mail because your virtual machine [{{vm_name}}] has been cancelled. -You can see your order status by clicking here -{{base_url}}{{vm_order_url}} -If you want to order a new virtual machine, you can do it by clicking this link. -{{base_url}}{{my_virtual_machines_url}} -{% endblocktrans %} -{% endblock %} \ No newline at end of file + +{% trans "Virtual Machine Cancellation" %} + +{% blocktrans %}You are receiving this email because your virutal machine [{{vm_name}}] has been cancelled.{% endblocktrans %} +{% blocktrans %}You can always order a new VM by following the link below.{% endblocktrans %} + +{{ base_url }}{% url 'hosting:create_virtual_machine' %} + +{% trans "Your Data Center Light Team" %} \ No newline at end of file From ad66b16fd31ce57e2f4e63990fe9ef22211824ab Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Sat, 23 Sep 2017 02:31:23 +0530 Subject: [PATCH 05/45] other app translation files change undo --- alplora/locale/de/LC_MESSAGES/django.po | 75 +- digitalglarus/locale/de/LC_MESSAGES/django.po | 1282 +++++++++++++++-- membership/locale/de/LC_MESSAGES/django.po | 25 +- ungleich_page/locale/de/LC_MESSAGES/django.po | 60 +- utils/locale/de/LC_MESSAGES/django.po | 5 +- 5 files changed, 1350 insertions(+), 97 deletions(-) diff --git a/alplora/locale/de/LC_MESSAGES/django.po b/alplora/locale/de/LC_MESSAGES/django.po index 2669c811..c39a4595 100644 --- a/alplora/locale/de/LC_MESSAGES/django.po +++ b/alplora/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-23 01:50+0530\n" +"POT-Creation-Date: 2017-05-30 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,99 +18,137 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: alplora/templates/alplora/contact.html:6 msgid "New message" msgstr "Neue Nachricht" +#: alplora/templates/alplora/contact.html:13 msgid "Name:" msgstr "Name:" +#: alplora/templates/alplora/contact.html:15 msgid "What is your name ?" msgstr "Was ist Dein Name?" +#: alplora/templates/alplora/contact.html:19 msgid "From:" msgstr "Von:" +#: alplora/templates/alplora/contact.html:21 msgid "You email" msgstr "Deine Email" +#: alplora/templates/alplora/contact.html:25 msgid "Message:" msgstr "Nachricht:" +#: alplora/templates/alplora/contact.html:27 msgid "Leave us your message" msgstr "Schreibe hier Deine Nachricht" +#: alplora/templates/alplora/contact.html:32 msgid "Close" msgstr "schliessen" +#: alplora/templates/alplora/contact.html:33 msgid "Send message" msgstr "Nachricht senden" +#: alplora/templates/alplora/contact_success.html:6 msgid "Message Sent" msgstr "Nachricht gesendet" +#: alplora/templates/alplora/contact_success.html:9 msgid "Thank you, we will contact you as soon as possible" msgstr "Dankeschön! Wir melden uns sobald wie möglich!" +#: alplora/templates/alplora/index.html:13 msgid "Find your animal anywhere, anytime" msgstr "Finde deine Tiere" +#: alplora/templates/alplora/index.html:99 +#: alplora/templates/alplora/index.html:463 msgid "About" msgstr "Über" +#: alplora/templates/alplora/index.html:102 +#: alplora/templates/alplora/index.html:248 +#: alplora/templates/alplora/index.html:469 msgid "Why Alplora?" msgstr "Warum Alplora?" +#: alplora/templates/alplora/index.html:105 +#: alplora/templates/alplora/index.html:466 msgid "Usecase" msgstr "" +#: alplora/templates/alplora/index.html:108 +#: alplora/templates/alplora/index.html:358 msgid "Testimonials" msgstr "Referenzen" +#: alplora/templates/alplora/index.html:111 +#: alplora/templates/alplora/index.html:423 +#: alplora/templates/alplora/index.html:477 msgid "Contact" msgstr "Kontakt" +#: alplora/templates/alplora/index.html:114 msgid "Login" msgstr "Login" +#: alplora/templates/alplora/index.html:137 msgid "Find your herd anytime, anywhere" msgstr "Finde deine Herde jederzeit und überall" +#: alplora/templates/alplora/index.html:138 msgid "Perfect fit for Swiss Alps" msgstr "Perfekt für die Schweizer Alpen" +#: alplora/templates/alplora/index.html:163 msgid "What is Alplora?" msgstr "Was ist Alplora?" +#: alplora/templates/alplora/index.html:164 msgid "" "Alplora is an animal tracker made for outdoor grazing animals in Swiss Alps." msgstr "" "Alplora ist ein Sender, der speziell für Weidetiere in den Schweizer Alpen " "entwickelt wurde." +#: alplora/templates/alplora/index.html:165 msgid "Alplora is just like a cattle bell, but much better." msgstr "Alplora ist wie eine Kuhglocke, nur viel besser." +#: alplora/templates/alplora/index.html:174 msgid "LOST" msgstr "VERLOREN" +#: alplora/templates/alplora/index.html:176 msgid "When an animal gets separated from the herd and is lost." msgstr "Wenn ein Tier sich von der Herde absondert und verloren geht." +#: alplora/templates/alplora/index.html:184 msgid "WOLF" msgstr "WOLF" +#: alplora/templates/alplora/index.html:186 msgid "When a wolf gets close to the herd." msgstr "Wenn ein Wolf sich der Herde nähert." +#: alplora/templates/alplora/index.html:193 msgid "INJURED" msgstr "VERLETZT" +#: alplora/templates/alplora/index.html:195 msgid "When one of the animals is hurt." msgstr "Wenn eins der Tiere verletzt ist." +#: alplora/templates/alplora/index.html:205 msgid "How does Alplora track my animals?" msgstr "Wie kann Alplora meine Tiere verfolgen und ausfindig machen ?" +#: alplora/templates/alplora/index.html:206 msgid "" "Each animal will be wearing a small tracker,

and the tracker will be " "sending a signal every 30 to 60 minutes." @@ -118,27 +156,33 @@ msgstr "" "Jedes Tier wird einen kleinen Sender tragen,

welcher alle 30 bis 60 " "Minuten ein Signal senden wird." +#: alplora/templates/alplora/index.html:215 msgid "Access app" msgstr "Zugang zur App" +#: alplora/templates/alplora/index.html:217 msgid "" "You can see the animal locations on a map by logging into our Alplora app." msgstr "" "Du kannst den Standort deiner Tiere jederzeit auf einer Karte verfolgen, " "indem du dich in unsere Alplora App einloggst." +#: alplora/templates/alplora/index.html:225 msgid "Get an alarm" msgstr "Erhalte ein Warnsignal" +#: alplora/templates/alplora/index.html:227 msgid "" "When certain signals for danger are detected, Alplora sends an alarm to you." msgstr "" "Wenn Anzeichen von Gefahr bestehen, sendet dir die Alplora App einen " "Warnsignal." +#: alplora/templates/alplora/index.html:235 msgid "Find your animal" msgstr "Finde deine Tiere" +#: alplora/templates/alplora/index.html:238 msgid "" "You can locate the animal in trouble on the realtime map and can take " "actions for keeping the animal safe." @@ -146,9 +190,11 @@ msgstr "" "Du kannst dein Tier in Notsituationen auf einer Echtzeit-Karte lokalisieren " "und hast die Möglichkeit es in Sicherheit zu bringen." +#: alplora/templates/alplora/index.html:255 msgid "Perfect fit for Swiss mountains" msgstr "Perfekt für die Schweizer Alpen" +#: alplora/templates/alplora/index.html:257 msgid "" "Alplora is made and tested for Swiss Alps. It is a perfect fit for Swiss " "environment." @@ -156,9 +202,11 @@ msgstr "" "Alplora wurde speziell für die Schweizer Alpen entwickelt und vor Ort " "getestet. Das Produkt passt perfekt in die Schweiz!" +#: alplora/templates/alplora/index.html:263 msgid "Energy efficient" msgstr "Energieeffizient" +#: alplora/templates/alplora/index.html:265 msgid "" "Alplora uses the latest wireless technology, our batteries last the whole " "alp season." @@ -166,9 +214,11 @@ msgstr "" "Alplora arbeitet mit den neuesten Technologien, so dass der Akku die gesamte " "Alpsaison überdauert." +#: alplora/templates/alplora/index.html:271 msgid "Made with love" msgstr "Mit Liebe gemacht" +#: alplora/templates/alplora/index.html:273 msgid "" "With a lot of love and respect for Swiss agriculture and nature, Alplora is " "made by a Swiss company." @@ -176,49 +226,61 @@ msgstr "" "Alplora wurde mit viel Liebe und Respekt für die Schweizer Natur und " "Landwirtschaft von einer Schweizer Firma entwickelt." +#: alplora/templates/alplora/index.html:285 msgid "Who needs Alplora?" msgstr "Wer benötigt Alplora?" +#: alplora/templates/alplora/index.html:301 msgid " Are your animals..." msgstr "Sind deine Tiere..." +#: alplora/templates/alplora/index.html:304 msgid "sheep, goats, cows or llamas living freely in the Alps?" msgstr "Schafe, Ziegen, Kühe oder Lamas, die frei in den Alpen leben?" +#: alplora/templates/alplora/index.html:306 msgid "wearing bells?" msgstr "solche, die Glocken tragen?" +#: alplora/templates/alplora/index.html:308 msgid "" "sometimes getting confused and going too far away from where they are " "supposed to be?" msgstr "" "manchmal verwirrt und entfernen sich zu weit von ihrem vorgesehenen Standort?" +#: alplora/templates/alplora/index.html:332 msgid "Do you..." msgstr "Möchtest du..." +#: alplora/templates/alplora/index.html:335 msgid "have animals which are staying outdoor during some time of the year?" msgstr "" "deine Tiere, die eine längere Zeit im Jahr unbeobachtet Draussen verbringen, " "schützen und überwachen können?" +#: alplora/templates/alplora/index.html:337 msgid "want to get an alarm when your animal is hurt, or in danger?" msgstr "" "alarmiert werden, wenn sich eines deiner Tiere verletzt oder in Gefahr " "befindet ?" +#: alplora/templates/alplora/index.html:339 msgid "want to see where your animals are on your cell phone map?" msgstr "" "mit deinem Smartphone auf einer Karte sehen können, wo sich deine Tiere " "befinden? " +#: alplora/templates/alplora/index.html:341 msgid "want to make sure 24/7 that your animals are safe?" msgstr "" "sicherstellen, dass sich deine Tiere rund um die Uhr in Sicherheit befinden?" +#: alplora/templates/alplora/index.html:359 msgid "What our customers say" msgstr "" +#: alplora/templates/alplora/index.html:379 msgid "" "“Alplora is an innovation in looking after my cows. I can check where my " "cows have been in the higher mountain all day while doing other works at the " @@ -230,9 +292,11 @@ msgstr "" "selben Zeit andereDinge auf dem Hof unten im Dorf erledigen. Dank Alplora " "kann ich meinen Kühenmehr Sicherheit gewährleisten." +#: alplora/templates/alplora/index.html:382 msgid "Farmer in canton Glarus" msgstr "Bauern im Kanton Glarus" +#: alplora/templates/alplora/index.html:388 msgid "" "\"Alplora is exactly what I was waiting for. I have lost my sheep almost " "every year. Finally I have a way when I want to locate them.\"" @@ -241,9 +305,11 @@ msgstr "" "Schafe fastjedes Jahr aus den Augen verloren. Nun habe ich endlich die " "Möglichkeit, sie zulokalisieren.\"" +#: alplora/templates/alplora/index.html:391 msgid "Owner of 50 sheep " msgstr "Besitzerin von 50 Schafen" +#: alplora/templates/alplora/index.html:397 msgid "" "\"I have a farm down all the way down in the village and y goats are always " "freely grazing in the Alps. There are times that I am worried about them but " @@ -257,23 +323,30 @@ msgstr "" "noch um meineanderen Tiere kümmern muss. Mit Alplora kann ich nun ohne " "Probleme beides tun.\"" +#: alplora/templates/alplora/index.html:401 msgid "Farmer at Berner Oberland" msgstr "Bauer aus dem Berner Oberland" +#: alplora/templates/alplora/index.html:418 msgid "How do I get Alplora?" msgstr "Wie kriege ich Zugriff zu Alplora?" +#: alplora/templates/alplora/index.html:419 msgid "Click the button below and leave us your contact." msgstr "Klicke unten auf Kontakt und hinterlasse uns deine Angaben." +#: alplora/templates/alplora/index.html:419 msgid "Team Alplora will contact you and visit you with a tracking device." msgstr "Das Alpora Team wird sich mit Dir schnellstens in Verbindung setzen." +#: alplora/templates/alplora/index.html:459 msgid "Home" msgstr "Startseite" +#: alplora/templates/alplora/index.html:472 msgid "Testimonials " msgstr "Referenzen" +#: alplora/views.py:24 msgid "Message Successfully Sent" msgstr "" diff --git a/digitalglarus/locale/de/LC_MESSAGES/django.po b/digitalglarus/locale/de/LC_MESSAGES/django.po index 9ce67a57..f4193749 100644 --- a/digitalglarus/locale/de/LC_MESSAGES/django.po +++ b/digitalglarus/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-23 01:50+0530\n" +"POT-Creation-Date: 2017-07-16 17:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,331 +18,1447 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: cms_templates/djangocms_blog/_header_post_detail.html:21 +#: digitalglarus/templates/digitalglarus/post_detail.html:19 +#: ungleich/templates/ungleich/djangocms_blog/includes/blog_item.html:19 msgid "Posted on" msgstr "Veröffentlicht am" +#: cms_templates/djangocms_blog/post_list.html:11 +#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:11 msgid "Articles by" msgstr "Artikel vom" +#: cms_templates/djangocms_blog/post_list.html:12 +#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:12 msgid "Archive" msgstr "Archiv" +#: cms_templates/djangocms_blog/post_list.html:13 +#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:13 msgid "Tag" msgstr "" +#: cms_templates/djangocms_blog/post_list.html:14 +#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:14 msgid "Category" msgstr "Kategorie" +#: cms_templates/djangocms_blog/post_list.html:21 +#: digitalglarus/templates/glarus_blog/post_list.html:15 +#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:22 msgid "No article found." msgstr "Keine Artikel gefunden" +#: cms_templates/djangocms_blog/post_list.html:24 +#: digitalglarus/templates/glarus_blog/post_list.html:18 +#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:25 msgid "Back" msgstr "Zurück" +#: cms_templates/djangocms_blog/post_list.html:32 +#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:33 msgid "Newer Posts" msgstr "Neuere Einträge" +#: cms_templates/djangocms_blog/post_list.html:39 +#: ungleich/templates/ungleich/djangocms_blog/post_list_ungleich.html:40 msgid "Older Posts" msgstr "Ältere Einträge" +#: cms_templates/includes/blog_item.html:31 +#: digitalglarus/templates/glarus_blog/includes/blog_item.html:32 msgid "read more" msgstr "weiterlesen" +#: cms_templates/includes/blog_meta.html:6 +#: digitalglarus/templates/glarus_blog/includes/blog_meta.html:6 msgid "by" msgstr "von" +#: digitalglarus/cms_plugins.py:9 +msgid "Digital Glarus Gallery" +msgstr "" + +#: digitalglarus/cms_plugins.py:22 +msgid "Digital Glarus Supporters" +msgstr "" + +#: digitalglarus/forms.py:34 digitalglarus/forms.py:69 nosystemd/forms.py:47 +#: utils/forms.py:107 +msgid "Street Address" +msgstr "Adresse" + +#: digitalglarus/forms.py:35 digitalglarus/forms.py:70 nosystemd/forms.py:48 +#: utils/forms.py:108 utils/forms.py:123 +msgid "City" +msgstr "Stadt" + +#: digitalglarus/forms.py:36 digitalglarus/forms.py:71 nosystemd/forms.py:49 +#: utils/forms.py:109 utils/forms.py:124 +msgid "Postal Code" +msgstr "Postleitzahl" + +#: digitalglarus/forms.py:37 digitalglarus/forms.py:72 nosystemd/forms.py:50 +#: utils/forms.py:110 utils/forms.py:125 +msgid "Country" +msgstr "Land" + +#: digitalglarus/templates/digitalglarus/login.html:88 +#: digitalglarus/templates/digitalglarus/login_hello.html:32 +#: nosystemd/templates/nosystemd/login.html:23 +msgid "You haven been logged out" +msgstr "Sie wurden abgemeldet" + +#: digitalglarus/templates/glarus_blog/post_list.html:23 +#: nosystemd/templates/nosystemd/donations.html:74 +msgid "previous" +msgstr "vorherige" + +#: digitalglarus/templates/glarus_blog/post_list.html:26 +#: dynamicweb/settings/base.py:192 templates/cms/__init__.py:10 +#: templates/cms/ungleichch/__init__.py:5 +msgid "Page" +msgstr "Seite" + +#: digitalglarus/templates/glarus_blog/post_list.html:26 +msgid "of" +msgstr "vom" + +#: digitalglarus/templates/glarus_blog/post_list.html:29 +#: nosystemd/templates/nosystemd/donations.html:80 +msgid "next" +msgstr "nächste" + +#: digitalglarus/templates/language_chooser.html:8 +#: ungleich/templates/cms/ungleichch/_header_base.html:23 +msgid "Change to language:" +msgstr "Sprache wechseln zu: " + +#: digitalglarus/templates/new_base_glarus.html:161 +#: digitalglarus/templates/new_base_glarus.html:184 +#: digitalglarus/templates/new_base_glarus_c.html:176 +#: digitalglarus/templates/new_base_glarus_c.html:199 +msgid "Bookings" +msgstr "" + +#: digitalglarus/templates/new_base_glarus.html:165 +#: digitalglarus/templates/new_base_glarus.html:188 +#: digitalglarus/templates/new_base_glarus_c.html:180 +#: digitalglarus/templates/new_base_glarus_c.html:203 +msgid "Membership" +msgstr "" + +#: digitalglarus/templates/new_base_glarus.html:171 +#: digitalglarus/templates/new_base_glarus.html:194 +#: digitalglarus/templates/new_base_glarus_c.html:186 +#: digitalglarus/templates/new_base_glarus_c.html:209 +#: nosystemd/templates/nosystemd/base.html:76 +msgid "Logout" +msgstr "" + +#: digitalglarus/urls.py:16 +msgid "booking/payment/edit/?$" +msgstr "" + +#: digitalglarus/urls.py:17 +msgid "^$" +msgstr "" + +#: digitalglarus/urls.py:19 +msgid "support-us/?$" +msgstr "" + +#: digitalglarus/urls.py:20 +msgid "contact/?$" +msgstr "kontakt/?$" + +#: digitalglarus/urls.py:21 +msgid "login/?$" +msgstr "" + +#: digitalglarus/urls.py:22 +msgid "signup/?$" +msgstr "" + +#: digitalglarus/urls.py:28 +msgid "history/?$" +msgstr "" + +#: digitalglarus/urls.py:29 +msgid "users/billing_address/?$" +msgstr "" + +#: digitalglarus/urls.py:31 +msgid "booking/?$" +msgstr "" + +#: digitalglarus/urls.py:32 +msgid "booking/payment/?$" +msgstr "" + +#: digitalglarus/urls.py:33 +msgid "booking/orders/(?P\\d+)/?$" +msgstr "" + +#: digitalglarus/urls.py:37 +msgid "booking/orders/?$" +msgstr "" + +#: digitalglarus/urls.py:39 +msgid "membership/payment/?$" +msgstr "" + +#: digitalglarus/urls.py:40 +msgid "membership/activated/?$" +msgstr "" + +#: digitalglarus/urls.py:42 +msgid "membership/deactivate/?$" +msgstr "" + +#: digitalglarus/urls.py:44 +msgid "membership/reactivate/?$" +msgstr "" + +#: digitalglarus/urls.py:46 +msgid "membership/deactivate/success/?$" +msgstr "" + +#: digitalglarus/urls.py:48 +msgid "membership/pricing/?$" +msgstr "" + +#: digitalglarus/urls.py:50 +msgid "membership/orders/(?P\\d+)/?$" +msgstr "" + +#: digitalglarus/urls.py:52 +#, fuzzy +#| msgid "supporters/?$" +msgid "membership/orders/?$" +msgstr "befurworter/?$" + +#: digitalglarus/urls.py:54 +msgid "supporters/?$" +msgstr "befurworter/?$" + +#: digitalglarus/views.py:715 +msgid "Message Successfully Sent" +msgstr "" + +#: dynamicweb/settings-test/__init__.py:181 msgid "US English" msgstr "" +#: dynamicweb/settings-test/__init__.py:182 msgid "German" msgstr "" +#: dynamicweb/settings-test/__init__.py:235 +#: dynamicweb/settings-test/__init__.py:244 dynamicweb/settings/base.py:280 +#: dynamicweb/settings/base.py:289 msgid "Content" msgstr "" +#: dynamicweb/settings/base.py:181 msgid "default" msgstr "" +#: dynamicweb/settings/base.py:182 msgid "2 Column" msgstr "" +#: dynamicweb/settings/base.py:183 msgid "3 Column" msgstr "" +#: dynamicweb/settings/base.py:184 templates/cms/__init__.py:4 +#: templates/cms/digitalglarus/__init__.py:4 msgid "DG.About" msgstr "" +#: dynamicweb/settings/base.py:185 templates/cms/__init__.py:5 +#: templates/cms/digitalglarus/__init__.py:5 #, fuzzy #| msgid "contact/?$" msgid "DG.Contact" msgstr "kontakt/?$" +#: dynamicweb/settings/base.py:186 templates/cms/__init__.py:6 +#: templates/cms/digitalglarus/__init__.py:6 msgid "DG.Home" msgstr "" +#: dynamicweb/settings/base.py:187 templates/cms/__init__.py:7 +#: templates/cms/digitalglarus/__init__.py:7 msgid "DG.CoWork" msgstr "" +#: dynamicweb/settings/base.py:189 msgid "DG.OneColumn" msgstr "" +#: dynamicweb/settings/base.py:191 templates/cms/__init__.py:9 +#: templates/cms/ungleichch/__init__.py:4 msgid "Blog" msgstr "" -msgid "Page" -msgstr "Seite" - -msgid "Data Center Light" -msgstr "" - +#: dynamicweb/settings/base.py:221 msgid "English" msgstr "" +#: dynamicweb/settings/base.py:222 msgid "Deutsch" msgstr "" +#: nosystemd/forms.py:46 msgid "Amount" msgstr "Betrag" -msgid "Street Address" -msgstr "Adresse" - -msgid "City" -msgstr "Stadt" - -msgid "Postal Code" -msgstr "Postleitzahl" - -msgid "Country" -msgstr "Land" - +#: nosystemd/templates/nosystemd/base.html:70 msgid "My Donations" msgstr "" -msgid "Logout" -msgstr "" - +#: nosystemd/templates/nosystemd/confirm_reset_password.html:24 msgid "Set your new password" msgstr "" +#: nosystemd/templates/nosystemd/confirm_reset_password.html:33 +#: nosystemd/templates/nosystemd/reset_password.html:25 msgid "Reset" msgstr "" +#: nosystemd/templates/nosystemd/confirm_reset_password.html:37 +#: nosystemd/templates/nosystemd/reset_password.html:29 +#: nosystemd/templates/nosystemd/signup.html:33 msgid "Already have an account ?" msgstr "" +#: nosystemd/templates/nosystemd/confirm_reset_password.html:37 msgid "Log in" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:15 msgid "Invoice" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:15 msgid "Donation #" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:20 msgid "Billing Address:" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:28 msgid "Date:" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:38 msgid "Payment Method:" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:49 msgid "Donation summary" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:52 +#: nosystemd/templates/nosystemd/donations.html:49 msgid "Donation" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:54 msgid "Total" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:60 msgid "Finish Configuration" msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:68 msgid "" "Thanks for you donation, you can cancel your monthly donation at any time " "going to profile > subscription " msgstr "" +#: nosystemd/templates/nosystemd/donation_detail.html:74 msgid "View Donations" msgstr "" +#: nosystemd/templates/nosystemd/donations.html:28 +#: nosystemd/templates/nosystemd/donator_status.html:26 msgid "Cancel Donation" msgstr "" +#: nosystemd/templates/nosystemd/donations.html:35 msgid "Donate" msgstr "" +#: nosystemd/templates/nosystemd/donations.html:44 msgid "Donations Made" msgstr "" +#: nosystemd/templates/nosystemd/donations.html:50 msgid "Date" msgstr "" +#: nosystemd/templates/nosystemd/donations.html:62 msgid "View Detail" msgstr "" -msgid "previous" -msgstr "vorherige" - -msgid "next" -msgstr "nächste" - +#: nosystemd/templates/nosystemd/donator_status.html:28 msgid "Reanude Donation" msgstr "" +#: nosystemd/templates/nosystemd/emails/password_reset_email.html:2 +#: nosystemd/templates/nosystemd/emails/password_reset_email.txt:2 #, python-format msgid "" "You're receiving this email because you requested a password reset for your " "user account at %(site_name)s." msgstr "" +#: nosystemd/templates/nosystemd/emails/password_reset_email.html:4 +#: nosystemd/templates/nosystemd/emails/password_reset_email.txt:4 msgid "Please go to the following page and choose a new password:" msgstr "" +#: nosystemd/templates/nosystemd/emails/password_reset_email.html:9 +#: nosystemd/templates/nosystemd/emails/password_reset_email.txt:9 msgid "Thanks for using our site!" msgstr "" +#: nosystemd/templates/nosystemd/emails/password_reset_email.html:11 +#: nosystemd/templates/nosystemd/emails/password_reset_email.txt:11 #, python-format msgid "The %(site_name)s team" msgstr "" -msgid "You haven been logged out" -msgstr "Sie wurden abgemeldet" - +#: nosystemd/templates/nosystemd/login.html:30 msgid "Log in " msgstr "" +#: nosystemd/templates/nosystemd/login.html:40 +#: nosystemd/templates/nosystemd/reset_password.html:29 +#: nosystemd/templates/nosystemd/signup.html:33 msgid "Login" msgstr "" +#: nosystemd/templates/nosystemd/login.html:44 msgid "Don't have an account yet ? " msgstr "" +#: nosystemd/templates/nosystemd/login.html:44 +#: nosystemd/templates/nosystemd/signup.html:17 +#: nosystemd/templates/nosystemd/signup.html:29 msgid "Sign up" msgstr "" +#: nosystemd/templates/nosystemd/login.html:46 msgid "Forgot your password ? " msgstr "" +#: nosystemd/templates/nosystemd/reset_password.html:16 msgid "Reset your password" msgstr "" +#: templates/cms/__init__.py:8 templates/cms/digitalglarus/__init__.py:8 msgid "DG.Detail" msgstr "" +#: ungleich/cms_toolbar.py:23 msgid "Page Header" msgstr "" -msgid "Change to language:" -msgstr "Sprache wechseln zu: " - +#: ungleich/views.py:79 #, python-format msgid "No %(verbose_name)s found matching the query" msgstr "" -msgid "Digital Glarus Gallery" +#: utils/fields.py:6 +msgid "Andorra" msgstr "" -msgid "Digital Glarus Supporters" +#: utils/fields.py:7 +msgid "United Arab Emirates" msgstr "" -msgid "of" -msgstr "vom" - -msgid "Bookings" +#: utils/fields.py:8 +msgid "Afghanistan" msgstr "" -msgid "Membership" +#: utils/fields.py:9 +msgid "Antigua & Barbuda" msgstr "" -msgid "booking/payment/edit/?$" +#: utils/fields.py:10 +msgid "Anguilla" msgstr "" -msgid "^$" +#: utils/fields.py:11 +msgid "Albania" msgstr "" -msgid "support-us/?$" +#: utils/fields.py:12 +msgid "Armenia" msgstr "" -msgid "contact/?$" -msgstr "kontakt/?$" - -msgid "login/?$" +#: utils/fields.py:13 +msgid "Netherlands Antilles" msgstr "" -msgid "signup/?$" +#: utils/fields.py:14 +msgid "Angola" msgstr "" -msgid "history/?$" +#: utils/fields.py:15 +msgid "Antarctica" msgstr "" -msgid "users/billing_address/?$" +#: utils/fields.py:16 +msgid "Argentina" msgstr "" -msgid "booking/?$" +#: utils/fields.py:17 +msgid "American Samoa" msgstr "" -msgid "booking/payment/?$" +#: utils/fields.py:18 +msgid "Austria" msgstr "" -msgid "booking/orders/(?P\\d+)/?$" +#: utils/fields.py:19 +msgid "Australia" msgstr "" -msgid "booking/orders/?$" +#: utils/fields.py:20 +msgid "Aruba" msgstr "" -msgid "membership/payment/?$" +#: utils/fields.py:21 +msgid "Azerbaijan" msgstr "" -msgid "membership/activated/?$" +#: utils/fields.py:22 +msgid "Bosnia and Herzegovina" msgstr "" -msgid "membership/deactivate/?$" +#: utils/fields.py:23 +msgid "Barbados" msgstr "" -msgid "membership/reactivate/?$" +#: utils/fields.py:24 +msgid "Bangladesh" msgstr "" -msgid "membership/deactivate/success/?$" +#: utils/fields.py:25 +msgid "Belgium" msgstr "" -msgid "membership/pricing/?$" +#: utils/fields.py:26 +msgid "Burkina Faso" msgstr "" -msgid "membership/orders/(?P\\d+)/?$" +#: utils/fields.py:27 +msgid "Bulgaria" msgstr "" -#, fuzzy -#| msgid "supporters/?$" -msgid "membership/orders/?$" -msgstr "befurworter/?$" - -msgid "supporters/?$" -msgstr "befurworter/?$" - -msgid "Message Successfully Sent" +#: utils/fields.py:28 +msgid "Bahrain" msgstr "" -#~ msgid "Enter your name or company name" -#~ msgstr "Geben Sie Ihren Namen oder der Ihrer Firma ein" +#: utils/fields.py:29 +msgid "Burundi" +msgstr "" -#~ msgid "Cardholder Name" -#~ msgstr "Name des Kartenbesitzer" +#: utils/fields.py:30 +msgid "Benin" +msgstr "" -#~ msgid "Name" -#~ msgstr "Name" +#: utils/fields.py:31 +msgid "Bermuda" +msgstr "" -#~ msgid "Email" -#~ msgstr "Email" +#: utils/fields.py:32 +msgid "Brunei Darussalam" +msgstr "" -#~ msgid "Phone number" -#~ msgstr "Telefon" +#: utils/fields.py:33 +msgid "Bolivia" +msgstr "" -#~ msgid "Message" -#~ msgstr "Nachricht" +#: utils/fields.py:34 +msgid "Brazil" +msgstr "" + +#: utils/fields.py:35 +msgid "Bahama" +msgstr "" + +#: utils/fields.py:36 +msgid "Bhutan" +msgstr "" + +#: utils/fields.py:37 +msgid "Bouvet Island" +msgstr "" + +#: utils/fields.py:38 +msgid "Botswana" +msgstr "" + +#: utils/fields.py:39 +msgid "Belarus" +msgstr "" + +#: utils/fields.py:40 +msgid "Belize" +msgstr "" + +#: utils/fields.py:41 +msgid "Canada" +msgstr "" + +#: utils/fields.py:42 +msgid "Cocos (Keeling) Islands" +msgstr "" + +#: utils/fields.py:43 +msgid "Central African Republic" +msgstr "" + +#: utils/fields.py:44 +msgid "Congo" +msgstr "" + +#: utils/fields.py:45 +msgid "Switzerland" +msgstr "" + +#: utils/fields.py:46 +msgid "Ivory Coast" +msgstr "" + +#: utils/fields.py:47 +msgid "Cook Iislands" +msgstr "" + +#: utils/fields.py:48 +msgid "Chile" +msgstr "" + +#: utils/fields.py:49 +msgid "Cameroon" +msgstr "" + +#: utils/fields.py:50 +msgid "China" +msgstr "" + +#: utils/fields.py:51 +msgid "Colombia" +msgstr "" + +#: utils/fields.py:52 +msgid "Costa Rica" +msgstr "" + +#: utils/fields.py:53 +msgid "Cuba" +msgstr "" + +#: utils/fields.py:54 +msgid "Cape Verde" +msgstr "" + +#: utils/fields.py:55 +msgid "Christmas Island" +msgstr "" + +#: utils/fields.py:56 +msgid "Cyprus" +msgstr "" + +#: utils/fields.py:57 +msgid "Czech Republic" +msgstr "" + +#: utils/fields.py:58 +msgid "Germany" +msgstr "" + +#: utils/fields.py:59 +msgid "Djibouti" +msgstr "" + +#: utils/fields.py:60 +msgid "Denmark" +msgstr "" + +#: utils/fields.py:61 +msgid "Dominica" +msgstr "" + +#: utils/fields.py:62 +msgid "Dominican Republic" +msgstr "" + +#: utils/fields.py:63 +msgid "Algeria" +msgstr "" + +#: utils/fields.py:64 +msgid "Ecuador" +msgstr "" + +#: utils/fields.py:65 +msgid "Estonia" +msgstr "" + +#: utils/fields.py:66 +msgid "Egypt" +msgstr "" + +#: utils/fields.py:67 +msgid "Western Sahara" +msgstr "" + +#: utils/fields.py:68 +msgid "Eritrea" +msgstr "" + +#: utils/fields.py:69 +msgid "Spain" +msgstr "" + +#: utils/fields.py:70 +msgid "Ethiopia" +msgstr "" + +#: utils/fields.py:71 +msgid "Finland" +msgstr "" + +#: utils/fields.py:72 +msgid "Fiji" +msgstr "" + +#: utils/fields.py:73 +msgid "Falkland Islands (Malvinas)" +msgstr "" + +#: utils/fields.py:74 +msgid "Micronesia" +msgstr "" + +#: utils/fields.py:75 +msgid "Faroe Islands" +msgstr "" + +#: utils/fields.py:76 +msgid "France" +msgstr "" + +#: utils/fields.py:77 +msgid "France, Metropolitan" +msgstr "" + +#: utils/fields.py:78 +msgid "Gabon" +msgstr "" + +#: utils/fields.py:79 +msgid "United Kingdom (Great Britain)" +msgstr "" + +#: utils/fields.py:80 +msgid "Grenada" +msgstr "" + +#: utils/fields.py:81 +msgid "Georgia" +msgstr "" + +#: utils/fields.py:82 +msgid "French Guiana" +msgstr "" + +#: utils/fields.py:83 +msgid "Ghana" +msgstr "" + +#: utils/fields.py:84 +msgid "Gibraltar" +msgstr "" + +#: utils/fields.py:85 +msgid "Greenland" +msgstr "" + +#: utils/fields.py:86 +msgid "Gambia" +msgstr "" + +#: utils/fields.py:87 +msgid "Guinea" +msgstr "" + +#: utils/fields.py:88 +msgid "Guadeloupe" +msgstr "" + +#: utils/fields.py:89 +msgid "Equatorial Guinea" +msgstr "" + +#: utils/fields.py:90 +msgid "Greece" +msgstr "" + +#: utils/fields.py:91 +msgid "South Georgia and the South Sandwich Islands" +msgstr "" + +#: utils/fields.py:92 +msgid "Guatemala" +msgstr "" + +#: utils/fields.py:93 +msgid "Guam" +msgstr "" + +#: utils/fields.py:94 +msgid "Guinea-Bissau" +msgstr "" + +#: utils/fields.py:95 +msgid "Guyana" +msgstr "" + +#: utils/fields.py:96 +msgid "Hong Kong" +msgstr "" + +#: utils/fields.py:97 +msgid "Heard & McDonald Islands" +msgstr "" + +#: utils/fields.py:98 +msgid "Honduras" +msgstr "" + +#: utils/fields.py:99 +msgid "Croatia" +msgstr "" + +#: utils/fields.py:100 +msgid "Haiti" +msgstr "" + +#: utils/fields.py:101 +msgid "Hungary" +msgstr "" + +#: utils/fields.py:102 +msgid "Indonesia" +msgstr "" + +#: utils/fields.py:103 +msgid "Ireland" +msgstr "" + +#: utils/fields.py:104 +msgid "Israel" +msgstr "" + +#: utils/fields.py:105 +msgid "India" +msgstr "" + +#: utils/fields.py:106 +msgid "British Indian Ocean Territory" +msgstr "" + +#: utils/fields.py:107 +msgid "Iraq" +msgstr "" + +#: utils/fields.py:108 +msgid "Islamic Republic of Iran" +msgstr "" + +#: utils/fields.py:109 +msgid "Iceland" +msgstr "" + +#: utils/fields.py:110 +msgid "Italy" +msgstr "" + +#: utils/fields.py:111 +msgid "Jamaica" +msgstr "" + +#: utils/fields.py:112 +msgid "Jordan" +msgstr "" + +#: utils/fields.py:113 +msgid "Japan" +msgstr "" + +#: utils/fields.py:114 +msgid "Kenya" +msgstr "" + +#: utils/fields.py:115 +msgid "Kyrgyzstan" +msgstr "" + +#: utils/fields.py:116 +msgid "Cambodia" +msgstr "" + +#: utils/fields.py:117 +msgid "Kiribati" +msgstr "" + +#: utils/fields.py:118 +msgid "Comoros" +msgstr "" + +#: utils/fields.py:119 +msgid "St. Kitts and Nevis" +msgstr "" + +#: utils/fields.py:120 +msgid "Korea, Democratic People's Republic of" +msgstr "" + +#: utils/fields.py:121 +msgid "Korea, Republic of" +msgstr "" + +#: utils/fields.py:122 +msgid "Kuwait" +msgstr "" + +#: utils/fields.py:123 +msgid "Cayman Islands" +msgstr "" + +#: utils/fields.py:124 +msgid "Kazakhstan" +msgstr "" + +#: utils/fields.py:125 +msgid "Lao People's Democratic Republic" +msgstr "" + +#: utils/fields.py:126 +msgid "Lebanon" +msgstr "" + +#: utils/fields.py:127 +msgid "Saint Lucia" +msgstr "" + +#: utils/fields.py:128 +msgid "Liechtenstein" +msgstr "" + +#: utils/fields.py:129 +msgid "Sri Lanka" +msgstr "" + +#: utils/fields.py:130 +msgid "Liberia" +msgstr "" + +#: utils/fields.py:131 +msgid "Lesotho" +msgstr "" + +#: utils/fields.py:132 +msgid "Lithuania" +msgstr "" + +#: utils/fields.py:133 +msgid "Luxembourg" +msgstr "" + +#: utils/fields.py:134 +msgid "Latvia" +msgstr "" + +#: utils/fields.py:135 +msgid "Libyan Arab Jamahiriya" +msgstr "" + +#: utils/fields.py:136 +msgid "Morocco" +msgstr "" + +#: utils/fields.py:137 +msgid "Monaco" +msgstr "" + +#: utils/fields.py:138 +msgid "Moldova, Republic of" +msgstr "" + +#: utils/fields.py:139 +msgid "Madagascar" +msgstr "" + +#: utils/fields.py:140 +msgid "Marshall Islands" +msgstr "" + +#: utils/fields.py:141 +msgid "Mali" +msgstr "" + +#: utils/fields.py:142 +msgid "Mongolia" +msgstr "" + +#: utils/fields.py:143 +msgid "Myanmar" +msgstr "" + +#: utils/fields.py:144 +msgid "Macau" +msgstr "" + +#: utils/fields.py:145 +msgid "Northern Mariana Islands" +msgstr "" + +#: utils/fields.py:146 +msgid "Martinique" +msgstr "" + +#: utils/fields.py:147 +msgid "Mauritania" +msgstr "" + +#: utils/fields.py:148 +msgid "Monserrat" +msgstr "" + +#: utils/fields.py:149 +msgid "Malta" +msgstr "" + +#: utils/fields.py:150 +msgid "Mauritius" +msgstr "" + +#: utils/fields.py:151 +msgid "Maldives" +msgstr "" + +#: utils/fields.py:152 +msgid "Malawi" +msgstr "" + +#: utils/fields.py:153 +msgid "Mexico" +msgstr "" + +#: utils/fields.py:154 +msgid "Malaysia" +msgstr "" + +#: utils/fields.py:155 +msgid "Mozambique" +msgstr "" + +#: utils/fields.py:156 +msgid "Namibia" +msgstr "" + +#: utils/fields.py:157 +msgid "New Caledonia" +msgstr "" + +#: utils/fields.py:158 +msgid "Niger" +msgstr "" + +#: utils/fields.py:159 +msgid "Norfolk Island" +msgstr "" + +#: utils/fields.py:160 +msgid "Nigeria" +msgstr "" + +#: utils/fields.py:161 +msgid "Nicaragua" +msgstr "" + +#: utils/fields.py:162 +msgid "Netherlands" +msgstr "" + +#: utils/fields.py:163 +msgid "Norway" +msgstr "" + +#: utils/fields.py:164 +msgid "Nepal" +msgstr "" + +#: utils/fields.py:165 +msgid "Nauru" +msgstr "" + +#: utils/fields.py:166 +msgid "Niue" +msgstr "" + +#: utils/fields.py:167 +msgid "New Zealand" +msgstr "" + +#: utils/fields.py:168 +msgid "Oman" +msgstr "" + +#: utils/fields.py:169 +msgid "Panama" +msgstr "" + +#: utils/fields.py:170 +msgid "Peru" +msgstr "" + +#: utils/fields.py:171 +msgid "French Polynesia" +msgstr "" + +#: utils/fields.py:172 +msgid "Papua New Guinea" +msgstr "" + +#: utils/fields.py:173 +msgid "Philippines" +msgstr "" + +#: utils/fields.py:174 +msgid "Pakistan" +msgstr "" + +#: utils/fields.py:175 +msgid "Poland" +msgstr "" + +#: utils/fields.py:176 +msgid "St. Pierre & Miquelon" +msgstr "" + +#: utils/fields.py:177 +msgid "Pitcairn" +msgstr "" + +#: utils/fields.py:178 +msgid "Puerto Rico" +msgstr "" + +#: utils/fields.py:179 +msgid "Portugal" +msgstr "" + +#: utils/fields.py:180 +msgid "Palau" +msgstr "" + +#: utils/fields.py:181 +msgid "Paraguay" +msgstr "" + +#: utils/fields.py:182 +msgid "Qatar" +msgstr "" + +#: utils/fields.py:183 +msgid "Reunion" +msgstr "" + +#: utils/fields.py:184 +msgid "Romania" +msgstr "" + +#: utils/fields.py:185 +msgid "Russian Federation" +msgstr "" + +#: utils/fields.py:186 +msgid "Rwanda" +msgstr "" + +#: utils/fields.py:187 +msgid "Saudi Arabia" +msgstr "" + +#: utils/fields.py:188 +msgid "Solomon Islands" +msgstr "" + +#: utils/fields.py:189 +msgid "Seychelles" +msgstr "" + +#: utils/fields.py:190 +msgid "Sudan" +msgstr "" + +#: utils/fields.py:191 +msgid "Sweden" +msgstr "" + +#: utils/fields.py:192 +msgid "Singapore" +msgstr "" + +#: utils/fields.py:193 +msgid "St. Helena" +msgstr "" + +#: utils/fields.py:194 +msgid "Slovenia" +msgstr "" + +#: utils/fields.py:195 +msgid "Svalbard & Jan Mayen Islands" +msgstr "" + +#: utils/fields.py:196 +msgid "Slovakia" +msgstr "" + +#: utils/fields.py:197 +msgid "Sierra Leone" +msgstr "" + +#: utils/fields.py:198 +msgid "San Marino" +msgstr "" + +#: utils/fields.py:199 +msgid "Senegal" +msgstr "" + +#: utils/fields.py:200 +msgid "Somalia" +msgstr "" + +#: utils/fields.py:201 +msgid "Suriname" +msgstr "" + +#: utils/fields.py:202 +msgid "Sao Tome & Principe" +msgstr "" + +#: utils/fields.py:203 +msgid "El Salvador" +msgstr "" + +#: utils/fields.py:204 +msgid "Syrian Arab Republic" +msgstr "" + +#: utils/fields.py:205 +msgid "Swaziland" +msgstr "" + +#: utils/fields.py:206 +msgid "Turks & Caicos Islands" +msgstr "" + +#: utils/fields.py:207 +msgid "Chad" +msgstr "" + +#: utils/fields.py:208 +msgid "French Southern Territories" +msgstr "" + +#: utils/fields.py:209 +msgid "Togo" +msgstr "" + +#: utils/fields.py:210 +msgid "Thailand" +msgstr "" + +#: utils/fields.py:211 +msgid "Tajikistan" +msgstr "" + +#: utils/fields.py:212 +msgid "Tokelau" +msgstr "" + +#: utils/fields.py:213 +msgid "Turkmenistan" +msgstr "" + +#: utils/fields.py:214 +msgid "Tunisia" +msgstr "" + +#: utils/fields.py:215 +msgid "Tonga" +msgstr "" + +#: utils/fields.py:216 +msgid "East Timor" +msgstr "" + +#: utils/fields.py:217 +msgid "Turkey" +msgstr "" + +#: utils/fields.py:218 +msgid "Trinidad & Tobago" +msgstr "" + +#: utils/fields.py:219 +msgid "Tuvalu" +msgstr "" + +#: utils/fields.py:220 +msgid "Taiwan, Province of China" +msgstr "" + +#: utils/fields.py:221 +msgid "Tanzania, United Republic of" +msgstr "" + +#: utils/fields.py:222 +msgid "Ukraine" +msgstr "" + +#: utils/fields.py:223 +msgid "Uganda" +msgstr "" + +#: utils/fields.py:224 +msgid "United States Minor Outlying Islands" +msgstr "" + +#: utils/fields.py:225 +msgid "United States of America" +msgstr "" + +#: utils/fields.py:226 +msgid "Uruguay" +msgstr "" + +#: utils/fields.py:227 +msgid "Uzbekistan" +msgstr "" + +#: utils/fields.py:228 +msgid "Vatican City State (Holy See)" +msgstr "" + +#: utils/fields.py:229 +msgid "St. Vincent & the Grenadines" +msgstr "" + +#: utils/fields.py:230 +msgid "Venezuela" +msgstr "" + +#: utils/fields.py:231 +msgid "British Virgin Islands" +msgstr "" + +#: utils/fields.py:232 +msgid "United States Virgin Islands" +msgstr "" + +#: utils/fields.py:233 +msgid "Viet Nam" +msgstr "" + +#: utils/fields.py:234 +msgid "Vanuatu" +msgstr "" + +#: utils/fields.py:235 +msgid "Wallis & Futuna Islands" +msgstr "" + +#: utils/fields.py:236 +msgid "Samoa" +msgstr "" + +#: utils/fields.py:237 +msgid "Yemen" +msgstr "" + +#: utils/fields.py:238 +msgid "Mayotte" +msgstr "" + +#: utils/fields.py:239 +msgid "Yugoslavia" +msgstr "" + +#: utils/fields.py:240 +msgid "South Africa" +msgstr "" + +#: utils/fields.py:241 +msgid "Zambia" +msgstr "" + +#: utils/fields.py:242 +msgid "Zaire" +msgstr "" + +#: utils/fields.py:243 +msgid "Zimbabwe" +msgstr "" + +#: utils/fields.py:244 +msgid "Unknown or unspecified country" +msgstr "" + +#: utils/forms.py:21 +msgid "Enter your name or company name" +msgstr "Geben Sie Ihren Namen oder der Ihrer Firma ein" + +#: utils/forms.py:106 +msgid "Cardholder Name" +msgstr "Name des Kartenbesitzer" + +#: utils/forms.py:122 +msgid "Street Building" +msgstr "" + +#: utils/forms.py:142 +msgid "Name" +msgstr "Name" + +#: utils/forms.py:143 +msgid "Email" +msgstr "Email" + +#: utils/forms.py:144 +msgid "Phone number" +msgstr "Telefon" + +#: utils/forms.py:145 +msgid "Message" +msgstr "Nachricht" #, fuzzy #~ msgid "Card number" diff --git a/membership/locale/de/LC_MESSAGES/django.po b/membership/locale/de/LC_MESSAGES/django.po index 8732b6c4..42846dab 100644 --- a/membership/locale/de/LC_MESSAGES/django.po +++ b/membership/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-23 01:50+0530\n" +"POT-Creation-Date: 2017-06-23 02:05+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,35 +18,42 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: forms.py:43 msgid "Name" msgstr "" +#: forms.py:43 msgid "Card number" msgstr "" +#: forms.py:43 msgid "Expiry date" msgstr "" +#: forms.py:44 msgid "CCV" msgstr "" +#: models.py:66 msgid "staff status" msgstr "" +#: models.py:68 msgid "Designates whether the user can log into this admin site." msgstr "" -msgid "Account Activation" -msgstr "" +#: models.py:90 +msgid "Activate your " +msgstr "Aktiviere deinen " +#: models.py:90 +msgid " account" +msgstr " Account" + +#: models.py:198 msgid "Use this pattern(MM/YYYY)." msgstr "" +#: models.py:199 msgid "Wrong CCV number." msgstr "" - -#~ msgid "Activate your " -#~ msgstr "Aktiviere deinen " - -#~ msgid " account" -#~ msgstr " Account" diff --git a/ungleich_page/locale/de/LC_MESSAGES/django.po b/ungleich_page/locale/de/LC_MESSAGES/django.po index a4470c29..dfba87c5 100644 --- a/ungleich_page/locale/de/LC_MESSAGES/django.po +++ b/ungleich_page/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-23 01:50+0530\n" +"POT-Creation-Date: 2017-05-30 13:47+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,81 +18,110 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: ungleich_page/templates/ungleich_page/includes/_about.html:8 msgid "ABOUT" msgstr "Über ungleich" +#: ungleich_page/templates/ungleich_page/includes/_about.html:9 msgid "The timeline of ungleich" msgstr "Die Chronik von ungleich" +#: ungleich_page/templates/ungleich_page/includes/_about.html:24 msgid "The first incarnation of ungleich" msgstr "Die erste Inkarnation von ungleich" +#: ungleich_page/templates/ungleich_page/includes/_about.html:25 msgid "in Germany" msgstr "in Deutschland" +#: ungleich_page/templates/ungleich_page/includes/_about.html:37 msgid "ungleich founded" msgstr "ungleich gegründet" +#: ungleich_page/templates/ungleich_page/includes/_about.html:38 msgid "in Switzerland" msgstr "in der Schweiz" +#: ungleich_page/templates/ungleich_page/includes/_about.html:51 msgid "ungleich present at various conferences" msgstr "ungleich präsent an mehreren Konferenzen" +#: ungleich_page/templates/ungleich_page/includes/_about.html:65 msgid "ungleich introduces HA-Hosting" msgstr "ungleich führt HA-Hosting ein" +#: ungleich_page/templates/ungleich_page/includes/_about.html:66 msgid "and introduces affordable 24X7 support." msgstr "und führt kostengünstigen 24X7 Support ein." +#: ungleich_page/templates/ungleich_page/includes/_about.html:67 msgid "ungleich launches" msgstr "ungleich lanciert" +#: ungleich_page/templates/ungleich_page/includes/_about.html:68 msgid "Digital Glarus project" msgstr "Digital Glarus Projekt" +#: ungleich_page/templates/ungleich_page/includes/_about.html:74 msgid "and" msgstr "und" +#: ungleich_page/templates/ungleich_page/includes/_about.html:74 msgid "the story continues!" msgstr "Die Geschichte geht weiter!" +#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:15 +#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:28 +#: ungleich_page/views.py:36 msgid "Contact Us" msgstr "Kontaktieren Sie uns" +#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:18 msgid "Join us at" msgstr "Schliessen Sie sich uns an" +#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:19 msgid "Digital Glarus" msgstr "Digital Glarus" +#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:20 msgid "a great co-working space in the middle of Alps!" msgstr "ein wunderschöner Co-Working Space mitten in den Alpen" +#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:21 msgid "You can contact us at" msgstr "Sie können uns kontaktieren unter" +#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:26 msgid "or" msgstr "oder" +#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:60 msgid "Submit" msgstr "Absenden" +#: ungleich_page/templates/ungleich_page/includes/_footer.html:8 msgid "Copyright © ungleich GmbH " msgstr "Copyright © ungleich GmbH" +#: ungleich_page/templates/ungleich_page/includes/_footer.html:22 msgid "ungleich Home" msgstr "ungleich Home" +#: ungleich_page/templates/ungleich_page/includes/_header.html:11 msgid "We Design, Configure & Maintain
Your Linux Infrastructure " msgstr "Wir designen, erstellen und warten Ihre Linux-Infrastruktur" +#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:8 +#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:9 msgid "Hosting Products " msgstr "Hosting Produkte" +#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:16 msgid "HA Hosting" msgstr "HA Hosting" +#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:18 msgid "" "We offer high availablity hosting (HA) in Germany and in Switzerland. Our " "infrastructure is powered by Free and Open Source Software like OpenNebula, " @@ -102,18 +131,22 @@ msgstr "" "Schweiz. Unsere Infrastruktur ist unterstützt durch Free and Open Source " "Software wie OpenNebula." +#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:24 msgid "Rails Hosting" msgstr "Rails Hosting" +#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:26 msgid "" "Ready to go live with your Ruby on Rails application? We offer you ready-to-" "deploy virtual machines or configure your existing infrastructure for Ruby " "on Rails." msgstr "Sind bereit mit ihrem Ruby on Rails Applikation live zu gehen?" +#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:32 msgid " Configuration as a Service" msgstr "Konfiguration als Service" +#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:34 msgid "" "You are in need for a configuration?
With ungleich you have found an " "experienced team that configure your systems to provide service like DNS, E-" @@ -123,22 +156,27 @@ msgstr "" "gefunden, dass ihnen die Konfiguration von DNS, E-Mail, Datenbanken oder " "Webservern für ihr System anbietet" +#: ungleich_page/templates/ungleich_page/includes/_services.html:8 msgid "our services" msgstr "Unsere Dienstleistungen" +#: ungleich_page/templates/ungleich_page/includes/_services.html:10 msgid "We support our clients in all areas of Unix infrastructure." msgstr "" "Wir unterstützen unsere Klienten in allen Bereichen der Unix Infrastruktur." +#: ungleich_page/templates/ungleich_page/includes/_services.html:11 msgid "" "Our top notch configuration management is refreshingly simple and reliable." msgstr "" "Unser erstklassiges Konfigurationsmanagement ist erfrischend einfach und " "zuverlässig." +#: ungleich_page/templates/ungleich_page/includes/_services.html:20 msgid "Hosting" msgstr "Hosting" +#: ungleich_page/templates/ungleich_page/includes/_services.html:22 msgid "" "Ruby on Rails. Java hosting, Django hosting, we make it everything run " "smooth and safe." @@ -146,9 +184,11 @@ msgstr "" "Ruby on Rails. Java hosting, Django hosting, wir garantieren einen " "reibungslosen Ablauf" +#: ungleich_page/templates/ungleich_page/includes/_services.html:30 msgid "Configuration as a Service" msgstr "Konfiguration als Service" +#: ungleich_page/templates/ungleich_page/includes/_services.html:32 msgid "" "Ruby on Rails, Django, Java, Webserver, Mailserver, any infrastructure that " "needs to configured, we provide comprehensive solutions. Amazon, rackspace " @@ -158,9 +198,11 @@ msgstr "" "welche eine Konfiguration braucht, wir offerieren umfassende Lösungen, " "Amazon, Rackspace oder Bare Metal Servers, wir konfigurieren alles." +#: ungleich_page/templates/ungleich_page/includes/_services.html:40 msgid "Linux System Engineering" msgstr "Linux System Engineering" +#: ungleich_page/templates/ungleich_page/includes/_services.html:43 msgid "" "Let your developers develop! We take care of your system administration. " "Gentoo, Archlinux, Debian, Ubuntu, and many more." @@ -168,12 +210,15 @@ msgstr "" "Lassen sie ihre Entwickler entwickeln! Wir kümmern uns um ihre " "Systemadministration. Gentoo, Archlinux, Debian, Ubuntu und viele mehr." +#: ungleich_page/templates/ungleich_page/includes/_team.html:8 msgid "Why ungleich?*" msgstr "Warum ungleich?" +#: ungleich_page/templates/ungleich_page/includes/_team.html:9 msgid "What our customers say" msgstr "Was unsere Kunden sagen" +#: ungleich_page/templates/ungleich_page/includes/_team.html:29 msgid "" "\n" "\t\t\t \"ungleich helped us getting started with our internal\n" @@ -202,6 +247,7 @@ msgstr "" "Infrastruktur-Einrichtung erhalten, welche es unseren Technikern ermöglicht " "effizienter und bequemer zu arbeiten als zuvor." +#: ungleich_page/templates/ungleich_page/includes/_team.html:51 msgid "" "\n" "\t\t\t \"Thanks to ungleich team, who has designed and\n" @@ -219,6 +265,7 @@ msgstr "" "nur in der Kosteneinsparung aber auch zur Zeiteinsparung, was für IT-Firmen " "sehr wichtig ist." +#: ungleich_page/templates/ungleich_page/includes/_team.html:67 msgid "" "\n" "\t\t\t \"ungleich provided an excellent service in designing\n" @@ -245,6 +292,7 @@ msgstr "" "allen Firmen empfehlen, bei denen eine solide Infrastruktur stark gefragt " "ist." +#: ungleich_page/templates/ungleich_page/includes/_team.html:82 msgid "" "\n" "\t\t\t - Sebastian Plattner,\n" @@ -252,37 +300,47 @@ msgid "" "\t\t\t " msgstr "" +#: ungleich_page/templates/ungleich_page/includes/_team.html:95 msgid "*ungleich means not equal to (≠) U+2260." msgstr "*ungleich bedeutet nicht gleich wie (≠) U+2260." +#: ungleich_page/templates/ungleich_page/landing.html:85 #, fuzzy #| msgid "our services" msgid "Services" msgstr "Unsere Dienstleistungen" +#: ungleich_page/templates/ungleich_page/landing.html:90 msgid "products" msgstr "PRODUKTE" +#: ungleich_page/templates/ungleich_page/landing.html:93 msgid "About" msgstr "Über" +#: ungleich_page/templates/ungleich_page/landing.html:96 msgid "WHY UNGLEICH?" msgstr "WARUM UNGLEICH?" +#: ungleich_page/templates/ungleich_page/landing.html:99 msgid "BLOG" msgstr "BLOG" +#: ungleich_page/templates/ungleich_page/landing.html:102 msgid "CONTACT" msgstr "KONTAKT" +#: ungleich_page/urls.py:8 #, fuzzy #| msgid "Contact Us" msgid "contact/$" msgstr "Kontaktieren Sie uns" +#: ungleich_page/views.py:26 msgid "Message Successfully Sent" msgstr "Nachricht erfolgreich versendet" +#: ungleich_page/views.py:37 msgid "If you have any question, just send us an email." msgstr "" "Wenn Sie irgendwelche Fragen haben, schicken Sie uns einfach eine E-Mail." diff --git a/utils/locale/de/LC_MESSAGES/django.po b/utils/locale/de/LC_MESSAGES/django.po index 39d6fa19..fdc21502 100644 --- a/utils/locale/de/LC_MESSAGES/django.po +++ b/utils/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-23 01:50+0530\n" +"POT-Creation-Date: 2017-09-02 11:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -769,8 +769,7 @@ msgid "Message" msgstr "Nachricht" msgid "The link to reset your email has been sent to your email" -msgstr "" -"Der Link zum Zur?cksetzen deines Passwortes wurde an deine E-Mail gesendet" +msgstr "Der Link zum Zur?cksetzen deines Passwortes wurde an deine E-Mail gesendet" msgid "Password Reset" msgstr "" From ec2413d3dc1acc2bcd076a072ede7db60a7f7692 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Sat, 23 Sep 2017 18:57:35 +0530 Subject: [PATCH 06/45] removed extra quote --- hosting/locale/de/LC_MESSAGES/django.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosting/locale/de/LC_MESSAGES/django.po b/hosting/locale/de/LC_MESSAGES/django.po index cbed82b7..3832ccdb 100644 --- a/hosting/locale/de/LC_MESSAGES/django.po +++ b/hosting/locale/de/LC_MESSAGES/django.po @@ -235,7 +235,7 @@ msgid "" "been cancelled." msgstr "" "Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] " -"gekündigt wurde."" +"gekündigt wurde." msgid "You can always order a new VM by clicking the button below." msgstr "" From a37c734c94cb979a54029e8e50919fe2ba541ba4 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Tue, 26 Sep 2017 02:53:09 +0530 Subject: [PATCH 07/45] translation fix --- datacenterlight/locale/de/LC_MESSAGES/django.po | 6 +++--- hosting/locale/de/LC_MESSAGES/django.po | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/datacenterlight/locale/de/LC_MESSAGES/django.po b/datacenterlight/locale/de/LC_MESSAGES/django.po index a9dfd3e2..62580154 100644 --- a/datacenterlight/locale/de/LC_MESSAGES/django.po +++ b/datacenterlight/locale/de/LC_MESSAGES/django.po @@ -156,15 +156,15 @@ msgid "" msgstr "Kopiere den folgenden Link in die Adressleiste deines Browsers." msgid "Welcome to Data Center Light!" -msgstr "Willkommen zu Data Center Light!" +msgstr "Willkommen beim Data Center Light!" msgid "" "Thanks for joining us! We provide the most affordable virtual machines from " "the heart of Switzerland." -msgstr "" +msgstr "Bei uns findest Du die günstiges VMs aus der Schweiz." msgid "Try now, order a VM. VM price starts from only 15CHF per month." -msgstr "" +msgstr "Unser Angebot beginnt bei 15 CHF pro Monat. Probier's jetzt aus!" msgid "ORDER VM" msgstr "VM BESTELLEN" diff --git a/hosting/locale/de/LC_MESSAGES/django.po b/hosting/locale/de/LC_MESSAGES/django.po index 3832ccdb..83dbc3ac 100644 --- a/hosting/locale/de/LC_MESSAGES/django.po +++ b/hosting/locale/de/LC_MESSAGES/django.po @@ -215,16 +215,16 @@ msgid "Password Reset" msgstr "Passwort zurücksetzen" msgid "We received a request to reset your password." -msgstr "" +msgstr "Wir haben eine Anfrage erhalten, um Dein Passwort zurückzusetzen." msgid "If you didn't make this request you can safely ignore this email." -msgstr "" +msgstr "Falls Du kein neues Passwort angefragt hast, kannst Du diese E-mail ignorieren." msgid "Otherwise, click here to reset your password." -msgstr "" +msgstr "Andernfalls klicke hier, um Dein Passwort zurückzusetzen." msgid "Thank you!" -msgstr "" +msgstr "Dankeschön!" msgid "Virtual Machine Cancellation" msgstr "VM Kündigung" @@ -238,7 +238,7 @@ msgstr "" "gekündigt wurde." msgid "You can always order a new VM by clicking the button below." -msgstr "" +msgstr "Du kannst einfach eine neue VM bestellen, indem Du den Knopf weiter unten drückst." msgid "CREATE VM" msgstr "NEUE VM" From 21660f8d00322f22569a262281d91aa93a39b4cc Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 02:07:52 +0530 Subject: [PATCH 08/45] font-size reduced, vm cancel and vm create email data fixed --- .../locale/de/LC_MESSAGES/django.po | 2 +- datacenterlight/tasks.py | 21 +- .../emails/user_activation.html | 6 +- .../datacenterlight/emails/welcome_user.html | 6 +- hosting/locale/de/LC_MESSAGES/django.po | 181 ++++++------------ .../hosting/emails/new_booked_vm.html | 8 +- .../hosting/emails/password_reset_email.html | 6 +- .../templates/hosting/emails/vm_canceled.html | 10 +- hosting/views.py | 2 +- 9 files changed, 95 insertions(+), 147 deletions(-) diff --git a/datacenterlight/locale/de/LC_MESSAGES/django.po b/datacenterlight/locale/de/LC_MESSAGES/django.po index 89e35e8c..96dd650c 100644 --- a/datacenterlight/locale/de/LC_MESSAGES/django.po +++ b/datacenterlight/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-23 02:19+0530\n" +"POT-Creation-Date: 2017-09-27 02:06+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/datacenterlight/tasks.py b/datacenterlight/tasks.py index 1335869b..61c6fb4b 100644 --- a/datacenterlight/tasks.py +++ b/datacenterlight/tasks.py @@ -5,6 +5,7 @@ from celery.utils.log import get_task_logger from celery import current_task from django.conf import settings from django.core.mail import EmailMessage +from django.core.urlresolvers import reverse from django.utils import translation from django.utils.translation import ugettext_lazy as _ @@ -52,7 +53,8 @@ def create_vm_task(self, vm_template_id, user, specs, template, stripe_customer_id, billing_address_data, billing_address_id, charge, cc_details): - logger.debug("Running create_vm_task on {}".format(current_task.request.hostname)) + logger.debug("Running create_vm_task on {}".format( + current_task.request.hostname)) vm_id = None try: final_price = specs.get('price') @@ -126,9 +128,9 @@ def create_vm_task(self, vm_template_id, user, specs, template, 'storage': specs.get('disk_size'), 'price': specs.get('price'), 'template': template.get('name'), - 'vm.name': vm['name'], - 'vm.id': vm['vm_id'], - 'order.id': order.id + 'vm_name': vm['name'], + 'vm_id': vm['vm_id'], + 'order_id': order.id } email_data = { 'subject': settings.DCL_TEXT + " Order from %s" % context['email'], @@ -142,20 +144,21 @@ def create_vm_task(self, vm_template_id, user, specs, template, email.send() if 'pass' in user: - lang = 'en-us' + lang = 'en-us' if user.get('language') is not None: - logger.debug("Language is set to {}".format(user.get('language'))) + logger.debug("Language is set to {}".format( + user.get('language'))) lang = user.get('language') translation.activate(lang) # Send notification to the user as soon as VM has been booked context = { - 'vm': vm, - 'order': order, 'base_url': "{0}://{1}".format(user.get('request_scheme'), user.get('request_host')), + 'order_url': reverse('hosting:orders', + kwargs={'pk': order.id}), 'page_header': _( 'Your New VM %(vm_name)s at Data Center Light') % { - 'vm_name': vm.get('name')} + 'vm_name': vm.get('name')} } email_data = { 'subject': context.get('page_header'), diff --git a/datacenterlight/templates/datacenterlight/emails/user_activation.html b/datacenterlight/templates/datacenterlight/emails/user_activation.html index 9c8c0367..409ea153 100644 --- a/datacenterlight/templates/datacenterlight/emails/user_activation.html +++ b/datacenterlight/templates/datacenterlight/emails/user_activation.html @@ -6,7 +6,7 @@ {% trans "Data Center Light Account Activation" %} - + @@ -14,7 +14,7 @@ @@ -35,7 +35,7 @@
- +
-

{% trans "Your Data Center Light Team" %}

+

{% trans "Your Data Center Light Team" %}

diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.html b/datacenterlight/templates/datacenterlight/emails/welcome_user.html index f426de20..ba0e5026 100644 --- a/datacenterlight/templates/datacenterlight/emails/welcome_user.html +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.html @@ -6,7 +6,7 @@ {% trans "Welcome to Data Center Light!" %} - + @@ -14,7 +14,7 @@ @@ -37,7 +37,7 @@
- +
-

{% trans "Your Data Center Light Team" %}

+

{% trans "Your Data Center Light Team" %}

diff --git a/hosting/locale/de/LC_MESSAGES/django.po b/hosting/locale/de/LC_MESSAGES/django.po index e1a3c694..27a87c53 100644 --- a/hosting/locale/de/LC_MESSAGES/django.po +++ b/hosting/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-24 12:34+0000\n" +"POT-Creation-Date: 2017-09-27 02:06+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -221,7 +221,9 @@ msgid "We received a request to reset your password." msgstr "Wir haben eine Anfrage erhalten, um Dein Passwort zurückzusetzen." msgid "If you didn't make this request you can safely ignore this email." -msgstr "Falls Du kein neues Passwort angefragt hast, kannst Du diese E-mail ignorieren." +msgstr "" +"Falls Du kein neues Passwort angefragt hast, kannst Du diese E-mail " +"ignorieren." msgid "Otherwise, click here to reset your password." msgstr "Andernfalls klicke hier, um Dein Passwort zurückzusetzen." @@ -232,50 +234,18 @@ msgstr "Dankeschön!" msgid "Virtual Machine Cancellation" msgstr "VM Kündigung" -#, python-format -msgid "" -"\n" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s.
\n" -"Please go to the following page and choose a new password: %(base_url)s" -"%(password_reset_url)s
\n" -"If you didn't request a new password, ignore this e-mail.
\n" -"Thank you!\n" -msgstr "" -"\n" -"Du erhälst diese E-Mail da Du Dein Passwort für Deinen Account bei " -"%(site_name)s zurücksetzen möchtest.
\n" -"Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" -"%(password_reset_url)s Solltest Du kein neues Passwort angefordert haben, " -"dann ignoriere diese E-Mail.
\n" -"Dankeschön!\n" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s.\n" -"Please go to the following page and choose a new password: %(base_url)s" -"%(password_reset_url)s\n" -"If you didn't request a new password, ignore this e-mail.\n" -"Thank you!\n" -msgstr "" -"Du erhälst diese E-Mail da Du Dein Passwort für Deinen Account bei " -"%(site_name)s zurücksetzen möchtest.\n" -"Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" -"%(password_reset_url)s Solltest Du kein neues Passwort angefordert haben, " -"dann ignoriere diese E-Mail.\n" -"Dankeschön!\n" - #, python-format msgid "" "You are receiving this email because your virutal machine [%(vm_name)s] has " "been cancelled." msgstr "" -"Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] " -"gekündigt wurde." +"Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] gekündigt " +"wurde." msgid "You can always order a new VM by clicking the button below." -msgstr "Du kannst einfach eine neue VM bestellen, indem Du den Knopf weiter unten drückst." +msgstr "" +"Du kannst einfach eine neue VM bestellen, indem Du den Knopf weiter unten " +"drückst." msgid "CREATE VM" msgstr "NEUE VM" @@ -283,24 +253,6 @@ msgstr "NEUE VM" msgid "You can always order a new VM by following the link below." msgstr "" -#, python-format -msgid "" -"You're receiving this mail because your virtual machine [%(vm_name)s] has " -"been cancelled.\n" -"You can see your order status by clicking here\n" -"%(base_url)s%(vm_order_url)s\n" -"If you want to order a new virtual machine, you can do it by clicking this " -"link.\n" -"%(base_url)s%(my_virtual_machines_url)s\n" -msgstr "" -"Du erhälst diese E-Mail, da Deine virtuelle Maschine [%(vm_name)s] gekündigt " -"wurde.\n" -"Um Deinen Auftragsstatus zu sehen, klicke hier.\n" -"%(base_url)s%(vm_order_url)s\n" -"Falls Du eine neue virtuelle Maschine bestellen möchtest, kannst Du dies " -"tun, indem Du diesen Link klickst.\n" -"%(base_url)s%(my_virtual_machines_url)s\n" - msgid "Toggle navigation" msgstr "Umschalten" @@ -620,8 +572,8 @@ msgid "" "Your Virtual Machine %(machine_name)s is successfully " "terminated!" msgstr "" -"Deine Virtuelle Machine (VM) %(machine_name)s wurde erfolgreich " -"beendet!" +"Deine Virtuelle Machine (VM) %(machine_name)s wurde " +"erfolgreich beendet!" msgid "Virtual Machines" msgstr "Virtuelle Maschinen" @@ -704,25 +656,67 @@ msgid "" "contact Data Center Light Support." msgstr "Kontaktiere den Data Center Light Support." -#, python-format -msgid "VM %(VM_ID)s terminated successfully" -msgstr "VM %(VM_ID)s erfolgreich beendet" - msgid "Terminated" msgstr "Beendet" msgid "Error terminating VM" msgstr "Fehler beenden VM" -msgid "Virtual Machine Cancellation" -msgstr "VM Kündigung" +#~ msgid "" +#~ "\n" +#~ "You're receiving this email because you requested a password reset for " +#~ "your user account at %(site_name)s.
\n" +#~ "Please go to the following page and choose a new password: %(base_url)s" +#~ "%(password_reset_url)s
\n" +#~ "If you didn't request a new password, ignore this e-mail.
\n" +#~ "Thank you!\n" +#~ msgstr "" +#~ "\n" +#~ "Du erhälst diese E-Mail da Du Dein Passwort für Deinen Account bei " +#~ "%(site_name)s zurücksetzen möchtest.
\n" +#~ "Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" +#~ "%(password_reset_url)s Solltest Du kein neues Passwort angefordert haben, " +#~ "dann ignoriere diese E-Mail.
\n" +#~ "Dankeschön!\n" -#~ msgid "Close" -#~ msgstr "Schliessen" +#~ msgid "" +#~ "You're receiving this email because you requested a password reset for " +#~ "your user account at %(site_name)s.\n" +#~ "Please go to the following page and choose a new password: %(base_url)s" +#~ "%(password_reset_url)s\n" +#~ "If you didn't request a new password, ignore this e-mail.\n" +#~ "Thank you!\n" +#~ msgstr "" +#~ "Du erhälst diese E-Mail da Du Dein Passwort für Deinen Account bei " +#~ "%(site_name)s zurücksetzen möchtest.\n" +#~ "Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" +#~ "%(password_reset_url)s Solltest Du kein neues Passwort angefordert haben, " +#~ "dann ignoriere diese E-Mail.\n" +#~ "Dankeschön!\n" + +#~ msgid "" +#~ "You're receiving this mail because your virtual machine [%(vm_name)s] has " +#~ "been cancelled.\n" +#~ "You can see your order status by clicking here\n" +#~ "%(base_url)s%(vm_order_url)s\n" +#~ "If you want to order a new virtual machine, you can do it by clicking " +#~ "this link.\n" +#~ "%(base_url)s%(my_virtual_machines_url)s\n" +#~ msgstr "" +#~ "Du erhälst diese E-Mail, da Deine virtuelle Maschine [%(vm_name)s] " +#~ "gekündigt wurde.\n" +#~ "Um Deinen Auftragsstatus zu sehen, klicke hier.\n" +#~ "%(base_url)s%(vm_order_url)s\n" +#~ "Falls Du eine neue virtuelle Maschine bestellen möchtest, kannst Du dies " +#~ "tun, indem Du diesen Link klickst.\n" +#~ "%(base_url)s%(my_virtual_machines_url)s\n" #~ msgid "VM %(VM_ID)s terminated successfully" #~ msgstr "VM %(VM_ID)s erfolgreich beendet" +#~ msgid "Close" +#~ msgstr "Schliessen" + #~ msgid "days" #~ msgstr "Tage" @@ -762,55 +756,6 @@ msgstr "VM Kündigung" #~ "tun, indem du diesen " #~ "Link klickst.
\n" -#~ msgid "" -#~ "You're receiving this mail because your virtual machine [%(vm_name)s] has " -#~ "been cancelled.\n" -#~ "You can see your order status by clicking here\n" -#~ "%(base_url)s%(vm_order_url)s\n" -#~ "If you want to order a new virtual machine, you can do it by clicking " -#~ "this link.\n" -#~ "%(base_url)s%(my_virtual_machines_url)s\n" -#~ msgstr "" -#~ "Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] " -#~ "gekündigt wurde.\n" -#~ "Um deinen Auftragsstatus zu sehen, klicke hier.\n" -#~ "%(base_url)s%(vm_order_url)s\n" -#~ "Falls du eine neue virtuelle Maschine bestellen möchtest, kannst du dies " -#~ "tun, indem du diesen Link klickst.\n" -#~ "%(base_url)s%(my_virtual_machines_url)s\n" - -#~ msgid "" -#~ "\n" -#~ "You're receiving this email because you requested a password reset for " -#~ "your user account at %(site_name)s.
\n" -#~ "Please go to the following page and choose a new password: %(base_url)s" -#~ "%(password_reset_url)s
\n" -#~ "If you didn't request a new password, ignore this e-mail.
\n" -#~ "Thank you!\n" -#~ msgstr "" -#~ "\n" -#~ "Du erhälst diese E-Mail da du dein Passwort für deinen Account bei " -#~ "%(site_name)s zurücksetzen möchtest.
\n" -#~ "Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" -#~ "%(password_reset_url)s Solltest du kein neues Passwort angefordert haben, " -#~ "dann ignoriere diese E-Mail.
\n" -#~ "Dankeschön!\n" - -#~ msgid "" -#~ "You're receiving this email because you requested a password reset for " -#~ "your user account at %(site_name)s.\n" -#~ "Please go to the following page and choose a new password: %(base_url)s" -#~ "%(password_reset_url)s\n" -#~ "If you didn't request a new password, ignore this e-mail.\n" -#~ "Thank you!\n" -#~ msgstr "" -#~ "Du erhälst diese E-Mail da du dein Passwort für deinen Account bei " -#~ "%(site_name)s zurücksetzen möchtest.\n" -#~ "Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s" -#~ "%(password_reset_url)s Solltest du kein neues Passwort angefordert haben, " -#~ "dann ignoriere diese E-Mail.\n" -#~ "Dankeschön!\n" - #~ msgid "Finish Configuration" #~ msgstr "Konfiguration beenden" @@ -917,5 +862,5 @@ msgstr "VM Kündigung" #~ "Your SSH private key was already generated and downloaded, if you lost " #~ "it, contact us. " #~ msgstr "" -#~ "Dein privater SSH Key wurde bereits generiert und heruntergeladen. " -#~ "Falls Du ihn verloren hast, kontaktiere uns." +#~ "Dein privater SSH Key wurde bereits generiert und heruntergeladen. Falls " +#~ "Du ihn verloren hast, kontaktiere uns." diff --git a/hosting/templates/hosting/emails/new_booked_vm.html b/hosting/templates/hosting/emails/new_booked_vm.html index 78134307..2aa5b4e8 100644 --- a/hosting/templates/hosting/emails/new_booked_vm.html +++ b/hosting/templates/hosting/emails/new_booked_vm.html @@ -6,7 +6,7 @@ {% blocktrans %}Your New VM {{vm_name}}{% endblocktrans %} - + @@ -14,7 +14,7 @@ @@ -26,7 +26,7 @@ @@ -38,7 +38,7 @@
- +

{% blocktrans %}You have ordered a new virtual machine!{% endblocktrans %}
- {% blocktrans %}Your order of [{{vm_name}}] has been charged.{% endblocktrans %}
+ {% blocktrans %}Your order of [{{ vm_name }}] has been charged.{% endblocktrans %}
{% blocktrans %}You can view your VM detail by clicking the button below.{% endblocktrans %}

-

{% trans "Your Data Center Light Team" %}

+

{% trans "Your Data Center Light Team" %}

diff --git a/hosting/templates/hosting/emails/password_reset_email.html b/hosting/templates/hosting/emails/password_reset_email.html index f5929f33..8bfddae7 100644 --- a/hosting/templates/hosting/emails/password_reset_email.html +++ b/hosting/templates/hosting/emails/password_reset_email.html @@ -6,7 +6,7 @@ {% trans "Password Reset" %} - + @@ -14,7 +14,7 @@ @@ -40,7 +40,7 @@
- +
-

{% trans "Your Data Center Light Team" %}

+

{% trans "Your Data Center Light Team" %}

diff --git a/hosting/templates/hosting/emails/vm_canceled.html b/hosting/templates/hosting/emails/vm_canceled.html index 1baa6954..535ea2ed 100644 --- a/hosting/templates/hosting/emails/vm_canceled.html +++ b/hosting/templates/hosting/emails/vm_canceled.html @@ -6,7 +6,7 @@ {% trans "Virtual Machine Cancellation" %} - + @@ -14,7 +14,7 @@ @@ -25,19 +25,19 @@
- +

- {% blocktrans %}You are receiving this email because your virutal machine [{{vm_name}}] has been cancelled.{% endblocktrans %}
+ {% blocktrans %}You are receiving this email because your virutal machine [{{ vm_name }}] has been cancelled.{% endblocktrans %}
{% blocktrans %}You can always order a new VM by clicking the button below.{% endblocktrans %}

- + {% trans "CREATE VM" %} + {% trans "CREATE VM" %}
-

{% trans "Your Data Center Light Team" %}

+

{% trans "Your Data Center Light Team" %}

diff --git a/hosting/views.py b/hosting/views.py index f5da9c26..1f4bc895 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -1079,7 +1079,7 @@ class VirtualMachineView(LoginRequiredMixin, View): else: sleep(2) context = { - 'vm': vm_data, + 'vm_name': vm_data.name, 'base_url': "{0}://{1}".format(self.request.scheme, self.request.get_host()), 'page_header': _('Virtual Machine Cancellation') From d3f2fd2aa047341de212a55a39eb4b58a7fe2107 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 02:14:20 +0530 Subject: [PATCH 09/45] dcl logo changed to png --- .../templates/datacenterlight/emails/user_activation.html | 2 +- .../templates/datacenterlight/emails/welcome_user.html | 2 +- hosting/templates/hosting/emails/new_booked_vm.html | 2 +- hosting/templates/hosting/emails/password_reset_email.html | 2 +- hosting/templates/hosting/emails/vm_canceled.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/datacenterlight/templates/datacenterlight/emails/user_activation.html b/datacenterlight/templates/datacenterlight/emails/user_activation.html index 409ea153..89d99722 100644 --- a/datacenterlight/templates/datacenterlight/emails/user_activation.html +++ b/datacenterlight/templates/datacenterlight/emails/user_activation.html @@ -14,7 +14,7 @@ diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.html b/datacenterlight/templates/datacenterlight/emails/welcome_user.html index ba0e5026..99299d67 100644 --- a/datacenterlight/templates/datacenterlight/emails/welcome_user.html +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.html @@ -14,7 +14,7 @@
- +
diff --git a/hosting/templates/hosting/emails/new_booked_vm.html b/hosting/templates/hosting/emails/new_booked_vm.html index 2aa5b4e8..e5278fc5 100644 --- a/hosting/templates/hosting/emails/new_booked_vm.html +++ b/hosting/templates/hosting/emails/new_booked_vm.html @@ -14,7 +14,7 @@
- +
diff --git a/hosting/templates/hosting/emails/password_reset_email.html b/hosting/templates/hosting/emails/password_reset_email.html index 8bfddae7..aec8fb50 100644 --- a/hosting/templates/hosting/emails/password_reset_email.html +++ b/hosting/templates/hosting/emails/password_reset_email.html @@ -14,7 +14,7 @@
- +
diff --git a/hosting/templates/hosting/emails/vm_canceled.html b/hosting/templates/hosting/emails/vm_canceled.html index 535ea2ed..2439c40c 100644 --- a/hosting/templates/hosting/emails/vm_canceled.html +++ b/hosting/templates/hosting/emails/vm_canceled.html @@ -14,7 +14,7 @@
- +
From 03b4ff1b659efb71e493426affc52a8088008986 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 02:14:45 +0530 Subject: [PATCH 10/45] png logo --- .../static/datacenterlight/img/logo_black.png | Bin 0 -> 4012 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 datacenterlight/static/datacenterlight/img/logo_black.png diff --git a/datacenterlight/static/datacenterlight/img/logo_black.png b/datacenterlight/static/datacenterlight/img/logo_black.png new file mode 100644 index 0000000000000000000000000000000000000000..00d295ec160def7386528a2869731da77bc10b49 GIT binary patch literal 4012 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 literal 0 HcmV?d00001 From d888b260ee4008c99cd0edefce75414761a70da3 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 02:45:24 +0530 Subject: [PATCH 11/45] welcome user mail --- hosting/views.py | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/hosting/views.py b/hosting/views.py index 1f4bc895..51a90e1d 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -274,22 +274,21 @@ class SignupValidatedView(SignupValidateView): "Your account has been activated."), login_string=_("You can now"), lurl=login_url) - if not pre_valid: - email_data = { - 'subject': 'Welcome to Data Center Light!', - 'to': self.request.user.email, - 'context': { - 'base_url': "{0}://{1}".format( - self.request.scheme, - self.request.get_host() - ) - }, - 'template_name': 'welcome_user', - 'template_path': 'datacenterlight/emails/', - 'from_address': settings.DCL_SUPPORT_FROM_ADDRESS, - } - email = BaseEmail(**email_data) - email.send() + email_data = { + 'subject': _('Welcome to Data Center Light!'), + 'to': self.request.user.email, + 'context': { + 'base_url': "{0}://{1}".format( + self.request.scheme, + self.request.get_host() + ) + }, + 'template_name': 'welcome_user', + 'template_path': 'datacenterlight/emails/', + 'from_address': settings.DCL_SUPPORT_FROM_ADDRESS, + } + email = BaseEmail(**email_data) + email.send() else: home_url = '
- +
- diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.html b/datacenterlight/templates/datacenterlight/emails/welcome_user.html index 99299d67..573fe2ef 100644 --- a/datacenterlight/templates/datacenterlight/emails/welcome_user.html +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.html @@ -13,7 +13,7 @@
+
- diff --git a/hosting/templates/hosting/emails/new_booked_vm.html b/hosting/templates/hosting/emails/new_booked_vm.html index e5278fc5..f3a0af01 100644 --- a/hosting/templates/hosting/emails/new_booked_vm.html +++ b/hosting/templates/hosting/emails/new_booked_vm.html @@ -13,7 +13,7 @@
+
- diff --git a/hosting/templates/hosting/emails/password_reset_email.html b/hosting/templates/hosting/emails/password_reset_email.html index aec8fb50..1ef685da 100644 --- a/hosting/templates/hosting/emails/password_reset_email.html +++ b/hosting/templates/hosting/emails/password_reset_email.html @@ -13,7 +13,7 @@
+
- diff --git a/hosting/templates/hosting/emails/vm_canceled.html b/hosting/templates/hosting/emails/vm_canceled.html index 2439c40c..fa090636 100644 --- a/hosting/templates/hosting/emails/vm_canceled.html +++ b/hosting/templates/hosting/emails/vm_canceled.html @@ -13,7 +13,7 @@
+
- From 5747468c214098d30777392318a29fde145d158f Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 03:09:43 +0530 Subject: [PATCH 13/45] outline removed --- .../templates/datacenterlight/emails/user_activation.html | 4 ++-- .../templates/datacenterlight/emails/welcome_user.html | 2 +- hosting/templates/hosting/emails/new_booked_vm.html | 2 +- hosting/templates/hosting/emails/password_reset_email.html | 4 ++-- hosting/templates/hosting/emails/vm_canceled.html | 2 +- hosting/views.py | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/datacenterlight/templates/datacenterlight/emails/user_activation.html b/datacenterlight/templates/datacenterlight/emails/user_activation.html index 0836d1cd..2cc75d80 100644 --- a/datacenterlight/templates/datacenterlight/emails/user_activation.html +++ b/datacenterlight/templates/datacenterlight/emails/user_activation.html @@ -11,7 +11,7 @@ -
+
+
diff --git a/datacenterlight/templates/datacenterlight/emails/welcome_user.html b/datacenterlight/templates/datacenterlight/emails/welcome_user.html index 573fe2ef..7e35ac59 100644 --- a/datacenterlight/templates/datacenterlight/emails/welcome_user.html +++ b/datacenterlight/templates/datacenterlight/emails/welcome_user.html @@ -11,7 +11,7 @@ -
@@ -28,7 +28,7 @@ {% blocktrans %}You can activate your Data Center Light account by clicking here.{% endblocktrans %}
{% blocktrans %}You can also copy and paste the following link into the address bar of your browser to activate your Data Center Light account.{% endblocktrans %}

-

+

{{base_url}}{{activation_link}}

+
diff --git a/hosting/templates/hosting/emails/new_booked_vm.html b/hosting/templates/hosting/emails/new_booked_vm.html index f3a0af01..7ed963c6 100644 --- a/hosting/templates/hosting/emails/new_booked_vm.html +++ b/hosting/templates/hosting/emails/new_booked_vm.html @@ -11,7 +11,7 @@ - +
diff --git a/hosting/templates/hosting/emails/password_reset_email.html b/hosting/templates/hosting/emails/password_reset_email.html index 1ef685da..03f4c065 100644 --- a/hosting/templates/hosting/emails/password_reset_email.html +++ b/hosting/templates/hosting/emails/password_reset_email.html @@ -11,7 +11,7 @@ - +
@@ -29,7 +29,7 @@ {% trans "If you didn't make this request you can safely ignore this email." %}
{% trans "Otherwise, click here to reset your password." %}

-

+

{% url 'hosting:reset_password_confirm' uidb64=uid token=token as password_reset_url %} {{base_url}}{{ password_reset_url }}

diff --git a/hosting/templates/hosting/emails/vm_canceled.html b/hosting/templates/hosting/emails/vm_canceled.html index fa090636..cc133156 100644 --- a/hosting/templates/hosting/emails/vm_canceled.html +++ b/hosting/templates/hosting/emails/vm_canceled.html @@ -11,7 +11,7 @@ - +
diff --git a/hosting/views.py b/hosting/views.py index f81e6c5a..3358ebaf 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -267,7 +267,6 @@ class SignupValidatedView(SignupValidateView): section_title = _('Account activation') user = CustomUser.objects.filter( validation_slug=self.kwargs['validate_slug']).first() - # pre_valid = user.validated if validated: message = '{account_activation_string}
{login_string} {lurl}.'.format( account_activation_string=_( From 96f24881febabb3741169ba5d8832bace4c7d713 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 03:36:02 +0530 Subject: [PATCH 15/45] vm name fix --- datacenterlight/tasks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/datacenterlight/tasks.py b/datacenterlight/tasks.py index 3869a409..561bfd17 100644 --- a/datacenterlight/tasks.py +++ b/datacenterlight/tasks.py @@ -158,7 +158,8 @@ def create_vm_task(self, vm_template_id, user, specs, template, kwargs={'pk': order.id}), 'page_header': _( 'Your New VM %(vm_name)s at Data Center Light') % { - 'vm_name': vm.get('name')} + 'vm_name': vm.get('name')}, + 'vm_name': vm.get('name') } email_data = { 'subject': context.get('page_header'), From 45df525a37ad958a0e3bc320eb19d9b2e8b469ab Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 03:38:39 +0530 Subject: [PATCH 16/45] vm cancel name fix --- hosting/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hosting/views.py b/hosting/views.py index 3358ebaf..f994181e 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -1056,6 +1056,7 @@ class VirtualMachineView(LoginRequiredMixin, View): try: vm_data = VirtualMachineSerializer(manager.get_vm(vm.id)).data + vm_name = vm_data.name except WrongIdError: return redirect(reverse('hosting:virtual_machines')) @@ -1077,7 +1078,7 @@ class VirtualMachineView(LoginRequiredMixin, View): else: sleep(2) context = { - 'vm_name': vm_data.name, + 'vm_name': vm_name, 'base_url': "{0}://{1}".format(self.request.scheme, self.request.get_host()), 'page_header': _('Virtual Machine Cancellation') From 937cd2cd829fb0c0e525fe05271381b39080d157 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 03:41:18 +0530 Subject: [PATCH 17/45] minor fix --- hosting/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosting/views.py b/hosting/views.py index f994181e..0db4ad39 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -1056,7 +1056,7 @@ class VirtualMachineView(LoginRequiredMixin, View): try: vm_data = VirtualMachineSerializer(manager.get_vm(vm.id)).data - vm_name = vm_data.name + vm_name = vm_data.get('name') except WrongIdError: return redirect(reverse('hosting:virtual_machines')) From 06bc37a9775b54b4b97bfaea2e89cfa867607723 Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 04:13:04 +0530 Subject: [PATCH 18/45] paddings changed --- .../static/datacenterlight/img/logo_black.png | Bin 4012 -> 601929 bytes .../emails/user_activation.html | 12 ++++++------ .../datacenterlight/emails/welcome_user.html | 14 +++++++------- .../hosting/emails/new_booked_vm.html | 14 +++++++------- .../hosting/emails/password_reset_email.html | 12 ++++++------ .../templates/hosting/emails/vm_canceled.html | 14 +++++++------- 6 files changed, 33 insertions(+), 33 deletions(-) diff --git a/datacenterlight/static/datacenterlight/img/logo_black.png b/datacenterlight/static/datacenterlight/img/logo_black.png index 00d295ec160def7386528a2869731da77bc10b49..d5377a76f4829cd70d6fdcbea9f1816ee8ae76aa 100644 GIT binary patch literal 601929 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
diff --git a/hosting/views.py b/hosting/views.py index 51a90e1d..f81e6c5a 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -267,7 +267,7 @@ class SignupValidatedView(SignupValidateView): section_title = _('Account activation') user = CustomUser.objects.filter( validation_slug=self.kwargs['validate_slug']).first() - pre_valid = user.validated + # pre_valid = user.validated if validated: message = '{account_activation_string}
{login_string} {lurl}.'.format( account_activation_string=_( @@ -276,7 +276,7 @@ class SignupValidatedView(SignupValidateView): lurl=login_url) email_data = { 'subject': _('Welcome to Data Center Light!'), - 'to': self.request.user.email, + 'to': user.email, 'context': { 'base_url': "{0}://{1}".format( self.request.scheme, From f4b6b38522168657a0a040fcf768335267a728fc Mon Sep 17 00:00:00 2001 From: Arvind Tiwari Date: Wed, 27 Sep 2017 03:28:06 +0530 Subject: [PATCH 14/45] minor fix --- datacenterlight/tasks.py | 2 +- hosting/templates/hosting/emails/new_booked_vm.html | 2 +- hosting/views.py | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/datacenterlight/tasks.py b/datacenterlight/tasks.py index 61c6fb4b..3869a409 100644 --- a/datacenterlight/tasks.py +++ b/datacenterlight/tasks.py @@ -128,7 +128,7 @@ def create_vm_task(self, vm_template_id, user, specs, template, 'storage': specs.get('disk_size'), 'price': specs.get('price'), 'template': template.get('name'), - 'vm_name': vm['name'], + 'vm_name': vm.get('name'), 'vm_id': vm['vm_id'], 'order_id': order.id } diff --git a/hosting/templates/hosting/emails/new_booked_vm.html b/hosting/templates/hosting/emails/new_booked_vm.html index 7ed963c6..bda0964e 100644 --- a/hosting/templates/hosting/emails/new_booked_vm.html +++ b/hosting/templates/hosting/emails/new_booked_vm.html @@ -19,7 +19,7 @@
-

{% blocktrans %}Your New VM {{vm_name}}{% endblocktrans %}

+

{% blocktrans %}Your New VM {{ vm_name }}{% endblocktrans %}