Bladeren bron

[RN] Add builtin translations

Load all of them as imports, so the packager includes them in the bundle. Then
register them with the i18next library.
master
Saúl Ibarra Corretgé 7 jaren geleden
bovenliggende
commit
8673083829

+ 144
- 0
react/features/base/i18n/BuiltinLanguages.native.js Bestand weergeven

@@ -0,0 +1,144 @@
1
+import i18next from 'i18next';
2
+
3
+/**
4
+ * Collection of builtin languages.
5
+ */
6
+const languages = [
7
+
8
+    // Bulgarian
9
+    {
10
+        name: 'bg',
11
+        mainResource: require('../../../../lang/main-bg'),
12
+        langResource: require('../../../../lang/languages-bg')
13
+    },
14
+
15
+    // German
16
+    {
17
+        name: 'de',
18
+        mainResource: require('../../../../lang/main-de'),
19
+        langResource: require('../../../../lang/languages-de')
20
+    },
21
+
22
+    // Esperanto
23
+    {
24
+        name: 'eo',
25
+        mainResource: require('../../../../lang/main-eo'),
26
+        langResource: require('../../../../lang/languages-eo')
27
+    },
28
+
29
+    // Spanish
30
+    {
31
+        name: 'es',
32
+        mainResource: require('../../../../lang/main-es'),
33
+        langResource: require('../../../../lang/languages-es')
34
+    },
35
+
36
+    // French
37
+    {
38
+        name: 'fr',
39
+        mainResource: require('../../../../lang/main-fr'),
40
+        langResource: require('../../../../lang/languages-fr')
41
+    },
42
+
43
+    // Armenian
44
+    {
45
+        name: 'hy',
46
+        mainResource: require('../../../../lang/main-hy'),
47
+        langResource: require('../../../../lang/languages-hy')
48
+    },
49
+
50
+    // Italian
51
+    {
52
+        name: 'it',
53
+        mainResource: require('../../../../lang/main-it'),
54
+        langResource: require('../../../../lang/languages-it')
55
+    },
56
+
57
+    // Norwegian Bokmal
58
+    {
59
+        name: 'nb',
60
+        mainResource: require('../../../../lang/main-nb'),
61
+        langResource: require('../../../../lang/languages-nb')
62
+    },
63
+
64
+    // Occitan
65
+    {
66
+        name: 'oc',
67
+        mainResource: require('../../../../lang/main-oc'),
68
+        langResource: require('../../../../lang/languages-oc')
69
+    },
70
+
71
+    // Polish
72
+    {
73
+        name: 'pl',
74
+        mainResource: require('../../../../lang/main-pl'),
75
+        langResource: require('../../../../lang/languages-pl')
76
+    },
77
+
78
+    // Portuguese (Brazil)
79
+    {
80
+        name: 'ptBR',
81
+        mainResource: require('../../../../lang/main-ptBR'),
82
+        langResource: require('../../../../lang/languages-ptBR')
83
+    },
84
+
85
+    // Russian
86
+    {
87
+        name: 'ru',
88
+        mainResource: require('../../../../lang/main-ru'),
89
+        langResource: require('../../../../lang/languages-ru')
90
+    },
91
+
92
+    // Slovak
93
+    {
94
+        name: 'sk',
95
+        mainResource: require('../../../../lang/main-sk'),
96
+        langResource: require('../../../../lang/languages-sk')
97
+    },
98
+
99
+    // Slovenian
100
+    {
101
+        name: 'sl',
102
+        mainResource: require('../../../../lang/main-sl'),
103
+        langResource: require('../../../../lang/languages-sl')
104
+    },
105
+
106
+    // Swedish
107
+    {
108
+        name: 'sv',
109
+        mainResource: require('../../../../lang/main-sv'),
110
+        langResource: require('../../../../lang/languages-sv')
111
+    },
112
+
113
+    // Turkish
114
+    {
115
+        name: 'tr',
116
+        mainResource: require('../../../../lang/main-tr'),
117
+        langResource: require('../../../../lang/languages-tr')
118
+    },
119
+
120
+    // Chinese (China)
121
+    {
122
+        name: 'zhCN',
123
+        mainResource: require('../../../../lang/main-zhCN'),
124
+        langResource: require('../../../../lang/languages-zhCN')
125
+    }
126
+];
127
+
128
+/**
129
+ * Registers all builtin languages with the i18n library.
130
+ */
131
+for (const language of languages) {
132
+    i18next.addResourceBundle(
133
+        language.name,
134
+        'main',
135
+        language.mainResource,
136
+        /* deep */ true,
137
+        /* overwrite */ true);
138
+    i18next.addResourceBundle(
139
+        language.name,
140
+        'languages',
141
+        language.langResource,
142
+        /* deep */ true,
143
+        /* overwrite */ true);
144
+}

+ 0
- 0
react/features/base/i18n/BuiltinLanguages.web.js Bestand weergeven


+ 6
- 0
react/features/base/i18n/i18next.js Bestand weergeven

@@ -81,4 +81,10 @@ i18next.addResourceBundle(
81 81
     /* deep */ true,
82 82
     /* overwrite */ true);
83 83
 
84
+// Add builtin languages.
85
+// XXX: Note we are using require here, because we want the side-effects of
86
+// the import, but imports can only be placed at the top, and it would be
87
+// too early, since i18next is not yet initialized at that point.
88
+require('./BuiltinLanguages');
89
+
84 90
 export default i18next;

Laden…
Annuleren
Opslaan