(email) white brand email

The email was branded "La Suite Numérique",
we updated the template to make it generic, we
will use settings env variables to customize the
email for each brand.
This commit is contained in:
Anthony LC
2024-12-13 17:48:08 +01:00
committed by Anthony LC
parent 2d13e0985e
commit ecb2b35ec8
14 changed files with 425 additions and 317 deletions

View File

@@ -552,9 +552,11 @@ class Document(BaseModel):
language = language or get_language()
context.update(
{
"brandname": settings.EMAIL_BRAND_NAME,
"document": self,
"domain": domain,
"link": f"{domain}/docs/{self.id}/",
"document": self,
"logo_img": settings.EMAIL_LOGO_IMG,
}
)

View File

@@ -7,6 +7,7 @@ from datetime import timedelta
from unittest import mock
from django.core import mail
from django.test import override_settings
from django.utils import timezone
import pytest
@@ -339,6 +340,7 @@ def test_api_document_invitations_create_authenticated_outsider():
assert response.status_code == 403
@override_settings(EMAIL_BRAND_NAME="My brand name", EMAIL_LOGO_IMG="my-img.jpg")
@pytest.mark.parametrize(
"inviting,invited,response_code",
(
@@ -407,6 +409,8 @@ def test_api_document_invitations_create_privileged_members(
f"{user.full_name} ({user.email}) invited you with the role ``{invited}`` "
f"on the following document: {document.title}"
) in email_content
assert "My brand name" in email_content
assert "my-img.jpg" in email_content
else:
assert models.Invitation.objects.exists() is False
@@ -453,7 +457,7 @@ def test_api_document_invitations_create_email_from_content_language():
assert email.to == ["guest@example.com"]
email_content = " ".join(email.body.split())
assert f"{user.full_name} a partagé un document avec vous !" in email_content
assert f"{user.full_name} a partagé un document avec vous!" in email_content
def test_api_document_invitations_create_email_from_content_language_not_supported():

View File

@@ -352,9 +352,11 @@ class Base(Configuration):
# Mail
EMAIL_BACKEND = values.Value("django.core.mail.backends.smtp.EmailBackend")
EMAIL_BRAND_NAME = values.Value(None)
EMAIL_HOST = values.Value(None)
EMAIL_HOST_USER = values.Value(None)
EMAIL_HOST_PASSWORD = values.Value(None)
EMAIL_LOGO_IMG = values.Value(None)
EMAIL_PORT = values.PositiveIntegerValue(None)
EMAIL_USE_TLS = values.BooleanValue(False)
EMAIL_USE_SSL = values.BooleanValue(False)

View File

@@ -2,46 +2,66 @@ msgid ""
msgstr ""
"Project-Id-Version: lasuite-people\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-25 10:15+0000\n"
"PO-Revision-Date: 2024-09-25 10:21\n"
"POT-Creation-Date: 2024-12-13 15:17+0000\n"
"PO-Revision-Date: 2024-12-13 15:22\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: lasuite-people\n"
"X-Crowdin-Project-ID: 637934\n"
"X-Crowdin-Language: de\n"
"X-Crowdin-File: backend-impress.pot\n"
"X-Crowdin-File-ID: 8\n"
#: core/admin.py:32
#: core/admin.py:33
msgid "Personal info"
msgstr "Persönliche Angaben"
msgstr "Persönliche Daten"
#: core/admin.py:34
#: core/admin.py:46
msgid "Permissions"
msgstr "Berechtigungen"
#: core/admin.py:46
#: core/admin.py:58
msgid "Important dates"
msgstr "Wichtige Termine"
msgstr "Wichtige Daten"
#: core/api/serializers.py:253
#: core/api/filters.py:16
msgid "Creator is me"
msgstr ""
#: core/api/filters.py:19
msgid "Favorite"
msgstr ""
#: core/api/filters.py:22
msgid "Title"
msgstr ""
#: core/api/serializers.py:307
msgid "A new document was created on your behalf!"
msgstr ""
#: core/api/serializers.py:311
msgid "You have been granted ownership of a new document:"
msgstr ""
#: core/api/serializers.py:414
msgid "Body"
msgstr ""
msgstr "Inhalt"
#: core/api/serializers.py:256
#: core/api/serializers.py:417
msgid "Body type"
msgstr ""
msgstr "Typ"
#: core/api/serializers.py:262
#: core/api/serializers.py:423
msgid "Format"
msgstr ""
msgstr "Format"
#: core/authentication/backends.py:56
#: core/authentication/backends.py:57
msgid "Invalid response format or token verification failed"
msgstr ""
@@ -49,17 +69,17 @@ msgstr ""
msgid "User info contained no recognizable user identification"
msgstr ""
#: core/authentication/backends.py:101
msgid "Claims contained no recognizable user identification"
#: core/authentication/backends.py:88
msgid "User account is disabled"
msgstr ""
#: core/models.py:62 core/models.py:69
msgid "Reader"
msgstr "Leser"
msgstr "Lesen"
#: core/models.py:63 core/models.py:70
msgid "Editor"
msgstr "Bearbeiter"
msgstr "Bearbeiten"
#: core/models.py:71
msgid "Administrator"
@@ -67,283 +87,308 @@ msgstr "Administrator"
#: core/models.py:72
msgid "Owner"
msgstr "Eigentümer"
msgstr "Besitzer"
#: core/models.py:80
#: core/models.py:83
msgid "Restricted"
msgstr "Eingeschränkt"
msgstr "Beschränkt"
#: core/models.py:84
#: core/models.py:87
msgid "Authenticated"
msgstr "Authentifiziert"
#: core/models.py:86
#: core/models.py:89
msgid "Public"
msgstr "Öffentlich"
#: core/models.py:98
#: core/models.py:101
msgid "id"
msgstr ""
#: core/models.py:99
#: core/models.py:102
msgid "primary key for the record as UUID"
msgstr ""
#: core/models.py:105
#: core/models.py:108
msgid "created on"
msgstr ""
msgstr "Erstellt"
#: core/models.py:106
#: core/models.py:109
msgid "date and time at which a record was created"
msgstr ""
msgstr "Datum und Uhrzeit, an dem ein Datensatz erstellt wurde"
#: core/models.py:111
#: core/models.py:114
msgid "updated on"
msgstr ""
msgstr "Aktualisiert"
#: core/models.py:112
#: core/models.py:115
msgid "date and time at which a record was last updated"
msgstr "Datum und Uhrzeit, an dem zuletzt aktualisiert wurde"
#: core/models.py:135
msgid "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/_/: characters."
msgstr ""
#: core/models.py:132
msgid "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/_ characters."
msgstr ""
#: core/models.py:138
#: core/models.py:141
msgid "sub"
msgstr ""
#: core/models.py:140
msgid "Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_ characters only."
#: core/models.py:143
msgid "Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_/: characters only."
msgstr ""
#: core/models.py:148
msgid "identity email address"
#: core/models.py:152
msgid "full name"
msgstr ""
#: core/models.py:153
msgid "admin email address"
msgid "short name"
msgstr ""
#: core/models.py:155
msgid "identity email address"
msgstr ""
#: core/models.py:160
msgid "language"
msgstr ""
#: core/models.py:161
msgid "The language in which the user wants to see the interface."
msgid "admin email address"
msgstr ""
#: core/models.py:167
msgid "language"
msgstr "Sprache"
#: core/models.py:168
msgid "The language in which the user wants to see the interface."
msgstr ""
#: core/models.py:174
msgid "The timezone in which the user wants to see times."
msgstr ""
#: core/models.py:170
#: core/models.py:177
msgid "device"
msgstr ""
#: core/models.py:172
#: core/models.py:179
msgid "Whether the user is a device or a real user."
msgstr ""
#: core/models.py:175
#: core/models.py:182
msgid "staff status"
msgstr ""
#: core/models.py:177
#: core/models.py:184
msgid "Whether the user can log into this admin site."
msgstr ""
#: core/models.py:180
#: core/models.py:187
msgid "active"
msgstr ""
#: core/models.py:183
#: core/models.py:190
msgid "Whether this user should be treated as active. Unselect this instead of deleting accounts."
msgstr ""
#: core/models.py:195
#: core/models.py:202
msgid "user"
msgstr ""
msgstr "Benutzer"
#: core/models.py:196
#: core/models.py:203
msgid "users"
msgstr ""
msgstr "Benutzer"
#: core/models.py:328 core/models.py:644
#: core/models.py:342 core/models.py:718
msgid "title"
msgstr ""
msgstr "Titel"
#: core/models.py:343
#: core/models.py:364
msgid "Document"
msgstr ""
msgstr "Dokument"
#: core/models.py:344
#: core/models.py:365
msgid "Documents"
msgstr ""
msgstr "Dokumente"
#: core/models.py:347
#: core/models.py:368
msgid "Untitled Document"
msgstr "Unbenanntes Dokument"
#: core/models.py:593
#, python-brace-format
msgid "{name} shared a document with you!"
msgstr ""
#: core/models.py:537
#, python-format
msgid "%(username)s shared a document with you: %(document)s"
msgstr "%(username)s hat ein Dokument mit Ihnen geteilt: %(document)s"
#: core/models.py:597
#, python-brace-format
msgid "{name} invited you with the role ``{role}`` on the following document:"
msgstr ""
#: core/models.py:580
#: core/models.py:600
#, python-brace-format
msgid "{name} shared a document with you: {title}"
msgstr ""
#: core/models.py:623
msgid "Document/user link trace"
msgstr ""
#: core/models.py:581
#: core/models.py:624
msgid "Document/user link traces"
msgstr ""
#: core/models.py:587
#: core/models.py:630
msgid "A link trace already exists for this document/user."
msgstr ""
#: core/models.py:608
#: core/models.py:653
msgid "Document favorite"
msgstr ""
#: core/models.py:654
msgid "Document favorites"
msgstr ""
#: core/models.py:660
msgid "This document is already targeted by a favorite relation instance for the same user."
msgstr ""
#: core/models.py:682
msgid "Document/user relation"
msgstr ""
#: core/models.py:609
#: core/models.py:683
msgid "Document/user relations"
msgstr ""
#: core/models.py:615
#: core/models.py:689
msgid "This user is already in this document."
msgstr ""
msgstr "Dieser Benutzer befindet sich bereits in diesem Dokument."
#: core/models.py:621
#: core/models.py:695
msgid "This team is already in this document."
msgstr ""
msgstr "Dieses Team befindet sich bereits in diesem Dokument."
#: core/models.py:627 core/models.py:816
#: core/models.py:701 core/models.py:890
msgid "Either user or team must be set, not both."
msgstr ""
msgstr "Benutzer oder Team müssen gesetzt werden, nicht beides."
#: core/models.py:645
#: core/models.py:719
msgid "description"
msgstr ""
msgstr "Beschreibung"
#: core/models.py:646
#: core/models.py:720
msgid "code"
msgstr ""
msgstr "Code"
#: core/models.py:647
#: core/models.py:721
msgid "css"
msgstr ""
msgstr "CSS"
#: core/models.py:649
#: core/models.py:723
msgid "public"
msgstr ""
msgstr "öffentlich"
#: core/models.py:651
#: core/models.py:725
msgid "Whether this template is public for anyone to use."
msgstr ""
msgstr "Ob diese Vorlage für jedermann öffentlich ist."
#: core/models.py:657
#: core/models.py:731
msgid "Template"
msgstr ""
#: core/models.py:658
#: core/models.py:732
msgid "Templates"
msgstr ""
#: core/models.py:797
#: core/models.py:871
msgid "Template/user relation"
msgstr ""
#: core/models.py:798
#: core/models.py:872
msgid "Template/user relations"
msgstr ""
#: core/models.py:804
#: core/models.py:878
msgid "This user is already in this template."
msgstr ""
#: core/models.py:810
#: core/models.py:884
msgid "This team is already in this template."
msgstr ""
#: core/models.py:833
#: core/models.py:907
msgid "email address"
msgstr ""
#: core/models.py:850
#: core/models.py:926
msgid "Document invitation"
msgstr ""
#: core/models.py:851
#: core/models.py:927
msgid "Document invitations"
msgstr ""
#: core/models.py:868
#: core/models.py:944
msgid "This email is already associated to a registered user."
msgstr ""
#: core/templates/mail/html/invitation.html:160
#: core/templates/mail/html/invitation2.html:160
#: core/templates/mail/text/invitation.txt:3
#: core/templates/mail/text/invitation2.txt:3
msgid "La Suite Numérique"
#: core/templates/mail/html/hello.html:159 core/templates/mail/text/hello.txt:3
msgid "Company logo"
msgstr ""
#: core/templates/mail/html/invitation.html:190
#: core/templates/mail/text/invitation.txt:6
#: core/templates/mail/html/hello.html:188 core/templates/mail/text/hello.txt:5
#, python-format
msgid " %(username)s shared a document with you ! "
msgstr " %(username)s hat ein Dokument mit Ihnen geteilt! "
msgid "Hello %(name)s"
msgstr ""
#: core/templates/mail/html/invitation.html:197
#: core/templates/mail/text/invitation.txt:8
#: core/templates/mail/html/hello.html:188 core/templates/mail/text/hello.txt:5
msgid "Hello"
msgstr ""
#: core/templates/mail/html/hello.html:189 core/templates/mail/text/hello.txt:6
msgid "Thank you very much for your visit!"
msgstr ""
#: core/templates/mail/html/hello.html:221
#, python-format
msgid " %(username)s invited you as an %(role)s on the following document : "
msgstr " %(username)s hat Sie als %(role)s zum folgenden Dokument eingeladen: "
msgid "This mail has been sent to %(email)s by <a href=\"%(href)s\">%(name)s</a>"
msgstr ""
#: core/templates/mail/html/invitation.html:206
#: core/templates/mail/html/invitation2.html:211
#: core/templates/mail/html/invitation.html:162
#: core/templates/mail/text/invitation.txt:3
msgid "Logo email"
msgstr ""
#: core/templates/mail/html/invitation.html:209
#: core/templates/mail/text/invitation.txt:10
#: core/templates/mail/text/invitation2.txt:11
msgid "Open"
msgstr "Öffnen"
msgstr ""
#: core/templates/mail/html/invitation.html:223
#: core/templates/mail/html/invitation.html:226
#: core/templates/mail/text/invitation.txt:14
msgid " Docs, your new essential tool for organizing, sharing and collaborate on your documents as a team. "
msgstr " Docs, Ihr neues unverzichtbares Werkzeug zum Organisieren, Teilen und Zusammenarbeiten an Dokumenten im Team. "
msgid " Docs, your new essential tool for organizing, sharing and collaborating on your documents as a team. "
msgstr ""
#: core/templates/mail/html/invitation.html:230
#: core/templates/mail/html/invitation2.html:235
#: core/templates/mail/html/invitation.html:233
#: core/templates/mail/text/invitation.txt:16
#: core/templates/mail/text/invitation2.txt:17
msgid "Brought to you by La Suite Numérique"
msgstr "Bereitgestellt von La Suite Numérique"
#: core/templates/mail/html/invitation2.html:190
#, python-format
msgid "%(username)s shared a document with you"
msgstr "%(username)s hat ein Dokument mit Ihnen geteilt"
msgid " Brought to you by %(brandname)s "
msgstr ""
#: core/templates/mail/html/invitation2.html:197
#: core/templates/mail/text/invitation2.txt:8
#: core/templates/mail/text/hello.txt:8
#, python-format
msgid "%(username)s invited you as an %(role)s on the following document :"
msgstr "%(username)s hat Sie als %(role)s zum folgenden Dokument eingeladen:"
msgid "This mail has been sent to %(email)s by %(name)s [%(href)s]"
msgstr ""
#: core/templates/mail/html/invitation2.html:228
#: core/templates/mail/text/invitation2.txt:15
msgid "Docs, your new essential tool for organizing, sharing and collaborate on your document as a team."
msgstr "Docs, Ihr neues unverzichtbares Werkzeug zum Organisieren, Teilen und gemeinsamen Arbeiten an Dokumenten im Team."
#: impress/settings.py:177
#: impress/settings.py:236
msgid "English"
msgstr ""
#: impress/settings.py:178
#: impress/settings.py:237
msgid "French"
msgstr ""
#: impress/settings.py:176
#: impress/settings.py:238
msgid "German"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: lasuite-people\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-15 07:19+0000\n"
"PO-Revision-Date: 2024-10-15 07:23\n"
"POT-Creation-Date: 2024-12-13 15:17+0000\n"
"PO-Revision-Date: 2024-12-13 15:22\n"
"Last-Translator: \n"
"Language-Team: English\n"
"Language: en_US\n"
@@ -29,15 +29,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
#: core/api/serializers.py:253
#: core/api/filters.py:16
msgid "Creator is me"
msgstr ""
#: core/api/filters.py:19
msgid "Favorite"
msgstr ""
#: core/api/filters.py:22
msgid "Title"
msgstr ""
#: core/api/serializers.py:307
msgid "A new document was created on your behalf!"
msgstr ""
#: core/api/serializers.py:311
msgid "You have been granted ownership of a new document:"
msgstr ""
#: core/api/serializers.py:414
msgid "Body"
msgstr ""
#: core/api/serializers.py:256
#: core/api/serializers.py:417
msgid "Body type"
msgstr ""
#: core/api/serializers.py:262
#: core/api/serializers.py:423
msgid "Format"
msgstr ""
@@ -49,6 +69,10 @@ msgstr ""
msgid "User info contained no recognizable user identification"
msgstr ""
#: core/authentication/backends.py:88
msgid "User account is disabled"
msgstr ""
#: core/models.py:62 core/models.py:69
msgid "Reader"
msgstr ""
@@ -65,224 +89,246 @@ msgstr ""
msgid "Owner"
msgstr ""
#: core/models.py:80
#: core/models.py:83
msgid "Restricted"
msgstr ""
#: core/models.py:84
#: core/models.py:87
msgid "Authenticated"
msgstr ""
#: core/models.py:86
#: core/models.py:89
msgid "Public"
msgstr ""
#: core/models.py:98
#: core/models.py:101
msgid "id"
msgstr ""
#: core/models.py:99
#: core/models.py:102
msgid "primary key for the record as UUID"
msgstr ""
#: core/models.py:105
#: core/models.py:108
msgid "created on"
msgstr ""
#: core/models.py:106
#: core/models.py:109
msgid "date and time at which a record was created"
msgstr ""
#: core/models.py:111
#: core/models.py:114
msgid "updated on"
msgstr ""
#: core/models.py:112
#: core/models.py:115
msgid "date and time at which a record was last updated"
msgstr ""
#: core/models.py:132
msgid "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/_ characters."
#: core/models.py:135
msgid "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/_/: characters."
msgstr ""
#: core/models.py:138
#: core/models.py:141
msgid "sub"
msgstr ""
#: core/models.py:140
msgid "Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_ characters only."
msgstr ""
#: core/models.py:149
msgid "full name"
msgstr ""
#: core/models.py:150
msgid "short name"
#: core/models.py:143
msgid "Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_/: characters only."
msgstr ""
#: core/models.py:152
msgid "full name"
msgstr ""
#: core/models.py:153
msgid "short name"
msgstr ""
#: core/models.py:155
msgid "identity email address"
msgstr ""
#: core/models.py:157
#: core/models.py:160
msgid "admin email address"
msgstr ""
#: core/models.py:164
#: core/models.py:167
msgid "language"
msgstr ""
#: core/models.py:165
#: core/models.py:168
msgid "The language in which the user wants to see the interface."
msgstr ""
#: core/models.py:171
#: core/models.py:174
msgid "The timezone in which the user wants to see times."
msgstr ""
#: core/models.py:174
#: core/models.py:177
msgid "device"
msgstr ""
#: core/models.py:176
#: core/models.py:179
msgid "Whether the user is a device or a real user."
msgstr ""
#: core/models.py:179
#: core/models.py:182
msgid "staff status"
msgstr ""
#: core/models.py:181
#: core/models.py:184
msgid "Whether the user can log into this admin site."
msgstr ""
#: core/models.py:184
#: core/models.py:187
msgid "active"
msgstr ""
#: core/models.py:187
#: core/models.py:190
msgid "Whether this user should be treated as active. Unselect this instead of deleting accounts."
msgstr ""
#: core/models.py:199
#: core/models.py:202
msgid "user"
msgstr ""
#: core/models.py:200
#: core/models.py:203
msgid "users"
msgstr ""
#: core/models.py:332 core/models.py:638
#: core/models.py:342 core/models.py:718
msgid "title"
msgstr ""
#: core/models.py:347
#: core/models.py:364
msgid "Document"
msgstr ""
#: core/models.py:348
#: core/models.py:365
msgid "Documents"
msgstr ""
#: core/models.py:351
#: core/models.py:368
msgid "Untitled Document"
msgstr ""
#: core/models.py:530
#, python-format
msgid "%(sender_name)s shared a document with you: %(document)s"
#: core/models.py:593
#, python-brace-format
msgid "{name} shared a document with you!"
msgstr ""
#: core/models.py:574
#: core/models.py:597
#, python-brace-format
msgid "{name} invited you with the role ``{role}`` on the following document:"
msgstr ""
#: core/models.py:600
#, python-brace-format
msgid "{name} shared a document with you: {title}"
msgstr ""
#: core/models.py:623
msgid "Document/user link trace"
msgstr ""
#: core/models.py:575
#: core/models.py:624
msgid "Document/user link traces"
msgstr ""
#: core/models.py:581
#: core/models.py:630
msgid "A link trace already exists for this document/user."
msgstr ""
#: core/models.py:602
#: core/models.py:653
msgid "Document favorite"
msgstr ""
#: core/models.py:654
msgid "Document favorites"
msgstr ""
#: core/models.py:660
msgid "This document is already targeted by a favorite relation instance for the same user."
msgstr ""
#: core/models.py:682
msgid "Document/user relation"
msgstr ""
#: core/models.py:603
#: core/models.py:683
msgid "Document/user relations"
msgstr ""
#: core/models.py:609
#: core/models.py:689
msgid "This user is already in this document."
msgstr ""
#: core/models.py:615
#: core/models.py:695
msgid "This team is already in this document."
msgstr ""
#: core/models.py:621 core/models.py:810
#: core/models.py:701 core/models.py:890
msgid "Either user or team must be set, not both."
msgstr ""
#: core/models.py:639
#: core/models.py:719
msgid "description"
msgstr ""
#: core/models.py:640
#: core/models.py:720
msgid "code"
msgstr ""
#: core/models.py:641
#: core/models.py:721
msgid "css"
msgstr ""
#: core/models.py:643
#: core/models.py:723
msgid "public"
msgstr ""
#: core/models.py:645
#: core/models.py:725
msgid "Whether this template is public for anyone to use."
msgstr ""
#: core/models.py:651
#: core/models.py:731
msgid "Template"
msgstr ""
#: core/models.py:652
#: core/models.py:732
msgid "Templates"
msgstr ""
#: core/models.py:791
#: core/models.py:871
msgid "Template/user relation"
msgstr ""
#: core/models.py:792
#: core/models.py:872
msgid "Template/user relations"
msgstr ""
#: core/models.py:798
#: core/models.py:878
msgid "This user is already in this template."
msgstr ""
#: core/models.py:804
#: core/models.py:884
msgid "This team is already in this template."
msgstr ""
#: core/models.py:827
#: core/models.py:907
msgid "email address"
msgstr ""
#: core/models.py:844
#: core/models.py:926
msgid "Document invitation"
msgstr ""
#: core/models.py:845
#: core/models.py:927
msgid "Document invitations"
msgstr ""
#: core/models.py:862
#: core/models.py:944
msgid "This email is already associated to a registered user."
msgstr ""
@@ -308,36 +354,25 @@ msgstr ""
msgid "This mail has been sent to %(email)s by <a href=\"%(href)s\">%(name)s</a>"
msgstr ""
#: core/templates/mail/html/invitation.html:159
#: core/templates/mail/html/invitation.html:162
#: core/templates/mail/text/invitation.txt:3
msgid "La Suite Numérique"
msgid "Logo email"
msgstr ""
#: core/templates/mail/html/invitation.html:189
#: core/templates/mail/text/invitation.txt:6
#, python-format
msgid " %(sender_name)s shared a document with you ! "
msgstr ""
#: core/templates/mail/html/invitation.html:196
#: core/templates/mail/text/invitation.txt:8
#, python-format
msgid " %(sender_name_email)s invited you with the role \"%(role)s\" on the following document : "
msgstr ""
#: core/templates/mail/html/invitation.html:205
#: core/templates/mail/html/invitation.html:209
#: core/templates/mail/text/invitation.txt:10
msgid "Open"
msgstr ""
#: core/templates/mail/html/invitation.html:222
#: core/templates/mail/html/invitation.html:226
#: core/templates/mail/text/invitation.txt:14
msgid " Docs, your new essential tool for organizing, sharing and collaborating on your documents as a team. "
msgstr ""
#: core/templates/mail/html/invitation.html:229
#: core/templates/mail/html/invitation.html:233
#: core/templates/mail/text/invitation.txt:16
msgid "Brought to you by La Suite Numérique"
#, python-format
msgid " Brought to you by %(brandname)s "
msgstr ""
#: core/templates/mail/text/hello.txt:8
@@ -345,14 +380,15 @@ msgstr ""
msgid "This mail has been sent to %(email)s by %(name)s [%(href)s]"
msgstr ""
#: impress/settings.py:177
#: impress/settings.py:236
msgid "English"
msgstr ""
#: impress/settings.py:178
#: impress/settings.py:237
msgid "French"
msgstr ""
#: impress/settings.py:176
#: impress/settings.py:238
msgid "German"
msgstr ""

View File

@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: lasuite-people\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-01 08:22+0000\n"
"PO-Revision-Date: 2024-10-15 07:23\n"
"POT-Creation-Date: 2024-12-13 15:17+0000\n"
"PO-Revision-Date: 2024-12-13 16:47\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -41,23 +41,23 @@ msgstr ""
msgid "Title"
msgstr ""
#: core/api/serializers.py:284
#: core/api/serializers.py:307
msgid "A new document was created on your behalf!"
msgstr "Un nouveau document a été créé pour vous !"
#: core/api/serializers.py:287
#: core/api/serializers.py:311
msgid "You have been granted ownership of a new document:"
msgstr "Vous avez été déclaré propriétaire d'un nouveau document :"
#: core/api/serializers.py:390
#: core/api/serializers.py:414
msgid "Body"
msgstr ""
#: core/api/serializers.py:393
#: core/api/serializers.py:417
msgid "Body type"
msgstr ""
#: core/api/serializers.py:399
#: core/api/serializers.py:423
msgid "Format"
msgstr ""
@@ -126,9 +126,7 @@ msgid "date and time at which a record was last updated"
msgstr ""
#: core/models.py:135
msgid ""
"Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/"
"_/: characters."
msgid "Enter a valid sub. This value may contain only letters, numbers, and @/./+/-/_/: characters."
msgstr ""
#: core/models.py:141
@@ -136,9 +134,7 @@ msgid "sub"
msgstr ""
#: core/models.py:143
msgid ""
"Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_/: "
"characters only."
msgid "Required. 255 characters or fewer. Letters, numbers, and @/./+/-/_/: characters only."
msgstr ""
#: core/models.py:152
@@ -190,9 +186,7 @@ msgid "active"
msgstr ""
#: core/models.py:190
msgid ""
"Whether this user should be treated as active. Unselect this instead of "
"deleting accounts."
msgid "Whether this user should be treated as active. Unselect this instead of deleting accounts."
msgstr ""
#: core/models.py:202
@@ -203,166 +197,188 @@ msgstr ""
msgid "users"
msgstr ""
#: core/models.py:340 core/models.py:701
#: core/models.py:342 core/models.py:718
msgid "title"
msgstr ""
#: core/models.py:358
#: core/models.py:364
msgid "Document"
msgstr ""
#: core/models.py:359
#: core/models.py:365
msgid "Documents"
msgstr ""
#: core/models.py:362
#: core/models.py:368
msgid "Untitled Document"
msgstr ""
#: core/models.py:578
#: core/models.py:593
#, python-brace-format
msgid "{name} shared a document with you!"
msgstr "{name} a partagé un document avec vous !"
msgstr "{name} a partagé un document avec vous!"
#: core/models.py:580
#: core/models.py:597
#, python-brace-format
msgid "{name} invited you with the role ``{role}`` on the following document:"
msgstr "{name} vous a invité avec le rôle ``{role}`` sur le document suivant :"
#: core/models.py:583
#: core/models.py:600
#, python-brace-format
msgid "{name} shared a document with you: {title}"
msgstr "{name} a partagé un document avec vous: {title}"
#: core/models.py:606
#: core/models.py:623
msgid "Document/user link trace"
msgstr ""
#: core/models.py:607
#: core/models.py:624
msgid "Document/user link traces"
msgstr ""
#: core/models.py:613
#: core/models.py:630
msgid "A link trace already exists for this document/user."
msgstr ""
#: core/models.py:636
#: core/models.py:653
msgid "Document favorite"
msgstr ""
#: core/models.py:637
#: core/models.py:654
msgid "Document favorites"
msgstr ""
#: core/models.py:643
msgid ""
"This document is already targeted by a favorite relation instance for the "
"same user."
#: core/models.py:660
msgid "This document is already targeted by a favorite relation instance for the same user."
msgstr ""
#: core/models.py:665
#: core/models.py:682
msgid "Document/user relation"
msgstr ""
#: core/models.py:666
#: core/models.py:683
msgid "Document/user relations"
msgstr ""
#: core/models.py:672
#: core/models.py:689
msgid "This user is already in this document."
msgstr ""
#: core/models.py:678
#: core/models.py:695
msgid "This team is already in this document."
msgstr ""
#: core/models.py:684 core/models.py:873
#: core/models.py:701 core/models.py:890
msgid "Either user or team must be set, not both."
msgstr ""
#: core/models.py:702
#: core/models.py:719
msgid "description"
msgstr ""
#: core/models.py:703
#: core/models.py:720
msgid "code"
msgstr ""
#: core/models.py:704
#: core/models.py:721
msgid "css"
msgstr ""
#: core/models.py:706
#: core/models.py:723
msgid "public"
msgstr ""
#: core/models.py:708
#: core/models.py:725
msgid "Whether this template is public for anyone to use."
msgstr ""
#: core/models.py:714
#: core/models.py:731
msgid "Template"
msgstr ""
#: core/models.py:715
#: core/models.py:732
msgid "Templates"
msgstr ""
#: core/models.py:854
#: core/models.py:871
msgid "Template/user relation"
msgstr ""
#: core/models.py:855
#: core/models.py:872
msgid "Template/user relations"
msgstr ""
#: core/models.py:861
#: core/models.py:878
msgid "This user is already in this template."
msgstr ""
#: core/models.py:867
#: core/models.py:884
msgid "This team is already in this template."
msgstr ""
#: core/models.py:890
#: core/models.py:907
msgid "email address"
msgstr ""
#: core/models.py:908
#: core/models.py:926
msgid "Document invitation"
msgstr ""
#: core/models.py:909
#: core/models.py:927
msgid "Document invitations"
msgstr ""
#: core/models.py:926
#: core/models.py:944
msgid "This email is already associated to a registered user."
msgstr ""
#: core/templates/mail/html/invitation.html:159
#: core/templates/mail/text/invitation.txt:3
msgid "La Suite Numérique"
#: core/templates/mail/html/hello.html:159 core/templates/mail/text/hello.txt:3
msgid "Company logo"
msgstr ""
#: core/templates/mail/html/invitation.html:207
#: core/templates/mail/html/hello.html:188 core/templates/mail/text/hello.txt:5
#, python-format
msgid "Hello %(name)s"
msgstr ""
#: core/templates/mail/html/hello.html:188 core/templates/mail/text/hello.txt:5
msgid "Hello"
msgstr ""
#: core/templates/mail/html/hello.html:189 core/templates/mail/text/hello.txt:6
msgid "Thank you very much for your visit!"
msgstr ""
#: core/templates/mail/html/hello.html:221
#, python-format
msgid "This mail has been sent to %(email)s by <a href=\"%(href)s\">%(name)s</a>"
msgstr ""
#: core/templates/mail/html/invitation.html:162
#: core/templates/mail/text/invitation.txt:3
msgid "Logo email"
msgstr ""
#: core/templates/mail/html/invitation.html:209
#: core/templates/mail/text/invitation.txt:10
msgid "Open"
msgstr "Ouvrir"
#: core/templates/mail/html/invitation.html:224
#: core/templates/mail/html/invitation.html:226
#: core/templates/mail/text/invitation.txt:14
msgid ""
" Docs, your new essential tool for organizing, sharing and collaborating on "
"your documents as a team. "
msgstr ""
" Docs, votre nouvel outil incontournable pour organiser, partager et "
"collaborer sur vos documents en équipe. "
msgid " Docs, your new essential tool for organizing, sharing and collaborating on your documents as a team. "
msgstr " Docs, votre nouvel outil incontournable pour organiser, partager et collaborer sur vos documents en équipe. "
#: core/templates/mail/html/invitation.html:231
#: core/templates/mail/html/invitation.html:233
#: core/templates/mail/text/invitation.txt:16
msgid "Brought to you by La Suite Numérique"
msgstr "Proposé par La Suite Numérique"
#, python-format
msgid " Brought to you by %(brandname)s "
msgstr " Proposé par %(brandname)s "
#: core/templates/mail/text/hello.txt:8
#, python-format
msgid "This mail has been sent to %(email)s by %(name)s [%(href)s]"
msgstr ""
#: impress/settings.py:236
msgid "English"
@@ -376,6 +392,3 @@ msgstr ""
msgid "German"
msgstr ""
#, python-format
#~ msgid " %(sender_name)s shared a document with you! "
#~ msgstr "%(sender_name)s a partagé un document avec vous !"