Skip to content

Commit 93cf76c

Browse files
committed
Allow HTML code in gettext strings
1 parent 203ad0f commit 93cf76c

File tree

7 files changed

+51
-29
lines changed

7 files changed

+51
-29
lines changed

Diff for: translations/et.mo

109 Bytes
Binary file not shown.

Diff for: translations/et.po

+11-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
msgid ""
22
msgstr ""
33
"Project-Id-Version: \n"
4-
"POT-Creation-Date: 2022-07-21 08:46+0000\n"
4+
"POT-Creation-Date: 2022-07-21 11:11+0000\n"
55
"PO-Revision-Date: \n"
66
"Last-Translator: \n"
77
"Language-Team: \n"
@@ -12,6 +12,10 @@ msgstr ""
1212
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
1313
"X-Generator: Poedit 3.1.1\n"
1414

15+
#: views/redirect.hbs:1
16+
msgid "Click <a href=\"%s\">here</a> to continue&mldr;"
17+
msgstr "Kliki <a href=\"%s\">siin</a>, et jätkata&mldr;"
18+
1519
#: views/accounts/register/imap.hbs:11
1620
msgid "Your name"
1721
msgstr "Sinu nimi"
@@ -145,30 +149,30 @@ msgstr "SMTP server vastas järgmise teatega:"
145149
msgid "HTTP error!"
146150
msgstr "HTTP viga!"
147151

148-
#: lib/routes-ui.js:2764 lib/routes-ui.js:4007 lib/routes-ui.js:4018
152+
#: lib/routes-ui.js:2764 lib/routes-ui.js:4009 lib/routes-ui.js:4020
149153
msgid "Server hostname was not found"
150154
msgstr "Serverit ei leitud"
151155

152-
#: lib/routes-ui.js:2767 lib/routes-ui.js:4010 lib/routes-ui.js:4021
156+
#: lib/routes-ui.js:2767 lib/routes-ui.js:4012 lib/routes-ui.js:4023
153157
msgid "Invalid username or password"
154158
msgstr "Vigane kasutajanimi või parool"
155159

156-
#: lib/routes-ui.js:2771 lib/routes-ui.js:4025
160+
#: lib/routes-ui.js:2771 lib/routes-ui.js:4027
157161
msgid "TLS protocol error"
158162
msgstr "TLS protokolli viga"
159163

160164
#: lib/routes-ui.js:3737
161165
msgid "Unknown OAuth provider"
162166
msgstr "Tundmatu OAuth teenus"
163167

164-
#: lib/routes-ui.js:3777 lib/routes-ui.js:3886 lib/routes-ui.js:4110
168+
#: lib/routes-ui.js:3778 lib/routes-ui.js:3887 lib/routes-ui.js:4112
165169
msgid "Signature validation failed"
166170
msgstr "Päringu allkirja kontroll ebaõnnestus"
167171

168-
#: lib/routes-ui.js:3826 lib/routes-ui.js:3859
172+
#: lib/routes-ui.js:3827 lib/routes-ui.js:3860
169173
msgid "Failed to validate request arguments"
170174
msgstr "Päringu argumentide kontroll ebaõnnestus"
171175

172-
#: lib/routes-ui.js:3949 lib/routes-ui.js:4188
176+
#: lib/routes-ui.js:3950 lib/routes-ui.js:4190
173177
msgid "Failed to process account"
174178
msgstr "Konto töötlemine ebaõnnestus"

Diff for: translations/fr.mo

116 Bytes
Binary file not shown.

Diff for: translations/fr.po

+11-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
msgid ""
22
msgstr ""
33
"Project-Id-Version: \n"
4-
"POT-Creation-Date: 2022-07-21 08:46+0000\n"
4+
"POT-Creation-Date: 2022-07-21 11:11+0000\n"
55
"PO-Revision-Date: \n"
66
"Last-Translator: \n"
77
"Language-Team: \n"
@@ -12,6 +12,10 @@ msgstr ""
1212
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
1313
"X-Generator: Poedit 3.1.1\n"
1414

15+
#: views/redirect.hbs:1
16+
msgid "Click <a href=\"%s\">here</a> to continue&mldr;"
17+
msgstr "Cliquez sur <a href=\"%s\">ici</a> pour continuer&mldr;"
18+
1519
#: views/accounts/register/imap.hbs:11
1620
msgid "Your name"
1721
msgstr "Votre nom"
@@ -146,30 +150,30 @@ msgstr "Le serveur SMTP a répondu avec le message suivant :"
146150
msgid "HTTP error!"
147151
msgstr "Erreur HTTP!"
148152

149-
#: lib/routes-ui.js:2764 lib/routes-ui.js:4007 lib/routes-ui.js:4018
153+
#: lib/routes-ui.js:2764 lib/routes-ui.js:4009 lib/routes-ui.js:4020
150154
msgid "Server hostname was not found"
151155
msgstr "Le nom d'hôte du serveur est introuvable"
152156

153-
#: lib/routes-ui.js:2767 lib/routes-ui.js:4010 lib/routes-ui.js:4021
157+
#: lib/routes-ui.js:2767 lib/routes-ui.js:4012 lib/routes-ui.js:4023
154158
msgid "Invalid username or password"
155159
msgstr "Nom d'utilisateur ou mot de passe invalide"
156160

