mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-28 17:32:38 +02:00
emails can now be translated instead of having an individual template for each language
This commit is contained in:
parent
eb7338c76c
commit
8e476d4986
5 changed files with 14 additions and 1 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -18,3 +18,5 @@ ihatemoney/budget.db
|
||||||
.python-version
|
.python-version
|
||||||
.coverage*
|
.coverage*
|
||||||
prof
|
prof
|
||||||
|
*.ipynb
|
||||||
|
*/.ipynb_checkpoints/
|
|
@ -1,3 +1,5 @@
|
||||||
|
|
||||||
|
|
||||||
Hi,
|
Hi,
|
||||||
|
|
||||||
Someone using the email address {{ g.project.contact_email }} invited you to share your expenses for "{{ g.project.name }}".
|
Someone using the email address {{ g.project.contact_email }} invited you to share your expenses for "{{ g.project.name }}".
|
3
ihatemoney/templates/translation_template.j2
Normal file
3
ihatemoney/templates/translation_template.j2
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{% trans %}
|
||||||
|
{{ untranslated_text }}
|
||||||
|
{% endtrans %}
|
|
@ -430,6 +430,10 @@ def render_localized_template(template_name_prefix, **context):
|
||||||
# render_template() supports a list of templates to try in order
|
# render_template() supports a list of templates to try in order
|
||||||
return render_template(templates, **context)
|
return render_template(templates, **context)
|
||||||
|
|
||||||
|
def translate_template_text(text, **context):
|
||||||
|
"""Passes `text` to a basic Jinja translation template. A generalizable solution for translating outgoing emails."""
|
||||||
|
|
||||||
|
return render_template("translation_template.j2", untranslated_text=text, **context)
|
||||||
|
|
||||||
def format_form_errors(form, prefix):
|
def format_form_errors(form, prefix):
|
||||||
"""Format all form errors into a single string, with a string prefix in
|
"""Format all form errors into a single string, with a string prefix in
|
||||||
|
|
|
@ -68,6 +68,7 @@ from ihatemoney.utils import (
|
||||||
list_of_dicts2csv,
|
list_of_dicts2csv,
|
||||||
list_of_dicts2json,
|
list_of_dicts2json,
|
||||||
render_localized_template,
|
render_localized_template,
|
||||||
|
translate_template_text,
|
||||||
send_email,
|
send_email,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -601,7 +602,8 @@ def invite():
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
if form.validate():
|
if form.validate():
|
||||||
# send the email
|
# send the email
|
||||||
message_body = render_localized_template("invitation_mail")
|
untranslated_body = render_template("invitation_mail.j2")
|
||||||
|
message_body = translate_template_text(untranslated_body)
|
||||||
message_title = _(
|
message_title = _(
|
||||||
"You have been invited to share your expenses for %(project)s",
|
"You have been invited to share your expenses for %(project)s",
|
||||||
project=g.project.name,
|
project=g.project.name,
|
||||||
|
|
Loading…
Reference in a new issue