From bce5a489d0ee0a9c12f9edc299568439af5a9c90 Mon Sep 17 00:00:00 2001 From: Santiago Lamora Date: Tue, 10 Dec 2019 11:57:40 +0100 Subject: [PATCH 01/17] Add modal with recover password instructions. --- musician/templates/auth/login.html | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/musician/templates/auth/login.html b/musician/templates/auth/login.html index bd08781..a0f96ae 100644 --- a/musician/templates/auth/login.html +++ b/musician/templates/auth/login.html @@ -64,9 +64,32 @@ - + + + + + + {% block script %} + {{ block.super }} + {% endblock %} {% endblock %} From eb0e65f1327485618e1a92828c4d2cbec57a073b Mon Sep 17 00:00:00 2001 From: Santiago Lamora Date: Tue, 10 Dec 2019 11:59:01 +0100 Subject: [PATCH 02/17] Configure i18n and create initial locale .po files - Catalan (ca) - Spanish (es) --- musician/locale/ca/LC_MESSAGES/django.po | 126 +++++++++++++++++++++++ musician/locale/es/LC_MESSAGES/django.po | 126 +++++++++++++++++++++++ userpanel/settings.py | 9 ++ 3 files changed, 261 insertions(+) create mode 100644 musician/locale/ca/LC_MESSAGES/django.po create mode 100644 musician/locale/es/LC_MESSAGES/django.po diff --git a/musician/locale/ca/LC_MESSAGES/django.po b/musician/locale/ca/LC_MESSAGES/django.po new file mode 100644 index 0000000..58f83a8 --- /dev/null +++ b/musician/locale/ca/LC_MESSAGES/django.po @@ -0,0 +1,126 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-12-10 10:53+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: models.py:93 +msgid "Databases" +msgstr "" + +#: models.py:122 +msgid "Mail addresses" +msgstr "" + +#: models.py:123 models.py:161 models.py:186 +msgid "" +"Litle description of what to be expected in this section to aid the user. " +"Even a link to more help if there is one available." +msgstr "" + +#: models.py:160 +msgid "Mailing list" +msgstr "" + +#: models.py:185 +msgid "Software as a Service (SaaS)" +msgstr "" + +#: templates/auth/login.html:59 +msgid "Log in" +msgstr "" + +#: templates/auth/login.html:67 +msgid "Forgot your password? Click here to recover" +msgstr "Has oblidat la teva contrasenya? Fes click aquí per recuperar-la" + +#: templates/auth/login.html:77 +msgid "Forgot your password?" +msgstr "Has oblidat la teva contrasenya?" + +#: templates/auth/login.html:83 +#, python-format +msgid "" +"Send an email to %(support_email)s " +"including your username and we will provide instructions." +msgstr "" +"Envia un correu a %(support_email)s " +"indicant el teu nom d’usuari/a i t’explicarem què fer." + +#: templates/musician/base.html:66 +msgid "Profile" +msgstr "" + +#: templates/musician/base.html:67 templates/musician/billing.html:6 +msgid "Billing" +msgstr "" + +#: templates/musician/base.html:76 +msgid "Log out" +msgstr "" + +#: templates/musician/components/table_paginator.html:15 +msgid "Previous" +msgstr "" + +#: templates/musician/components/table_paginator.html:29 +msgid "Next" +msgstr "" + +#: templates/musician/databases.html:17 templates/musician/mail.html:19 +msgid "Type" +msgstr "" + +#: templates/musician/databases.html:20 +msgid "associated to" +msgstr "" + +#: templates/musician/databases.html:32 +msgid "No users for this database." +msgstr "" + +#: templates/musician/databases.html:43 +msgid "Open database manager" +msgstr "" + +#: templates/musician/mail.html:17 +msgid "Mail address" +msgstr "" + +#: templates/musician/mail.html:18 +msgid "Aliases" +msgstr "" + +#: templates/musician/mail.html:20 +msgid "Type details" +msgstr "" + +#: templates/musician/saas.html:17 +msgid "Installed on" +msgstr "" + +#: templates/musician/saas.html:27 +msgid "Service info" +msgstr "" + +#: templates/musician/saas.html:28 +msgid "Active" +msgstr "" + +#: templates/musician/saas.html:36 +msgid "Open service admin panel" +msgstr "" diff --git a/musician/locale/es/LC_MESSAGES/django.po b/musician/locale/es/LC_MESSAGES/django.po new file mode 100644 index 0000000..0a3b8d4 --- /dev/null +++ b/musician/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,126 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-12-10 10:53+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: models.py:93 +msgid "Databases" +msgstr "" + +#: models.py:122 +msgid "Mail addresses" +msgstr "" + +#: models.py:123 models.py:161 models.py:186 +msgid "" +"Litle description of what to be expected in this section to aid the user. " +"Even a link to more help if there is one available." +msgstr "" + +#: models.py:160 +msgid "Mailing list" +msgstr "" + +#: models.py:185 +msgid "Software as a Service (SaaS)" +msgstr "" + +#: templates/auth/login.html:59 +msgid "Log in" +msgstr "" + +#: templates/auth/login.html:67 +msgid "Forgot your password? Click here to recover" +msgstr "¿Has olvidado tu contraseña? Haz clic aquí para recuperarla" + +#: templates/auth/login.html:77 +msgid "Forgot your password?" +msgstr "¿Has olvidado tu contraseña?" + +#: templates/auth/login.html:83 +#, python-format +msgid "" +"Send an email to %(support_email)s " +"including your username and we will provide instructions." +msgstr "" +"Envía un correo a %(support_email)s " +"indicando tu nombre de usuaria/o y te explicaremos qué hacer." + +#: templates/musician/base.html:66 +msgid "Profile" +msgstr "" + +#: templates/musician/base.html:67 templates/musician/billing.html:6 +msgid "Billing" +msgstr "" + +#: templates/musician/base.html:76 +msgid "Log out" +msgstr "" + +#: templates/musician/components/table_paginator.html:15 +msgid "Previous" +msgstr "" + +#: templates/musician/components/table_paginator.html:29 +msgid "Next" +msgstr "" + +#: templates/musician/databases.html:17 templates/musician/mail.html:19 +msgid "Type" +msgstr "" + +#: templates/musician/databases.html:20 +msgid "associated to" +msgstr "" + +#: templates/musician/databases.html:32 +msgid "No users for this database." +msgstr "" + +#: templates/musician/databases.html:43 +msgid "Open database manager" +msgstr "" + +#: templates/musician/mail.html:17 +msgid "Mail address" +msgstr "" + +#: templates/musician/mail.html:18 +msgid "Aliases" +msgstr "" + +#: templates/musician/mail.html:20 +msgid "Type details" +msgstr "" + +#: templates/musician/saas.html:17 +msgid "Installed on" +msgstr "" + +#: templates/musician/saas.html:27 +msgid "Service info" +msgstr "" + +#: templates/musician/saas.html:28 +msgid "Active" +msgstr "" + +#: templates/musician/saas.html:36 +msgid "Open service admin panel" +msgstr "" diff --git a/userpanel/settings.py b/userpanel/settings.py index 4d45a17..d515545 100644 --- a/userpanel/settings.py +++ b/userpanel/settings.py @@ -14,6 +14,9 @@ import os from decouple import config, Csv from dj_database_url import parse as db_url +from django.utils.translation import gettext_lazy as _ + + # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -137,6 +140,12 @@ USE_L10N = True USE_TZ = True +LANGUAGES = ( + ('ca', _('Catalan')), + ('es', _('Spanish')), + ('en', _('English')), +) + # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.2/howto/static-files/ From 2cff31a29e1989b82272ec8eb3f875c196cbde8e Mon Sep 17 00:00:00 2001 From: Santiago Lamora Date: Wed, 18 Dec 2019 10:51:02 +0100 Subject: [PATCH 03/17] Set default fallback language to catalan. --- userpanel/settings.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/userpanel/settings.py b/userpanel/settings.py index d515545..f5bdb83 100644 --- a/userpanel/settings.py +++ b/userpanel/settings.py @@ -129,9 +129,10 @@ SESSION_ENGINE = "django.contrib.sessions.backends.signed_cookies" # Internationalization # https://docs.djangoproject.com/en/2.2/topics/i18n/ -LANGUAGE_CODE = 'en-us' +# Fallback language +LANGUAGE_CODE = 'ca' -TIME_ZONE = 'UTC' +TIME_ZONE = 'Europe/Madrid' USE_I18N = True From bec5d1bb92551e2c3b548733a17ee6d91fa1c9f8 Mon Sep 17 00:00:00 2001 From: Santiago Lamora Date: Wed, 18 Dec 2019 10:55:46 +0100 Subject: [PATCH 04/17] Add translation how to. --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 4b2fdc4..8bc4b11 100644 --- a/README.md +++ b/README.md @@ -41,3 +41,29 @@ python manage.py runserver 6. Open [http://127.0.0.1:8000/](http://127.0.0.1:8000/) in your browser. 7. If everything works, follow [Django deployment instructions](https://docs.djangoproject.com/en/2.2/howto/deployment/). + +## How to generate/update translations + +1. Go to musician folder and run: +```bash +cd django-musician/musician +../manage.py makemessages +``` + +```bash +processing locale ca +processing locale es +``` + +2. Edit generated `.po` files and save it when you have finished. +``` +musician/locale/ca/LC_MESSAGES/django.po # catalan +musician/locale/es/LC_MESSAGES/django.po # spanish +``` + +3. To able to use a `.po` file in an application, it needs to be compiled to the binary `.mo` file format. +```bash +../manage.py compilemessages +``` + +More detailed instrucions on [Django Translation docs](https://docs.djangoproject.com/en/2.2/topics/i18n/translation/) From ce7de306e3d56298247c5ff2ed1a5efb1b99ccd4 Mon Sep 17 00:00:00 2001 From: Santiago Lamora Date: Wed, 18 Dec 2019 10:56:48 +0100 Subject: [PATCH 05/17] Translate menu items. --- musician/mixins.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/musician/mixins.py b/musician/mixins.py index 5c65f47..3cc463a 100644 --- a/musician/mixins.py +++ b/musician/mixins.py @@ -1,4 +1,5 @@ from django.contrib.auth.mixins import UserPassesTestMixin +from django.utils.translation import gettext_lazy as _ from django.views.generic.base import ContextMixin from . import api, get_version @@ -10,11 +11,11 @@ class CustomContextMixin(ContextMixin): context = super().get_context_data(**kwargs) # generate services menu items services_menu = [ - {'icon': 'globe-europe', 'pattern_name': 'musician:dashboard', 'title': 'Domains & websites'}, - {'icon': 'envelope', 'pattern_name': 'musician:mails', 'title': 'Mails'}, - {'icon': 'mail-bulk', 'pattern_name': 'musician:mailing-lists', 'title': 'Mailing lists'}, - {'icon': 'database', 'pattern_name': 'musician:databases', 'title': 'Databases'}, - {'icon': 'fire', 'pattern_name': 'musician:saas', 'title': 'SaaS'}, + {'icon': 'globe-europe', 'pattern_name': 'musician:dashboard', 'title': _('Domains & websites')}, + {'icon': 'envelope', 'pattern_name': 'musician:mails', 'title': _('Mails')}, + {'icon': 'mail-bulk', 'pattern_name': 'musician:mailing-lists', 'title': _('Mailing lists')}, + {'icon': 'database', 'pattern_name': 'musician:databases', 'title': _('Databases')}, + {'icon': 'fire', 'pattern_name': 'musician:saas', 'title': _('SaaS')}, ] context.update({ 'services_menu': services_menu, From c738ebf4cbe24aaac768d10591aad7cee5a49adc Mon Sep 17 00:00:00 2001 From: Santiago Lamora Date: Wed, 18 Dec 2019 11:35:28 +0100 Subject: [PATCH 06/17] Update translation strings and .po files. --- musician/locale/ca/LC_MESSAGES/django.po | 208 ++++++++++++++++-- musician/locale/es/LC_MESSAGES/django.po | 196 +++++++++++++++-- musician/models.py | 7 +- musician/templates/musician/billing.html | 2 +- musician/templates/musician/dashboard.html | 10 +- .../templates/musician/domain_detail.html | 2 +- musician/templates/musician/profile.html | 4 +- 7 files changed, 375 insertions(+), 54 deletions(-) diff --git a/musician/locale/ca/LC_MESSAGES/django.po b/musician/locale/ca/LC_MESSAGES/django.po index 58f83a8..a1b7efa 100644 --- a/musician/locale/ca/LC_MESSAGES/django.po +++ b/musician/locale/ca/LC_MESSAGES/django.po @@ -3,43 +3,73 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-10 10:53+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"POT-Creation-Date: 2019-12-18 11:34+0100\n" +"PO-Revision-Date: 2019-12-18 10:50+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.6\n" -#: models.py:93 +#: api.py:107 api.py:116 +msgid "No domain found matching the query" +msgstr "" + +#: mixins.py:14 +msgid "Domains & websites" +msgstr "" + +#: mixins.py:15 +msgid "Mails" +msgstr "" + +#: mixins.py:16 +msgid "Mailing lists" +msgstr "" + +#: mixins.py:17 models.py:124 templates/musician/dashboard.html:72 msgid "Databases" msgstr "" -#: models.py:122 -msgid "Mail addresses" +#: mixins.py:18 +msgid "SaaS" msgstr "" -#: models.py:123 models.py:161 models.py:186 -msgid "" -"Litle description of what to be expected in this section to aid the user. " -"Even a link to more help if there is one available." -msgstr "" - -#: models.py:160 -msgid "Mailing list" +#: models.py:125 +msgid "Description details for databases page." msgstr "" #: models.py:185 +msgid "Mail addresses" +msgstr "" + +#: models.py:186 +msgid "Description details for mail addresses page." +msgstr "" + +#: models.py:228 +msgid "Mailing list" +msgstr "" + +#: models.py:229 +msgid "Description details for mailinglist page." +msgstr "" + +#: models.py:257 msgid "Software as a Service (SaaS)" msgstr "" +#: models.py:258 +msgid "Description details for SaaS page." +msgstr "" + #: templates/auth/login.html:59 msgid "Log in" msgstr "" @@ -61,7 +91,7 @@ msgstr "" "Envia un correu a %(support_email)s " "indicant el teu nom d’usuari/a i t’explicarem què fer." -#: templates/musician/base.html:66 +#: templates/musician/base.html:66 templates/musician/profile.html:6 msgid "Profile" msgstr "" @@ -73,6 +103,10 @@ msgstr "" msgid "Log out" msgstr "" +#: templates/musician/billing.html:7 +msgid "Billing page description." +msgstr "" + #: templates/musician/components/table_paginator.html:15 msgid "Previous" msgstr "" @@ -81,7 +115,97 @@ msgstr "" msgid "Next" msgstr "" -#: templates/musician/databases.html:17 templates/musician/mail.html:19 +#: templates/musician/dashboard.html:6 +msgid "Welcome back" +msgstr "" + +#: templates/musician/dashboard.html:7 +#, python-format +msgid "Last time you logged in was: %(last_login)s" +msgstr "" + +#: templates/musician/dashboard.html:20 +msgid "Notifications" +msgstr "" + +#: templates/musician/dashboard.html:24 +msgid "There is no notifications at this time." +msgstr "" + +#: templates/musician/dashboard.html:31 +msgid "Your domains and websites" +msgstr "" + +#: templates/musician/dashboard.html:32 +msgid "Dashboard page description." +msgstr "" + +#: templates/musician/dashboard.html:45 +msgid "view configuration" +msgstr "" + +#: templates/musician/dashboard.html:49 +msgid "Expiration date" +msgstr "" + +#: templates/musician/dashboard.html:55 +msgid "Mail" +msgstr "" + +#: templates/musician/dashboard.html:58 +msgid "mail addresses created" +msgstr "" + +#: templates/musician/dashboard.html:61 +msgid "mail address left" +msgstr "" + +#: templates/musician/dashboard.html:67 +msgid "Mail list" +msgstr "" + +#: templates/musician/dashboard.html:75 +msgid "databases created" +msgstr "" + +#: templates/musician/dashboard.html:87 +msgid "Software as a Service" +msgstr "" + +#: templates/musician/dashboard.html:89 +msgid "Nothing installed" +msgstr "" + +#: templates/musician/dashboard.html:93 views.py:36 +msgid "Disk usage" +msgstr "" + +#: templates/musician/dashboard.html:109 +msgid "Configuration details" +msgstr "" + +#: templates/musician/dashboard.html:115 +msgid "FTP access:" +msgstr "" + +#: templates/musician/dashboard.html:118 +msgid "Username" +msgstr "" + +#: templates/musician/dashboard.html:119 +msgid "Password:" +msgstr "" + +#: templates/musician/dashboard.html:121 +msgid "Root directory:" +msgstr "" + +#: templates/musician/dashboard.html:125 +msgid "View DNS records" +msgstr "" + +#: templates/musician/databases.html:17 +#: templates/musician/domain_detail.html:17 templates/musician/mail.html:22 msgid "Type" msgstr "" @@ -97,18 +221,46 @@ msgstr "" msgid "Open database manager" msgstr "" -#: templates/musician/mail.html:17 -msgid "Mail address" +#: templates/musician/domain_detail.html:5 +msgid "Go back" msgstr "" -#: templates/musician/mail.html:18 -msgid "Aliases" +#: templates/musician/domain_detail.html:7 +msgid "DNS settings for" +msgstr "" + +#: templates/musician/domain_detail.html:8 +msgid "DNS settings page description." +msgstr "" + +#: templates/musician/domain_detail.html:18 +msgid "Value" +msgstr "" + +#: templates/musician/mail.html:6 templates/musician/mailinglists.html:6 +msgid "Go to global" +msgstr "" + +#: templates/musician/mail.html:9 templates/musician/mailinglists.html:9 +msgid "for" msgstr "" #: templates/musician/mail.html:20 +msgid "Mail address" +msgstr "" + +#: templates/musician/mail.html:21 +msgid "Aliases" +msgstr "" + +#: templates/musician/mail.html:23 msgid "Type details" msgstr "" +#: templates/musician/profile.html:7 +msgid "Little description on profile page." +msgstr "" + #: templates/musician/saas.html:17 msgid "Installed on" msgstr "" @@ -124,3 +276,11 @@ msgstr "" #: templates/musician/saas.html:36 msgid "Open service admin panel" msgstr "" + +#: views.py:43 +msgid "Traffic" +msgstr "" + +#: views.py:50 +msgid "Mailbox usage" +msgstr "" diff --git a/musician/locale/es/LC_MESSAGES/django.po b/musician/locale/es/LC_MESSAGES/django.po index 0a3b8d4..97d53b8 100644 --- a/musician/locale/es/LC_MESSAGES/django.po +++ b/musician/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-10 10:53+0000\n" +"POT-Creation-Date: 2019-12-18 11:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,28 +18,58 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: models.py:93 +#: api.py:107 api.py:116 +msgid "No domain found matching the query" +msgstr "" + +#: mixins.py:14 +msgid "Domains & websites" +msgstr "" + +#: mixins.py:15 +msgid "Mails" +msgstr "" + +#: mixins.py:16 +msgid "Mailing lists" +msgstr "" + +#: mixins.py:17 models.py:124 templates/musician/dashboard.html:72 msgid "Databases" msgstr "" -#: models.py:122 -msgid "Mail addresses" +#: mixins.py:18 +msgid "SaaS" msgstr "" -#: models.py:123 models.py:161 models.py:186 -msgid "" -"Litle description of what to be expected in this section to aid the user. " -"Even a link to more help if there is one available." -msgstr "" - -#: models.py:160 -msgid "Mailing list" +#: models.py:125 +msgid "Description details for databases page." msgstr "" #: models.py:185 +msgid "Mail addresses" +msgstr "" + +#: models.py:186 +msgid "Description details for mail addresses page." +msgstr "" + +#: models.py:228 +msgid "Mailing list" +msgstr "" + +#: models.py:229 +msgid "Description details for mailinglist page." +msgstr "" + +#: models.py:257 msgid "Software as a Service (SaaS)" msgstr "" +#: models.py:258 +msgid "Description details for SaaS page." +msgstr "" + #: templates/auth/login.html:59 msgid "Log in" msgstr "" @@ -61,7 +91,7 @@ msgstr "" "Envía un correo a %(support_email)s " "indicando tu nombre de usuaria/o y te explicaremos qué hacer." -#: templates/musician/base.html:66 +#: templates/musician/base.html:66 templates/musician/profile.html:6 msgid "Profile" msgstr "" @@ -73,6 +103,10 @@ msgstr "" msgid "Log out" msgstr "" +#: templates/musician/billing.html:7 +msgid "Billing page description." +msgstr "" + #: templates/musician/components/table_paginator.html:15 msgid "Previous" msgstr "" @@ -81,7 +115,97 @@ msgstr "" msgid "Next" msgstr "" -#: templates/musician/databases.html:17 templates/musician/mail.html:19 +#: templates/musician/dashboard.html:6 +msgid "Welcome back" +msgstr "" + +#: templates/musician/dashboard.html:7 +#, python-format +msgid "Last time you logged in was: %(last_login)s" +msgstr "" + +#: templates/musician/dashboard.html:20 +msgid "Notifications" +msgstr "" + +#: templates/musician/dashboard.html:24 +msgid "There is no notifications at this time." +msgstr "" + +#: templates/musician/dashboard.html:31 +msgid "Your domains and websites" +msgstr "" + +#: templates/musician/dashboard.html:32 +msgid "Dashboard page description." +msgstr "" + +#: templates/musician/dashboard.html:45 +msgid "view configuration" +msgstr "" + +#: templates/musician/dashboard.html:49 +msgid "Expiration date" +msgstr "" + +#: templates/musician/dashboard.html:55 +msgid "Mail" +msgstr "" + +#: templates/musician/dashboard.html:58 +msgid "mail addresses created" +msgstr "" + +#: templates/musician/dashboard.html:61 +msgid "mail address left" +msgstr "" + +#: templates/musician/dashboard.html:67 +msgid "Mail list" +msgstr "" + +#: templates/musician/dashboard.html:75 +msgid "databases created" +msgstr "" + +#: templates/musician/dashboard.html:87 +msgid "Software as a Service" +msgstr "" + +#: templates/musician/dashboard.html:89 +msgid "Nothing installed" +msgstr "" + +#: templates/musician/dashboard.html:93 views.py:36 +msgid "Disk usage" +msgstr "" + +#: templates/musician/dashboard.html:109 +msgid "Configuration details" +msgstr "" + +#: templates/musician/dashboard.html:115 +msgid "FTP access:" +msgstr "" + +#: templates/musician/dashboard.html:118 +msgid "Username" +msgstr "" + +#: templates/musician/dashboard.html:119 +msgid "Password:" +msgstr "" + +#: templates/musician/dashboard.html:121 +msgid "Root directory:" +msgstr "" + +#: templates/musician/dashboard.html:125 +msgid "View DNS records" +msgstr "" + +#: templates/musician/databases.html:17 +#: templates/musician/domain_detail.html:17 templates/musician/mail.html:22 msgid "Type" msgstr "" @@ -97,18 +221,46 @@ msgstr "" msgid "Open database manager" msgstr "" -#: templates/musician/mail.html:17 -msgid "Mail address" +#: templates/musician/domain_detail.html:5 +msgid "Go back" msgstr "" -#: templates/musician/mail.html:18 -msgid "Aliases" +#: templates/musician/domain_detail.html:7 +msgid "DNS settings for" +msgstr "" + +#: templates/musician/domain_detail.html:8 +msgid "DNS settings page description." +msgstr "" + +#: templates/musician/domain_detail.html:18 +msgid "Value" +msgstr "" + +#: templates/musician/mail.html:6 templates/musician/mailinglists.html:6 +msgid "Go to global" +msgstr "" + +#: templates/musician/mail.html:9 templates/musician/mailinglists.html:9 +msgid "for" msgstr "" #: templates/musician/mail.html:20 +msgid "Mail address" +msgstr "" + +#: templates/musician/mail.html:21 +msgid "Aliases" +msgstr "" + +#: templates/musician/mail.html:23 msgid "Type details" msgstr "" +#: templates/musician/profile.html:7 +msgid "Little description on profile page." +msgstr "" + #: templates/musician/saas.html:17 msgid "Installed on" msgstr "" @@ -124,3 +276,11 @@ msgstr "" #: templates/musician/saas.html:36 msgid "Open service admin panel" msgstr "" + +#: views.py:43 +msgid "Traffic" +msgstr "" + +#: views.py:50 +msgid "Mailbox usage" +msgstr "" diff --git a/musician/models.py b/musician/models.py index db3367b..039128c 100644 --- a/musician/models.py +++ b/musician/models.py @@ -122,6 +122,7 @@ class DatabaseUser(OrchestraModel): class DatabaseService(OrchestraModel): api_name = 'database' verbose_name = _('Databases') + description = _('Description details for databases page.') fields = ('name', 'type', 'users') param_defaults = { "id": None, @@ -182,7 +183,7 @@ class DomainRecord(OrchestraModel): class MailService(OrchestraModel): api_name = 'address' verbose_name = _('Mail addresses') - description = _('Litle description of what to be expected in this section to aid the user. Even a link to more help if there is one available.') + description = _('Description details for mail addresses page.') fields = ('mail_address', 'aliases', 'type', 'type_detail') param_defaults = {} @@ -225,7 +226,7 @@ class MailService(OrchestraModel): class MailinglistService(OrchestraModel): api_name = 'mailinglist' verbose_name = _('Mailing list') - description = _('Litle description of what to be expected in this section to aid the user. Even a link to more help if there is one available.') + description = _('Description details for mailinglist page.') fields = ('name', 'status', 'address_name', 'admin_email', 'configure') param_defaults = { 'name': None, @@ -254,7 +255,7 @@ class MailinglistService(OrchestraModel): class SaasService(OrchestraModel): api_name = 'saas' verbose_name = _('Software as a Service (SaaS)') - description = _('Litle description of what to be expected in this section to aid the user. Even a link to more help if there is one available.') + description = _('Description details for SaaS page.') param_defaults = { 'name': None, 'service': None, diff --git a/musician/templates/musician/billing.html b/musician/templates/musician/billing.html index 46d1396..986cc60 100644 --- a/musician/templates/musician/billing.html +++ b/musician/templates/musician/billing.html @@ -4,7 +4,7 @@ {% block content %}