157-
#: lib/routes-ui.js:2771 lib/routes-ui.js:4025
161+
#: lib/routes-ui.js:2771 lib/routes-ui.js:4027
158162
msgid "TLS protocol error"
159163
msgstr "Erreur de protocole TLS"
160164

161165
#: lib/routes-ui.js:3737
162166
msgid "Unknown OAuth provider"
163167
msgstr "Fournisseur OAuth inconnu"
164168

165-
#: lib/routes-ui.js:3777 lib/routes-ui.js:3886 lib/routes-ui.js:4110
169+
#: lib/routes-ui.js:3778 lib/routes-ui.js:3887 lib/routes-ui.js:4112
166170
msgid "Signature validation failed"
167171
msgstr "La validation de la signature a échoué"
168172

169-
#: lib/routes-ui.js:3826 lib/routes-ui.js:3859
173+
#: lib/routes-ui.js:3827 lib/routes-ui.js:3860
170174
msgid "Failed to validate request arguments"
171175
msgstr "Impossible de valider les arguments de la demande"
172176

173-
#: lib/routes-ui.js:3949 lib/routes-ui.js:4188
177+
#: lib/routes-ui.js:3950 lib/routes-ui.js:4190
174178
msgid "Failed to process account"
175179
msgstr "Échec du traitement du compte"

Diff for: translations/messages.pot

+17-13
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
msgid ""
22
msgstr ""
33
"Content-Type: text/plain; charset=ascii\n"
4-
"POT-Creation-Date: 2022-07-21 08:46+0000\n"
4+
"POT-Creation-Date: 2022-07-21 11:11+0000\n"
5+
6+
#: views/redirect.hbs:1
7+
msgid "Click <a href=\"%s\">here</a> to continue&mldr;"
8+
msgstr ""
59

610
#: views/accounts/register/imap.hbs:11
711
msgid "Your name"
@@ -131,38 +135,38 @@ msgid "HTTP error!"
131135
msgstr ""
132136

133137
#: lib/routes-ui.js:2764
134-
#: lib/routes-ui.js:4007
135-
#: lib/routes-ui.js:4018
138+
#: lib/routes-ui.js:4009
139+
#: lib/routes-ui.js:4020
136140
msgid "Server hostname was not found"
137141
msgstr ""
138142

139143
#: lib/routes-ui.js:2767
140-
#: lib/routes-ui.js:4010
141-
#: lib/routes-ui.js:4021
144+
#: lib/routes-ui.js:4012
145+
#: lib/routes-ui.js:4023
142146
msgid "Invalid username or password"
143147
msgstr ""
144148

145149
#: lib/routes-ui.js:2771
146-
#: lib/routes-ui.js:4025
150+
#: lib/routes-ui.js:4027
147151
msgid "TLS protocol error"
148152
msgstr ""
149153

150154
#: lib/routes-ui.js:3737
151155
msgid "Unknown OAuth provider"
152156
msgstr ""
153157

154-
#: lib/routes-ui.js:3777
155-
#: lib/routes-ui.js:3886
156-
#: lib/routes-ui.js:4110
158+
#: lib/routes-ui.js:3778
159+
#: lib/routes-ui.js:3887
160+
#: lib/routes-ui.js:4112
157161
msgid "Signature validation failed"
158162
msgstr ""
159163

160-
#: lib/routes-ui.js:3826
161-
#: lib/routes-ui.js:3859
164+
#: lib/routes-ui.js:3827
165+
#: lib/routes-ui.js:3860
162166
msgid "Failed to validate request arguments"
163167
msgstr ""
164168

165-
#: lib/routes-ui.js:3949
166-
#: lib/routes-ui.js:4188
169+
#: lib/routes-ui.js:3950
170+
#: lib/routes-ui.js:4190
167171
msgid "Failed to process account"
168172
msgstr ""

Diff for: views/redirect.hbs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<p>Click <a href="{{httpRedirectUrl}}">here</a> to continue&mldr;</p>
1+
<p>{{_ 'Click <a href="%s">here</a> to continue&mldr;' httpRedirectUrl}}</p>

Diff for: workers/api.js

+11-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const config = require('wild-config');
77
const logger = require('../lib/logger');
88
const Path = require('path');
99
const { loadTranslations, gt, joiLocales } = require('../lib/translations');
10+
const util = require('util');
1011

1112
const {
1213
getByteSize,
@@ -331,7 +332,16 @@ const init = async () => {
331332

332333
gt.setLocale((await settings.get('locale')) || 'en');
333334

334-
handlebars.registerHelper('_', msgid => gt.gettext(msgid));
335+
handlebars.registerHelper('_', (...args) => {
336+
let params = args.slice(1, args.length - 1);
337+
let translated = gt.gettext(args[0]);
338+
if (params.length) {
339+
translated = util.format(translated, ...params);
340+
}
341+
342+
return new handlebars.SafeString(translated);
343+
});
344+
335345
handlebars.registerHelper('ngettext', (msgid, plural, count) => gt.ngettext(msgid, plural, count));
336346

337347
const server = Hapi.server({

0 commit comments

Comments
 (0)