ソースを参照

[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年前
コミット
8673083829

+ 144
- 0
react/features/base/i18n/BuiltinLanguages.native.js ファイルの表示

@@ -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 ファイルの表示


+ 6
- 0
react/features/base/i18n/i18next.js ファイルの表示

@@ -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;

読み込み中…
キャンセル
保存