Polylang Connect for Elementor – Templates Translation & Language Switcher - Version 2.3.0

Version Description

  • Added dropdown controls to show on mouse hover and drop to up.
  • Added Elementor Kit translation support.
Download this release

Release Info

Developer pacotole
Plugin Icon 128x128 Polylang Connect for Elementor – Templates Translation & Language Switcher
Version 2.3.0
Comparing to
See all releases

Code changes from version 2.2.0 to 2.3.0

README.txt CHANGED
@@ -5,7 +5,7 @@ Tags: elementor, polylang, multilingual, language switcher, languages, templates
5
  Requires at least: 5.4
6
  Tested up to: 6.0
7
  Requires PHP: 5.6
8
- Stable tag: 2.2.0
9
  License: GPL-2.0-or-later
10
  License URI: https://opensource.org/licenses/GPL-2.0
11
 
@@ -197,6 +197,10 @@ There are quite a few:
197
 
198
  == Changelog ==
199
 
 
 
 
 
200
  = 2.2.0 =
201
  * Added Elementor Pro template shortcode translation.
202
 
5
  Requires at least: 5.4
6
  Tested up to: 6.0
7
  Requires PHP: 5.6
8
+ Stable tag: 2.3.0
9
  License: GPL-2.0-or-later
10
  License URI: https://opensource.org/licenses/GPL-2.0
11
 
197
 
198
  == Changelog ==
199
 
200
+ = 2.3.0 =
201
+ * Added dropdown controls to show on mouse hover and drop to up.
202
+ * Added Elementor Kit translation support.
203
+
204
  = 2.2.0 =
205
  * Added Elementor Pro template shortcode translation.
206
 
assets/css/language-switcher.css CHANGED
@@ -28,10 +28,20 @@
28
  }
29
 
30
  /* Dropdown layout */
 
 
 
 
 
 
 
 
31
  .cpel-switcher--layout-dropdown .cpel-switcher__nav {
32
  display: inline-block;
33
  position: relative;
34
- user-select: none;
 
 
35
  }
36
 
37
  .cpel-switcher--layout-dropdown .cpel-switcher__toggle {
@@ -50,6 +60,8 @@
50
  }
51
 
52
  .cpel-switcher--layout-dropdown .cpel-switcher__toggle a i {
 
 
53
  transition: transform 0s 200ms;
54
  }
55
 
@@ -58,7 +70,7 @@
58
  }
59
 
60
  .cpel-switcher--layout-dropdown .cpel-switcher__toggle.cpel-switcher__toggle--on a i {
61
- transform: rotateX(180deg);
62
  transition-delay: 0s;
63
  }
64
 
@@ -89,7 +101,13 @@
89
  min-width: 100%;
90
  max-height: 0;
91
  overflow: hidden;
92
- transition: max-height 200ms ease-out;
 
 
 
 
 
 
93
  }
94
 
95
  .cpel-switcher--layout-dropdown .cpel-switcher__toggle--on+.cpel-switcher__list {
@@ -106,6 +124,23 @@
106
  text-align: left;
107
  }
108
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
 
110
  /* Vertical/Dropdown align */
111
  .cpel-switcher--align-left .cpel-switcher__list {
@@ -203,8 +238,10 @@ body.rtl .cpel-switcher--layout-horizontal .cpel-switcher__lang:not(:last-child)
203
  width: 100%;
204
  max-width: 100%;
205
  height: 100%;
206
- object-fit: cover;
207
- object-position: center;
 
 
208
  }
209
 
210
  /* Flag relation 1:1 focus */
@@ -279,12 +316,14 @@ body.rtl .cpel-switcher--layout-horizontal .cpel-switcher__lang:not(:last-child)
279
  .cpel-switcher__flag--za img,
280
  .cpel-switcher__flag--ws img,
281
  .cpel-switcher__flag--zw img {
282
- object-position: left;
 
283
  }
284
 
285
  .cpel-switcher__flag--eh img,
286
  .cpel-switcher__flag--tm img {
287
- object-position: 20%;
 
288
  }
289
 
290
  .cpel-switcher__flag--ai img,
@@ -306,10 +345,12 @@ body.rtl .cpel-switcher--layout-horizontal .cpel-switcher__lang:not(:last-child)
306
  .cpel-switcher__flag--tf img,
307
  .cpel-switcher__flag--tv img,
308
  .cpel-switcher__flag--vg img {
309
- object-position: 75%;
 
310
  }
311
 
312
  .cpel-switcher__flag--as img,
313
  .cpel-switcher__flag--zm img {
314
- object-position: right;
 
315
  }
28
  }
29
 
30
  /* Dropdown layout */
31
+ .cpel-switcher--layout-dropdown {
32
+ --rotate: 0deg;
33
+ }
34
+
35
+ .cpel-switcher--drop-to-up {
36
+ --rotate: 180deg;
37
+ }
38
+
39
  .cpel-switcher--layout-dropdown .cpel-switcher__nav {
40
  display: inline-block;
41
  position: relative;
42
+ -webkit-user-select: none;
43
+ -moz-user-select: none;
44
+ user-select: none;
45
  }
46
 
47
  .cpel-switcher--layout-dropdown .cpel-switcher__toggle {
60
  }
61
 
62
  .cpel-switcher--layout-dropdown .cpel-switcher__toggle a i {
63
+ vertical-align: middle;
64
+ transform: rotateX(var(--rotate));
65
  transition: transform 0s 200ms;
66
  }
67
 
70
  }
71
 
72
  .cpel-switcher--layout-dropdown .cpel-switcher__toggle.cpel-switcher__toggle--on a i {
73
+ transform: rotateX(calc(var(--rotate) + 180deg));
74
  transition-delay: 0s;
75
  }
76
 
101
  min-width: 100%;
102
  max-height: 0;
103
  overflow: hidden;
104
+ transition: max-height 300ms ease-out;
105
+ }
106
+
107
+ .cpel-switcher--drop-to-up .cpel-switcher__list {
108
+ top: auto;
109
+ bottom: 100%;
110
+ justify-content: flex-start;
111
  }
112
 
113
  .cpel-switcher--layout-dropdown .cpel-switcher__toggle--on+.cpel-switcher__list {
124
  text-align: left;
125
  }
126
 
127
+ /* Toggle dropdown on hover only for desktop */
128
+ @media (pointer: fine) {
129
+ .cpel-switcher--drop-on-hover .cpel-switcher__nav:hover .cpel-switcher__toggle::after {
130
+ width: min(33%, 2.5em);
131
+ }
132
+
133
+ .cpel-switcher--drop-on-hover .cpel-switcher__nav:hover .cpel-switcher__toggle a i {
134
+ transform: rotateX(calc(var(--rotate) + 180deg));
135
+ transition-delay: 0s;
136
+ }
137
+
138
+ .cpel-switcher--drop-on-hover .cpel-switcher__nav:hover .cpel-switcher__list {
139
+ max-height: 300px;
140
+ transition: max-height 400ms ease-in;
141
+ }
142
+ }
143
+
144
 
145
  /* Vertical/Dropdown align */
146
  .cpel-switcher--align-left .cpel-switcher__list {
238
  width: 100%;
239
  max-width: 100%;
240
  height: 100%;
241
+ -o-object-fit: cover;
242
+ object-fit: cover;
243
+ -o-object-position: center;
244
+ object-position: center;
245
  }
246
 
247
  /* Flag relation 1:1 focus */
316
  .cpel-switcher__flag--za img,
317
  .cpel-switcher__flag--ws img,
318
  .cpel-switcher__flag--zw img {
319
+ -o-object-position: left;
320
+ object-position: left;
321
  }
322
 
323
  .cpel-switcher__flag--eh img,
324
  .cpel-switcher__flag--tm img {
325
+ -o-object-position: 20%;
326
+ object-position: 20%;
327
  }
328
 
329
  .cpel-switcher__flag--ai img,
345
  .cpel-switcher__flag--tf img,
346
  .cpel-switcher__flag--tv img,
