PluginProbe
Translate and Go multilingual – Automatic AI translation – wpLingua / 1.0.3
Translate and Go multilingual – Automatic AI translation – wpLingua v1.0.3
2.16.5 2.16.4 2.16.3 2.16.2 2.16.1 2.16.0 2.15.2 2.15.1 2.15.0 2.14.3 2.14.2 2.14.1 2.14.0 2.13.1 2.13.0 2.12.3 2.12.2 2.12.1 trunk 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.2.0 All 110 releases
wplingua / data.php

data.php in Translate and Go multilingual – Automatic AI translation – wpLingua 1.0.3, at data.php

585 lines 13.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 // If this file is called directly, abort.
4 if ( ! defined( 'WPINC' ) ) {
5 die;
6 }
7
8
9 /**
10 * ------ Data : Parse and translate ------
11 */
12
13 /**
14 * Get JSON elements to translate
15 *
16 * @return array
17 */
18 function wplng_data_json_to_translate() {
19 return apply_filters(
20 'wplng_json_to_translate',
21 array(
22 array( 'yith_wcwl_l10n', 'labels', 'cookie_disabled' ),
23 array( 'wc_add_to_cart_params', 'i18n_view_cart' ),
24 )
25 );
26 }
27
28
29 /**
30 * Get JSON to exclude from translation
31 *
32 * @return array
33 */
34 function wplng_data_excluded_json() {
35 return apply_filters(
36 'wplng_excluded_json',
37 array(
38 array( 'wc_country_select_params', 'countries' ),
39 )
40 );
41 }
42
43
44 /**
45 * Get selectors of excluded elements in visual editor
46 *
47 * @return array
48 */
49 function wplng_data_excluded_editor_link() {
50 return apply_filters(
51 'wplng_excluded_editor_link',
52 array(
53 'textarea',
54 'pre',
55 'option',
56 )
57 );
58 }
59
60
61 /**
62 * Get selectors of excluded elements
63 *
64 * @return array
65 */
66 function wplng_data_excluded_selector_default() {
67 return array(
68 'style',
69 'svg',
70 'canvas',
71 'address',
72 'iframe',
73 'code',
74 '#wpadminbar',
75 '.no-translate',
76 '.notranslate',
77 '.wplng-switcher',
78 'link[hreflang]',
79 );
80 }
81
82
83 /**
84 * Get selectors of excluded nodes text
85 *
86 * @return array
87 */
88 function wplng_data_excluded_node_text() {
89 return apply_filters(
90 'wplng_excluded_node_text',
91 array(
92 'style',
93 'svg',
94 'canvas',
95 'link',
96 'script',
97 'code',
98 )
99 );
100 }
101
102
103 /**
104 * Get attributes and selectors to translate
105 *
106 * @return array
107 */
108 function wplng_data_attr_text_to_translate() {
109 return apply_filters(
110 'wplng_attr_text_to_translate',
111 array(
112 array(
113 'attr' => 'alt',
114 'selector' => '[alt]',
115 ),
116 array(
117 'attr' => 'title',
118 'selector' => '[title]',
119 ),
120 array(
121 'attr' => 'placeholder',
122 'selector' => '[placeholder]',
123 ),
124 array(
125 'attr' => 'aria-label',
126 'selector' => '[aria-label]',
127 ),
128 array(
129 'attr' => 'value',
130 'selector' => 'input[type="submit"][value]',
131 ),
132 array(
133 'attr' => 'content',
134 'selector' => 'meta[property="og:title"]',
135 ),
136 array(
137 'attr' => 'content',
138 'selector' => 'meta[property="og:description"]',
139 ),
140 array(
141 'attr' => 'content',
142 'selector' => 'meta[property="og:site_name"]',
143 ),
144 array(
145 'attr' => 'content',
146 'selector' => 'meta[name="twitter:title"]',
147 ),
148 array(
149 'attr' => 'content',
150 'selector' => 'meta[name="twitter:label1"]',
151 ),
152 array(
153 'attr' => 'content',
154 'selector' => 'meta[name="twitter:data1"]',
155 ),
156 array(
157 'attr' => 'content',
158 'selector' => 'meta[name="twitter:label2"]',
159 ),
160 array(
161 'attr' => 'content',
162 'selector' => 'meta[name="twitter:data2"]',
163 ),
164 array(
165 'attr' => 'content',
166 'selector' => 'meta[name="dc.title"]',
167 ),
168 array(
169 'attr' => 'content',
170 'selector' => 'meta[name="description"]',
171 ),
172 array(
173 'attr' => 'content',
174 'selector' => 'meta[name="dc.description"]',
175 ),
176 )
177 );
178 }
179
180
181 /**
182 * Get attributes and selectors of URL to translate
183 *
184 * @return array
185 */
186 function wplng_data_attr_url_to_translate() {
187 return apply_filters(
188 'wplng_attr_url_to_translate',
189 array(
190 array(
191 'attr' => 'href',
192 'selector' => 'a[href]',
193 ),
194 array(
195 'attr' => 'action',
196 'selector' => 'form[action]',
197 ),
198 array(
199 'attr' => 'content',
200 'selector' => 'meta[property="og:url"]',
201 ),
202 array(
203 'attr' => 'href',
204 'selector' => 'link[rel="canonical"]',
205 ),
206 array(
207 'attr' => 'content',
208 'selector' => 'meta[name="dc.relation"]',
209 ),
210 )
211 );
212 }
213
214
215 /**
216 * GEt attributes and selector of elements where translate language ID
217 *
218 * @return array
219 */
220 function wplng_data_attr_lang_id_to_replace() {
221 return apply_filters(
222 'wplng_attr_lang_id_to_replace',
223 array(
224 array(
225 'attr' => 'lang',
226 'selector' => 'html',
227 ),
228 array(
229 'attr' => 'content',
230 'selector' => 'meta[property="og:locale"]',
231 ),
232 array(
233 'attr' => 'content',
234 'selector' => 'meta[name="dc.language"]',
235 ),
236 )
237 );
238 }
239
240
241 /**
242 * ------ Data : Switcher options ------
243 */
244
245 /**
246 * Get options for switcher insertion
247 *
248 * @return array
249 */
250 function wplng_data_switcher_valid_insert() {
251 return array(
252 'bottom-right' => __( 'Bottom right', 'wplingua' ),
253 'bottom-center' => __( 'Bottom center', 'wplingua' ),
254 'bottom-left' => __( 'Bottom left', 'wplingua' ),
255 'none' => __( 'None', 'wplingua' ),
256 );
257 }
258
259
260 /**
261 * Get options for switcher themes
262 *
263 * @return array
264 */
265 function wplng_data_switcher_valid_theme() {
266 return array(
267 'light-double-smooth' => __( 'Light - Double - Smooth', 'wplingua' ),
268 'light-double-square' => __( 'Light - Double - Square', 'wplingua' ),
269 'light-simple-smooth' => __( 'Light - Simple - Smooth', 'wplingua' ),
270 'light-simple-square' => __( 'Light - Simple - Square', 'wplingua' ),
271 'grey-double-smooth' => __( 'Grey - Double - Smooth', 'wplingua' ),
272 'grey-double-square' => __( 'Grey - Double - Square', 'wplingua' ),
273 'grey-simple-smooth' => __( 'Grey - Simple - Smooth', 'wplingua' ),
274 'grey-simple-square' => __( 'Grey - Simple - Square', 'wplingua' ),
275 'dark-double-smooth' => __( 'Dark - Double - Smooth', 'wplingua' ),
276 'dark-double-square' => __( 'Dark - Double - Square', 'wplingua' ),
277 'dark-simple-smooth' => __( 'Dark - Simple - Smooth', 'wplingua' ),
278 'dark-simple-square' => __( 'Dark - Simple - Square', 'wplingua' ),
279 'blurblack-double-smooth' => __( 'Blur Black - Double - Smooth', 'wplingua' ),
280 'blurblack-double-square' => __( 'Blur Black - Double - Square', 'wplingua' ),
281 'blurblack-simple-smooth' => __( 'Blur Black - Simple - Smooth', 'wplingua' ),
282 'blurblack-simple-square' => __( 'Blur Black - Simple - Square', 'wplingua' ),
283 'blurwhite-double-smooth' => __( 'Blur White - Double - Smooth', 'wplingua' ),
284 'blurwhite-double-square' => __( 'Blur White - Double - Square', 'wplingua' ),
285 'blurwhite-simple-smooth' => __( 'Blur White - Simple - Smooth', 'wplingua' ),
286 'blurwhite-simple-square' => __( 'Blur White - Simple - Square', 'wplingua' ),
287 );
288 }
289
290
291 /**
292 * Get options for switcher style
293 *
294 * @return array
295 */
296 function wplng_data_switcher_valid_style() {
297 return array(
298 'list' => __( 'Inline list', 'wplingua' ),
299 'block' => __( 'Block', 'wplingua' ),
300 'dropdown' => __( 'Dropdown', 'wplingua' ),
301 );
302 }
303
304
305 /**
306 * Get options for switcher name format
307 *
308 * @return array
309 */
310 function wplng_data_switcher_valid_name_format() {
311 return array(
312 'name' => __( 'Translated name', 'wplingua' ),
313 'original' => __( 'Original name', 'wplingua' ),
314 'id' => __( 'Language ID', 'wplingua' ),
315 'none' => __( 'No display', 'wplingua' ),
316 );
317 }
318
319
320 /**
321 * Get options for switcher flags style
322 *
323 * @return array
324 */
325 function wplng_data_switcher_valid_flags_style() {
326 return array(
327 'circle' => __( 'Circle', 'wplingua' ),
328 'rectangular' => __( 'Rectangular', 'wplingua' ),
329 'wave' => __( 'Wave', 'wplingua' ),
330 'none' => __( 'No display', 'wplingua' ),
331 );
332 }
333
334
335 /**
336 * ------ Data : Languages ------
337 */
338
339 /**
340 * Get all languages data
341 *
342 * @return array
343 */
344 function wplng_data_languages() {
345 return array(
346 array(
347 'name' => __( 'Chinese', 'wplingua' ),
348 'id' => 'zh',
349 'flag' => 'cn',
350 'flags' => array(
351 array(
352 'name' => __( 'China', 'wplingua' ),
353 'id' => 'cn',
354 'flag' => 'cn',
355 ),
356 array(
357 'name' => __( 'Hong Kong', 'wplingua' ),
358 'id' => 'hk',
359 'flag' => 'hk',
360 ),
361 ),
362 'name_translation' => array(
363 'en' => 'Chinese',
364 'fr' => 'Chinois',
365 'de' => 'Chinesisch',
366 'it' => 'Cinese',
367 'pt' => 'Chinês',
368 'es' => 'Chino',
369 'ja' => 'チャイニーズ',
370 'ru' => 'Китайский',
371 'zh' => '中文',
372 ),
373 ),
374 array(
375 'name' => __( 'English', 'wplingua' ),
376 'id' => 'en',
377 'flag' => 'gb',
378 'flags' => array(
379 array(
380 'name' => __( 'UK', 'wplingua' ),
381 'id' => 'gb',
382 'flag' => 'gb',
383 ),
384 array(
385 'name' => __( 'USA', 'wplingua' ),
386 'id' => 'us',
387 'flag' => 'us',
388 ),
389 ),
390 'name_translation' => array(
391 'en' => 'English',
392 'fr' => 'Anglais',
393 'de' => 'Englisch',
394 'it' => 'Inglese',
395 'pt' => 'Inglês',
396 'es' => 'Inglés',
397 'ja' => 'イングリッシュ',
398 'ru' => 'Английский',
399 'zh' => '英语',
400 ),
401 ),
402 array(
403 'name' => __( 'French', 'wplingua' ),
404 'id' => 'fr',
405 'flag' => 'fr',
406 'flags' => array(
407 array(
408 'name' => __( 'France', 'wplingua' ),
409 'id' => 'fr',
410 'flag' => 'fr',
411 ),
412 array(
413 'name' => __( 'Belgium', 'wplingua' ),
414 'id' => 'be',
415 'flag' => 'be',
416 ),
417 array(
418 'name' => __( 'Canada', 'wplingua' ),
419 'id' => 'ca',
420 'flag' => 'ca',
421 ),
422 ),
423 'name_translation' => array(
424 'en' => 'French',
425 'fr' => 'Français',
426 'de' => 'Französisch',
427 'it' => 'Francese',
428 'pt' => 'Francês',
429 'es' => 'Francés',
430 'ja' => 'フレンチ',
431 'ru' => 'Французский',
432 'zh' => '法语',
433 ),
434 ),
435 array(
436 'name' => __( 'German', 'wplingua' ),
437 'id' => 'de',
438 'flag' => 'de',
439 'flags' => array(
440 array(
441 'name' => __( 'Germany', 'wplingua' ),
442 'id' => 'de',
443 'flag' => 'de',
444 ),
445 ),
446 'name_translation' => array(
447 'en' => 'German',
448 'fr' => 'Allemand',
449 'de' => 'Deutsch',
450 'it' => 'Tedesco',
451 'pt' => 'Alemão',
452 'es' => 'Alemán',
453 'ja' => 'ドイツ',
454 'ru' => 'Немецкий',
455 'zh' => '德国',
456 ),
457 ),
458 array(
459 'name' => __( 'Italian', 'wplingua' ),
460 'id' => 'it',
461 'flag' => 'it',
462 'flags' => array(
463 array(
464 'name' => __( 'Italy', 'wplingua' ),
465 'id' => 'it',
466 'flag' => 'it',
467 ),
468 ),
469 'name_translation' => array(
470 'en' => 'Italian',
471 'fr' => 'Italien',
472 'de' => 'Italienisch',
473 'it' => 'Italiano',
474 'pt' => 'Italiano',
475 'es' => 'Italiano',
476 'ja' => 'イタリア',
477 'ru' => 'Итальянский',
478 'zh' => '意大利',
479 ),
480 ),
481 array(
482 'name' => __( 'Japanese', 'wplingua' ),
483 'id' => 'ja',
484 'flag' => 'jp',
485 'flags' => array(
486 array(
487 'name' => __( 'Japan', 'wplingua' ),
488 'id' => 'jp',
489 'flag' => 'jp',
490 ),
491 ),
492 'name_translation' => array(
493 'en' => 'Japanese',
494 'fr' => 'Japonais',
495 'de' => 'Japanisch',
496 'it' => 'Giapponese',
497 'pt' => 'Japonês',
498 'es' => 'Japonés',
499 'ja' => '日本',
500 'ru' => 'Японский',
501 'zh' => '日语',
502 ),
503 ),
504 array(
505 'name' => __( 'Portuguese', 'wplingua' ),
506 'id' => 'pt',
507 'flag' => 'pt',
508 'flags' => array(
509 array(
510 'name' => __( 'Portugal', 'wplingua' ),
511 'id' => 'pt',
512 'flag' => 'pt',
513 ),
514 array(
515 'name' => __( 'Brazil', 'wplingua' ),
516 'id' => 'br',
517 'flag' => 'br',
518 ),
519 ),
520 'name_translation' => array(
521 'en' => 'Portuguese',
522 'fr' => 'Portugais',
523 'de' => 'Portugiesisch',
524 'it' => 'Portoghese',
525 'pt' => 'Português',
526 'es' => 'Portugués',
527 'ja' => 'ポルトガル',
528 'ru' => 'Португальский',
529 'zh' => '葡语',
530 ),
531 ),
532 array(
533 'name' => __( 'Russian', 'wplingua' ),
534 'id' => 'ru',
535 'flag' => 'ru',
536 'flags' => array(
537 array(
538 'name' => __( 'Russia', 'wplingua' ),
539 'id' => 'ru',
540 'flag' => 'ru',
541 ),
542 ),
543 'name_translation' => array(
544 'en' => 'Russian',
545 'fr' => 'Russe',
546 'de' => 'Russisch',
547 'it' => 'Russo',
548 'pt' => 'Russo',
549 'es' => 'Ruso',
550 'ja' => 'ロシア',
551 'ru' => 'Японский',
552 'zh' => '日语',
553 ),
554 ),
555 array(
556 'name' => __( 'Spanish', 'wplingua' ),
557 'id' => 'es',
558 'flag' => 'es',
559 'flags' => array(
560 array(
561 'name' => __( 'Spain', 'wplingua' ),
562 'id' => 'es',
563 'flag' => 'es',
564 ),
565 array(
566 'name' => __( 'Mexico', 'wplingua' ),
567 'id' => 'mx',
568 'flag' => 'mx',
569 ),
570 ),
571 'name_translation' => array(
572 'en' => 'Spanish',
573 'fr' => 'Espagnol',
574 'de' => 'Spanisch',
575 'it' => 'Spagnolo',
576 'pt' => 'Espanhol',
577 'es' => 'Español',
578 'ja' => 'スペイン',
579 'ru' => 'Испанский',
580 'zh' => '英语',
581 ),
582 ),
583 );
584 }
585