{% trans "Billing" %}

-

Little description of what to be expected...

+

{% trans "Billing page description." %}

diff --git a/musician/templates/musician/dashboard.html b/musician/templates/musician/dashboard.html index d621e1c..dd23697 100644 --- a/musician/templates/musician/dashboard.html +++ b/musician/templates/musician/dashboard.html @@ -29,7 +29,7 @@

{% trans "Your domains and websites" %}

-

Little description of what to be expected...

+

{% trans "Dashboard page description." %}

{% for domain in domains %}
@@ -58,7 +58,7 @@ {{ domain.mails|length }} {% trans "mail addresses created" %} {% if domain.address_left.alert %}
- {{ domain.address_left.count }} mail address left + {{ domain.address_left.count }} {% trans "mail address left" %} {% endif %}

@@ -85,7 +85,7 @@

{% trans "Software as a Service" %}

-

Nothing installed

+

{% trans "Nothing installed" %}

@@ -105,7 +105,7 @@
diff --git a/musician/templates/musician/profile.html b/musician/templates/musician/profile.html index c820007..3ecabe5 100644 --- a/musician/templates/musician/profile.html +++ b/musician/templates/musician/profile.html @@ -3,8 +3,8 @@ {% block content %} -

Profile

-

Little description of what to be expected...

