Merge branch 'i18n'
Add Catalan and Spanish locales.
This commit is contained in:
commit
3414a095d8
26
README.md
26
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/)
|
||||
|
|
399
musician/locale/ca/LC_MESSAGES/django.po
Normal file
399
musician/locale/ca/LC_MESSAGES/django.po
Normal file
|
@ -0,0 +1,399 @@
|
|||
# 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 <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-01-23 17:49+0100\n"
|
||||
"PO-Revision-Date: 2020-01-28 17:27+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.2.4\n"
|
||||
|
||||
#: api.py:108 api.py:117
|
||||
msgid "No domain found matching the query"
|
||||
msgstr "No trobem cap domini que coincideixi amb la teva consulta"
|
||||
|
||||
#: mixins.py:14
|
||||
msgid "Domains & websites"
|
||||
msgstr "Dominis i llocs web"
|
||||
|
||||
#: mixins.py:15
|
||||
msgid "Mails"
|
||||
msgstr "Correus"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: mixins.py:16 views.py:226
|
||||
msgid "Mailing lists"
|
||||
msgstr "Llistes de correu"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: mixins.py:17 models.py:138 views.py:255
|
||||
msgid "Databases"
|
||||
msgstr "Bases de dades"
|
||||
|
||||
#: mixins.py:18
|
||||
msgid "SaaS"
|
||||
msgstr "SaaS"
|
||||
|
||||
#: models.py:139
|
||||
#, fuzzy
|
||||
msgid "Description details for databases page."
|
||||
msgstr "Consulta la configuració de les teves bases de dades."
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: models.py:200 views.py:169
|
||||
msgid "Mail addresses"
|
||||
msgstr "Adreces de correu"
|
||||
|
||||
#: models.py:201
|
||||
#, fuzzy
|
||||
msgid "Description details for mail addresses page."
|
||||
msgstr "Consulta aquí totes les adreces de correu que tens actives."
|
||||
|
||||
#: models.py:243
|
||||
msgid "Mailing list"
|
||||
msgstr "Llista de correu"
|
||||
|
||||
#: models.py:244
|
||||
#, fuzzy
|
||||
msgid "Description details for mailinglist page."
|
||||
msgstr "Consulta aquí els detalls de les teves llistes de correu."
|
||||
|
||||
#: models.py:267
|
||||
msgid "Software as a Service (SaaS)"
|
||||
msgstr "Software as a Service (SaaS)"
|
||||
|
||||
#: models.py:268
|
||||
#, fuzzy
|
||||
msgid "Description details for SaaS page."
|
||||
msgstr ""
|
||||
"Si tens algun servei SaaS (Software as a Service) contractat, aquí trobaràs "
|
||||
"els seus detalls de configuració."
|
||||
|
||||
#: templates/auth/login.html:59
|
||||
msgid "Log in"
|
||||
msgstr "Accedeix"
|
||||
|
||||
#: 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 <a href=\"mailto:%(support_email)s\">%(support_email)s</a> "
|
||||
"including your username and we will provide instructions."
|
||||
msgstr ""
|
||||
"Envia un correu a <a href=\"mailto:%(support_email)s\">%(support_email)s</a> "
|
||||
"indicant el teu nom d’usuari/a i t’explicarem què fer."
|
||||
|
||||
#: templates/musician/base.html:60
|
||||
msgid "Settings"
|
||||
msgstr "Configuració"
|
||||
|
||||
#: templates/musician/base.html:63 templates/musician/profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "Perfil"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: templates/musician/base.html:64 templates/musician/billing.html:6
|
||||
#: views.py:147
|
||||
msgid "Billing"
|
||||
msgstr "Factures"
|
||||
|
||||
#: templates/musician/base.html:72
|
||||
msgid "Log out"
|
||||
msgstr "Surt"
|
||||
|
||||
#: templates/musician/billing.html:7
|
||||
#, fuzzy
|
||||
msgid "Billing page description."
|
||||
msgstr "Consulta i descarrega les teves factures."
|
||||
|
||||
#: templates/musician/billing.html:19
|
||||
msgid "Number"
|
||||
msgstr "Número"
|
||||
|
||||
#: templates/musician/billing.html:20
|
||||
msgid "Bill date"
|
||||
msgstr "Data de la factura"
|
||||
|
||||
#: templates/musician/billing.html:21 templates/musician/databases.html:17
|
||||
#: templates/musician/domain_detail.html:17 templates/musician/mail.html:22
|
||||
msgid "Type"
|
||||
msgstr "Tipus"
|
||||
|
||||
#: templates/musician/billing.html:22
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: templates/musician/billing.html:23
|
||||
msgid "Download PDF"
|
||||
msgstr "Descarrega un PDF"
|
||||
|
||||
#: templates/musician/components/table_paginator.html:15
|
||||
msgid "Previous"
|
||||
msgstr "Prèvia"
|
||||
|
||||
#: templates/musician/components/table_paginator.html:29
|
||||
msgid "Next"
|
||||
msgstr "Següent"
|
||||
|
||||
#: templates/musician/dashboard.html:6
|
||||
msgid "Welcome back"
|
||||
msgstr "Hola de nou!"
|
||||
|
||||
#: templates/musician/dashboard.html:8
|
||||
#, python-format
|
||||
msgid "Last time you logged in was: %(last_login)s"
|
||||
msgstr "El darrer cop que vas accedir va ser el dia: %(last_login)s"
|
||||
|
||||
#: templates/musician/dashboard.html:10
|
||||
msgid "It's the first time you log into the system, welcome on board!"
|
||||
msgstr "És el primer cop que accedeixes, et donem la benvinguda!"
|
||||
|
||||
#: templates/musician/dashboard.html:24
|
||||
msgid "Notifications"
|
||||
msgstr "Notificacions"
|
||||
|
||||
#: templates/musician/dashboard.html:28
|
||||
msgid "There is no notifications at this time."
|
||||
msgstr "No tens cap notificació."
|
||||
|
||||
#: templates/musician/dashboard.html:35
|
||||
msgid "Your domains and websites"
|
||||
msgstr "Els teus dominis i llocs web"
|
||||
|
||||
#: templates/musician/dashboard.html:36
|
||||
#, fuzzy
|
||||
msgid "Dashboard page description."
|
||||
msgstr ""
|
||||
"Aquest és el teu panell de gestió, des d’on podràs consultar la configuració "
|
||||
"dels serveis que Pangea t’ofereix."
|
||||
|
||||
#: templates/musician/dashboard.html:51
|
||||
msgid "view configuration"
|
||||
msgstr "veure la configuració"
|
||||
|
||||
#: templates/musician/dashboard.html:58
|
||||
msgid "Expiration date"
|
||||
msgstr "Data de venciment"
|
||||
|
||||
#: templates/musician/dashboard.html:65
|
||||
msgid "Mail"
|
||||
msgstr "Correu"
|
||||
|
||||
#: templates/musician/dashboard.html:68
|
||||
msgid "mail addresses created"
|
||||
msgstr "adreces de correu creades"
|
||||
|
||||
#: templates/musician/dashboard.html:71
|
||||
msgid "mail address left"
|
||||
msgstr "adreces de correu per activar"
|
||||
|
||||
#: templates/musician/dashboard.html:77
|
||||
msgid "Mail list"
|
||||
msgstr "Llista de correu"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: templates/musician/dashboard.html:82 views.py:264
|
||||
msgid "Software as a Service"
|
||||
msgstr "Software as a Service"
|
||||
|
||||
#: templates/musician/dashboard.html:84
|
||||
msgid "Nothing installed"
|
||||
msgstr "No tens res instal·lat"
|
||||
|
||||
#: templates/musician/dashboard.html:89 views.py:42
|
||||
msgid "Disk usage"
|
||||
msgstr "Ús del disc"
|
||||
|
||||
#: templates/musician/dashboard.html:106
|
||||
msgid "Configuration details"
|
||||
msgstr "Detalls de configuració"
|
||||
|
||||
#: templates/musician/dashboard.html:113
|
||||
msgid "FTP access:"
|
||||
msgstr "Accés FTP:"
|
||||
|
||||
#. Translators: domain configuration detail modal
|
||||
#: templates/musician/dashboard.html:115
|
||||
msgid "Contact with the support team to get details concerning FTP access."
|
||||
msgstr ""
|
||||
"Contacteu-nos a <a href=“mailto:%(support_email)s”>%(support_email)s</a> per "
|
||||
"saber com accedir al FTP."
|
||||
|
||||
#: templates/musician/dashboard.html:124
|
||||
msgid "No website configured."
|
||||
msgstr "No hi ha cap web configurada."
|
||||
|
||||
#: templates/musician/dashboard.html:126
|
||||
msgid "Root directory:"
|
||||
msgstr "Directori arrel:"
|
||||
|
||||
#: templates/musician/dashboard.html:127
|
||||
msgid "Type:"
|
||||
msgstr "Tipus:"
|
||||
|
||||
#: templates/musician/dashboard.html:132
|
||||
msgid "View DNS records"
|
||||
msgstr "Veure registres DNS"
|
||||
|
||||
#: templates/musician/databases.html:21
|
||||
msgid "associated to"
|
||||
msgstr "associada a"
|
||||
|
||||
#: templates/musician/databases.html:34
|
||||
msgid "No users for this database."
|
||||
msgstr "No hi ha persones usuàries d’aquesta base de dades."
|
||||
|
||||
#: templates/musician/databases.html:45
|
||||
msgid "Open database manager"
|
||||
msgstr "Obre el gestor de bases de dades"
|
||||
|
||||
#. Translators: database page when there isn't any database.
|
||||
#. Translators: saas page when there isn't any saas.
|
||||
#: templates/musician/databases.html:58 templates/musician/saas.html:49
|
||||
msgid "Ooops! Looks like there is nothing here!"
|
||||
msgstr "Mmmh, sembla que aquí no hi ha res!"
|
||||
|
||||
#: templates/musician/domain_detail.html:5
|
||||
msgid "Go back"
|
||||
msgstr "Tornar"
|
||||
|
||||
#: templates/musician/domain_detail.html:7
|
||||
msgid "DNS settings for"
|
||||
msgstr "Configuració DNS per a"
|
||||
|
||||
#: templates/musician/domain_detail.html:8
|
||||
#, fuzzy
|
||||
msgid "DNS settings page description."
|
||||
msgstr "Consulta aquí la teva configuració DNS."
|
||||
|
||||
#: templates/musician/domain_detail.html:18
|
||||
msgid "Value"
|
||||
msgstr "Valor"
|
||||
|
||||
#: templates/musician/mail.html:6 templates/musician/mailinglists.html:6
|
||||
msgid "Go to global"
|
||||
msgstr "Totes les adreces"
|
||||
|
||||
#: templates/musician/mail.html:9 templates/musician/mailinglists.html:9
|
||||
msgid "for"
|
||||
msgstr "per a"
|
||||
|
||||
#: templates/musician/mail.html:20
|
||||
msgid "Mail address"
|
||||
msgstr "Adreça de correu"
|
||||
|
||||
#: templates/musician/mail.html:21
|
||||
msgid "Aliases"
|
||||
msgstr "Àlies"
|
||||
|
||||
#: templates/musician/mail.html:23
|
||||
msgid "Type details"
|
||||
msgstr "Detalls de cada tipus"
|
||||
|
||||
#: templates/musician/mailinglists.html:34
|
||||
msgid "Active"
|
||||
msgstr "Actiu"
|
||||
|
||||
#: templates/musician/mailinglists.html:36
|
||||
msgid "Inactive"
|
||||
msgstr "Inactiu"
|
||||
|
||||
#: templates/musician/profile.html:7
|
||||
#, fuzzy
|
||||
msgid "Little description on profile page."
|
||||
msgstr "Canvia les teves dades d’accés i opcions de perfil des d’aquí."
|
||||
|
||||
#: templates/musician/profile.html:11
|
||||
msgid "User information"
|
||||
msgstr "Informació d’usuari/a"
|
||||
|
||||
#: templates/musician/profile.html:21
|
||||
msgid "Preferred language:"
|
||||
msgstr "Llenguatge preferit:"
|
||||
|
||||
#: templates/musician/profile.html:35
|
||||
msgid "Billing information"
|
||||
msgstr "Informació de facturació"
|
||||
|
||||
#: templates/musician/profile.html:49
|
||||
msgid "payment method:"
|
||||
msgstr "mètode de pagament:"
|
||||
|
||||
#: templates/musician/profile.html:60
|
||||
msgid "Check your last bills"
|
||||
msgstr "Consulta les teves darreres factures"
|
||||
|
||||
#: templates/musician/saas.html:18
|
||||
msgid "Installed on"
|
||||
msgstr "Instal·lat a"
|
||||
|
||||
#: templates/musician/saas.html:29
|
||||
msgid "Service info"
|
||||
msgstr "Informació del servei"
|
||||
|
||||
#: templates/musician/saas.html:30
|
||||
msgid "active"
|
||||
msgstr "actiu"
|
||||
|
||||
#: templates/musician/saas.html:37
|
||||
msgid "Open service admin panel"
|
||||
msgstr "Obre el panell d’administració del servei"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:32
|
||||
msgid "Dashboard"
|
||||
msgstr "Panell de gestió"
|
||||
|
||||
#: views.py:49
|
||||
msgid "Traffic"
|
||||
msgstr "Tràfic"
|
||||
|
||||
#: views.py:56
|
||||
msgid "Mailbox usage"
|
||||
msgstr "Ús d’espai a la bústia de correu"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:96
|
||||
msgid "User profile"
|
||||
msgstr "El teu perfil"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:154
|
||||
msgid "Download bill"
|
||||
msgstr "Descarrega la factura"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:272
|
||||
msgid "Domain details"
|
||||
msgstr "Detalls del domini"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:298
|
||||
msgid "Login"
|
||||
msgstr "Accés"
|
||||
|
||||
#~ msgid "databases created"
|
||||
#~ msgstr "bases de dades creades"
|
||||
|
||||
#~ msgid "Username"
|
||||
#~ msgstr "Nom d’usuari/a"
|
||||
|
||||
#~ msgid "Password:"
|
||||
#~ msgstr "Contrasenya:"
|
399
musician/locale/es/LC_MESSAGES/django.po
Normal file
399
musician/locale/es/LC_MESSAGES/django.po
Normal file
|
@ -0,0 +1,399 @@
|
|||
# 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 <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-01-23 17:49+0100\n"
|
||||
"PO-Revision-Date: 2020-01-28 17:27+0100\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: es\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.2.4\n"
|
||||
|
||||
#: api.py:108 api.py:117
|
||||
msgid "No domain found matching the query"
|
||||
msgstr "No hay dominios que coincidan con tu búsqueda"
|
||||
|
||||
#: mixins.py:14
|
||||
msgid "Domains & websites"
|
||||
msgstr "Dominios y sitios web"
|
||||
|
||||
#: mixins.py:15
|
||||
msgid "Mails"
|
||||
msgstr "Correos"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: mixins.py:16 views.py:226
|
||||
msgid "Mailing lists"
|
||||
msgstr "Listas de correo"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: mixins.py:17 models.py:138 views.py:255
|
||||
msgid "Databases"
|
||||
msgstr "Bases de datos"
|
||||
|
||||
#: mixins.py:18
|
||||
msgid "SaaS"
|
||||
msgstr "SaaS"
|
||||
|
||||
#: models.py:139
|
||||
#, fuzzy
|
||||
msgid "Description details for databases page."
|
||||
msgstr "Consulta la configuración de tus bases de datos."
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: models.py:200 views.py:169
|
||||
msgid "Mail addresses"
|
||||
msgstr "Direcciones de correo"
|
||||
|
||||
#: models.py:201
|
||||
#, fuzzy
|
||||
msgid "Description details for mail addresses page."
|
||||
msgstr "Consulta aquí todas las direcciones de correo que tienes activas."
|
||||
|
||||
#: models.py:243
|
||||
msgid "Mailing list"
|
||||
msgstr "Lista de correo"
|
||||
|
||||
#: models.py:244
|
||||
#, fuzzy
|
||||
msgid "Description details for mailinglist page."
|
||||
msgstr "Consulta aquí los detalles de tus listas de correo."
|
||||
|
||||
#: models.py:267
|
||||
msgid "Software as a Service (SaaS)"
|
||||
msgstr "Software as a Service (SaaS)"
|
||||
|
||||
#: models.py:268
|
||||
#, fuzzy
|
||||
msgid "Description details for SaaS page."
|
||||
msgstr ""
|
||||
"Si tienes algún servicio SaaS (Software as a Service) contratado, aquí "
|
||||
"encontrarás sus detalles de configuración."
|
||||
|
||||
#: templates/auth/login.html:59
|
||||
msgid "Log in"
|
||||
msgstr "Accede"
|
||||
|
||||
#: templates/auth/login.html:67
|
||||
msgid "Forgot your password? Click here to recover"
|
||||
msgstr "¿Olvidaste tu contraseña? Haz clic aquí para recuperarla"
|
||||
|
||||
#: templates/auth/login.html:77
|
||||
msgid "Forgot your password?"
|
||||
msgstr "¿Olvidaste tu contraseña?"
|
||||
|
||||
#: templates/auth/login.html:83
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Send an email to <a href=\"mailto:%(support_email)s\">%(support_email)s</a> "
|
||||
"including your username and we will provide instructions."
|
||||
msgstr ""
|
||||
"Envía un correo a <a href=“mailto:%(support_email)s”>%(support_email)s</a> "
|
||||
"indicando tu nombre de usuaria/o y te explicaremos qué hacer."
|
||||
|
||||
#: templates/musician/base.html:60
|
||||
msgid "Settings"
|
||||
msgstr "Configuración"
|
||||
|
||||
#: templates/musician/base.html:63 templates/musician/profile.html:6
|
||||
msgid "Profile"
|
||||
msgstr "Perfil"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: templates/musician/base.html:64 templates/musician/billing.html:6
|
||||
#: views.py:147
|
||||
msgid "Billing"
|
||||
msgstr "Facturas"
|
||||
|
||||
#: templates/musician/base.html:72
|
||||
msgid "Log out"
|
||||
msgstr "Desconéctate"
|
||||
|
||||
#: templates/musician/billing.html:7
|
||||
#, fuzzy
|
||||
msgid "Billing page description."
|
||||
msgstr "Consulta y descarga tus facturas."
|
||||
|
||||
#: templates/musician/billing.html:19
|
||||
msgid "Number"
|
||||
msgstr "Número"
|
||||
|
||||
#: templates/musician/billing.html:20
|
||||
msgid "Bill date"
|
||||
msgstr "Fecha de la factura"
|
||||
|
||||
#: templates/musician/billing.html:21 templates/musician/databases.html:17
|
||||
#: templates/musician/domain_detail.html:17 templates/musician/mail.html:22
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#: templates/musician/billing.html:22
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: templates/musician/billing.html:23
|
||||
msgid "Download PDF"
|
||||
msgstr "Descarga en PDF"
|
||||
|
||||
#: templates/musician/components/table_paginator.html:15
|
||||
msgid "Previous"
|
||||
msgstr "Previa"
|
||||
|
||||
#: templates/musician/components/table_paginator.html:29
|
||||
msgid "Next"
|
||||
msgstr "Siguiente"
|
||||
|
||||
#: templates/musician/dashboard.html:6
|
||||
msgid "Welcome back"
|
||||
msgstr "¡Hola de nuevo!"
|
||||
|
||||
#: templates/musician/dashboard.html:8
|
||||
#, python-format
|
||||
msgid "Last time you logged in was: %(last_login)s"
|
||||
msgstr "La última vez que accediste fue el día: %(last_login)s"
|
||||
|
||||
#: templates/musician/dashboard.html:10
|
||||
msgid "It's the first time you log into the system, welcome on board!"
|
||||
msgstr "Es la primera vez que accedes: ¡te damos la bienvenida!"
|
||||
|
||||
#: templates/musician/dashboard.html:24
|
||||
msgid "Notifications"
|
||||
msgstr "Notificaciones"
|
||||
|
||||
#: templates/musician/dashboard.html:28
|
||||
msgid "There is no notifications at this time."
|
||||
msgstr "No tienes ninguna notificación."
|
||||
|
||||
#: templates/musician/dashboard.html:35
|
||||
msgid "Your domains and websites"
|
||||
msgstr "Tus dominios y sitios web"
|
||||
|
||||
#: templates/musician/dashboard.html:36
|
||||
#, fuzzy
|
||||
msgid "Dashboard page description."
|
||||
msgstr ""
|
||||
"Este es tu panel de gestión, desde donde podrás consultar la configuración "
|
||||
"de los servicios que Pangea te ofrece."
|
||||
|
||||
#: templates/musician/dashboard.html:51
|
||||
msgid "view configuration"
|
||||
msgstr "ver la configuración"
|
||||
|
||||
#: templates/musician/dashboard.html:58
|
||||
msgid "Expiration date"
|
||||
msgstr "Fecha de vencimiento"
|
||||
|
||||
#: templates/musician/dashboard.html:65
|
||||
msgid "Mail"
|
||||
msgstr "Correo"
|
||||
|
||||
#: templates/musician/dashboard.html:68
|
||||
msgid "mail addresses created"
|
||||
msgstr "direcciones de correo creadas"
|
||||
|
||||
#: templates/musician/dashboard.html:71
|
||||
msgid "mail address left"
|
||||
msgstr "direcciones de correo por activar"
|
||||
|
||||
#: templates/musician/dashboard.html:77
|
||||
msgid "Mail list"
|
||||
msgstr "Lista de correo"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: templates/musician/dashboard.html:82 views.py:264
|
||||
msgid "Software as a Service"
|
||||
msgstr "Software as a Service"
|
||||
|
||||
#: templates/musician/dashboard.html:84
|
||||
msgid "Nothing installed"
|
||||
msgstr "No tienes nada instalado"
|
||||
|
||||
#: templates/musician/dashboard.html:89 views.py:42
|
||||
msgid "Disk usage"
|
||||
msgstr "Uso del disco"
|
||||
|
||||
#: templates/musician/dashboard.html:106
|
||||
msgid "Configuration details"
|
||||
msgstr "Detalles de configuración"
|
||||
|
||||
#: templates/musician/dashboard.html:113
|
||||
msgid "FTP access:"
|
||||
msgstr "Acceso FTP:"
|
||||
|
||||
#. Translators: domain configuration detail modal
|
||||
#: templates/musician/dashboard.html:115
|
||||
msgid "Contact with the support team to get details concerning FTP access."
|
||||
msgstr ""
|
||||
"Contactadnos a <a href=“mailto:%(support_email)s”>%(support_email)s</a> "
|
||||
"para saber cómo acceder al FTP."
|
||||
|
||||
#: templates/musician/dashboard.html:124
|
||||
msgid "No website configured."
|
||||
msgstr "No hay ninguna web configurada."
|
||||
|
||||
#: templates/musician/dashboard.html:126
|
||||
msgid "Root directory:"
|
||||
msgstr "Directorio raíz:"
|
||||
|
||||
#: templates/musician/dashboard.html:127
|
||||
msgid "Type:"
|
||||
msgstr "Tipo:"
|
||||
|
||||
#: templates/musician/dashboard.html:132
|
||||
msgid "View DNS records"
|
||||
msgstr "Ver registros DNS"
|
||||
|
||||
#: templates/musician/databases.html:21
|
||||
msgid "associated to"
|
||||
msgstr "asociada a"
|
||||
|
||||
#: templates/musician/databases.html:34
|
||||
msgid "No users for this database."
|
||||
msgstr "No hay usuarias/os de esta base de datos."
|
||||
|
||||
#: templates/musician/databases.html:45
|
||||
msgid "Open database manager"
|
||||
msgstr "Abre el gestor de bases de datos"
|
||||
|
||||
#. Translators: database page when there isn't any database.
|
||||
#. Translators: saas page when there isn't any saas.
|
||||
#: templates/musician/databases.html:58 templates/musician/saas.html:49
|
||||
msgid "Ooops! Looks like there is nothing here!"
|
||||
msgstr "Mmmh… ¡parece que aquí no hay nada!"
|
||||
|
||||
#: templates/musician/domain_detail.html:5
|
||||
msgid "Go back"
|
||||
msgstr "Volver"
|
||||
|
||||
#: templates/musician/domain_detail.html:7
|
||||
msgid "DNS settings for"
|
||||
msgstr "Configuración DNS para"
|
||||
|
||||
#: templates/musician/domain_detail.html:8
|
||||
#, fuzzy
|
||||
msgid "DNS settings page description."
|
||||
msgstr "Consulta aquí tu configuración DNS."
|
||||
|
||||
#: templates/musician/domain_detail.html:18
|
||||
msgid "Value"
|
||||
msgstr "Valor"
|
||||
|
||||
#: templates/musician/mail.html:6 templates/musician/mailinglists.html:6
|
||||
msgid "Go to global"
|
||||
msgstr "Todas las direcciones"
|
||||
|
||||
#: templates/musician/mail.html:9 templates/musician/mailinglists.html:9
|
||||
msgid "for"
|
||||
msgstr "para"
|
||||
|
||||
#: templates/musician/mail.html:20
|
||||
msgid "Mail address"
|
||||
msgstr "Dirección de correo"
|
||||
|
||||
#: templates/musician/mail.html:21
|
||||
msgid "Aliases"
|
||||
msgstr "Alias"
|
||||
|
||||
#: templates/musician/mail.html:23
|
||||
msgid "Type details"
|
||||
msgstr "Detalles de cada tipo"
|
||||
|
||||
#: templates/musician/mailinglists.html:34
|
||||
msgid "Active"
|
||||
msgstr "Activo"
|
||||
|
||||
#: templates/musician/mailinglists.html:36
|
||||
msgid "Inactive"
|
||||
msgstr "Inactivo"
|
||||
|
||||
#: templates/musician/profile.html:7
|
||||
#, fuzzy
|
||||
msgid "Little description on profile page."
|
||||
msgstr "Cambia tus datos de acceso y opciones de perfil desde aquí."
|
||||
|
||||
#: templates/musician/profile.html:11
|
||||
msgid "User information"
|
||||
msgstr "Información de usuario/a"
|
||||
|
||||
#: templates/musician/profile.html:21
|
||||
msgid "Preferred language:"
|
||||
msgstr "Lenguaje preferido:"
|
||||
|
||||
#: templates/musician/profile.html:35
|
||||
msgid "Billing information"
|
||||
msgstr "Datos de facturación"
|
||||
|
||||
#: templates/musician/profile.html:49
|
||||
msgid "payment method:"
|
||||
msgstr "método de pago:"
|
||||
|
||||
#: templates/musician/profile.html:60
|
||||
msgid "Check your last bills"
|
||||
msgstr "Consulta tus últimas facturas"
|
||||
|
||||
#: templates/musician/saas.html:18
|
||||
msgid "Installed on"
|
||||
msgstr "Instalado en"
|
||||
|
||||
#: templates/musician/saas.html:29
|
||||
msgid "Service info"
|
||||
msgstr "Información del servicio"
|
||||
|
||||
#: templates/musician/saas.html:30
|
||||
msgid "active"
|
||||
msgstr "activo"
|
||||
|
||||
#: templates/musician/saas.html:37
|
||||
msgid "Open service admin panel"
|
||||
msgstr "Abre el panel de administración del servicio"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:32
|
||||
msgid "Dashboard"
|
||||
msgstr "Panel de gestión"
|
||||
|
||||
#: views.py:49
|
||||
msgid "Traffic"
|
||||
msgstr "Tráfico"
|
||||
|
||||
#: views.py:56
|
||||
msgid "Mailbox usage"
|
||||
msgstr "Uso de espacio en tu buzón de correo"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:96
|
||||
msgid "User profile"
|
||||
msgstr "Tu perfil"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:154
|
||||
msgid "Download bill"
|
||||
msgstr "Descarga la factura"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:272
|
||||
msgid "Domain details"
|
||||
msgstr "Detalles del dominio"
|
||||
|
||||
#. Translators: This message appears on the page title
|
||||
#: views.py:298
|
||||
msgid "Login"
|
||||
msgstr "Accede"
|
||||
|
||||
#~ msgid "databases created"
|
||||
#~ msgstr "bases de datos creadas"
|
||||
|
||||
#~ msgid "Username"
|
||||
#~ msgstr "Nombre de usuario/a"
|
||||
|
||||
#~ msgid "Password:"
|
||||
#~ msgstr "Contraseña:"
|
|
@ -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,
|
||||
|
|
|
@ -136,6 +136,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,
|
||||
|
@ -197,7 +198,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 = {}
|
||||
|
||||
|
@ -240,7 +241,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,
|
||||
|
@ -264,7 +265,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,
|
||||
|
|
|
@ -64,9 +64,32 @@
|
|||
</div>
|
||||
<!--/#login-content-->
|
||||
<div id="login-footer">
|
||||
<a href="#password_reset">{% trans "Forgot your password? Click here to recover" %}</a>
|
||||
<a href="#password_reset" data-toggle="modal" data-target="#forgotPasswordModal">{% trans "Forgot your password? Click here to recover" %}</a>
|
||||
</div>
|
||||
</div><!-- /#login-wrapper -->
|
||||
</div><!-- /.container-fluid -->
|
||||
</div><!-- /.jumbotron -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="forgotPasswordModal" tabindex="-1" role="dialog" aria-labelledby="forgotPasswordModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="forgotPasswordModalLabel">{% trans "Forgot your password?" %}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
{% blocktrans trimmed with support_email="suport@pangea.org" %}
|
||||
Send an email to <a href="mailto:{{ support_email }}">{{ support_email }}</a> including your username and we will provide instructions.
|
||||
{% endblocktrans %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% block script %}
|
||||
{{ block.super }}
|
||||
{% endblock %}
|
||||
</body>
|
||||
{% endblock %}
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<button type="button" class="btn nav-link text-light w-100" data-toggle="dropdown">
|
||||
<img id="user-avatar" class="float-right" width="64" height="64" src="{% static "musician/images/default-profile-picture.png" %}" alt="user-profile-picture"/>
|
||||
<strong>{{ profile.username }}</strong><br/>
|
||||
<i class="fas fa-cog"></i> Settings
|
||||
<i class="fas fa-cog"></i> {% trans "Settings" %}
|
||||
</button>
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item" href="{% url 'musician:profile' %}"><i class="fas fa-user-circle"></i> {% trans 'Profile' %}</a>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{% block content %}
|
||||
|
||||
<h1 class="service-name">{% trans "Billing" %}</h1>
|
||||
<p class="service-description">{% trans "Little description of what billing section is." %}</p>
|
||||
<p class="service-description">{% trans "Billing page description." %}</p>
|
||||
|
||||
<table class="table service-list">
|
||||
<colgroup>
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
|
||||
<h1 class="service-name">{% trans "Your domains and websites" %}</h1>
|
||||
<p class="service-description">Little description of what to be expected...</p>
|
||||
<p class="service-description">{% trans "Dashboard page description." %}</p>
|
||||
|
||||
{% for domain in domains %}
|
||||
<div class="card service-card">
|
||||
|
@ -68,7 +68,7 @@
|
|||
{{ domain.mails|length }} {% trans "mail addresses created" %}
|
||||
{% if domain.addresses_left.alert_level %}
|
||||
<br/>
|
||||
<span class="text-{{ domain.addresses_left.alert_level }}">{{ domain.addresses_left.count }} mail address left</span>
|
||||
<span class="text-{{ domain.addresses_left.alert_level }}">{{ domain.addresses_left.count }} {% trans "mail address left" %}</span>
|
||||
{% endif %}
|
||||
</p>
|
||||
<a class="stretched-link" href="{% url 'musician:mails' %}?domain={{ domain.id }}"></a>
|
||||
|
@ -81,7 +81,7 @@
|
|||
<div class="col-md-2 border-right">
|
||||
<h4>{% trans "Software as a Service" %}</h4>
|
||||
<p class="card-text"><i class="fas fa-fire fa-3x"></i></p>
|
||||
<p class="card-text text-dark">Nothing installed</p>
|
||||
<p class="card-text text-dark">{% trans "Nothing installed" %}</p>
|
||||
<a class="stretched-link" href="{% url 'musician:saas' %}?domain={{ domain.id }}"></a>
|
||||
</div>
|
||||
<div class="col-md-1"></div>
|
||||
|
@ -103,7 +103,7 @@
|
|||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title text-secondary" id="configDetailsModalLabel">Configuration details</h5>
|
||||
<h5 class="modal-title text-secondary" id="configDetailsModalLabel">{% trans "Configuration details" %}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
|
@ -122,8 +122,8 @@
|
|||
<div class="domain-website pt-4">
|
||||
<div id="no-website"><h6 class="pl-4">{% trans "No website configured." %}</h6></div>
|
||||
<div id="config-website">
|
||||
<label>Root directory:</label> <span id="config-root-path" class="font-weight-bold">root directory</span>
|
||||
<label>Type:</label><span id="config-webapp-type" class="font-weight-bold">type</span>
|
||||
<label>{% trans "Root directory:" %}</label> <span id="config-root-path" class="font-weight-bold">root directory</span>
|
||||
<label>{% trans "Type:" %}</label><span id="config-webapp-type" class="font-weight-bold">type</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<a class="btn-arrow-left" href="{% url 'musician:dashboard' %}">{% trans "Go back" %}</a>
|
||||
|
||||
<h1 class="service-name">{% trans "DNS settings for" %} <span class="font-weight-light">{{ object.name }}</span></h1>
|
||||
<p class="service-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.</p>
|
||||
<p class="service-description">{% trans "DNS settings page description." %}</p>
|
||||
|
||||
<table class="table service-list">
|
||||
<colgroup>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{% block content %}
|
||||
|
||||
<h1 class="service-name">{% trans "Profile" %}</h1>
|
||||
<p class="service-description">{% trans "Little description of what profile section is." %}</p>
|
||||
<p class="service-description">{% trans "Little description on profile page." %}</p>
|
||||
|
||||
<div class="card-deck">
|
||||
<div class="card card-profile">
|
||||
|
|
|
@ -130,6 +130,7 @@ SESSION_COOKIE_SECURE = config('SESSION_COOKIE_SECURE', default=True, cast=bool)
|
|||
# Internationalization
|
||||
# https://docs.djangoproject.com/en/2.2/topics/i18n/
|
||||
|
||||
# Fallback language
|
||||
LANGUAGE_CODE = config('LANGUAGE_CODE', 'en-us')
|
||||
|
||||
LANGUAGES = [
|
||||
|
@ -138,7 +139,7 @@ LANGUAGES = [
|
|||
('es', _('Spanish')),
|
||||
]
|
||||
|
||||
TIME_ZONE = 'UTC'
|
||||
TIME_ZONE = 'Europe/Madrid'
|
||||
|
||||
USE_I18N = True
|
||||
|
||||
|
@ -147,6 +148,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/
|
||||
|
||||
|
|
Loading…
Reference in a new issue