PluginProbe
Translate and Go multilingual – Automatic AI translation – wpLingua / 2.16.2
Translate and Go multilingual – Automatic AI translation – wpLingua v2.16.2
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 1.2.1 All 109 releases
wplingua / data / attribute.php

attribute.php in Translate and Go multilingual – Automatic AI translation – wpLingua 2.16.2, at data/attribute.php

376 lines 8.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 * Get attributes and selectors of JSON to translate
11 *
12 * @return array
13 */
14 function wplng_data_attr_json_to_translate() {
15 global $wplng_data_attr_json_to_translate;
16
17 if ( null !== $wplng_data_attr_json_to_translate ) {
18 return $wplng_data_attr_json_to_translate;
19 }
20
21 $wplng_data_attr_json_to_translate = apply_filters(
22 'wplng_attr_json_to_translate',
23 array(
24 // Theme: Divi
25 array(
26 'attr' => 'data-et-multi-view',
27 'selector' => '[data-et-multi-view]',
28 ),
29
30 // Theme: my-listing
31 array(
32 'attr' => ':choices',
33 'selector' => 'order-filter[:choices]',
34 ),
35 array(
36 'attr' => ':choices',
37 'selector' => 'checkboxes-filter[:choices]',
38 ),
39
40 // Plugin: WooCommerce
41 array(
42 'attr' => 'data-wc-context',
43 'selector' => '[data-wc-context]',
44 ),
45 array(
46 'attr' => 'data-wp-context',
47 'selector' => '[data-wp-context]',
48 ),
49
50 // Plugin: Elementor (or addon)
51 array(
52 'attr' => 'data-premium-element-link',
53 'selector' => '[data-premium-element-link]',
54 ),
55
56 // Plugin: Elementor Essential Addons (Event Calendar)
57 array(
58 'attr' => 'data-translate',
59 'selector' => '.eael-event-calendar-cls[data-translate]',
60 ),
61 array(
62 'attr' => 'data-events',
63 'selector' => '.eael-event-calendar-cls[data-events]',
64 ),
65
66 // Plugin: advanced-post-block
67 array(
68 'attr' => 'data-attributes',
69 'selector' => '.wp-block-ap-block-posts[data-attributes]',
70 ),
71 )
72 );
73
74 return $wplng_data_attr_json_to_translate;
75 }
76
77
78 /**
79 * Get attributes and selectors of texts in attribute to translate
80 *
81 * @return array
82 */
83 function wplng_data_attr_text_to_translate() {
84 global $wplng_data_attr_text_to_translate;
85
86 if ( null !== $wplng_data_attr_text_to_translate ) {
87 return $wplng_data_attr_text_to_translate;
88 }
89
90 $wplng_data_attr_text_to_translate = apply_filters(
91 'wplng_attr_text_to_translate',
92 array(
93 // Default tags
94 array(
95 'attr' => 'alt',
96 'selector' => '[alt]',
97 ),
98 array(
99 'attr' => 'title',
100 'selector' => '[title]',
101 ),
102 array(
103 'attr' => 'placeholder',
104 'selector' => '[placeholder]',
105 ),
106 array(
107 'attr' => 'label',
108 'selector' => '[label]',
109 ),
110 array(
111 'attr' => 'aria-label',
112 'selector' => '[aria-label]',
113 ),
114 array(
115 'attr' => 'value',
116 'selector' => '[type="submit"]',
117 ),
118 array(
119 'attr' => 'value',
120 'selector' => 'input[type="button"]',
121 ),
122
123 // WordPress
124 array(
125 'attr' => 'content',
126 'selector' => 'meta[property="article:tag"]',
127 ),
128 array(
129 'attr' => 'content',
130 'selector' => 'meta[property="article:section"]',
131 ),
132 array(
133 'attr' => 'content',
134 'selector' => 'meta[name="description"]',
135 ),
136
137 // Open Graph
138 array(
139 'attr' => 'content',
140 'selector' => 'meta[property="og:title"]',
141 ),
142 array(
143 'attr' => 'content',
144 'selector' => 'meta[property="og:description"]',
145 ),
146 array(
147 'attr' => 'content',
148 'selector' => 'meta[property="og:site_name"]',
149 ),
150 array(
151 'attr' => 'content',
152 'selector' => 'meta[property="og:image:alt"]',
153 ),
154
155 // Dublin Core
156 array(
157 'attr' => 'content',
158 'selector' => 'meta[name="dc.title"]',
159 ),
160 array(
161 'attr' => 'content',
162 'selector' => 'meta[name="dc.description"]',
163 ),
164
165 // Twitter
166 array(
167 'attr' => 'content',
168 'selector' => 'meta[name="twitter:title"]',
169 ),
170 array(
171 'attr' => 'content',
172 'selector' => 'meta[name="twitter:description"]',
173 ),
174 array(
175 'attr' => 'content',
176 'selector' => 'meta[name="twitter:label1"]',
177 ),
178 array(
179 'attr' => 'content',
180 'selector' => 'meta[name="twitter:data1"]',
181 ),
182 array(
183 'attr' => 'content',
184 'selector' => 'meta[name="twitter:label2"]',
185 ),
186 array(
187 'attr' => 'content',
188 'selector' => 'meta[name="twitter:data2"]',
189 ),
190 array(
191 'attr' => 'content',
192 'selector' => 'meta[name="twitter:image:alt"]',
193 ),
194
195 // Plugin: Fluent Forms tooltips
196 array(
197 'attr' => 'data-content',
198 'selector' => '.ff-el-tooltip[data-content]',
199 ),
200
201 // Plugin: Forminator
202 array(
203 'attr' => 'data-placeholder',
204 'selector' => '[data-placeholder]',
205 ),
206 array(
207 'attr' => 'data-search-placeholde',
208 'selector' => '[data-search-placeholde]',
209 ),
210
211 // Plugin: Smart Slider 3
212 array(
213 'attr' => 'data-title',
214 'selector' => '[data-title]',
215 ),
216
217 // Plugin: WooCommerce
218 array(
219 'attr' => 'data-order_button_text',
220 'selector' => '[data-order_button_text]',
221 ),
222
223 // Plugin: Elementor Essential Addons (Event Calendar)
224 array(
225 'attr' => 'data-detailsButtonText',
226 'selector' => '.eael-event-calendar-cls[data-detailsButtonText]',
227 ),
228
229 // Plugin: FooGallery
230 array(
231 'attr' => 'data-caption-desc',
232 'selector' => '[data-caption-desc]',
233 ),
234
235 // Theme: Briks builder
236 array(
237 'attr' => 'data-error-message',
238 'selector' => '[data-error-message]',
239 ),
240 array(
241 'attr' => 'arialabelledby',
242 'selector' => '[arialabelledby]',
243 ),
244
245 )
246 );
247
248 return $wplng_data_attr_text_to_translate;
249 }
250
251
252 /**
253 * Get attributes and selectors of HTML in attribute to translate
254 *
255 * @return array
256 */
257 function wplng_data_attr_html_to_translate() {
258 global $wplng_data_attr_html_to_translate;
259
260 if ( null !== $wplng_data_attr_html_to_translate ) {
261 return $wplng_data_attr_html_to_translate;
262 }
263
264 $wplng_data_attr_html_to_translate = apply_filters(
265 'wplng_attr_html_to_translate',
266 array(
267 array(
268 'attr' => 'data-sub-html',
269 'selector' => '[data-sub-html]',
270 ),
271 )
272 );
273
274 return $wplng_data_attr_html_to_translate;
275 }
276
277
278 /**
279 * Get attributes and selectors of URL to translate
280 *
281 * @return array
282 */
283 function wplng_data_attr_url_to_translate() {
284 global $wplng_data_attr_url_to_translate;
285
286 if ( null !== $wplng_data_attr_url_to_translate ) {
287 return $wplng_data_attr_url_to_translate;
288 }
289
290 $wplng_data_attr_url_to_translate = apply_filters(
291 'wplng_attr_url_to_translate',
292 array(
293 array(
294 'attr' => 'href',
295 'selector' => 'a[href]',
296 ),
297 array(
298 'attr' => 'action',
299 'selector' => 'form[action]',
300 ),
301 array(
302 'attr' => 'content',
303 'selector' => 'meta[property="og:url"]',
304 ),
305 array(
306 'attr' => 'href',
307 'selector' => 'link[rel="canonical"]',
308 ),
309 array(
310 'attr' => 'content',
311 'selector' => 'meta[name="dc.relation"]',
312 ),
313 array(
314 'attr' => 'src',
315 'selector' => 'img[src]',
316 ),
317 array(
318 'attr' => 'src',
319 'selector' => 'iframe[src]',
320 ),
321 array(
322 'attr' => 'src',
323 'selector' => 'video source[src]',
324 ),
325
326 // Plugin: Divi Supreme
327 array(
328 'attr' => 'data-mfp-src',
329 'selector' => '[data-mfp-src]',
330 ),
331 )
332 );
333
334 return $wplng_data_attr_url_to_translate;
335 }
336
337
338 /**
339 * GEt attributes and selector of elements where translate language ID
340 *
341 * @return array
342 */
343 function wplng_data_attr_lang_id_to_replace() {
344 global $wplng_data_attr_lang_id_to_replace;
345
346 if ( null !== $wplng_data_attr_lang_id_to_replace ) {
347 return $wplng_data_attr_lang_id_to_replace;
348 }
349
350 $wplng_data_attr_lang_id_to_replace = apply_filters(
351 'wplng_attr_lang_id_to_replace',
352 array(
353 array(
354 'attr' => 'lang',
355 'selector' => 'html',
356 ),
357 array(
358 'attr' => 'content',
359 'selector' => 'meta[property="og:locale"]',
360 ),
361 array(
362 'attr' => 'content',
363 'selector' => 'meta[name="dc.language"]',
364 ),
365
366 // Plugin: Elementor Essential Addons (Event Calendar)
367 array(
368 'attr' => 'data-locale',
369 'selector' => '.eael-event-calendar-cls[data-locale]',
370 ),
371 )
372 );
373
374 return $wplng_data_attr_lang_id_to_replace;
375 }
376