Custom Icons for Elementor - Version 0.1.2

Version Description

  • Rewriting of help instructions to be more clear
  • Limit upload area to zip files only to prevent confusion
  • Added javascript translations
  • Fixed icon font rendering after upload
  • Added additional error alerts on font upload for hosts with no zip support
Download this release

Release Info

Developer michaelbourne
Plugin Icon 128x128 Custom Icons for Elementor
Version 0.1.2
Comparing to
See all releases

Code changes from version 0.1.1 to 0.1.2

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.me/yycpro
4
  Tags: elementor, icons, fontello, icon fonts
5
  Requires at least: 4.5
6
  Tested up to: 4.9.8
7
- Stable tag: 0.1.1
8
  License: GPLv3 or later
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
10
 
@@ -32,18 +32,22 @@ Looking for a video tutorial? [Here it is!](https://youtu.be/Rnu9XVD8AdI)
32
  1. Upload your plugin folder to the '/wp-content/plugins' directory.
33
  2. Activate the plugin through the 'Plugins' menu in WordPress.
34
  3. Go to Fontello.com to create your own icon font. Download the zip when done.
35
- 4. Upload previous zip file to the plugins settings page.
36
 
37
  == Frequently Asked Questions ==
38
 
39
  = What can I do with this plugin? =
40
 
41
- You can add your own icons to Elementor (free and pro). From exisiting icon fonts to totally custom SVG icons, no more messing around with CSS or image elements. It's now all baked in.
42
 
43
  = Can I upload more than one Fontello package to a single site? =
44
 
45
  You bet! Upload as many as you like, they will all work. However, make sure you give each font a unique name (text box beside the Fontello download button).
46
 
 
 
 
 
47
  == Plugin Removal ==
48
 
49
  Removing this plugin will render your custom icons to be broken. Take care to remove them from your elements prior to plugin removal.
@@ -54,6 +58,13 @@ None yet
54
 
55
  == Changelog ==
56
 
 
 
 
 
 
 
 
57
  = 0.1.1 =
58
  * Fix incorrect URI constant
59
  * Fix jQuery reloading of stylsheet in admin page
@@ -65,6 +76,9 @@ None yet
65
 
66
  == Upgrade Notice ==
67
 
 
 
 
68
  = 0.1.1 =
69
  Small bug fixes. French translation added.
70
 
4
  Tags: elementor, icons, fontello, icon fonts
5
  Requires at least: 4.5
6
  Tested up to: 4.9.8
7
+ Stable tag: 0.1.2
8
  License: GPLv3 or later
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
10
 
32
  1. Upload your plugin folder to the '/wp-content/plugins' directory.
33
  2. Activate the plugin through the 'Plugins' menu in WordPress.
34
  3. Go to Fontello.com to create your own icon font. Download the zip when done.
35
+ 4. Upload the Fontello zip file to the plugins settings page.
36
 
37
  == Frequently Asked Questions ==
38
 
39
  = What can I do with this plugin? =
40
 
41
+ You can add your own icons from Fontello to Elementor (free and pro). From exisiting icon fonts to totally custom SVG icons, no more messing around with CSS or image elements. It's now all baked in.
42
 
43
  = Can I upload more than one Fontello package to a single site? =
44
 
45
  You bet! Upload as many as you like, they will all work. However, make sure you give each font a unique name (text box beside the Fontello download button).
46
 
47
+ = HELP! It doesnt work?! =
48
+
49
+ There is a small, small chance this plugin may not work on your web host. This is caused by two things generally: a mod_security rule flagging the ZIP upload, or the lack of PHP libraries needed to unzip files. Here's the good news: your host can fix both of these easily. If they refuse, consider moving to a more modern host.
50
+
51
  == Plugin Removal ==
52
 
53
  Removing this plugin will render your custom icons to be broken. Take care to remove them from your elements prior to plugin removal.
58
 
59
  == Changelog ==
60
 
61
+ = 0.1.2 =
62
+ * Rewriting of help instructions to be more clear
63
+ * Limit upload area to zip files only to prevent confusion
64
+ * Added javascript translations
65
+ * Fixed icon font rendering after upload
66
+ * Added additional error alerts on font upload for hosts with no zip support
67
+
68
  = 0.1.1 =
69
  * Fix incorrect URI constant
70
  * Fix jQuery reloading of stylsheet in admin page
76
 
77
  == Upgrade Notice ==
78
 
79
+ = 0.1.2 =
80
+ Small bug fixes and translations added.
81
+
82
  = 0.1.1 =
83
  Small bug fixes. French translation added.
84
 
assets/css/elementor-custom-icons.css CHANGED
@@ -339,9 +339,10 @@ p.eci-extensions-info {
339
  z-index: 3;
340
  pointer-events: none;
341
  }
342
-
343
  .wrapper-list-fonts .eci-extension-status-icon svg { width: 100%; height: 100%; fill: currentColor }
344
  .wrapper-list-fonts .eci-extension-status-icon { opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1) }
 
345
 
346
  .eci-extension .iconlist {
347
  border: 1px dotted lightgrey;
@@ -532,7 +533,7 @@ p.eci-cta-note a:hover,p.eci-cta-note a:focus,p.eci-cta-note a:active {
532
  }
533
 
534
  @media screen and (min-width: 480px) {
535
- .eci-box-min-height .eci-box-content {
536
  min-height: 24em;
537
  }
538
  }
339
  z-index: 3;
340
  pointer-events: none;
341
  }
342
+ /**
343
  .wrapper-list-fonts .eci-extension-status-icon svg { width: 100%; height: 100%; fill: currentColor }
344
  .wrapper-list-fonts .eci-extension-status-icon { opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1) }
345
+ **/
346
 
347
  .eci-extension .iconlist {
348
  border: 1px dotted lightgrey;
533
  }
534
 
535
  @media screen and (min-width: 480px) {
536
+ .eci-box-min-height .eci-box-content.uploader {
537
  min-height: 24em;
538
  }
539
  }