347
  .cpel-switcher__flag--vg img {
348
+ -o-object-position: 75%;
349
+ object-position: 75%;
350
  }
351
 
352
  .cpel-switcher__flag--as img,
353
  .cpel-switcher__flag--zm img {
354
+ -o-object-position: right;
355
+ object-position: right;
356
  }
assets/css/language-switcher.min.css CHANGED
@@ -1 +1 @@
1
- .cpel-switcher__nav{--cpel-switcher-space:0;display:block}.cpel-switcher__nav .cpel-switcher__list{display:flex;list-style:none;margin:0;padding:0;line-height:normal;-webkit-tap-highlight-color:rgba(0,0,0,0)}.cpel-switcher__nav a{display:inline-block;text-decoration:none;white-space:nowrap}.cpel-switcher--layout-horizontal .cpel-switcher__list{flex-direction:row;flex-wrap:wrap}.cpel-switcher--layout-vertical .cpel-switcher__list{flex-direction:column}.cpel-switcher--layout-dropdown .cpel-switcher__nav{display:inline-block;position:relative;user-select:none}.cpel-switcher--layout-dropdown .cpel-switcher__toggle{position:relative}.cpel-switcher--layout-dropdown .cpel-switcher__toggle:after{content:"";position:absolute;z-index:2;top:0;right:0;bottom:0;width:100%;cursor:pointer}.cpel-switcher--layout-dropdown .cpel-switcher__toggle a i{transition:transform 0s .2s}.cpel-switcher--layout-dropdown .cpel-switcher__toggle.cpel-switcher__toggle--on:after{width:min(33%,2.5em)}.cpel-switcher--layout-dropdown .cpel-switcher__toggle.cpel-switcher__toggle--on a i{transform:rotateX(180deg);transition-delay:0s}.cpel-switcher--layout-dropdown.cpel-switcher--align-left .elementor-widget-container{text-align:left}.cpel-switcher--layout-dropdown.cpel-switcher--align-center .elementor-widget-container{text-align:center}.cpel-switcher--layout-dropdown.cpel-switcher--align-right .elementor-widget-container{text-align:right}.cpel-switcher--layout-dropdown.cpel-switcher--align-justify .cpel-switcher__nav{display:flex}.cpel-switcher--layout-dropdown .cpel-switcher__list{position:absolute;z-index:10;top:100%;display:flex;flex-direction:column;justify-content:flex-end;min-width:100%;max-height:0;overflow:hidden;transition:max-height .2s ease-out}.cpel-switcher--layout-dropdown .cpel-switcher__toggle--on+.cpel-switcher__list{max-height:300px;transition:max-height .4s ease-in}.cpel-switcher--layout-dropdown .cpel-switcher__lang{width:100%}.cpel-switcher--layout-dropdown .cpel-switcher__lang a{display:block;text-align:left}.cpel-switcher--align-left .cpel-switcher__list{align-items:flex-start}.cpel-switcher--align-center .cpel-switcher__list{align-items:center}.cpel-switcher--align-right .cpel-switcher__list{align-items:flex-end}.cpel-switcher--align-justify .cpel-switcher__list{align-items:stretch}.cpel-switcher--align-justify a{width:100%;text-align:center}.cpel-switcher--layout-dropdown.cpel-switcher--align-right .cpel-switcher__list{right:0;left:auto}.cpel-switcher--layout-dropdown.cpel-switcher--align-justify .cpel-switcher__toggle a{display:inline-flex;justify-content:flex-start;align-items:center}.cpel-switcher--layout-dropdown.cpel-switcher--align-justify .cpel-switcher__icon{margin-right:0;margin-left:auto}.cpel-switcher--layout-horizontal.cpel-switcher--align-left .cpel-switcher__list{justify-content:flex-start}.cpel-switcher--layout-horizontal.cpel-switcher--align-center .cpel-switcher__list{justify-content:center}.cpel-switcher--layout-horizontal.cpel-switcher--align-right .cpel-switcher__list{justify-content:flex-end}.cpel-switcher--layout-horizontal.cpel-switcher--align-justify .cpel-switcher__lang{flex-grow:1}.cpel-switcher__lang{margin:0}.cpel-switcher--layout-horizontal .cpel-switcher__lang:not(:last-child){margin-right:var(--cpel-switcher-space)}body.rtl .cpel-switcher--layout-horizontal .cpel-switcher__lang:not(:last-child){margin-left:var(--cpel-switcher-space)}.cpel-switcher--layout-vertical .cpel-switcher__lang:not(:last-child){margin-bottom:var(--cpel-switcher-space)}.cpel-switcher__code,.cpel-switcher__flag,.cpel-switcher__name{display:inline-block;vertical-align:middle}.cpel-switcher__code,.cpel-switcher__name{text-decoration:inherit}.cpel-switcher__flag{line-height:.5em}.cpel-switcher__flag img{width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center}.cpel-switcher__flag--ai img,.cpel-switcher__flag--au img,.cpel-switcher__flag--aw img,.cpel-switcher__flag--bm img,.cpel-switcher__flag--bs img,.cpel-switcher__flag--by img,.cpel-switcher__flag--cd img,.cpel-switcher__flag--ck img,.cpel-switcher__flag--cl img,.cpel-switcher__flag--cn img,.cpel-switcher__flag--cu img,.cpel-switcher__flag--cz img,.cpel-switcher__flag--dj img,.cpel-switcher__flag--er img,.cpel-switcher__flag--es img,.cpel-switcher__flag--esperanto img,.cpel-switcher__flag--fj img,.cpel-switcher__flag--fk img,.cpel-switcher__flag--gq img,.cpel-switcher__flag--gr img,.cpel-switcher__flag--gs img,.cpel-switcher__flag--gw img,.cpel-switcher__flag--gy img,.cpel-switcher__flag--hm img,.cpel-switcher__flag--io img,.cpel-switcher__flag--jo img,.cpel-switcher__flag--km img,.cpel-switcher__flag--kw img,.cpel-switcher__flag--ky img,.cpel-switcher__flag--kz img,.cpel-switcher__flag--lk img,.cpel-switcher__flag--lr img,.cpel-switcher__flag--mg img,.cpel-switcher__flag--mh img,.cpel-switcher__flag--ms img,.cpel-switcher__flag--my img,.cpel-switcher__flag--mz img,.cpel-switcher__flag--na img,.cpel-switcher__flag--np img,.cpel-switcher__flag--nu img,.cpel-switcher__flag--nz img,.cpel-switcher__flag--om img,.cpel-switcher__flag--ph img,.cpel-switcher__flag--pm img,.cpel-switcher__flag--pn img,.cpel-switcher__flag--pr img,.cpel-switcher__flag--ps img,.cpel-switcher__flag--sb img,.cpel-switcher__flag--sc img,.cpel-switcher__flag--sd img,.cpel-switcher__flag--sg img,.cpel-switcher__flag--sh img,.cpel-switcher__flag--sk img,.cpel-switcher__flag--ss img,.cpel-switcher__flag--st img,.cpel-switcher__flag--tc img,.cpel-switcher__flag--tf img,.cpel-switcher__flag--tg img,.cpel-switcher__flag--tk img,.cpel-switcher__flag--tl img,.cpel-switcher__flag--to img,.cpel-switcher__flag--tv img,.cpel-switcher__flag--tw img,.cpel-switcher__flag--us img,.cpel-switcher__flag--uy img,.cpel-switcher__flag--uz img,.cpel-switcher__flag--vg img,.cpel-switcher__flag--vu img,.cpel-switcher__flag--ws img,.cpel-switcher__flag--za img,.cpel-switcher__flag--zw img{object-position:left}.cpel-switcher__flag--eh img,.cpel-switcher__flag--tm img{object-position:20%}.cpel-switcher__flag--ai img,.cpel-switcher__flag--au img,.cpel-switcher__flag--bm img,.cpel-switcher__flag--ck img,.cpel-switcher__flag--fj img,.cpel-switcher__flag--fk img,.cpel-switcher__flag--gs img,.cpel-switcher__flag--hm img,.cpel-switcher__flag--io img,.cpel-switcher__flag--ky img,.cpel-switcher__flag--ms img,.cpel-switcher__flag--nu img,.cpel-switcher__flag--nz img,.cpel-switcher__flag--pn img,.cpel-switcher__flag--sh img,.cpel-switcher__flag--tc img,.cpel-switcher__flag--tf img,.cpel-switcher__flag--tv img,.cpel-switcher__flag--vg img{object-position:75%}.cpel-switcher__flag--as img,.cpel-switcher__flag--zm img{object-position:right}
1
+ .cpel-switcher__nav{--cpel-switcher-space:0;display:block}.cpel-switcher__nav .cpel-switcher__list{display:flex;list-style:none;margin:0;padding:0;line-height:normal;-webkit-tap-highlight-color:rgba(0,0,0,0)}.cpel-switcher__nav a{display:inline-block;text-decoration:none;white-space:nowrap}.cpel-switcher--layout-horizontal .cpel-switcher__list{flex-direction:row;flex-wrap:wrap}.cpel-switcher--layout-vertical .cpel-switcher__list{flex-direction:column}.cpel-switcher--layout-dropdown{--rotate:0}.cpel-switcher--drop-to-up{--rotate:180deg}.cpel-switcher--layout-dropdown .cpel-switcher__nav{display:inline-block;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cpel-switcher--layout-dropdown .cpel-switcher__toggle{position:relative}.cpel-switcher--layout-dropdown .cpel-switcher__toggle::after{content:'';position:absolute;z-index:2;top:0;right:0;bottom:0;width:100%;cursor:pointer}.cpel-switcher--layout-dropdown .cpel-switcher__toggle a i{vertical-align:middle;transform:rotateX(var(--rotate));transition:transform 0s 200ms}.cpel-switcher--layout-dropdown .cpel-switcher__toggle.cpel-switcher__toggle--on::after{width:min(33%,2.5em)}.cpel-switcher--layout-dropdown .cpel-switcher__toggle.cpel-switcher__toggle--on a i{transform:rotateX(calc(var(--rotate) + 180deg));transition-delay:0s}.cpel-switcher--layout-dropdown.cpel-switcher--align-left .elementor-widget-container{text-align:left}.cpel-switcher--layout-dropdown.cpel-switcher--align-center .elementor-widget-container{text-align:center}.cpel-switcher--layout-dropdown.cpel-switcher--align-right .elementor-widget-container{text-align:right}.cpel-switcher--layout-dropdown.cpel-switcher--align-justify .cpel-switcher__nav{display:flex}.cpel-switcher--layout-dropdown .cpel-switcher__list{position:absolute;z-index:10;top:100%;display:flex;flex-direction:column;justify-content:flex-end;min-width:100%;max-height:0;overflow:hidden;transition:max-height 300ms ease-out}.cpel-switcher--drop-to-up .cpel-switcher__list{top:auto;bottom:100%;justify-content:flex-start}.cpel-switcher--layout-dropdown .cpel-switcher__toggle--on+.cpel-switcher__list{max-height:300px;transition:max-height 400ms ease-in}.cpel-switcher--layout-dropdown .cpel-switcher__lang{width:100%}.cpel-switcher--layout-dropdown .cpel-switcher__lang a{display:block;text-align:left}@media(pointer:fine){.cpel-switcher--drop-on-hover .cpel-switcher__nav:hover .cpel-switcher__toggle::after{width:min(33%,2.5em)}.cpel-switcher--drop-on-hover .cpel-switcher__nav:hover .cpel-switcher__toggle a i{transform:rotateX(calc(var(--rotate) + 180deg));transition-delay:0s}.cpel-switcher--drop-on-hover .cpel-switcher__nav:hover .cpel-switcher__list{max-height:300px;transition:max-height 400ms ease-in}}.cpel-switcher--align-left .cpel-switcher__list{align-items:flex-start}.cpel-switcher--align-center .cpel-switcher__list{align-items:center}.cpel-switcher--align-right .cpel-switcher__list{align-items:flex-end}.cpel-switcher--align-justify .cpel-switcher__list{align-items:stretch}.cpel-switcher--align-justify a{width:100%;text-align:center}.cpel-switcher--layout-dropdown.cpel-switcher--align-right .cpel-switcher__list{right:0;left:auto}.cpel-switcher--layout-dropdown.cpel-switcher--align-justify .cpel-switcher__toggle a{display:inline-flex;justify-content:flex-start;align-items:center}.cpel-switcher--layout-dropdown.cpel-switcher--align-justify .cpel-switcher__icon{margin-right:0;margin-left:auto}.cpel-switcher--layout-horizontal.cpel-switcher--align-left .cpel-switcher__list{justify-content:flex-start}.cpel-switcher--layout-horizontal.cpel-switcher--align-center .cpel-switcher__list{justify-content:center}.cpel-switcher--layout-horizontal.cpel-switcher--align-right .cpel-switcher__list{justify-content:flex-end}.cpel-switcher--layout-horizontal.cpel-switcher--align-justify .cpel-switcher__lang{flex-grow:1}.cpel-switcher__lang{margin:0}.cpel-switcher--layout-horizontal .cpel-switcher__lang:not(:last-child){margin-right:var(--cpel-switcher-space)}body.rtl .cpel-switcher--layout-horizontal .cpel-switcher__lang:not(:last-child){margin-left:var(--cpel-switcher-space)}.cpel-switcher--layout-vertical .cpel-switcher__lang:not(:last-child){margin-bottom:var(--cpel-switcher-space)}.cpel-switcher__name,.cpel-switcher__code,.cpel-switcher__flag{display:inline-block;vertical-align:middle}.cpel-switcher__name,.cpel-switcher__code{text-decoration:inherit}.cpel-switcher__flag{line-height:.5em}.cpel-switcher__flag img{width:100%;max-width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.cpel-switcher__flag--ai img,.cpel-switcher__flag--au img,.cpel-switcher__flag--aw img,.cpel-switcher__flag--bm img,.cpel-switcher__flag--bs img,.cpel-switcher__flag--by img,.cpel-switcher__flag--cd img,.cpel-switcher__flag--ck img,.cpel-switcher__flag--cl img,.cpel-switcher__flag--cn img,.cpel-switcher__flag--cu img,.cpel-switcher__flag--cz img,.cpel-switcher__flag--dj img,.cpel-switcher__flag--er img,.cpel-switcher__flag--esperanto img,.cpel-switcher__flag--es img,.cpel-switcher__flag--fj img,.cpel-switcher__flag--fk img,.cpel-switcher__flag--gq img,.cpel-switcher__flag--gr img,.cpel-switcher__flag--gs img,.cpel-switcher__flag--gw img,.cpel-switcher__flag--gy img,.cpel-switcher__flag--hm img,.cpel-switcher__flag--io img,.cpel-switcher__flag--jo img,.cpel-switcher__flag--km img,.cpel-switcher__flag--kw img,.cpel-switcher__flag--ky img,.cpel-switcher__flag--kz img,.cpel-switcher__flag--lk img,.cpel-switcher__flag--lr img,.cpel-switcher__flag--mg img,.cpel-switcher__flag--mh img,.cpel-switcher__flag--ms img,.cpel-switcher__flag--my img,.cpel-switcher__flag--mz img,.cpel-switcher__flag--na img,.cpel-switcher__flag--np img,.cpel-switcher__flag--nu img,.cpel-switcher__flag--nz img,.cpel-switcher__flag--om img,.cpel-switcher__flag--ph img,.cpel-switcher__flag--pm img,.cpel-switcher__flag--pn img,.cpel-switcher__flag--pr img,.cpel-switcher__flag--ps img,.cpel-switcher__flag--sb img,.cpel-switcher__flag--sc img,.cpel-switcher__flag--sd img,.cpel-switcher__flag--sg img,.cpel-switcher__flag--sh img,.cpel-switcher__flag--sk img,.cpel-switcher__flag--ss img,.cpel-switcher__flag--st img,.cpel-switcher__flag--tc img,.cpel-switcher__flag--tf img,.cpel-switcher__flag--tg img,.cpel-switcher__flag--tk img,.cpel-switcher__flag--tl img,.cpel-switcher__flag--to img,.cpel-switcher__flag--tv img,.cpel-switcher__flag--tw img,.cpel-switcher__flag--us img,.cpel-switcher__flag--uy img,.cpel-switcher__flag--uz img,.cpel-switcher__flag--vg img,.cpel-switcher__flag--vu img,.cpel-switcher__flag--za img,.cpel-switcher__flag--ws img,.cpel-switcher__flag--zw img{-o-object-position:left;object-position:left}.cpel-switcher__flag--eh img,.cpel-switcher__flag--tm img{-o-object-position:20%;object-position:20%}.cpel-switcher__flag--ai img,.cpel-switcher__flag--au img,.cpel-switcher__flag--bm img,.cpel-switcher__flag--ck img,.cpel-switcher__flag--fj img,.cpel-switcher__flag--fk img,.cpel-switcher__flag--gs img,.cpel-switcher__flag--hm img,.cpel-switcher__flag--io img,.cpel-switcher__flag--ky img,.cpel-switcher__flag--ms img,.cpel-switcher__flag--nu img,.cpel-switcher__flag--nz img,.cpel-switcher__flag--pn img,.cpel-switcher__flag--sh img,.cpel-switcher__flag--tc img,.cpel-switcher__flag--tf img,.cpel-switcher__flag--tv img,.cpel-switcher__flag--vg img{-o-object-position:75%;object-position:75%}.cpel-switcher__flag--as img,.cpel-switcher__flag--zm img{-o-object-position:right;object-position:right}
connect-polylang-elementor.php CHANGED
@@ -8,7 +8,7 @@
8
  * Plugin Name: Polylang Connect for Elementor
9
  * Plugin URI: https://github.com/creame/connect-polylang-elementor
10
  * Description: Connect Polylang with Elementor. Display templates in the correct language, language switcher widget, language visibility conditions and dynamic tags.
11
- * Version: 2.2.0
12
  * Author: Creame
13
  * Author URI: https://crea.me/
14
  * License: GPL-2.0-or-later
@@ -33,7 +33,7 @@ defined( 'ABSPATH' ) || exit;
33
  *
34
  * @since 2.0.0
35
  */
36
- define( 'CPEL_PLUGIN_VERSION', '2.2.0' );
37
  define( 'CPEL_FILE', __FILE__ );
38
  define( 'CPEL_DIR', plugin_dir_path( CPEL_FILE ) );
39
  define( 'CPEL_BASENAME', plugin_basename( CPEL_FILE ) );
8
  * Plugin Name: Polylang Connect for Elementor
9
  * Plugin URI: https://github.com/creame/connect-polylang-elementor
10
  * Description: Connect Polylang with Elementor. Display templates in the correct language, language switcher widget, language visibility conditions and dynamic tags.
11
+ * Version: 2.3.0
12
  * Author: Creame
13
  * Author URI: https://crea.me/
14
  * License: GPL-2.0-or-later
33
  *
34
  * @since 2.0.0
35
  */
36
+ define( 'CPEL_PLUGIN_VERSION', '2.3.0' );
37
  define( 'CPEL_FILE', __FILE__ );
38
  define( 'CPEL_DIR', plugin_dir_path( CPEL_FILE ) );
39
  define( 'CPEL_BASENAME', plugin_basename( CPEL_FILE ) );
includes/connect-plugins.php CHANGED
@@ -35,6 +35,9 @@ class ConnectPlugins {
35
  // Shortcode template loading.
36
  add_filter( 'pre_do_shortcode_tag', array( $this, 'template_shortcode_translate' ), 10, 3 );
37
 
 
 
 
38
  // Fix home_url() for site-url Dynamic Tag and Search Form widget.
39
  add_filter( 'pll_home_url_white_list', array( $this, 'elementor_home_url_white_list' ) );
40
  add_filter( 'home_url', array( $this, 'home_url_language_dir_slash' ), 11, 2 );
@@ -222,6 +225,43 @@ class ConnectPlugins {
222
 
223
  }
224
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
225
  /**
226
  * Change Elementor template with their translation for the current language (if exists).
227
  *
@@ -352,13 +392,17 @@ class ConnectPlugins {
352
  */
353
  public function instances_column_pre( $column, $post_id ) {
354
 
355
- if ( 'instances' === $column && cpel_is_translation( $post_id ) ) {
356
 
357
- $conditions_manager = \ElementorPro\Plugin::instance()->modules_manager->get_modules( 'theme-builder' )->get_conditions_manager();
358
- $instances = $conditions_manager->get_document_instances( pll_get_post( $post_id, pll_default_language() ) );
 
359
 
360
- echo '<span style="opacity:.4">' . esc_html( implode( ', ', $instances ) ) . '</span><div class="hidden" aria-hidden="true">';
 
 
361
 
 
362
  }
363
 
364
  }
@@ -374,7 +418,7 @@ class ConnectPlugins {
374
  */
375
  public function instances_column_pos( $column, $post_id ) {
376
 
377
- if ( 'instances' === $column && cpel_is_translation( $post_id ) ) {
378
  echo '</div>';
379
  }
380
 
@@ -587,8 +631,9 @@ class ConnectPlugins {
587
 
588
  $language = pll_default_language();
589
 
590
- $conditions_manager = \ElementorPro\Plugin::instance()->modules_manager->get_modules( 'theme-builder' )->get_conditions_manager();
591
- $instances = $conditions_manager->get_document_instances( pll_get_post( $post_id, $language ) );
 
592
 
593
  if ( empty( $instances ) ) {
594
  $instances = array( 'no_instances' => esc_html__( 'No instances', 'elementor-pro' ) );
35
  // Shortcode template loading.
36
  add_filter( 'pre_do_shortcode_tag', array( $this, 'template_shortcode_translate' ), 10, 3 );
37
 
38
+ // Elementor Kit template loading.
39
+ add_filter( 'option_elementor_active_kit', array( $this, 'elementor_kit_translation' ) );
40
+
41
  // Fix home_url() for site-url Dynamic Tag and Search Form widget.
42
  add_filter( 'pll_home_url_white_list', array( $this, 'elementor_home_url_white_list' ) );
43
  add_filter( 'home_url', array( $this, 'home_url_language_dir_slash' ), 11, 2 );
225
 
226
  }
227
 
228
+ /**
229
+ * Change Elementor Kit template with their translation for the current language (if exists).
230
+ *
231
+ * @since 2.3.0
232
+ *
233
+ * @uses pll_get_post()
234
+ * @uses pll_get_post_language()
235
+ *
236
+ * @param mixed $value Value of 'elementor_active_kit' option, the ID of current Elementor Kit
237
+ * @return int The translation ID, or the original Elementor Kit ID
238
+ */
239
+ public function elementor_kit_translation( $value ) {
240
+
241
+ $translation = null;
242
+
243
+ // Is API REST '/wp-json/elementor/v1/globals'.
244
+ if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {
245
+ // Referrer is Elementor Editor?
246
+ wp_parse_str( parse_url( $_SERVER['HTTP_REFERER'], PHP_URL_QUERY ), $query );
247
+
248
+ if ( isset( $query['action'], $query['post'] ) && 'elementor' === $query['action'] ) {
249
+ $translation = pll_get_post( $value, pll_get_post_language( intval( $query['post'] ) ) );
250
+ }
251
+ } elseif ( cpel_is_elementor_editor() ) {
252
+
253
+ $translation = pll_get_post( $value, pll_get_post_language( intval( $_GET['post'] ) ) );
254
+
255
+ } elseif ( ! is_admin() ) {
256
+
257
+ $translation = pll_get_post( $value );
258
+
259
+ }
260
+
261
+ return $translation ?: $value;
262
+
263
+ }
264
+
265
  /**
266
  * Change Elementor template with their translation for the current language (if exists).
267
  *
392
  */
393
  public function instances_column_pre( $column, $post_id ) {
394
 
395
+ if ( 'instances' === $column && 'widget' !== get_post_meta( $post_id, '_elementor_template_type', true ) && cpel_is_translation( $post_id ) ) {
396
 
397
+ $default_post = pll_get_post( $post_id, pll_default_language() );
398
+ $theme_builder = \ElementorPro\Plugin::instance()->modules_manager->get_modules( 'theme-builder' );
399
+ $instances = $theme_builder->get_conditions_manager()->get_document_instances( $default_post );
400
 
401
+ if ( empty( $instances ) ) {
402
+ $instances = array( 'none' => esc_html__( 'None', 'elementor-pro' ) );
403
+ }
404
 
405
+ echo '<span style="opacity:.4">' . esc_html( implode( ', ', $instances ) ) . '</span><div class="hidden" aria-hidden="true">';
406
  }
407
 
408
  }
418
  */
419
  public function instances_column_pos( $column, $post_id ) {
420
 
421
+ if ( 'instances' === $column && 'widget' !== get_post_meta( $post_id, '_elementor_template_type', true ) && cpel_is_translation( $post_id ) ) {
422
  echo '</div>';
423
  }
424
 
631
 
632
  $language = pll_default_language();
633
 
634
+ $default_post = pll_get_post( $post_id, $language );
635
+ $theme_builder = \ElementorPro\Plugin::instance()->modules_manager->get_modules( 'theme-builder' );
636
+ $instances = $theme_builder->get_conditions_manager()->get_document_instances( $default_post );
637
 
638
  if ( empty( $instances ) ) {
639
  $instances = array( 'no_instances' => esc_html__( 'No instances', 'elementor-pro' ) );
includes/elementor-assets.php CHANGED
@@ -48,9 +48,8 @@ class ElementorAssets {
48
  }
49
 
50
  $is_preview = isset( $_GET['elementor_preview'] );
51
- $is_editor = isset( $_GET['action'] ) && 'elementor' === $_GET['action'];
52
 
53
- if ( ! $is_editor && ! $is_preview ) {
54
  return;
55
  }
56
 
@@ -169,9 +168,7 @@ class ElementorAssets {
169
  */
170
  public function editor_domain_redirect() {
171
 
172
- $is_editor = isset( $_GET['action'] ) && 'elementor' === $_GET['action'];
173
-
174
- if ( ! $is_editor ) {
175
  return;
176
  }
177
 
48
  }
49
 
50
  $is_preview = isset( $_GET['elementor_preview'] );
 
51
 
52
+ if ( ! cpel_is_elementor_editor() && ! $is_preview ) {
53
  return;
54
  }
55
 
168
  */
169
  public function editor_domain_redirect() {
170
 
171
+ if ( ! cpel_is_elementor_editor() ) {
 
 
172
  return;
173
  }
174
 
includes/functions.php CHANGED
@@ -83,6 +83,19 @@ function cpel_is_polylang_multidomain() {
83
 
84
  }
85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  /**
87
  * Is post a translation in secondary language
88
  *
83
 
84
  }
85
 
86
+ /**
87
+ * Is Elementor Editor
88
+ *
89
+ * @since 2.3.0
90
+ *
91
+ * @return bool TRUE if is Elementor Editor, FALSE otherwise.
92
+ */
93
+ function cpel_is_elementor_editor() {
94
+
95
+ return is_admin() && isset( $_GET['action'], $_GET['post'] ) && 'elementor' === $_GET['action'];
96
+
97
+ }
98
+
99
  /**
100
  * Is post a translation in secondary language
101
  *
includes/widgets/polylang-language-switcher.php CHANGED
@@ -180,7 +180,7 @@ class PolylangLanguageSwitcher extends Widget_Base {
180
  'options' => array(
181
  'horizontal' => __( 'Horizontal', 'elementor' ),
182
  'vertical' => __( 'Vertical', 'elementor' ),
183
- 'dropdown' => __( 'Dropdown', 'elementor' ),
184
  ),
185
  'default' => 'horizontal',
186
  'prefix_class' => 'cpel-switcher--layout-',
@@ -442,16 +442,55 @@ class PolylangLanguageSwitcher extends Widget_Base {
442
  )
443
  );
444
 
445
- $this->add_control(
446
- 'heading_dropdown',
 
 
 
 
 
 
447
  array(
448
- 'label' => __( 'Dropdown', 'elementor-pro' ),
449
- 'type' => Controls_Manager::HEADING,
450
- 'separator' => 'before',
451
  'condition' => array( 'layout' => 'dropdown' ),
452
  )
453
  );
454
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
455
  $this->add_control(
456
  'dropdown_icon',
457
  array(
@@ -473,7 +512,6 @@ class PolylangLanguageSwitcher extends Widget_Base {
473
  'value' => 'fas fa-caret-down',
474
  'library' => 'fa-solid',
475
  ),
476
- 'condition' => array( 'layout' => 'dropdown' ),
477
  )
478
  );
479
 
@@ -488,7 +526,6 @@ class PolylangLanguageSwitcher extends Widget_Base {
488
  'default' => array( 'size' => '10' ),
489
  'selectors' => array( '{{WRAPPER}} .cpel-switcher__icon' => 'padding-left: {{SIZE}}{{UNIT}};' ),
490
  'condition' => array(
491
- 'layout' => 'dropdown',
492
  'dropdown_icon[value]!' => '',
493
  ),
494
  )
@@ -678,13 +715,10 @@ class PolylangLanguageSwitcher extends Widget_Base {
678
  // Add render attributes for Elementor.
679
  $this->add_render_attribute(
680
  array(
681
- '_wrapper' => array(
682
- 'class' => 'cpel-switcher--layout-' . $settings['layout'],
683
- ),
684
- 'nav' => array(
685
  'class' => 'cpel-switcher__nav',
686
  ),
687
- 'icon' => array(
688
  'class' => array(
689
  'cpel-switcher__icon',
690
  empty( $settings['dropdown_icon']['value'] ) ? '' : $settings['dropdown_icon']['value'],
180
  'options' => array(
181
  'horizontal' => __( 'Horizontal', 'elementor' ),
182
  'vertical' => __( 'Vertical', 'elementor' ),
183
+ 'dropdown' => __( 'Dropdown', 'connect-polylang-elementor' ),
184
  ),
185
  'default' => 'horizontal',
186
  'prefix_class' => 'cpel-switcher--layout-',
442
  )
443
  );
444
 
445
+ $this->end_controls_section();
446
+
447
+ /**
448
+ * Style: Dropdown
449
+ */
450
+
451
+ $this->start_controls_section(
452
+ 'dropdown_section',
453
  array(
454
+ 'label' => __( 'Dropdown', 'connect-polylang-elementor' ),
455
+ 'tab' => Controls_Manager::TAB_STYLE,
 
456
  'condition' => array( 'layout' => 'dropdown' ),
457
  )
458
  );
459
 
460
+ $this->add_control(
461
+ 'dropdown_on',
462
+ array(
463
+ 'label' => __( 'Drop', 'connect-polylang-elementor' ),
464
+ 'type' => Controls_Manager::SELECT,
465
+ 'options' => array(
466
+ 'click' => __( 'On Click', 'connect-polylang-elementor' ),
467
+ 'hover' => __( 'On Mouse Hover', 'connect-polylang-elementor' ),
468
+ ),
469
+ 'default' => 'click',
470
+ 'prefix_class' => 'cpel-switcher--drop-on-',
471
+ )
472
+ );
473
+
474
+ $this->add_control(
475
+ 'dropdown_to',
476
+ array(
477
+ 'label' => __( 'Drop Direction', 'connect-polylang-elementor' ),
478
+ 'type' => Controls_Manager::CHOOSE,
479
+ 'options' => array(
480
+ 'down' => array(
481
+ 'title' => __( 'Down', 'elementor' ),
482
+ 'icon' => 'eicon-arrow-down',
483
+ ),
484
+ 'up' => array(
485
+ 'title' => __( 'Up', 'elementor' ),
486
+ 'icon' => 'eicon-arrow-up',
487
+ ),
488
+ ),
489
+ 'default' => 'down',
490
+ 'prefix_class' => 'cpel-switcher--drop-to-',
491
+ )
492
+ );
493
+
494
  $this->add_control(
495
  'dropdown_icon',
496
  array(
512
  'value' => 'fas fa-caret-down',
513
  'library' => 'fa-solid',
514
  ),
 
515
  )
516
  );
517
 
526
  'default' => array( 'size' => '10' ),
527
  'selectors' => array( '{{WRAPPER}} .cpel-switcher__icon' => 'padding-left: {{SIZE}}{{UNIT}};' ),
528
  'condition' => array(
 
529
  'dropdown_icon[value]!' => '',
530
  ),
531
  )
715
  // Add render attributes for Elementor.
716
  $this->add_render_attribute(
717
  array(
718
+ 'nav' => array(
 
 
 
719
  'class' => 'cpel-switcher__nav',
720
  ),
721
+ 'icon' => array(
722
  'class' => array(
723
  'cpel-switcher__icon',
724
  empty( $settings['dropdown_icon']['value'] ) ? '' : $settings['dropdown_icon']['value'],
languages/connect-polylang-elementor-es_ES.mo CHANGED
Binary file
languages/connect-polylang-elementor-es_ES.po CHANGED
@@ -3,9 +3,9 @@ msgstr ""
3
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
4
  "Project-Id-Version: Connect Polylang to Elementor\n"
5
  "POT-Creation-Date: 2021-05-14 10:09+0000\n"
6
- "PO-Revision-Date: 2022-02-23 17:03+0000\n"
7
- "Last-Translator: Pacotole <pacotole@crea.me>\n"
8
- "Language-Team: Español\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
@@ -19,11 +19,11 @@ msgstr ""
19
  "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
20
  "Language: es_ES\n"
21
  "Report-Msgid-Bugs-To: \n"
22
- "X-Loco-Version: 2.5.2; wp-5.7.2\n"
23
  "X-Poedit-SearchPath-0: .\n"
24
  "X-Poedit-SearchPathExcluded-0: *.js\n"
25
 
26
- #: includes/connect-plugins.php:498
27
  #, php-format
28
  msgid "(from %s)"
29
  msgstr "(desde %s)"
@@ -38,7 +38,6 @@ msgid "languages, switcher, polylang, multilingual, flags, countries, country"
38
  msgstr "idiomas, conmutador, polylang, multilingüe, banderas, países, país"
39
 
40
  #. Description of the plugin
41
- #, fuzzy
42
  #| msgid ""
43
  #| "Connect Polylang with Elementor Page Builder. Display templates in the "
44
  #| "correct language, language switcher widget, widget language visibility "
@@ -47,16 +46,16 @@ msgid ""
47
  "Connect Polylang with Elementor. Display templates in the correct language, "
48
  "language switcher widget, language visibility conditions and dynamic tags."
49
  msgstr ""
50
- "Conecta Polylang con Elementor Page Builder. Muestra las plantillas en el "
51
- "idioma correcto, widget de selección de idioma, ajustes de visibilidad de "
52
- "widget por idioma y etiquetas dinámicas de idioma."
53
 
54
  #. Author of the plugin
55
  msgid "Creame"
56
  msgstr "Creame"
57
 
58
- #: includes/dynamic-tags/tag-trait.php:18
59
  #: includes/dynamic-tags/language-flag.php:30
 
60
  msgid "Current Language"
61
  msgstr "Idioma actual"
62
 
@@ -65,6 +64,19 @@ msgstr "Idioma actual"
65
  msgid "Displays language codes"
66
  msgstr "Muestra los códigos de los idiomas"
67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  #: includes/dynamic-tags/language-code.php:19
69
  msgctxt "Elementor Dynamic Tag title"
70
  msgid "Language Code"
@@ -85,7 +97,7 @@ msgctxt "Elementor Dynamic Tag title"
85
  msgid "Language URL"
86
  msgstr "URL de idioma"
87
 
88
- #. Title attribute for Elementor My Templates link
89
  #: includes/admin-extras.php:63
90
  msgid "Elementor My Templates"
91
  msgstr "Elementor Mis Plantillas"
@@ -102,16 +114,16 @@ msgstr "Padding horizontal"
102
  msgid "https://crea.me/"
103
  msgstr "https://crea.me/"
104
 
105
- #. URI of the plugin
106
  #| msgid "https://github.com/deckerweb/connect-polylang-elementor"
107
  msgid "https://github.com/creame/connect-polylang-elementor"
108
  msgstr "https://github.com/creame/connect-polylang-elementor"
109
 
110
- #: includes/widgets/polylang-language-switcher.php:608
111
  msgid "Language Code"
112
  msgstr "Código de idioma"
113
 
114
- #: includes/widgets/polylang-language-switcher.php:578
115
  msgid "Language Name"
116
  msgstr "Nombre de idioma"
117
 
@@ -133,22 +145,30 @@ msgstr "Idiomas"
133
  msgid "Main Menu"
134
  msgstr "Menú principal"
135
 
 
 
 
 
 
 
 
 
136
  #: includes/finder/polylang-category.php:83
137
  #| msgid "Plugin's settings, enable/ disable modules"
138
  msgid "Plugin's settings, enable/disable modules"
139
  msgstr "Configuración del plugin, habilitar/deshabilitar módulos"
140
 
141
- #. Name of the plugin
142
  msgid "Polylang Connect for Elementor"
143
  msgstr "Polylang Connect para Elementor"
144
 
145
- #. Title attribute for Polylang settings link
146
  #: includes/admin-extras.php:50
147
  msgid "Polylang Languages Setup"
148
  msgstr "Configuración de idiomas de Polylang"
149
 
150
  #: includes/dynamic-tags/language-flag.php:51
151
- #: includes/widgets/polylang-language-switcher.php:515
152
  msgid "Scalable Image"
153
  msgstr "Imagen escalable"
154
 
3
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
4
  "Project-Id-Version: Connect Polylang to Elementor\n"
5
  "POT-Creation-Date: 2021-05-14 10:09+0000\n"
6
+ "PO-Revision-Date: 2022-07-29 12:05+0000\n"
7
+ "Last-Translator: Creame\n"
8
+ "Language-Team: Spanish (Spain)\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
19
  "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
20
  "Language: es_ES\n"
21
  "Report-Msgid-Bugs-To: \n"
22
+ "X-Loco-Version: 2.6.2; wp-6.0.1\n"
23
  "X-Poedit-SearchPath-0: .\n"
24
  "X-Poedit-SearchPathExcluded-0: *.js\n"
25
 
26
+ #: includes/connect-plugins.php:645
27
  #, php-format
28
  msgid "(from %s)"
29
  msgstr "(desde %s)"
38
  msgstr "idiomas, conmutador, polylang, multilingüe, banderas, países, país"
39
 
40
  #. Description of the plugin
 
41
  #| msgid ""
42
  #| "Connect Polylang with Elementor Page Builder. Display templates in the "
43
  #| "correct language, language switcher widget, widget language visibility "
46
  "Connect Polylang with Elementor. Display templates in the correct language, "
47
  "language switcher widget, language visibility conditions and dynamic tags."
48
  msgstr ""
49
+ "Conecta Polylang con Elementor. Muestra las plantillas en el idioma correcto,"
50
+ " widget de selección de idioma, ajustes de visibilidad por idioma y "
51
+ "etiquetas dinámicas de idioma."
52
 
53
  #. Author of the plugin
54
  msgid "Creame"
55
  msgstr "Creame"
56
 
 
57
  #: includes/dynamic-tags/language-flag.php:30
58
+ #: includes/dynamic-tags/tag-trait.php:18
59
  msgid "Current Language"
60
  msgstr "Idioma actual"
61
 
64
  msgid "Displays language codes"
65
  msgstr "Muestra los códigos de los idiomas"
66
 
67
+ #: includes/widgets/polylang-language-switcher.php:472
68
+ msgid "Drop"
69
+ msgstr "Desplegar"
70
+
71
+ #: includes/widgets/polylang-language-switcher.php:487
72
+ msgid "Drop Direction"
73
+ msgstr "Dirección de despligue"
74
+
75
+ #: includes/widgets/polylang-language-switcher.php:183
76
+ #: includes/widgets/polylang-language-switcher.php:451
77
+ msgid "Dropdown"
78
+ msgstr "Desplegable"
79
+
80
  #: includes/dynamic-tags/language-code.php:19
81
  msgctxt "Elementor Dynamic Tag title"
82
  msgid "Language Code"
97
  msgid "Language URL"
98
  msgstr "URL de idioma"
99
 
100
+ #. translators: Title attribute for Elementor My Templates link
101
  #: includes/admin-extras.php:63
102
  msgid "Elementor My Templates"
103
  msgstr "Elementor Mis Plantillas"
114
  msgid "https://crea.me/"
115
  msgstr "https://crea.me/"
116
 
117
+ #. Plugin URI of the plugin
118
  #| msgid "https://github.com/deckerweb/connect-polylang-elementor"
119
  msgid "https://github.com/creame/connect-polylang-elementor"
120
  msgstr "https://github.com/creame/connect-polylang-elementor"
121
 
122
+ #: includes/widgets/polylang-language-switcher.php:656
123
  msgid "Language Code"
124
  msgstr "Código de idioma"
125
 
126
+ #: includes/widgets/polylang-language-switcher.php:626
127
  msgid "Language Name"
128
  msgstr "Nombre de idioma"
129
 
145
  msgid "Main Menu"
146
  msgstr "Menú principal"
147
 
148
+ #: includes/widgets/polylang-language-switcher.php:475
149
+ msgid "On Click"
150
+ msgstr "Al hacer clic"
151
+
152
+ #: includes/widgets/polylang-language-switcher.php:476
153
+ msgid "On Mouse Hover"
154
+ msgstr "Al pasar el cursor"
155
+
156
  #: includes/finder/polylang-category.php:83
157
  #| msgid "Plugin's settings, enable/ disable modules"
158
  msgid "Plugin's settings, enable/disable modules"
159
  msgstr "Configuración del plugin, habilitar/deshabilitar módulos"
160
 
161
+ #. Plugin Name of the plugin
162
  msgid "Polylang Connect for Elementor"
163
  msgstr "Polylang Connect para Elementor"
164
 
165
+ #. translators: Title attribute for Polylang settings link
166
  #: includes/admin-extras.php:50
167
  msgid "Polylang Languages Setup"
168
  msgstr "Configuración de idiomas de Polylang"
169
 
170
  #: includes/dynamic-tags/language-flag.php:51
171
+ #: includes/widgets/polylang-language-switcher.php:563
172
  msgid "Scalable Image"
173
  msgstr "Imagen escalable"
174
 
languages/connect-polylang-elementor.pot CHANGED
@@ -1,58 +1,61 @@
1
- #, fuzzy
 
2
  msgid ""
3
  msgstr ""
4
- "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
5
- "Project-Id-Version: Connect Polylang to Elementor\n"
6
- "POT-Creation-Date: 2022-02-23 17:02+0000\n"
7
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
- "Last-Translator: David Decker DECKERWEB.de -- https://deckerweb.de/\n"
9
- "Language-Team: David Decker DECKERWEB.de -- https://deckerweb.de/\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Loco https://localise.biz/\n"
14
- "X-Poedit-Basepath: ..\n"
15
- "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
- "X-Poedit-WPHeader: connect-polylang-elementor.php\n"
17
- "X-Poedit-SourceCharset: UTF-8\n"
18
- "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
19
- "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
20
- "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
21
- "X-Poedit-SearchPath-0: .\n"
22
- "X-Poedit-SearchPathExcluded-0: *.js\n"
23
- "Language: "
24
-
25
- #: includes/connect-plugins.php:498
26
- #, php-format
27
- msgid "(from %s)"
28
- msgstr ""
29
 
30
- #: includes/finder/polylang-category.php:67
31
- msgid "All languages of your website"
32
  msgstr ""
33
 
34
- #: includes/widgets/polylang-language-switcher.php:108
35
- msgctxt "Comma separated keywords"
36
- msgid "languages, switcher, polylang, multilingual, flags, countries, country"
37
  msgstr ""
38
 
39
  #. Description of the plugin
40
- msgid ""
41
- "Connect Polylang with Elementor. Display templates in the correct language, "
42
- "language switcher widget, language visibility conditions and dynamic tags."
43
  msgstr ""
44
 
45
  #. Author of the plugin
46
  msgid "Creame"
47
  msgstr ""
48
 
49
- #: includes/dynamic-tags/tag-trait.php:18
50
- #: includes/dynamic-tags/language-flag.php:30
51
- msgid "Current Language"
52
  msgstr ""
53
 
54
- #: includes/widgets/polylang-language-switcher.php:262
55
- msgid "Displays language codes"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  msgstr ""
57
 
58
  #: includes/dynamic-tags/language-code.php:19
@@ -65,6 +68,16 @@ msgctxt "Elementor Dynamic Tag title"
65
  msgid "Language Flag"
66
  msgstr ""
67
 
 
 
 
 
 
 
 
 
 
 
68
  #: includes/dynamic-tags/language-name.php:19
69
  msgctxt "Elementor Dynamic Tag title"
70
  msgid "Language Name"
@@ -75,109 +88,106 @@ msgctxt "Elementor Dynamic Tag title"
75
  msgid "Language URL"
76
  msgstr ""
77
 
78
- #. Title attribute for Elementor My Templates link
79
- #: includes/admin-extras.php:63
80
- msgid "Elementor My Templates"
81
  msgstr ""
82
 
83
- #: includes/finder/polylang-category.php:75
84
- msgid "From Widgets and other website parts"
 
85
  msgstr ""
86
 
87
- #: includes/widgets/polylang-language-switcher.php:403
88
- msgid "Horizontal Padding"
89
  msgstr ""
90
 
91
- #. Author URI of the plugin
92
- msgid "https://crea.me/"
 
93
  msgstr ""
94
 
95
- #. URI of the plugin
96
- msgid "https://github.com/creame/connect-polylang-elementor"
 
97
  msgstr ""
98
 
99
- #: includes/widgets/polylang-language-switcher.php:608
100
- msgid "Language Code"
101
  msgstr ""
102
 
103
- #: includes/widgets/polylang-language-switcher.php:578
104
- msgid "Language Name"
 
105
  msgstr ""
106
 
107
- #: includes/language-visibility.php:70
108
- msgid "Language Visibility"
 
109
  msgstr ""
110
 
111
- #: includes/admin-extras.php:64
112
- msgctxt "Link title attribute for Elementor My Templates"
113
- msgid "Templates"
114
  msgstr ""
115
 
116
- #: includes/admin-extras.php:51
117
- msgctxt "Link title attribute for Polylang settings"
118
- msgid "Languages"
119
  msgstr ""
120
 
121
- #: includes/widgets/polylang-language-switcher.php:275
122
- msgid "Main Menu"
123
  msgstr ""
124
 
125
- #: includes/finder/polylang-category.php:83
126
- msgid "Plugin's settings, enable/disable modules"
127
  msgstr ""
128
 
129
- #. Name of the plugin
130
- msgid "Polylang Connect for Elementor"
 
131
  msgstr ""
132
 
133
- #. Title attribute for Polylang settings link
134
- #: includes/admin-extras.php:50
135
- msgid "Polylang Languages Setup"
136
  msgstr ""
137
 
138
- #: includes/dynamic-tags/language-flag.php:51
139
- #: includes/widgets/polylang-language-switcher.php:515
140
- msgid "Scalable Image"
141
  msgstr ""
142
 
143
- #: includes/finder/polylang-category.php:66
144
- msgctxt "Tags in Elementor Finder"
145
- msgid "polylang,languages,setup,flags,country,countries"
146
  msgstr ""
147
 
148
- #: includes/finder/polylang-category.php:82
149
- msgctxt "Tags in Elementor Finder"
150
- msgid "polylang,settings,options,modules"
151
  msgstr ""
152
 
153
- #: includes/finder/polylang-category.php:74
154
- msgctxt "Tags in Elementor Finder"
155
- msgid "polylang,translations,translate,strings"
156
  msgstr ""
157
 
158
- #: includes/finder/polylang-category.php:79
159
- msgctxt "Title in Elementor Finder"
160
- msgid "Settings"
161
  msgstr ""
162
 
163
- #: includes/finder/polylang-category.php:63
164
- msgctxt "Title in Elementor Finder"
165
- msgid "Setup Languages"
166
  msgstr ""
167
 
168
- #: includes/finder/polylang-category.php:71
169
- msgctxt "Title in Elementor Finder"
170
- msgid "String Translations"
171
  msgstr ""
172
 
173
- #: includes/widgets/polylang-language-switcher.php:418
174
- msgid "Vertical Padding"
175
  msgstr ""
176
 
177
- #: includes/finder/polylang-category.php:104
178
- msgid "View website in this language"
179
  msgstr ""
180
 
181
- #: includes/language-visibility.php:110
182
- msgid "When language is:"
183
  msgstr ""
1
+ # Copyright (C) 2022 Creame
2
+ # This file is distributed under the GPL-2.0-or-later.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Polylang Connect for Elementor 2.3.0\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/connect-polylang-elementor\n"
7
+ "Last-Translator: Pacotole <pacotole@crea.me>\n"
8
+ "Language-Team: Creame <hola@crea.me>\n"
 
 
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-07-29T11:52:06+00:00\n"
13
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
+ "X-Generator: WP-CLI 2.6.0\n"
15
+ "X-Domain: connect-polylang-elementor\n"
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
+ #. Plugin Name of the plugin
18
+ msgid "Polylang Connect for Elementor"
19
  msgstr ""
20
 
21
+ #. Plugin URI of the plugin
22
+ msgid "https://github.com/creame/connect-polylang-elementor"
 
23
  msgstr ""
24
 
25
  #. Description of the plugin
26
+ msgid "Connect Polylang with Elementor. Display templates in the correct language, language switcher widget, language visibility conditions and dynamic tags."
 
 
27
  msgstr ""
28
 
29
  #. Author of the plugin
30
  msgid "Creame"
31
  msgstr ""
32
 
33
+ #. Author URI of the plugin
34
+ msgid "https://crea.me/"
 
35
  msgstr ""
36
 
37
+ #. translators: Title attribute for Polylang settings link
38
+ #: includes/admin-extras.php:50
39
+ msgid "Polylang Languages Setup"
40
+ msgstr ""
41
+
42
+ #: includes/admin-extras.php:51
43
+ msgctxt "Link title attribute for Polylang settings"
44
+ msgid "Languages"
45
+ msgstr ""
46
+
47
+ #. translators: Title attribute for Elementor My Templates link
48
+ #: includes/admin-extras.php:63
49
+ msgid "Elementor My Templates"
50
+ msgstr ""
51
+
52
+ #: includes/admin-extras.php:64
53
+ msgctxt "Link title attribute for Elementor My Templates"
54
+ msgid "Templates"
55
+ msgstr ""
56
+
57
+ #: includes/connect-plugins.php:645
58
+ msgid "(from %s)"
59
  msgstr ""
60
 
61
  #: includes/dynamic-tags/language-code.php:19
68
  msgid "Language Flag"
69
  msgstr ""
70
 
71
+ #: includes/dynamic-tags/language-flag.php:30
72
+ #: includes/dynamic-tags/tag-trait.php:18
73
+ msgid "Current Language"
74
+ msgstr ""
75
+
76
+ #: includes/dynamic-tags/language-flag.php:51
77
+ #: includes/widgets/polylang-language-switcher.php:563
78
+ msgid "Scalable Image"
79
+ msgstr ""
80
+
81
  #: includes/dynamic-tags/language-name.php:19
82
  msgctxt "Elementor Dynamic Tag title"
83
  msgid "Language Name"
88
  msgid "Language URL"
89
  msgstr ""
90
 
91
+ #: includes/finder/polylang-category.php:63
92
+ msgctxt "Title in Elementor Finder"
93
+ msgid "Setup Languages"
94
  msgstr ""
95
 
96
+ #: includes/finder/polylang-category.php:66
97
+ msgctxt "Tags in Elementor Finder"
98
+ msgid "polylang,languages,setup,flags,country,countries"
99
  msgstr ""
100
 
101
+ #: includes/finder/polylang-category.php:67
102
+ msgid "All languages of your website"
103
  msgstr ""
104
 
105
+ #: includes/finder/polylang-category.php:71
106
+ msgctxt "Title in Elementor Finder"
107
+ msgid "String Translations"
108
  msgstr ""
109
 
110
+ #: includes/finder/polylang-category.php:74
111
+ msgctxt "Tags in Elementor Finder"
112
+ msgid "polylang,translations,translate,strings"
113
  msgstr ""
114
 
115
+ #: includes/finder/polylang-category.php:75
116
+ msgid "From Widgets and other website parts"
117
  msgstr ""
118
 
119
+ #: includes/finder/polylang-category.php:79
120
+ msgctxt "Title in Elementor Finder"
121
+ msgid "Settings"
122
  msgstr ""
123
 
124
+ #: includes/finder/polylang-category.php:82
125
+ msgctxt "Tags in Elementor Finder"
126
+ msgid "polylang,settings,options,modules"
127
  msgstr ""
128
 
129
+ #: includes/finder/polylang-category.php:83
130
+ msgid "Plugin's settings, enable/disable modules"
 
131
  msgstr ""
132
 
133
+ #: includes/finder/polylang-category.php:104
134
+ msgid "View website in this language"
 
135
  msgstr ""
136
 
137
+ #: includes/language-visibility.php:70
138
+ msgid "Language Visibility"
139
  msgstr ""
140
 
141
+ #: includes/language-visibility.php:110
142
+ msgid "When language is:"
143
  msgstr ""
144
 
145
+ #: includes/widgets/polylang-language-switcher.php:108
146
+ msgctxt "Comma separated keywords"
147
+ msgid "languages, switcher, polylang, multilingual, flags, countries, country"
148
  msgstr ""
149
 
150
+ #: includes/widgets/polylang-language-switcher.php:183
151
+ #: includes/widgets/polylang-language-switcher.php:451
152
+ msgid "Dropdown"
153
  msgstr ""
154
 
155
+ #: includes/widgets/polylang-language-switcher.php:262
156
+ msgid "Displays language codes"
 
157
  msgstr ""
158
 
159
+ #: includes/widgets/polylang-language-switcher.php:275
160
+ msgid "Main Menu"
 
161
  msgstr ""
162
 
163
+ #: includes/widgets/polylang-language-switcher.php:403
164
+ msgid "Horizontal Padding"
 
165
  msgstr ""
166
 
167
+ #: includes/widgets/polylang-language-switcher.php:418
168
+ msgid "Vertical Padding"
 
169
  msgstr ""
170
 
171
+ #: includes/widgets/polylang-language-switcher.php:472
172
+ msgid "Drop"
 
173
  msgstr ""
174
 
175
+ #: includes/widgets/polylang-language-switcher.php:475
176
+ msgid "On Click"
 
177
  msgstr ""
178
 
179
+ #: includes/widgets/polylang-language-switcher.php:476
180
+ msgid "On Mouse Hover"
 
181
  msgstr ""
182
 
183
+ #: includes/widgets/polylang-language-switcher.php:487
184
+ msgid "Drop Direction"
185
  msgstr ""
186
 
187
+ #: includes/widgets/polylang-language-switcher.php:626
188
+ msgid "Language Name"
189
  msgstr ""
190
 
191
+ #: includes/widgets/polylang-language-switcher.php:656
192
+ msgid "Language Code"
193
  msgstr ""