-
Notifications
You must be signed in to change notification settings - Fork 0
/
Options.ts
294 lines (291 loc) · 11.2 KB
/
Options.ts
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
export type Colour =
| {
/** Gradient Left */
left: string;
/** Gradient Right */
right: string;
/** Checkmark colour */
check?: string | null;
}
| {
/** Hex colour */
hex: string;
};
export const Gradients = {
Blue: {
left: '#007cff',
right: '#56CCF2',
check: '#2b77c1',
},
Green: {
left: '#38ff00',
right: '#56F27D',
check: '#2bc142',
},
Aurora: {
left: '#8b00ff',
right: '#56F27D',
// check: '#2b5fc1',
},
Fire: {
left: '#ffcb00',
right: '#F25D56',
// check: '#c1712b',
},
Red: {
left: '#ff3c00',
right: '#F25D56',
// check: '#c12b2b',
},
Purple: {
left: '#ff00cb',
right: '#E656F2',
// check: '#c12b5f',
},
Lavender: {
left: '#af00ff',
right: '#E656F2',
check: '#bc2bc1',
},
Nexus: {
left: '#ff6302',
right: '#ffc266',
// check: '#ffa820',
},
} satisfies Record<string, Colour>;
export type UVCOptions = {
/** If false, uses light theme */
dark: boolean;
/** Should we use a solid background? Defaults to true on safari, false everywhere else */
solidBg: boolean;
/** Text messages you can overwrite - useful for internationalization */
strings: Partial<{
/** I'm not a robot/I'm a human type message */
NotARobot: string;
/** Drag the (slider|puzzle) to complete the puzzle */
SlideToVerify: string;
}>;
/** Colour Pallete used */
colours: Colour | null;
/** Should we use a slider? Defaults to true */
slider: boolean;
/** Target Image Hue - if null, will use default */
targetHue: number | null;
};
export const i18n = {
human: {
en: ["I'm not a robot", "I'm a human", 'I am not a robot', 'I am a human'],
zh: ['我不是机器人', '我是人类', '我不是机器人', '我是人类'],
es: ['No soy un robot', 'Soy humano', 'No soy un robot', 'Soy un humano'],
hi: [
'मैं रोबोट नहीं हूं',
'मैं इंसान हूं',
'मैं रोबोट नहीं हूं',
'मैं एक इंसान हूं',
],
ar: ['أنا لست آلة', 'أنا إنسان', 'أنا لست روبوت', 'أنا إنسان'],
pt: ['Não sou um robô', 'Sou humano', 'Não sou um robô', 'Sou um humano'],
bn: ['আমি রোবট নই', 'আমি মানব', 'আমি রোবট নই', 'আমি একজন মানব'],
ru: ['Я не робот', 'Я человек', 'Я не робот', 'Я человек'],
ja: [
'私はロボットではありません',
'私は人間です',
'私はロボットではありません',
'私は人間です',
],
pa: [
'ਮੈਂ ਰੋਬੋਟ ਨਹੀਂ ਹਾਂ',
'ਮੈਂ ਇਨਸਾਨ ਹਾਂ',
'ਮੈਂ ਰੋਬੋਟ ਨਹੀਂ ਹਾਂ',
'ਮੈਂ ਇੱਕ ਇਨਸਾਨ ਹਾਂ',
],
de: [
'Ich bin kein Roboter',
'Ich bin ein Mensch',
'Ich bin kein Roboter',
'Ich bin ein Mensch',
],
fr: [
'Je ne suis pas un robot',
'Je suis humain',
'Je ne suis pas un robot',
'Je suis un humain',
],
it: [
'Non sono un robot',
'Sono umano',
'Non sono un robot',
'Sono un umano',
],
id: [
'Saya bukan robot',
'Saya manusia',
'Saya bukan robot',
'Saya seorang manusia',
],
tr: [
'Ben bir robot değilim',
'Ben bir insanım',
'Ben bir robot değilim',
'Ben bir insanım',
],
sq: [
'Unë nuk jam robot',
'Unë jam njeri',
'Unë nuk jam robot',
'Unë jam njeri',
],
},
slide: {
en: [
'Drag the slider to complete the puzzle',
'Drag the puzzle piece to complete the puzzle',
'Drag the slider',
'Drag the puzzle piece',
'Slide the puzzle piece to complete the puzzle',
'Slide the slider to complete the puzzle',
'Move the puzzle piece to complete the puzzle',
],
zh: [
'拖动滑块以完成拼图',
'拖动拼图块以完成拼图',
'拖动滑块',
'拖动拼图块',
'滑动拼图块以完成拼图',
'滑动滑块以完成拼图',
'移动拼图块以完成拼图',
],
es: [
'Arrastra el deslizador para completar el rompecabezas',
'Arrastra la pieza del rompecabezas para completarlo',
'Arrastra el deslizador',
'Arrastra la pieza del rompecabezas',
'Desliza la pieza del rompecabezas para completarlo',
'Desliza el deslizador para completar el rompecabezas',
'Mueve la pieza del rompecabezas para completarlo',
],
hi: [
'पहेली को पूरा करने के लिए स्लाइडर खींचें',
'पहेली को पूरा करने के लिए पहेली का टुकड़ा खींचें',
'स्लाइडर खींचें',
'पहेली का टुकड़ा खींचें',
'पहेली को पूरा करने के लिए पहेली का टुकड़ा स्लाइड करें',
'पहेली को पूरा करने के लिए स्लाइडर स्लाइड करें',
'पहेली को पूरा करने के लिए पहेली का टुकड़ा हटाएं',
],
ar: [
'اسحب المنزلق لإكمال اللغز',
'اسحب قطعة اللغز لإكماله',
'اسحب المنزلق',
'اسحب قطعة اللغز',
'اسحب قطعة اللغز لإكمال اللغز',
'اسحب المنزلق لإكمال اللغز',
'حرك قطعة اللغز لإكمال اللغز',
],
pt: [
'Arraste o controle deslizante para completar o quebra-cabeça',
'Arraste o controle deslizante',
'Arraste a peça do quebra-cabeça',
'Deslize a peça do quebra-cabeça para completá-lo',
'Deslize o controle deslizante para completar o quebra-cabeça',
'Mova a peça do quebra-cabeça para completá-lo',
],
bn: [
'পাজল সম্পন্ন করতে স্লাইডার টেনে আনুন',
'পাজল সম্পন্ন করতে পাজলের টুকরা টেনে আনুন',
'স্লাইডার টেনে আনুন',
'পাজলের টুকরা টেনে আনুন',
'পাজল সম্পন্ন করতে পাজলের টুকরা স্লাইড করুন',
'পাজল সম্পন্ন করতে স্লাইডার স্লাইড করুন',
'পাজল সম্পন্ন করতে পাজলের টুকরা সরিয়ে নিন',
],
ru: [
'Перетащите ползунок, чтобы завершить пазл',
'Перетащите кусок пазла, чтобы завершить его',
'Перетащите ползунок',
'Перетащите кусок пазла',
'Проведите кусок пазла, чтобы завершить его',
'Проведите ползунок, чтобы завершить пазл',
'Переместите кусок пазла, чтобы завершить его',
],
ja: [
'パズルを完成させるためにスライダーをドラッグしてください',
'パズルを完成させるためにパズルのピースをドラッグしてください',
'スライダーをドラッグしてください',
'パズルのピースをドラッグしてください',
'パズルを完成させるためにパズルのピースをスライドしてください',
'パズルを完成させるためにスライダーをスライドしてください',
'パズルを完成させるためにパズルのピースを動かしてください',
],
pa: [
'ਪਜ਼ਲ ਪੂਰੀ ਕਰਨ ਲਈ ਸਲਾਈਡਰ ਖਿੱਚੋ',
'ਪਜ਼ਲ ਪੂਰੀ ਕਰਨ ਲਈ ਪਜ਼ਲ ਦਾ ਟੁਕੜਾ ਖਿੱਚੋ',
'ਸਲਾਈਡਰ ਖਿੱਚੋ',
'ਪਜ਼ਲ ਦਾ ਟੁਕੜਾ ਖਿੱਚੋ',
'ਪਜ਼ਲ ਪੂਰੀ ਕਰਨ ਲਈ ਪਜ਼ਲ ਦਾ ਟੁਕੜਾ ਸਲਾਈਡ ਕਰੋ',
'ਪਜ਼ਲ ਪੂਰੀ ਕਰਨ ਲਈ ਸਲਾਈਡਰ ਸਲਾਈਡ ਕਰੋ',
'ਪਜ਼ਲ ਪੂਰੀ ਕਰਨ ਲਈ ਪਜ਼ਲ ਦਾ ਟੁਕੜਾ ਮੂਵ ਕਰੋ',
],
de: [
'Ziehen Sie den Schieberegler, um das Puzzle zu vervollständigen',
'Ziehen Sie das Puzzleteil, um das Puzzle zu vervollständigen',
'Ziehen Sie den Schieberegler',
'Ziehen Sie das Puzzleteil',
'Schieben Sie das Puzzleteil, um das Puzzle zu vervollständigen',
'Schieben Sie den Schieberegler, um das Puzzle zu vervollständigen',
'Bewegen Sie das Puzzleteil, um das Puzzle zu vervollständigen',
],
fr: [
'Faites glisser le curseur pour compléter le puzzle',
'Faites glisser la pièce du puzzle pour la compléter',
'Faites glisser le curseur',
'Faites glisser la pièce du puzzle',
'Faites glisser la pièce du puzzle pour compléter le puzzle',
'Faites glisser le curseur pour compléter le puzzle',
'Déplacez la pièce du puzzle pour la compléter',
],
it: [
'Trascina il cursore per completare il puzzle',
'Trascina il pezzo del puzzle per completarlo',
'Trascina il cursore',
'Trascina il pezzo del puzzle',
'Scorri il pezzo del puzzle per completarlo',
'Scorri il cursore per completare il puzzle',
'Muovi il pezzo del puzzle per completarlo',
],
id: [
'Seret penggeser untuk menyelesaikan teka-teki',
'Seret potongan teka-teki untuk menyelesaikannya',
'Seret penggeser',
'Seret potongan teka-teki',
'Geser potongan teka-teki untuk menyelesaikan teka-teki',
'Geser penggeser untuk menyelesaikan teka-teki',
'Pindahkan potongan teka-teki untuk menyelesaikan teka-teki',
],
tr: [
'Bulmacayı tamamlamak için kaydırıcıyı sürükleyin',
'Bulmacayı tamamlamak için bulmaca parçasını sürükleyin',
'Kaydırıcıyı sürükleyin',
'Bulmaca parçasını sürükleyin',
'Bulmacayı tamamlamak için bulmaca parçasını kaydırın',
'Bulmacayı tamamlamak için kaydırıcıyı kaydırın',
'Bulmacayı tamamlamak için bulmaca parçasını taşıyın',
],
sq: [
'Tërhiq shiritin për të përfunduar pazllin',
'Tërhiq pjesën e pazllit për ta përfunduar',
'Tërhiq shiritin',
'Tërhiq pjesën e pazllit',
'Lëviz pjesën e pazllit për ta përfunduar',
'Lëviz shiritin për të përfunduar pazllin',
'Zhvendëso pjesën e pazllit për të përfunduar pazllin',
],
},
};
for (const [k, v] of Object.entries(i18n)) {
// filter each lang by unique
for (const [lang, arr] of Object.entries(v)) {
// @ts-ignore
v[lang] = arr.filter((v, i, a) => a.indexOf(v) === i);
}
}