diff options
author | Denis Costa <deniscostadsc@gmail.com> | 2016-09-23 12:36:36 -0300 |
---|---|---|
committer | Denis Costa <deniscostadsc@gmail.com> | 2016-09-23 12:39:27 -0300 |
commit | 563bee8fc23a0858f8e6e9711b00c80df8f816ab (patch) | |
tree | 5e8167eec5b07872b69f1c228949bd9d5b3c5ab1 /service/pixelated | |
parent | e9426843d8d772317f364347002bddb4f3ddc10d (diff) |
Adds translation to welcome mail.
Diffstat (limited to 'service/pixelated')
-rw-r--r-- | service/pixelated/adapter/model/mail.py | 9 | ||||
-rw-r--r-- | service/pixelated/adapter/welcome_mail.py | 6 | ||||
-rw-r--r-- | service/pixelated/assets/welcome.mail.en-US (renamed from service/pixelated/assets/welcome.mail) | 0 | ||||
-rw-r--r-- | service/pixelated/assets/welcome.mail.pt-BR | 80 | ||||
-rw-r--r-- | service/pixelated/resources/login_resource.py | 12 |
5 files changed, 95 insertions, 12 deletions
diff --git a/service/pixelated/adapter/model/mail.py b/service/pixelated/adapter/model/mail.py index a24818c0..a5702a20 100644 --- a/service/pixelated/adapter/model/mail.py +++ b/service/pixelated/adapter/model/mail.py @@ -13,10 +13,8 @@ # # You should have received a copy of the GNU Affero General Public License # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. -import os import re import logging -from email import message_from_file from email.mime.text import MIMEText from email.header import Header from hashlib import sha256 @@ -217,10 +215,3 @@ class InputMail(Mail): input_mail.body = unicode(payload.as_string()) input_mail._mime = input_mail.to_mime_multipart() return input_mail - - -def welcome_mail(): - current_path = os.path.dirname(os.path.abspath(__file__)) - with open(os.path.join(current_path, '..', '..', 'assets', 'welcome.mail')) as mail_template_file: - mail_template = message_from_file(mail_template_file) - return InputMail.from_python_mail(mail_template) diff --git a/service/pixelated/adapter/welcome_mail.py b/service/pixelated/adapter/welcome_mail.py index a40e44a4..8d3cdd7a 100644 --- a/service/pixelated/adapter/welcome_mail.py +++ b/service/pixelated/adapter/welcome_mail.py @@ -18,8 +18,10 @@ from email import message_from_file from pixelated.adapter.model.mail import InputMail -def add_welcome_mail(mail_store): - welcome_mail = pkg_resources.resource_filename('pixelated.assets', 'welcome.mail') +def add_welcome_mail(mail_store, language='en-US'): + welcome_mail = pkg_resources.resource_filename( + 'pixelated.assets', + 'welcome.mail.%s' % (language)) with open(welcome_mail) as mail_template_file: mail_template = message_from_file(mail_template_file) diff --git a/service/pixelated/assets/welcome.mail b/service/pixelated/assets/welcome.mail.en-US index 8ef4e120..8ef4e120 100644 --- a/service/pixelated/assets/welcome.mail +++ b/service/pixelated/assets/welcome.mail.en-US diff --git a/service/pixelated/assets/welcome.mail.pt-BR b/service/pixelated/assets/welcome.mail.pt-BR new file mode 100644 index 00000000..197e0e13 --- /dev/null +++ b/service/pixelated/assets/welcome.mail.pt-BR @@ -0,0 +1,80 @@ +From: Pixelated Team <pixelated-team@pixelated-project.org> +Date: Sat, 21 Mar 2015 19:30:09 -0300 +Subject: Bem vindo ao Pixelated +To: Replace <will.be@the.user> +Content-Type: multipart/alternative; boundary=000boundary000 + +--000boundary000 +Bem vindo ao Pixelated Mail, um email moderno com criptografia. + +Pixelated Mail é um projeto de código aberto que visa prover um email seguro no navegador com todas a funcionalidades que se espera de um cliente moderno de email. + +Como usar +Pixelated Mail deve prover uma forma de uso parecida com o que você encontra com o seu software de email. À esquerda, você vai encontrar a barra de navegação que prove acesso a todas as suas pastas e etiquetas. Clicando nelas você carregará as mensagens correspondentes no painel do meio - a lista de emails. Clicando em um email ele será aberto nesse painel aqui, mas você já sabe disso, né? + +Para compor uma mensagem procure por um grande botão azul no canto superior esquerdo. Você pode adicionar etiquetas clicando no sinal de "+" abaixo do assunto da mensagem. Você também pode visualizar o estado de criptografia das mensagens logo abaixo das informações do remetente. + +Um pouco mais sobre o Pixelated +Pixelated é um projeto de código-aberto licenciado sob AGPL 3.0. É composto de duas partes principais, o cliente web (que você está usando agora) e a plataforma (o servidor por trás do sinal de "@", que provê o serviço de email que você usará para mandar e receber mensagens). Você pode aprender mais visitando https://pixelated-project.org/. + +Sobre esta mensagem e seu estado de criptografia +Esta mensagem não foi criptografada, em outras palavras, ela poderia ter sido lida por outras pessoas em algum ponto durante a transmissão, como em qualquer cliente de email. +Para enviar mensagens criptografadas, you precisa ter a chave pública dos recipientes. No Pixelated, existem 2 possibilidades: +• enviar um email para outra conta do Pixelated: as chaves públicas são trocadas por padrão; +• enviar um email para outro servidor de email: você deverá trocar as chaves públicas com os recipientes anteriormente. + +Aproveite seu email seguro! + +--000boundary000 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: quoted-printable +<p> +Bem vindo ao Pixelated Mail, um email moderno com criptografia. +</p> +<p> +Pixelated Mail =C3=A9 um projeto de c=C3=B3digo aberto que visa prover um e= +mail seguro no navegador com todas a funcionalidades que se espera de um cl= +iente moderno de email. +</p> +<p> +<b>Como usar</b><br> +Pixelated Mail deve prover uma forma de uso parecida com o que voc=C3=AA en= +contra com o seu software de email. =C3=80 esquerda, voc=C3=AA vai encontr= +ar a barra de navega=C3=A7=C3=A3o que prove acesso a todas as suas pastas e= + etiquetas. Clicando nelas voc=C3=AA carregar=C3=A1 as mensagens correspond= + entes no painel do meio - a lista de emails. Clicando em um email ele ser= + =C3=A1 aberto nesse painel aqui, mas voc=C3=AA j=C3=A1 sabe disso, n=C3=A9? +</p> +<p> +Para compor uma mensagem procure por um grande bot=C3=A3o azul no canto sup= +erior esquerdo. Voc=C3=AA pode adicionar etiquetas clicando no sinal de "+"= + abaixo do assunto da mensagem. Voc=C3=AA tamb=C3=A9m pode visualizar o est= + ado de criptografia das mensagens logo abaixo das informa=C3=A7=C3=B5es do = + remetente. =20 +</p> +<p> +<b>Um pouco mais sobre o Pixelated</b><br> +Pixelated =C3=A9 um projeto de c=C3=B3digo-aberto licenciado sob AGPL 3.0. = +=C3=89 composto de duas partes principais, o cliente web (que voc=C3=AA est= +=C3=A1 usando agora) e a plataforma (o servidor por tr=C3=A1s do sinal de "= +@", que prov=C3=AA o servi=C3=A7o de email que voc=C3=AA usar=C3=A1 para ma= +ndar e receber mensagens). Voc=C3=AA pode aprender mais visitando https://p= +ixelated-project.org/. +</p> +<p> +<b>Sobre esta mensagem e seu estado de criptografia</b><br> +Esta mensagem n=C3=A3o foi criptografada, em outras palavras, ela poderia t= +er sido lida por outras pessoas em algum ponto durante a transmiss=C3=A3o, = +como em qualquer cliente de email. +Para enviar mensagens criptografadas, you precisa ter a chave p=C3=BAblica = +dos recipientes. No Pixelated, existem 2 possibilidades: +<p>=E2=80=A2 enviar um email para outra conta do Pixelated: as chaves p=C3=BAb= +licas s=C3=A3o trocadas por padr=C3=A3o; +<br>=E2=80=A2 enviar um email para outro servidor de email: voc=C3=AA dever=C3= +=A1 trocar as chaves p=C3=BAblicas com os recipientes anteriormente. +</p> +<p> +Aproveite seu email seguro! +</p> +--000boundary000-- + diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py index 1e7c26a5..48092aa5 100644 --- a/service/pixelated/resources/login_resource.py +++ b/service/pixelated/resources/login_resource.py @@ -50,6 +50,15 @@ def _get_static_folder(): return static_folder +def parse_accept_language(all_headers): + accepted_languages = ['pt-BR', 'en-US'] + for language in accepted_languages: + languages = all_headers['accept-language'].split(';')[0] + if language in languages: + return language + return 'pt-BR' + + class DisclaimerElement(Element): loader = XMLFile(FilePath(os.path.join(_get_startup_folder(), '_login_disclaimer_banner.html'))) @@ -166,7 +175,8 @@ class LoginResource(BaseResource): self._services_factory.map_email(self.creds.username, user_id) if leap_session.fresh_account: - yield add_welcome_mail(leap_session.mail_store) + language = parse_accept_language(request.allHeaders()) + yield add_welcome_mail(leap_session.mail_store, language) self._init_http_session(request, user_id) |