assets/js/elementor-custom-icons.js CHANGED
@@ -23,31 +23,7 @@ jQuery(document).ready(function($) {
23
  var timeout;
24
 
25
  function progress_bar( max, time ) {
26
-
27
- var value = 0;
28
-
29
- function loading( time ) {
30
- value += 1;
31
- $( '.ec-icons-progress .bar' ).css( 'width', value + '%' );
32
-
33
- if ( value < max ) {
34
- run( time )
35
- }
36
-
37
- if ( value === 100 ) {
38
- $( '.ec-icons-tit,.ec-icons-desc,.ec-icons-browse' ).show();
39
- $( '.ec-icons-progress' ).removeClass( 'show' );
40
- }
41
- }
42
-
43
- function run( time ) {
44
- setTimeout( function() {
45
- loading();
46
- }, time );
47
- }
48
-
49
- run( time );
50
-
51
  }
52
 
53
  function reloadCss() {
@@ -81,17 +57,16 @@ jQuery(document).ready(function($) {
81
  files = evt.target.files,
82
  files_one = files[ 0 ];
83
 
 
 
84
  // Closure to capture the file information.
85
  reader.onload = (function( theFile ) {
86
  return function( e ) {
87
 
88
- progress_bar( 100, 800 );
89
-
90
  var file_name = escape( theFile.name );
91
 
92
  $( '.ec-icons-tit,.ec-icons-desc,.ec-icons-browse' ).hide();
93
  $( '.ec-icons-progress' ).addClass( 'show' );
94
- $( '#ec-icons-progress' ).after( file_name );
95
 
96
  var request = new FormData();
97
 
@@ -118,16 +93,25 @@ jQuery(document).ready(function($) {
118
 
119
  // ToDo: make this work
120
  reloadCss();
121
- }
122
 
123
- if ( response.status_save === 'exist' ) {
124
- alert( 'File already exists' );
125
  }
126
-
127
- if ( response.status_save === 'failed' ) {
128
- alert( 'Invalid file format' );
 
 
 
 
 
 
 
 
129
  }
130
 
 
 
 
 
131
  } );
132
 
133
  }
@@ -137,45 +121,49 @@ jQuery(document).ready(function($) {
137
  } );
138
 
139
  /* Delete Font */
140
- $( '.wrapper-list-fonts' ).on( 'click', '.delete-font', function( e ) {
141
  e.preventDefault();
142
 
143
- if ( !confirm( "Are you sure you want to delete this font?" ) ) {
144
- return false;
145
- }
146
 
147
- var request = new FormData(),
148
  $this = $( this ),
149
  data = $this.data( 'font' );
150
 
151
- request.append( "file_name", data.name );
152
- request.append( "action", "ec_icons_delete_font" );
153
- request.append( "_wpnonce", $( '.ec-icons-drop' ).find( '#_wpnonce' ).val() );
154
 
155
- ajaxSend( request, function( response, context ) {
156
 
157
- if ( response.status_save === 'remove' ) {
158
 
159
- var $item = $( context ).closest( '.eci-extension' );
160
- $item.css( {
161
- 'transition': 'all 0.5s',
162
- 'transform': 'scale(0)'
163
- } );
164
 
165
- setTimeout( function() {
166
 
167
- $item.remove( 0 );
168
- if ( !$( '.eci-extension:visible' ).length ) {
169
- $( '.wrapper-list-fonts' ).addClass( 'hidden' );
170
- }
 
 
171
 
172
- reloadCss();
173
 
174
- }, 1500 );
 
 
175
 
176
- }
177
 
178
- }, this );
179
 
180
  } );
181
 
@@ -190,7 +178,7 @@ jQuery(document).ready(function($) {
190
  ajaxSend( request, function(response) {
191
 
192
  if ( response.status_regen === 'regen' ) {
193
- alert("Done!");
194
  } else {
195
  alert("Unknown error...");
196
  }
23
  var timeout;
24
 
25
  function progress_bar( max, time ) {
26
+ $( '.ec-icons-progress .bar' ).stop().animate({"width": max + '%'}, time );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  }
28
 
29
  function reloadCss() {
57
  files = evt.target.files,
58
  files_one = files[ 0 ];
59
 
60
+ progress_bar( 100, 200 );
61
+
62
  // Closure to capture the file information.
63
  reader.onload = (function( theFile ) {
64
  return function( e ) {
65
 
 
 
66
  var file_name = escape( theFile.name );
67
 
68
  $( '.ec-icons-tit,.ec-icons-desc,.ec-icons-browse' ).hide();
69
  $( '.ec-icons-progress' ).addClass( 'show' );
 
70
 
71
  var request = new FormData();
72
 
93
 
94
  // ToDo: make this work
95
  reloadCss();
 
96
 
 
 
97
  }
98
+ else if ( response.status_save === 'exist' ) {
99
+ alert( EC_ICONS.exist );
100
+ }
101
+ else if ( response.status_save === 'failedopen' ) {
102
+ alert( EC_ICONS.failedopen );
103
+ }
104
+ else if ( response.status_save === 'failedextract' ) {
105
+ alert( EC_ICONS.failedextract );
106
+ }
107
+ else if ( response.status_save === 'emptyfile' ) {
108
+ alert( EC_ICONS.emptyfile );
109
  }
110
 
111
+ progress_bar( 0, 5 );
112
+ $( '.ec-icons-progress' ).removeClass( 'show' );
113
+ $( '.ec-icons-tit,.ec-icons-desc,.ec-icons-browse' ).show();
114
+
115
  } );
116
 
117
  }
121
  } );
122
 
123
  /* Delete Font */
124
+ $( document ).on( 'click', '.eci-box-content.wrapper-list-fonts .delete-font', function( e ) {
125
  e.preventDefault();
126
 
127
+ var conf = confirm( "Are you sure you want to delete this font?" );
128
+
129
+ if(conf == true){
130
 
131
+ var request = new FormData(),
132
  $this = $( this ),
133
  data = $this.data( 'font' );
134
 
135
+ request.append( "file_name", data.name );
136
+ request.append( "action", "ec_icons_delete_font" );
137
+ request.append( "_wpnonce", $( '.ec-icons-drop' ).find( '#_wpnonce' ).val() );
138
 
139
+ ajaxSend( request, function( response, context ) {
140
 
141
+ if ( response.status_save === 'remove' ) {
142
 
143
+ var $item = $( context ).closest( '.eci-extension' );
144
+ $item.css( {
145
+ 'transition': 'all 0.5s',
146
+ 'transform': 'scale(0)'
147
+ } );
148
 
149
+ setTimeout( function() {
150
 
151
+ $item.remove( 0 );
152
+ if ( !$( '.eci-extension:visible' ).length ) {
153
+ $( '.wrapper-list-fonts' ).addClass( 'hidden' );
154
+ }
155
+
156
+ reloadCss();
157
 
158
+ }, 1500 );
159
 
160
+ } else {
161
+ alert('fail');
162
+ }
163
 
164
+ }, this );
165
 
166
+ }
167
 
168
  } );
169
 
178
  ajaxSend( request, function(response) {
179
 
180
  if ( response.status_regen === 'regen' ) {
181
+ alert(EC_ICONS.regen);
182
  } else {
183
  alert("Unknown error...");
184
  }
elementor-custom-icons.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Custom Icons for Elementor
4
  Description: Add custom icon fonts to the built in Elementor controls
5
- Version: 0.1.1
6
  Author: Michael Bourne
7
  Author URI: https://michaelbourne.ca
8
  License: GPL3
@@ -113,7 +113,7 @@ if ( ! class_exists( 'ECIcons' ) ) {
113
  $this->upload_url = $upload['baseurl'] . '/elementor_icons_files';
114
 
115
  // set plugin version
116
- $this->version = '0.1.1';
117
 
118
  // SSL fix because WordPress core function wp_upload_dir() doesn't check protocol.
119
  if ( is_ssl() ) $this->upload_url = str_replace( 'http://', 'https://', $this->upload_url );
@@ -215,11 +215,17 @@ if ( ! class_exists( 'ECIcons' ) ) {
215
  wp_enqueue_script( 'elementor-custom-icons', ECIcons_URI . 'assets/js/elementor-custom-icons.js', array('jquery'), $this->version, true );
216
 
217
  if ( is_admin() ) {
218
- $fontellos = array(
219
- 'ajaxurl' => admin_url( 'admin-ajax.php' ),
220
- 'plugin_url' => ECIcons_URI,
 
 
 
 
 
 
221
  );
222
- wp_localize_script( 'elementor-custom-icons', 'EC_ICONS', $fontellos );
223
  }
224
 
225
  }
2
  /*
3
  Plugin Name: Custom Icons for Elementor
4
  Description: Add custom icon fonts to the built in Elementor controls
5
+ Version: 0.1.2
6
  Author: Michael Bourne
7
  Author URI: https://michaelbourne.ca
8
  License: GPL3
113
  $this->upload_url = $upload['baseurl'] . '/elementor_icons_files';
114
 
115
  // set plugin version
116
+ $this->version = '0.1.2';
117
 
118
  // SSL fix because WordPress core function wp_upload_dir() doesn't check protocol.
119
  if ( is_ssl() ) $this->upload_url = str_replace( 'http://', 'https://', $this->upload_url );
215
  wp_enqueue_script( 'elementor-custom-icons', ECIcons_URI . 'assets/js/elementor-custom-icons.js', array('jquery'), $this->version, true );
216
 
217
  if ( is_admin() ) {
218
+ $eci_script = array(
219
+ 'ajaxurl' => admin_url( 'admin-ajax.php' ),
220
+ 'plugin_url' => ECIcons_URI,
221
+ 'exist' => __( "This font file already exists. Make sure you're giving it a unique name!", 'custom-icons-for-elementor' ),
222
+ 'failedopen' => __( 'Failed to open the ZIP archive. If you uploaded a valid ZIP file, your host may be blocking this PHP function. Please get in touch with them.', 'custom-icons-for-elementor' ),
223
+ 'failedextract' => __( 'Failed to extract the ZIP archive. Your host may be blocking this PHP function. Please get in touch with them.', 'custom-icons-for-elementor' ),
224
+ 'emptyfile' => __( 'Your browser failed to upload the file. Please try again.', 'custom-icons-for-elementor' ),
225
+ 'regen' => __( 'Custom Icon CSS file has been regenerated.', 'custom-icons-for-elementor' ),
226
+ 'delete' => __( 'Are you sure you want to delete this font?', 'custom-icons-for-elementor' ),
227
  );
228
+ wp_localize_script( 'elementor-custom-icons', 'EC_ICONS', $eci_script );
229
  }
230
 
231
  }
includes/save.font.php CHANGED
@@ -39,10 +39,15 @@ class SaveFont_ECIcons extends ECIcons {
39
  $zip = new ZipArchive;
40
  $res = $zip->open( $_FILES['source_file']['tmp_name'] );
41
  if ( $res === true ) {
42
- $zip->extractTo( $this->upload_dir . '/' . $file_name );
43
  $zip->close();
 
 
 
 
 
44
  } else {
45
- $result['status_save'] = 'failed';
46
  echo json_encode( $result );
47
  die();
48
  }
@@ -52,11 +57,11 @@ class SaveFont_ECIcons extends ECIcons {
52
 
53
  if ( ! empty( $icons ) && is_array( $icons ) ) {
54
  $result['count_icons'] = count( $icons );
55
- $first_icon = ! empty( $icons ) ? 'cs-fa-' . key( $icons ) : '';
56
  $result['first_icon'] = $first_icon;
57
  $iconlist = '';
58
  foreach($icons as $iconkey => $iconcode){
59
- $iconlist .= '<div><i class="cs-fa cs-fa-' . $iconkey . '" style="font-size: 16px;"></i><span>' . $iconkey . '</span></div>';
60
  }
61
  $result['iconlist'] = $iconlist;
62
  }
@@ -70,6 +75,8 @@ class SaveFont_ECIcons extends ECIcons {
70
 
71
  new MergeCss_ECIcons();
72
 
 
 
73
  }
74
 
75
  echo json_encode( $result );
39
  $zip = new ZipArchive;
40
  $res = $zip->open( $_FILES['source_file']['tmp_name'] );
41
  if ( $res === true ) {
42
+ $ex = $zip->extractTo( $this->upload_dir . '/' . $file_name );
43
  $zip->close();
44
+ if ( $ex === false ) {
45
+ $result['status_save'] = 'failedextract';
46
+ echo json_encode( $result );
47
+ die();
48
+ }
49
  } else {
50
+ $result['status_save'] = 'failedopen';
51
  echo json_encode( $result );
52
  die();
53
  }
57
 
58
  if ( ! empty( $icons ) && is_array( $icons ) ) {
59
  $result['count_icons'] = count( $icons );
60
+ $first_icon = ! empty( $icons ) ? key( $icons ) : '';
61
  $result['first_icon'] = $first_icon;
62
  $iconlist = '';
63
  foreach($icons as $iconkey => $iconcode){
64
+ $iconlist .= '<div><i class="eci ' . $iconkey . '" style="font-size: 16px;"></i><span>' . $iconkey . '</span></div>';
65
  }
66
  $result['iconlist'] = $iconlist;
67
  }
75
 
76
  new MergeCss_ECIcons();
77
 
78
+ } else {
79
+ $result['status_save'] = 'emptyfile';
80
  }
81
 
82
  echo json_encode( $result );
includes/template.options.page.php CHANGED
@@ -37,7 +37,7 @@ $options = get_option( 'ec_icons_fonts' );
37
  /* translators: Options page step 1. KSES set to a, br, and i. */
38
  echo sprintf(
39
  wp_kses(
40
- __( 'Visit <a href="%s" target="_blank">Fontello</a> and select the icons you would like to use. You can even upload custom SVG icons of your own, whether they be custom made or from a source like <a href="%s" target="_blank">Flaticon!</a>', 'custom-icons-for-elementor' ),
41
  array(
42
  'a' => array(
43
  'href' => array(),
@@ -64,7 +64,7 @@ $options = get_option( 'ec_icons_fonts' );
64
  <span class="eci-box-content-text">
65
  <?php
66
  /* translators: Options page step 2. */
67
- esc_html_e( 'After selecting your icons, give your font a unique name and hit download. Then, upload that ZIP file here.', 'custom-icons-for-elementor' );
68
  ?>
69
  </span>
70
  </div>
@@ -111,7 +111,7 @@ $options = get_option( 'ec_icons_fonts' );
111
  <h2 class="eci-box-title"><?php esc_html_e( 'Upload Fontello Zip', 'custom-icons-for-elementor' ); ?></h2>
112
  </header>
113
 
114
- <div class="eci-box-content">
115
  <div class="ec-icons-wrapper">
116
  <div class="ec-icons-drop">
117
  <div class="ec-icons-cont">
@@ -131,7 +131,7 @@ $options = get_option( 'ec_icons_fonts' );
131
  <div class="bar"></div>
132
  </div>
133
  </output>
134
- <input id="ec-icons-files" multiple="true" name="files[]" type="file" />
135
  <?php wp_nonce_field( 'ec_icons_nonce' ); ?>
136
  </div>
137
  </div>
@@ -183,7 +183,7 @@ $options = get_option( 'ec_icons_fonts' );
183
  $first_icon = ! empty( $icons ) ? key( $icons ) : '';
184
 
185
  ?>
186
- <div class="eci-extension eci-extension-installed font-item " id="<?php echo esc_attr( $key ); ?>" data-eci-module="x-extension" data-x-extension="">
187
  <div class="eci-extension-content">
188
  <i class="eci <?php echo esc_attr( $first_icon ); ?>" style="font-size: 80px;"></i>
189
  <h4 class="eci-extension-title"><?php echo esc_html( $key ); ?></h4>
@@ -252,10 +252,10 @@ $options = get_option( 'ec_icons_fonts' );
252
  <svg id="a681b75e-a836-4b27-a8fe-eaaf45b5525e" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 748.9 154.54"><defs><style>.\34 d796d4f-b091-45bc-941b-d60ede9debbe{fill:#333;}.fd894280-7ab4-4a26-84e7-c559953ee0b7{fill:#fbde12;}</style></defs><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M517,264.3c0,40.31-26.73,61.95-59.4,61.95-32.45,0-59.18-21.64-59.18-61.95v-88H425V266c0,24.18,14.64,35.85,32.67,35.85,18.25,0,32.89-11.67,32.89-35.85V176.26H517Z" transform="translate(-398.46 -172.77)"/><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M631.81,324.76l-42.42-60.67H575v60.67H548.44V176.26H597c28.64,0,50.49,15.06,50.49,44.34,0,22.06-12.3,35.43-30.33,40.73l47.3,63.43ZM596,200.44H575V239.9h21c16.76,0,25.25-7,25.25-19.51C621.21,208.08,612.72,200.44,596,200.44Z" transform="translate(-398.46 -172.77)"/><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M720.07,327.31c-26.73,0-46.46-17.61-51.55-23.34l19.72-16.76c6.79,7.64,18.46,16.12,31.83,16.12,14.63,0,23.33-8.48,23.33-19.3,0-27.58-69.79-22.49-69.79-68.95,0-24.82,19.73-42,48.79-42,25.46,0,43.49,17.39,43.49,17.39l-19.31,17s-10.18-10-24.18-10c-13.58,0-20.79,6.58-20.79,16.76,0,26.1,68.95,21.43,68.95,69.16C770.56,313.09,745.1,327.31,720.07,327.31Z" transform="translate(-398.46 -172.77)"/><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M887,324.76l-11.24-32.67h-54.1l-11,32.67H782.86l52.4-148.5H862l51.34,148.5ZM851.38,216.57c-1.27-3.82-2.54-10.19-2.54-10.19s-1.49,6.37-2.76,10.19l-16.55,52h38.4Z" transform="translate(-398.46 -172.77)"/><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M1097.09,327.31c-37.53,0-56.51-24.16-56.51-58.89,0-33.87,18.55-71.62,45.29-93.4H1129c-25.46,10.57-47.46,33.86-56.52,59.1,5-3.67,16-5.82,23.3-5.82,30.63,0,51.55,20.06,51.55,50C1147.35,304.66,1125.56,327.31,1097.09,327.31Zm-2.59-75.5c-10.35,0-18.33,2.16-26.74,7.76a63.18,63.18,0,0,0-1.08,11c0,17,8,32.57,27.82,32.57,15.32,0,26.75-9.71,26.75-25C1121.25,263.24,1110,251.81,1094.5,251.81Z" transform="translate(-398.46 -172.77)"/><path class="fd894280-7ab4-4a26-84e7-c559953ee0b7" d="M988.11,299.69c28.67-17.8,23.09-52.71,16-66.41-4-7.87-8.48-17.56-6.63-27.11.62-3.21,1.4-6.53.7-9.59-.83-3.63-3.55-6-5.34-9-1.46-2.49-3.37-6.57-1.73-9.67,0,0,1.09-2.07.81-2.66-.78-1.65-5.1-3-6.88-2.24-1.48.61-3,4.15-4.39,4.94-2.79,1.54-9.17-1-12.16,0-2.08.64-4.84,4.78-6.72,6-3.72,2.37-14,.87-16.54,4.54-1.73,2.52.33,9.4,2.35,11.29s8.89,2,10.88,4.06c12,12.71-4.47,31.29-16.91,33.2-5.48.84-15.16-7.4-20.23-4.76-2.94,1.52-7,10.64-5.24,11.22,14,4.65,25.84,17.06,29,14.49,17.1-13.81,35.37,1.69,9.2,29.56-3.67,3.91,4.93,18.81,1.21,22.67-1.39,1.44-5.78-1-7.48,0-2.43,1.4-5.11,8.2-4,10.57,3.4,7.08,25.83,6.09,31.83.09C980.23,316.46,976.31,307,988.11,299.69Z" transform="translate(-398.46 -172.77)"/><path class="fd894280-7ab4-4a26-84e7-c559953ee0b7" d="M935.78,225.69c6.67,2.5,6.64.79,10.61,4.53,5.05-2.63,11.52-10.62,11.16-17.83-24-2.38-26.11-20.9-32.2-20.28-4.53.46-6.45,16.13-4.94,16.49C931.44,211.29,930.14,223.59,935.78,225.69Z" transform="translate(-398.46 -172.77)"/><path class="fd894280-7ab4-4a26-84e7-c559953ee0b7" d="M1010.57,277.74c-3.6,12.8-10.18,18.92-17.77,23.9,0,0,8.62,2.12,9.44,4.13.47,1.12-1.53,3.92-2.68,4.48-2.61,1.28-8.61-1.49-11.14,0s-5.11,8.2-4,10.57c3.23,6.68,24.2,5.51,30.07.08,1.23-1.13.66-2.57,1.88-6.34,2.44-7.61,6.47-8.3,7.13-10.23a0,0,0,0,0,0,0C1024.61,297.3,1010.57,277.74,1010.57,277.74Z" transform="translate(-398.46 -172.77)"/></svg>
253
  </a>
254
  <hr class="eci-cta-spacing">
255
- <p class="eci-cta-note">Plugin created by Michael Bourne of URSA6. <br><br><strong>Donate Link:</strong></p>
256
  <a href="https://www.paypal.me/yycpro" target="_blank"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAABECAIAAADm5TeGAAAFSmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTIgMS4xNDk2MDIsIDIwMTIvMTAvMTAtMTg6MTA6MjQgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpkYW09Imh0dHA6Ly93d3cuZGF5LmNvbS9kYW0vMS4wIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpQYXlQYWw9Ind3dy5wYXlwYWwuY29tL2Jhc2UvdjEiCiAgIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIgogICBkYzptb2RpZmllZD0iMjAxNC0wNS0xM1QxMTo1OToyNi4wMzgtMDc6MDAiCiAgIGRhbTpzaXplPSIzMDQ1IgogICBkYW06UGh5c2ljYWx3aWR0aGluaW5jaGVzPSItMS4wIgogICBkYW06ZXh0cmFjdGVkPSIyMDE0LTA1LTEzVDExOjU5OjIzLjUzMy0wNzowMCIKICAgZGFtOnNoYTE9ImQwYjIwZDZiOTU3MzhmNmY5M2NhYmY3ZDk0YTQxM2U2MjkxYzZmYTYiCiAgIGRhbTpOdW1iZXJvZnRleHR1YWxjb21tZW50cz0iMCIKICAgZGFtOkZpbGVmb3JtYXQ9IlBORyIKICAgZGFtOlByb2dyZXNzaXZlPSJubyIKICAgZGFtOlBoeXNpY2FsaGVpZ2h0aW5kcGk9Ii0xIgogICBkYW06TUlNRXR5cGU9ImltYWdlL3BuZyIKICAgZGFtOk51bWJlcm9maW1hZ2Vz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" alt="PayPal Donate"></a>
257
  <hr class="eci-cta-spacing">
258
- <p class="eci-cta-note">This plugin is provided free to the Elementor community under GPL3. </p>
259
  </div>
260
  </div>
261
 
@@ -264,7 +264,7 @@ $options = get_option( 'ec_icons_fonts' );
264
  </div>
265
  </div>
266
 
267
- <div class="eci-extension eci-extension-installed font-item ec-icons-clone" id="" data-eci-module="x-extension" data-x-extension="">
268
  <div class="eci-extension-content">
269
  <i class="eci" style="font-size: 80px;"></i>
270
  <h4 class="eci-extension-title"></h4>
37
  /* translators: Options page step 1. KSES set to a, br, and i. */
38
  echo sprintf(
39
  wp_kses(
40
+ __( 'Visit <a href="%s" target="_blank">Fontello</a> and select the icons you would like to use. You can even upload custom SVG icons of your own on Fontello, whether they be custom made or from a source like <a href="%s" target="_blank">Flaticon!</a>', 'custom-icons-for-elementor' ),
41
  array(
42
  'a' => array(
43
  'href' => array(),
64
  <span class="eci-box-content-text">
65
  <?php
66
  /* translators: Options page step 2. */
67
+ esc_html_e( 'After selecting your icons on Fontello, give your font a unique name and hit download. Then, upload the Fontello ZIP file here.', 'custom-icons-for-elementor' );
68
  ?>
69
  </span>
70
  </div>
111
  <h2 class="eci-box-title"><?php esc_html_e( 'Upload Fontello Zip', 'custom-icons-for-elementor' ); ?></h2>
112
  </header>
113
 
114
+ <div class="eci-box-content uploader">
115
  <div class="ec-icons-wrapper">
116
  <div class="ec-icons-drop">
117
  <div class="ec-icons-cont">
131
  <div class="bar"></div>
132
  </div>
133
  </output>
134
+ <input id="ec-icons-files" multiple="true" name="files[]" type="file" accept=".zip" />
135
  <?php wp_nonce_field( 'ec_icons_nonce' ); ?>
136
  </div>
137
  </div>
183
  $first_icon = ! empty( $icons ) ? key( $icons ) : '';
184
 
185
  ?>
186
+ <div class="eci-extension eci-extension-installed font-item " id="<?php echo esc_attr( $key ); ?>" >
187
  <div class="eci-extension-content">
188
  <i class="eci <?php echo esc_attr( $first_icon ); ?>" style="font-size: 80px;"></i>
189
  <h4 class="eci-extension-title"><?php echo esc_html( $key ); ?></h4>
252
  <svg id="a681b75e-a836-4b27-a8fe-eaaf45b5525e" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 748.9 154.54"><defs><style>.\34 d796d4f-b091-45bc-941b-d60ede9debbe{fill:#333;}.fd894280-7ab4-4a26-84e7-c559953ee0b7{fill:#fbde12;}</style></defs><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M517,264.3c0,40.31-26.73,61.95-59.4,61.95-32.45,0-59.18-21.64-59.18-61.95v-88H425V266c0,24.18,14.64,35.85,32.67,35.85,18.25,0,32.89-11.67,32.89-35.85V176.26H517Z" transform="translate(-398.46 -172.77)"/><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M631.81,324.76l-42.42-60.67H575v60.67H548.44V176.26H597c28.64,0,50.49,15.06,50.49,44.34,0,22.06-12.3,35.43-30.33,40.73l47.3,63.43ZM596,200.44H575V239.9h21c16.76,0,25.25-7,25.25-19.51C621.21,208.08,612.72,200.44,596,200.44Z" transform="translate(-398.46 -172.77)"/><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M720.07,327.31c-26.73,0-46.46-17.61-51.55-23.34l19.72-16.76c6.79,7.64,18.46,16.12,31.83,16.12,14.63,0,23.33-8.48,23.33-19.3,0-27.58-69.79-22.49-69.79-68.95,0-24.82,19.73-42,48.79-42,25.46,0,43.49,17.39,43.49,17.39l-19.31,17s-10.18-10-24.18-10c-13.58,0-20.79,6.58-20.79,16.76,0,26.1,68.95,21.43,68.95,69.16C770.56,313.09,745.1,327.31,720.07,327.31Z" transform="translate(-398.46 -172.77)"/><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M887,324.76l-11.24-32.67h-54.1l-11,32.67H782.86l52.4-148.5H862l51.34,148.5ZM851.38,216.57c-1.27-3.82-2.54-10.19-2.54-10.19s-1.49,6.37-2.76,10.19l-16.55,52h38.4Z" transform="translate(-398.46 -172.77)"/><path class="4d796d4f-b091-45bc-941b-d60ede9debbe" d="M1097.09,327.31c-37.53,0-56.51-24.16-56.51-58.89,0-33.87,18.55-71.62,45.29-93.4H1129c-25.46,10.57-47.46,33.86-56.52,59.1,5-3.67,16-5.82,23.3-5.82,30.63,0,51.55,20.06,51.55,50C1147.35,304.66,1125.56,327.31,1097.09,327.31Zm-2.59-75.5c-10.35,0-18.33,2.16-26.74,7.76a63.18,63.18,0,0,0-1.08,11c0,17,8,32.57,27.82,32.57,15.32,0,26.75-9.71,26.75-25C1121.25,263.24,1110,251.81,1094.5,251.81Z" transform="translate(-398.46 -172.77)"/><path class="fd894280-7ab4-4a26-84e7-c559953ee0b7" d="M988.11,299.69c28.67-17.8,23.09-52.71,16-66.41-4-7.87-8.48-17.56-6.63-27.11.62-3.21,1.4-6.53.7-9.59-.83-3.63-3.55-6-5.34-9-1.46-2.49-3.37-6.57-1.73-9.67,0,0,1.09-2.07.81-2.66-.78-1.65-5.1-3-6.88-2.24-1.48.61-3,4.15-4.39,4.94-2.79,1.54-9.17-1-12.16,0-2.08.64-4.84,4.78-6.72,6-3.72,2.37-14,.87-16.54,4.54-1.73,2.52.33,9.4,2.35,11.29s8.89,2,10.88,4.06c12,12.71-4.47,31.29-16.91,33.2-5.48.84-15.16-7.4-20.23-4.76-2.94,1.52-7,10.64-5.24,11.22,14,4.65,25.84,17.06,29,14.49,17.1-13.81,35.37,1.69,9.2,29.56-3.67,3.91,4.93,18.81,1.21,22.67-1.39,1.44-5.78-1-7.48,0-2.43,1.4-5.11,8.2-4,10.57,3.4,7.08,25.83,6.09,31.83.09C980.23,316.46,976.31,307,988.11,299.69Z" transform="translate(-398.46 -172.77)"/><path class="fd894280-7ab4-4a26-84e7-c559953ee0b7" d="M935.78,225.69c6.67,2.5,6.64.79,10.61,4.53,5.05-2.63,11.52-10.62,11.16-17.83-24-2.38-26.11-20.9-32.2-20.28-4.53.46-6.45,16.13-4.94,16.49C931.44,211.29,930.14,223.59,935.78,225.69Z" transform="translate(-398.46 -172.77)"/><path class="fd894280-7ab4-4a26-84e7-c559953ee0b7" d="M1010.57,277.74c-3.6,12.8-10.18,18.92-17.77,23.9,0,0,8.62,2.12,9.44,4.13.47,1.12-1.53,3.92-2.68,4.48-2.61,1.28-8.61-1.49-11.14,0s-5.11,8.2-4,10.57c3.23,6.68,24.2,5.51,30.07.08,1.23-1.13.66-2.57,1.88-6.34,2.44-7.61,6.47-8.3,7.13-10.23a0,0,0,0,0,0,0C1024.61,297.3,1010.57,277.74,1010.57,277.74Z" transform="translate(-398.46 -172.77)"/></svg>
253
  </a>
254
  <hr class="eci-cta-spacing">
255
+ <p class="eci-cta-note">Plugin created by Michael Bourne of URSA6 and is provided free to the Elementor community. <br><br><strong>Donations are appreciated but totally optional.</strong></p>
256
  <a href="https://www.paypal.me/yycpro" target="_blank"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAABECAIAAADm5TeGAAAFSmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTIgMS4xNDk2MDIsIDIwMTIvMTAvMTAtMTg6MTA6MjQgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpkYW09Imh0dHA6Ly93d3cuZGF5LmNvbS9kYW0vMS4wIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczpQYXlQYWw9Ind3dy5wYXlwYWwuY29tL2Jhc2UvdjEiCiAgIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIgogICBkYzptb2RpZmllZD0iMjAxNC0wNS0xM1QxMTo1OToyNi4wMzgtMDc6MDAiCiAgIGRhbTpzaXplPSIzMDQ1IgogICBkYW06UGh5c2ljYWx3aWR0aGluaW5jaGVzPSItMS4wIgogICBkYW06ZXh0cmFjdGVkPSIyMDE0LTA1LTEzVDExOjU5OjIzLjUzMy0wNzowMCIKICAgZGFtOnNoYTE9ImQwYjIwZDZiOTU3MzhmNmY5M2NhYmY3ZDk0YTQxM2U2MjkxYzZmYTYiCiAgIGRhbTpOdW1iZXJvZnRleHR1YWxjb21tZW50cz0iMCIKICAgZGFtOkZpbGVmb3JtYXQ9IlBORyIKICAgZGFtOlByb2dyZXNzaXZlPSJubyIKICAgZGFtOlBoeXNpY2FsaGVpZ2h0aW5kcGk9Ii0xIgogICBkYW06TUlNRXR5cGU9ImltYWdlL3BuZyIKICAgZGFtOk51bWJlcm9maW1hZ2Vz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" alt="PayPal Donate"></a>
257
  <hr class="eci-cta-spacing">
258
+ <p class="eci-cta-note">We recommend <a href="https://www.cloudways.com/en/?id=63296" tagret="_blank">CloudWays</a> hosting to our WordPress clients.</p>
259
  </div>
260
  </div>
261
 
264
  </div>
265
  </div>
266
 
267
+ <div class="eci-extension eci-extension-installed font-item ec-icons-clone" id="">
268
  <div class="eci-extension-content">
269
  <i class="eci" style="font-size: 80px;"></i>
270
  <h4 class="eci-extension-title"></h4>
languages/custom-icons-for-elementor-en_US.mo ADDED
Binary file
languages/custom-icons-for-elementor-en_US.po ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Elementor Custom Icons\n"
4
+ "POT-Creation-Date: 2018-08-15 13:48-0600\n"
5
+ "PO-Revision-Date: 2018-08-15 13:49-0600\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: \n"
8
+ "Language: en_US\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.0.9\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
+ "X-Poedit-KeywordsList: esc_html_e;__\n"
16
+ "X-Poedit-SearchPath-0: .\n"
17
+ "X-Poedit-SearchPath-1: includes\n"
18
+
19
+ #: elementor-custom-icons.php:175
20
+ msgid "Custom Icons for Elementor"
21
+ msgstr ""
22
+
23
+ #: elementor-custom-icons.php:176
24
+ msgid "Custom Icons"
25
+ msgstr ""
26
+
27
+ #: elementor-custom-icons.php:221
28
+ msgid ""
29
+ "This font file already exists. Make sure you're giving it a unique name!"
30
+ msgstr ""
31
+
32
+ #: elementor-custom-icons.php:222
33
+ msgid ""
34
+ "Failed to open the ZIP archive. If you uploaded a valid ZIP file, your host "
35
+ "may be blocking this PHP function. Please get in touch with them."
36
+ msgstr ""
37
+
38
+ #: elementor-custom-icons.php:223
39
+ msgid ""
40
+ "Failed to extract the ZIP archive. Your host may be blocking this PHP "
41
+ "function. Please get in touch with them."
42
+ msgstr ""
43
+
44
+ #: elementor-custom-icons.php:224
45
+ msgid "Your browser failed to upload the file. Please try again."
46
+ msgstr ""
47
+
48
+ #: elementor-custom-icons.php:225
49
+ msgid "Custom Icon CSS file has been regenerated."
50
+ msgstr ""
51
+
52
+ #: elementor-custom-icons.php:226
53
+ msgid "Are you sure you want to delete this font?"
54
+ msgstr ""
55
+
56
+ #: includes/template.options.page.php:23
57
+ msgid "Elementor Custom Icons"
58
+ msgstr ""
59
+
60
+ #: includes/template.options.page.php:34
61
+ msgid "Create a new Icon Font"
62
+ msgstr ""
63
+
64
+ #: includes/template.options.page.php:40
65
+ #, php-format
66
+ msgid ""
67
+ "Visit <a href=\"%s\" target=\"_blank\">Fontello</a> and select the icons you "
68
+ "would like to use. You can even upload custom SVG icons of your own on "
69
+ "Fontello, whether they be custom made or from a source like <a href=\"%s\" "
70
+ "target=\"_blank\">Flaticon!</a>"
71
+ msgstr ""
72
+
73
+ #: includes/template.options.page.php:63
74
+ msgid "Upload your ZIP file here"
75
+ msgstr ""
76
+
77
+ #: includes/template.options.page.php:67
78
+ msgid ""
79
+ "After selecting your icons on Fontello, give your font a unique name and hit "
80
+ "download. Then, upload the Fontello ZIP file here."
81
+ msgstr ""
82
+
83
+ #: includes/template.options.page.php:77
84
+ msgid "Use Your Icons"
85
+ msgstr ""
86
+
87
+ #: includes/template.options.page.php:83
88
+ #, php-format
89
+ msgid ""
90
+ "You will now see your custom icons in all Elementor elements that have icon "
91
+ "selectors in them.<br><br>Looking for more help? You can watch an "
92
+ "instructional video by WPBuilders <a href=\"%s\" target=\"_blank\">here.</a>"
93
+ msgstr ""
94
+
95
+ #: includes/template.options.page.php:111
96
+ msgid "Upload Fontello Zip"
97
+ msgstr ""
98
+
99
+ #: includes/template.options.page.php:120
100
+ msgid "Drag & Drop"
101
+ msgstr ""
102
+
103
+ #: includes/template.options.page.php:123
104
+ msgid "your Fontello .zip download here, or"
105
+ msgstr ""
106
+
107
+ #: includes/template.options.page.php:126
108
+ msgid "click here to browse"
109
+ msgstr ""
110
+
111
+ #: includes/template.options.page.php:153
112
+ msgid "Uploaded Fonts"
113
+ msgstr ""
114
+
115
+ #: includes/template.options.page.php:227
116
+ msgid "Regenerate CSS"
117
+ msgstr ""
118
+
119
+ #: includes/template.options.page.php:231
120
+ msgid ""
121
+ "Sometimes you may need to regenerate the CSS file for your custom icons, "
122
+ "such as when you change your WordPress domain or update this plugin."
123
+ msgstr ""
124
+
125
+ #: includes/template.options.page.php:233
126
+ msgid "Regenerate"
127
+ msgstr ""
128
+
129
+ #: includes/template.options.page.php:277
130
+ msgid "Delete"
131
+ msgstr ""
languages/custom-icons-for-elementor-fr_FR.mo ADDED
Binary file
languages/custom-icons-for-elementor-fr_FR.po ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Elementor Custom Icons\n"
4
+ "POT-Creation-Date: 2018-08-04 10:31+0200\n"
5
+ "PO-Revision-Date: 2018-08-04 11:11+0200\n"
6
+ "Last-Translator: FreePixel <contact@freepixel.net>\n"
7
+ "Language-Team: FreePixel\n"
8
+ "Language: fr\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: custom-icons-for-elementor\n"
14
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
+ "X-Poedit-KeywordsList: esc_html_e;__;_e\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-SearchPath-0: elementor-custom-icons.php\n"
18
+ "X-Poedit-SearchPath-1: includes/merge.css.php\n"
19
+ "X-Poedit-SearchPath-2: includes/save.font.php\n"
20
+ "X-Poedit-SearchPath-3: includes/template.options.page.php\n"
21
+
22
+ #: elementor-custom-icons.php:174
23
+ msgid "Custom Icons for Elementor"
24
+ msgstr "Custom Icons for Elementor"
25
+
26
+ #: elementor-custom-icons.php:175
27
+ msgid "Custom Icons"
28
+ msgstr "Icônes personnalisées"
29
+
30
+ #: includes/template.options.page.php:23
31
+ msgid "Elementor Custom Icons"
32
+ msgstr "Icônes personnalisées Elementor"
33
+
34
+ #: includes/template.options.page.php:34
35
+ msgid "Create a new Icon Font"
36
+ msgstr "Créer une nouvelle police d'icônes"
37
+
38
+ #: includes/template.options.page.php:40
39
+ #, php-format
40
+ msgid ""
41
+ "Visit <a href=\"%s\" target=\"_blank\">Fontello</a> and select the icons you "
42
+ "would like to use. You can even upload custom SVG icons of your own, whether "
43
+ "they be custom made or from a source like <a href=\"%s\" target=\"_blank"
44
+ "\">Flaticon!</a>"
45
+ msgstr ""
46
+ "Visitez <a href=\"%s\" target=\"_blank\">Fontello</a> et sélectionnez les "
47
+ "icônes que vous souhaitez utiliser. Vous pouvez même télécharger des icônes "
48
+ "SVG personnalisées, qu’elles soient personnalisées ou à partir d’une source "
49
+ "telle que <a href=\"%s\" target=\"_blank\">Flaticon!</a>"
50
+
51
+ #: includes/template.options.page.php:63
52
+ msgid "Upload your ZIP file here"
53
+ msgstr "Télécharger votre fichier ZIP ici"
54
+
55
+ #. translators: Options page step 2.
56
+ #: includes/template.options.page.php:67
57
+ msgid ""
58
+ "After selecting your icons, give your font a unique name and hit download. "
59
+ "Then, upload that ZIP file here."
60
+ msgstr ""
61
+ "Après avoir sélectionné vos icônes, donnez à votre police un nom unique et "
62
+ "cliquez sur Télécharger. Ensuite, téléchargez ce fichier zip ici."
63
+
64
+ #: includes/template.options.page.php:77
65
+ msgid "Use Your Icons"
66
+ msgstr "Utilisez vos icônes"
67
+
68
+ #: includes/template.options.page.php:83
69
+ #, php-format
70
+ msgid ""
71
+ "You will now see your custom icons in all Elementor elements that have icon "
72
+ "selectors in them.<br><br>Looking for more help? You can watch an "
73
+ "instructional video by WPBuilders <a href=\"%s\" target=\"_blank\">here.</a>"
74
+ msgstr ""
75
+ "Vous verrez maintenant vos icônes personnalisées dans tous les éléments "
76
+ "Elementor dotés de sélecteurs d’icônes.<br><br>Vous cherchez plus "
77
+ "d’aide&nbsp;? Vous pouvez regarder une vidéo d’instruction par WPBuilders <a "
78
+ "href=\"%s\" target=\"_blank\">ici.</a>"
79
+
80
+ #: includes/template.options.page.php:111
81
+ msgid "Upload Fontello Zip"
82
+ msgstr "Télécharger le fichier Fontello zip"
83
+
84
+ #: includes/template.options.page.php:120
85
+ msgid "Drag & Drop"
86
+ msgstr "Glisser & déposer"
87
+
88
+ #: includes/template.options.page.php:123
89
+ msgid "your Fontello .zip download here, or"
90
+ msgstr "votre fichier Fontello .zip téléchargé ici, ou"
91
+
92
+ #: includes/template.options.page.php:126
93
+ msgid "click here to browse"
94
+ msgstr "cliquez ici pour naviguer"
95
+
96
+ #: includes/template.options.page.php:153
97
+ msgid "Uploaded Fonts"
98
+ msgstr "Polices téléchargées"
99
+
100
+ #: includes/template.options.page.php:227
101
+ msgid "Regenerate CSS"
102
+ msgstr "Régénérer les styles CSS"
103
+
104
+ #: includes/template.options.page.php:231
105
+ msgid ""
106
+ "Sometimes you may need to regenerate the CSS file for your custom icons, "
107
+ "such as when you change your WordPress domain or update this plugin."
108
+ msgstr ""
109
+ "Parfois, vous devrez peut-être régénérer le fichier CSS pour vos icônes "
110
+ "personnalisées, par exemple lorsque vous modifiez votre domaine WordPress ou "
111
+ "mettez à jour cette extension."
112
+
113
+ #: includes/template.options.page.php:233
114
+ msgid "Regenerate"
115
+ msgstr "Régénérer"
116
+
117
+ #: includes/template.options.page.php:277
118
+ msgid "Delete"
119
+ msgstr "Supprimer"