From 17162ce3368a824ea9c2cd666e2574fa4654bbf1 Mon Sep 17 00:00:00 2001 From: Harvey Kandola Date: Thu, 17 Mar 2022 13:03:04 -0400 Subject: [PATCH] i18n mail template strings --- docker-compose.yaml | 2 +- domain/mail/document-approver.html | 13 +-- domain/mail/document.go | 13 ++- domain/mail/email.html | 109 ------------------ domain/mail/invite-existing-user.html | 14 +-- domain/mail/invite-new-user.html | 21 +--- domain/mail/password-reset.html | 19 +-- domain/mail/share-space-existing-user.html | 9 +- domain/mail/share-space-new-user.html | 14 +-- domain/mail/space.go | 21 ++-- domain/mail/user.go | 31 +++-- domain/user/endpoint.go | 1 + gui/app/pods/setup/route.js | 2 +- gui/app/styles/core/view/document/setup.scss | 2 +- .../components/setup/documize-setup.hbs | 4 +- gui/public/i18n/en-US.json | 18 ++- 16 files changed, 62 insertions(+), 231 deletions(-) delete mode 100644 domain/mail/email.html diff --git a/docker-compose.yaml b/docker-compose.yaml index 7527bc94..6064d432 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,6 +1,6 @@ # This Docker Compose file will start up Documize with PostgreSQL. # -# Use 'documize-enterprise-linux-amd64' for Enterprise Edition (default). +# Use 'documize-community-plus-linux-amd64' for Community+ Edition (default). # Use 'documize-community-linux-amd64' for Community Edition. # # You can move between editions anytime without any data loss diff --git a/domain/mail/document-approver.html b/domain/mail/document-approver.html index 057524a8..748a8e1d 100644 --- a/domain/mail/document-approver.html +++ b/domain/mail/document-approver.html @@ -61,7 +61,7 @@ background-color: #f6f6f6; @@ -69,19 +69,14 @@ background-color: #f6f6f6;
- Document Approval Role Granted + {{.Subject}}
+ 1 - - -
-

You are requested to approve all changes to the following document:

+

{{.ActionText}}

{{.Document}}

{{.Inviter}}

