forked from ipfs/ipfs-desktop
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathi18n.js
73 lines (67 loc) · 2.6 KB
/
i18n.js
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
const { join } = require('path')
const { ipcMain } = require('electron')
const i18n = require('i18next')
const ICU = require('i18next-icu')
const Backend = require('i18next-node-fs-backend')
const store = require('./common/store')
const ar = require('i18next-icu/locale-data/ar')
const ca = require('i18next-icu/locale-data/ca')
const cs = require('i18next-icu/locale-data/cs')
const da = require('i18next-icu/locale-data/da')
const de = require('i18next-icu/locale-data/de')
const el = require('i18next-icu/locale-data/el')
const eo = require('i18next-icu/locale-data/eo')
const es = require('i18next-icu/locale-data/es')
const en = require('i18next-icu/locale-data/en')
const et = require('i18next-icu/locale-data/et')
const fa = require('i18next-icu/locale-data/fa')
const fr = require('i18next-icu/locale-data/fr')
const fi = require('i18next-icu/locale-data/fi')
const he = require('i18next-icu/locale-data/he')
const hi = require('i18next-icu/locale-data/hi')
const hr = require('i18next-icu/locale-data/hr')
const hu = require('i18next-icu/locale-data/hu')
const it = require('i18next-icu/locale-data/it')
const ja = require('i18next-icu/locale-data/ja')
const ko = require('i18next-icu/locale-data/ko')
const lt = require('i18next-icu/locale-data/lt')
const lv = require('i18next-icu/locale-data/lv')
const nl = require('i18next-icu/locale-data/nl')
const no = require('i18next-icu/locale-data/no')
const pl = require('i18next-icu/locale-data/pl')
const pt = require('i18next-icu/locale-data/pt')
const ru = require('i18next-icu/locale-data/ru')
const sk = require('i18next-icu/locale-data/sk')
const sl = require('i18next-icu/locale-data/sl')
const sr = require('i18next-icu/locale-data/sr')
const sv = require('i18next-icu/locale-data/sv')
const tr = require('i18next-icu/locale-data/tr')
const uk = require('i18next-icu/locale-data/uk')
const uz = require('i18next-icu/locale-data/uz')
const zh = require('i18next-icu/locale-data/zh')
const localeData = [
ar, ca, cs, da, de, el, eo, es, en, et, fa, fi, fr, he, hi, hr, hu, it,
ja, ko, lt, lv, nl, no, pl, pt, ru, sk, sl, sr, sv, tr, uk, uz, zh
]
module.exports = async function () {
await i18n
.use(new ICU({ localeData: localeData }))
.use(Backend)
.init({
lng: store.get('language'),
fallbackLng: {
default: ['en']
},
backend: {
loadPath: join(__dirname, '../assets/locales/{{lng}}.json')
}
})
ipcMain.on('updateLanguage', async (_, lang) => {
if (lang === store.get('language')) {
return
}
store.set('language', lang)
await i18n.changeLanguage(lang)
ipcMain.emit('languageUpdated', lang)
})
}