+

{% trans "Profile" %}

+

{% trans "Little description on profile page." %}

From 6ef94485d6997aabf03c2abc1066a57f08ee5760 Mon Sep 17 00:00:00 2001 From: Santiago Lamora Date: Wed, 18 Dec 2019 11:38:09 +0100 Subject: [PATCH 07/17] Mark 'Settings' string to be translated. --- musician/locale/ca/LC_MESSAGES/django.po | 6 +++++- musician/locale/es/LC_MESSAGES/django.po | 6 +++++- musician/templates/musician/base.html | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/musician/locale/ca/LC_MESSAGES/django.po b/musician/locale/ca/LC_MESSAGES/django.po index a1b7efa..c13c976 100644 --- a/musician/locale/ca/LC_MESSAGES/django.po +++ b/musician/locale/ca/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-18 11:34+0100\n" +"POT-Creation-Date: 2019-12-18 11:37+0100\n" "PO-Revision-Date: 2019-12-18 10:50+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -91,6 +91,10 @@ msgstr "" "Envia un correu a %(support_email)s " "indicant el teu nom d’usuari/a i t’explicarem què fer." +#: templates/musician/base.html:63 +msgid "Settings" +msgstr "" + #: templates/musician/base.html:66 templates/musician/profile.html:6 msgid "Profile" msgstr "" diff --git a/musician/locale/es/LC_MESSAGES/django.po b/musician/locale/es/LC_MESSAGES/django.po index 97d53b8..9f8cb0f 100644 --- a/musician/locale/es/LC_MESSAGES/django.po +++ b/musician/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-18 11:34+0100\n" +"POT-Creation-Date: 2019-12-18 11:37+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -91,6 +91,10 @@ msgstr "" "Envía un correo a %(support_email)s " "indicando tu nombre de usuaria/o y te explicaremos qué hacer." +#: templates/musician/base.html:63 +msgid "Settings" +msgstr "" + #: templates/musician/base.html:66 templates/musician/profile.html:6 msgid "Profile" msgstr "" diff --git a/musician/templates/musician/base.html b/musician/templates/musician/base.html index 9dc1ffc..3782089 100644 --- a/musician/templates/musician/base.html +++ b/musician/templates/musician/base.html @@ -60,7 +60,7 @@