-
- View document -
- Have any questions? Contact Us + {{.ClickHere}}
diff --git a/domain/mail/document.go b/domain/mail/document.go index b4ed677a..661142d2 100644 --- a/domain/mail/document.go +++ b/domain/mail/document.go @@ -16,6 +16,7 @@ package mail import ( "fmt" + "github.com/documize/community/core/i18n" "github.com/documize/community/domain/smtp" ) @@ -26,32 +27,32 @@ func (m *Mailer) DocumentApprover(recipient, inviterName, inviterEmail, url, doc // check inviter name if inviterName == "Hello You" || len(inviterName) == 0 { - inviterName = "Your colleague" + inviterName = i18n.Localize(m.Context.Locale, "mail_template_sender") } em := smtp.EmailMessage{} - em.Subject = fmt.Sprintf("%s has granted you document approval", inviterName) + em.Subject = i18n.Localize(m.Context.Locale, "mail_template_approval", inviterName) em.ToEmail = recipient em.ToName = recipient em.ReplyTo = inviterEmail em.ReplyName = inviterName - if IsBlockedEmailDomain(em.ToEmail) { - return - } - parameters := struct { Subject string Inviter string URL string Document string SenderEmail string + ActionText string + ClickHere string }{ em.Subject, inviterName, url, document, m.Config.SenderEmail, + i18n.Localize(m.Context.Locale, "mail_template_approval_explain"), + i18n.Localize(m.Context.Locale, "mail_template_click_here"), } html, err := m.ParseTemplate("mail/document-approver.html", parameters) diff --git a/domain/mail/email.html b/domain/mail/email.html deleted file mode 100644 index 770af545..00000000 --- a/domain/mail/email.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - -Your Documize Community Invitation - - - - - - - - - - - - - -
-
- - - - - - - -
- {{.Inviter}} has invited you to use Documize Community -
- - - - - - - - - - - - - - - - -
- Documize Community provides easy access to all your Word documents so everyone can find and edit documents - no more network drives. -
- Your co-workers are using Documize right now. -
- Use your email address as your password ({{.Email}}). -
- Click here to access Documize -
- Have any questions? Contact Us -
-
-
-
- - - diff --git a/domain/mail/invite-existing-user.html b/domain/mail/invite-existing-user.html index 3bad4055..2deac2d8 100644 --- a/domain/mail/invite-existing-user.html +++ b/domain/mail/invite-existing-user.html @@ -59,25 +59,15 @@ background-color: #f6f6f6;
- {{.Inviter}} has invited you to their Documize Community account + {{.Subject}}
- - - - - -
- Documize Community provides secure and easy access to all your documentation so everyone can find and edit the same thing. -
- Click here to access Documize -
- Have any questions? Contact Us + {{.ClickHere}}
diff --git a/domain/mail/invite-new-user.html b/domain/mail/invite-new-user.html index cc79c2e1..c4119e35 100644 --- a/domain/mail/invite-new-user.html +++ b/domain/mail/invite-new-user.html @@ -59,35 +59,20 @@ background-color: #f6f6f6;
- {{.Inviter}} has invited you to Documize Community + {{.Subject}}
- - - - - - - - -
- Documize Community provides secure and easy access to all your documentation so everyone can find and edit the same thing. -
- Your co-workers are using Documize right now. -
- Your temporary password: {{.Password}} + {{.Password}}
- Click here to access Documize -
- Have any questions? Contact Us + {{.ClickHere}}
diff --git a/domain/mail/password-reset.html b/domain/mail/password-reset.html index e20f0a08..933d8882 100644 --- a/domain/mail/password-reset.html +++ b/domain/mail/password-reset.html @@ -61,30 +61,15 @@ background-color: #f6f6f6;
- Your Documize Community password reset request + {{.Subject}}
- - - - - - - - -
- Someone has requested to reset your Documize Community password. If this was you, then please click below to specify a new password. -
- If you did not request a password reset, please change your password and contact us. -
- Click here to reset your password -
- Have any questions? Contact Us + {{.ClickHere}}
diff --git a/domain/mail/share-space-existing-user.html b/domain/mail/share-space-existing-user.html index 6dba93a3..1cbe265e 100644 --- a/domain/mail/share-space-existing-user.html +++ b/domain/mail/share-space-existing-user.html @@ -61,7 +61,7 @@ background-color: #f6f6f6; @@ -75,12 +75,7 @@ background-color: #f6f6f6; - - -
- {{.Inviter}} has shared {{.Folder}} with you + {{.Subject}}
- Login to Documize -
- Have any questions? Contact Us + {{.ClickHere}}
diff --git a/domain/mail/share-space-new-user.html b/domain/mail/share-space-new-user.html index feb6b1fd..32a57cc2 100644 --- a/domain/mail/share-space-new-user.html +++ b/domain/mail/share-space-new-user.html @@ -61,7 +61,7 @@ background-color: #f6f6f6; @@ -74,19 +74,9 @@ background-color: #f6f6f6; - - - - - -
- {{.Inviter}} has shared {{.Folder}} with you on Documize Community + {{.Subject}}
- Documize Community provides secure and easy access to all your documentation so everyone can find and edit the same thing. -
- Go to Documize -
- Have any questions? Contact Documize + {{.ClickHere}}
diff --git a/domain/mail/space.go b/domain/mail/space.go index df3320e9..b1536418 100644 --- a/domain/mail/space.go +++ b/domain/mail/space.go @@ -14,6 +14,7 @@ package mail import ( "fmt" + "github.com/documize/community/core/i18n" "github.com/documize/community/domain/smtp" ) @@ -24,20 +25,16 @@ func (m *Mailer) ShareSpaceExistingUser(recipient, inviterName, inviterEmail, ur // check inviter name if inviterName == "Hello You" || len(inviterName) == 0 { - inviterName = "Your colleague" + inviterName = i18n.Localize(m.Context.Locale, "mail_template_sender") } em := smtp.EmailMessage{} - em.Subject = fmt.Sprintf("%s has shared %s with you", inviterName, folder) + em.Subject = i18n.Localize(m.Context.Locale, "mail_template_shared", inviterName, folder) em.ToEmail = recipient em.ToName = recipient em.ReplyTo = inviterEmail em.ReplyName = inviterName - if IsBlockedEmailDomain(em.ToEmail) { - return - } - parameters := struct { Subject string Inviter string @@ -45,6 +42,7 @@ func (m *Mailer) ShareSpaceExistingUser(recipient, inviterName, inviterEmail, ur Folder string Intro string SenderEmail string + ClickHere string }{ em.Subject, inviterName, @@ -52,6 +50,7 @@ func (m *Mailer) ShareSpaceExistingUser(recipient, inviterName, inviterEmail, ur folder, intro, m.Config.SenderEmail, + i18n.Localize(m.Context.Locale, "mail_template_click_here"), } html, err := m.ParseTemplate("mail/share-space-existing-user.html", parameters) @@ -77,20 +76,16 @@ func (m *Mailer) ShareSpaceNewUser(recipient, inviterName, inviterEmail, url, sp // check inviter name if inviterName == "Hello You" || len(inviterName) == 0 { - inviterName = "Your colleague" + inviterName = i18n.Localize(m.Context.Locale, "mail_template_sender") } em := smtp.EmailMessage{} - em.Subject = fmt.Sprintf("%s has shared %s with you on Documize Community", inviterName, space) + em.Subject = i18n.Localize(m.Context.Locale, "mail_template_invited", inviterName, space) em.ToEmail = recipient em.ToName = recipient em.ReplyTo = inviterEmail em.ReplyName = inviterName - if IsBlockedEmailDomain(em.ToEmail) { - return - } - parameters := struct { Subject string Inviter string @@ -98,6 +93,7 @@ func (m *Mailer) ShareSpaceNewUser(recipient, inviterName, inviterEmail, url, sp Invitation string Folder string SenderEmail string + ClickHere string }{ em.Subject, inviterName, @@ -105,6 +101,7 @@ func (m *Mailer) ShareSpaceNewUser(recipient, inviterName, inviterEmail, url, sp invitationMessage, space, m.Config.SenderEmail, + i18n.Localize(m.Context.Locale, "mail_template_click_here"), } html, err := m.ParseTemplate("mail/share-space-new-user.html", parameters) diff --git a/domain/mail/user.go b/domain/mail/user.go index e5d14f57..470c1554 100644 --- a/domain/mail/user.go +++ b/domain/mail/user.go @@ -14,6 +14,7 @@ package mail import ( "fmt" + "github.com/documize/community/core/i18n" "github.com/documize/community/domain/smtp" ) @@ -24,20 +25,16 @@ func (m *Mailer) InviteNewUser(recipient, inviterName, inviterEmail, url, userna // check inviter name if inviterName == "Hello You" || len(inviterName) == 0 { - inviterName = "Your colleague" + inviterName = i18n.Localize(m.Context.Locale, "mail_template_sender") } em := smtp.EmailMessage{} - em.Subject = fmt.Sprintf("%s has invited you to Documize Community", inviterName) + em.Subject = i18n.Localize(m.Context.Locale, "mail_template_user_invite", inviterName) em.ToEmail = recipient em.ToName = recipient em.ReplyTo = inviterEmail em.ReplyName = inviterName - if IsBlockedEmailDomain(em.ToEmail) { - return - } - parameters := struct { Subject string Inviter string @@ -45,13 +42,15 @@ func (m *Mailer) InviteNewUser(recipient, inviterName, inviterEmail, url, userna Username string Password string SenderEmail string + ClickHere string }{ em.Subject, inviterName, url, recipient, - password, + i18n.Localize(m.Context.Locale, "mail_template_password") + " " + password, m.Config.SenderEmail, + i18n.Localize(m.Context.Locale, "mail_template_click_here"), } html, err := m.ParseTemplate("mail/invite-new-user.html", parameters) @@ -77,30 +76,28 @@ func (m *Mailer) InviteExistingUser(recipient, inviterName, inviterEmail, url st // check inviter name if inviterName == "Hello You" || len(inviterName) == 0 { - inviterName = "Your colleague" + inviterName = i18n.Localize(m.Context.Locale, "mail_template_sender") } em := smtp.EmailMessage{} - em.Subject = fmt.Sprintf("%s has invited you to their Documize Community account", inviterName) + em.Subject = i18n.Localize(m.Context.Locale, "mail_template_user_existing", inviterName) em.ToEmail = recipient em.ToName = recipient em.ReplyTo = inviterEmail em.ReplyName = inviterName - if IsBlockedEmailDomain(em.ToEmail) { - return - } - parameters := struct { Subject string Inviter string URL string SenderEmail string + ClickHere string }{ em.Subject, inviterName, url, m.Config.SenderEmail, + i18n.Localize(m.Context.Locale, "mail_template_click_here"), } html, err := m.ParseTemplate("mail/invite-existing-user.html", parameters) @@ -125,22 +122,20 @@ func (m *Mailer) PasswordReset(recipient, url string) { m.Initialize() em := smtp.EmailMessage{} - em.Subject = "Documize Community password reset request" + em.Subject = i18n.Localize(m.Context.Locale, "mail_template_reset_password") em.ToEmail = recipient em.ToName = recipient - if IsBlockedEmailDomain(em.ToEmail) { - return - } - parameters := struct { Subject string URL string SenderEmail string + ClickHere string }{ em.Subject, url, m.Config.SenderEmail, + i18n.Localize(m.Context.Locale, "mail_template_click_here"), } html, err := m.ParseTemplate("mail/password-reset.html", parameters) diff --git a/domain/user/endpoint.go b/domain/user/endpoint.go index a93f6b4a..ab9110cd 100644 --- a/domain/user/endpoint.go +++ b/domain/user/endpoint.go @@ -26,6 +26,7 @@ import ( "github.com/documize/community/core/event" "github.com/documize/community/core/request" "github.com/documize/community/core/response" + "github.com/documize/community/core/secrets" "github.com/documize/community/core/streamutil" "github.com/documize/community/core/stringutil" diff --git a/gui/app/pods/setup/route.js b/gui/app/pods/setup/route.js index 2ef14ac1..adeb2fca 100644 --- a/gui/app/pods/setup/route.js +++ b/gui/app/pods/setup/route.js @@ -44,7 +44,7 @@ export default Route.extend({ activate() { $('body').addClass('background-color-theme-100'); - document.title = this.i18n.localize('setup_title'); + document.title = "Documize Community Setup"; }, deactivate() { diff --git a/gui/app/styles/core/view/document/setup.scss b/gui/app/styles/core/view/document/setup.scss index af04623d..265578e6 100644 --- a/gui/app/styles/core/view/document/setup.scss +++ b/gui/app/styles/core/view/document/setup.scss @@ -1,4 +1,4 @@ .installer { margin: 3rem; - max-width: 500px; + max-width: 600px; } diff --git a/gui/app/templates/components/setup/documize-setup.hbs b/gui/app/templates/components/setup/documize-setup.hbs index 67509923..fca58dcd 100644 --- a/gui/app/templates/components/setup/documize-setup.hbs +++ b/gui/app/templates/components/setup/documize-setup.hbs @@ -1,7 +1,7 @@
- {{localize 'setup_title'}} + Documize Community Setup -

{{localize 'setup_title'}}

+

Documize Community Setup

Review the installation instructions and recommended database tuning guide diff --git a/gui/public/i18n/en-US.json b/gui/public/i18n/en-US.json index f2de4d85..3a1604fc 100644 --- a/gui/public/i18n/en-US.json +++ b/gui/public/i18n/en-US.json @@ -675,8 +675,6 @@ "admin_spaces_explain": "Delete spaces, take ownership of shared and orphaned spaces", "admin_labels_explain": "Group and navigate spaces with visual labels", "admin_search_explain": "Rebuild the search index", - - "setup_title": "Documize Community Setup", "setup_default_message": "Documize Community instance contains all our documentation", "get_in_touch": "Get in touch", "product_feedback": "Have a product idea, suggestion or some feedback?", @@ -696,16 +694,24 @@ "server_ldap_error3": "Error: unable to fetch LDAP users: {1}", "server_ldap_complete": "Sync complete with LDAP server", "server_ldap_summary": "LDAP sync found {1} users, {2} new users added, {3} users with missing data ignored", - "server_keycloak_error1": "Error: skipping user sync with Keycloak as it is not the configured option", "server_keycloak_error2": "Error: unable read Keycloak configuration data", "server_keycloak_error3": "Error: unable to fetch Keycloak users: {1}", "server_keycloak_summary": "Keycloak sync found {1} users, {2} new users added, {3} users with missing data ignored", - "server_smtp_success": "Email sent successfully", "server_smtp_test_subject": "Documize Community SMTP Test", "server_smtp_test_body": "This is a test email from Documize Community using current SMTP settings.", - "server_error_user": "Error: unable to fetch users", - "server_error_org": "Error: unable to get organization record" + "server_error_org": "Error: unable to get organization record", + + "mail_template_approval": "{1} has granted you document approval role", + "mail_template_approval_explain": "You are requested to approve all changes to the following document:", + "mail_template_click_here": "Click here", + "mail_template_sender": "Your colleague", + "mail_template_password": "Your temporary password:", + "mail_template_user_invite": "{1} has invited you to Documize Community", + "mail_template_user_existing": "{1] has invited you to their Documize Community account", + "mail_template_reset_password": "Your Documize Community password reset request", + "mail_template_shared": "{1} has shared space {2} with you", + "mail_template_invited": "{1} has shared space {2} with you on Documize Community" }