PluginProbe
Translate and Go multilingual – Automatic AI translation – wpLingua / 2.13.0
Translate and Go multilingual – Automatic AI translation – wpLingua v2.13.0
2.16.6 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 All 111 releases
wplingua / data / attribute.php

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

366 lines 7.9 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 );
67
68 return $wplng_data_attr_json_to_translate;
69 }
70
71
72 /**
73 * Get attributes and selectors of texts in attribute to translate
74 *
75 * @return array
76 */
77 function wplng_data_attr_text_to_translate() {
78 global $wplng_data_attr_text_to_translate;
79
80 if ( null !== $wplng_data_attr_text_to_translate ) {
81 return $wplng_data_attr_text_to_translate;
82 }
83
84 $wplng_data_attr_text_to_translate = apply_filters(
85 'wplng_attr_text_to_translate',
86 array(
87 // Default tags
88 array(
89 'attr' => 'alt',
90 'selector' => '[alt]',
91 ),
92 array(
93 'attr' => 'title',
94 'selector' => '[title]',
95 ),
96 array(
97 'attr' => 'placeholder',
98 'selector' => '[placeholder]',
99 ),
100 array(
101 'attr' => 'label',
102 'selector' => '[label]',
103 ),
104 array(
105 'attr' => 'aria-label',
106 'selector' => '[aria-label]',
107 ),
108 array(
109 'attr' => 'value',
110 'selector' => '[type="submit"]',
111 ),
112 array(
113 'attr' => 'value',
114 'selector' => 'input[type="button"]',
115 ),
116
117 // WordPress
118 array(
119 'attr' => 'content',
120 'selector' => 'meta[property="article:tag"]',
121 ),
122 array(
123 'attr' => 'content',
124 'selector' => 'meta[property="article:section"]',
125 ),
126 array(
127 'attr' => 'content',
128 'selector' => 'meta[name="description"]',
129 ),
130
131 // Open Graph
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[property="og:image:alt"]',
147 ),
148
149 // Dublin Core
150 array(
151 'attr' => 'content',
152 'selector' => 'meta[name="dc.title"]',
153 ),
154 array(
155 'attr' => 'content',
156 'selector' => 'meta[name="dc.description"]',
157 ),
158
159 // Twitter
160 array(
161 'attr' => 'content',
162 'selector' => 'meta[name="twitter:title"]',
163 ),
164 array(
165 'attr' => 'content',
166 'selector' => 'meta[name="twitter:description"]',
167 ),
168 array(
169 'attr' => 'content',
170 'selector' => 'meta[name="twitter:label1"]',
171 ),
172 array(
173 'attr' => 'content',
174 'selector' => 'meta[name="twitter:data1"]',
175 ),
176 array(
177 'attr' => 'content',
178 'selector' => 'meta[name="twitter:label2"]',
179 ),
180 array(
181 'attr' => 'content',
182 'selector' => 'meta[name="twitter:data2"]',
183 ),
184 array(
185 'attr' => 'content',
186 'selector' => 'meta[name="twitter:image:alt"]',
187 ),
188
189 // Plugin: Fluent Forms tooltips
190 array(
191 'attr' => 'data-content',
192 'selector' => '.ff-el-tooltip[data-content]',
193 ),
194
195 // Plugin: Forminator
196 array(
197 'attr' => 'data-placeholder',
198 'selector' => '[data-placeholder]',
199 ),
200 array(
201 'attr' => 'data-search-placeholde',
202 'selector' => '[data-search-placeholde]',
203 ),
204
205 // Plugin: Smart Slider 3
206 array(
207 'attr' => 'data-title',
208 'selector' => '[data-title]',
209 ),
210
211 // Plugin: WooCommerce
212 array(
213 'attr' => 'data-order_button_text',
214 'selector' => '[data-order_button_text]',
215 ),
216
217 // Plugin: Elementor Essential Addons (Event Calendar)
218 array(
219 'attr' => 'data-detailsButtonText',
220 'selector' => '.eael-event-calendar-cls[data-detailsButtonText]',
221 ),
222
223 // Plugin: FooGallery
224 array(
225 'attr' => 'data-caption-desc',
226 'selector' => '[data-caption-desc]',
227 ),
228
229 // Theme: Breaks builder
230 array(
231 'attr' => 'data-error-message',
232 'selector' => '[data-error-message]',
233 ),
234
235 )
236 );
237
238 return $wplng_data_attr_text_to_translate;
239 }
240
241
242 /**
243 * Get attributes and selectors of HTML in attribute to translate
244 *
245 * @return array
246 */
247 function wplng_data_attr_html_to_translate() {
248 global $wplng_data_attr_html_to_translate;
249
250 if ( null !== $wplng_data_attr_html_to_translate ) {
251 return $wplng_data_attr_html_to_translate;
252 }
253
254 $wplng_data_attr_html_to_translate = apply_filters(
255 'wplng_attr_html_to_translate',
256 array(
257 array(
258 'attr' => 'data-sub-html',
259 'selector' => '[data-sub-html]',
260 ),
261 )
262 );
263
264 return $wplng_data_attr_html_to_translate;
265 }
266
267
268 /**
269 * Get attributes and selectors of URL to translate
270 *
271 * @return array
272 */
273 function wplng_data_attr_url_to_translate() {
274 global $wplng_data_attr_url_to_translate;
275
276 if ( null !== $wplng_data_attr_url_to_translate ) {
277 return $wplng_data_attr_url_to_translate;
278 }
279
280 $wplng_data_attr_url_to_translate = apply_filters(
281 'wplng_attr_url_to_translate',
282 array(
283 array(
284 'attr' => 'href',
285 'selector' => 'a[href]',
286 ),
287 array(
288 'attr' => 'action',
289 'selector' => 'form[action]',
290 ),
291 array(
292 'attr' => 'content',
293 'selector' => 'meta[property="og:url"]',
294 ),
295 array(
296 'attr' => 'href',
297 'selector' => 'link[rel="canonical"]',
298 ),
299 array(
300 'attr' => 'content',
301 'selector' => 'meta[name="dc.relation"]',
302 ),
303 array(
304 'attr' => 'src',
305 'selector' => 'img[src]',
306 ),
307 array(
308 'attr' => 'src',
309 'selector' => 'iframe[src]',
310 ),
311 array(
312 'attr' => 'src',
313 'selector' => 'video source[src]',
314 ),
315
316 // Plugin: Divi Supreme
317 array(
318 'attr' => 'data-mfp-src',
319 'selector' => '[data-mfp-src]',
320 ),
321 )
322 );
323
324 return $wplng_data_attr_url_to_translate;
325 }
326
327
328 /**
329 * GEt attributes and selector of elements where translate language ID
330 *
331 * @return array
332 */
333 function wplng_data_attr_lang_id_to_replace() {
334 global $wplng_data_attr_lang_id_to_replace;
335
336 if ( null !== $wplng_data_attr_lang_id_to_replace ) {
337 return $wplng_data_attr_lang_id_to_replace;
338 }
339
340 $wplng_data_attr_lang_id_to_replace = apply_filters(
341 'wplng_attr_lang_id_to_replace',
342 array(
343 array(
344 'attr' => 'lang',
345 'selector' => 'html',
346 ),
347 array(
348 'attr' => 'content',
349 'selector' => 'meta[property="og:locale"]',
350 ),
351 array(
352 'attr' => 'content',
353 'selector' => 'meta[name="dc.language"]',
354 ),
355
356 // Plugin: Elementor Essential Addons (Event Calendar)
357 array(
358 'attr' => 'data-locale',
359 'selector' => '.eael-event-calendar-cls[data-locale]',
360 ),
361 )
362 );
363
364 return $wplng_data_attr_lang_id_to_replace;
365 }
366