Merge pull request #206 from SamR1/email-translations
Improve Email Internationalization
This commit is contained in:
commit
c50c3c1f92
@ -17,13 +17,22 @@ First off, thank you for your interest in contributing!
|
||||
|
||||
The **GitHub** repository contains:
|
||||
- source code (note that the repository also includes client build),
|
||||
- translations,
|
||||
- tests,
|
||||
- documentation (source and build).
|
||||
|
||||
Translations can be updated through [Weblate](https://hosted.weblate.org/engage/fittrackee/).
|
||||
|
||||
Continuous integration workflows run on **Github Actions** platform (on **push** and **pull requests**).
|
||||
|
||||
### Translations
|
||||
|
||||
The available languages are:
|
||||
[![Translation status](https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg)](https://hosted.weblate.org/engage/fittrackee/)
|
||||
|
||||
Translations files are located:
|
||||
- on API side (emails): `fittrackee/emails/translations/` (implemented with [Babel](https://babel.pocoo.org/en/latest/))
|
||||
- on client side: `fittrackee_client/src/locales` (implemented with [Vue I18n](https://vue-i18n.intlify.dev/))
|
||||
|
||||
Translations can be updated through [Weblate](https://hosted.weblate.org/engage/fittrackee/).
|
||||
|
||||
### How to install FitTrackee
|
||||
|
||||
@ -62,14 +71,30 @@ Please make your changes from the development branch (`dev`).
|
||||
$ make test-e2e
|
||||
```
|
||||
|
||||
* If needed, update translations.
|
||||
* On client side, update files in `fittrackee_client/src/locales` folder.
|
||||
* On API side (emails), to extract new strings into `messages.pot`:
|
||||
```shell
|
||||
$ make babel-extract
|
||||
```
|
||||
To add new strings in translations files (`fittrackee/emails/translations/<LANG>/LC_MESSAGES/messages.po`):
|
||||
```shell
|
||||
$ make babel-update
|
||||
```
|
||||
After updating strings in `messages.po`, compile the translations:
|
||||
```shell
|
||||
$ make babel-compile
|
||||
```
|
||||
|
||||
* If needed, add or update tests.
|
||||
|
||||
* If needed, update documentation (no need to build documentation, it will be done when releasing).
|
||||
|
||||
* If updated code contains client-side changes, you can generate a build, in a **separate commit** to ease code review (or to easily drop it in case of conflicts when updating your branch).
|
||||
* If updated code contains client-side changes, you can generate javascript assets to check **FitTrackee** whithout starting client dev server:
|
||||
```shell
|
||||
$ make build-client
|
||||
```
|
||||
No need to commit these files, dist files will be generated before merging or when releasing.
|
||||
|
||||
* Create your pull request to merge on `dev` branch.
|
||||
|
||||
|
12
Makefile
12
Makefile
@ -6,6 +6,18 @@ make-p:
|
||||
# Launch all P targets in parallel and exit as soon as one exits.
|
||||
set -m; (for p in $(P); do ($(MAKE) $$p || kill 0)& done; wait)
|
||||
|
||||
babel-extract:
|
||||
$(PYBABEL) extract -F babel.cfg -k lazy_gettext -o messages.pot .
|
||||
|
||||
babel-init:
|
||||
$(PYBABEL) init -i messages.pot -d fittrackee/emails/translations -l $(LANG)
|
||||
|
||||
babel-compile:
|
||||
$(PYBABEL) compile -d fittrackee/emails/translations
|
||||
|
||||
babel-update:
|
||||
$(PYBABEL) update -i messages.pot -d fittrackee/emails/translations
|
||||
|
||||
bandit:
|
||||
$(BANDIT) -r fittrackee -c pyproject.toml
|
||||
|
||||
|
@ -24,6 +24,7 @@ GUNICORN = $(VENV)/bin/gunicorn
|
||||
BLACK = $(VENV)/bin/black
|
||||
MYPY = $(VENV)/bin/mypy
|
||||
BANDIT = $(VENV)/bin/bandit
|
||||
PYBABEL = $(VENV)/bin/pybabel
|
||||
FTCLI = $(VENV)/bin/ftcli
|
||||
|
||||
# Node env
|
||||
|
5
babel.cfg
Normal file
5
babel.cfg
Normal file
@ -0,0 +1,5 @@
|
||||
[jinja2: fittrackee/emails/templates/**.html]
|
||||
silent=False
|
||||
|
||||
[jinja2: fittrackee/emails/templates/**.txt]
|
||||
silent=False
|
@ -119,7 +119,9 @@ Administration
|
||||
|
||||
Translations
|
||||
^^^^^^^^^^^^
|
||||
FitTrackee is available in English and French (which can be saved in the user preferences).
|
||||
FitTrackee is available in the following languages (which can be saved in the user preferences):
|
||||
|
||||
.. figure:: https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg
|
||||
|
||||
|
||||
Screenshots
|
||||
|
@ -313,7 +313,9 @@ A user with an inactive account cannot log in. (<em>new in 0.6.0</em>)</p></li>
|
||||
</section>
|
||||
<section id="translations">
|
||||
<h2>Translations<a class="headerlink" href="#translations" title="Permalink to this heading">¶</a></h2>
|
||||
<p>FitTrackee is available in English and French (which can be saved in the user preferences).</p>
|
||||
<p>FitTrackee is available in the following languages (which can be saved in the user preferences):</p>
|
||||
<figure class="align-default">
|
||||
<img alt="https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg" src="https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg" /></figure>
|
||||
</section>
|
||||
<section id="screenshots">
|
||||
<h2>Screenshots<a class="headerlink" href="#screenshots" title="Permalink to this heading">¶</a></h2>
|
||||
|
File diff suppressed because one or more lines are too long
@ -119,7 +119,9 @@ Administration
|
||||
|
||||
Translations
|
||||
^^^^^^^^^^^^
|
||||
FitTrackee is available in English and French (which can be saved in the user preferences).
|
||||
FitTrackee is available in the following languages (which can be saved in the user preferences):
|
||||
|
||||
.. figure:: https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg
|
||||
|
||||
|
||||
Screenshots
|
||||
|
@ -46,6 +46,10 @@ class BaseConfig:
|
||||
os.environ.get('DEFAULT_STATICMAP', 'False') == 'True'
|
||||
),
|
||||
}
|
||||
TRANSLATIONS_FOLDER = os.path.join(
|
||||
current_app.root_path, 'emails/translations'
|
||||
)
|
||||
LANGUAGES = ['en', 'fr', 'de']
|
||||
|
||||
|
||||
class DevelopmentConfig(BaseConfig):
|
||||
|
@ -3,8 +3,9 @@ import smtplib
|
||||
import ssl
|
||||
from email.mime.multipart import MIMEMultipart
|
||||
from email.mime.text import MIMEText
|
||||
from typing import Dict, Optional, Type, Union
|
||||
from typing import Dict, List, Optional, Type, Union
|
||||
|
||||
from babel.support import Translations
|
||||
from flask import Flask
|
||||
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
||||
from urllib3.util import parse_url
|
||||
@ -38,16 +39,43 @@ class EmailMessage:
|
||||
|
||||
|
||||
class EmailTemplate:
|
||||
def __init__(self, template_directory: str) -> None:
|
||||
def __init__(
|
||||
self,
|
||||
template_directory: str,
|
||||
translations_directory: str,
|
||||
languages: List[str],
|
||||
) -> None:
|
||||
self._translations = self._get_translations(
|
||||
translations_directory, languages
|
||||
)
|
||||
self._env = Environment(
|
||||
autoescape=select_autoescape(['html', 'htm', 'xml']),
|
||||
loader=FileSystemLoader(template_directory),
|
||||
extensions=['jinja2.ext.i18n'],
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def _get_translations(
|
||||
translations_directory: str, languages: List[str]
|
||||
) -> Dict:
|
||||
translations = {}
|
||||
for language in languages:
|
||||
translations[language] = Translations.load(
|
||||
dirname=translations_directory, locales=[language]
|
||||
)
|
||||
return translations
|
||||
|
||||
def _load_translation(self, lang: str) -> None:
|
||||
self._env.install_gettext_translations( # type: ignore
|
||||
self._translations[lang],
|
||||
newstyle=True,
|
||||
)
|
||||
|
||||
def get_content(
|
||||
self, template_name: str, lang: str, part: str, data: Dict
|
||||
) -> str:
|
||||
template = self._env.get_template(f'{template_name}/{lang}/{part}')
|
||||
self._load_translation(lang)
|
||||
template = self._env.get_template(f'{template_name}/{part}')
|
||||
return template.render(data)
|
||||
|
||||
def get_all_contents(self, template: str, lang: str, data: Dict) -> Dict:
|
||||
@ -92,7 +120,11 @@ class EmailService:
|
||||
self.username = parsed_url['username']
|
||||
self.password = parsed_url['password']
|
||||
self.sender_email = app.config['SENDER_EMAIL']
|
||||
self.email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
self.email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def parse_email_url(email_url: str) -> Dict:
|
||||
|
@ -1,31 +1,25 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Confirm your account{% endblock %}
|
||||
{% block preheader %}Use this link to confirm your account.{% endblock %}
|
||||
{% block content %}<h1>Hi {{username}},</h1>
|
||||
<p>You have created an account on FitTrackee. Use the button below to confirm your address email.</p>
|
||||
{% block title %}{{ _('Confirm your account') }}{% endblock %}
|
||||
{% block preheader %}{{ _('Use this link to confirm your account.') }}{% endblock %}
|
||||
{% block content %}<p>{{ _('You have created an account on FitTrackee.') }} {{ _('Use the button below to confirm your address email.') }}</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{account_confirmation_url}}" class="f-fallback button button--green" target="_blank">Verify your email</a>
|
||||
<a href="{{account_confirmation_url}}" class="f-fallback button button--green" target="_blank">{{ _('Verify your email') }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
{% endif %}If this account creation wasn't initiated by you, please ignore this email.
|
||||
</p>
|
||||
<p>Thanks,
|
||||
<br>The FitTrackee Team</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
</table>{% endblock %}
|
||||
{% block not_initiated %}{{ _("If this account creation wasn't initiated by you, please ignore this email.") }}{% endblock %}
|
||||
{% block url_to_paste %}<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you’re having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">{{ _("If you're having trouble with the button above, copy and paste the URL below into your web browser.") }}</p>
|
||||
<p class="f-fallback sub">{{account_confirmation_url}}</p>
|
||||
</td>
|
||||
</tr>
|
@ -0,0 +1,7 @@
|
||||
{% extends "layout.txt" %}{% block content %}{{ _('You have created an account on FitTrackee.') }}
|
||||
{{ _('Use the link below to confirm your address email.') }}
|
||||
|
||||
{{ _('Verify your email') }}: {{ account_confirmation_url }}
|
||||
|
||||
{% if operating_system and browser_name %}{{ _('For security, this request was received from a %(operating_system)s device using %(browser_name)s.', operating_system=operating_system, browser_name=browser_name) }}
|
||||
{% endif %}{{ _("If this account creation wasn't initiated by you, please ignore this email.") }}{% endblock %}
|
@ -1,32 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Bestätige Dein Konto{% endblock %}
|
||||
{% block preheader %}Verwendet diesen Link um Dein Konto zu bestätigen.{% endblock %}
|
||||
{% block content %}<h1>Hallo {{username}},</h1>
|
||||
<p>Du hast ein Konto bei FitTrackee angelegt. Verwende den unteren Button um Deine E-Mail Adresse zu bestätigen.</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{account_confirmation_url}}" class="f-fallback button button--green" target="_blank">Bestätige Deine E-Mail</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst.
|
||||
{% endif %}Falls die Kontoerstellung nicht von Dir initiiert wurde, ignoriere diese E-Mail bitte.
|
||||
</p>
|
||||
<p>Danke
|
||||
<br>Dein FitTrackee Team</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Falls Du Probleme mit dem oberen Button hast, kopiere diese URL und gebe sie in Deinen Webbrowser ein.</p>
|
||||
<p class="f-fallback sub">{{account_confirmation_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -1,12 +0,0 @@
|
||||
Hallo {{username}},
|
||||
|
||||
Du hast ein Konto bei FitTrackee angelegt. Verwende den unteren Link um Deine E-Mail Adresse zu bestätigen.
|
||||
|
||||
Bestätige Deine E-Mail: {{ account_confirmation_url }}
|
||||
|
||||
{% if operating_system and browser_name %}Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst..
|
||||
{% endif %}Falls die Kontoerstellung nicht von Dir initiiert wurde, ignoriere diese E-Mail bitte.
|
||||
|
||||
Danke
|
||||
Dein FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Bestätige Dein Konto
|
@ -1,12 +0,0 @@
|
||||
Hi {{username}},
|
||||
|
||||
You have created an account on FitTrackee. Use the link below to confirm your address email.
|
||||
|
||||
Verify your email: {{ account_confirmation_url }}
|
||||
|
||||
{% if operating_system and browser_name %}For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
{% endif %}If this account creation wasn't initiated by you, please ignore this email.
|
||||
|
||||
Thanks,
|
||||
The FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Confirm your account
|
@ -1,34 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Confirmer votre inscription{% endblock %}
|
||||
{% block preheader %}Utiliser ce lien pour confirmer votre inscription.{% endblock %}
|
||||
{% block content %}<h1>Bonjour {{username}},</h1>
|
||||
<p>Vous avez créé un compte sur FitTrackee.
|
||||
Cliquez sur le lien ci-dessous pour confirmer votre adresse email.
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{account_confirmation_url}}" class="f-fallback button button--green" target="_blank">Vérifier l'adresse email</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
{% endif %}Si vous n'êtes pas à l'origine de la création de ce compte, vous pouvez ignorer cet e-mail.
|
||||
</p>
|
||||
<p>Merci,
|
||||
<br>L'équipe FitTrackee</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur</p>
|
||||
<p class="f-fallback sub">{{account_confirmation_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -1,13 +0,0 @@
|
||||
Bonjour {{username}},
|
||||
|
||||
Vous avez créé un compte sur FitTrackee.
|
||||
Cliquez sur le lien ci-dessous pour confirmer votre adresse email.
|
||||
|
||||
Vérifier l'adresse email : {{ account_confirmation_url }}
|
||||
|
||||
{% if operating_system and browser_name %}Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
{% endif %}Si vous n'êtes pas à l'origine de la création de ce compte, vous pouvez ignorer cet e-mail.
|
||||
|
||||
Merci,
|
||||
L'équipe FitTrackee
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Confirmer votre inscription
|
@ -0,0 +1 @@
|
||||
FitTrackee - {{ _('Confirm your account') }}
|
@ -0,0 +1,18 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}{{ _('Email changed') }}{% endblock %}
|
||||
{% block preheader %}{{ _('Your email is being updated.') }}{% endblock %}
|
||||
{% block content %}<p>{{ _('You recently requested to change your email address for your FitTrackee account to:') }}</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
{{new_email_address}}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
||||
{% block not_initiated %}{{ _("If this email change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.") }}{% endblock %}
|
@ -0,0 +1,4 @@
|
||||
{% extends "layout.txt" %}{% block content %}{{ _('You recently requested to change your email address for your FitTrackee account to:') }} {{ new_email_address }}
|
||||
|
||||
{{ _('For security, this request was received from a %(operating_system)s device using %(browser_name)s.', operating_system=operating_system, browser_name=browser_name) }}
|
||||
{{ _("If this email change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.") }}{% endblock %}
|
@ -1,26 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}E-Mail Adresse geändert{% endblock %}
|
||||
{% block preheader %}Deine E-Mail Adresse wure aktualisiert.{% endblock %}
|
||||
{% block content %}<h1>Hallo {{username}},</h1>
|
||||
<p>Du hast kürzlich beantragt, die E-Mail Adresse Deines FitTrackee Kontos zu ändern. Neue Adresse:</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
{{new_email_address}}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst.
|
||||
Falls die Änderung der E-Mail Adresse nicht von Dir initiiert wurde, ändere bitte sofort Dein Passwort oder kontaktiere den Administrator, falls Dein Konto gesperrt ist.
|
||||
</p>
|
||||
<p>Danke
|
||||
<br>
|
||||
Dein FitTrackee Team
|
||||
</p>{% endblock %}
|
@ -1,10 +0,0 @@
|
||||
Hallo {{username}},
|
||||
|
||||
Du hast kürzlich beantragt, die E-Mail Adresse Deines FitTrackee Kontos nach {{ new_email_address }} zu ändern.
|
||||
|
||||
Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst.
|
||||
Falls die Änderung der E-Mail Adresse nicht von Dir initiiert wurde, ändere bitte sofort Dein Passwort oder kontaktiere den Administrator, falls Dein Konto gesperrt ist.
|
||||
|
||||
Danke
|
||||
Dein FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - E-Mail Adresse geändert
|
@ -1,26 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Email changed{% endblock %}
|
||||
{% block preheader %}Your email is being updated.{% endblock %}
|
||||
{% block content %}<h1>Hi {{username}},</h1>
|
||||
<p>You recently requested to change your email address for your FitTrackee account to: </p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
{{new_email_address}}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
If this email change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.
|
||||
</p>
|
||||
<p>Thanks,
|
||||
<br>
|
||||
The FitTrackee Team
|
||||
</p>{% endblock %}
|
@ -1,10 +0,0 @@
|
||||
Hi {{username}},
|
||||
|
||||
You recently requested to change your email address for your FitTrackee account to: {{ new_email_address }}
|
||||
|
||||
For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
If this email change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.
|
||||
|
||||
Thanks,
|
||||
The FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Email changed
|
@ -1,26 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Adresse email modifiée{% endblock %}
|
||||
{% block preheader %}Votre adresse email est en cours de mise à jour.{% endblock %}
|
||||
{% block content %}<h1>Bonjour {{username}},</h1>
|
||||
<p>Vous avez récemment demandé la modification de l'adresse email associée à votre compte sur FitTrackee vers :</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
{{ new_email_address }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
Si vous n'êtes pas à l'origine de cette modification, veuillez changer votre mot de passe immédiatement ou contacter l'administrateur si votre compte est bloqué.
|
||||
</p>
|
||||
<p>Merci,
|
||||
<br>
|
||||
L'équipe FitTrackee
|
||||
</p>{% endblock %}
|
@ -1,10 +0,0 @@
|
||||
Bonjour {{username}},
|
||||
|
||||
Vous avez récemment demandé la modification de l'adresse email associée à votre compte sur FitTrackee vers : {{ new_email_address }}
|
||||
|
||||
Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
Si vous n'êtes pas à l'origine de cette modification, veuillez changer votre mot de passe immédiatement ou contacter l'administrateur si votre compte est bloqué.
|
||||
|
||||
Merci,
|
||||
L'équipe FitTrackee
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Adresse email modifiée
|
@ -0,0 +1 @@
|
||||
FitTrackee - {{ _('Email changed') }}
|
@ -0,0 +1,26 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}{{ _('Confirm email change') }}{% endblock %}
|
||||
{% block preheader %}{{ _('Use this link to confirm email change.') }}{% endblock %}
|
||||
{% block content %}<p>{{ _('You recently requested to change your email address for your FitTrackee account.') }} {{ _('Use the button below to confirm this address.') }}</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{email_confirmation_url}}" class="f-fallback button button--green" target="_blank">{{ _('Verify your email') }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
||||
{% block not_initiated %}{{ _("If this email change wasn't initiated by you, please ignore this email.") }}{% endblock %}
|
||||
{% block url_to_paste %}<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">{{ _("If you're having trouble with the button above, copy and paste the URL below into your web browser.") }}</p>
|
||||
<p class="f-fallback sub">{{email_confirmation_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -0,0 +1,7 @@
|
||||
{% extends "layout.txt" %}{% block content %}{{ _('You recently requested to change your email address for your FitTrackee account.') }}
|
||||
{{ _('Use the link below to confirm this address.') }}
|
||||
|
||||
{{ _('Verify your email') }}: {{ email_confirmation_url }}
|
||||
|
||||
{% if operating_system and browser_name %}{{ _('For security, this request was received from a %(operating_system)s device using %(browser_name)s.', operating_system=operating_system, browser_name=browser_name) }}
|
||||
{% endif %}{{ _("If this email change wasn't initiated by you, please ignore this email.") }}{% endblock %}
|
@ -1,32 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Bestätige E-Mail Änderung{% endblock %}
|
||||
{% block preheader %}Verwende den Link um die Änderung Deiner E-Mail Adresse zu bestätigen.{% endblock %}
|
||||
{% block content %}<h1>Hallo {{username}},</h1>
|
||||
<p>Du hast kürzlich beantragt, die E-Mail Adresse Deines FitTrackee Kontos zu ändern. Verwende den unteren Button um Deine Adresse zu bestätigen.</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{email_confirmation_url}}" class="f-fallback button button--green" target="_blank">Bestätige Deine E-Mail</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst.
|
||||
{% endif %}Falls die Änderung der E-Mail Adresse nicht von Dir initiiert wurde, ignoriere diese E-Mail bitte.
|
||||
</p>
|
||||
<p>Danke
|
||||
<br>Dein FitTrackee Team</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Falls Du Probleme mit dem oberen Button hast, kopiere diese URL und gebe sie in Deinen Webbrowser ein.</p>
|
||||
<p class="f-fallback sub">{{email_confirmation_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -1,12 +0,0 @@
|
||||
Hallo {{username}},
|
||||
|
||||
Du hast kürzlich beantragt, die E-Mail Adresse Deines FitTrackee Kontos zu ändern. Verwende den unteren Link um Deine Adresse zu bestätigen.
|
||||
|
||||
Bestätige Deine E-Mail: {{ email_confirmation_url }}
|
||||
|
||||
{% if operating_system and browser_name %}Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst.
|
||||
{% endif %}Falls die Änderung der E-Mail Adresse nicht von Dir initiiert wurde, ignoriere diese E-Mail bitte.
|
||||
|
||||
Danke
|
||||
Dein FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Bestätige E-Mail Änderung
|
@ -1,32 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Confirm email change{% endblock %}
|
||||
{% block preheader %}Use this link to confirm email change.{% endblock %}
|
||||
{% block content %}<h1>Hi {{username}},</h1>
|
||||
<p>You recently requested to change your email address for your FitTrackee account. Use the button below to confirm this address.</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{email_confirmation_url}}" class="f-fallback button button--green" target="_blank">Verify your email</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
{% endif %}If this email change wasn't initiated by you, please ignore this email.
|
||||
</p>
|
||||
<p>Thanks,
|
||||
<br>The FitTrackee Team</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you’re having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">{{email_confirmation_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -1,12 +0,0 @@
|
||||
Hi {{username}},
|
||||
|
||||
You recently requested to change your email address for your FitTrackee account. Use the link below to confirm this address.
|
||||
|
||||
Verify your email: {{ email_confirmation_url }}
|
||||
|
||||
{% if operating_system and browser_name %}For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
{% endif %}If this email change wasn't initiated by you, please ignore this email.
|
||||
|
||||
Thanks,
|
||||
The FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Confirm email change
|
@ -1,34 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Confirmer le changement d'adresse email{% endblock %}
|
||||
{% block preheader %}Utiliser ce lien pour confirmer cette adresse email.{% endblock %}
|
||||
{% block content %}<h1>Bonjour {{username}},</h1>
|
||||
<p>Vous avez récemment demandé la modification de l'adresse email associée à votre compte sur FitTrackee.
|
||||
Cliquez sur le bouton ci-dessous pour confirmer cette adresse email.
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{email_confirmation_url}}" class="f-fallback button button--green" target="_blank">Vérifier l'adresse email</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
{% endif %}Si vous n'êtes pas à l'origine de cette modification, vous pouvez ignorer cet e-mail.
|
||||
</p>
|
||||
<p>Merci,
|
||||
<br>L'équipe FitTrackee</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur</p>
|
||||
<p class="f-fallback sub">{{email_confirmation_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -1,13 +0,0 @@
|
||||
Bonjour {{username}},
|
||||
|
||||
Vous avez récemment demandé la modification de l'adresse email associée à votre compte sur FitTrackee.
|
||||
Cliquez sur le lien ci-dessous pour confirmer cette adresse email.
|
||||
|
||||
Vérifier l'adresse email : {{ email_confirmation_url }}
|
||||
|
||||
{% if operating_system and browser_name %}Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
{% endif %}Si vous n'êtes pas à l'origine de cette modification, vous pouvez ignorer cet e-mail.
|
||||
|
||||
Merci,
|
||||
L'équipe FitTrackee
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Confirmer le changement d'adresse email
|
@ -0,0 +1 @@
|
||||
FitTrackee - {{ _('Confirm email change') }}
|
@ -212,7 +212,15 @@
|
||||
<tr>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>{{ _('Hi %(username)s,', username=username) }}</h1>
|
||||
{% block content %}{% endblock %}
|
||||
<p>
|
||||
{% if operating_system and browser_name %}{{ _('For security, this request was received from a %(operating_system)s device using %(browser_name)s.', operating_system=operating_system, browser_name=browser_name) }}
|
||||
{% endif %}{% block not_initiated %}{% endblock %}
|
||||
</p>
|
||||
<p>{{ _('Thanks,') }}
|
||||
<br>{{ _('The FitTrackee Team') }}</p>
|
||||
{% block url_to_paste %}{% endblock %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
7
fittrackee/emails/templates/layout.txt
Normal file
7
fittrackee/emails/templates/layout.txt
Normal file
@ -0,0 +1,7 @@
|
||||
{{ _('Hi %(username)s,', username=username) }}
|
||||
|
||||
{% block content %}{% endblock %}
|
||||
|
||||
{{ _('Thanks,') }}
|
||||
{{ _('The FitTrackee Team') }}
|
||||
{{fittrackee_url}}
|
5
fittrackee/emails/templates/password_change/body.html
Normal file
5
fittrackee/emails/templates/password_change/body.html
Normal file
@ -0,0 +1,5 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}{{ _('Password changed') }}{% endblock %}
|
||||
{% block preheader %}{{ _('Your password has been changed.') }}{% endblock %}
|
||||
{% block content %}<p>{{ _('The password for your FitTrackee account has been changed.') }}</p>{% endblock %}
|
||||
{% block not_initiated %}{{ _("If this password change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.") }}{% endblock %}
|
4
fittrackee/emails/templates/password_change/body.txt
Normal file
4
fittrackee/emails/templates/password_change/body.txt
Normal file
@ -0,0 +1,4 @@
|
||||
{% extends "layout.txt" %}{% block content %}{{ _('The password for your FitTrackee account has been changed.') }}
|
||||
|
||||
{% if operating_system and browser_name %}{{ _('For security, this request was received from a %(operating_system)s device using %(browser_name)s.', operating_system=operating_system, browser_name=browser_name) }}
|
||||
{% endif %}{{ _("If this password change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.") }}{% endblock %}
|
@ -1,13 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Passwort geändert{% endblock %}
|
||||
{% block preheader %}Dein Passwort wurde geändert.{% endblock %}
|
||||
{% block content %}<h1>Hallo {{username}},</h1>
|
||||
<p>Das Passwort Deines FitTrackee Kontos wurde geändert.</p>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst.
|
||||
{% endif %}Falls die Änderung des Passworts nicht von Dir initiiert wurde, ändere bitte sofort Dein Passwort oder kontaktiere den Administrator, falls Dein Konto gesperrt ist.
|
||||
</p>
|
||||
<p>Danke
|
||||
<br>
|
||||
Dein FitTrackee Team
|
||||
</p>{% endblock %}
|
@ -1,10 +0,0 @@
|
||||
Hallo {{username}},
|
||||
|
||||
Das Passwort Deines FitTrackee Kontos wurde geändert.
|
||||
|
||||
{% if operating_system and browser_name %}Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst.
|
||||
{% endif %}Falls die Änderung des Passworts nicht von Dir initiiert wurde, ändere bitte sofort Dein Passwort oder kontaktiere den Administrator, falls Dein Konto gesperrt ist.
|
||||
|
||||
Danke
|
||||
Dein FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Passwort geändert
|
@ -1,13 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Password changed{% endblock %}
|
||||
{% block preheader %}Your password has been changed.{% endblock %}
|
||||
{% block content %}<h1>Hi {{username}},</h1>
|
||||
<p>The password for your FitTrackee account has been changed.</p>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
{% endif %}If this password change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.
|
||||
</p>
|
||||
<p>Thanks,
|
||||
<br>
|
||||
The FitTrackee Team
|
||||
</p>{% endblock %}
|
@ -1,10 +0,0 @@
|
||||
Hi {{username}},
|
||||
|
||||
The password for your FitTrackee account has been changed.
|
||||
|
||||
{% if operating_system and browser_name %}For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
{% endif %}If this password change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.
|
||||
|
||||
Thanks,
|
||||
The FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Password changed
|
@ -1,13 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}FitTrackee - Mot de passe modifié{% endblock %}
|
||||
{% block preheader %}Votre mot de passe a été modifié.{% endblock %}
|
||||
{% block content %}<h1>Bonjour {{username}},</h1>
|
||||
<p>Le mot de passe de votre compte FitTrackee a été modifié.</p>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
{% endif %}Si vous n'êtes pas à l'origine de cette modification, veuillez changer votre mot de passe immédiatement ou contacter l'administrateur si votre compte est bloqué.
|
||||
</p>
|
||||
<p>Merci,
|
||||
<br>
|
||||
L'équipe FitTrackee
|
||||
</p>{% endblock %}
|
@ -1,10 +0,0 @@
|
||||
Bonjour {{username}},
|
||||
|
||||
Le mot de passe de votre compte FitTrackee a été modifié.
|
||||
|
||||
{% if operating_system and browser_name %}Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
{% endif %}Si vous n'êtes pas à l'origine de cette modification, veuillez changer votre mot de passe immédiatement ou contacter l'administrateur si votre compte est bloqué.
|
||||
|
||||
Merci,
|
||||
L'équipe FitTrackee
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Mot de passe modifié
|
1
fittrackee/emails/templates/password_change/subject.txt
Normal file
1
fittrackee/emails/templates/password_change/subject.txt
Normal file
@ -0,0 +1 @@
|
||||
FitTrackee - {{ _('Password changed') }}
|
28
fittrackee/emails/templates/password_reset_request/body.html
Normal file
28
fittrackee/emails/templates/password_reset_request/body.html
Normal file
@ -0,0 +1,28 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}{{ _('Password reset request') }}{% endblock %}
|
||||
{% block preheader %}{{ _('Use this link to reset your password. The link is only valid for %(expiration_delay)s.', expiration_delay=expiration_delay) }}{% endblock %}
|
||||
{% block content %}<p>{{ _('You recently requested to reset your password for your FitTrackee account.') }} {{ _('Use the button below to reset it.') }}
|
||||
<strong>{{ _('This password reset link is only valid for %(expiration_delay)s.', expiration_delay=expiration_delay) }}</strong>
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{password_reset_url}}" class="f-fallback button button--green" target="_blank">{{ _('Reset your password') }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
||||
{% block not_initiated %}{{ _('If you did not request a password reset, please ignore this email.') }}{% endblock %}
|
||||
{% block url_to_paste %}<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">{{ _("If you're having trouble with the button above, copy and paste the URL below into your web browser.") }}</p>
|
||||
<p class="f-fallback sub">{{password_reset_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -0,0 +1,7 @@
|
||||
{% extends "layout.txt" %}{% block content %}{{ _('You recently requested to reset your password for your FitTrackee account.') }} {{ _('Use the link below to reset it.') }}
|
||||
{{ _('This password reset link is only valid for %(expiration_delay)s.', expiration_delay=expiration_delay) }}
|
||||
|
||||
{{ _('Reset your password') }}: {{ password_reset_url }}
|
||||
|
||||
{% if operating_system and browser_name %}{{ _('For security, this request was received from a %(operating_system)s device using %(browser_name)s.', operating_system=operating_system, browser_name=browser_name) }}
|
||||
{% endif %}{{ _('If you did not request a password reset, please ignore this email.') }}{% endblock %}
|
@ -1,34 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Anfrage zum Zurücksetzen des Passworts{% endblock %}
|
||||
{% block preheader %}Verwende den unteren Link um Dein Passwort zurückzusetzen. Der Link ist nur für {{ expiration_delay }} gültig.{% endblock %}
|
||||
{% block content %}<h1>Hallo {{username}},</h1>
|
||||
<p>Du hast kürzlich beantragt, das Passwort Deines FitTrackee Kontos zurückzusetzen. Verwende den unteren Button um es zurückzusetzen.
|
||||
<strong>Der Link ist nur für {{ expiration_delay }} gültig.</strong>
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{password_reset_url}}" class="f-fallback button button--green" target="_blank">Setze Dein Passwort zurück</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst.
|
||||
{% endif %}Falls Du das Zurücksetzen des Passworts nicht angefordert hast, igoniere diese E-Mail bitte.
|
||||
</p>
|
||||
<p>Danke
|
||||
<br>Dein FitTrackee Team</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Falls Du Probleme mit dem oberen Button hast, kopiere diese URL und gebe sie in Deinen Webbrowser ein.</p>
|
||||
<p class="f-fallback sub">{{password_reset_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -1,12 +0,0 @@
|
||||
Hallo {{username}},
|
||||
|
||||
Du hast kürzlich beantragt, das Passwort Deines FitTrackee Kontos zurückzusetzen. Verwende den unteren Link um es zurückzusetzen. Der Link ist nur für {{ expiration_delay }} gültig.
|
||||
|
||||
Setze Dein Passwort zurück: {{ password_reset_url }}
|
||||
|
||||
{% if operating_system and browser_name %}Zur Sicherheit: Diese Anfrage wurde von einem {{operating_system}} Gerät mit {{browser_name}} ausgelöst.
|
||||
{% endif %}Falls Du das Zurücksetzen des Passworts nicht angefordert hast, igoniere diese E-Mail bitte.
|
||||
|
||||
Danke
|
||||
Dein FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Anfrage zum Zurücksetzen des Passworts
|
@ -1,34 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Password reset request{% endblock %}
|
||||
{% block preheader %}Use this link to reset your password. The link is only valid for {{ expiration_delay }}.{% endblock %}
|
||||
{% block content %}<h1>Hi {{username}},</h1>
|
||||
<p>You recently requested to reset your password for your account. Use the button below to reset it.
|
||||
<strong>This password reset link is only valid for {{ expiration_delay }}.</strong>
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{password_reset_url}}" class="f-fallback button button--green" target="_blank">Reset your password</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
{% endif %}If you did not request a password reset, please ignore this email.
|
||||
</p>
|
||||
<p>Thanks,
|
||||
<br>The FitTrackee Team</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you’re having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">{{password_reset_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -1,12 +0,0 @@
|
||||
Hi {{username}},
|
||||
|
||||
You recently requested to reset your password for your FitTrackee account. Use the link below to reset it. This password reset link is only valid for {{ expiration_delay }}.
|
||||
|
||||
Reset your password: {{ password_reset_url }}
|
||||
|
||||
{% if operating_system and browser_name %}For security, this request was received from a {{operating_system}} device using {{browser_name}}.
|
||||
{% endif %}If you did not request a password reset, please ignore this email.
|
||||
|
||||
Thanks,
|
||||
The FitTrackee Team
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Password reset request
|
@ -1,35 +0,0 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block title %}Réinitialiser le mot de passe{% endblock %}
|
||||
{% block preheader %}Utiliser ce lien pour réinitialiser le mot de passe. Ce lien n'est valide que pendant {{ expiration_delay }}.{% endblock %}
|
||||
{% block content %}<h1>Bonjour {{username}},</h1>
|
||||
<p>Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee.
|
||||
Cliquez sur le bouton ci-dessous pour le réinitialiser.
|
||||
<strong>Cette réinitialisation n'est valide que pendant {{ expiration_delay }}.</strong>
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="{{password_reset_url}}" class="f-fallback button button--green" target="_blank">Réinitialiser le mot de passe</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
{% if operating_system and browser_name %}Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
{% endif %}Si vous n'avez pas demandé de réinitialisation, vous pouvez ignorer cet e-mail.
|
||||
</p>
|
||||
<p>Merci,
|
||||
<br>L'équipe FitTrackee</p>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur</p>
|
||||
<p class="f-fallback sub">{{password_reset_url}}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>{% endblock %}
|
@ -1,13 +0,0 @@
|
||||
Bonjour {{username}},
|
||||
|
||||
Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee.
|
||||
Cliquez sur le lien ci-dessous pour le réinitialiser. Ce lien n'est valide que pendant {{ expiration_delay }}.
|
||||
|
||||
Réinitialiser le mot de passe : {{ password_reset_url }}
|
||||
|
||||
{% if operating_system and browser_name %}Pour vérification, cette demande a été reçue à partir d'un appareil sous {{operating_system}}, utilisant le navigateur {{browser_name}}.
|
||||
{% endif %}Si vous n'avez pas demandé de réinitialisation, vous pouvez ignorer cet e-mail.
|
||||
|
||||
Merci,
|
||||
L'équipe FitTrackee
|
||||
{{fittrackee_url}}
|
@ -1 +0,0 @@
|
||||
FitTrackee - Réinitialiser votre mot de passe
|
@ -0,0 +1 @@
|
||||
FitTrackee - {{ _('Password reset request') }}
|
BIN
fittrackee/emails/translations/de/LC_MESSAGES/messages.mo
Normal file
BIN
fittrackee/emails/translations/de/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
231
fittrackee/emails/translations/de/LC_MESSAGES/messages.po
Normal file
231
fittrackee/emails/translations/de/LC_MESSAGES/messages.po
Normal file
@ -0,0 +1,231 @@
|
||||
# German translations for PROJECT.
|
||||
# Copyright (C) 2022 ORGANIZATION
|
||||
# This file is distributed under the same license as the PROJECT project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2022-07-03 07:58+0200\n"
|
||||
"PO-Revision-Date: 2022-07-02 18:25+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: de\n"
|
||||
"Language-Team: de <LL@li.org>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.10.3\n"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:215
|
||||
#: fittrackee/emails/templates/layout.txt:1
|
||||
#, python-format
|
||||
msgid "Hi %(username)s,"
|
||||
msgstr "Hallo %(username)s,"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:6
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:6
|
||||
#: fittrackee/emails/templates/layout.html:218
|
||||
#: fittrackee/emails/templates/password_change/body.txt:3
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:6
|
||||
#, python-format
|
||||
msgid ""
|
||||
"For security, this request was received from a %(operating_system)s "
|
||||
"device using %(browser_name)s."
|
||||
msgstr ""
|
||||
"Zur Sicherheit: Diese Anfrage wurde von einem %(operating_system)s Gerät "
|
||||
"mit %(browser_name)s ausgelöst."
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:221
|
||||
#: fittrackee/emails/templates/layout.txt:5
|
||||
msgid "Thanks,"
|
||||
msgstr "Danke"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:222
|
||||
#: fittrackee/emails/templates/layout.txt:6
|
||||
msgid "The FitTrackee Team"
|
||||
msgstr "Dein FitTrackee Team"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:2
|
||||
#: fittrackee/emails/templates/account_confirmation/subject.txt:1
|
||||
msgid "Confirm your account"
|
||||
msgstr "Bestätige Dein Konto"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:3
|
||||
msgid "Use this link to confirm your account."
|
||||
msgstr "Verwendet diesen Link um Dein Konto zu bestätigen."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:1
|
||||
msgid "You have created an account on FitTrackee."
|
||||
msgstr "Du hast ein Konto bei FitTrackee angelegt."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
msgid "Use the button below to confirm your address email."
|
||||
msgstr "Verwende den unteren Button um Deine E-Mail Adresse zu bestätigen."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:11
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
|
||||
msgid "Verify your email"
|
||||
msgstr "Bestätige Deine E-Mail"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:18
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:7
|
||||
msgid ""
|
||||
"If this account creation wasn't initiated by you, please ignore this "
|
||||
"email."
|
||||
msgstr ""
|
||||
"Falls die Kontoerstellung nicht von Dir initiiert wurde, ignoriere diese "
|
||||
"E-Mail bitte."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:22
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:22
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:24
|
||||
msgid ""
|
||||
"If you're having trouble with the button above, copy and paste the URL "
|
||||
"below into your web browser."
|
||||
msgstr ""
|
||||
"Falls Du Probleme mit dem oberen Button hast, kopiere diese URL und gebe "
|
||||
"sie in Deinen Webbrowser ein."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:2
|
||||
msgid "Use the link below to confirm your address email."
|
||||
msgstr "Verwende den unteren Link um Deine E-Mail Adresse zu bestätigen."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
|
||||
msgid "Email changed"
|
||||
msgstr "E-Mail Adresse geändert"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3
|
||||
msgid "Your email is being updated."
|
||||
msgstr "Deine E-Mail Adresse wure aktualisiert."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:1
|
||||
msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account to:"
|
||||
msgstr ""
|
||||
"Du hast kürzlich beantragt, die E-Mail Adresse Deines FitTrackee Kontos "
|
||||
"zu ändern. Neue Adresse:"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:4
|
||||
msgid ""
|
||||
"If this email change wasn't initiated by you, please change your password"
|
||||
" immediately or contact your administrator if your account is locked."
|
||||
msgstr ""
|
||||
"Falls die Änderung der E-Mail Adresse nicht von Dir initiiert wurde, "
|
||||
"ändere bitte sofort Dein Passwort oder kontaktiere den Administrator, "
|
||||
"falls Dein Konto gesperrt ist."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1
|
||||
msgid "Confirm email change"
|
||||
msgstr "Bestätige E-Mail Änderung"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:3
|
||||
msgid "Use this link to confirm email change."
|
||||
msgstr "Verwende den unteren Link um Deine Adresse zu bestätigen."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:1
|
||||
msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account."
|
||||
msgstr ""
|
||||
"Du hast kürzlich beantragt, die E-Mail Adresse Deines FitTrackee Kontos "
|
||||
"zu ändern."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
msgid "Use the button below to confirm this address."
|
||||
msgstr "Verwende den unteren Button um Deine Adresse zu bestätigen."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:7
|
||||
msgid "If this email change wasn't initiated by you, please ignore this email."
|
||||
msgstr ""
|
||||
"Falls die Änderung der E-Mail Adresse nicht von Dir initiiert wurde, "
|
||||
"ignoriere diese E-Mail bitte."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:2
|
||||
msgid "Use the link below to confirm this address."
|
||||
msgstr "Verwende den unteren Link um Deine Adresse zu bestätigen."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:2
|
||||
#: fittrackee/emails/templates/password_change/subject.txt:1
|
||||
msgid "Password changed"
|
||||
msgstr "Passwort geändert"
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:3
|
||||
msgid "Your password has been changed."
|
||||
msgstr "Dein Passwort wurde geändert."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:4
|
||||
#: fittrackee/emails/templates/password_change/body.txt:1
|
||||
msgid "The password for your FitTrackee account has been changed."
|
||||
msgstr "Das Passwort Deines FitTrackee Kontos wurde geändert."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:5
|
||||
#: fittrackee/emails/templates/password_change/body.txt:4
|
||||
msgid ""
|
||||
"If this password change wasn't initiated by you, please change your "
|
||||
"password immediately or contact your administrator if your account is "
|
||||
"locked."
|
||||
msgstr ""
|
||||
"Falls die Änderung des Passworts nicht von Dir initiiert wurde, ändere "
|
||||
"bitte sofort Dein Passwort oder kontaktiere den Administrator, falls Dein"
|
||||
" Konto gesperrt ist."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:2
|
||||
#: fittrackee/emails/templates/password_reset_request/subject.txt:1
|
||||
msgid "Password reset request"
|
||||
msgstr "Anfrage zum Zurücksetzen des Passworts"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:3
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Use this link to reset your password. The link is only valid for "
|
||||
"%(expiration_delay)s."
|
||||
msgstr ""
|
||||
"Verwende den unteren Link um Dein Passwort zurückzusetzen. Der Link ist "
|
||||
"nur für %(expiration_delay)s gültig."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "You recently requested to reset your password for your FitTrackee account."
|
||||
msgstr ""
|
||||
"Du hast kürzlich beantragt, das Passwort Deines FitTrackee Kontos "
|
||||
"zurückzusetzen."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
msgid "Use the button below to reset it."
|
||||
msgstr "Verwende den unteren Button um es zurückzusetzen."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:5
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:2
|
||||
#, python-format
|
||||
msgid "This password reset link is only valid for %(expiration_delay)s."
|
||||
msgstr "Der Link ist nur für %(expiration_delay)s gültig."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:13
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:4
|
||||
msgid "Reset your password"
|
||||
msgstr "Setze Dein Passwort zurück"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:20
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:7
|
||||
msgid "If you did not request a password reset, please ignore this email."
|
||||
msgstr ""
|
||||
"Falls Du das Zurücksetzen des Passworts nicht angefordert hast, igoniere "
|
||||
"diese E-Mail bitte."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "Use the link below to reset it."
|
||||
msgstr "Verwende den unteren Link um es zurückzusetzen."
|
||||
|
BIN
fittrackee/emails/translations/en/LC_MESSAGES/messages.mo
Normal file
BIN
fittrackee/emails/translations/en/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
224
fittrackee/emails/translations/en/LC_MESSAGES/messages.po
Normal file
224
fittrackee/emails/translations/en/LC_MESSAGES/messages.po
Normal file
@ -0,0 +1,224 @@
|
||||
# English translations for PROJECT.
|
||||
# Copyright (C) 2022 ORGANIZATION
|
||||
# This file is distributed under the same license as the PROJECT project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2022-07-03 07:58+0200\n"
|
||||
"PO-Revision-Date: 2022-07-02 18:25+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: en\n"
|
||||
"Language-Team: en <LL@li.org>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.10.3\n"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:215
|
||||
#: fittrackee/emails/templates/layout.txt:1
|
||||
#, python-format
|
||||
msgid "Hi %(username)s,"
|
||||
msgstr "Hi %(username)s,"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:6
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:6
|
||||
#: fittrackee/emails/templates/layout.html:218
|
||||
#: fittrackee/emails/templates/password_change/body.txt:3
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:6
|
||||
#, python-format
|
||||
msgid ""
|
||||
"For security, this request was received from a %(operating_system)s "
|
||||
"device using %(browser_name)s."
|
||||
msgstr ""
|
||||
"For security, this request was received from a %(operating_system)s "
|
||||
"device using %(browser_name)s."
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:221
|
||||
#: fittrackee/emails/templates/layout.txt:5
|
||||
msgid "Thanks,"
|
||||
msgstr "Thanks,"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:222
|
||||
#: fittrackee/emails/templates/layout.txt:6
|
||||
msgid "The FitTrackee Team"
|
||||
msgstr "The FitTrackee Team"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:2
|
||||
#: fittrackee/emails/templates/account_confirmation/subject.txt:1
|
||||
msgid "Confirm your account"
|
||||
msgstr "Confirm your account"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:3
|
||||
msgid "Use this link to confirm your account."
|
||||
msgstr "Use this link to confirm your account."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:1
|
||||
msgid "You have created an account on FitTrackee."
|
||||
msgstr "You have created an account on FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
msgid "Use the button below to confirm your address email."
|
||||
msgstr "Use the button below to confirm your address email."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:11
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
|
||||
msgid "Verify your email"
|
||||
msgstr "Verify your email"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:18
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:7
|
||||
msgid ""
|
||||
"If this account creation wasn't initiated by you, please ignore this "
|
||||
"email."
|
||||
msgstr ""
|
||||
"If this account creation wasn't initiated by you, please ignore this "
|
||||
"email."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:22
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:22
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:24
|
||||
msgid ""
|
||||
"If you're having trouble with the button above, copy and paste the URL "
|
||||
"below into your web browser."
|
||||
msgstr ""
|
||||
"If you're having trouble with the button above, copy and paste the URL "
|
||||
"below into your web browser."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:2
|
||||
msgid "Use the link below to confirm your address email."
|
||||
msgstr "Use the link below to confirm your address email."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
|
||||
msgid "Email changed"
|
||||
msgstr "Email changed"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3
|
||||
msgid "Your email is being updated."
|
||||
msgstr "Your email is being updated."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:1
|
||||
msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account to:"
|
||||
msgstr ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account to:"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:4
|
||||
msgid ""
|
||||
"If this email change wasn't initiated by you, please change your password"
|
||||
" immediately or contact your administrator if your account is locked."
|
||||
msgstr ""
|
||||
"If this email change wasn't initiated by you, please change your password"
|
||||
" immediately or contact your administrator if your account is locked."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1
|
||||
msgid "Confirm email change"
|
||||
msgstr "Confirm email change"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:3
|
||||
msgid "Use this link to confirm email change."
|
||||
msgstr "Use this link to confirm email change."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:1
|
||||
msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account."
|
||||
msgstr ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
msgid "Use the button below to confirm this address."
|
||||
msgstr "Use the button below to confirm this address."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:7
|
||||
msgid "If this email change wasn't initiated by you, please ignore this email."
|
||||
msgstr "If this email change wasn't initiated by you, please ignore this email."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:2
|
||||
msgid "Use the link below to confirm this address."
|
||||
msgstr "Use the link below to confirm this address."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:2
|
||||
#: fittrackee/emails/templates/password_change/subject.txt:1
|
||||
msgid "Password changed"
|
||||
msgstr "Password changed"
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:3
|
||||
msgid "Your password has been changed."
|
||||
msgstr "Your password has been changed."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:4
|
||||
#: fittrackee/emails/templates/password_change/body.txt:1
|
||||
msgid "The password for your FitTrackee account has been changed."
|
||||
msgstr "The password for your FitTrackee account has been changed."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:5
|
||||
#: fittrackee/emails/templates/password_change/body.txt:4
|
||||
msgid ""
|
||||
"If this password change wasn't initiated by you, please change your "
|
||||
"password immediately or contact your administrator if your account is "
|
||||
"locked."
|
||||
msgstr ""
|
||||
"If this password change wasn't initiated by you, please change your "
|
||||
"password immediately or contact your administrator if your account is "
|
||||
"locked."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:2
|
||||
#: fittrackee/emails/templates/password_reset_request/subject.txt:1
|
||||
msgid "Password reset request"
|
||||
msgstr "Password reset request"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:3
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Use this link to reset your password. The link is only valid for "
|
||||
"%(expiration_delay)s."
|
||||
msgstr ""
|
||||
"Use this link to reset your password. The link is only valid for "
|
||||
"%(expiration_delay)s."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "You recently requested to reset your password for your FitTrackee account."
|
||||
msgstr "You recently requested to reset your password for your FitTrackee account."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
msgid "Use the button below to reset it."
|
||||
msgstr "Use the button below to reset it."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:5
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:2
|
||||
#, python-format
|
||||
msgid "This password reset link is only valid for %(expiration_delay)s."
|
||||
msgstr "This password reset link is only valid for %(expiration_delay)s."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:13
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:4
|
||||
msgid "Reset your password"
|
||||
msgstr "Reset your password"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:20
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:7
|
||||
msgid "If you did not request a password reset, please ignore this email."
|
||||
msgstr "If you did not request a password reset, please ignore this email."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "Use the link below to reset it."
|
||||
msgstr "Use the link below to reset it."
|
||||
|
BIN
fittrackee/emails/translations/fr/LC_MESSAGES/messages.mo
Normal file
BIN
fittrackee/emails/translations/fr/LC_MESSAGES/messages.mo
Normal file
Binary file not shown.
231
fittrackee/emails/translations/fr/LC_MESSAGES/messages.po
Normal file
231
fittrackee/emails/translations/fr/LC_MESSAGES/messages.po
Normal file
@ -0,0 +1,231 @@
|
||||
# French translations for PROJECT.
|
||||
# Copyright (C) 2022 ORGANIZATION
|
||||
# This file is distributed under the same license as the PROJECT project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2022-07-03 07:58+0200\n"
|
||||
"PO-Revision-Date: 2022-07-02 17:27+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: fr\n"
|
||||
"Language-Team: fr <LL@li.org>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.10.3\n"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:215
|
||||
#: fittrackee/emails/templates/layout.txt:1
|
||||
#, python-format
|
||||
msgid "Hi %(username)s,"
|
||||
msgstr "Bonjour %(username)s,"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:6
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:6
|
||||
#: fittrackee/emails/templates/layout.html:218
|
||||
#: fittrackee/emails/templates/password_change/body.txt:3
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:6
|
||||
#, python-format
|
||||
msgid ""
|
||||
"For security, this request was received from a %(operating_system)s "
|
||||
"device using %(browser_name)s."
|
||||
msgstr ""
|
||||
"Pour vérification, cette demande a été reçue à partir d'un appareil sous "
|
||||
"%(operating_system)s, utilisant le navigateur %(browser_name)s."
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:221
|
||||
#: fittrackee/emails/templates/layout.txt:5
|
||||
msgid "Thanks,"
|
||||
msgstr "Merci,"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:222
|
||||
#: fittrackee/emails/templates/layout.txt:6
|
||||
msgid "The FitTrackee Team"
|
||||
msgstr "L'équipe FitTrackee"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:2
|
||||
#: fittrackee/emails/templates/account_confirmation/subject.txt:1
|
||||
msgid "Confirm your account"
|
||||
msgstr "Confirmer votre inscription"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:3
|
||||
msgid "Use this link to confirm your account."
|
||||
msgstr "Utiliser ce lien pour confirmer votre inscription."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:1
|
||||
msgid "You have created an account on FitTrackee."
|
||||
msgstr "Vous avez créé un compte sur FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
msgid "Use the button below to confirm your address email."
|
||||
msgstr "Cliquez sur le bouton pour confirmer votre adresse email."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:11
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
|
||||
msgid "Verify your email"
|
||||
msgstr "Vérifier l'adresse email"
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:18
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:7
|
||||
msgid ""
|
||||
"If this account creation wasn't initiated by you, please ignore this "
|
||||
"email."
|
||||
msgstr ""
|
||||
"Si vous n'êtes pas à l'origine de la création de ce compte, vous pouvez "
|
||||
"ignorer cet e-mail."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:22
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:22
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:24
|
||||
msgid ""
|
||||
"If you're having trouble with the button above, copy and paste the URL "
|
||||
"below into your web browser."
|
||||
msgstr ""
|
||||
"Si vous avez des problèmes avec le bouton, vous pouvez copier et coller "
|
||||
"le lien suivant dans votre navigateur."
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:2
|
||||
msgid "Use the link below to confirm your address email."
|
||||
msgstr "Cliquez sur le lien ci-dessous pour confirmer votre adresse email."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
|
||||
msgid "Email changed"
|
||||
msgstr "Adresse email modifiée"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3
|
||||
msgid "Your email is being updated."
|
||||
msgstr "Votre adresse email est en cours de mise à jour."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:1
|
||||
msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account to:"
|
||||
msgstr ""
|
||||
"Vous avez récemment demandé la modification de l'adresse email associée à"
|
||||
" votre compte sur FitTrackee vers :"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:4
|
||||
msgid ""
|
||||
"If this email change wasn't initiated by you, please change your password"
|
||||
" immediately or contact your administrator if your account is locked."
|
||||
msgstr ""
|
||||
"Si vous n'êtes pas à l'origine de cette modification, veuillez changer "
|
||||
"votre mot de passe immédiatement ou contacter l'administrateur si votre "
|
||||
"compte est bloqué."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1
|
||||
msgid "Confirm email change"
|
||||
msgstr "Confirmer le changement d'adresse email"
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:3
|
||||
msgid "Use this link to confirm email change."
|
||||
msgstr "Confirmer le changement d'adresse email."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:1
|
||||
msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account."
|
||||
msgstr ""
|
||||
"Vous avez récemment demandé la modification de l'adresse email associée à"
|
||||
" votre compte sur FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
msgid "Use the button below to confirm this address."
|
||||
msgstr "Cliquez sur le bouton ci-dessous pour confirmer cette adresse email."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:7
|
||||
msgid "If this email change wasn't initiated by you, please ignore this email."
|
||||
msgstr ""
|
||||
"Si vous n'êtes pas à l'origine de cette modification, vous pouvez ignorer"
|
||||
" cet e-mail."
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:2
|
||||
msgid "Use the link below to confirm this address."
|
||||
msgstr "Cliquez sur le lien ci-dessous pour confirmer cette adresse email."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:2
|
||||
#: fittrackee/emails/templates/password_change/subject.txt:1
|
||||
msgid "Password changed"
|
||||
msgstr "Mot de passe modifié"
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:3
|
||||
msgid "Your password has been changed."
|
||||
msgstr "Votre mot de passe a été modifié."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:4
|
||||
#: fittrackee/emails/templates/password_change/body.txt:1
|
||||
msgid "The password for your FitTrackee account has been changed."
|
||||
msgstr "Le mot de passe de votre compte FitTrackee a été modifié."
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:5
|
||||
#: fittrackee/emails/templates/password_change/body.txt:4
|
||||
msgid ""
|
||||
"If this password change wasn't initiated by you, please change your "
|
||||
"password immediately or contact your administrator if your account is "
|
||||
"locked."
|
||||
msgstr ""
|
||||
"Si vous n'êtes pas à l'origine de cette modification, veuillez changer "
|
||||
"votre mot de passe immédiatement ou contacter l'administrateur si votre "
|
||||
"compte est bloqué."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:2
|
||||
#: fittrackee/emails/templates/password_reset_request/subject.txt:1
|
||||
msgid "Password reset request"
|
||||
msgstr "Réinitialiser votre mot de passe"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:3
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Use this link to reset your password. The link is only valid for "
|
||||
"%(expiration_delay)s."
|
||||
msgstr ""
|
||||
"Utiliser ce lien pour réinitialiser le mot de passe. Ce lien n'est valide"
|
||||
" que pendant %(expiration_delay)s."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "You recently requested to reset your password for your FitTrackee account."
|
||||
msgstr ""
|
||||
"Vous avez récemment demandé la réinitialisation du mot de passe de votre "
|
||||
"compte sur FitTrackee."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
msgid "Use the button below to reset it."
|
||||
msgstr "Cliquez sur le bouton pour le réinitialiser."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:5
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:2
|
||||
#, python-format
|
||||
msgid "This password reset link is only valid for %(expiration_delay)s."
|
||||
msgstr "Ce lien n'est valide que pendant %(expiration_delay)s."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:13
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:4
|
||||
msgid "Reset your password"
|
||||
msgstr "Réinitialiser le mot de passe"
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:20
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:7
|
||||
msgid "If you did not request a password reset, please ignore this email."
|
||||
msgstr ""
|
||||
"Si vous n'avez pas demandé de réinitialisation, vous pouvez ignorer cet "
|
||||
"e-mail."
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "Use the link below to reset it."
|
||||
msgstr "Cliquez sur le lien ci-dessous pour le réinitialiser."
|
||||
|
@ -2,7 +2,8 @@
|
||||
|
||||
expected_en_text_body = """Hi test,
|
||||
|
||||
You have created an account on FitTrackee. Use the link below to confirm your address email.
|
||||
You have created an account on FitTrackee.
|
||||
Use the link below to confirm your address email.
|
||||
|
||||
Verify your email: http://localhost/account-confirmation?token=xxx
|
||||
|
||||
@ -70,7 +71,7 @@ expected_en_html_body = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you’re having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">If you're having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">http://localhost/account-confirmation?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -119,9 +120,7 @@ expected_fr_html_body = """ <body>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>Bonjour test,</h1>
|
||||
<p>Vous avez créé un compte sur FitTrackee.
|
||||
Cliquez sur le lien ci-dessous pour confirmer votre adresse email.
|
||||
</p>
|
||||
<p>Vous avez créé un compte sur FitTrackee. Cliquez sur le bouton pour confirmer votre adresse email.</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
@ -144,7 +143,7 @@ expected_fr_html_body = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur</p>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur.</p>
|
||||
<p class="f-fallback sub">http://localhost/account-confirmation?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -61,9 +61,8 @@ expected_en_html_body = """ <body>
|
||||
If this email change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.
|
||||
</p>
|
||||
<p>Thanks,
|
||||
<br>
|
||||
The FitTrackee Team
|
||||
</p>
|
||||
<br>The FitTrackee Team</p>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -127,9 +126,8 @@ expected_fr_html_body = """ <body>
|
||||
Si vous n'êtes pas à l'origine de cette modification, veuillez changer votre mot de passe immédiatement ou contacter l'administrateur si votre compte est bloqué.
|
||||
</p>
|
||||
<p>Merci,
|
||||
<br>
|
||||
L'équipe FitTrackee
|
||||
</p>
|
||||
<br>L'équipe FitTrackee</p>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -2,7 +2,8 @@
|
||||
|
||||
expected_en_text_body = """Hi test,
|
||||
|
||||
You recently requested to change your email address for your FitTrackee account. Use the link below to confirm this address.
|
||||
You recently requested to change your email address for your FitTrackee account.
|
||||
Use the link below to confirm this address.
|
||||
|
||||
Verify your email: http://localhost/email-update?token=xxx
|
||||
|
||||
@ -15,7 +16,8 @@ http://localhost"""
|
||||
|
||||
expected_en_text_body_without_security = """Hi test,
|
||||
|
||||
You recently requested to change your email address for your FitTrackee account. Use the link below to confirm this address.
|
||||
You recently requested to change your email address for your FitTrackee account.
|
||||
Use the link below to confirm this address.
|
||||
|
||||
Verify your email: http://localhost/email-update?token=xxx
|
||||
|
||||
@ -95,7 +97,7 @@ expected_en_html_body = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you’re having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">If you're having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">http://localhost/email-update?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -166,7 +168,7 @@ expected_en_html_body_without_security = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you’re having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">If you're having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">http://localhost/email-update?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -196,7 +198,7 @@ expected_en_html_body_without_security = """ <body>
|
||||
</html>"""
|
||||
|
||||
expected_fr_html_body = """ <body>
|
||||
<span class="preheader">Utiliser ce lien pour confirmer cette adresse email.</span>
|
||||
<span class="preheader">Confirmer le changement d'adresse email.</span>
|
||||
<table class="email-wrapper" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
@ -215,9 +217,7 @@ expected_fr_html_body = """ <body>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>Bonjour test,</h1>
|
||||
<p>Vous avez récemment demandé la modification de l'adresse email associée à votre compte sur FitTrackee.
|
||||
Cliquez sur le bouton ci-dessous pour confirmer cette adresse email.
|
||||
</p>
|
||||
<p>Vous avez récemment demandé la modification de l'adresse email associée à votre compte sur FitTrackee. Cliquez sur le bouton ci-dessous pour confirmer cette adresse email.</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
@ -240,7 +240,7 @@ expected_fr_html_body = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur</p>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur.</p>
|
||||
<p class="f-fallback sub">http://localhost/email-update?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -270,7 +270,7 @@ expected_fr_html_body = """ <body>
|
||||
</html>"""
|
||||
|
||||
expected_fr_html_body_without_security = """ <body>
|
||||
<span class="preheader">Utiliser ce lien pour confirmer cette adresse email.</span>
|
||||
<span class="preheader">Confirmer le changement d'adresse email.</span>
|
||||
<table class="email-wrapper" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
@ -289,9 +289,7 @@ expected_fr_html_body_without_security = """ <body>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>Bonjour test,</h1>
|
||||
<p>Vous avez récemment demandé la modification de l'adresse email associée à votre compte sur FitTrackee.
|
||||
Cliquez sur le bouton ci-dessous pour confirmer cette adresse email.
|
||||
</p>
|
||||
<p>Vous avez récemment demandé la modification de l'adresse email associée à votre compte sur FitTrackee. Cliquez sur le bouton ci-dessous pour confirmer cette adresse email.</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
<td align="center">
|
||||
@ -313,7 +311,7 @@ expected_fr_html_body_without_security = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur</p>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur.</p>
|
||||
<p class="f-fallback sub">http://localhost/email-update?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -68,9 +68,8 @@ expected_en_html_body = """ <body>
|
||||
If this password change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.
|
||||
</p>
|
||||
<p>Thanks,
|
||||
<br>
|
||||
The FitTrackee Team
|
||||
</p>
|
||||
<br>The FitTrackee Team</p>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -120,9 +119,8 @@ expected_en_html_body_without_security = """ <body>
|
||||
If this password change wasn't initiated by you, please change your password immediately or contact your administrator if your account is locked.
|
||||
</p>
|
||||
<p>Thanks,
|
||||
<br>
|
||||
The FitTrackee Team
|
||||
</p>
|
||||
<br>The FitTrackee Team</p>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -173,9 +171,8 @@ expected_fr_html_body = """ <body>
|
||||
Si vous n'êtes pas à l'origine de cette modification, veuillez changer votre mot de passe immédiatement ou contacter l'administrateur si votre compte est bloqué.
|
||||
</p>
|
||||
<p>Merci,
|
||||
<br>
|
||||
L'équipe FitTrackee
|
||||
</p>
|
||||
<br>L'équipe FitTrackee</p>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@ -225,9 +222,8 @@ expected_fr_html_body_without_security = """ <body>
|
||||
Si vous n'êtes pas à l'origine de cette modification, veuillez changer votre mot de passe immédiatement ou contacter l'administrateur si votre compte est bloqué.
|
||||
</p>
|
||||
<p>Merci,
|
||||
<br>
|
||||
L'équipe FitTrackee
|
||||
</p>
|
||||
<br>L'équipe FitTrackee</p>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -2,7 +2,8 @@
|
||||
|
||||
expected_en_text_body = """Hi test,
|
||||
|
||||
You recently requested to reset your password for your FitTrackee account. Use the link below to reset it. This password reset link is only valid for 3 seconds.
|
||||
You recently requested to reset your password for your FitTrackee account. Use the link below to reset it.
|
||||
This password reset link is only valid for 3 seconds.
|
||||
|
||||
Reset your password: http://localhost/password-reset?token=xxx
|
||||
|
||||
@ -15,7 +16,8 @@ http://localhost"""
|
||||
|
||||
expected_en_text_body_without_security = """Hi test,
|
||||
|
||||
You recently requested to reset your password for your FitTrackee account. Use the link below to reset it. This password reset link is only valid for 3 seconds.
|
||||
You recently requested to reset your password for your FitTrackee account. Use the link below to reset it.
|
||||
This password reset link is only valid for 3 seconds.
|
||||
|
||||
Reset your password: http://localhost/password-reset?token=xxx
|
||||
|
||||
@ -27,8 +29,8 @@ http://localhost"""
|
||||
|
||||
expected_fr_text_body = """Bonjour test,
|
||||
|
||||
Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee.
|
||||
Cliquez sur le lien ci-dessous pour le réinitialiser. Ce lien n'est valide que pendant 3 secondes.
|
||||
Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee. Cliquez sur le lien ci-dessous pour le réinitialiser.
|
||||
Ce lien n'est valide que pendant 3 secondes.
|
||||
|
||||
Réinitialiser le mot de passe: http://localhost/password-reset?token=xxx
|
||||
|
||||
@ -41,8 +43,8 @@ http://localhost"""
|
||||
|
||||
expected_fr_text_body_without_security = """Bonjour test,
|
||||
|
||||
Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee.
|
||||
Cliquez sur le lien ci-dessous pour le réinitialiser. Ce lien n'est valide que pendant 3 secondes.
|
||||
Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee. Cliquez sur le lien ci-dessous pour le réinitialiser.
|
||||
Ce lien n'est valide que pendant 3 secondes.
|
||||
|
||||
Réinitialiser le mot de passe: http://localhost/password-reset?token=xxx
|
||||
|
||||
@ -72,7 +74,7 @@ expected_en_html_body = """ <body>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>Hi test,</h1>
|
||||
<p>You recently requested to reset your password for your account. Use the button below to reset it.
|
||||
<p>You recently requested to reset your password for your FitTrackee account. Use the button below to reset it.
|
||||
<strong>This password reset link is only valid for 3 seconds.</strong>
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
@ -97,7 +99,7 @@ expected_en_html_body = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you’re having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">If you're having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">http://localhost/password-reset?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -146,7 +148,7 @@ expected_en_html_body_without_security = """ <body>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>Hi test,</h1>
|
||||
<p>You recently requested to reset your password for your account. Use the button below to reset it.
|
||||
<p>You recently requested to reset your password for your FitTrackee account. Use the button below to reset it.
|
||||
<strong>This password reset link is only valid for 3 seconds.</strong>
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
@ -170,7 +172,7 @@ expected_en_html_body_without_security = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">If you’re having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">If you're having trouble with the button above, copy and paste the URL below into your web browser.</p>
|
||||
<p class="f-fallback sub">http://localhost/password-reset?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -219,9 +221,8 @@ expected_fr_html_body = """ <body>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>Bonjour test,</h1>
|
||||
<p>Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee.
|
||||
Cliquez sur le bouton ci-dessous pour le réinitialiser.
|
||||
<strong>Cette réinitialisation n'est valide que pendant 3 secondes.</strong>
|
||||
<p>Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee. Cliquez sur le bouton pour le réinitialiser.
|
||||
<strong>Ce lien n'est valide que pendant 3 secondes.</strong>
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
@ -245,7 +246,7 @@ expected_fr_html_body = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur</p>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur.</p>
|
||||
<p class="f-fallback sub">http://localhost/password-reset?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -295,9 +296,8 @@ expected_fr_html_body_without_security = """ <body>
|
||||
<td class="content-cell">
|
||||
<div class="f-fallback">
|
||||
<h1>Bonjour test,</h1>
|
||||
<p>Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee.
|
||||
Cliquez sur le bouton ci-dessous pour le réinitialiser.
|
||||
<strong>Cette réinitialisation n'est valide que pendant 3 secondes.</strong>
|
||||
<p>Vous avez récemment demandé la réinitialisation du mot de passe de votre compte sur FitTrackee. Cliquez sur le bouton pour le réinitialiser.
|
||||
<strong>Ce lien n'est valide que pendant 3 secondes.</strong>
|
||||
</p>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" role="presentation">
|
||||
<tr>
|
||||
@ -320,7 +320,7 @@ expected_fr_html_body_without_security = """ <body>
|
||||
<table class="body-sub" role="presentation">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur</p>
|
||||
<p class="f-fallback sub">Si vous avez des problèmes avec le bouton, vous pouvez copier et coller le lien suivant dans votre navigateur.</p>
|
||||
<p class="f-fallback sub">http://localhost/password-reset?token=xxx</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -32,7 +32,11 @@ class TestEmailTemplateForAccountConfirmation:
|
||||
def test_it_gets_subject(
|
||||
self, app: Flask, lang: str, expected_subject: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
subject = email_template.get_content(
|
||||
'account_confirmation', lang, 'subject.txt', {}
|
||||
@ -50,7 +54,11 @@ class TestEmailTemplateForAccountConfirmation:
|
||||
def test_it_gets_text_body(
|
||||
self, app: Flask, lang: str, expected_text_body: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'account_confirmation', lang, 'body.txt', self.EMAIL_DATA
|
||||
@ -59,7 +67,11 @@ class TestEmailTemplateForAccountConfirmation:
|
||||
assert text_body == expected_text_body
|
||||
|
||||
def test_it_gets_en_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'account_confirmation', 'en', 'body.html', self.EMAIL_DATA
|
||||
@ -68,7 +80,11 @@ class TestEmailTemplateForAccountConfirmation:
|
||||
assert expected_en_html_body in text_body
|
||||
|
||||
def test_it_gets_fr_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'account_confirmation', 'fr', 'body.html', self.EMAIL_DATA
|
||||
|
@ -47,7 +47,11 @@ class TestEmailTemplateForEmailUpdateToCurrentEmail:
|
||||
def test_it_gets_subject(
|
||||
self, app: Flask, lang: str, expected_subject: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
subject = email_template.get_content(
|
||||
'email_update_to_current_email', lang, 'subject.txt', {}
|
||||
@ -65,7 +69,11 @@ class TestEmailTemplateForEmailUpdateToCurrentEmail:
|
||||
def test_it_gets_text_body(
|
||||
self, app: Flask, lang: str, expected_text_body: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'email_update_to_current_email', lang, 'body.txt', self.EMAIL_DATA
|
||||
@ -74,7 +82,11 @@ class TestEmailTemplateForEmailUpdateToCurrentEmail:
|
||||
assert text_body == expected_text_body
|
||||
|
||||
def test_it_gets_en_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'email_update_to_current_email', 'en', 'body.html', self.EMAIL_DATA
|
||||
@ -83,7 +95,11 @@ class TestEmailTemplateForEmailUpdateToCurrentEmail:
|
||||
assert expected_en_current_email_html_body in text_body
|
||||
|
||||
def test_it_gets_fr_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'email_update_to_current_email', 'fr', 'body.html', self.EMAIL_DATA
|
||||
@ -111,7 +127,11 @@ class TestEmailTemplateForEmailUpdateToNewEmail:
|
||||
def test_it_gets_subject(
|
||||
self, app: Flask, lang: str, expected_subject: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
subject = email_template.get_content(
|
||||
'email_update_to_new_email', lang, 'subject.txt', {}
|
||||
@ -129,7 +149,11 @@ class TestEmailTemplateForEmailUpdateToNewEmail:
|
||||
def test_it_gets_text_body(
|
||||
self, app: Flask, lang: str, expected_text_body: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'email_update_to_new_email', lang, 'body.txt', self.EMAIL_DATA
|
||||
@ -138,7 +162,11 @@ class TestEmailTemplateForEmailUpdateToNewEmail:
|
||||
assert text_body == expected_text_body
|
||||
|
||||
def test_it_gets_en_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'email_update_to_new_email', 'en', 'body.html', self.EMAIL_DATA
|
||||
@ -147,7 +175,11 @@ class TestEmailTemplateForEmailUpdateToNewEmail:
|
||||
assert expected_en_new_email_html_body in text_body
|
||||
|
||||
def test_it_gets_fr_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'email_update_to_new_email', 'fr', 'body.html', self.EMAIL_DATA
|
||||
@ -173,7 +205,11 @@ class TestEmailTemplateForEmailUpdateToNewEmailWithoutSecurityInfos:
|
||||
def test_it_gets_subject(
|
||||
self, app: Flask, lang: str, expected_subject: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
subject = email_template.get_content(
|
||||
'email_update_to_new_email', lang, 'subject.txt', {}
|
||||
@ -191,7 +227,11 @@ class TestEmailTemplateForEmailUpdateToNewEmailWithoutSecurityInfos:
|
||||
def test_it_gets_text_body(
|
||||
self, app: Flask, lang: str, expected_text_body: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'email_update_to_new_email', lang, 'body.txt', self.EMAIL_DATA
|
||||
@ -200,7 +240,11 @@ class TestEmailTemplateForEmailUpdateToNewEmailWithoutSecurityInfos:
|
||||
assert text_body == expected_text_body
|
||||
|
||||
def test_it_gets_en_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'email_update_to_new_email', 'en', 'body.html', self.EMAIL_DATA
|
||||
@ -209,7 +253,11 @@ class TestEmailTemplateForEmailUpdateToNewEmailWithoutSecurityInfos:
|
||||
assert expected_en_new_email_html_body_without_security in text_body
|
||||
|
||||
def test_it_gets_fr_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES']
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'email_update_to_new_email', 'fr', 'body.html', self.EMAIL_DATA
|
||||
|
@ -33,7 +33,11 @@ class TestEmailTemplateForPasswordChange:
|
||||
def test_it_gets_subject(
|
||||
self, app: Flask, lang: str, expected_subject: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
subject = email_template.get_content(
|
||||
'password_change', lang, 'subject.txt', {}
|
||||
@ -51,7 +55,11 @@ class TestEmailTemplateForPasswordChange:
|
||||
def test_it_gets_text_body(
|
||||
self, app: Flask, lang: str, expected_text_body: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'password_change', lang, 'body.txt', self.EMAIL_DATA
|
||||
@ -60,7 +68,11 @@ class TestEmailTemplateForPasswordChange:
|
||||
assert text_body == expected_text_body
|
||||
|
||||
def test_it_gets_en_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'password_change', 'en', 'body.html', self.EMAIL_DATA
|
||||
@ -69,7 +81,11 @@ class TestEmailTemplateForPasswordChange:
|
||||
assert expected_en_html_body in text_body
|
||||
|
||||
def test_it_gets_fr_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'password_change', 'fr', 'body.html', self.EMAIL_DATA
|
||||
@ -94,7 +110,11 @@ class TestEmailTemplateForPasswordChangeWithSecurityInfos:
|
||||
def test_it_gets_subject(
|
||||
self, app: Flask, lang: str, expected_subject: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
subject = email_template.get_content(
|
||||
'password_change', lang, 'subject.txt', {}
|
||||
@ -112,7 +132,11 @@ class TestEmailTemplateForPasswordChangeWithSecurityInfos:
|
||||
def test_it_gets_text_body(
|
||||
self, app: Flask, lang: str, expected_text_body: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'password_change', lang, 'body.txt', self.EMAIL_DATA
|
||||
@ -121,7 +145,11 @@ class TestEmailTemplateForPasswordChangeWithSecurityInfos:
|
||||
assert text_body == expected_text_body
|
||||
|
||||
def test_it_gets_en_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'password_change', 'en', 'body.html', self.EMAIL_DATA
|
||||
@ -130,7 +158,11 @@ class TestEmailTemplateForPasswordChangeWithSecurityInfos:
|
||||
assert expected_en_html_body_without_security in text_body
|
||||
|
||||
def test_it_gets_fr_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
text_body = email_template.get_content(
|
||||
'password_change', 'fr', 'body.html', self.EMAIL_DATA
|
||||
|
@ -26,7 +26,11 @@ class TestEmailTemplateForPasswordRequest:
|
||||
def test_it_gets_subject(
|
||||
self, app: Flask, lang: str, expected_subject: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
subject = email_template.get_content(
|
||||
'password_reset_request', lang, 'subject.txt', {}
|
||||
@ -41,7 +45,11 @@ class TestEmailTemplateForPasswordRequest:
|
||||
def test_it_gets_text_body(
|
||||
self, app: Flask, lang: str, expected_text_body: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
email_data = {
|
||||
'expiration_delay': '3 seconds' if lang == 'en' else '3 secondes',
|
||||
'username': 'test',
|
||||
@ -58,7 +66,11 @@ class TestEmailTemplateForPasswordRequest:
|
||||
assert text_body == expected_text_body
|
||||
|
||||
def test_it_gets_en_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
email_data = {
|
||||
'expiration_delay': '3 seconds',
|
||||
'username': 'test',
|
||||
@ -75,7 +87,11 @@ class TestEmailTemplateForPasswordRequest:
|
||||
assert expected_en_html_body in text_body
|
||||
|
||||
def test_it_gets_fr_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
email_data = {
|
||||
'expiration_delay': '3 secondes',
|
||||
'username': 'test',
|
||||
@ -103,7 +119,11 @@ class TestEmailTemplateForPasswordRequestWithoutSecurityInfos:
|
||||
def test_it_gets_subject(
|
||||
self, app: Flask, lang: str, expected_subject: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
|
||||
subject = email_template.get_content(
|
||||
'password_reset_request', lang, 'subject.txt', {}
|
||||
@ -121,7 +141,11 @@ class TestEmailTemplateForPasswordRequestWithoutSecurityInfos:
|
||||
def test_it_gets_text_body(
|
||||
self, app: Flask, lang: str, expected_text_body: str
|
||||
) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
email_data = {
|
||||
'expiration_delay': '3 seconds' if lang == 'en' else '3 secondes',
|
||||
'username': 'test',
|
||||
@ -136,7 +160,11 @@ class TestEmailTemplateForPasswordRequestWithoutSecurityInfos:
|
||||
assert text_body == expected_text_body
|
||||
|
||||
def test_it_gets_en_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
email_data = {
|
||||
'expiration_delay': '3 seconds',
|
||||
'username': 'test',
|
||||
@ -151,7 +179,11 @@ class TestEmailTemplateForPasswordRequestWithoutSecurityInfos:
|
||||
assert expected_en_html_body_without_security in text_body
|
||||
|
||||
def test_it_gets_fr_html_body(self, app: Flask) -> None:
|
||||
email_template = EmailTemplate(app.config['TEMPLATES_FOLDER'])
|
||||
email_template = EmailTemplate(
|
||||
app.config['TEMPLATES_FOLDER'],
|
||||
app.config['TRANSLATIONS_FOLDER'],
|
||||
app.config['LANGUAGES'],
|
||||
)
|
||||
email_data = {
|
||||
'expiration_delay': '3 secondes',
|
||||
'username': 'test',
|
||||
|
206
messages.pot
Normal file
206
messages.pot
Normal file
@ -0,0 +1,206 @@
|
||||
# Translations template for PROJECT.
|
||||
# Copyright (C) 2022 ORGANIZATION
|
||||
# This file is distributed under the same license as the PROJECT project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2022-07-03 07:58+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.10.3\n"
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:215
|
||||
#: fittrackee/emails/templates/layout.txt:1
|
||||
#, python-format
|
||||
msgid "Hi %(username)s,"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:6
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:6
|
||||
#: fittrackee/emails/templates/layout.html:218
|
||||
#: fittrackee/emails/templates/password_change/body.txt:3
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:6
|
||||
#, python-format
|
||||
msgid ""
|
||||
"For security, this request was received from a %(operating_system)s "
|
||||
"device using %(browser_name)s."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:221
|
||||
#: fittrackee/emails/templates/layout.txt:5
|
||||
msgid "Thanks,"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/layout.html:222
|
||||
#: fittrackee/emails/templates/layout.txt:6
|
||||
msgid "The FitTrackee Team"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:2
|
||||
#: fittrackee/emails/templates/account_confirmation/subject.txt:1
|
||||
msgid "Confirm your account"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:3
|
||||
msgid "Use this link to confirm your account."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:1
|
||||
msgid "You have created an account on FitTrackee."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:4
|
||||
msgid "Use the button below to confirm your address email."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:11
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
|
||||
msgid "Verify your email"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:18
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:7
|
||||
msgid ""
|
||||
"If this account creation wasn't initiated by you, please ignore this "
|
||||
"email."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.html:22
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:22
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:24
|
||||
msgid ""
|
||||
"If you're having trouble with the button above, copy and paste the URL "
|
||||
"below into your web browser."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/account_confirmation/body.txt:2
|
||||
msgid "Use the link below to confirm your address email."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
|
||||
msgid "Email changed"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3
|
||||
msgid "Your email is being updated."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:1
|
||||
msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account to:"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:4
|
||||
msgid ""
|
||||
"If this email change wasn't initiated by you, please change your password"
|
||||
" immediately or contact your administrator if your account is locked."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:2
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1
|
||||
msgid "Confirm email change"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:3
|
||||
msgid "Use this link to confirm email change."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:1
|
||||
msgid ""
|
||||
"You recently requested to change your email address for your FitTrackee "
|
||||
"account."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
|
||||
msgid "Use the button below to confirm this address."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.html:18
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:7
|
||||
msgid "If this email change wasn't initiated by you, please ignore this email."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:2
|
||||
msgid "Use the link below to confirm this address."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:2
|
||||
#: fittrackee/emails/templates/password_change/subject.txt:1
|
||||
msgid "Password changed"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:3
|
||||
msgid "Your password has been changed."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:4
|
||||
#: fittrackee/emails/templates/password_change/body.txt:1
|
||||
msgid "The password for your FitTrackee account has been changed."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_change/body.html:5
|
||||
#: fittrackee/emails/templates/password_change/body.txt:4
|
||||
msgid ""
|
||||
"If this password change wasn't initiated by you, please change your "
|
||||
"password immediately or contact your administrator if your account is "
|
||||
"locked."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:2
|
||||
#: fittrackee/emails/templates/password_reset_request/subject.txt:1
|
||||
msgid "Password reset request"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:3
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Use this link to reset your password. The link is only valid for "
|
||||
"%(expiration_delay)s."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "You recently requested to reset your password for your FitTrackee account."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:4
|
||||
msgid "Use the button below to reset it."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:5
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:2
|
||||
#, python-format
|
||||
msgid "This password reset link is only valid for %(expiration_delay)s."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:13
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:4
|
||||
msgid "Reset your password"
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.html:20
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:7
|
||||
msgid "If you did not request a password reset, please ignore this email."
|
||||
msgstr ""
|
||||
|
||||
#: fittrackee/emails/templates/password_reset_request/body.txt:1
|
||||
msgid "Use the link below to reset it."
|
||||
msgstr ""
|
||||
|
4
poetry.lock
generated
4
poetry.lock
generated
@ -68,7 +68,7 @@ tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>
|
||||
name = "babel"
|
||||
version = "2.10.3"
|
||||
description = "Internationalization utilities"
|
||||
category = "dev"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
|
||||
@ -1466,7 +1466,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-
|
||||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.7"
|
||||
content-hash = "327d5c6a151cd6c0130a2e1f980fd5e8259ea59a9972407947c9a64124033c0a"
|
||||
content-hash = "fabbeac65ba304e8051b1453c13f872ef5fc8ed1a6ea7cc236a6d8ede34d9600"
|
||||
|
||||
[metadata.files]
|
||||
alabaster = [
|
||||
|
@ -41,6 +41,7 @@ staticmap = "^0.5.4"
|
||||
SQLAlchemy = "1.4.37"
|
||||
pyOpenSSL = "^22.0"
|
||||
ua-parser = "^0.10.0"
|
||||
Babel = "^2.10.3"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
black = "^22.3"
|
||||
|
Loading…
Reference in New Issue
Block a user