-
Notifications
You must be signed in to change notification settings - Fork 97
Expand file tree
/
Copy pathl10n.js
More file actions
42 lines (34 loc) · 801 Bytes
/
l10n.js
File metadata and controls
42 lines (34 loc) · 801 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { getGettextBuilder } from '@nextcloud/l10n/gettext'
const gtBuilder = getGettextBuilder()
.detectLocale()
// Decompress Translations to gettext format and add to gtBuilder
TRANSLATIONS.forEach((lang) => {
const translations = {}
for (const key in lang.translations) {
// Plural
if (lang.translations[key].pluralId) {
translations[key] = {
msgid: key,
msgid_plural: lang.translations[key].pluralId,
msgstr: lang.translations[key].msgstr,
}
continue
}
// Singular
translations[key] = {
msgid: key,
msgstr: [
lang.translations[key],
],
}
}
gtBuilder.addTranslation(lang.locale, {
translations: {
'': translations,
},
})
})
const gt = gtBuilder.build()
const n = gt.ngettext.bind(gt)
const t = gt.gettext.bind(gt)
export { t, n }