Version Description
Download this release
Release Info
Developer | damian-gora |
Plugin | Ajax Search for WooCommerce |
Version | 1.4.0 |
Comparing to | |
See all releases |
Code changes from version 1.3.3 to 1.4.0
- ajax-search-for-woocommerce.php +61 -17
- assets/css/admin-style.css +29 -2
- assets/css/style.css +159 -94
- assets/css/style.min.css +1 -1
- assets/js/admin.js +12 -0
- assets/js/admin.min.js +1 -1
- assets/js/search.js +116 -20
- assets/js/search.min.js +1 -1
- composer/composer.json +3 -0
- composer/composer.lock +70 -0
- includes/Admin/Install.php +78 -46
- includes/Admin/Requirements.php +34 -16
- includes/Conflicts/Solver.php +52 -0
- includes/Personalization.php +4 -2
- includes/Scripts.php +1 -0
- includes/Settings.php +55 -17
- includes/Setup.php +22 -5
- languages/ajax-search-for-woocommerce-es_ES.mo +0 -0
- languages/ajax-search-for-woocommerce-es_ES.po +1288 -0
- languages/ajax-search-for-woocommerce-it_IT.mo +0 -0
- languages/ajax-search-for-woocommerce-it_IT.po +1370 -0
- languages/ajax-search-for-woocommerce-pl_PL.mo +0 -0
- languages/ajax-search-for-woocommerce-pl_PL.po +1151 -275
- languages/ajax-search-for-woocommerce.pot +1042 -158
- partials/storefront.php +25 -23
- readme.txt +11 -2
- vendor/autoload.php +1 -1
- vendor/composer/ClassLoader.php +2 -2
- vendor/composer/autoload_classmap.php +1 -0
- vendor/composer/autoload_namespaces.php +1 -0
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +19 -3
- vendor/composer/installed.json +56 -1
- vendor/mobiledetect/mobiledetectlib/LICENSE.txt +48 -0
- vendor/mobiledetect/mobiledetectlib/Mobile_Detect.json +1 -0
- vendor/mobiledetect/mobiledetectlib/Mobile_Detect.php +1473 -0
- vendor/mobiledetect/mobiledetectlib/README.md +344 -0
- vendor/mobiledetect/mobiledetectlib/composer.json +31 -0
- vendor/mobiledetect/mobiledetectlib/composer.lock +983 -0
- vendor/mobiledetect/mobiledetectlib/docs/CONTRIBUTING.md +48 -0
- vendor/mobiledetect/mobiledetectlib/docs/HISTORY.md +11 -0
- vendor/mobiledetect/mobiledetectlib/docs/ISSUE_TEMPLATE.md +15 -0
- vendor/mobiledetect/mobiledetectlib/docs/KNOWN_LIMITATIONS.md +11 -0
- vendor/mobiledetect/mobiledetectlib/export/exportToJSON.php +67 -0
- vendor/mobiledetect/mobiledetectlib/namespaced/Detection/MobileDetect.php +22 -0
- vendor/mobiledetect/mobiledetectlib/phpcs.xml +20 -0
ajax-search-for-woocommerce.php
CHANGED
@@ -4,13 +4,13 @@
|
|
4 |
* Plugin Name: AJAX Search for WooCommerce
|
5 |
* Plugin URI: https://wordpress.org/plugins/ajax-search-for-woocommerce/
|
6 |
* Description: Allows your customers to search products easily and quickly. It will display the results instantly while typing in an inputbox.
|
7 |
-
* Version: 1.
|
8 |
* Author: Damian Góra
|
9 |
* Author URI: http://damiangora.com
|
10 |
* Text Domain: ajax-search-for-woocommerce
|
11 |
-
* Domain Path: /languages
|
12 |
* WC requires at least: 3.0
|
13 |
-
* WC tested up to: 3.
|
14 |
*
|
15 |
*/
|
16 |
// Exit if accessed directly
|
@@ -34,17 +34,21 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
34 |
public $nativeSearch ;
|
35 |
public $tntsearch ;
|
36 |
public $tntsearchValid = false ;
|
37 |
-
public
|
|
|
|
|
|
|
38 |
{
|
39 |
|
40 |
if ( !isset( self::$instance ) && !self::$instance instanceof DGWT_WC_Ajax_Search ) {
|
41 |
self::$instance = new DGWT_WC_Ajax_Search();
|
42 |
self::$instance->constants();
|
43 |
-
self::$instance->
|
44 |
-
if ( !self::$instance->
|
45 |
return;
|
46 |
}
|
47 |
self::$instance->autoload();
|
|
|
48 |
$setup = new \DgoraWcas\Setup();
|
49 |
$setup->init();
|
50 |
self::$instance->settings = new \DgoraWcas\Settings();
|
@@ -67,6 +71,7 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
67 |
new \DgoraWcas\Admin\Requirements();
|
68 |
}
|
69 |
|
|
|
70 |
self::$instance->backwardCompatibility = new \DgoraWcas\BackwardCompatibility();
|
71 |
}
|
72 |
|
@@ -84,16 +89,18 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
84 |
|
85 |
/**
|
86 |
* Check requirements
|
|
|
|
|
87 |
*/
|
88 |
-
private function
|
89 |
{
|
90 |
if ( version_compare( PHP_VERSION, '5.5.0' ) < 0 ) {
|
91 |
|
92 |
if ( version_compare( PHP_VERSION, '5.3.0' ) < 0 ) {
|
93 |
-
add_action( 'admin_notices', array( $this, '
|
94 |
return false;
|
95 |
} else {
|
96 |
-
add_action( 'admin_notices', array( $this, '
|
97 |
}
|
98 |
|
99 |
}
|
@@ -110,7 +117,7 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
110 |
* Notice: PHP version less than 5.3
|
111 |
* @return void
|
112 |
*/
|
113 |
-
public function
|
114 |
{
|
115 |
?>
|
116 |
<div class="error">
|
@@ -126,8 +133,10 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
126 |
|
127 |
/**
|
128 |
* Notice: PHP version less than 5.5
|
|
|
|
|
129 |
*/
|
130 |
-
public function
|
131 |
{
|
132 |
if ( defined( 'DISABLE_NAG_NOTICES' ) && DISABLE_NAG_NOTICES ) {
|
133 |
return;
|
@@ -166,6 +175,8 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
166 |
|
167 |
/**
|
168 |
* Notice: requires WooCommerce
|
|
|
|
|
169 |
*/
|
170 |
public function admin_notice_no_woocommerce()
|
171 |
{
|
@@ -182,6 +193,8 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
182 |
|
183 |
/**
|
184 |
* Setup plugin constants
|
|
|
|
|
185 |
*/
|
186 |
private function constants()
|
187 |
{
|
@@ -205,6 +218,8 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
205 |
*
|
206 |
* @param string $name
|
207 |
* @param string|bool $value
|
|
|
|
|
208 |
*/
|
209 |
private function define( $name, $value )
|
210 |
{
|
@@ -215,6 +230,8 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
215 |
|
216 |
/**
|
217 |
* PSR-4 autoload
|
|
|
|
|
218 |
*/
|
219 |
public function autoload()
|
220 |
{
|
@@ -227,16 +244,20 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
227 |
|
228 |
/**
|
229 |
* Actions and filters
|
|
|
|
|
230 |
*/
|
231 |
private function hooks()
|
232 |
{
|
233 |
-
add_action( 'admin_init', array( $this, '
|
234 |
}
|
235 |
|
236 |
-
|
237 |
* Enqueue admin sripts
|
|
|
|
|
238 |
*/
|
239 |
-
public function
|
240 |
{
|
241 |
// Register CSS
|
242 |
wp_register_style(
|
@@ -267,20 +288,43 @@ if ( !class_exists( 'DGWT_WC_Ajax_Search' ) && !function_exists( 'dgoraAsfwFs' )
|
|
267 |
}
|
268 |
}
|
269 |
|
270 |
-
|
271 |
* Register text domain
|
|
|
|
|
272 |
*/
|
273 |
-
private function
|
274 |
{
|
275 |
$lang_dir = dirname( plugin_basename( DGWT_WCAS_FILE ) ) . '/languages/';
|
276 |
load_plugin_textdomain( 'ajax-search-for-woocommerce', false, $lang_dir );
|
277 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
279 |
}
|
280 |
// Init the plugin
|
281 |
function DGWT_WCAS()
|
282 |
{
|
283 |
-
return DGWT_WC_Ajax_Search::
|
284 |
}
|
285 |
|
286 |
add_action( 'plugins_loaded', 'DGWT_WCAS' );
|
4 |
* Plugin Name: AJAX Search for WooCommerce
|
5 |
* Plugin URI: https://wordpress.org/plugins/ajax-search-for-woocommerce/
|
6 |
* Description: Allows your customers to search products easily and quickly. It will display the results instantly while typing in an inputbox.
|
7 |
+
* Version: 1.4.0
|
8 |
* Author: Damian Góra
|
9 |
* Author URI: http://damiangora.com
|
10 |
* Text Domain: ajax-search-for-woocommerce
|
11 |
+
* Domain Path: /languages
|
12 |
* WC requires at least: 3.0
|
13 |
+
* WC tested up to: 3.6
|
14 |
*
|
15 |
*/
|
16 |
// Exit if accessed directly
|
34 |
public $nativeSearch ;
|
35 |
public $tntsearch ;
|
36 |
public $tntsearchValid = false ;
|
37 |
+
public $tntsearchMySql ;
|
38 |
+
public $tntsearchMySqlValid = false ;
|
39 |
+
public $mobileDetect ;
|
40 |
+
public static function getInstance()
|
41 |
{
|
42 |
|
43 |
if ( !isset( self::$instance ) && !self::$instance instanceof DGWT_WC_Ajax_Search ) {
|
44 |
self::$instance = new DGWT_WC_Ajax_Search();
|
45 |
self::$instance->constants();
|
46 |
+
self::$instance->loadTextdomain();
|
47 |
+
if ( !self::$instance->checkRequirements() ) {
|
48 |
return;
|
49 |
}
|
50 |
self::$instance->autoload();
|
51 |
+
self::$instance->mobileDetect = new \Detection\MobileDetect();
|
52 |
$setup = new \DgoraWcas\Setup();
|
53 |
$setup->init();
|
54 |
self::$instance->settings = new \DgoraWcas\Settings();
|
71 |
new \DgoraWcas\Admin\Requirements();
|
72 |
}
|
73 |
|
74 |
+
new \DgoraWcas\Conflicts\Solver();
|
75 |
self::$instance->backwardCompatibility = new \DgoraWcas\BackwardCompatibility();
|
76 |
}
|
77 |
|
89 |
|
90 |
/**
|
91 |
* Check requirements
|
92 |
+
*
|
93 |
+
* @return void
|
94 |
*/
|
95 |
+
private function checkRequirements()
|
96 |
{
|
97 |
if ( version_compare( PHP_VERSION, '5.5.0' ) < 0 ) {
|
98 |
|
99 |
if ( version_compare( PHP_VERSION, '5.3.0' ) < 0 ) {
|
100 |
+
add_action( 'admin_notices', array( $this, 'adminNoticeReqPhp53' ) );
|
101 |
return false;
|
102 |
} else {
|
103 |
+
add_action( 'admin_notices', array( $this, 'adminNoticeReqPhp55' ) );
|
104 |
}
|
105 |
|
106 |
}
|
117 |
* Notice: PHP version less than 5.3
|
118 |
* @return void
|
119 |
*/
|
120 |
+
public function adminNoticeReqPhp53()
|
121 |
{
|
122 |
?>
|
123 |
<div class="error">
|
133 |
|
134 |
/**
|
135 |
* Notice: PHP version less than 5.5
|
136 |
+
*
|
137 |
+
* @return void
|
138 |
*/
|
139 |
+
public function adminNoticeReqPhp55()
|
140 |
{
|
141 |
if ( defined( 'DISABLE_NAG_NOTICES' ) && DISABLE_NAG_NOTICES ) {
|
142 |
return;
|
175 |
|
176 |
/**
|
177 |
* Notice: requires WooCommerce
|
178 |
+
*
|
179 |
+
* @return void
|
180 |
*/
|
181 |
public function admin_notice_no_woocommerce()
|
182 |
{
|
193 |
|
194 |
/**
|
195 |
* Setup plugin constants
|
196 |
+
*
|
197 |
+
* @return void
|
198 |
*/
|
199 |
private function constants()
|
200 |
{
|
218 |
*
|
219 |
* @param string $name
|
220 |
* @param string|bool $value
|
221 |
+
*
|
222 |
+
* @return void
|
223 |
*/
|
224 |
private function define( $name, $value )
|
225 |
{
|
230 |
|
231 |
/**
|
232 |
* PSR-4 autoload
|
233 |
+
*
|
234 |
+
* @return void
|
235 |
*/
|
236 |
public function autoload()
|
237 |
{
|
244 |
|
245 |
/**
|
246 |
* Actions and filters
|
247 |
+
*
|
248 |
+
* @return void
|
249 |
*/
|
250 |
private function hooks()
|
251 |
{
|
252 |
+
add_action( 'admin_init', array( $this, 'adminScripts' ), 8 );
|
253 |
}
|
254 |
|
255 |
+
/**
|
256 |
* Enqueue admin sripts
|
257 |
+
*
|
258 |
+
* @return void
|
259 |
*/
|
260 |
+
public function adminScripts()
|
261 |
{
|
262 |
// Register CSS
|
263 |
wp_register_style(
|
288 |
}
|
289 |
}
|
290 |
|
291 |
+
/**
|
292 |
* Register text domain
|
293 |
+
*
|
294 |
+
* @return void
|
295 |
*/
|
296 |
+
private function loadTextdomain()
|
297 |
{
|
298 |
$lang_dir = dirname( plugin_basename( DGWT_WCAS_FILE ) ) . '/languages/';
|
299 |
load_plugin_textdomain( 'ajax-search-for-woocommerce', false, $lang_dir );
|
300 |
}
|
301 |
+
|
302 |
+
/**
|
303 |
+
* Index database provider
|
304 |
+
*
|
305 |
+
* @TODO Remove the SQLIte support in the future
|
306 |
+
*
|
307 |
+
* @return string
|
308 |
+
*/
|
309 |
+
public function getDatabaseProvider()
|
310 |
+
{
|
311 |
+
$provider = 'mysql';
|
312 |
+
$opt = $this->settings->get_opt( 'search_engine_provider', 'mysql' );
|
313 |
+
|
314 |
+
if ( $opt === 'sqlite' ) {
|
315 |
+
$provider = 'sqlite';
|
316 |
+
} elseif ( $opt === 'mysql' ) {
|
317 |
+
$provider = 'mysql';
|
318 |
+
}
|
319 |
+
|
320 |
+
return $provider;
|
321 |
+
}
|
322 |
|
323 |
}
|
324 |
// Init the plugin
|
325 |
function DGWT_WCAS()
|
326 |
{
|
327 |
+
return DGWT_WC_Ajax_Search::getInstance();
|
328 |
}
|
329 |
|
330 |
add_action( 'plugins_loaded', 'DGWT_WCAS' );
|
assets/css/admin-style.css
CHANGED
@@ -100,8 +100,13 @@
|
|
100 |
display: none;
|
101 |
}
|
102 |
|
103 |
-
.dgwt_wcas_settings-group label {
|
104 |
width: 100%;
|
|
|
|
|
|
|
|
|
|
|
105 |
}
|
106 |
|
107 |
.dgwt_wcas_settings-group > table > tbody > tr > td {
|
@@ -646,11 +651,21 @@ input[type=checkbox].dgwt-wcas-check:checked ~ .dgwt-wcas-switch {
|
|
646 |
|
647 |
.dgwt-wcas-indexer-logs {
|
648 |
margin: 10px 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
649 |
}
|
650 |
|
651 |
.dgwt-wcas-indexer-log {
|
652 |
display: block;
|
653 |
}
|
|
|
|
|
|
|
|
|
654 |
|
655 |
.dgwt-wcas-indexer-logs__error {
|
656 |
color: #db6564;
|
@@ -738,7 +753,19 @@ input[type=checkbox].dgwt-wcas-check:checked ~ .dgwt-wcas-switch {
|
|
738 |
align-items: flex-end;
|
739 |
margin-top: 15px;
|
740 |
}
|
741 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
742 |
.button.ajax-build-index-primary {
|
743 |
background: #a36597;
|
744 |
border-color: #a36597;
|
100 |
display: none;
|
101 |
}
|
102 |
|
103 |
+
.dgwt_wcas_settings-group .form-table td fieldset label {
|
104 |
width: 100%;
|
105 |
+
display: flex;
|
106 |
+
align-items: center;
|
107 |
+
}
|
108 |
+
.dgwt_wcas_settings-group label input[type="checkbox"] {
|
109 |
+
margin: 0;
|
110 |
}
|
111 |
|
112 |
.dgwt_wcas_settings-group > table > tbody > tr > td {
|
651 |
|
652 |
.dgwt-wcas-indexer-logs {
|
653 |
margin: 10px 0;
|
654 |
+
font-family: monospace;
|
655 |
+
background: #fff;
|
656 |
+
border: 1px solid #ccc;
|
657 |
+
padding: 10px;
|
658 |
+
color: #888;
|
659 |
+
font-size: 11px;
|
660 |
}
|
661 |
|
662 |
.dgwt-wcas-indexer-log {
|
663 |
display: block;
|
664 |
}
|
665 |
+
.dgwt-wcas-indexer-log code {
|
666 |
+
padding: 1px 5px 1px 5px;
|
667 |
+
font-size: 11px;
|
668 |
+
}
|
669 |
|
670 |
.dgwt-wcas-indexer-logs__error {
|
671 |
color: #db6564;
|
753 |
align-items: flex-end;
|
754 |
margin-top: 15px;
|
755 |
}
|
756 |
+
.dgwt-wcas-indexing-header__troubleshooting {
|
757 |
+
font-size: 13px;
|
758 |
+
border: 2px dashed #e7e7e7;
|
759 |
+
padding: 10px;
|
760 |
+
line-height: 144%;
|
761 |
+
}
|
762 |
+
.dgwt-wcas-indexing-header__troubleshooting a {
|
763 |
+
text-decoration: none;
|
764 |
+
}
|
765 |
+
.wcas-ajax-build-index-wait {
|
766 |
+
opacity: 0.5;
|
767 |
+
pointer-events: none;
|
768 |
+
}
|
769 |
.button.ajax-build-index-primary {
|
770 |
background: #a36597;
|
771 |
border-color: #a36597;
|
assets/css/style.css
CHANGED
@@ -31,12 +31,12 @@
|
|
31 |
margin: 0 0 0 15px !important;
|
32 |
}
|
33 |
|
34 |
-
|
35 |
.dgwt-wcas-preloader-wrapp img {
|
36 |
margin: 10px auto 0 auto;
|
37 |
display: block;
|
38 |
max-width: 200px;
|
39 |
}
|
|
|
40 |
.dgwt-wcas-preloader-wrapp img.dgwt-wcas-placeholder-preloader {
|
41 |
display: block;
|
42 |
width: 100%;
|
@@ -55,6 +55,7 @@
|
|
55 |
box-sizing: border-box;
|
56 |
overflow-y: auto;
|
57 |
}
|
|
|
58 |
.dgwt-wcas-suggestions-wrapp.dgwt-wcas-suggestions-wrapp--top {
|
59 |
border: 1px solid #ddd;
|
60 |
border-bottom: none;
|
@@ -83,15 +84,20 @@
|
|
83 |
font-size: 12px;
|
84 |
line-height: 110%;
|
85 |
text-align: left;
|
86 |
-
padding: 7px
|
87 |
position: relative;
|
88 |
border-bottom: 1px solid #dfdfdf;
|
89 |
display: flex;
|
90 |
-
flex-direction:
|
91 |
-
justify-content:
|
|
|
92 |
resize: vertical;
|
93 |
}
|
94 |
|
|
|
|
|
|
|
|
|
95 |
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-no-border-bottom {
|
96 |
border-bottom: none;
|
97 |
}
|
@@ -108,10 +114,11 @@
|
|
108 |
}
|
109 |
|
110 |
.dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product {
|
111 |
-
padding:
|
|
|
|
|
112 |
}
|
113 |
|
114 |
-
|
115 |
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-more,
|
116 |
.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-more {
|
117 |
min-height: 30px;
|
@@ -123,12 +130,20 @@
|
|
123 |
text-align: center;
|
124 |
}
|
125 |
|
126 |
-
|
127 |
.dgwt-wcas-st {
|
128 |
-
padding-left: 10px;
|
129 |
display: block;
|
130 |
color: #444;
|
131 |
font-size: 15px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
}
|
133 |
|
134 |
.dgwt-wcas-st > span.dgwt-wcas-st--tax {
|
@@ -152,66 +167,29 @@
|
|
152 |
width: 100%;
|
153 |
padding-right: 10px;
|
154 |
}
|
155 |
-
|
156 |
-
.dgwt-wcas-has-price .dgwt-wcas-suggestion:not(.dgwt-wcas-suggestion-cat) .dgwt-wcas-st {
|
157 |
-
padding-right: 80px;
|
158 |
-
}
|
159 |
-
|
160 |
-
.rtl .dgwt-wcas-has-price .dgwt-wcas-suggestion:not(.dgwt-wcas-suggestion-cat) .dgwt-wcas-st {
|
161 |
padding-right: 0;
|
162 |
-
padding-left:
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
.dgwt-wcas-has-img .dgwt-wcas-content-wrapp {
|
167 |
-
padding-left: 60px;
|
168 |
-
}
|
169 |
-
|
170 |
-
.rtl .dgwt-wcas-has-img .dgwt-wcas-content-wrapp {
|
171 |
-
padding-right: 70px;
|
172 |
-
padding-left: 0;
|
173 |
-
}
|
174 |
-
|
175 |
-
.rtl.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-content-wrapp {
|
176 |
-
padding-right: 50px;
|
177 |
-
padding-left: 0;
|
178 |
}
|
179 |
|
180 |
.dgwt-wcas-sku {
|
181 |
font-size: 80%;
|
182 |
-
margin-left: 6px;
|
183 |
-
}
|
184 |
-
|
185 |
-
.dgwt-wcas-st > span {
|
186 |
-
display: inline-block;
|
187 |
-
vertical-align: middle;
|
188 |
}
|
189 |
|
190 |
.dgwt-wcas-si {
|
191 |
-
position: absolute;
|
192 |
-
left: 10px;
|
193 |
-
top: 0;
|
194 |
width: 50px;
|
195 |
display: block;
|
196 |
height: 100%;
|
197 |
-
min-height: 50px;
|
198 |
-
}
|
199 |
-
|
200 |
-
.rtl .dgwt-wcas-si {
|
201 |
-
left: auto;
|
202 |
-
right: 10px;
|
203 |
}
|
204 |
|
205 |
.dgwt-wcas-si img {
|
206 |
background: #fff none repeat scroll 0 0;
|
207 |
border: 1px solid #e8e8e8;
|
208 |
border-radius: 3px;
|
209 |
-
bottom: 0;
|
210 |
display: block;
|
211 |
margin: auto;
|
212 |
padding: 2px;
|
213 |
-
position: absolute;
|
214 |
-
top: 0;
|
215 |
height: auto;
|
216 |
width: auto;
|
217 |
max-height: 90%;
|
@@ -219,23 +197,31 @@
|
|
219 |
}
|
220 |
|
221 |
.dgwt-wcas-content-wrapp {
|
222 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
}
|
224 |
|
225 |
.dgwt-wcas-sp {
|
226 |
color: #555;
|
227 |
font-size: 14px;
|
228 |
-
position: absolute;
|
229 |
-
right: 10px;
|
230 |
-
top: 5px;
|
231 |
-
vertical-align: middle;
|
232 |
line-height: 120%;
|
233 |
text-align: right;
|
|
|
|
|
234 |
}
|
235 |
|
236 |
-
.
|
237 |
-
|
238 |
-
left: 10px;
|
239 |
}
|
240 |
|
241 |
.dgwt-wcas-search-form {
|
@@ -251,15 +237,10 @@
|
|
251 |
.dgwt-wcas-sd {
|
252 |
color: #777;
|
253 |
display: block;
|
254 |
-
padding-left: 11px;
|
255 |
line-height: 14px;
|
256 |
-
|
257 |
margin-top: 5px;
|
258 |
-
|
259 |
-
|
260 |
-
.rtl .dgwt-wcas-sd {
|
261 |
-
padding-left: 60px;
|
262 |
-
padding-right: 0;
|
263 |
}
|
264 |
|
265 |
.dgwt-wcas-suggestion-selected {
|
@@ -414,20 +395,22 @@
|
|
414 |
justify-content: center;
|
415 |
display: flex;
|
416 |
flex-direction: column;
|
417 |
-
max-width: 190px;
|
418 |
width: 100%;
|
|
|
419 |
}
|
|
|
420 |
.dgwt-wcas-pd-rest .product-title {
|
421 |
display: block;
|
422 |
line-height: 100%;
|
423 |
font-weight: 500;
|
424 |
margin-bottom: 5px;
|
425 |
}
|
|
|
426 |
.dgwt-wcas-tpd-rest {
|
427 |
max-width: 200px;
|
428 |
}
|
429 |
|
430 |
-
.dgwt-wcas-tpd-rest .product-title{
|
431 |
display: block;
|
432 |
line-height: 100%;
|
433 |
font-size: 13px;
|
@@ -525,7 +508,7 @@
|
|
525 |
|
526 |
.dgwt-wcas-pd-details {
|
527 |
display: flex;
|
528 |
-
justify-content:
|
529 |
}
|
530 |
|
531 |
.dgwt-wcas-tpd-image, .dgwt-wcas-pd-image {
|
@@ -596,7 +579,7 @@ input[type="text"].dgwt-cas-search-input {
|
|
596 |
}
|
597 |
|
598 |
.dgwt-wcas-pd-addtc .add_to_cart_inline,
|
599 |
-
.dgwt-wcas-pd-addtc .add_to_cart_button{
|
600 |
margin: 0;
|
601 |
}
|
602 |
|
@@ -765,7 +748,7 @@ input[type="submit"].dgwt-wcas-search-submit, button.dgwt-wcas-search-submit {
|
|
765 |
-o-transition: all 250ms ease-in-out;
|
766 |
transition: all 250ms ease-in-out;
|
767 |
text-transform: uppercase;
|
768 |
-
background-color: #
|
769 |
border-radius: 0 2px 2px 0;
|
770 |
-webkit-border-radius: 0 2px 2px 0;
|
771 |
text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
|
@@ -798,7 +781,7 @@ input[type="submit"].dgwt-wcas-search-submit, button.dgwt-wcas-search-submit {
|
|
798 |
position: absolute;
|
799 |
border-width: 8px 8px 8px 0;
|
800 |
border-style: solid solid solid none;
|
801 |
-
border-color: transparent #
|
802 |
top: 12px;
|
803 |
left: -6px;
|
804 |
-webkit-transition: all 250ms ease-in-out;
|
@@ -816,12 +799,12 @@ input[type="submit"].dgwt-wcas-search-submit, button.dgwt-wcas-search-submit {
|
|
816 |
}
|
817 |
|
818 |
.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:hover:before {
|
819 |
-
border-right-color: #
|
820 |
}
|
821 |
|
822 |
.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:focus:before,
|
823 |
.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:active:before {
|
824 |
-
border-right-color: #
|
825 |
}
|
826 |
|
827 |
.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit::-moz-focus-inner { /* remove extra button spacing for Mozilla Firefox */
|
@@ -833,10 +816,6 @@ input[type="submit"].dgwt-wcas-search-submit, button.dgwt-wcas-search-submit {
|
|
833 |
fill: #fff;
|
834 |
}
|
835 |
|
836 |
-
.dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product {
|
837 |
-
min-height: 60px;
|
838 |
-
}
|
839 |
-
|
840 |
.dgwt-wcas-details-inner .added_to_cart {
|
841 |
display: block;
|
842 |
}
|
@@ -849,22 +828,9 @@ input[type="submit"].dgwt-wcas-search-submit, button.dgwt-wcas-search-submit {
|
|
849 |
display: block;
|
850 |
}
|
851 |
|
852 |
-
.dgwt-wcas-has-img .dgwt-wcas-sp,
|
853 |
-
.dgwt-wcas-has-desc .dgwt-wcas-sp {
|
854 |
-
top: 12px;
|
855 |
-
}
|
856 |
-
|
857 |
/*------------------------------------------------------
|
858 |
Specific styles for details box
|
859 |
---------------------------------------------------------*/
|
860 |
-
.dgwt-wcas-is-details .dgwt-wcas-content-wrapp {
|
861 |
-
display: flex;
|
862 |
-
flex-direction: column;
|
863 |
-
height: 100%;
|
864 |
-
justify-content: center;
|
865 |
-
resize: vertical;
|
866 |
-
padding-left: 20px;
|
867 |
-
}
|
868 |
|
869 |
.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp {
|
870 |
min-height: 340px;
|
@@ -878,19 +844,13 @@ body:not(.dgwt-wcas-is-details) .dgwt-wcas-suggestion:last-child {
|
|
878 |
min-height: 40px;
|
879 |
}
|
880 |
|
881 |
-
.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-content-wrapp {
|
882 |
-
padding-left: 40px;
|
883 |
-
}
|
884 |
-
|
885 |
.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp {
|
886 |
overflow: visible;
|
887 |
}
|
888 |
|
889 |
.dgwt-wcas-is-details .dgwt-wcas-si {
|
890 |
-
min-height: 40px;
|
891 |
width: 30px;
|
892 |
max-width: 100%;
|
893 |
-
max-width: 100%;
|
894 |
box-sizing: border-box;
|
895 |
}
|
896 |
|
@@ -934,6 +894,111 @@ body:not(.dgwt-wcas-is-details) .dgwt-wcas-suggestion:last-child {
|
|
934 |
padding: 10px 15px 10px 40px;
|
935 |
}
|
936 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
937 |
/* compatibility with external plugins and themes */
|
938 |
body .dgwt-wcas-content-wrapp .zwave,
|
939 |
body .dgwt-wcas-content-wrapp .rood {
|
31 |
margin: 0 0 0 15px !important;
|
32 |
}
|
33 |
|
|
|
34 |
.dgwt-wcas-preloader-wrapp img {
|
35 |
margin: 10px auto 0 auto;
|
36 |
display: block;
|
37 |
max-width: 200px;
|
38 |
}
|
39 |
+
|
40 |
.dgwt-wcas-preloader-wrapp img.dgwt-wcas-placeholder-preloader {
|
41 |
display: block;
|
42 |
width: 100%;
|
55 |
box-sizing: border-box;
|
56 |
overflow-y: auto;
|
57 |
}
|
58 |
+
|
59 |
.dgwt-wcas-suggestions-wrapp.dgwt-wcas-suggestions-wrapp--top {
|
60 |
border: 1px solid #ddd;
|
61 |
border-bottom: none;
|
84 |
font-size: 12px;
|
85 |
line-height: 110%;
|
86 |
text-align: left;
|
87 |
+
padding: 7px 10px;
|
88 |
position: relative;
|
89 |
border-bottom: 1px solid #dfdfdf;
|
90 |
display: flex;
|
91 |
+
flex-direction: row;
|
92 |
+
justify-content: space-between;
|
93 |
+
align-items: center;
|
94 |
resize: vertical;
|
95 |
}
|
96 |
|
97 |
+
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-more {
|
98 |
+
justify-content: center;
|
99 |
+
}
|
100 |
+
|
101 |
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-no-border-bottom {
|
102 |
border-bottom: none;
|
103 |
}
|
114 |
}
|
115 |
|
116 |
.dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product {
|
117 |
+
padding-top: 8px;
|
118 |
+
padding-bottom: 8px;
|
119 |
+
min-height: 60px;
|
120 |
}
|
121 |
|
|
|
122 |
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-more,
|
123 |
.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-more {
|
124 |
min-height: 30px;
|
130 |
text-align: center;
|
131 |
}
|
132 |
|
|
|
133 |
.dgwt-wcas-st {
|
|
|
134 |
display: block;
|
135 |
color: #444;
|
136 |
font-size: 15px;
|
137 |
+
width: 100%;
|
138 |
+
}
|
139 |
+
|
140 |
+
.dgwt-wcas-st > span {
|
141 |
+
display: inline-block;
|
142 |
+
vertical-align: middle;
|
143 |
+
}
|
144 |
+
|
145 |
+
.dgwt-wcas-has-sku .dgwt-wcas-st-title {
|
146 |
+
margin-right: 6px;
|
147 |
}
|
148 |
|
149 |
.dgwt-wcas-st > span.dgwt-wcas-st--tax {
|
167 |
width: 100%;
|
168 |
padding-right: 10px;
|
169 |
}
|
170 |
+
.rtl .dgwt-wcas-st-breadcrumbs {
|
|
|
|
|
|
|
|
|
|
|
171 |
padding-right: 0;
|
172 |
+
padding-left: 10px;
|
173 |
+
text-align: right;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
}
|
175 |
|
176 |
.dgwt-wcas-sku {
|
177 |
font-size: 80%;
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
}
|
179 |
|
180 |
.dgwt-wcas-si {
|
|
|
|
|
|
|
181 |
width: 50px;
|
182 |
display: block;
|
183 |
height: 100%;
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
}
|
185 |
|
186 |
.dgwt-wcas-si img {
|
187 |
background: #fff none repeat scroll 0 0;
|
188 |
border: 1px solid #e8e8e8;
|
189 |
border-radius: 3px;
|
|
|
190 |
display: block;
|
191 |
margin: auto;
|
192 |
padding: 2px;
|
|
|
|
|
193 |
height: auto;
|
194 |
width: auto;
|
195 |
max-height: 90%;
|
197 |
}
|
198 |
|
199 |
.dgwt-wcas-content-wrapp {
|
200 |
+
display: flex;
|
201 |
+
height: 100%;
|
202 |
+
width: 100%;
|
203 |
+
justify-content: space-between;
|
204 |
+
align-items: center;
|
205 |
+
resize: vertical;
|
206 |
+
padding-left: 10px;
|
207 |
+
}
|
208 |
+
|
209 |
+
.rtl .dgwt-wcas-content-wrapp {
|
210 |
+
padding-left: 0;
|
211 |
+
padding-right: 10px;
|
212 |
}
|
213 |
|
214 |
.dgwt-wcas-sp {
|
215 |
color: #555;
|
216 |
font-size: 14px;
|
|
|
|
|
|
|
|
|
217 |
line-height: 120%;
|
218 |
text-align: right;
|
219 |
+
line-height: 4px;
|
220 |
+
padding-left: 10px;
|
221 |
}
|
222 |
|
223 |
+
.dgwt-wcas-sp * {
|
224 |
+
line-height: 130%;
|
|
|
225 |
}
|
226 |
|
227 |
.dgwt-wcas-search-form {
|
237 |
.dgwt-wcas-sd {
|
238 |
color: #777;
|
239 |
display: block;
|
|
|
240 |
line-height: 14px;
|
241 |
+
width: 100%;
|
242 |
margin-top: 5px;
|
243 |
+
font-size: 0.8em;
|
|
|
|
|
|
|
|
|
244 |
}
|
245 |
|
246 |
.dgwt-wcas-suggestion-selected {
|
395 |
justify-content: center;
|
396 |
display: flex;
|
397 |
flex-direction: column;
|
|
|
398 |
width: 100%;
|
399 |
+
padding-left: 10px;
|
400 |
}
|
401 |
+
|
402 |
.dgwt-wcas-pd-rest .product-title {
|
403 |
display: block;
|
404 |
line-height: 100%;
|
405 |
font-weight: 500;
|
406 |
margin-bottom: 5px;
|
407 |
}
|
408 |
+
|
409 |
.dgwt-wcas-tpd-rest {
|
410 |
max-width: 200px;
|
411 |
}
|
412 |
|
413 |
+
.dgwt-wcas-tpd-rest .product-title {
|
414 |
display: block;
|
415 |
line-height: 100%;
|
416 |
font-size: 13px;
|
508 |
|
509 |
.dgwt-wcas-pd-details {
|
510 |
display: flex;
|
511 |
+
justify-content: left;
|
512 |
}
|
513 |
|
514 |
.dgwt-wcas-tpd-image, .dgwt-wcas-pd-image {
|
579 |
}
|
580 |
|
581 |
.dgwt-wcas-pd-addtc .add_to_cart_inline,
|
582 |
+
.dgwt-wcas-pd-addtc .add_to_cart_button {
|
583 |
margin: 0;
|
584 |
}
|
585 |
|
748 |
-o-transition: all 250ms ease-in-out;
|
749 |
transition: all 250ms ease-in-out;
|
750 |
text-transform: uppercase;
|
751 |
+
background-color: #333;
|
752 |
border-radius: 0 2px 2px 0;
|
753 |
-webkit-border-radius: 0 2px 2px 0;
|
754 |
text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
|
781 |
position: absolute;
|
782 |
border-width: 8px 8px 8px 0;
|
783 |
border-style: solid solid solid none;
|
784 |
+
border-color: transparent #333 transparent;
|
785 |
top: 12px;
|
786 |
left: -6px;
|
787 |
-webkit-transition: all 250ms ease-in-out;
|
799 |
}
|
800 |
|
801 |
.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:hover:before {
|
802 |
+
border-right-color: #333;
|
803 |
}
|
804 |
|
805 |
.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:focus:before,
|
806 |
.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:active:before {
|
807 |
+
border-right-color: #333;
|
808 |
}
|
809 |
|
810 |
.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit::-moz-focus-inner { /* remove extra button spacing for Mozilla Firefox */
|
816 |
fill: #fff;
|
817 |
}
|
818 |
|
|
|
|
|
|
|
|
|
819 |
.dgwt-wcas-details-inner .added_to_cart {
|
820 |
display: block;
|
821 |
}
|
828 |
display: block;
|
829 |
}
|
830 |
|
|
|
|
|
|
|
|
|
|
|
831 |
/*------------------------------------------------------
|
832 |
Specific styles for details box
|
833 |
---------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
834 |
|
835 |
.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp {
|
836 |
min-height: 340px;
|
844 |
min-height: 40px;
|
845 |
}
|
846 |
|
|
|
|
|
|
|
|
|
847 |
.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp {
|
848 |
overflow: visible;
|
849 |
}
|
850 |
|
851 |
.dgwt-wcas-is-details .dgwt-wcas-si {
|
|
|
852 |
width: 30px;
|
853 |
max-width: 100%;
|
|
|
854 |
box-sizing: border-box;
|
855 |
}
|
856 |
|
894 |
padding: 10px 15px 10px 40px;
|
895 |
}
|
896 |
|
897 |
+
.dgwt-wcas-overlay-mobile-on {
|
898 |
+
overflow: hidden;
|
899 |
+
}
|
900 |
+
|
901 |
+
.dgwt-wcas-om-bar {
|
902 |
+
display: flex;
|
903 |
+
height: 45px;
|
904 |
+
width: 100%;
|
905 |
+
}
|
906 |
+
|
907 |
+
.dgwt-wcas-om-bar .dgwt-wcas-om-return {
|
908 |
+
width: 45px;
|
909 |
+
height: 100%;
|
910 |
+
display: block;
|
911 |
+
background: #ccc;
|
912 |
+
cursor: pointer;
|
913 |
+
position: relative;
|
914 |
+
}
|
915 |
+
|
916 |
+
.dgwt-wcas-om-bar .dgwt-wcas-om-return svg {
|
917 |
+
width: 23px;
|
918 |
+
height: 23px;
|
919 |
+
position: absolute;
|
920 |
+
left: 12px;
|
921 |
+
top: 12px;
|
922 |
+
}
|
923 |
+
|
924 |
+
.rtl .dgwt-wcas-om-bar .dgwt-wcas-om-return svg {
|
925 |
+
left: 11px;
|
926 |
+
top: 9px;
|
927 |
+
-moz-transform: rotate(180deg);
|
928 |
+
-webkit-transform: rotate(180deg);
|
929 |
+
-o-transform: rotate(180deg);
|
930 |
+
-ms-transform: rotate(180deg);
|
931 |
+
transform: rotate(180deg);
|
932 |
+
}
|
933 |
+
|
934 |
+
.dgwt-wcas-om-bar .dgwt-wcas-has-submit-off .dgwt-wcas-preloader {
|
935 |
+
right: 0 !important;
|
936 |
+
}
|
937 |
+
|
938 |
+
.rtl .dgwt-wcas-om-bar .dgwt-wcas-has-submit-off .dgwt-wcas-preloader {
|
939 |
+
left: 4px !important;
|
940 |
+
right: auto !important;
|
941 |
+
}
|
942 |
+
|
943 |
+
.dgwt-wcas-om-bar .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
|
944 |
+
display: none;
|
945 |
+
}
|
946 |
+
|
947 |
+
.dgwt-wcas-om-bar .dgwt-wcas-search-wrapp-mobile {
|
948 |
+
width: calc(100% - 45px);
|
949 |
+
max-width: none;
|
950 |
+
}
|
951 |
+
|
952 |
+
.dgwt-wcas-overlay-mobile {
|
953 |
+
position: absolute;
|
954 |
+
left: 0;
|
955 |
+
right: 0;
|
956 |
+
top: 0;
|
957 |
+
bottom: 0;
|
958 |
+
width: 100%;
|
959 |
+
background: #fff;
|
960 |
+
}
|
961 |
+
|
962 |
+
.dgwt-wcas-overlay-mobile * {
|
963 |
+
box-sizing: border-box;
|
964 |
+
}
|
965 |
+
|
966 |
+
.dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input {
|
967 |
+
height: 45px !important;
|
968 |
+
border-top: none;
|
969 |
+
border-right: none;
|
970 |
+
border-left: none;
|
971 |
+
border-radius: 0;
|
972 |
+
font-size: 16px !important;
|
973 |
+
}
|
974 |
+
|
975 |
+
.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestions-wrapp {
|
976 |
+
left: 0 !important;
|
977 |
+
top: 45px !important;
|
978 |
+
width: 100% !important;
|
979 |
+
height: calc(100% - 45px) !important;
|
980 |
+
position: absolute;
|
981 |
+
overflow-y: auto;
|
982 |
+
border: none;
|
983 |
+
}
|
984 |
+
.dgwt-wcas-overlay-mobile-on.dgwt-wcas-is-ios .dgwt-wcas-suggestions-wrapp {
|
985 |
+
height: calc(100% - 45px) !important;
|
986 |
+
}
|
987 |
+
|
988 |
+
.dgwt-wcas-overlay-mobile-on.dgwt-wcas-is-ios {
|
989 |
+
overflow: visible;
|
990 |
+
overflow-x: hidden;
|
991 |
+
}
|
992 |
+
|
993 |
+
.dgwt-wcas-overlay-mobile-on.dgwt-wcas-is-ios .dgwt-wcas-suggestions-wrapp {
|
994 |
+
max-height: none !important;
|
995 |
+
height: auto !important;
|
996 |
+
}
|
997 |
+
|
998 |
+
.dgwt-wcas-overlay-mobile-on.dgwt-wcas-is-ios > *:not(.dgwt-wcas-overlay-mobile) {
|
999 |
+
display: none;
|
1000 |
+
}
|
1001 |
+
|
1002 |
/* compatibility with external plugins and themes */
|
1003 |
body .dgwt-wcas-content-wrapp .zwave,
|
1004 |
body .dgwt-wcas-content-wrapp .rood {
|
assets/css/style.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.dgwt-wcas-search-wrapp,.dgwt-wcas-suggestions-wrapp{-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.dgwt-wcas-pd-rating:after,.dgwt-wcas-suggestion:after,.dgwt-wcas-tax-product-details:after{content:'';clear:both}.dgwt-wcas-block-scroll{overflow:hidden}.dgwt-wcas-search-wrapp{position:relative;display:block;color:#444;min-width:230px;width:100%;text-align:left;margin:0 auto;box-sizing:border-box}.dgwt-wcas-search-wrapp .product-title{color:#333;display:block;line-height:110%;margin:0}.dgwt-wcas-tpd-image img{margin:0 15px 0 0!important;display:block}.rtl .dgwt-wcas-tpd-image img{margin:0 0 0 15px!important}.dgwt-wcas-preloader-wrapp img{margin:10px auto 0;display:block;max-width:200px}.dgwt-wcas-preloader-wrapp img.dgwt-wcas-placeholder-preloader{display:block;width:100%;height:auto;max-width:300px;margin:0}.dgwt-wcas-suggestions-wrapp{background:#fff;border:1px solid #ddd;border-top:none;padding:0;box-sizing:border-box;overflow-y:auto}.dgwt-wcas-suggestions-wrapp.dgwt-wcas-suggestions-wrapp--top{border:1px solid #ddd;border-bottom:none}.dgwt-wcas-is-detail-box .dgwt-wcas-suggestions-wrapp{max-width:550px}.dgwt-wcas-full-width.dgwt-wcas-is-detail-box .dgwt-wcas-suggestion{padding:8px 15px}.dgwt-wcas-details-left .dgwt-wcas-suggestions-wrapp{border-radius:0 0 5px;border-left-color:#eee}.dgwt-wcas-details-right .dgwt-wcas-suggestions-wrapp{border-radius:0 0 0 5px;border-right-color:#eee}.dgwt-wcas-suggestion{cursor:pointer;font-size:12px;line-height:110%;text-align:left;padding:7px 0;position:relative;border-bottom:1px solid #dfdfdf;display:flex;flex-direction:column;justify-content:center;resize:vertical}.dgwt-wcas-si,.dgwt-wcas-si img{position:absolute;display:block}.dgwt-wcas-suggestion.dgwt-wcas-suggestion-no-border-bottom{border-bottom:none}.dgwt-wcas-suggestion:after{display:block}.dgwt-wcas-suggestion.dgwt-wcas-nores{cursor:default;opacity:.5}.dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product{padding:12px 0}.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-more,.dgwt-wcas-suggestion.dgwt-wcas-suggestion-more{min-height:30px;text-transform:uppercase}.dgwt-wcas-suggestion.dgwt-wcas-suggestion-more .dgwt-wcas-st-more{padding:0 10px;text-align:center}.dgwt-wcas-st{padding-left:10px;display:block;color:#444;font-size:15px}.dgwt-wcas-st>span.dgwt-wcas-st--tax{display:block;font-style:italic;font-size:10px;text-transform:uppercase;opacity:.4;line-height:10px;margin-bottom:1px;letter-spacing:2px}.dgwt-wcas-st-breadcrumbs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:80%;text-align:left;opacity:.6;width:100%;padding-right:10px}.dgwt-wcas-has-price .dgwt-wcas-suggestion:not(.dgwt-wcas-suggestion-cat) .dgwt-wcas-st{padding-right:80px}.rtl .dgwt-wcas-has-price .dgwt-wcas-suggestion:not(.dgwt-wcas-suggestion-cat) .dgwt-wcas-st{padding-right:0;padding-left:80px}.dgwt-wcas-has-img .dgwt-wcas-content-wrapp{padding-left:60px}.rtl .dgwt-wcas-has-img .dgwt-wcas-content-wrapp{padding-right:70px;padding-left:0}.rtl.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-content-wrapp{padding-right:50px;padding-left:0}.dgwt-wcas-sku{font-size:80%;margin-left:6px}.dgwt-wcas-st>span{display:inline-block;vertical-align:middle}.dgwt-wcas-si{left:10px;top:0;width:50px;height:100%;min-height:50px}.rtl .dgwt-wcas-si{left:auto;right:10px}.dgwt-wcas-si img{background:#fff;border:1px solid #e8e8e8;border-radius:3px;bottom:0;margin:auto;padding:2px;top:0;height:auto;width:auto;max-height:90%;max-width:100%}.dgwt-wcas-content-wrapp{padding-left:60px}.dgwt-wcas-sp{color:#555;font-size:14px;position:absolute;right:10px;top:5px;vertical-align:middle;line-height:120%;text-align:right}.rtl .dgwt-wcas-sp{right:auto;left:10px}.dgwt-wcas-search-form{margin:0;padding:0}.dgwt-wcas-sp del{opacity:.5;font-size:12px}.dgwt-wcas-sd{color:#777;display:block;padding-left:11px;line-height:14px;padding-right:60px;margin-top:5px}.rtl .dgwt-wcas-sd{padding-left:60px;padding-right:0}.dgwt-wcas-suggestion-selected{background-color:#eee}.dgwt-wcas-suggestion-selected:first-child{border-top:none}.rtl .dgwt-wcas-suggestion{padding-left:0;padding-right:15px;text-align:right}.dgwt-wcas-details-wrapp{background:#fff;border:1px solid #ddd;border-top:none;border-left:none;padding:0;width:300px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:100;min-height:340px}.rtl .dgwt-wcas-details-wrapp{border-left:1px solid #ddd;border-right:none}.dgwt-wcas-details-outside .dgwt-wcas-details-wrapp,.dgwt-wcas-details-outside.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp{margin-top:-1px;border-top:1px solid #ddd}.dgwt-wcas-details-right .dgwt-wcas-details-wrapp{border-left:none;border-right:1px solid #ddd;border-radius:0 5px 5px 0}.dgwt-wcas-details-left .dgwt-wcas-details-wrapp{border-right:none;border-left:1px solid #ddd;border-radius:5px 0 0 5px}.dgwt-wcas-details-notfit .dgwt-wcas-details-wrapp{display:none}.dgwt-wcas-full-width .dgwt-wcas-suggestions-wrapp{border-radius:0 0 0 5px}.dgwt-wcas-full-width .dgwt-wcas-details-wrapp,.rtl.dgwt-wcas-full-width .dgwt-wcas-suggestions-wrapp{border-radius:0 0 5px}.rtl.dgwt-wcas-full-width .dgwt-wcas-details-wrapp{border-radius:0 0 0 5px}.dgwt-wcas-details-inner{padding:15px 10px;height:100%}.dgwt-wcas-datails-title,.dgwt-wcas-pd-title{border-bottom:1px dashed #eee;padding-bottom:5px}.woocommerce .dgwt-wcas-pd-rating .star-rating{float:left;margin-right:5px;font-size:12px;color:#CCAE72}.rtl .dgwt-wcas-pd-rating .star-rating{float:right;margin-left:5px;margin-right:0}.dgwt-wcas-datails-title{margin-bottom:15px;font-size:14px}.dgwt-wcas-pd-title{color:#202020}.dgwt-wcas-pd-title .product-title{color:#202020;margin:0}.dgwt-wcas-tax-product-details{margin-bottom:15px;text-decoration:none;display:flex;align-items:center;justify-content:left}.dgwt-wcas-tax-product-details:after{display:block}.dgwt-wcas-details-wrapp .dgwt-wcas-pd-title{margin-bottom:8px}.dgwt-wcas-tpd-image{margin-right:15px}.dgwt-wcas-pd-rest{justify-content:center;display:flex;flex-direction:column;max-width:190px;width:100%}.dgwt-wcas-pd-price,.dgwt-wcas-tpd-rest .product-title{text-overflow:ellipsis;white-space:nowrap;width:145px;overflow:hidden}.dgwt-wcas-pd-rest .product-title{display:block;line-height:100%;font-weight:500;margin-bottom:5px}.dgwt-wcas-tpd-rest{max-width:200px}.dgwt-wcas-tpd-rest .product-title{display:block;line-height:100%;font-size:13px;font-weight:500;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.dgwt-wcas-suggestion-nores{pointer-events:none;opacity:.45}.dgwt-wcas-pd-price{font-size:14px;line-height:13px;color:#777;margin-top:3px;font-weight:lighter}.dgwt-wcas-pd-price del .amount{font-weight:lighter;background:0 0;font-size:90%;opacity:.6}.dgwt-wcas-details-title-tax,.dgwt-wcas-pd-title .product-title{font-weight:900;letter-spacing:-1px;text-transform:uppercase}.dgwt-wcas-pd-price ins{background:0 0;text-decoration:none}.dgwt-wcas-pd-rating{font-size:13px;line-height:13px}.dgwt-wcas-pd-rating:after{display:block}.dgwt-wcas-pd-review{color:#777;font-size:11px;line-height:11px}.dgwt-wcas-datails-title{display:block;margin:5px 0 15px}.dgwt-wcas-pd-title{margin-bottom:15px;display:block;text-decoration:none}.dgwt-wcas-details-title-tax{margin-right:3px}.rtl .dgwt-wcas-details-title-tax{margin:0 0 0 3px;float:right}.dgwt-wcas-pd-details{display:flex;justify-content:space-between}.dgwt-wcas-pd-image,.dgwt-wcas-tpd-image{width:70px;padding:4px;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px}.dgwt-wcas-pd-image img,.dgwt-wcas-tpd-image img{display:block;max-width:100%;width:100%}.rtl .dgwt-wcas-pd-image,.rtl .dgwt-wcas-tpd-image{float:right;margin-right:0;margin-left:15px}.rtl .dgwt-wcas-pd-rest,.rtl .dgwt-wcas-tpd-rest{float:right;max-width:190px}input[type=search].dgwt-wcas-search-input,input[type=text].dgwt-cas-search-input{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;-webkit-box-shadow:none;box-shadow:none;margin:0;-webkit-appearance:textfield}[type=search].dgwt-wcas-search-input::-ms-clear{display:none}[type=search].dgwt-wcas-search-input::-webkit-search-decoration{-webkit-appearance:none}[type=search].dgwt-wcas-search-input::-webkit-search-cancel-button{display:none}.dgwt-wcas-pd-desc{font-size:13px;line-height:157%;margin:12px 0}.dgwt-wcas-pd-addtc{margin:10px 0;display:flex;align-items:center;justify-content:flex-end}.dgwt-wcas-pd-addtc>.quantity{margin-right:10px}.dgwt-wcas-pd-addtc .add_to_cart_button,.dgwt-wcas-pd-addtc .add_to_cart_inline{margin:0}button.dgwt-wcas-search-submit,input[type=submit].dgwt-wcas-search-submit{position:relative}.dgwt-wcas-ico-magnifier{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;height:65%;display:block;fill:#fff}.dgwt-wcas-preloader{height:100%;position:absolute;right:0;top:0;width:40px;z-index:1;background-repeat:no-repeat;background-position:right 15px center;background-size:auto 44%}.rtl .dgwt-wcas-preloader{right:auto;left:35px}.dgwt-wcas-inner-preloader{background-image:url(../img/preloader.png);background-repeat:no-repeat;background-position:right 13px center;background-size:auto 22px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.dgwt-wcas-inner-preloader{background-image:url(../img/preloader.gif)}}.dgwt-wcas-close:not(.dgwt-wcas-inner-preloader){cursor:pointer;background-image:url(../img/close.png);background-repeat:no-repeat;background-position:right 15px center;background-size:auto 18px;opacity:.6;-webkit-transition:all 160ms ease-in-out;-moz-transition:all 160ms ease-in-out;-ms-transition:all 160ms ease-in-out;-o-transition:all 160ms ease-in-out;transition:all 160ms ease-in-out}.dgwt-wcas-close:hover{opacity:.3}@media screen and (max-width:992px){.dgwt-wcas-is-detail-box .dgwt-wcas-suggestions-wrapp{max-width:none}}.dgwt-wcas-suggestion strong{font-weight:700}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.dgwt-wcas-sf-wrapp:after,.dgwt-wcas-sf-wrapp:before{content:"";display:table}.dgwt-wcas-sf-wrapp:after{clear:both}.dgwt-wcas-sf-wrapp{zoom:1;width:100%;margin:0;position:relative;background:0 0}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input{width:100%;height:40px;font-size:14px;line-height:100%;padding:10px 15px;background:#fff;border:1px solid #ddd;border-radius:3px;-webkit-border-radius:3px;-webkit-appearance:none}.dgwt-wcas-open .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input{border-radius:3px 3px 0 0}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus{outline:0;background:#fff;box-shadow:0 0 9px 1px rgba(0,0,0,.06)}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::-webkit-input-placeholder{color:#999;font-weight:400;font-style:italic}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:-moz-placeholder{color:#999;font-weight:400;font-style:italic}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::-moz-placeholder{color:#999;font-weight:400;font-style:italic}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:-ms-input-placeholder{color:#999;font-weight:400;font-style:italic}.dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{overflow:visible;position:absolute;border:0;margin:0;cursor:pointer;height:40px;min-width:50px;right:0;top:0;padding:0 15px;color:#fff;-webkit-transition:all 250ms ease-in-out;-moz-transition:all 250ms ease-in-out;-ms-transition:all 250ms ease-in-out;-o-transition:all 250ms ease-in-out;transition:all 250ms ease-in-out;text-transform:uppercase;background-color:#96588A;border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;text-shadow:0 -1px 0 rgba(0,0,0,.3);-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none}.rtl .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{left:0;right:auto}.dgwt-wcas-open .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit{border-radius:0 2px 0 0}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:hover{opacity:.7}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:active,.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:focus{opacity:.7;outline:0}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:before{content:'';position:absolute;border-width:8px 8px 8px 0;border-style:solid solid solid none;border-color:transparent #96588A;top:12px;left:-6px;-webkit-transition:all 250ms ease-in-out;-moz-transition:all 250ms ease-in-out;-ms-transition:all 250ms ease-in-out;-o-transition:all 250ms ease-in-out;transition:all 250ms ease-in-out}.rtl .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:before{left:auto;right:-6px;border-width:8px 0 8px 8px;border-style:solid none solid solid}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:active:before,.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:focus:before,.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:hover:before{border-right-color:#96588A}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit::-moz-focus-inner{border:0;padding:0}.dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product{min-height:60px}.dgwt-wcas-details-inner .added_to_cart,.dgwt-wcas-has-desc .dgwt-wcas-sp>*,.dgwt-wcas-has-img .dgwt-wcas-sp>*{display:block}.dgwt-wcas-has-desc .dgwt-wcas-sp,.dgwt-wcas-has-img .dgwt-wcas-sp{top:12px}.dgwt-wcas-is-details .dgwt-wcas-content-wrapp{display:flex;flex-direction:column;height:100%;justify-content:center;resize:vertical;padding-left:20px}.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp{min-height:340px;overflow:visible}body:not(.dgwt-wcas-is-details) .dgwt-wcas-suggestion:last-child{border-bottom:none}.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-suggestion{min-height:40px}.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-content-wrapp{padding-left:40px}.dgwt-wcas-is-details .dgwt-wcas-si{min-height:40px;width:30px;max-width:100%;box-sizing:border-box}.dgwt-wcas-is-details .dgwt-wcas-sp{display:flex;top:0;flex-direction:column;height:100%;justify-content:center;resize:vertical}.dgwt-wcas-is-details .dgwt-wcas-sd{font-size:11px;line-height:100%}.dgwt-wcas-has-img .dgwt-wcas-suggestion[data-taxonomy=product_cat],.dgwt-wcas-has-img .dgwt-wcas-suggestion[data-taxonomy=product_tag]{padding-left:15px;min-height:0}.dgwt-wcas-has-img .dgwt-wcas-suggestion[data-taxonomy=product_cat] .dgwt-wcas-st,.dgwt-wcas-has-img .dgwt-wcas-suggestion[data-taxonomy=product_tag] .dgwt-wcas-st{padding-left:0}.dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier{height:50%;max-height:20px;width:100%;max-width:20px;left:12px;right:auto;opacity:.5;fill:#000}.dgwt-wcas-no-submit .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input{padding:10px 15px 10px 40px}body .dgwt-wcas-content-wrapp .rood,body .dgwt-wcas-content-wrapp .zwave{display:none}
|
1 |
+
.dgwt-wcas-block-scroll{overflow:hidden}.dgwt-wcas-search-wrapp{position:relative;display:block;color:#444;min-width:230px;width:100%;text-align:left;margin:0 auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.dgwt-wcas-search-wrapp .product-title{color:#333;display:block;line-height:110%;margin:0}.dgwt-wcas-tpd-image img{margin:0 15px 0 0!important;display:block}.rtl .dgwt-wcas-tpd-image img{margin:0 0 0 15px!important}.dgwt-wcas-preloader-wrapp img{margin:10px auto 0 auto;display:block;max-width:200px}.dgwt-wcas-preloader-wrapp img.dgwt-wcas-placeholder-preloader{display:block;width:100%;height:auto;max-width:300px;margin:0}.dgwt-wcas-suggestions-wrapp{background:#fff none repeat scroll 0 0;border:1px solid #ddd;border-top:none;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow-y:auto}.dgwt-wcas-suggestions-wrapp.dgwt-wcas-suggestions-wrapp--top{border:1px solid #ddd;border-bottom:none}.dgwt-wcas-is-detail-box .dgwt-wcas-suggestions-wrapp{max-width:550px}.dgwt-wcas-full-width.dgwt-wcas-is-detail-box .dgwt-wcas-suggestion{padding:8px 15px}.dgwt-wcas-details-left .dgwt-wcas-suggestions-wrapp{border-radius:0 0 5px 0;border-left-color:#eee}.dgwt-wcas-details-right .dgwt-wcas-suggestions-wrapp{border-radius:0 0 0 5px;border-right-color:#eee}.dgwt-wcas-suggestion{cursor:pointer;font-size:12px;line-height:110%;text-align:left;padding:7px 10px;position:relative;border-bottom:1px solid #dfdfdf;display:flex;flex-direction:row;justify-content:space-between;align-items:center;resize:vertical}.dgwt-wcas-suggestion.dgwt-wcas-suggestion-more{justify-content:center}.dgwt-wcas-suggestion.dgwt-wcas-suggestion-no-border-bottom{border-bottom:none}.dgwt-wcas-suggestion:after{clear:both;display:block;content:''}.dgwt-wcas-suggestion.dgwt-wcas-nores{cursor:default;opacity:.5}.dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product{padding-top:8px;padding-bottom:8px;min-height:60px}.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-more,.dgwt-wcas-suggestion.dgwt-wcas-suggestion-more{min-height:30px;text-transform:uppercase}.dgwt-wcas-suggestion.dgwt-wcas-suggestion-more .dgwt-wcas-st-more{padding:0 10px;text-align:center}.dgwt-wcas-st{display:block;color:#444;font-size:15px;width:100%}.dgwt-wcas-st>span{display:inline-block;vertical-align:middle}.dgwt-wcas-has-sku .dgwt-wcas-st-title{margin-right:6px}.dgwt-wcas-st>span.dgwt-wcas-st--tax{display:block;font-style:italic;font-size:10px;text-transform:uppercase;opacity:.4;line-height:10px;margin-bottom:1px;letter-spacing:2px}.dgwt-wcas-st-breadcrumbs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:80%;text-align:left;opacity:.6;width:100%;padding-right:10px}.rtl .dgwt-wcas-st-breadcrumbs{padding-right:0;padding-left:10px;text-align:right}.dgwt-wcas-sku{font-size:80%}.dgwt-wcas-si{width:50px;display:block;height:100%}.dgwt-wcas-si img{background:#fff none repeat scroll 0 0;border:1px solid #e8e8e8;border-radius:3px;display:block;margin:auto;padding:2px;height:auto;width:auto;max-height:90%;max-width:100%}.dgwt-wcas-content-wrapp{display:flex;height:100%;width:100%;justify-content:space-between;align-items:center;resize:vertical;padding-left:10px}.rtl .dgwt-wcas-content-wrapp{padding-left:0;padding-right:10px}.dgwt-wcas-sp{color:#555;font-size:14px;line-height:120%;text-align:right;line-height:4px;padding-left:10px}.dgwt-wcas-sp *{line-height:130%}.dgwt-wcas-search-form{margin:0;padding:0}.dgwt-wcas-sp del{opacity:.5;font-size:12px}.dgwt-wcas-sd{color:#777;display:block;line-height:14px;width:100%;margin-top:5px;font-size:.8em}.dgwt-wcas-suggestion-selected{background-color:#eee}.dgwt-wcas-suggestion-selected:first-child{border-top:none}.rtl .dgwt-wcas-suggestion{padding-left:0;padding-right:15px;text-align:right}.dgwt-wcas-details-wrapp{background:#fff none repeat scroll 0 0;border:1px solid #ddd;border-top:none;border-left:none;padding:0;width:300px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:100;min-height:340px}.rtl .dgwt-wcas-details-wrapp{border-left:1px solid #ddd;border-right:none}.dgwt-wcas-details-outside .dgwt-wcas-details-wrapp{margin-top:-1px;border-top:1px solid #ddd}.dgwt-wcas-details-outside.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp{margin-top:-1px;border-top:1px solid #ddd}.dgwt-wcas-details-right .dgwt-wcas-details-wrapp{border-left:none;border-right:1px solid #ddd;border-radius:0 5px 5px 0}.dgwt-wcas-details-left .dgwt-wcas-details-wrapp{border-right:none;border-left:1px solid #ddd;border-radius:5px 0 0 5px}.dgwt-wcas-details-notfit .dgwt-wcas-details-wrapp{display:none}.dgwt-wcas-full-width .dgwt-wcas-suggestions-wrapp{border-radius:0 0 0 5px}.dgwt-wcas-full-width .dgwt-wcas-details-wrapp{border-radius:0 0 5px 0}.rtl.dgwt-wcas-full-width .dgwt-wcas-suggestions-wrapp{border-radius:0 0 5px 0}.rtl.dgwt-wcas-full-width .dgwt-wcas-details-wrapp{border-radius:0 0 0 5px}.dgwt-wcas-details-inner{padding:15px 10px;height:100%}.woocommerce .dgwt-wcas-pd-rating .star-rating{float:left;margin-right:5px;font-size:12px;color:#ccae72}.rtl .dgwt-wcas-pd-rating .star-rating{float:right;margin-left:5px;margin-right:0}.dgwt-wcas-datails-title{border-bottom:1px dashed #eee;display:block;margin-bottom:15px;padding-bottom:5px;font-size:14px}.dgwt-wcas-pd-title{border-bottom:1px dashed #eee;margin-bottom:15px;padding-bottom:5px;display:block;color:#202020;text-decoration:none}.dgwt-wcas-pd-title .product-title{font-weight:900;color:#202020;text-transform:uppercase;letter-spacing:-1px;margin:0}.dgwt-wcas-details-title-tax{text-transform:uppercase;font-weight:900;letter-spacing:-1px;margin-right:3px}.dgwt-wcas-tax-product-details{margin-bottom:15px;text-decoration:none;display:flex;align-items:center;justify-content:left}.dgwt-wcas-tax-product-details:after{content:'';clear:both;display:block}.dgwt-wcas-details-wrapp .dgwt-wcas-pd-title{margin-bottom:8px}.dgwt-wcas-tpd-image{width:60px;margin-right:15px}.dgwt-wcas-pd-rest{justify-content:center;display:flex;flex-direction:column;width:100%;padding-left:10px}.dgwt-wcas-pd-rest .product-title{display:block;line-height:100%;font-weight:500;margin-bottom:5px}.dgwt-wcas-tpd-rest{max-width:200px}.dgwt-wcas-tpd-rest .product-title{display:block;line-height:100%;font-size:13px;font-weight:500;letter-spacing:0;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;width:145px}.dgwt-wcas-suggestion-nores{pointer-events:none;opacity:.45}.dgwt-wcas-pd-price{font-size:14px;line-height:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:145px;color:#777;margin-top:3px;font-weight:lighter}.dgwt-wcas-pd-price del .amount{font-weight:lighter;background:0 0;font-size:90%;opacity:.6}.dgwt-wcas-pd-price ins{background:0 0;text-decoration:none}.dgwt-wcas-pd-rating{font-size:13px;line-height:13px}.dgwt-wcas-pd-rating:after{content:'';clear:both;display:block}.dgwt-wcas-pd-review{color:#777;font-size:11px;line-height:11px}.dgwt-wcas-datails-title{border-bottom:1px dashed #eee;display:block;margin:5px 0 15px 0;padding-bottom:5px}.dgwt-wcas-pd-title{border-bottom:1px dashed #eee;margin-bottom:15px;padding-bottom:5px;display:block;text-decoration:none}.dgwt-wcas-pd-title .product-title{font-weight:900;text-transform:uppercase;letter-spacing:-1px}.dgwt-wcas-details-title-tax{text-transform:uppercase;font-weight:900;letter-spacing:-1px;margin-right:3px}.rtl .dgwt-wcas-details-title-tax{margin:0 0 0 3px;float:right}.dgwt-wcas-pd-details{display:flex;justify-content:left}.dgwt-wcas-pd-image,.dgwt-wcas-tpd-image{width:70px;padding:4px;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px}.dgwt-wcas-pd-image img,.dgwt-wcas-tpd-image img{display:block;max-width:100%;width:100%}.rtl .dgwt-wcas-pd-image,.rtl .dgwt-wcas-tpd-image{float:right;margin-right:0;margin-left:15px}.rtl .dgwt-wcas-pd-rest,.rtl .dgwt-wcas-tpd-rest{float:right;max-width:190px}input[type=search].dgwt-wcas-search-input,input[type=text].dgwt-cas-search-input{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;-webkit-box-shadow:none;box-shadow:none;margin:0;-webkit-appearance:textfield}[type=search].dgwt-wcas-search-input::-ms-clear{display:none}[type=search].dgwt-wcas-search-input::-webkit-search-decoration{-webkit-appearance:none}[type=search].dgwt-wcas-search-input::-webkit-search-cancel-button{display:none}.dgwt-wcas-pd-desc{font-size:13px;line-height:157%;margin:12px 0}.dgwt-wcas-pd-addtc{margin:10px 0;display:flex;align-items:center;justify-content:flex-end}.dgwt-wcas-pd-addtc>.quantity{margin-right:10px}.dgwt-wcas-pd-addtc .add_to_cart_button,.dgwt-wcas-pd-addtc .add_to_cart_inline{margin:0}button.dgwt-wcas-search-submit,input[type=submit].dgwt-wcas-search-submit{position:relative}.dgwt-wcas-ico-magnifier{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;height:65%;display:block}.dgwt-wcas-preloader{height:100%;position:absolute;right:0;top:0;width:40px;z-index:1;background-repeat:no-repeat;background-position:right 15px center;background-size:auto 44%}.rtl .dgwt-wcas-preloader{right:auto;left:35px}.dgwt-wcas-inner-preloader{background-image:url(../img/preloader.png);background-repeat:no-repeat;background-position:right 13px center;background-size:auto 22px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.dgwt-wcas-inner-preloader{background-image:url(../img/preloader.gif)}}.dgwt-wcas-close:not(.dgwt-wcas-inner-preloader){cursor:pointer;background-image:url(../img/close.png);background-repeat:no-repeat;background-position:right 15px center;background-size:auto 18px;opacity:.6;-webkit-transition:all 160ms ease-in-out;-moz-transition:all 160ms ease-in-out;-ms-transition:all 160ms ease-in-out;-o-transition:all 160ms ease-in-out;transition:all 160ms ease-in-out}.dgwt-wcas-close:hover{opacity:.3}@media screen and (max-width:992px){.dgwt-wcas-is-detail-box .dgwt-wcas-suggestions-wrapp{max-width:none}}.dgwt-wcas-suggestion strong{font-weight:700}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}.dgwt-wcas-sf-wrapp:after,.dgwt-wcas-sf-wrapp:before{content:"";display:table}.dgwt-wcas-sf-wrapp:after{clear:both}.dgwt-wcas-sf-wrapp{zoom:1;width:100%;margin:0;position:relative;background:0 0}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input{width:100%;height:40px;font-size:14px;line-height:100%;padding:10px 15px;background:#fff;border:1px solid #ddd;border-radius:3px;-webkit-border-radius:3px;-webkit-appearance:none}.dgwt-wcas-open .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input{border-radius:3px 3px 0 0}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus{outline:0;background:#fff;box-shadow:0 0 9px 1px rgba(0,0,0,.06)}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::-webkit-input-placeholder{color:#999;font-weight:400;font-style:italic}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:-moz-placeholder{color:#999;font-weight:400;font-style:italic}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input::-moz-placeholder{color:#999;font-weight:400;font-style:italic}.dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:-ms-input-placeholder{color:#999;font-weight:400;font-style:italic}.dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{overflow:visible;position:absolute;border:0;padding:0;margin:0;cursor:pointer;height:40px;min-width:50px;right:0;top:0;padding:0 15px;color:#fff;-webkit-transition:all 250ms ease-in-out;-moz-transition:all 250ms ease-in-out;-ms-transition:all 250ms ease-in-out;-o-transition:all 250ms ease-in-out;transition:all 250ms ease-in-out;text-transform:uppercase;background-color:#333;border-radius:0 2px 2px 0;-webkit-border-radius:0 2px 2px 0;text-shadow:0 -1px 0 rgba(0,0,0,.3);-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none}.rtl .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{left:0;right:auto}.dgwt-wcas-open .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit{border-radius:0 2px 0 0}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:hover{opacity:.7}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:active,.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:focus{opacity:.7;outline:0}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:before{content:'';position:absolute;border-width:8px 8px 8px 0;border-style:solid solid solid none;border-color:transparent #333 transparent;top:12px;left:-6px;-webkit-transition:all 250ms ease-in-out;-moz-transition:all 250ms ease-in-out;-ms-transition:all 250ms ease-in-out;-o-transition:all 250ms ease-in-out;transition:all 250ms ease-in-out}.rtl .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:before{left:auto;right:-6px;border-width:8px 0 8px 8px;border-style:solid none solid solid}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:hover:before{border-right-color:#333}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:active:before,.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:focus:before{border-right-color:#333}.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit::-moz-focus-inner{border:0;padding:0}.dgwt-wcas-ico-magnifier{fill:#fff}.dgwt-wcas-details-inner .added_to_cart{display:block}.dgwt-wcas-has-desc .dgwt-wcas-sp>*,.dgwt-wcas-has-img .dgwt-wcas-sp>*{display:block}.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp{min-height:340px}body:not(.dgwt-wcas-is-details) .dgwt-wcas-suggestion:last-child{border-bottom:none}.dgwt-wcas-is-details .dgwt-wcas-has-img .dgwt-wcas-suggestion{min-height:40px}.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp{overflow:visible}.dgwt-wcas-is-details .dgwt-wcas-si{width:30px;max-width:100%;box-sizing:border-box}.dgwt-wcas-is-details .dgwt-wcas-sp{display:flex;top:0;flex-direction:column;height:100%;justify-content:center;resize:vertical}.dgwt-wcas-is-details .dgwt-wcas-sd{font-size:11px;line-height:100%}.dgwt-wcas-has-img .dgwt-wcas-suggestion[data-taxonomy=product_cat],.dgwt-wcas-has-img .dgwt-wcas-suggestion[data-taxonomy=product_tag]{padding-left:15px;min-height:0}.dgwt-wcas-has-img .dgwt-wcas-suggestion[data-taxonomy=product_cat] .dgwt-wcas-st,.dgwt-wcas-has-img .dgwt-wcas-suggestion[data-taxonomy=product_tag] .dgwt-wcas-st{padding-left:0}.dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier{height:50%;max-height:20px;width:100%;max-width:20px;left:12px;right:auto;opacity:.5;fill:#000}.dgwt-wcas-no-submit .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input{padding:10px 15px 10px 40px}.dgwt-wcas-overlay-mobile-on{overflow:hidden}.dgwt-wcas-om-bar{display:flex;height:45px;width:100%}.dgwt-wcas-om-bar .dgwt-wcas-om-return{width:45px;height:100%;display:block;background:#ccc;cursor:pointer;position:relative}.dgwt-wcas-om-bar .dgwt-wcas-om-return svg{width:23px;height:23px;position:absolute;left:12px;top:12px}.rtl .dgwt-wcas-om-bar .dgwt-wcas-om-return svg{left:11px;top:9px;-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-o-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.dgwt-wcas-om-bar .dgwt-wcas-has-submit-off .dgwt-wcas-preloader{right:0!important}.rtl .dgwt-wcas-om-bar .dgwt-wcas-has-submit-off .dgwt-wcas-preloader{left:4px!important;right:auto!important}.dgwt-wcas-om-bar .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{display:none}.dgwt-wcas-om-bar .dgwt-wcas-search-wrapp-mobile{width:calc(100% - 45px);max-width:none}.dgwt-wcas-overlay-mobile{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;background:#fff}.dgwt-wcas-overlay-mobile *{box-sizing:border-box}.dgwt-wcas-search-wrapp-mobile input[type=search].dgwt-wcas-search-input{height:45px!important;border-top:none;border-right:none;border-left:none;border-radius:0;font-size:16px!important}.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestions-wrapp{left:0!important;top:45px!important;width:100%!important;height:calc(100% - 45px)!important;position:absolute;overflow-y:auto;border:none}.dgwt-wcas-overlay-mobile-on.dgwt-wcas-is-ios .dgwt-wcas-suggestions-wrapp{height:calc(100% - 45px)!important}.dgwt-wcas-overlay-mobile-on.dgwt-wcas-is-ios{overflow:visible;overflow-x:hidden}.dgwt-wcas-overlay-mobile-on.dgwt-wcas-is-ios .dgwt-wcas-suggestions-wrapp{max-height:none!important;height:auto!important}.dgwt-wcas-overlay-mobile-on.dgwt-wcas-is-ios>:not(.dgwt-wcas-overlay-mobile){display:none}body .dgwt-wcas-content-wrapp .rood,body .dgwt-wcas-content-wrapp .zwave{display:none}
|
assets/js/admin.js
CHANGED
@@ -127,8 +127,16 @@
|
|
127 |
|
128 |
$btn.attr('disabled', 'disabled');
|
129 |
|
|
|
|
|
130 |
var emergency = $btn.hasClass('js-ajax-build-index-emergency') ? true : false;
|
131 |
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
$.ajax({
|
133 |
url: ajaxurl,
|
134 |
type: 'post',
|
@@ -144,6 +152,10 @@
|
|
144 |
},
|
145 |
complete: function () {
|
146 |
$btn.removeAttr('disabled');
|
|
|
|
|
|
|
|
|
147 |
}
|
148 |
});
|
149 |
})
|
127 |
|
128 |
$btn.attr('disabled', 'disabled');
|
129 |
|
130 |
+
$('.dgwt-wcas-settings-info').addClass('wcas-ajax-build-index-wait');
|
131 |
+
|
132 |
var emergency = $btn.hasClass('js-ajax-build-index-emergency') ? true : false;
|
133 |
|
134 |
+
if(emergency){
|
135 |
+
|
136 |
+
$('.dgwt-wcas-indexing-header__title').text('[Emergency mode] Wait... Indexing in progress');
|
137 |
+
$('.dgwt-wcas-indexing-header__troubleshooting, .dgwt-wcas-indexing-header__actions, .js-dgwt-wcas-indexer-details').hide();
|
138 |
+
}
|
139 |
+
|
140 |
$.ajax({
|
141 |
url: ajaxurl,
|
142 |
type: 'post',
|
152 |
},
|
153 |
complete: function () {
|
154 |
$btn.removeAttr('disabled');
|
155 |
+
$('.dgwt-wcas-settings-info').removeClass('wcas-ajax-build-index-wait');
|
156 |
+
if(emergency){
|
157 |
+
window.location.reload();
|
158 |
+
}
|
159 |
}
|
160 |
});
|
161 |
})
|
assets/js/admin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(s){var e={inputSel:"dgwt-wcas-options-toggle input[type=radio]",groupSel:"dgwt_wcas_settings-group",reloadChoices:function(e){var t=s('[name="'+e+'"]').closest("."+this.groupSel),a=s('[name="'+e+'"]:checked').val(),i="";this.hideAll(t),(a=a.replace("_","-")).length>0&&(i="wcas-opt-"+a),s("."+i).length>0&&s("."+i).fadeIn()},hideAll:function(s){s.find('tr[class*="wcas-opt-"]').hide()},registerListeners:function(){var e=this;s("."+e.inputSel).on("change",function(){e.reloadChoices(s(this).attr("name"))})},init:function(){var e=this,t=s("."+e.inputSel+":checked");t.length>0&&(e.registerListeners(),t.each(function(){e.reloadChoices(s(this).attr("name"))}))}},t={inputSel:"dgwt-wcas-options-cb-toggle input[type=checkbox]",groupSel:"dgwt_wcas_settings-group",reloadChoices:function(e){var t=e.closest("."+this.groupSel),a=e.is(":checked"),i="";this.hideAll(t);var
|
1 |
+
!function(s){var e={inputSel:"dgwt-wcas-options-toggle input[type=radio]",groupSel:"dgwt_wcas_settings-group",reloadChoices:function(e){var t=s('[name="'+e+'"]').closest("."+this.groupSel),a=s('[name="'+e+'"]:checked').val(),i="";this.hideAll(t),(a=a.replace("_","-")).length>0&&(i="wcas-opt-"+a),s("."+i).length>0&&s("."+i).fadeIn()},hideAll:function(s){s.find('tr[class*="wcas-opt-"]').hide()},registerListeners:function(){var e=this;s("."+e.inputSel).on("change",function(){e.reloadChoices(s(this).attr("name"))})},init:function(){var e=this,t=s("."+e.inputSel+":checked");t.length>0&&(e.registerListeners(),t.each(function(){e.reloadChoices(s(this).attr("name"))}))}},t={inputSel:"dgwt-wcas-options-cb-toggle input[type=checkbox]",groupSel:"dgwt_wcas_settings-group",reloadChoices:function(e){var t=e.closest("."+this.groupSel),a=e.is(":checked"),i="";this.hideAll(t);var n=e.attr("name");n=(n=(n=n.replace("dgwt_wcas_settings[","")).replace("]","")).replace(new RegExp("_","g"),"-"),a&&(i="wcas-opt-"+n),i.length>0&&s("."+i).length>0&&s("."+i).fadeIn()},hideAll:function(s){s.find('tr[class*="wcas-opt-"]').hide()},registerListeners:function(){var e=this;s("."+e.inputSel).on("change",function(){e.reloadChoices(s(this))})},init:function(){var e=this,t=s("."+e.inputSel);t.length>0&&(e.registerListeners(),t.each(function(){e.reloadChoices(s(this))}))}},a={actionTriggerClass:"js-ajax-build-index",actionStopTriggerClass:"js-ajax-stop-build-index",indexingWrappoerClass:"js-dgwt-wcas-indexing-wrapper",getWrapper:function(){return s("."+this.indexingWrappoerClass).closest(".dgwt-wcas-settings-info")},registerListeners:function(){var e=this;s(document).on("click","."+e.actionTriggerClass,function(t){t.preventDefault();var a=s(this);a.attr("disabled","disabled"),s(".dgwt-wcas-settings-info").addClass("wcas-ajax-build-index-wait");var i=!!a.hasClass("js-ajax-build-index-emergency");i&&(s(".dgwt-wcas-indexing-header__title").text("[Emergency mode] Wait... Indexing in progress"),s(".dgwt-wcas-indexing-header__troubleshooting, .dgwt-wcas-indexing-header__actions, .js-dgwt-wcas-indexer-details").hide()),s.ajax({url:ajaxurl,type:"post",data:{action:"dgwt_wcas_build_index",emergency:i},success:function(s){void 0!==s&&s.success&&(e.getWrapper().html(s.data.html),e.heartbeat())},complete:function(){a.removeAttr("disabled"),s(".dgwt-wcas-settings-info").removeClass("wcas-ajax-build-index-wait"),i&&window.location.reload()}})}),s(document).on("click","."+e.actionStopTriggerClass,function(t){t.preventDefault();var a=s(this);a.attr("disabled","disabled"),s.ajax({url:ajaxurl,type:"post",data:{action:"dgwt_wcas_stop_build_index"},success:function(s){void 0!==s&&s.success&&(e.getWrapper().html(s.data.html),e.heartbeat())},complete:function(){a.removeAttr("disabled")}})})},heartbeat:function(){var e=this;setTimeout(function(){s.ajax({url:ajaxurl,type:"post",data:{action:"dgwt_wcas_build_index_heartbeat"},success:function(s){void 0!==s&&s.success&&(e.getWrapper().html(s.data.html),s.data.loop&&e.heartbeat())}})},1e3)},detailsToggle:function(){var e;s(document).on("click",".js-dgwt-wcas-indexing-details-trigger",function(t){t.preventDefault();var a=s(".js-dgwt-wcas-indexer-details");a.hasClass("show")?(a.removeClass("show"),a.addClass("hide"),s(".js-dgwt-wcas-indexing__showd").addClass("show").removeClass("hide"),s(".js-dgwt-wcas-indexing__hided").addClass("hide").removeClass("show"),e=!1):(a.addClass("show"),a.removeClass("hide"),s(".js-dgwt-wcas-indexing__showd").addClass("hide").removeClass("show"),s(".js-dgwt-wcas-indexing__hided").addClass("show").removeClass("hide"),e=!0),s.ajax({url:ajaxurl,type:"post",data:{action:"dgwt_wcas_index_details_toggle",display:e}})})},init:function(){this.registerListeners(),s("."+this.indexingWrappoerClass).length>0&&this.heartbeat(),this.detailsToggle()}},i={actionTriggerClass:"js-dgwt-wcas-bc-wipe-all",switchLeftLabelClass:"js-dgwt-wcas-switch-left",switchRightLabelClass:"js-dgwt-wcas-switch-right",switcherClass:"js-dgwt-wcas-switcher",remindMeLaterClass:"js-dgwt-wcas-bc-remind-me",applyChanges:function(){jQuery(document).on("click","."+this.actionTriggerClass,function(e){e.preventDefault();var t=s(this);t.attr("disabled","disabled"),jQuery.ajax({url:ajaxurl,type:"post",data:{action:"dgwt_wcas_bc_keep_latest"},success:function(e){void 0!==e.success&&e.success&&(s(".dgwt_wcas_basic-tab").click(),s(".js-dgwt-wcas-bc-notice").fadeOut(400,function(){s(this).remove()}))},complete:function(){t.removeAttr("disabled")}})})},switchAjaxRequest:function(e,t){var a=this,i=s(".dgwt-wcas-bc-switcher"),n=s(".dgwt-wcas-bc-error"),c=s(".dgwt-wcas-bc-success"),d=s(".js-dgwt-wcas-bc-spinner");i.addClass("dgwt-wcas-non-events"),d.removeClass("dgwt-wcas-hidden"),n.addClass("dgwt-wcas-hidden"),c.addClass("dgwt-wcas-hidden"),e="enable"===e?"enable":"disable",jQuery.ajax({url:ajaxurl,type:"post",data:{action:"dgwt_wcas_bc_toggle",state:e},success:function(s){void 0!==s.success&&s.success?(t(),"disable"===e&&a.flashStepsContainer(),setTimeout(function(){c.removeClass("dgwt-wcas-hidden")},500),setTimeout(function(){c.addClass("dgwt-wcas-hidden")},2e3)):(i.removeClass("dgwt-wcas-non-events"),d.addClass("dgwt-wcas-hidden"),n.removeClass("dgwt-wcas-hidden"))},error:function(){n.removeClass("dgwt-wcas-hidden")},complete:function(){i.removeClass("dgwt-wcas-non-events"),d.addClass("dgwt-wcas-hidden")}})},enableBC:function(){var e=this;e.switchAjaxRequest("enable",function(){s("."+e.switcherClass).attr("checked",!0),s("."+e.switchLeftLabelClass).addClass("dgwt-wcas-toggler--is-active"),s("."+e.switchRightLabelClass).removeClass("dgwt-wcas-toggler--is-active"),s(".dgwt-wcas-toggle").addClass("dgwt-wcas-toggle--mute"),s(".js-dgwt-wcas-todo-old").removeClass("dgwt-wcas-hidden"),s(".js-dgwt-wcas-todo-latest").addClass("dgwt-wcas-hidden")})},disableBC:function(){var e=this;e.switchAjaxRequest("disable",function(){s("."+e.switcherClass).attr("checked",!1),s("."+e.switchRightLabelClass).addClass("dgwt-wcas-toggler--is-active"),s("."+e.switchLeftLabelClass).removeClass("dgwt-wcas-toggler--is-active"),s(".dgwt-wcas-toggle").removeClass("dgwt-wcas-toggle--mute"),s(".js-dgwt-wcas-todo-old").addClass("dgwt-wcas-hidden"),s(".js-dgwt-wcas-todo-latest").removeClass("dgwt-wcas-hidden")})},remindMeLater:function(){jQuery.ajax({url:ajaxurl,type:"post",data:{action:"dgwt_wcas_bc_remind_me_later"},success:function(e){void 0!==e.success&&e.success&&s(".js-dgwt-wcas-bc-notice").fadeOut(400,function(){s(this).remove()})}})},flashStepsContainer:function(){var e=s(".dgwt-wcas-bc-todo-wrapp");e.addClass("dgwt-wcas-anim-shake"),setTimeout(function(){e.removeClass("dgwt-wcas-anim-shake")},2e3)},switchListeners:function(){var e=this;s("."+e.switchLeftLabelClass).on("click",function(){e.enableBC()}),s("."+e.switchRightLabelClass).on("click",function(){e.disableBC()}),s("."+e.switcherClass).on("click",function(t){t.preventDefault(),s("."+e.switcherClass).is(":checked")?e.enableBC():e.disableBC()}),s("."+e.remindMeLaterClass).on("click",function(s){s.preventDefault(),e.remindMeLater()})},init:function(){this.applyChanges(),this.switchListeners()}};s(document).ready(function(){var n;e.init(),t.init(),(n=s(".js-dgwt-wcas-sgs-autocolspan")).length>0&&n.find("td").attr("colspan",2),i.init(),a.init()})}(jQuery);
|
assets/js/search.js
CHANGED
@@ -104,7 +104,7 @@
|
|
104 |
params: {},
|
105 |
formatResult: Autocomplete.formatResult,
|
106 |
delimiter: null,
|
107 |
-
zIndex:
|
108 |
type: 'GET',
|
109 |
noCache: false,
|
110 |
isRtl: false,
|
@@ -123,6 +123,7 @@
|
|
123 |
currentRequest: null,
|
124 |
triggerSelectOnValidInput: true,
|
125 |
isPremium: false,
|
|
|
126 |
preventBadQueries: true,
|
127 |
lookupFilter: function (suggestion, originalQuery, queryLowerCase) {
|
128 |
return suggestion.value.toLowerCase().indexOf(queryLowerCase) !== -1;
|
@@ -164,6 +165,7 @@
|
|
164 |
that.hint = null;
|
165 |
that.hintValue = '';
|
166 |
that.selection = null;
|
|
|
167 |
|
168 |
// Initialize and set options:
|
169 |
that.initialize();
|
@@ -187,6 +189,9 @@
|
|
187 |
.replace(/</g, '<')
|
188 |
.replace(/>/g, '>')
|
189 |
.replace(/"/g, '"')
|
|
|
|
|
|
|
190 |
.replace(/<(\/?strong)>/g, '<$1>');
|
191 |
};
|
192 |
|
@@ -321,10 +326,20 @@
|
|
321 |
},
|
322 |
onFocus: function () {
|
323 |
var that = this;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
324 |
that.fixPositionCapture();
|
325 |
if (that.el.val().length >= that.options.minChars) {
|
326 |
that.onValueChange();
|
327 |
}
|
|
|
328 |
},
|
329 |
onBlur: function () {
|
330 |
this.enableKillerFn();
|
@@ -500,29 +515,30 @@
|
|
500 |
return false;
|
501 |
}
|
502 |
|
503 |
-
$
|
504 |
-
|
|
|
|
|
|
|
505 |
|
506 |
-
var
|
507 |
-
|
508 |
-
sH = contSuggestions.outerHeight(),
|
509 |
-
dH = contDetails.outerHeight(),
|
510 |
minHeight = 340;
|
511 |
|
512 |
-
|
513 |
|
514 |
if (sH <= minHeight && dH <= minHeight) {
|
515 |
return false;
|
516 |
}
|
517 |
|
518 |
-
|
519 |
|
520 |
if (dH < sH) {
|
521 |
-
|
522 |
}
|
523 |
|
524 |
if (sH < dH) {
|
525 |
-
|
526 |
}
|
527 |
|
528 |
return false;
|
@@ -1106,11 +1122,18 @@
|
|
1106 |
|
1107 |
// Title
|
1108 |
html += '<span class="dgwt-wcas-st">';
|
1109 |
-
html += '<span>' + formatResult(suggestion.value, value) + parent + '</span>'
|
|
|
1110 |
// SKU
|
1111 |
if (options.showSKU === true && typeof suggestion.sku != 'undefined' && suggestion.sku.length > 0) {
|
1112 |
html += '<span class="dgwt-wcas-sku">(' + dgwt_wcas.t.sku_label + ' ' + formatResult(suggestion.sku, value) + ')</span>';
|
1113 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
1114 |
html += '</span>';
|
1115 |
|
1116 |
// Price
|
@@ -1118,11 +1141,6 @@
|
|
1118 |
html += '<span class="dgwt-wcas-sp">' + suggestion.price + '</span>';
|
1119 |
}
|
1120 |
|
1121 |
-
// Description
|
1122 |
-
if (options.showDescription === true && typeof suggestion.desc != 'undefined' && suggestion.desc) {
|
1123 |
-
html += '<span class="dgwt-wcas-sd">' + formatResult(suggestion.desc, value) + '</span>';
|
1124 |
-
}
|
1125 |
-
|
1126 |
// On sale product badge
|
1127 |
if (options.showFeaturedBadge === true && suggestion.on_sale === true) {
|
1128 |
html += '<span class="dgwt-wcas-badge dgwt-wcas-badge-os">' + options.saleBadgeText + '</span>';
|
@@ -1282,7 +1300,7 @@
|
|
1282 |
},
|
1283 |
/*
|
1284 |
* Manages preloader
|
1285 |
-
*
|
1286 |
* @param action (show or hide)
|
1287 |
* @param container (parent selector)
|
1288 |
* @param cssClass
|
@@ -1539,6 +1557,83 @@
|
|
1539 |
$(window).off('resize.autocomplete', that.fixPositionCapture);
|
1540 |
$('.' + that.options.containerClass).remove();
|
1541 |
$('.' + that.options.containerDetailsClass).remove();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1542 |
}
|
1543 |
};
|
1544 |
|
@@ -1583,7 +1678,7 @@
|
|
1583 |
|
1584 |
var $preloader = $(this).closest('.dgwt-wcas-search-wrapp').find('.dgwt-wcas-preloader');
|
1585 |
|
1586 |
-
if (dgwt_wcas.
|
1587 |
$preloader.css('left', (6 + $(this).outerWidth()) + 'px');
|
1588 |
} else {
|
1589 |
$preloader.css('right', $(this).outerWidth() + 'px');
|
@@ -1623,7 +1718,8 @@
|
|
1623 |
saleBadgeText: dgwt_wcas.t.sale_badge,
|
1624 |
featuredBadgeText: dgwt_wcas.t.featured_badge,
|
1625 |
isRtl: dgwt_wcas.is_rtl == 1 ? true : false,
|
1626 |
-
isPremium: dgwt_wcas.is_premium == 1 ? true : false
|
|
|
1627 |
});
|
1628 |
|
1629 |
});
|
104 |
params: {},
|
105 |
formatResult: Autocomplete.formatResult,
|
106 |
delimiter: null,
|
107 |
+
zIndex: 999999999,
|
108 |
type: 'GET',
|
109 |
noCache: false,
|
110 |
isRtl: false,
|
123 |
currentRequest: null,
|
124 |
triggerSelectOnValidInput: true,
|
125 |
isPremium: false,
|
126 |
+
overlayMobile: false,
|
127 |
preventBadQueries: true,
|
128 |
lookupFilter: function (suggestion, originalQuery, queryLowerCase) {
|
129 |
return suggestion.value.toLowerCase().indexOf(queryLowerCase) !== -1;
|
165 |
that.hint = null;
|
166 |
that.hintValue = '';
|
167 |
that.selection = null;
|
168 |
+
that.overlayMobileState = 'off';
|
169 |
|
170 |
// Initialize and set options:
|
171 |
that.initialize();
|
189 |
.replace(/</g, '<')
|
190 |
.replace(/>/g, '>')
|
191 |
.replace(/"/g, '"')
|
192 |
+
.replace(/<sup/g, '<sup')
|
193 |
+
.replace(/<\/sup/g, '</sup')
|
194 |
+
.replace(/sup>/g, 'sup>')
|
195 |
.replace(/<(\/?strong)>/g, '<$1>');
|
196 |
};
|
197 |
|
326 |
},
|
327 |
onFocus: function () {
|
328 |
var that = this;
|
329 |
+
|
330 |
+
if(
|
331 |
+
that.options.overlayMobile
|
332 |
+
&& $(window).width() < 992
|
333 |
+
&& ( 'ontouchend' in document )
|
334 |
+
){
|
335 |
+
that.enableOverlayMobile();
|
336 |
+
}
|
337 |
+
|
338 |
that.fixPositionCapture();
|
339 |
if (that.el.val().length >= that.options.minChars) {
|
340 |
that.onValueChange();
|
341 |
}
|
342 |
+
|
343 |
},
|
344 |
onBlur: function () {
|
345 |
this.enableKillerFn();
|
515 |
return false;
|
516 |
}
|
517 |
|
518 |
+
var $suggestionsWrapp = that.getSuggestionsContainer(),
|
519 |
+
$detailsWrapp = that.getDetailsContainer();
|
520 |
+
|
521 |
+
$suggestionsWrapp.css('height', 'auto');
|
522 |
+
$detailsWrapp.css('height', 'auto');
|
523 |
|
524 |
+
var sH = $suggestionsWrapp.outerHeight(),
|
525 |
+
dH = $detailsWrapp.outerHeight(),
|
|
|
|
|
526 |
minHeight = 340;
|
527 |
|
528 |
+
$suggestionsWrapp.find('.dgwt-wcas-suggestion:last-child').removeClass('dgwt-wcas-suggestion-no-border-bottom');
|
529 |
|
530 |
if (sH <= minHeight && dH <= minHeight) {
|
531 |
return false;
|
532 |
}
|
533 |
|
534 |
+
$suggestionsWrapp.find('.dgwt-wcas-suggestion:last-child').addClass('dgwt-wcas-suggestion-no-border-bottom');
|
535 |
|
536 |
if (dH < sH) {
|
537 |
+
$detailsWrapp.css('height', (sH) + 'px');
|
538 |
}
|
539 |
|
540 |
if (sH < dH) {
|
541 |
+
$suggestionsWrapp.css('height', dH + 'px');
|
542 |
}
|
543 |
|
544 |
return false;
|
1122 |
|
1123 |
// Title
|
1124 |
html += '<span class="dgwt-wcas-st">';
|
1125 |
+
html += '<span class="dgwt-wcas-st-title">' + formatResult(suggestion.value, value) + parent + '</span>';
|
1126 |
+
|
1127 |
// SKU
|
1128 |
if (options.showSKU === true && typeof suggestion.sku != 'undefined' && suggestion.sku.length > 0) {
|
1129 |
html += '<span class="dgwt-wcas-sku">(' + dgwt_wcas.t.sku_label + ' ' + formatResult(suggestion.sku, value) + ')</span>';
|
1130 |
}
|
1131 |
+
|
1132 |
+
// Description
|
1133 |
+
if (options.showDescription === true && typeof suggestion.desc != 'undefined' && suggestion.desc) {
|
1134 |
+
html += '<span class="dgwt-wcas-sd">' + formatResult(suggestion.desc, value) + '</span>';
|
1135 |
+
}
|
1136 |
+
|
1137 |
html += '</span>';
|
1138 |
|
1139 |
// Price
|
1141 |
html += '<span class="dgwt-wcas-sp">' + suggestion.price + '</span>';
|
1142 |
}
|
1143 |
|
|
|
|
|
|
|
|
|
|
|
1144 |
// On sale product badge
|
1145 |
if (options.showFeaturedBadge === true && suggestion.on_sale === true) {
|
1146 |
html += '<span class="dgwt-wcas-badge dgwt-wcas-badge-os">' + options.saleBadgeText + '</span>';
|
1300 |
},
|
1301 |
/*
|
1302 |
* Manages preloader
|
1303 |
+
*
|
1304 |
* @param action (show or hide)
|
1305 |
* @param container (parent selector)
|
1306 |
* @param cssClass
|
1557 |
$(window).off('resize.autocomplete', that.fixPositionCapture);
|
1558 |
$('.' + that.options.containerClass).remove();
|
1559 |
$('.' + that.options.containerDetailsClass).remove();
|
1560 |
+
},
|
1561 |
+
enableOverlayMobile: function () {
|
1562 |
+
var that = this;
|
1563 |
+
|
1564 |
+
if (that.overlayMobileState === 'on') {
|
1565 |
+
return;
|
1566 |
+
}
|
1567 |
+
|
1568 |
+
that.overlayMobileState = 'on';
|
1569 |
+
|
1570 |
+
var zIndex = 999999,
|
1571 |
+
$wrapper = that.getFormWrapper(),
|
1572 |
+
$suggestionsWrapp = that.getSuggestionsContainer(),
|
1573 |
+
$overlayWrap,
|
1574 |
+
html = '';
|
1575 |
+
|
1576 |
+
$('body').addClass('dgwt-wcas-overlay-mobile-on');
|
1577 |
+
html += '<div class="js-dgwt-wcas-overlay-mobile dgwt-wcas-overlay-mobile">';
|
1578 |
+
html += '<div class="dgwt-wcas-om-bar js-dgwt-wcas-om-bar">';
|
1579 |
+
html += '<span class="dgwt-wcas-om-return js-dgwt-wcas-om-return">';
|
1580 |
+
html += '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" color="#FFF">';
|
1581 |
+
html += '<path fill="#FFF" d="M14 6.125H3.351l4.891-4.891L7 0 0 7l7 7 1.234-1.234L3.35 7.875H14z" fill-rule="evenodd"></path>';
|
1582 |
+
html += '</svg>';
|
1583 |
+
html += '</span>';
|
1584 |
+
html += '</div>';
|
1585 |
+
html += '</div>';
|
1586 |
+
|
1587 |
+
// Create overlay
|
1588 |
+
$('body').append(html);
|
1589 |
+
$overlayWrap = $('.js-dgwt-wcas-overlay-mobile');
|
1590 |
+
$overlayWrap.css('zIndex', zIndex);
|
1591 |
+
|
1592 |
+
$wrapper.after('<span class="js-dgwt-wcas-om-hook"></span>');
|
1593 |
+
$wrapper.appendTo('.js-dgwt-wcas-om-bar');
|
1594 |
+
$suggestionsWrapp.appendTo('.js-dgwt-wcas-om-bar');
|
1595 |
+
$wrapper.addClass('dgwt-wcas-search-wrapp-mobile');
|
1596 |
+
|
1597 |
+
if($wrapper.hasClass('dgwt-wcas-has-submit')){
|
1598 |
+
$wrapper.addClass('dgwt-wcas-has-submit-off');
|
1599 |
+
$wrapper.removeClass('dgwt-wcas-has-submit');
|
1600 |
+
}
|
1601 |
+
|
1602 |
+
$wrapper.find('.' + that.options.searchInputClass).focus();
|
1603 |
+
|
1604 |
+
$(document).on('click', '.js-dgwt-wcas-om-return', function (e) {
|
1605 |
+
that.disableOverlayMobile($overlayWrap);
|
1606 |
+
});
|
1607 |
+
},
|
1608 |
+
disableOverlayMobile: function($overlayWrap){
|
1609 |
+
var that = this;
|
1610 |
+
|
1611 |
+
var $suggestionsWrapp = that.getSuggestionsContainer();
|
1612 |
+
|
1613 |
+
that.killSuggestions();
|
1614 |
+
that.disableKillerFn();
|
1615 |
+
|
1616 |
+
var $clonedForm = $('.js-dgwt-wcas-om-bar').find('.' + that.options.searchFormClass);
|
1617 |
+
|
1618 |
+
if($clonedForm.hasClass('dgwt-wcas-has-submit-off')){
|
1619 |
+
$clonedForm.removeClass('dgwt-wcas-has-submit-off');
|
1620 |
+
$clonedForm.addClass('dgwt-wcas-has-submit');
|
1621 |
+
}
|
1622 |
+
|
1623 |
+
$clonedForm.removeClass('dgwt-wcas-search-wrapp-mobile');
|
1624 |
+
$('body').removeClass('dgwt-wcas-overlay-mobile-on');
|
1625 |
+
$suggestionsWrapp.appendTo('body');
|
1626 |
+
$suggestionsWrapp.removeAttr('body-scroll-lock-ignore');
|
1627 |
+
$('.js-dgwt-wcas-om-hook').after($clonedForm);
|
1628 |
+
$('.js-dgwt-wcas-overlay-mobile').remove();
|
1629 |
+
$('.js-dgwt-wcas-om-hook').remove();
|
1630 |
+
|
1631 |
+
setTimeout(function(){
|
1632 |
+
$clonedForm.find('.' + that.options.searchInputClass).val('');
|
1633 |
+
}, 150);
|
1634 |
+
|
1635 |
+
|
1636 |
+
that.overlayMobileState = 'off';
|
1637 |
}
|
1638 |
};
|
1639 |
|
1678 |
|
1679 |
var $preloader = $(this).closest('.dgwt-wcas-search-wrapp').find('.dgwt-wcas-preloader');
|
1680 |
|
1681 |
+
if (dgwt_wcas.is_rtl == 1) {
|
1682 |
$preloader.css('left', (6 + $(this).outerWidth()) + 'px');
|
1683 |
} else {
|
1684 |
$preloader.css('right', $(this).outerWidth() + 'px');
|
1718 |
saleBadgeText: dgwt_wcas.t.sale_badge,
|
1719 |
featuredBadgeText: dgwt_wcas.t.featured_badge,
|
1720 |
isRtl: dgwt_wcas.is_rtl == 1 ? true : false,
|
1721 |
+
isPremium: dgwt_wcas.is_premium == 1 ? true : false,
|
1722 |
+
overlayMobile: dgwt_wcas.overlay_mobile == 1 ? true : false
|
1723 |
});
|
1724 |
|
1725 |
});
|
assets/js/search.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports&&"function"==typeof require?e(require("jquery")):e(jQuery)}(function(e){"use strict";var t={escapeRegExChars:function(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")},createNode:function(e){var t=document.createElement("div");return t.className=e,t.style.position="absolute",t.style.display="none",t},highlight:function(e,s){if(dgwt_wcas.is_premium){var o,n=s.split(/ /);if(n)for(n=n.sort(function(e,t){return t.length-e.length}),o=0;o<n.length;o++)if(n[o]&&n[o].length>1){var a="("+t.escapeRegExChars(n[o].trim())+")";e=e.replace(new RegExp(a,"gi"),"<strong>$1</strong>")}}else a="("+t.escapeRegExChars(s)+")",e=e.replace(new RegExp(a,"gi"),"<strong>$1</strong>");return e}},s=27,o=9,n=13,a=38,i=39,l=40;function r(t,s){var o=e.noop,n=this,a={ajaxSettings:{},autoSelectFirst:!1,appendTo:document.body,serviceUrl:null,lookup:null,onSelect:null,onMouseOver:null,onMouseLeave:null,width:"auto",containerDetailsWidth:"auto",showDetailsPanel:!1,showImage:!1,showPrice:!1,showSKU:!1,showDescription:!1,showSaleBadge:!1,showFeaturedBadge:!1,saleBadgeText:"sale",featuredBadgeText:"featured",minChars:3,maxHeight:600,deferRequestBy:0,params:{},formatResult:r.formatResult,delimiter:null,zIndex:9999,type:"GET",noCache:!1,isRtl:!1,onSearchStart:o,onSearchComplete:o,onSearchError:o,preserveInput:!1,searchFormClass:"dgwt-wcas-search-wrapp",containerClass:"dgwt-wcas-suggestions-wrapp",containerDetailsClass:"dgwt-wcas-details-wrapp",searchInputClass:"dgwt-wcas-search-input",preloaderClass:"dgwt-wcas-preloader",closeTrigger:"dgwt-wcas-close",tabDisabled:!1,dataType:"text",currentRequest:null,triggerSelectOnValidInput:!0,isPremium:!1,preventBadQueries:!0,lookupFilter:function(e,t,s){return-1!==e.value.toLowerCase().indexOf(s)},paramName:"query",transformResult:function(t){return"string"==typeof t?e.parseJSON(t):t},showNoSuggestionNotice:!1,noSuggestionNotice:"No results",orientation:"bottom",forceFixPosition:!1,positionFixed:!1};n.element=t,n.el=e(t),n.suggestions=[],n.badQueries=[],n.selectedIndex=-1,n.currentValue=n.element.value,n.intervalId=0,n.cachedResponse={},n.cachedDetails={},n.detailsRequestsSent=[],n.onChangeInterval=null,n.onChange=null,n.isLocal=!1,n.suggestionsContainer=null,n.detailsContainer=null,n.noSuggestionsContainer=null,n.options=e.extend({},a,s),n.classes={selected:"dgwt-wcas-suggestion-selected",suggestion:"dgwt-wcas-suggestion",suggestionsContainerOrientTop:"dgwt-wcas-suggestions-wrapp--top"},n.hint=null,n.hintValue="",n.selection=null,n.initialize(),n.setOptions(s)}r.utils=t,e.Autocomplete=r,r.formatResult=function(e,s){return s?(e=t.highlight(e,s)).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/<(\/?strong)>/g,"<$1>"):e},r.prototype={killerFn:null,initialize:function(){var t,s,o=this,n="."+o.classes.suggestion,a=(o.classes.selected,o.options),i="."+a.closeTrigger;o.element.setAttribute("autocomplete","off"),o.killerFn=function(t){0===e(t.target).closest("."+o.options.containerClass).length&&0===e(t.target).closest("."+o.options.containerDetailsClass).length&&(o.killSuggestions(),o.disableKillerFn())};var l=o.el.closest("."+a.searchFormClass).data("wcas-context");o.noSuggestionsContainer=e('<div class="dgwt-wcas-no-suggestion"></div>').html(this.options.noSuggestionNotice).get(0),o.suggestionsContainer=r.utils.createNode(a.containerClass),(t=e(o.suggestionsContainer)).attr("data-wcas-context",l),t.addClass("woocommerce"),t.appendTo("body"),!0===a.showImage&&t.addClass("dgwt-wcas-has-img"),!0===a.showPrice&&t.addClass("dgwt-wcas-has-price"),!0===a.showDescription&&t.addClass("dgwt-wcas-has-desc"),!0===a.showSKU&&t.addClass("dgwt-wcas-has-sku"),"auto"!==a.width&&t.width(a.width),!0===a.showDetailsPanel&&(o.detailsContainer=r.utils.createNode(a.containerDetailsClass),(s=e(o.detailsContainer)).attr("data-wcas-context",l),s.addClass("woocommerce"),s.appendTo("body")),t.on("mouseover.autocomplete",n,function(){o.onMouseOver(e(this).data("index")),o.activate(e(this).data("index"))}),t.on("mouseout.autocomplete",function(){}),e(document).on("click.autocomplete",i,function(t){o.killerFn(t),o.clear(!1),e(this).removeClass(a.closeTrigger),e(this).closest("."+a.searchFormClass).find("."+a.searchInputClass).val("").focus()}),t.on("click.autocomplete",n,function(){return o.select(e(this).data("index")),!1}),e(document).on("change",'[name="js-dgwt-wcas-quantity"]',function(t){e(this).closest(".js-dgwt-wcas-pd-addtc").find("[data-quantity]").attr("data-quantity",e(this).val())}),o.fixPositionCapture=function(){o.adjustContainerWidth(),o.visible&&o.fixPosition()},e(window).on("resize.autocomplete",o.fixPositionCapture),o.el.on("keydown.autocomplete",function(e){o.onKeyPress(e)}),o.el.on("keyup.autocomplete",function(e){o.onKeyUp(e)}),o.el.on("blur.autocomplete",function(){o.onBlur()}),o.el.on("focus.autocomplete",function(){o.onFocus()}),o.el.on("change.autocomplete",function(e){o.onKeyUp(e)}),o.el.on("input.autocomplete",function(e){o.onKeyUp(e)})},onFocus:function(){var e=this;e.fixPositionCapture(),e.el.val().length>=e.options.minChars&&e.onValueChange()},onBlur:function(){this.enableKillerFn()},abortAjax:function(){var e=this;e.currentRequest&&(e.currentRequest.abort(),e.currentRequest=null)},setOptions:function(t){var s=this,o=s.getSuggestionsContainer(),n=s.options;(e.extend(n,t),s.isLocal=e.isArray(n.lookup),s.isLocal&&(n.lookup=s.verifySuggestionsFormat(n.lookup)),n.orientation=s.validateOrientation(n.orientation,"bottom"),o.css({"max-height":s.canShowDetailsBox()?"none":n.maxHeight+"px",width:n.width+"px","z-index":n.zIndex}),!0===n.showDetailsPanel)&&(s.getDetailsContainer().css({"z-index":n.zIndex-1}),e("body").addClass("dgwt-wcas-is-details"));s.options.onSearchComplete=function(){s.preloader("hide","form","dgwt-wcas-inner-preloader"),s.preloader("show","form",n.closeTrigger)}},clearCache:function(){this.cachedResponse={},this.cachedDetails={},this.badQueries=[]},clear:function(e){e&&this.clearCache(),this.currentValue="",this.suggestions=[]},disable:function(){var e=this;e.disabled=!0,clearInterval(e.onChangeInterval),e.abortAjax()},enable:function(){this.disabled=!1},fixPosition:function(){var t=this,s=e("."+t.options.containerClass+'[data-wcas-context="'+t.getContext()+'"]'),o=t.getFormOffset();s.css(o),t.canShowDetailsBox()&&t.fixPositionDetailsBox()},fixPositionDetailsBox:function(){var t=this,s=t.el.closest("[data-wcas-context]"),o=e("."+t.options.containerDetailsClass+'[data-wcas-context="'+t.getContext()+'"]'),n=e("."+t.options.containerClass+'[data-wcas-context="'+t.getContext()+'"]'),a=t.getFormOffset(),i=a.left;if(0==o.length)return!1;var l=!0===t.options.isRtl?1:2,r=Math.round(a.left);if(a.left=r+Math.round(n.width()+l),o.css(a),s.width()>=550)return e("body").removeClass("dgwt-wcas-details-outside"),e("body").removeClass("dgwt-wcas-details-right"),e("body").removeClass("dgwt-wcas-details-left"),void(!0===t.options.isRtl&&(n.css("left",r+Math.round(o.width()+l)+"px"),o.css("left",i+"px")));var c=e(window).width(),d=o.width(),u=o.offset();e("body").addClass("dgwt-wcas-details-outside"),!0===t.options.isRtl&&(a.left=a.left+1);var g=!1,h=!1;c<u.left+d&&(g=!0,e("body").removeClass("dgwt-wcas-details-right"),e("body").addClass("dgwt-wcas-details-left"),o.css("left",Math.round(parseFloat(n.css("left").replace("px","")))-o.outerWidth()+"px")),(u=o.offset()).left<1&&(h=!0,e("body").removeClass("dgwt-wcas-details-left"),e("body").addClass("dgwt-wcas-details-right")),h&&g?(e("body").removeClass("dgwt-wcas-details-left"),e("body").removeClass("dgwt-wcas-details-right"),e("body").addClass("dgwt-wcas-details-notfit")):e("body").removeClass("dgwt-wcas-details-notfit")},fixHeight:function(){var t=this.options;if(1!=t.showDetailsPanel)return!1;e("."+t.containerClass).css("height","auto"),e("."+t.containerDetailsClass).css("height","auto");var s=e("."+t.containerClass),o=e("."+t.containerDetailsClass),n=s.outerHeight(),a=o.outerHeight();return s.find(".dgwt-wcas-suggestion:last-child").removeClass("dgwt-wcas-suggestion-no-border-bottom"),!(n<=340&&a<=340)&&(s.find(".dgwt-wcas-suggestion:last-child").addClass("dgwt-wcas-suggestion-no-border-bottom"),a<n&&o.css("height",n+"px"),n<a&&s.css("height",a+"px"),!1)},getFormOffset:function(){var t=this,s=t.getFormWrapper(),o=t.getSuggestionsContainer(),n=t.options.orientation,a=s.outerHeight(),i=t.el.outerHeight(),l=t.el.offset(),r={top:l.top,left:l.left};if("auto"===n){var c=e(window).height(),d=e(window).scrollTop(),u=-d+l.top-a,g=d+c-(l.top+i+a);n=Math.max(u,g)===u?"top":"bottom"}if("top"===n){o[0].getBoundingClientRect().top;var h=s[0].getBoundingClientRect().top;o.css("height","auto"),h<o.height()&&o.height(h-10),r.top+=-o.outerHeight()}else r.top+=i;return r},getContext:function(){var e=this.el.closest("[data-wcas-context]"),t="";return e.length>0&&(t=e.data("wcas-context")),t},getFormWrapper:function(){return this.el.closest("[data-wcas-context]")},getSuggestionsContainer:function(){return e("."+this.options.containerClass+'[data-wcas-context="'+this.getContext()+'"]')},getDetailsContainer:function(){return e("."+this.options.containerDetailsClass+'[data-wcas-context="'+this.getContext()+'"]')},scrollDownSuggestions:function(){var e=this.getSuggestionsContainer();e[0].scrollTop=e[0].scrollHeight},enableKillerFn:function(){e(document).on("click.autocomplete",this.killerFn)},disableKillerFn:function(){e(document).off("click.autocomplete",this.killerFn)},killSuggestions:function(){var e=this;e.stopKillSuggestions(),e.intervalId=window.setInterval(function(){e.visible&&(e.options.preserveInput||e.el.val(e.currentValue),e.hide()),e.stopKillSuggestions()},50)},stopKillSuggestions:function(){window.clearInterval(this.intervalId)},isCursorAtEnd:function(){var e,t=this.el.val().length,s=this.element.selectionStart;return"number"==typeof s?s===t:!document.selection||((e=document.selection.createRange()).moveStart("character",-t),t===e.text.length)},onKeyPress:function(e){var t=this;if(t.disabled||t.visible||e.which!==l||!t.currentValue){if(!t.disabled&&t.visible){switch(e.which){case s:t.el.val(t.currentValue),t.hide();break;case i:if(t.hint&&t.options.onHint&&t.isCursorAtEnd()){t.selectHint();break}return;case o:if(t.hint&&t.options.onHint)return void t.selectHint();if(-1===t.selectedIndex)return void t.hide();if(t.select(t.selectedIndex),!1===t.options.tabDisabled)return;break;case n:if(-1===t.selectedIndex)return void t.hide();t.select(t.selectedIndex);break;case a:t.moveUp();break;case l:t.moveDown();break;default:return}e.stopImmediatePropagation(),e.preventDefault()}}else t.suggest()},onKeyUp:function(e){var t=this;if(!t.disabled){switch(e.which){case a:case l:return}clearInterval(t.onChangeInterval),t.currentValue!==t.el.val()&&(t.findBestHint(),t.options.deferRequestBy>0?t.onChangeInterval=setInterval(function(){t.onValueChange()},t.options.deferRequestBy):t.onValueChange())}},onValueChange:function(){var t=this,s=t.options,o=t.el.val(),n=t.getQuery(o);t.selection&&t.currentValue!==n&&(t.selection=null,(s.onInvalidateSelection||e.noop).call(t.element)),clearInterval(t.onChangeInterval),t.currentValue=o,t.selectedIndex=-1,s.triggerSelectOnValidInput&&t.isExactMatch(n)?t.select(0):n.length<s.minChars?(e("."+t.options.closeTrigger).removeClass(t.options.closeTrigger),t.hide()):t.getSuggestions(n)},isExactMatch:function(e){var t=this.suggestions;return 1===t.length&&t[0].value.toLowerCase()===e.toLowerCase()},canShowDetailsBox:function(){return 1==this.options.showDetailsPanel&&e(window).width()>=992&&!("ontouchend"in document)},getQuery:function(t){var s,o=this.options.delimiter;return o?(s=t.split(o),e.trim(s[s.length-1])):t},getSuggestionsLocal:function(t){var s,o=this.options,n=t.toLowerCase(),a=o.lookupFilter,i=parseInt(o.lookupLimit,10);return s={suggestions:e.grep(o.lookup,function(e){return a(e,t,n)})},i&&s.suggestions.length>i&&(s.suggestions=s.suggestions.slice(0,i)),s},getSuggestions:function(t){var s,o,n,a,i=this,l=i.options,r=l.serviceUrl;l.params[l.paramName]=t,o=l.ignoreParams?null:l.params,i.preloader("show","form","dgwt-wcas-inner-preloader"),!1!==l.onSearchStart.call(i.element,l.params)&&(e.isFunction(l.lookup)?l.lookup(t,function(e){i.suggestions=e.suggestions,i.suggest(),i.getDetails(e.suggestions[0]),l.onSearchComplete.call(i.element,t,e.suggestions)}):(i.isLocal?s=i.getSuggestionsLocal(t):(e.isFunction(r)&&(r=r.call(i.element,t)),n=r+"?"+e.param(o||{}),s=i.cachedResponse[n]),s&&e.isArray(s.suggestions)?(i.suggestions=s.suggestions,i.suggest(),i.getDetails(s.suggestions[0]),l.onSearchComplete.call(i.element,t,s.suggestions)):i.isBadQuery(t)?l.onSearchComplete.call(i.element,t,[]):(i.abortAjax(),a={url:r,data:o,type:l.type,dataType:l.dataType},e.extend(a,l.ajaxSettings),i.currentRequest=e.ajax(a).done(function(e){var s;i.currentRequest=null,void 0!==(s=l.transformResult(e,t)).suggestions&&(i.processResponse(s,t,n),i.getDetails(s.suggestions[0])),i.fixPositionCapture(),l.onSearchComplete.call(i.element,t,s.suggestions)}).fail(function(e,s,o){l.onSearchError.call(i.element,t,e,s,o)}))))},getDetails:function(t){var s=this,o=s.options;if(!s.canShowDetailsBox())return!1;if(null!=t&&("string"!=typeof t.more_products||"more_products"!==t.more_products)){var n,a,i=e("."+o.containerDetailsClass);s.fixHeight();var l={action:dgwt_wcas.action_result_details,post_id:null!=t.post_id?t.post_id:0,term_id:null!=t.term_id?t.term_id:0,taxonomy:null!=t.taxonomy?t.taxonomy:"",value:null!=t.value?t.value:""};if(n=l.action+l.post_id+l.term_id+l.taxonomy,null!=(a=s.cachedDetails[n]))i.html(a.details),s.fixHeight(),s.fixPositionCapture();else{if(i.html(""),s.preloader("show","details","",!0),-1!=e.inArray(n,s.detailsRequestsSent))return;s.detailsRequestsSent.push(n),e.ajax({data:l,type:"post",url:dgwt_wcas.ajax_details_endpoint,success:function(e){var t="string"==typeof e?jQuery.parseJSON(e):e;s.cachedDetails[n]=t,s.preloader("hide","details","",!0),null!=t.details?i.html(t.details):i.html(""),s.fixPositionCapture(),s.fixHeight()},error:function(e,t){s.preloader("hide","details","",!0),i.html(e),s.fixPositionCapture(),s.fixHeight()}})}}},isBadQuery:function(e){if(!this.options.preventBadQueries)return!1;for(var t=this.badQueries,s=t.length;s--;)if(0===e.indexOf(t[s]))return!0;return!1},hide:function(){var t=this,s=t.getSuggestionsContainer(),o=t.getDetailsContainer();e.isFunction(t.options.onHide)&&t.visible&&t.options.onHide.call(t.element,container),t.visible=!1,t.selectedIndex=-1,clearInterval(t.onChangeInterval),s.hide(),s.removeClass(t.classes.suggestionsContainerOrientTop),o.hide(),e("body").removeClass("dgwt-wcas-open"),e("body").removeClass("dgwt-wcas-block-scroll"),t.signalHint(null)},suggest:function(){if(this.suggestions.length){var t,s=this,o=s.options,n=o.groupBy,a=o.formatResult,i=s.getQuery(s.currentValue),l=s.classes.suggestion,r=s.classes.selected,c=s.getSuggestionsContainer(),d=s.getDetailsContainer(),u=e(s.noSuggestionsContainer),g=o.beforeRender,h="";o.triggerSelectOnValidInput&&s.isExactMatch(i)?s.select(0):(e.each(s.suggestions,function(e,s){var r,c="",d=!1;if(n&&(h+=(r=s.data[n],t===r?"":'<div class="autocomplete-group"><strong>'+(t=r)+"</strong></div>")),void 0===s.post_id){var u=l,g="dgwt-wcas-st",p="",w="",f="";"product_cat"===s.taxonomy?(u+=" dgwt-wcas-suggestion-cat",p+='<span class="dgwt-wcas-st--tax">'+dgwt_wcas.t.category+"</span>",void 0!==s.breadcrumbs&&s.breadcrumbs&&(f=s.breadcrumbs+" > "+s.value,w+='<span class="dgwt-wcas-st-breadcrumbs">'+dgwt_wcas.copy_in_category+" "+s.breadcrumbs+"</span>")):"product_tag"===s.taxonomy?(u+=" dgwt-wcas-suggestion-tag",p+='<span class="dgwt-wcas-st--tax">'+dgwt_wcas.t.tag+"</span>"):void 0!==s.type&&"more_products"===s.type?(u+=" js-dgwt-wcas-suggestion-more dgwt-wcas-suggestion-more",g="dgwt-wcas-st-more",s.value=dgwt_wcas.copy_show_more+" ("+s.total+")"):(u+=" dgwt-wcas-suggestion-nores",s.value=dgwt_wcas.copy_no_result),f=f.length>0?' title="'+f+'"':"",h+='<div class="'+u+'" data-index="'+e+'">',h+="<span"+f+' class="'+g+'">'+p+a(s.value,i)+w+"</span>",h+="</div>"}else!0===o.showImage&&void 0!==s.thumb_html&&(d=!0),c+=void 0!==s.post_id?'data-post-id="'+s.post_id+'" ':"",c+=void 0!==s.taxonomy?'data-taxonomy="'+s.taxonomy+'" ':"",c+=void 0!==s.term_id?'data-term-id="'+s.term_id+'" ':"",h+='<div class="'+l+' dgwt-wcas-suggestion-product" data-index="'+e+'" '+c+">",d&&(h+='<span class="dgwt-wcas-si">'+s.thumb_html+"</span>"),h+=d?'<div class="dgwt-wcas-content-wrapp">':"",h+='<span class="dgwt-wcas-st">',h+="<span>"+a(s.value,i)+"</span>",!0===o.showSKU&&void 0!==s.sku&&s.sku.length>0&&(h+='<span class="dgwt-wcas-sku">('+dgwt_wcas.t.sku_label+" "+a(s.sku,i)+")</span>"),h+="</span>",!0===o.showPrice&&void 0!==s.price&&(h+='<span class="dgwt-wcas-sp">'+s.price+"</span>"),!0===o.showDescription&&void 0!==s.desc&&s.desc&&(h+='<span class="dgwt-wcas-sd">'+a(s.desc,i)+"</span>"),!0===o.showFeaturedBadge&&!0===s.on_sale&&(h+='<span class="dgwt-wcas-badge dgwt-wcas-badge-os">'+o.saleBadgeText+"</span>"),!0===o.showFeaturedBadge&&!0===s.featured&&(h+='<span class="dgwt-wcas-badge dgwt-wcas-badge-f">'+o.featuredBadgeText+"</span>"),h+=d?"</div>":"",h+="</div>"}),this.adjustContainerWidth(),u.detach(),c.html(h),e.isFunction(g)&&g.call(s.element,c,s.suggestions),s.fixPositionCapture(),c.show(),e("body").addClass("dgwt-wcas-open"),!0===o.showDetailsPanel&&(d.show(),s.fixHeight()),o.autoSelectFirst&&(s.selectedIndex=0,c.scrollTop(0),c.children("."+l).first().addClass(r)),s.visible=!0,"top"===s.options.orientation&&(s.getSuggestionsContainer().addClass(s.classes.suggestionsContainerOrientTop),e("body").addClass("dgwt-wcas-block-scroll"),setTimeout(function(){s.scrollDownSuggestions()},300)),s.findBestHint())}else this.options.showNoSuggestionNotice?this.noSuggestions():this.hide()},noSuggestions:function(){var t=this.getSuggestionsContainer(),s=e(this.noSuggestionsContainer);s.detach(),t.empty(),t.append(s),this.fixPositionCapture(),t.show(),this.visible=!0},adjustContainerWidth:function(){var t,s=this,o=s.options,n=e("body"),a=s.getFormWrapper(),i=s.getSuggestionsContainer(),l=s.getDetailsContainer(),r=s.getFormOffset(),c=getComputedStyle(a[0]).width;if(c=Math.round(parseFloat(c.replace("px",""))),"auto"===o.width&&(t=s.el.outerWidth(),i.css("width",t+"px")),!0===o.showDetailsPanel){if(a.width()>=550)return n.addClass("dgwt-wcas-full-width"),c%2==0?(i.css("width",Math.round(c/2)),l.css("width",Math.round(c/2))):(i.css("width",Math.floor(c/2)),l.css("width",Math.ceil(c/2))),n.removeClass("dgwt-wcas-details-left"),n.removeClass("dgwt-wcas-details-right"),void(!0===o.isRtl?l.css("left","0"):i.css("left",c/2+r.left+"px"));n.addClass("dgwt-wcas-details-right")}},findBestHint:function(){var t=this.el.val().toLowerCase(),s=null;t&&(e.each(this.suggestions,function(e,o){var n=0===o.value.toLowerCase().indexOf(t);return n&&(s=o),!n}),this.signalHint(s))},signalHint:function(t){var s="",o=this;t&&(s=o.currentValue+t.value.substr(o.currentValue.length)),o.hintValue!==s&&(o.hintValue=s,o.hint=t,(this.options.onHint||e.noop)(s))},preloader:function(t,s,o,n){var a,i,l="dgwt-wcas-preloader-wrapp",r=null==o?l:l+" "+o;if("form"===s?i=this.getFormWrapper().find(".dgwt-wcas-preloader"):"details"===s&&(i=e(this.detailsContainer)),1==dgwt_wcas.show_preloader&&0!=i.length)if(!0===n)if("hide"!==t){if("show"===t){var c=this.options.isRtl?"-rtl":"";a='<div class="'+r+'"><img class="dgwt-wcas-placeholder-preloader" src="'+dgwt_wcas.img_url+"placeholder"+c+'.png" /></div>',i.html(a)}}else e(l).remove();else"hide"===t?i.removeClass(o):i.addClass(o)},verifySuggestionsFormat:function(t){return t.length&&"string"==typeof t[0]?e.map(t,function(e){return{value:e,data:null}}):t},validateOrientation:function(t,s){return t=e.trim(t||"").toLowerCase(),-1===e.inArray(t,["auto","bottom","top"])&&(t=s),t},processResponse:function(e,t,s){var o=this,n=o.options;e.suggestions=o.verifySuggestionsFormat(e.suggestions),n.noCache||(o.cachedResponse[s]=e,n.preventBadQueries&&!e.suggestions.length&&o.badQueries.push(t)),t===o.getQuery(o.currentValue)&&("top"===o.options.orientation&&e.suggestions.reverse(),o.suggestions=e.suggestions,o.suggest())},activate:function(t){var s,o=this,n=o.classes.selected,a=o.getSuggestionsContainer(),i=a.find("."+o.classes.suggestion);return a.find("."+n).removeClass(n),o.selectedIndex=t,-1!==o.selectedIndex&&i.length>o.selectedIndex?(s=i.get(o.selectedIndex),e(s).addClass(n),s):null},selectHint:function(){var t=e.inArray(this.hint,this.suggestions);this.select(t)},select:function(e){this.hide(),this.onSelect(e),this.disableKillerFn()},moveUp:function(){var e=this;if(-1!==e.selectedIndex)return 0===e.selectedIndex?(e.getSuggestionsContainer().children().first().removeClass(e.classes.selected),e.selectedIndex=-1,e.el.val(e.currentValue),void e.findBestHint()):void e.adjustScroll(e.selectedIndex-1)},moveDown:function(){this.selectedIndex!==this.suggestions.length-1&&this.adjustScroll(this.selectedIndex+1)},adjustScroll:function(t){var s=this,o=s.activate(t);if(o&&!s.canShowDetailsBox()){var n,a,i,l=s.getSuggestionsContainer(),r=e(o).outerHeight();n=o.offsetTop,i=(a=l.scrollTop())+s.options.maxHeight-r,n<a?l.scrollTop(n):n>i&&l.scrollTop(n-s.options.maxHeight+r),s.options.preserveInput||s.el.val(s.getValue(s.suggestions[t].value)),s.signalHint(null)}},onSelect:function(t){var s=this,o=s.options.onSelect,n=s.suggestions[t];void 0===n.type||"more_products"!==n.type?(s.currentValue=s.getValue(n.value),s.currentValue===s.el.val()||s.options.preserveInput||s.el.val(s.currentValue),n.url.length>0&&(window.location.href=n.url),s.signalHint(null),s.suggestions=[],s.selection=n,e.isFunction(o)&&o.call(s.element,n)):s.el.closest("form").trigger("submit")},onMouseOver:function(t){var s=this,o=s.options.onMouseOver,n=s.suggestions[t];s.selectedIndex!==t&&s.getDetails(n),e.isFunction(o)&&o.call(s.element,n)},onMouseLeave:function(t){var s=this.options.onMouseLeave,o=this.suggestions[t];e.isFunction(s)&&s.call(this.element,o)},getValue:function(e){var t,s,o=this.options.delimiter;return o?1===(s=(t=this.currentValue).split(o)).length?e:t.substr(0,t.length-s[s.length-1].length)+e:e},dispose:function(){var t=this;t.el.off(".autocomplete").removeData("autocomplete"),t.disableKillerFn(),e(window).off("resize.autocomplete",t.fixPositionCapture),e("."+t.options.containerClass).remove(),e("."+t.options.containerDetailsClass).remove()}},e.fn.dgwtWcasAutocomplete=function(t,s){var o="autocomplete";return arguments.length?this.each(function(){var n=e(this),a=n.data(o);"string"==typeof t?a&&"function"==typeof a[t]&&a[t](s):(a&&a.dispose&&a.dispose(),a=new r(this,t),n.data(o,a))}):this.first().data(o)},e(window).on("load",function(){e(".dgwt-wcas-search-submit").length>0&&e(".dgwt-wcas-search-submit").each(function(){var t=e(this).closest(".dgwt-wcas-search-wrapp").find(".dgwt-wcas-preloader");1==dgwt_wcas.isRtl?t.css("left",6+e(this).outerWidth()+"px"):t.css("right",e(this).outerWidth()+"px")})}),e(document).ready(function(){var t=1==dgwt_wcas.show_details_box;(jQuery(window).width()<992||"ontouchend"in document)&&(t=!1),e(".dgwt-wcas-search-input").dgwtWcasAutocomplete({minChars:dgwt_wcas.min_chars,width:dgwt_wcas.sug_width,autoSelectFirst:!1,triggerSelectOnValidInput:!1,serviceUrl:dgwt_wcas.ajax_search_endpoint,paramName:"s",showDetailsPanel:t,showImage:1==dgwt_wcas.show_images,showPrice:1==dgwt_wcas.show_price,showDescription:1==dgwt_wcas.show_desc,showSKU:1==dgwt_wcas.show_sku,showSaleBadge:1==dgwt_wcas.show_sale_badge,showFeaturedBadge:1==dgwt_wcas.show_featured_badge,saleBadgeText:dgwt_wcas.t.sale_badge,featuredBadgeText:dgwt_wcas.t.featured_badge,isRtl:1==dgwt_wcas.is_rtl,isPremium:1==dgwt_wcas.is_premium})}),e(window).on("load",function(){var t=e(".dgwt-wcas-search-wrapp[data-wcas-context]"),s=[];t.length>0&&t.each(function(){var t=e(this).attr("data-wcas-context");if(-1==e.inArray(t,s))s.push(t);else{var o=Math.random().toString(36).substring(2,6),n=e('.dgwt-wcas-suggestions-wrapp[data-wcas-context="'+t+'"]'),a=e('.dgwt-wcas-details-wrapp[data-wcas-context="'+t+'"]');e(this).attr("data-wcas-context",o),n.length>0&&e(n[n.length-1]).attr("data-wcas-context",o),a.length>0&&e(a[a.length-1]).attr("data-wcas-context",o)}})})});
|
1 |
+
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports&&"function"==typeof require?t(require("jquery")):t(jQuery)}(function(t){"use strict";var e={escapeRegExChars:function(t){return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")},createNode:function(t){var e=document.createElement("div");return e.className=t,e.style.position="absolute",e.style.display="none",e},highlight:function(t,s){if(dgwt_wcas.is_premium){var i,o=s.split(/ /);if(o)for(o=o.sort(function(t,e){return e.length-t.length}),i=0;i<o.length;i++)if(o[i]&&o[i].length>1){var a="("+e.escapeRegExChars(o[i].trim())+")";t=t.replace(new RegExp(a,"gi"),"<strong>$1</strong>")}}else a="("+e.escapeRegExChars(s)+")",t=t.replace(new RegExp(a,"gi"),"<strong>$1</strong>");return t}},s=27,i=9,o=13,a=38,n=39,l=40;function r(e,s){var i=t.noop,o={ajaxSettings:{},autoSelectFirst:!1,appendTo:document.body,serviceUrl:null,lookup:null,onSelect:null,onMouseOver:null,onMouseLeave:null,width:"auto",containerDetailsWidth:"auto",showDetailsPanel:!1,showImage:!1,showPrice:!1,showSKU:!1,showDescription:!1,showSaleBadge:!1,showFeaturedBadge:!1,saleBadgeText:"sale",featuredBadgeText:"featured",minChars:3,maxHeight:600,deferRequestBy:0,params:{},formatResult:r.formatResult,delimiter:null,zIndex:999999999,type:"GET",noCache:!1,isRtl:!1,onSearchStart:i,onSearchComplete:i,onSearchError:i,preserveInput:!1,searchFormClass:"dgwt-wcas-search-wrapp",containerClass:"dgwt-wcas-suggestions-wrapp",containerDetailsClass:"dgwt-wcas-details-wrapp",searchInputClass:"dgwt-wcas-search-input",preloaderClass:"dgwt-wcas-preloader",closeTrigger:"dgwt-wcas-close",tabDisabled:!1,dataType:"text",currentRequest:null,triggerSelectOnValidInput:!0,isPremium:!1,overlayMobile:!1,preventBadQueries:!0,lookupFilter:function(t,e,s){return-1!==t.value.toLowerCase().indexOf(s)},paramName:"query",transformResult:function(e){return"string"==typeof e?t.parseJSON(e):e},showNoSuggestionNotice:!1,noSuggestionNotice:"No results",orientation:"bottom",forceFixPosition:!1,positionFixed:!1};this.element=e,this.el=t(e),this.suggestions=[],this.badQueries=[],this.selectedIndex=-1,this.currentValue=this.element.value,this.intervalId=0,this.cachedResponse={},this.cachedDetails={},this.detailsRequestsSent=[],this.onChangeInterval=null,this.onChange=null,this.isLocal=!1,this.suggestionsContainer=null,this.detailsContainer=null,this.noSuggestionsContainer=null,this.options=t.extend({},o,s),this.classes={selected:"dgwt-wcas-suggestion-selected",suggestion:"dgwt-wcas-suggestion",suggestionsContainerOrientTop:"dgwt-wcas-suggestions-wrapp--top"},this.hint=null,this.hintValue="",this.selection=null,this.overlayMobileState="off",this.initialize(),this.setOptions(s)}r.utils=e,t.Autocomplete=r,r.formatResult=function(t,s){return s?(t=e.highlight(t,s)).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/<sup/g,"<sup").replace(/<\/sup/g,"</sup").replace(/sup>/g,"sup>").replace(/<(\/?strong)>/g,"<$1>"):t},r.prototype={killerFn:null,initialize:function(){var e,s,i=this,o="."+i.classes.suggestion,a=(i.classes.selected,i.options),n="."+a.closeTrigger;i.element.setAttribute("autocomplete","off"),i.killerFn=function(e){0===t(e.target).closest("."+i.options.containerClass).length&&0===t(e.target).closest("."+i.options.containerDetailsClass).length&&(i.killSuggestions(),i.disableKillerFn())};var l=i.el.closest("."+a.searchFormClass).data("wcas-context");i.noSuggestionsContainer=t('<div class="dgwt-wcas-no-suggestion"></div>').html(this.options.noSuggestionNotice).get(0),i.suggestionsContainer=r.utils.createNode(a.containerClass),(e=t(i.suggestionsContainer)).attr("data-wcas-context",l),e.addClass("woocommerce"),e.appendTo("body"),!0===a.showImage&&e.addClass("dgwt-wcas-has-img"),!0===a.showPrice&&e.addClass("dgwt-wcas-has-price"),!0===a.showDescription&&e.addClass("dgwt-wcas-has-desc"),!0===a.showSKU&&e.addClass("dgwt-wcas-has-sku"),"auto"!==a.width&&e.width(a.width),!0===a.showDetailsPanel&&(i.detailsContainer=r.utils.createNode(a.containerDetailsClass),(s=t(i.detailsContainer)).attr("data-wcas-context",l),s.addClass("woocommerce"),s.appendTo("body")),e.on("mouseover.autocomplete",o,function(){i.onMouseOver(t(this).data("index")),i.activate(t(this).data("index"))}),e.on("mouseout.autocomplete",function(){}),t(document).on("click.autocomplete",n,function(e){i.killerFn(e),i.clear(!1),t(this).removeClass(a.closeTrigger),t(this).closest("."+a.searchFormClass).find("."+a.searchInputClass).val("").focus()}),e.on("click.autocomplete",o,function(){return i.select(t(this).data("index")),!1}),t(document).on("change",'[name="js-dgwt-wcas-quantity"]',function(e){t(this).closest(".js-dgwt-wcas-pd-addtc").find("[data-quantity]").attr("data-quantity",t(this).val())}),i.fixPositionCapture=function(){i.adjustContainerWidth(),i.visible&&i.fixPosition()},t(window).on("resize.autocomplete",i.fixPositionCapture),i.el.on("keydown.autocomplete",function(t){i.onKeyPress(t)}),i.el.on("keyup.autocomplete",function(t){i.onKeyUp(t)}),i.el.on("blur.autocomplete",function(){i.onBlur()}),i.el.on("focus.autocomplete",function(){i.onFocus()}),i.el.on("change.autocomplete",function(t){i.onKeyUp(t)}),i.el.on("input.autocomplete",function(t){i.onKeyUp(t)})},onFocus:function(){this.options.overlayMobile&&t(window).width()<992&&"ontouchend"in document&&this.enableOverlayMobile(),this.fixPositionCapture(),this.el.val().length>=this.options.minChars&&this.onValueChange()},onBlur:function(){this.enableKillerFn()},abortAjax:function(){this.currentRequest&&(this.currentRequest.abort(),this.currentRequest=null)},setOptions:function(e){var s=this,i=s.getSuggestionsContainer(),o=s.options;(t.extend(o,e),s.isLocal=t.isArray(o.lookup),s.isLocal&&(o.lookup=s.verifySuggestionsFormat(o.lookup)),o.orientation=s.validateOrientation(o.orientation,"bottom"),i.css({"max-height":s.canShowDetailsBox()?"none":o.maxHeight+"px",width:o.width+"px","z-index":o.zIndex}),!0===o.showDetailsPanel)&&(s.getDetailsContainer().css({"z-index":o.zIndex-1}),t("body").addClass("dgwt-wcas-is-details"));s.options.onSearchComplete=function(){s.preloader("hide","form","dgwt-wcas-inner-preloader"),s.preloader("show","form",o.closeTrigger)}},clearCache:function(){this.cachedResponse={},this.cachedDetails={},this.badQueries=[]},clear:function(t){t&&this.clearCache(),this.currentValue="",this.suggestions=[]},disable:function(){this.disabled=!0,clearInterval(this.onChangeInterval),this.abortAjax()},enable:function(){this.disabled=!1},fixPosition:function(){var e=t("."+this.options.containerClass+'[data-wcas-context="'+this.getContext()+'"]'),s=this.getFormOffset();e.css(s),this.canShowDetailsBox()&&this.fixPositionDetailsBox()},fixPositionDetailsBox:function(){var e=this.el.closest("[data-wcas-context]"),s=t("."+this.options.containerDetailsClass+'[data-wcas-context="'+this.getContext()+'"]'),i=t("."+this.options.containerClass+'[data-wcas-context="'+this.getContext()+'"]'),o=this.getFormOffset(),a=o.left;if(0==s.length)return!1;var n=!0===this.options.isRtl?1:2,l=Math.round(o.left);if(o.left=l+Math.round(i.width()+n),s.css(o),e.width()>=550)return t("body").removeClass("dgwt-wcas-details-outside"),t("body").removeClass("dgwt-wcas-details-right"),t("body").removeClass("dgwt-wcas-details-left"),void(!0===this.options.isRtl&&(i.css("left",l+Math.round(s.width()+n)+"px"),s.css("left",a+"px")));var r=t(window).width(),c=s.width(),d=s.offset();t("body").addClass("dgwt-wcas-details-outside"),!0===this.options.isRtl&&(o.left=o.left+1);var u=!1,g=!1;r<d.left+c&&(u=!0,t("body").removeClass("dgwt-wcas-details-right"),t("body").addClass("dgwt-wcas-details-left"),s.css("left",Math.round(parseFloat(i.css("left").replace("px","")))-s.outerWidth()+"px")),(d=s.offset()).left<1&&(g=!0,t("body").removeClass("dgwt-wcas-details-left"),t("body").addClass("dgwt-wcas-details-right")),g&&u?(t("body").removeClass("dgwt-wcas-details-left"),t("body").removeClass("dgwt-wcas-details-right"),t("body").addClass("dgwt-wcas-details-notfit")):t("body").removeClass("dgwt-wcas-details-notfit")},fixHeight:function(){if(1!=this.options.showDetailsPanel)return!1;var t=this.getSuggestionsContainer(),e=this.getDetailsContainer();t.css("height","auto"),e.css("height","auto");var s=t.outerHeight(),i=e.outerHeight();return t.find(".dgwt-wcas-suggestion:last-child").removeClass("dgwt-wcas-suggestion-no-border-bottom"),!(s<=340&&i<=340)&&(t.find(".dgwt-wcas-suggestion:last-child").addClass("dgwt-wcas-suggestion-no-border-bottom"),i<s&&e.css("height",s+"px"),s<i&&t.css("height",i+"px"),!1)},getFormOffset:function(){var e=this.getFormWrapper(),s=this.getSuggestionsContainer(),i=this.options.orientation,o=e.outerHeight(),a=this.el.outerHeight(),n=this.el.offset(),l={top:n.top,left:n.left};if("auto"===i){var r=t(window).height(),c=t(window).scrollTop(),d=-c+n.top-o,u=c+r-(n.top+a+o);i=Math.max(d,u)===d?"top":"bottom"}if("top"===i){s[0].getBoundingClientRect().top;var g=e[0].getBoundingClientRect().top;s.css("height","auto"),g<s.height()&&s.height(g-10),l.top+=-s.outerHeight()}else l.top+=a;return l},getContext:function(){var t=this.el.closest("[data-wcas-context]"),e="";return t.length>0&&(e=t.data("wcas-context")),e},getFormWrapper:function(){return this.el.closest("[data-wcas-context]")},getSuggestionsContainer:function(){return t("."+this.options.containerClass+'[data-wcas-context="'+this.getContext()+'"]')},getDetailsContainer:function(){return t("."+this.options.containerDetailsClass+'[data-wcas-context="'+this.getContext()+'"]')},scrollDownSuggestions:function(){var t=this.getSuggestionsContainer();t[0].scrollTop=t[0].scrollHeight},enableKillerFn:function(){t(document).on("click.autocomplete",this.killerFn)},disableKillerFn:function(){t(document).off("click.autocomplete",this.killerFn)},killSuggestions:function(){var t=this;t.stopKillSuggestions(),t.intervalId=window.setInterval(function(){t.visible&&(t.options.preserveInput||t.el.val(t.currentValue),t.hide()),t.stopKillSuggestions()},50)},stopKillSuggestions:function(){window.clearInterval(this.intervalId)},isCursorAtEnd:function(){var t,e=this.el.val().length,s=this.element.selectionStart;return"number"==typeof s?s===e:!document.selection||((t=document.selection.createRange()).moveStart("character",-e),e===t.text.length)},onKeyPress:function(t){if(this.disabled||this.visible||t.which!==l||!this.currentValue){if(!this.disabled&&this.visible){switch(t.which){case s:this.el.val(this.currentValue),this.hide();break;case n:if(this.hint&&this.options.onHint&&this.isCursorAtEnd()){this.selectHint();break}return;case i:if(this.hint&&this.options.onHint)return void this.selectHint();if(-1===this.selectedIndex)return void this.hide();if(this.select(this.selectedIndex),!1===this.options.tabDisabled)return;break;case o:if(-1===this.selectedIndex)return void this.hide();this.select(this.selectedIndex);break;case a:this.moveUp();break;case l:this.moveDown();break;default:return}t.stopImmediatePropagation(),t.preventDefault()}}else this.suggest()},onKeyUp:function(t){var e=this;if(!e.disabled){switch(t.which){case a:case l:return}clearInterval(e.onChangeInterval),e.currentValue!==e.el.val()&&(e.findBestHint(),e.options.deferRequestBy>0?e.onChangeInterval=setInterval(function(){e.onValueChange()},e.options.deferRequestBy):e.onValueChange())}},onValueChange:function(){var e=this.options,s=this.el.val(),i=this.getQuery(s);this.selection&&this.currentValue!==i&&(this.selection=null,(e.onInvalidateSelection||t.noop).call(this.element)),clearInterval(this.onChangeInterval),this.currentValue=s,this.selectedIndex=-1,e.triggerSelectOnValidInput&&this.isExactMatch(i)?this.select(0):i.length<e.minChars?(t("."+this.options.closeTrigger).removeClass(this.options.closeTrigger),this.hide()):this.getSuggestions(i)},isExactMatch:function(t){var e=this.suggestions;return 1===e.length&&e[0].value.toLowerCase()===t.toLowerCase()},canShowDetailsBox:function(){return 1==this.options.showDetailsPanel&&t(window).width()>=992&&!("ontouchend"in document)},getQuery:function(e){var s,i=this.options.delimiter;return i?(s=e.split(i),t.trim(s[s.length-1])):e},getSuggestionsLocal:function(e){var s,i=this.options,o=e.toLowerCase(),a=i.lookupFilter,n=parseInt(i.lookupLimit,10);return s={suggestions:t.grep(i.lookup,function(t){return a(t,e,o)})},n&&s.suggestions.length>n&&(s.suggestions=s.suggestions.slice(0,n)),s},getSuggestions:function(e){var s,i,o,a,n=this,l=n.options,r=l.serviceUrl;l.params[l.paramName]=e,i=l.ignoreParams?null:l.params,n.preloader("show","form","dgwt-wcas-inner-preloader"),!1!==l.onSearchStart.call(n.element,l.params)&&(t.isFunction(l.lookup)?l.lookup(e,function(t){n.suggestions=t.suggestions,n.suggest(),n.getDetails(t.suggestions[0]),l.onSearchComplete.call(n.element,e,t.suggestions)}):(n.isLocal?s=n.getSuggestionsLocal(e):(t.isFunction(r)&&(r=r.call(n.element,e)),o=r+"?"+t.param(i||{}),s=n.cachedResponse[o]),s&&t.isArray(s.suggestions)?(n.suggestions=s.suggestions,n.suggest(),n.getDetails(s.suggestions[0]),l.onSearchComplete.call(n.element,e,s.suggestions)):n.isBadQuery(e)?l.onSearchComplete.call(n.element,e,[]):(n.abortAjax(),a={url:r,data:i,type:l.type,dataType:l.dataType},t.extend(a,l.ajaxSettings),n.currentRequest=t.ajax(a).done(function(t){var s;n.currentRequest=null,void 0!==(s=l.transformResult(t,e)).suggestions&&(n.processResponse(s,e,o),n.getDetails(s.suggestions[0])),n.fixPositionCapture(),l.onSearchComplete.call(n.element,e,s.suggestions)}).fail(function(t,s,i){l.onSearchError.call(n.element,e,t,s,i)}))))},getDetails:function(e){var s=this,i=s.options;if(!s.canShowDetailsBox())return!1;if(null!=e&&("string"!=typeof e.more_products||"more_products"!==e.more_products)){var o,a,n=t("."+i.containerDetailsClass);s.fixHeight();var l={action:dgwt_wcas.action_result_details,post_id:null!=e.post_id?e.post_id:0,term_id:null!=e.term_id?e.term_id:0,taxonomy:null!=e.taxonomy?e.taxonomy:"",value:null!=e.value?e.value:""};if(o=l.action+l.post_id+l.term_id+l.taxonomy,null!=(a=s.cachedDetails[o]))n.html(a.details),s.fixHeight(),s.fixPositionCapture();else{if(n.html(""),s.preloader("show","details","",!0),-1!=t.inArray(o,s.detailsRequestsSent))return;s.detailsRequestsSent.push(o),t.ajax({data:l,type:"post",url:dgwt_wcas.ajax_details_endpoint,success:function(t){var e="string"==typeof t?jQuery.parseJSON(t):t;s.cachedDetails[o]=e,s.preloader("hide","details","",!0),null!=e.details?n.html(e.details):n.html(""),s.fixPositionCapture(),s.fixHeight()},error:function(t,e){s.preloader("hide","details","",!0),n.html(t),s.fixPositionCapture(),s.fixHeight()}})}}},isBadQuery:function(t){if(!this.options.preventBadQueries)return!1;for(var e=this.badQueries,s=e.length;s--;)if(0===t.indexOf(e[s]))return!0;return!1},hide:function(){var e=this.getSuggestionsContainer(),s=this.getDetailsContainer();t.isFunction(this.options.onHide)&&this.visible&&this.options.onHide.call(this.element,container),this.visible=!1,this.selectedIndex=-1,clearInterval(this.onChangeInterval),e.hide(),e.removeClass(this.classes.suggestionsContainerOrientTop),s.hide(),t("body").removeClass("dgwt-wcas-open"),t("body").removeClass("dgwt-wcas-block-scroll"),this.signalHint(null)},suggest:function(){if(this.suggestions.length){var e,s=this,i=s.options,o=i.groupBy,a=i.formatResult,n=s.getQuery(s.currentValue),l=s.classes.suggestion,r=s.classes.selected,c=s.getSuggestionsContainer(),d=s.getDetailsContainer(),u=t(s.noSuggestionsContainer),g=i.beforeRender,h="";i.triggerSelectOnValidInput&&s.isExactMatch(n)?s.select(0):(t.each(s.suggestions,function(t,s){var r="",c=!1;if(o&&(h+=function(t,s){var i=t.data[o];return e===i?"":'<div class="autocomplete-group"><strong>'+(e=i)+"</strong></div>"}(s,0)),void 0===s.post_id){var d=l,u="dgwt-wcas-st",g="",w="",p="";"product_cat"===s.taxonomy?(d+=" dgwt-wcas-suggestion-cat",g+='<span class="dgwt-wcas-st--tax">'+dgwt_wcas.t.category+"</span>",void 0!==s.breadcrumbs&&s.breadcrumbs&&(p=s.breadcrumbs+" > "+s.value,w+='<span class="dgwt-wcas-st-breadcrumbs">'+dgwt_wcas.copy_in_category+" "+s.breadcrumbs+"</span>")):"product_tag"===s.taxonomy?(d+=" dgwt-wcas-suggestion-tag",g+='<span class="dgwt-wcas-st--tax">'+dgwt_wcas.t.tag+"</span>"):void 0!==s.type&&"more_products"===s.type?(d+=" js-dgwt-wcas-suggestion-more dgwt-wcas-suggestion-more",u="dgwt-wcas-st-more",s.value=dgwt_wcas.copy_show_more+" ("+s.total+")"):(d+=" dgwt-wcas-suggestion-nores",s.value=dgwt_wcas.copy_no_result),p=p.length>0?' title="'+p+'"':"",h+='<div class="'+d+'" data-index="'+t+'">',h+="<span"+p+' class="'+u+'">'+g+a(s.value,n)+w+"</span>",h+="</div>"}else!0===i.showImage&&void 0!==s.thumb_html&&(c=!0),r+=void 0!==s.post_id?'data-post-id="'+s.post_id+'" ':"",r+=void 0!==s.taxonomy?'data-taxonomy="'+s.taxonomy+'" ':"",r+=void 0!==s.term_id?'data-term-id="'+s.term_id+'" ':"",h+='<div class="'+l+' dgwt-wcas-suggestion-product" data-index="'+t+'" '+r+">",c&&(h+='<span class="dgwt-wcas-si">'+s.thumb_html+"</span>"),h+=c?'<div class="dgwt-wcas-content-wrapp">':"",h+='<span class="dgwt-wcas-st">',h+='<span class="dgwt-wcas-st-title">'+a(s.value,n)+"</span>",!0===i.showSKU&&void 0!==s.sku&&s.sku.length>0&&(h+='<span class="dgwt-wcas-sku">('+dgwt_wcas.t.sku_label+" "+a(s.sku,n)+")</span>"),!0===i.showDescription&&void 0!==s.desc&&s.desc&&(h+='<span class="dgwt-wcas-sd">'+a(s.desc,n)+"</span>"),h+="</span>",!0===i.showPrice&&void 0!==s.price&&(h+='<span class="dgwt-wcas-sp">'+s.price+"</span>"),!0===i.showFeaturedBadge&&!0===s.on_sale&&(h+='<span class="dgwt-wcas-badge dgwt-wcas-badge-os">'+i.saleBadgeText+"</span>"),!0===i.showFeaturedBadge&&!0===s.featured&&(h+='<span class="dgwt-wcas-badge dgwt-wcas-badge-f">'+i.featuredBadgeText+"</span>"),h+=c?"</div>":"",h+="</div>"}),this.adjustContainerWidth(),u.detach(),c.html(h),t.isFunction(g)&&g.call(s.element,c,s.suggestions),s.fixPositionCapture(),c.show(),t("body").addClass("dgwt-wcas-open"),!0===i.showDetailsPanel&&(d.show(),s.fixHeight()),i.autoSelectFirst&&(s.selectedIndex=0,c.scrollTop(0),c.children("."+l).first().addClass(r)),s.visible=!0,"top"===s.options.orientation&&(s.getSuggestionsContainer().addClass(s.classes.suggestionsContainerOrientTop),t("body").addClass("dgwt-wcas-block-scroll"),setTimeout(function(){s.scrollDownSuggestions()},300)),s.findBestHint())}else this.options.showNoSuggestionNotice?this.noSuggestions():this.hide()},noSuggestions:function(){var e=this.getSuggestionsContainer(),s=t(this.noSuggestionsContainer);s.detach(),e.empty(),e.append(s),this.fixPositionCapture(),e.show(),this.visible=!0},adjustContainerWidth:function(){var e,s=this.options,i=t("body"),o=this.getFormWrapper(),a=this.getSuggestionsContainer(),n=this.getDetailsContainer(),l=this.getFormOffset(),r=getComputedStyle(o[0]).width;if(r=Math.round(parseFloat(r.replace("px",""))),"auto"===s.width&&(e=this.el.outerWidth(),a.css("width",e+"px")),!0===s.showDetailsPanel){if(o.width()>=550)return i.addClass("dgwt-wcas-full-width"),r%2==0?(a.css("width",Math.round(r/2)),n.css("width",Math.round(r/2))):(a.css("width",Math.floor(r/2)),n.css("width",Math.ceil(r/2))),i.removeClass("dgwt-wcas-details-left"),i.removeClass("dgwt-wcas-details-right"),void(!0===s.isRtl?n.css("left","0"):a.css("left",r/2+l.left+"px"));i.addClass("dgwt-wcas-details-right")}},findBestHint:function(){var e=this.el.val().toLowerCase(),s=null;e&&(t.each(this.suggestions,function(t,i){var o=0===i.value.toLowerCase().indexOf(e);return o&&(s=i),!o}),this.signalHint(s))},signalHint:function(e){var s="";e&&(s=this.currentValue+e.value.substr(this.currentValue.length)),this.hintValue!==s&&(this.hintValue=s,this.hint=e,(this.options.onHint||t.noop)(s))},preloader:function(e,s,i,o){var a,n,l="dgwt-wcas-preloader-wrapp",r=null==i?l:l+" "+i;if("form"===s?n=this.getFormWrapper().find(".dgwt-wcas-preloader"):"details"===s&&(n=t(this.detailsContainer)),1==dgwt_wcas.show_preloader&&0!=n.length)if(!0===o)if("hide"!==e){if("show"===e){var c=this.options.isRtl?"-rtl":"";a='<div class="'+r+'"><img class="dgwt-wcas-placeholder-preloader" src="'+dgwt_wcas.img_url+"placeholder"+c+'.png" /></div>',n.html(a)}}else t(l).remove();else"hide"===e?n.removeClass(i):n.addClass(i)},verifySuggestionsFormat:function(e){return e.length&&"string"==typeof e[0]?t.map(e,function(t){return{value:t,data:null}}):e},validateOrientation:function(e,s){return e=t.trim(e||"").toLowerCase(),-1===t.inArray(e,["auto","bottom","top"])&&(e=s),e},processResponse:function(t,e,s){var i=this.options;t.suggestions=this.verifySuggestionsFormat(t.suggestions),i.noCache||(this.cachedResponse[s]=t,i.preventBadQueries&&!t.suggestions.length&&this.badQueries.push(e)),e===this.getQuery(this.currentValue)&&("top"===this.options.orientation&&t.suggestions.reverse(),this.suggestions=t.suggestions,this.suggest())},activate:function(e){var s,i=this.classes.selected,o=this.getSuggestionsContainer(),a=o.find("."+this.classes.suggestion);return o.find("."+i).removeClass(i),this.selectedIndex=e,-1!==this.selectedIndex&&a.length>this.selectedIndex?(s=a.get(this.selectedIndex),t(s).addClass(i),s):null},selectHint:function(){var e=t.inArray(this.hint,this.suggestions);this.select(e)},select:function(t){this.hide(),this.onSelect(t),this.disableKillerFn()},moveUp:function(){if(-1!==this.selectedIndex)return 0===this.selectedIndex?(this.getSuggestionsContainer().children().first().removeClass(this.classes.selected),this.selectedIndex=-1,this.el.val(this.currentValue),void this.findBestHint()):void this.adjustScroll(this.selectedIndex-1)},moveDown:function(){this.selectedIndex!==this.suggestions.length-1&&this.adjustScroll(this.selectedIndex+1)},adjustScroll:function(e){var s=this.activate(e);if(s&&!this.canShowDetailsBox()){var i,o,a,n=this.getSuggestionsContainer(),l=t(s).outerHeight();i=s.offsetTop,a=(o=n.scrollTop())+this.options.maxHeight-l,i<o?n.scrollTop(i):i>a&&n.scrollTop(i-this.options.maxHeight+l),this.options.preserveInput||this.el.val(this.getValue(this.suggestions[e].value)),this.signalHint(null)}},onSelect:function(e){var s=this.options.onSelect,i=this.suggestions[e];void 0===i.type||"more_products"!==i.type?(this.currentValue=this.getValue(i.value),this.currentValue===this.el.val()||this.options.preserveInput||this.el.val(this.currentValue),i.url.length>0&&(window.location.href=i.url),this.signalHint(null),this.suggestions=[],this.selection=i,t.isFunction(s)&&s.call(this.element,i)):this.el.closest("form").trigger("submit")},onMouseOver:function(e){var s=this.options.onMouseOver,i=this.suggestions[e];this.selectedIndex!==e&&this.getDetails(i),t.isFunction(s)&&s.call(this.element,i)},onMouseLeave:function(e){var s=this.options.onMouseLeave,i=this.suggestions[e];t.isFunction(s)&&s.call(this.element,i)},getValue:function(t){var e,s,i=this.options.delimiter;return i?1===(s=(e=this.currentValue).split(i)).length?t:e.substr(0,e.length-s[s.length-1].length)+t:t},dispose:function(){this.el.off(".autocomplete").removeData("autocomplete"),this.disableKillerFn(),t(window).off("resize.autocomplete",this.fixPositionCapture),t("."+this.options.containerClass).remove(),t("."+this.options.containerDetailsClass).remove()},enableOverlayMobile:function(){var e=this;if("on"!==e.overlayMobileState){e.overlayMobileState="on";var s,i=e.getFormWrapper(),o=e.getSuggestionsContainer();t("body").addClass("dgwt-wcas-overlay-mobile-on"),'<div class="js-dgwt-wcas-overlay-mobile dgwt-wcas-overlay-mobile">','<div class="dgwt-wcas-om-bar js-dgwt-wcas-om-bar">','<span class="dgwt-wcas-om-return js-dgwt-wcas-om-return">','<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" color="#FFF">','<path fill="#FFF" d="M14 6.125H3.351l4.891-4.891L7 0 0 7l7 7 1.234-1.234L3.35 7.875H14z" fill-rule="evenodd"></path>',"</svg>","</span>","</div>","</div>",t("body").append('<div class="js-dgwt-wcas-overlay-mobile dgwt-wcas-overlay-mobile"><div class="dgwt-wcas-om-bar js-dgwt-wcas-om-bar"><span class="dgwt-wcas-om-return js-dgwt-wcas-om-return"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" color="#FFF"><path fill="#FFF" d="M14 6.125H3.351l4.891-4.891L7 0 0 7l7 7 1.234-1.234L3.35 7.875H14z" fill-rule="evenodd"></path></svg></span></div></div>'),(s=t(".js-dgwt-wcas-overlay-mobile")).css("zIndex",999999),i.after('<span class="js-dgwt-wcas-om-hook"></span>'),i.appendTo(".js-dgwt-wcas-om-bar"),o.appendTo(".js-dgwt-wcas-om-bar"),i.addClass("dgwt-wcas-search-wrapp-mobile"),i.hasClass("dgwt-wcas-has-submit")&&(i.addClass("dgwt-wcas-has-submit-off"),i.removeClass("dgwt-wcas-has-submit")),i.find("."+e.options.searchInputClass).focus(),t(document).on("click",".js-dgwt-wcas-om-return",function(t){e.disableOverlayMobile(s)})}},disableOverlayMobile:function(e){var s=this,i=s.getSuggestionsContainer();s.killSuggestions(),s.disableKillerFn();var o=t(".js-dgwt-wcas-om-bar").find("."+s.options.searchFormClass);o.hasClass("dgwt-wcas-has-submit-off")&&(o.removeClass("dgwt-wcas-has-submit-off"),o.addClass("dgwt-wcas-has-submit")),o.removeClass("dgwt-wcas-search-wrapp-mobile"),t("body").removeClass("dgwt-wcas-overlay-mobile-on"),i.appendTo("body"),i.removeAttr("body-scroll-lock-ignore"),t(".js-dgwt-wcas-om-hook").after(o),t(".js-dgwt-wcas-overlay-mobile").remove(),t(".js-dgwt-wcas-om-hook").remove(),setTimeout(function(){o.find("."+s.options.searchInputClass).val("")},150),s.overlayMobileState="off"}},t.fn.dgwtWcasAutocomplete=function(e,s){return arguments.length?this.each(function(){var i=t(this),o=i.data("autocomplete");"string"==typeof e?o&&"function"==typeof o[e]&&o[e](s):(o&&o.dispose&&o.dispose(),o=new r(this,e),i.data("autocomplete",o))}):this.first().data("autocomplete")},t(window).on("load",function(){t(".dgwt-wcas-search-submit").length>0&&t(".dgwt-wcas-search-submit").each(function(){var e=t(this).closest(".dgwt-wcas-search-wrapp").find(".dgwt-wcas-preloader");1==dgwt_wcas.is_rtl?e.css("left",6+t(this).outerWidth()+"px"):e.css("right",t(this).outerWidth()+"px")})}),t(document).ready(function(){var e=1==dgwt_wcas.show_details_box;(jQuery(window).width()<992||"ontouchend"in document)&&(e=!1),t(".dgwt-wcas-search-input").dgwtWcasAutocomplete({minChars:dgwt_wcas.min_chars,width:dgwt_wcas.sug_width,autoSelectFirst:!1,triggerSelectOnValidInput:!1,serviceUrl:dgwt_wcas.ajax_search_endpoint,paramName:"s",showDetailsPanel:e,showImage:1==dgwt_wcas.show_images,showPrice:1==dgwt_wcas.show_price,showDescription:1==dgwt_wcas.show_desc,showSKU:1==dgwt_wcas.show_sku,showSaleBadge:1==dgwt_wcas.show_sale_badge,showFeaturedBadge:1==dgwt_wcas.show_featured_badge,saleBadgeText:dgwt_wcas.t.sale_badge,featuredBadgeText:dgwt_wcas.t.featured_badge,isRtl:1==dgwt_wcas.is_rtl,isPremium:1==dgwt_wcas.is_premium,overlayMobile:1==dgwt_wcas.overlay_mobile})}),t(window).on("load",function(){var e=t(".dgwt-wcas-search-wrapp[data-wcas-context]"),s=[];e.length>0&&e.each(function(){var e=t(this).attr("data-wcas-context");if(-1==t.inArray(e,s))s.push(e);else{var i=Math.random().toString(36).substring(2,6),o=t('.dgwt-wcas-suggestions-wrapp[data-wcas-context="'+e+'"]'),a=t('.dgwt-wcas-details-wrapp[data-wcas-context="'+e+'"]');t(this).attr("data-wcas-context",i),o.length>0&&t(o[o.length-1]).attr("data-wcas-context",i),a.length>0&&t(a[a.length-1]).attr("data-wcas-context",i)}})})});
|
composer/composer.json
CHANGED
@@ -6,6 +6,9 @@
|
|
6 |
"DgoraWcas\\": "../includes/"
|
7 |
}
|
8 |
},
|
|
|
|
|
|
|
9 |
"config": {
|
10 |
"vendor-dir": "../vendor"
|
11 |
}
|
6 |
"DgoraWcas\\": "../includes/"
|
7 |
}
|
8 |
},
|
9 |
+
"require": {
|
10 |
+
"mobiledetect/mobiledetectlib": "2.8.33"
|
11 |
+
},
|
12 |
"config": {
|
13 |
"vendor-dir": "../vendor"
|
14 |
}
|
composer/composer.lock
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_readme": [
|
3 |
+
"This file locks the dependencies of your project to a known state",
|
4 |
+
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
5 |
+
"This file is @generated automatically"
|
6 |
+
],
|
7 |
+
"content-hash": "125c13571ad7931ca3bc7be6a26aaf76",
|
8 |
+
"packages": [
|
9 |
+
{
|
10 |
+
"name": "mobiledetect/mobiledetectlib",
|
11 |
+
"version": "2.8.33",
|
12 |
+
"source": {
|
13 |
+
"type": "git",
|
14 |
+
"url": "https://github.com/serbanghita/Mobile-Detect.git",
|
15 |
+
"reference": "cd385290f9a0d609d2eddd165a1e44ec1bf12102"
|
16 |
+
},
|
17 |
+
"dist": {
|
18 |
+
"type": "zip",
|
19 |
+
"url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/cd385290f9a0d609d2eddd165a1e44ec1bf12102",
|
20 |
+
"reference": "cd385290f9a0d609d2eddd165a1e44ec1bf12102",
|
21 |
+
"shasum": ""
|
22 |
+
},
|
23 |
+
"require": {
|
24 |
+
"php": ">=5.0.0"
|
25 |
+
},
|
26 |
+
"require-dev": {
|
27 |
+
"phpunit/phpunit": "~4.8.35||~5.7"
|
28 |
+
},
|
29 |
+
"type": "library",
|
30 |
+
"autoload": {
|
31 |
+
"classmap": [
|
32 |
+
"Mobile_Detect.php"
|
33 |
+
],
|
34 |
+
"psr-0": {
|
35 |
+
"Detection": "namespaced/"
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"notification-url": "https://packagist.org/downloads/",
|
39 |
+
"license": [
|
40 |
+
"MIT"
|
41 |
+
],
|
42 |
+
"authors": [
|
43 |
+
{
|
44 |
+
"name": "Serban Ghita",
|
45 |
+
"email": "serbanghita@gmail.com",
|
46 |
+
"homepage": "http://mobiledetect.net",
|
47 |
+
"role": "Developer"
|
48 |
+
}
|
49 |
+
],
|
50 |
+
"description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.",
|
51 |
+
"homepage": "https://github.com/serbanghita/Mobile-Detect",
|
52 |
+
"keywords": [
|
53 |
+
"detect mobile devices",
|
54 |
+
"mobile",
|
55 |
+
"mobile detect",
|
56 |
+
"mobile detector",
|
57 |
+
"php mobile detect"
|
58 |
+
],
|
59 |
+
"time": "2018-09-01T15:05:15+00:00"
|
60 |
+
}
|
61 |
+
],
|
62 |
+
"packages-dev": [],
|
63 |
+
"aliases": [],
|
64 |
+
"minimum-stability": "stable",
|
65 |
+
"stability-flags": [],
|
66 |
+
"prefer-stable": false,
|
67 |
+
"prefer-lowest": false,
|
68 |
+
"platform": [],
|
69 |
+
"platform-dev": []
|
70 |
+
}
|
includes/Admin/Install.php
CHANGED
@@ -2,60 +2,83 @@
|
|
2 |
|
3 |
namespace DgoraWcas\Admin;
|
4 |
|
5 |
-
use
|
6 |
-
use
|
|
|
|
|
|
|
|
|
7 |
// Exit if accessed directly
|
8 |
-
if ( !defined(
|
9 |
exit;
|
10 |
}
|
|
|
11 |
class Install
|
12 |
{
|
|
|
13 |
/**
|
14 |
* Hook in tabs.
|
15 |
*/
|
16 |
public static function maybe_install()
|
17 |
{
|
18 |
-
|
|
|
19 |
}
|
20 |
-
|
21 |
/**
|
22 |
* Install
|
23 |
*/
|
24 |
public static function install()
|
25 |
{
|
26 |
-
|
27 |
-
|
|
|
28 |
}
|
|
|
29 |
self::save_activation_date();
|
|
|
30 |
self::create_options();
|
|
|
31 |
self::backwardCompatibility();
|
|
|
32 |
// Update plugin version
|
33 |
-
update_option(
|
|
|
34 |
}
|
35 |
-
|
36 |
/**
|
37 |
* Default options
|
38 |
*/
|
39 |
private static function create_options()
|
40 |
{
|
41 |
-
|
|
|
|
|
42 |
$sections = DGWT_WCAS()->settings->settings_fields();
|
|
|
43 |
$settings = array();
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
50 |
}
|
51 |
}
|
52 |
}
|
53 |
}
|
54 |
}
|
55 |
-
|
56 |
-
|
|
|
|
|
57 |
}
|
58 |
-
|
59 |
/**
|
60 |
* Save activation timestamp
|
61 |
* Used to display notice, asking for a feedback
|
@@ -64,12 +87,15 @@ class Install
|
|
64 |
*/
|
65 |
private static function save_activation_date()
|
66 |
{
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
70 |
}
|
|
|
71 |
}
|
72 |
-
|
73 |
/**
|
74 |
* Set options for backward compatibility
|
75 |
*
|
@@ -77,50 +103,56 @@ class Install
|
|
77 |
*/
|
78 |
private static function backwardCompatibility()
|
79 |
{
|
80 |
-
|
|
|
|
|
81 |
// New install? stop it
|
82 |
-
if (
|
83 |
return;
|
84 |
}
|
85 |
-
|
86 |
-
$
|
87 |
-
|
|
|
|
|
88 |
return;
|
89 |
}
|
|
|
90 |
// If backward compatibility version is not set, last plugin version should be last stable version.
|
91 |
-
|
92 |
-
if ( empty($bcVersion) ) {
|
93 |
$lastStableVersion = $lastVersion;
|
94 |
} else {
|
95 |
$lastStableVersion = $bcVersion;
|
96 |
}
|
97 |
-
|
98 |
// Current version is larger that 1.1.7? Update options
|
99 |
-
|
100 |
-
|
101 |
-
if (
|
102 |
-
update_option(
|
103 |
}
|
104 |
-
|
105 |
-
|
|
|
106 |
}
|
107 |
}
|
108 |
-
|
109 |
// For the next backward compatibility
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
|
|
115 |
}
|
116 |
-
|
117 |
/**
|
118 |
* Check version
|
119 |
*/
|
120 |
public static function check_version()
|
121 |
{
|
122 |
-
if ( !defined(
|
123 |
-
if (
|
124 |
self::install();
|
125 |
}
|
126 |
}
|
2 |
|
3 |
namespace DgoraWcas\Admin;
|
4 |
|
5 |
+
use DgoraWcas\Engines\TNTSearch\Indexer\Readable\Database as ReadableIndex;
|
6 |
+
use DgoraWcas\Engines\TNTSearch\Indexer\Taxonomy\Database as TaxonomyIndex;
|
7 |
+
use DgoraWcas\Engines\TNTSearchMySQL\Indexer\Readable\Database as ReadableIndexMySql;
|
8 |
+
use DgoraWcas\Engines\TNTSearchMySQL\Indexer\Taxonomy\Database as TaxonomyIndexMySql;
|
9 |
+
use DgoraWcas\Engines\TNTSearchMySQL\Indexer\Searchable\Database as SearchableIndexMySql;
|
10 |
+
|
11 |
// Exit if accessed directly
|
12 |
+
if ( ! defined('ABSPATH')) {
|
13 |
exit;
|
14 |
}
|
15 |
+
|
16 |
class Install
|
17 |
{
|
18 |
+
|
19 |
/**
|
20 |
* Hook in tabs.
|
21 |
*/
|
22 |
public static function maybe_install()
|
23 |
{
|
24 |
+
|
25 |
+
add_action('admin_init', array(__CLASS__, 'check_version'), 5);
|
26 |
}
|
27 |
+
|
28 |
/**
|
29 |
* Install
|
30 |
*/
|
31 |
public static function install()
|
32 |
{
|
33 |
+
|
34 |
+
if ( ! defined('DGWT_WCAS_INSTALLING')) {
|
35 |
+
define('DGWT_WCAS_INSTALLING', true);
|
36 |
}
|
37 |
+
|
38 |
self::save_activation_date();
|
39 |
+
|
40 |
self::create_options();
|
41 |
+
|
42 |
self::backwardCompatibility();
|
43 |
+
|
44 |
// Update plugin version
|
45 |
+
update_option('dgwt_wcas_version', DGWT_WCAS_VERSION);
|
46 |
+
|
47 |
}
|
48 |
+
|
49 |
/**
|
50 |
* Default options
|
51 |
*/
|
52 |
private static function create_options()
|
53 |
{
|
54 |
+
|
55 |
+
global $dgwt_wcas_settings;
|
56 |
+
|
57 |
$sections = DGWT_WCAS()->settings->settings_fields();
|
58 |
+
|
59 |
$settings = array();
|
60 |
+
|
61 |
+
if (is_array($sections) && ! empty($sections)) {
|
62 |
+
foreach ($sections as $options) {
|
63 |
+
|
64 |
+
if (is_array($options) && ! empty($options)) {
|
65 |
+
|
66 |
+
foreach ($options as $option) {
|
67 |
+
|
68 |
+
if (isset($option['name']) && ! isset($dgwt_wcas_settings[$option['name']])) {
|
69 |
+
|
70 |
+
$settings[$option['name']] = isset($option['default']) ? $option['default'] : '';
|
71 |
}
|
72 |
}
|
73 |
}
|
74 |
}
|
75 |
}
|
76 |
+
|
77 |
+
$update_options = array_merge($settings, $dgwt_wcas_settings);
|
78 |
+
|
79 |
+
update_option(DGWT_WCAS_SETTINGS_KEY, $update_options);
|
80 |
}
|
81 |
+
|
82 |
/**
|
83 |
* Save activation timestamp
|
84 |
* Used to display notice, asking for a feedback
|
87 |
*/
|
88 |
private static function save_activation_date()
|
89 |
{
|
90 |
+
|
91 |
+
$date = get_option('dgwt_wcas_activation_date');
|
92 |
+
|
93 |
+
if (empty($date)) {
|
94 |
+
update_option('dgwt_wcas_activation_date', time());
|
95 |
}
|
96 |
+
|
97 |
}
|
98 |
+
|
99 |
/**
|
100 |
* Set options for backward compatibility
|
101 |
*
|
103 |
*/
|
104 |
private static function backwardCompatibility()
|
105 |
{
|
106 |
+
|
107 |
+
$lastVersion = get_option('dgwt_wcas_version');
|
108 |
+
|
109 |
// New install? stop it
|
110 |
+
if (empty($lastVersion)) {
|
111 |
return;
|
112 |
}
|
113 |
+
|
114 |
+
$bcVersion = get_option('dgwt_wcas_backward_compatibility_version');
|
115 |
+
$backwardCompatibility = get_option('dgwt_wcas_backward_compatibility');
|
116 |
+
|
117 |
+
if (DGWT_WCAS_VERSION === $bcVersion) {
|
118 |
return;
|
119 |
}
|
120 |
+
|
121 |
// If backward compatibility version is not set, last plugin version should be last stable version.
|
122 |
+
if (empty($bcVersion)) {
|
|
|
123 |
$lastStableVersion = $lastVersion;
|
124 |
} else {
|
125 |
$lastStableVersion = $bcVersion;
|
126 |
}
|
127 |
+
|
128 |
// Current version is larger that 1.1.7? Update options
|
129 |
+
if (version_compare($lastStableVersion, '1.1.7', '<=')) {
|
130 |
+
|
131 |
+
if (empty($bcVersion)) {
|
132 |
+
update_option('dgwt_wcas_backward_compatibility_version', '1.1.7');
|
133 |
}
|
134 |
+
|
135 |
+
if (empty($backwardCompatibility)) {
|
136 |
+
update_option('dgwt_wcas_backward_compatibility', 'on');
|
137 |
}
|
138 |
}
|
139 |
+
|
140 |
// For the next backward compatibility
|
141 |
+
// if(
|
142 |
+
// version_compare($lastStableVersion, 'x.x.x', '<=')
|
143 |
+
// && version_compare($lastStableVersion, 'x.x.x', '>')
|
144 |
+
// ) {
|
145 |
+
// }
|
146 |
+
|
147 |
}
|
148 |
+
|
149 |
/**
|
150 |
* Check version
|
151 |
*/
|
152 |
public static function check_version()
|
153 |
{
|
154 |
+
if ( ! defined('IFRAME_REQUEST')) {
|
155 |
+
if (get_option('dgwt_wcas_version') != DGWT_WCAS_VERSION) {
|
156 |
self::install();
|
157 |
}
|
158 |
}
|
includes/Admin/Requirements.php
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
namespace DgoraWcas\Admin;
|
4 |
|
5 |
use DgoraWcas\Engines\TNTSearch\Indexer\Buildier ;
|
|
|
6 |
class Requirements
|
7 |
{
|
8 |
private $notices = array() ;
|
@@ -16,14 +17,14 @@ class Requirements
|
|
16 |
*
|
17 |
* @return void
|
18 |
*/
|
19 |
-
|
20 |
{
|
21 |
-
$
|
22 |
$plugins = $this->getIncompatiblePlugins();
|
23 |
-
if ( $this->checkPHPVersion() && $this->checkPHPExtensions() && $this->canCreateIndexFile() && empty($plugins) && $this->checkMultisite() ) {
|
24 |
-
$
|
25 |
}
|
26 |
-
return $
|
27 |
}
|
28 |
|
29 |
/**
|
@@ -48,22 +49,29 @@ class Requirements
|
|
48 |
private function checkPHPExtensions()
|
49 |
{
|
50 |
$hasExtensions = true;
|
|
|
51 |
|
52 |
if ( !extension_loaded( 'mbstring' ) ) {
|
53 |
$hasExtensions = false;
|
54 |
-
$this->notices = sprintf( __( 'Required PHP extension: %s', 'ajax-search-for-woocommerce' ), 'mbstring' );
|
55 |
}
|
56 |
|
57 |
|
58 |
-
if ( !extension_loaded( 'sqlite3' ) ) {
|
59 |
$hasExtensions = false;
|
60 |
-
$this->notices = sprintf( __( 'Required PHP extension: %s', 'ajax-search-for-woocommerce' ), 'sqlite3' );
|
61 |
}
|
62 |
|
63 |
|
64 |
-
if ( !extension_loaded( 'pdo_sqlite' ) ) {
|
65 |
$hasExtensions = false;
|
66 |
-
$this->notices = sprintf( __( 'Required PHP extension: %s', 'ajax-search-for-woocommerce' ), 'pdo_sqlite' );
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
}
|
68 |
|
69 |
return $hasExtensions;
|
@@ -77,6 +85,9 @@ class Requirements
|
|
77 |
*/
|
78 |
private function canCreateIndexFile()
|
79 |
{
|
|
|
|
|
|
|
80 |
$canCreateIndex = false;
|
81 |
$upload_dir = wp_upload_dir();
|
82 |
|
@@ -115,24 +126,31 @@ class Requirements
|
|
115 |
*/
|
116 |
private function getIncompatiblePlugins()
|
117 |
{
|
118 |
-
$plugins = array(
|
|
|
|
|
|
|
119 |
// WPML
|
120 |
if ( defined( 'ICL_SITEPRESS_VERSION' ) ) {
|
121 |
-
$plugins[] = 'WPML';
|
122 |
}
|
123 |
// GTranslate
|
124 |
if ( class_exists( 'GTranslate' ) ) {
|
125 |
-
$plugins[] = 'GTranslate';
|
126 |
}
|
127 |
// Polylang
|
128 |
if ( defined( 'POLYLANG_VERSION' ) ) {
|
129 |
-
$plugins[] = 'Polylang';
|
130 |
}
|
131 |
-
if ( !empty($plugins) ) {
|
132 |
-
foreach ( $plugins as $plugin ) {
|
133 |
$this->notices[] = sprintf( __( 'You use the %s plugin. The Ajax Search for WooCommerce PRO does not support multilingual yet.', 'ajax-search-for-woocommerce' ), $plugin );
|
134 |
}
|
135 |
}
|
|
|
|
|
|
|
|
|
136 |
return $plugins;
|
137 |
}
|
138 |
|
3 |
namespace DgoraWcas\Admin;
|
4 |
|
5 |
use DgoraWcas\Engines\TNTSearch\Indexer\Buildier ;
|
6 |
+
use DgoraWcas\Engines\TNTSearchMySQL\Indexer\Buildier as BuildierMySQL ;
|
7 |
class Requirements
|
8 |
{
|
9 |
private $notices = array() ;
|
17 |
*
|
18 |
* @return void
|
19 |
*/
|
20 |
+
public function checkRequirements()
|
21 |
{
|
22 |
+
$allow = false;
|
23 |
$plugins = $this->getIncompatiblePlugins();
|
24 |
+
if ( $this->checkPHPVersion() && $this->checkPHPExtensions() && $this->canCreateIndexFile() && empty($plugins['langs']) && empty($plugins['other']) && $this->checkMultisite() ) {
|
25 |
+
$allow = true;
|
26 |
}
|
27 |
+
return $allow;
|
28 |
}
|
29 |
|
30 |
/**
|
49 |
private function checkPHPExtensions()
|
50 |
{
|
51 |
$hasExtensions = true;
|
52 |
+
$dbProvider = DGWT_WCAS()->getDatabaseProvider();
|
53 |
|
54 |
if ( !extension_loaded( 'mbstring' ) ) {
|
55 |
$hasExtensions = false;
|
56 |
+
$this->notices[] = sprintf( __( 'Required PHP extension: %s', 'ajax-search-for-woocommerce' ), 'mbstring' );
|
57 |
}
|
58 |
|
59 |
|
60 |
+
if ( $dbProvider === 'sqlite' && !extension_loaded( 'sqlite3' ) ) {
|
61 |
$hasExtensions = false;
|
62 |
+
$this->notices[] = sprintf( __( 'Required PHP extension: %s', 'ajax-search-for-woocommerce' ), 'sqlite3' );
|
63 |
}
|
64 |
|
65 |
|
66 |
+
if ( $dbProvider === 'sqlite' && !extension_loaded( 'pdo_sqlite' ) ) {
|
67 |
$hasExtensions = false;
|
68 |
+
$this->notices[] = sprintf( __( 'Required PHP extension: %s', 'ajax-search-for-woocommerce' ), 'pdo_sqlite' );
|
69 |
+
}
|
70 |
+
|
71 |
+
|
72 |
+
if ( $dbProvider === 'mysql' && !extension_loaded( 'pdo_mysql' ) ) {
|
73 |
+
$hasExtensions = false;
|
74 |
+
$this->notices[] = sprintf( __( 'Required PHP extension: %s', 'ajax-search-for-woocommerce' ), 'pdo_mysql' );
|
75 |
}
|
76 |
|
77 |
return $hasExtensions;
|
85 |
*/
|
86 |
private function canCreateIndexFile()
|
87 |
{
|
88 |
+
if ( DGWT_WCAS()->getDatabaseProvider() !== 'sqlite' ) {
|
89 |
+
return true;
|
90 |
+
}
|
91 |
$canCreateIndex = false;
|
92 |
$upload_dir = wp_upload_dir();
|
93 |
|
126 |
*/
|
127 |
private function getIncompatiblePlugins()
|
128 |
{
|
129 |
+
$plugins = array(
|
130 |
+
'langs' => array(),
|
131 |
+
'other' => array(),
|
132 |
+
);
|
133 |
// WPML
|
134 |
if ( defined( 'ICL_SITEPRESS_VERSION' ) ) {
|
135 |
+
$plugins['langs'][] = 'WPML';
|
136 |
}
|
137 |
// GTranslate
|
138 |
if ( class_exists( 'GTranslate' ) ) {
|
139 |
+
$plugins['langs'][] = 'GTranslate';
|
140 |
}
|
141 |
// Polylang
|
142 |
if ( defined( 'POLYLANG_VERSION' ) ) {
|
143 |
+
$plugins['langs'][] = 'Polylang';
|
144 |
}
|
145 |
+
if ( !empty($plugins['langs']) ) {
|
146 |
+
foreach ( $plugins['langs'] as $plugin ) {
|
147 |
$this->notices[] = sprintf( __( 'You use the %s plugin. The Ajax Search for WooCommerce PRO does not support multilingual yet.', 'ajax-search-for-woocommerce' ), $plugin );
|
148 |
}
|
149 |
}
|
150 |
+
// WooCommerce Product Sort and Display
|
151 |
+
if ( defined( 'WC_PSAD_VERSION' ) ) {
|
152 |
+
$plugins['other'][] = 'WooCommerce Product Sort and Display';
|
153 |
+
}
|
154 |
return $plugins;
|
155 |
}
|
156 |
|
includes/Conflicts/Solver.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace DgoraWcas\Conflicts;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Solver
|
7 |
+
*
|
8 |
+
* Solves conflicts with other plugins
|
9 |
+
*/
|
10 |
+
class Solver
|
11 |
+
{
|
12 |
+
|
13 |
+
public function __construct()
|
14 |
+
{
|
15 |
+
$this->solveSearchWPWooCommerceIntegration();
|
16 |
+
|
17 |
+
$this->solveDiviWithBuilderWC();
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Solves conflict with SearchWP WooCommerce Integration by SearchWP, LLC
|
22 |
+
* Tested version: plugin SearchWP WooCommerce Integration by SearchWP v1.2.1
|
23 |
+
*
|
24 |
+
* Reason: Empty search page (no results). The plugin removes query_vars['s']
|
25 |
+
*
|
26 |
+
* @return void
|
27 |
+
*/
|
28 |
+
public function solveSearchWPWooCommerceIntegration()
|
29 |
+
{
|
30 |
+
if (isset($_GET['dgwt_wcas'])) {
|
31 |
+
add_filter('searchwp_woocommerce_forced', '__return_false', PHP_INT_MAX);
|
32 |
+
add_filter('searchwp_short_circuit', '__return_true', PHP_INT_MAX);
|
33 |
+
}
|
34 |
+
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Solves conflict with the DIVI builder
|
39 |
+
* Tested version: theme DIVI v3.19.18
|
40 |
+
*
|
41 |
+
* Reason: WP Query for search results was overwritten ih the hook pre_get_posts
|
42 |
+
*/
|
43 |
+
public function solveDiviWithBuilderWC()
|
44 |
+
{
|
45 |
+
add_action('init', function () {
|
46 |
+
if (isset($_GET['dgwt_wcas'])) {
|
47 |
+
remove_action('pre_get_posts', 'et_builder_wc_pre_get_posts', 10);
|
48 |
+
}
|
49 |
+
});
|
50 |
+
}
|
51 |
+
|
52 |
+
}
|
includes/Personalization.php
CHANGED
@@ -87,11 +87,13 @@ class Personalization {
|
|
87 |
<?php echo!empty( $bg_submit_color ) ? 'border-right-color: ' . sanitize_text_field( $bg_submit_color ) . ';' : ''; ?>
|
88 |
}
|
89 |
|
90 |
-
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit
|
|
|
91 |
<?php echo!empty( $bg_submit_color ) ? 'background-color: ' . sanitize_text_field( $bg_submit_color ) . ';' : ''; ?><?php echo!empty( $text_submit_color ) ? 'color: ' . sanitize_text_field( $text_submit_color ) . ';' : ''; ?>
|
92 |
}
|
93 |
|
94 |
-
.dgwt-wcas-search-wrapp .dgwt-wcas-ico-magnifier
|
|
|
95 |
<?php echo!empty( $text_submit_color ) ? 'fill: ' . sanitize_text_field( $text_submit_color ) . ';' : ''; ?>
|
96 |
}
|
97 |
|
87 |
<?php echo!empty( $bg_submit_color ) ? 'border-right-color: ' . sanitize_text_field( $bg_submit_color ) . ';' : ''; ?>
|
88 |
}
|
89 |
|
90 |
+
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit,
|
91 |
+
.dgwt-wcas-om-bar .dgwt-wcas-om-return {
|
92 |
<?php echo!empty( $bg_submit_color ) ? 'background-color: ' . sanitize_text_field( $bg_submit_color ) . ';' : ''; ?><?php echo!empty( $text_submit_color ) ? 'color: ' . sanitize_text_field( $text_submit_color ) . ';' : ''; ?>
|
93 |
}
|
94 |
|
95 |
+
.dgwt-wcas-search-wrapp .dgwt-wcas-ico-magnifier,
|
96 |
+
.dgwt-wcas-om-bar .dgwt-wcas-om-return svg path{
|
97 |
<?php echo!empty( $text_submit_color ) ? 'fill: ' . sanitize_text_field( $text_submit_color ) . ';' : ''; ?>
|
98 |
}
|
99 |
|
includes/Scripts.php
CHANGED
@@ -57,6 +57,7 @@ class Scripts
|
|
57 |
'copy_in_category' => _x( 'in', 'in categories fe. in Books > Crime stories', 'ajax-search-for-woocommerce' ),
|
58 |
'img_url' => DGWT_WCAS_URL . 'assets/img/',
|
59 |
'is_premium' => ( dgoraAsfwFs()->is_premium() ? true : false ),
|
|
|
60 |
);
|
61 |
// Min characters
|
62 |
$min_chars = DGWT_WCAS()->settings->get_opt( 'min_chars' );
|
57 |
'copy_in_category' => _x( 'in', 'in categories fe. in Books > Crime stories', 'ajax-search-for-woocommerce' ),
|
58 |
'img_url' => DGWT_WCAS_URL . 'assets/img/',
|
59 |
'is_premium' => ( dgoraAsfwFs()->is_premium() ? true : false ),
|
60 |
+
'overlay_mobile' => ( DGWT_WCAS()->settings->get_opt( 'enable_mobile_overlay' ) === 'on' ? true : false ),
|
61 |
);
|
62 |
// Min characters
|
63 |
$min_chars = DGWT_WCAS()->settings->get_opt( 'min_chars' );
|
includes/Settings.php
CHANGED
@@ -6,6 +6,7 @@ use DgoraWcas\Admin\Promo\Upgrade;
|
|
6 |
use DgoraWcas\Admin\SettingsAPI;
|
7 |
use DgoraWcas\BackwardCompatibility;
|
8 |
use DgoraWcas\Engines\TNTSearch\Indexer\Buildier;
|
|
|
9 |
|
10 |
// Exit if accessed directly
|
11 |
if ( ! defined( 'ABSPATH' ) ) {
|
@@ -254,6 +255,19 @@ class Settings {
|
|
254 |
// 'type' => 'checkbox',
|
255 |
// 'default' => 'off',
|
256 |
// ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
array(
|
258 |
'name' => 'preloader',
|
259 |
'label' => __( 'Preloader', 'ajax-search-for-woocommerce' ),
|
@@ -466,7 +480,7 @@ class Settings {
|
|
466 |
'label' => __( 'Speed up search!', 'ajax-search-for-woocommerce' ),
|
467 |
'type' => 'head',
|
468 |
'class' => 'dgwt-wcas-sgs-header'
|
469 |
-
)
|
470 |
) )
|
471 |
);
|
472 |
|
@@ -495,6 +509,23 @@ class Settings {
|
|
495 |
),
|
496 |
'default' => 'normal',
|
497 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
498 |
}else{
|
499 |
$settings_fields['dgwt_wcas_performance'][6] = array(
|
500 |
'name' => 'fuzziness_enabled_demo',
|
@@ -520,7 +551,7 @@ class Settings {
|
|
520 |
'name' => 'search_engine_build',
|
521 |
'label' => __( 'Index status', 'ajax-search-for-woocommerce' ),
|
522 |
'type' => 'desc',
|
523 |
-
'desc' => Buildier::renderIndexingStatus(),
|
524 |
'class' => 'dgwt-wcas-premium-only wcas-opt-tntsearch'
|
525 |
);
|
526 |
}else{
|
@@ -554,10 +585,10 @@ class Settings {
|
|
554 |
|
555 |
/*
|
556 |
* Option value
|
557 |
-
*
|
558 |
* @param string $option_key
|
559 |
* @param string $default default value if option not exist
|
560 |
-
*
|
561 |
* @return string
|
562 |
*/
|
563 |
|
@@ -569,19 +600,26 @@ class Settings {
|
|
569 |
|
570 |
$settings = get_option( $this->setting_slug );
|
571 |
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
585 |
}
|
586 |
|
587 |
if ( empty( $value ) && ! empty( $default ) ) {
|
6 |
use DgoraWcas\Admin\SettingsAPI;
|
7 |
use DgoraWcas\BackwardCompatibility;
|
8 |
use DgoraWcas\Engines\TNTSearch\Indexer\Buildier;
|
9 |
+
use DgoraWcas\Engines\TNTSearchMySQL\Indexer\Buildier as BuildierMysSql;
|
10 |
|
11 |
// Exit if accessed directly
|
12 |
if ( ! defined( 'ABSPATH' ) ) {
|
255 |
// 'type' => 'checkbox',
|
256 |
// 'default' => 'off',
|
257 |
// ),
|
258 |
+
array(
|
259 |
+
'name' => 'mobile',
|
260 |
+
'label' => __( 'Mobile', 'ajax-search-for-woocommerce' ),
|
261 |
+
'type' => 'head',
|
262 |
+
'class' => 'dgwt-wcas-sgs-header'
|
263 |
+
),
|
264 |
+
array(
|
265 |
+
'name' => 'enable_mobile_overlay',
|
266 |
+
'label' => __( 'Overlay search (beta)', 'ajax-search-for-woocommerce' ),
|
267 |
+
'desc' => __( 'Enhances user experience on mobile', 'ajax-search-for-woocommerce' ),
|
268 |
+
'type' => 'checkbox',
|
269 |
+
'default' => function_exists('storefront_product_search') ? 'on' : 'off',
|
270 |
+
),
|
271 |
array(
|
272 |
'name' => 'preloader',
|
273 |
'label' => __( 'Preloader', 'ajax-search-for-woocommerce' ),
|
480 |
'label' => __( 'Speed up search!', 'ajax-search-for-woocommerce' ),
|
481 |
'type' => 'head',
|
482 |
'class' => 'dgwt-wcas-sgs-header'
|
483 |
+
),
|
484 |
) )
|
485 |
);
|
486 |
|
509 |
),
|
510 |
'default' => 'normal',
|
511 |
);
|
512 |
+
|
513 |
+
// @TODO Remove the SQLIte support in the future
|
514 |
+
$hideDBOptClass = !empty($_GET['dgwt_wcas_show_db']) ? '' : ' dgwt-wcas-hidden';
|
515 |
+
|
516 |
+
$settings_fields['dgwt_wcas_performance'][12] = array(
|
517 |
+
'name' => 'search_engine_provider',
|
518 |
+
'label' => __( 'Select the database', 'ajax-search-for-woocommerce' ),
|
519 |
+
'class' => 'dgwt-wcas-premium-only' . $hideDBOptClass,
|
520 |
+
'type' => 'select',
|
521 |
+
'options' => array(
|
522 |
+
'sqlite' => __( 'SQLite', 'ajax-search-for-woocommerce' ),
|
523 |
+
'mysql' => __( 'MySQL', 'ajax-search-for-woocommerce' ),
|
524 |
+
),
|
525 |
+
'default' => 'mysql',
|
526 |
+
);
|
527 |
+
|
528 |
+
|
529 |
}else{
|
530 |
$settings_fields['dgwt_wcas_performance'][6] = array(
|
531 |
'name' => 'fuzziness_enabled_demo',
|
551 |
'name' => 'search_engine_build',
|
552 |
'label' => __( 'Index status', 'ajax-search-for-woocommerce' ),
|
553 |
'type' => 'desc',
|
554 |
+
'desc' => DGWT_WCAS()->getDatabaseProvider() === 'sqlite' ? Buildier::renderIndexingStatus() : BuildierMysSql::renderIndexingStatus(),
|
555 |
'class' => 'dgwt-wcas-premium-only wcas-opt-tntsearch'
|
556 |
);
|
557 |
}else{
|
585 |
|
586 |
/*
|
587 |
* Option value
|
588 |
+
*
|
589 |
* @param string $option_key
|
590 |
* @param string $default default value if option not exist
|
591 |
+
*
|
592 |
* @return string
|
593 |
*/
|
594 |
|
600 |
|
601 |
$settings = get_option( $this->setting_slug );
|
602 |
|
603 |
+
if ( !empty($settings) && is_array( $settings ) ) {
|
604 |
+
|
605 |
+
if(array_key_exists( $option_key, $settings )){
|
606 |
+
$value = $settings[ $option_key ];
|
607 |
+
}else{
|
608 |
+
|
609 |
+
// Catch default
|
610 |
+
if(empty( $default )) {
|
611 |
+
foreach ($this->settings_fields() as $section) {
|
612 |
+
foreach ($section as $field) {
|
613 |
+
if ($field['name'] === $option_key && isset($field['default'])) {
|
614 |
+
$value = $field['default'];
|
615 |
+
}
|
616 |
+
}
|
617 |
+
}
|
618 |
+
}
|
619 |
+
|
620 |
+
}
|
621 |
+
}
|
622 |
+
|
623 |
}
|
624 |
|
625 |
if ( empty( $value ) && ! empty( $default ) ) {
|
includes/Setup.php
CHANGED
@@ -3,14 +3,17 @@
|
|
3 |
namespace DgoraWcas;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
-
if ( ! defined(
|
7 |
exit;
|
8 |
}
|
9 |
|
10 |
-
class Setup
|
|
|
11 |
|
12 |
-
public function init()
|
13 |
-
|
|
|
|
|
14 |
}
|
15 |
|
16 |
/**
|
@@ -19,6 +22,20 @@ class Setup {
|
|
19 |
*/
|
20 |
public function setImageSize()
|
21 |
{
|
22 |
-
add_image_size(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
}
|
24 |
}
|
3 |
namespace DgoraWcas;
|
4 |
|
5 |
// Exit if accessed directly
|
6 |
+
if ( ! defined('ABSPATH')) {
|
7 |
exit;
|
8 |
}
|
9 |
|
10 |
+
class Setup
|
11 |
+
{
|
12 |
|
13 |
+
public function init()
|
14 |
+
{
|
15 |
+
add_action('init', array($this, 'setImageSize'));
|
16 |
+
add_filter('body_class', array($this, 'addMobileDeviceInfo'));
|
17 |
}
|
18 |
|
19 |
/**
|
22 |
*/
|
23 |
public function setImageSize()
|
24 |
{
|
25 |
+
add_image_size('dgwt-wcas-product-suggestion', 64, 0, false);
|
26 |
+
}
|
27 |
+
|
28 |
+
public function addMobileDeviceInfo($classes)
|
29 |
+
{
|
30 |
+
|
31 |
+
if (DGWT_WCAS()->mobileDetect->isMobile()) {
|
32 |
+
$classes[] = 'dgwt-wcas-is-mobile';
|
33 |
+
}
|
34 |
+
if (DGWT_WCAS()->mobileDetect->isiOS()) {
|
35 |
+
$classes[] = 'dgwt-wcas-is-ios';
|
36 |
+
}
|
37 |
+
|
38 |
+
return $classes;
|
39 |
+
|
40 |
}
|
41 |
}
|
languages/ajax-search-for-woocommerce-es_ES.mo
ADDED
Binary file
|
languages/ajax-search-for-woocommerce-es_ES.po
ADDED
@@ -0,0 +1,1288 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2019-05-03 21:18+0000\n"
|
6 |
+
"PO-Revision-Date: 2019-05-03 21:21+0000\n"
|
7 |
+
"Language-Team: Spanish (Spain)\n"
|
8 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\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: Loco https://localise.biz/\n"
|
13 |
+
"Last-Translator: dev_nIXCkVKHG <admin@webtroter.pl>\n"
|
14 |
+
"Language: es_ES\n"
|
15 |
+
"X-Loco-Version: 2.2.2; wp-5.1.1"
|
16 |
+
|
17 |
+
#: ajax-search-for-woocommerce.php:198
|
18 |
+
msgid ""
|
19 |
+
"<b>AJAX Search for WooCommerce</b>: You need PHP version at least 5.3 to run "
|
20 |
+
"this plugin. You are currently using PHP version "
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#: ajax-search-for-woocommerce.php:221
|
24 |
+
msgid ""
|
25 |
+
"<b>AJAX Search for WooCommerce</b>: You need PHP version at least 5.5 to run "
|
26 |
+
"this plugin. You are currently using PHP version "
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: ajax-search-for-woocommerce.php:250
|
30 |
+
#, php-format
|
31 |
+
msgid ""
|
32 |
+
"<b>AJAX Search for WooCommerce</b>:<br /> Your PHP version <b><i>%s</i></b> "
|
33 |
+
"will not longer supported in the next plugin releases."
|
34 |
+
msgstr ""
|
35 |
+
|
36 |
+
#: ajax-search-for-woocommerce.php:252
|
37 |
+
msgid ""
|
38 |
+
" You have to update your PHP version to least 5.5 (recommended 7.2 or "
|
39 |
+
"greater)."
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
#: ajax-search-for-woocommerce.php:255
|
43 |
+
msgid ""
|
44 |
+
"If you cannot upgrade your PHP version yourself, you can send an email to "
|
45 |
+
"your host."
|
46 |
+
msgstr ""
|
47 |
+
|
48 |
+
#: ajax-search-for-woocommerce.php:258
|
49 |
+
msgid ""
|
50 |
+
"If you do not upgrade the php version, the next plugin release will not work!"
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#: ajax-search-for-woocommerce.php:263
|
54 |
+
msgid "Remind me again in week."
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: ajax-search-for-woocommerce.php:285
|
58 |
+
#, php-format
|
59 |
+
msgid ""
|
60 |
+
"<b>AJAX Search for WooCommerce</b> is enabled but not effective. It requires "
|
61 |
+
"%s in order to work."
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: widget.php:25
|
65 |
+
msgid "AJAX (live) search form for WooCommerce"
|
66 |
+
msgstr ""
|
67 |
+
|
68 |
+
#: widget.php:27
|
69 |
+
msgid "Woo AJAX Search"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
+
#: widget.php:32
|
73 |
+
msgid "Title"
|
74 |
+
msgstr "Título"
|
75 |
+
|
76 |
+
#: partials/search-form.php:19 backward-compatibility/1-1-7/search-form.php:67
|
77 |
+
msgid "Products search"
|
78 |
+
msgstr "Buscador de productos"
|
79 |
+
|
80 |
+
#: partials/search-form.php:26 includes/Settings.php:188
|
81 |
+
#: backward-compatibility/1-1-7/search-form.php:74
|
82 |
+
msgid "Search for products..."
|
83 |
+
msgstr "Buscar Productos..."
|
84 |
+
|
85 |
+
#: includes/Settings.php:86
|
86 |
+
msgid "Basic"
|
87 |
+
msgstr "Básico"
|
88 |
+
|
89 |
+
#: includes/Settings.php:90
|
90 |
+
msgid "Form"
|
91 |
+
msgstr ""
|
92 |
+
|
93 |
+
#: includes/Settings.php:94
|
94 |
+
msgid "Colors"
|
95 |
+
msgstr ""
|
96 |
+
|
97 |
+
#: includes/Settings.php:98
|
98 |
+
msgid "Scope"
|
99 |
+
msgstr ""
|
100 |
+
|
101 |
+
#: includes/Settings.php:105 includes/Helpers.php:441 includes/Helpers.php:444
|
102 |
+
msgid "Pro"
|
103 |
+
msgstr ""
|
104 |
+
|
105 |
+
#: includes/Settings.php:111
|
106 |
+
msgid "Increase sales"
|
107 |
+
msgstr ""
|
108 |
+
|
109 |
+
#: includes/Settings.php:113
|
110 |
+
msgid "by simple tricks"
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
+
#: includes/Settings.php:136
|
114 |
+
msgid "How to use?"
|
115 |
+
msgstr "Cómo usar?"
|
116 |
+
|
117 |
+
#: includes/Settings.php:142
|
118 |
+
msgid "Suggestions limit"
|
119 |
+
msgstr "Límite de sugerencias"
|
120 |
+
|
121 |
+
#: includes/Settings.php:145
|
122 |
+
msgid "Maximum number of suggestions rows."
|
123 |
+
msgstr "Número máximo de sugerencias."
|
124 |
+
|
125 |
+
#: includes/Settings.php:150
|
126 |
+
msgid "Minimum characters"
|
127 |
+
msgstr "Caracteres mínimos"
|
128 |
+
|
129 |
+
#: includes/Settings.php:153
|
130 |
+
msgid "Minimum number of characters required to trigger autosuggest."
|
131 |
+
msgstr ""
|
132 |
+
"Número mínimo de caracteres necesarios para activar la sugerencia automática."
|
133 |
+
|
134 |
+
#: includes/Settings.php:158
|
135 |
+
msgid "Max form width"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
#: includes/Settings.php:161
|
139 |
+
msgid "To set 100% width leave blank"
|
140 |
+
msgstr ""
|
141 |
+
|
142 |
+
#: includes/Settings.php:166
|
143 |
+
msgid "Show submit button"
|
144 |
+
msgstr "Mostrar botón Enviar"
|
145 |
+
|
146 |
+
#: includes/Settings.php:173
|
147 |
+
msgid "Custom labels"
|
148 |
+
msgstr ""
|
149 |
+
|
150 |
+
#: includes/Settings.php:179
|
151 |
+
msgid "Search submit button text"
|
152 |
+
msgstr "Texto del Botón Enviar"
|
153 |
+
|
154 |
+
#: includes/Settings.php:181
|
155 |
+
msgid "To display the magnifier icon leave this field empty."
|
156 |
+
msgstr ""
|
157 |
+
|
158 |
+
#: includes/Settings.php:182
|
159 |
+
msgid "Search"
|
160 |
+
msgstr "Buscar"
|
161 |
+
|
162 |
+
#: includes/Settings.php:186
|
163 |
+
msgid "Search input placeholder"
|
164 |
+
msgstr "Marcador del buscador"
|
165 |
+
|
166 |
+
#: includes/Settings.php:192
|
167 |
+
msgid "More results"
|
168 |
+
msgstr ""
|
169 |
+
|
170 |
+
#: includes/Settings.php:194 includes/Scripts.php:41
|
171 |
+
msgid "See all results..."
|
172 |
+
msgstr ""
|
173 |
+
|
174 |
+
#: includes/Settings.php:198
|
175 |
+
msgctxt "admin"
|
176 |
+
msgid "No results"
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: includes/Settings.php:200 includes/Scripts.php:42
|
180 |
+
msgid "No results"
|
181 |
+
msgstr "No hay resultados"
|
182 |
+
|
183 |
+
#: includes/Settings.php:206
|
184 |
+
msgid "Suggestions output"
|
185 |
+
msgstr "Salida de sugerencias"
|
186 |
+
|
187 |
+
#: includes/Settings.php:212
|
188 |
+
msgid "Show product image"
|
189 |
+
msgstr "Mostrar imagen del producto"
|
190 |
+
|
191 |
+
#: includes/Settings.php:218
|
192 |
+
msgid "Show price"
|
193 |
+
msgstr "Mostrar Precio"
|
194 |
+
|
195 |
+
#: includes/Settings.php:224
|
196 |
+
msgid "Show product description"
|
197 |
+
msgstr "Mostrar descripción del producto"
|
198 |
+
|
199 |
+
#: includes/Settings.php:230
|
200 |
+
msgid "Show SKU"
|
201 |
+
msgstr "Mostrar SKU"
|
202 |
+
|
203 |
+
#: includes/Settings.php:236
|
204 |
+
msgid "Also show matching categories"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: includes/Settings.php:242
|
208 |
+
msgid "Also show matching tags"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#: includes/Settings.php:260
|
212 |
+
msgid "Mobile"
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
+
#: includes/Settings.php:266
|
216 |
+
msgid "Overlay search (beta)"
|
217 |
+
msgstr ""
|
218 |
+
|
219 |
+
#: includes/Settings.php:267
|
220 |
+
msgid "Enhances user experience on mobile"
|
221 |
+
msgstr ""
|
222 |
+
|
223 |
+
#: includes/Settings.php:273
|
224 |
+
msgid "Preloader"
|
225 |
+
msgstr "Precargador"
|
226 |
+
|
227 |
+
#: includes/Settings.php:279
|
228 |
+
msgid "Show preloader"
|
229 |
+
msgstr "Mostrar precargador"
|
230 |
+
|
231 |
+
#: includes/Settings.php:285
|
232 |
+
msgid "Upload preloader image"
|
233 |
+
msgstr "Subir imagen del precargador"
|
234 |
+
|
235 |
+
#: includes/Settings.php:291
|
236 |
+
msgid "Details box"
|
237 |
+
msgstr ""
|
238 |
+
|
239 |
+
#: includes/Settings.php:297
|
240 |
+
msgid "Show details box"
|
241 |
+
msgstr "Mostrar el cuadro de detalles"
|
242 |
+
|
243 |
+
#: includes/Settings.php:301
|
244 |
+
#, php-format
|
245 |
+
msgid ""
|
246 |
+
"The Details box is an additional container for extended information. The "
|
247 |
+
"details are changed dynamically when you hover the mouse over one of the "
|
248 |
+
"suggestions. <a href=\"%s\" target=\"_blank\">See where the details box will "
|
249 |
+
"appear.</a>"
|
250 |
+
msgstr ""
|
251 |
+
|
252 |
+
#: includes/Settings.php:306
|
253 |
+
msgid "Products list"
|
254 |
+
msgstr ""
|
255 |
+
|
256 |
+
#: includes/Settings.php:308 includes/Settings.php:322
|
257 |
+
#: includes/Settings.php:336
|
258 |
+
msgid "Applies only to category or tags suggestions type"
|
259 |
+
msgstr ""
|
260 |
+
|
261 |
+
#: includes/Settings.php:310
|
262 |
+
msgid "All Product"
|
263 |
+
msgstr "Todos los Productos"
|
264 |
+
|
265 |
+
#: includes/Settings.php:311
|
266 |
+
msgid "Featured Products"
|
267 |
+
msgstr "Productos Destacados"
|
268 |
+
|
269 |
+
#: includes/Settings.php:312
|
270 |
+
msgid "On-sale Products"
|
271 |
+
msgstr "Productos en oferta"
|
272 |
+
|
273 |
+
#: includes/Settings.php:319
|
274 |
+
msgid "Order by"
|
275 |
+
msgstr "Ordenar por"
|
276 |
+
|
277 |
+
#: includes/Settings.php:324
|
278 |
+
msgid "Date"
|
279 |
+
msgstr "Fecha"
|
280 |
+
|
281 |
+
#: includes/Settings.php:325
|
282 |
+
msgid "Price"
|
283 |
+
msgstr "Precio"
|
284 |
+
|
285 |
+
#: includes/Settings.php:326
|
286 |
+
msgid "Random"
|
287 |
+
msgstr "Aleatorio"
|
288 |
+
|
289 |
+
#: includes/Settings.php:327
|
290 |
+
msgid "Sales"
|
291 |
+
msgstr "Ventas"
|
292 |
+
|
293 |
+
#: includes/Settings.php:333
|
294 |
+
msgid "Order"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
#: includes/Settings.php:338
|
298 |
+
msgid "DESC"
|
299 |
+
msgstr "DESC"
|
300 |
+
|
301 |
+
#: includes/Settings.php:339
|
302 |
+
msgid "ASC"
|
303 |
+
msgstr "ASC"
|
304 |
+
|
305 |
+
#: includes/Settings.php:347
|
306 |
+
msgid "Search form"
|
307 |
+
msgstr "Formulario de búsqueda"
|
308 |
+
|
309 |
+
#: includes/Settings.php:353
|
310 |
+
msgid "Search input background"
|
311 |
+
msgstr "Color del fondo"
|
312 |
+
|
313 |
+
#: includes/Settings.php:359
|
314 |
+
msgid "Search input text"
|
315 |
+
msgstr "Color del texto"
|
316 |
+
|
317 |
+
#: includes/Settings.php:365
|
318 |
+
msgid "Search input border"
|
319 |
+
msgstr "Color del borde"
|
320 |
+
|
321 |
+
#: includes/Settings.php:371
|
322 |
+
msgid "Search submit background"
|
323 |
+
msgstr "Color del fondo del botón Enviar"
|
324 |
+
|
325 |
+
#: includes/Settings.php:377
|
326 |
+
msgid "Search submit text"
|
327 |
+
msgstr "Color del texto del botón Enviar"
|
328 |
+
|
329 |
+
#: includes/Settings.php:383
|
330 |
+
msgid "Suggestions"
|
331 |
+
msgstr "Sugerencias"
|
332 |
+
|
333 |
+
#: includes/Settings.php:389
|
334 |
+
msgid "Suggestion background"
|
335 |
+
msgstr "Color del fondo"
|
336 |
+
|
337 |
+
#: includes/Settings.php:395
|
338 |
+
msgid "Suggestion selected"
|
339 |
+
msgstr "Color de la selección"
|
340 |
+
|
341 |
+
#: includes/Settings.php:401
|
342 |
+
msgid "Text color"
|
343 |
+
msgstr "Color del texto"
|
344 |
+
|
345 |
+
#: includes/Settings.php:407
|
346 |
+
msgid "Highlight color"
|
347 |
+
msgstr "Color de destacado"
|
348 |
+
|
349 |
+
#: includes/Settings.php:413
|
350 |
+
msgid "Border color"
|
351 |
+
msgstr "Color del borde"
|
352 |
+
|
353 |
+
#: includes/Settings.php:421
|
354 |
+
msgid "Search scope"
|
355 |
+
msgstr ""
|
356 |
+
|
357 |
+
#: includes/Settings.php:427
|
358 |
+
msgid "Info"
|
359 |
+
msgstr ""
|
360 |
+
|
361 |
+
#: includes/Settings.php:429
|
362 |
+
msgid ""
|
363 |
+
"Searching in products names is always enabled. You can extend or narrow the "
|
364 |
+
"searching scope using the following options."
|
365 |
+
msgstr ""
|
366 |
+
|
367 |
+
#: includes/Settings.php:434
|
368 |
+
msgid "Search in description"
|
369 |
+
msgstr ""
|
370 |
+
|
371 |
+
#: includes/Settings.php:440
|
372 |
+
msgid "Search in short description"
|
373 |
+
msgstr ""
|
374 |
+
|
375 |
+
#: includes/Settings.php:446
|
376 |
+
msgid "Search in SKU"
|
377 |
+
msgstr ""
|
378 |
+
|
379 |
+
#: includes/Settings.php:448
|
380 |
+
msgid "Searching also in variable products SKU"
|
381 |
+
msgstr ""
|
382 |
+
|
383 |
+
#: includes/Settings.php:448
|
384 |
+
#, php-format
|
385 |
+
msgid ""
|
386 |
+
"Searching in variable products SKU is available only in <a href=\"%s\">the "
|
387 |
+
"pro version</a>. It will also be available in the free version soon."
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: includes/Settings.php:453
|
391 |
+
msgid "Search in attributes"
|
392 |
+
msgstr ""
|
393 |
+
|
394 |
+
#: includes/Settings.php:460
|
395 |
+
msgid "Exclude 'out of stock' products"
|
396 |
+
msgstr "Mostrar productos fuera de stock"
|
397 |
+
|
398 |
+
#: includes/Settings.php:468
|
399 |
+
msgid "Pro features"
|
400 |
+
msgstr ""
|
401 |
+
|
402 |
+
#: includes/Settings.php:474
|
403 |
+
msgid "Fuzziness"
|
404 |
+
msgstr ""
|
405 |
+
|
406 |
+
#: includes/Settings.php:480
|
407 |
+
msgid "Speed up search!"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: includes/Settings.php:487
|
411 |
+
msgid ""
|
412 |
+
"<strong>Increases sales conversions.</strong> Returns sugestions based on "
|
413 |
+
"likely relevance even though a search keyword may not exactly match. E.g if "
|
414 |
+
"you type \"ipho<b>m</b>e\" you get the same results as for \"iphone\""
|
415 |
+
msgstr ""
|
416 |
+
|
417 |
+
#: includes/Settings.php:493
|
418 |
+
msgid "Profits"
|
419 |
+
msgstr ""
|
420 |
+
|
421 |
+
#: includes/Settings.php:500 includes/Settings.php:532
|
422 |
+
msgid "Fuzzy matching"
|
423 |
+
msgstr ""
|
424 |
+
|
425 |
+
#: includes/Settings.php:505 includes/Settings.php:537
|
426 |
+
msgid "-- Disabled"
|
427 |
+
msgstr ""
|
428 |
+
|
429 |
+
#: includes/Settings.php:506 includes/Settings.php:538
|
430 |
+
msgid "Soft"
|
431 |
+
msgstr ""
|
432 |
+
|
433 |
+
#: includes/Settings.php:507 includes/Settings.php:539
|
434 |
+
msgid "Normal"
|
435 |
+
msgstr ""
|
436 |
+
|
437 |
+
#: includes/Settings.php:508 includes/Settings.php:540
|
438 |
+
msgid "Hard"
|
439 |
+
msgstr ""
|
440 |
+
|
441 |
+
#: includes/Settings.php:518
|
442 |
+
msgid "Select the database"
|
443 |
+
msgstr ""
|
444 |
+
|
445 |
+
#: includes/Settings.php:522
|
446 |
+
msgid "SQLite"
|
447 |
+
msgstr ""
|
448 |
+
|
449 |
+
#: includes/Settings.php:523
|
450 |
+
msgid "MySQL"
|
451 |
+
msgstr ""
|
452 |
+
|
453 |
+
#: includes/Settings.php:552 includes/Settings.php:560
|
454 |
+
msgid "Index status"
|
455 |
+
msgstr ""
|
456 |
+
|
457 |
+
#: includes/BackwardCompatibility.php:338 partials/admin/indexer-header.php:21
|
458 |
+
msgid "Troubleshooting"
|
459 |
+
msgstr ""
|
460 |
+
|
461 |
+
#: includes/BackwardCompatibility.php:339
|
462 |
+
msgid "troubleshooting"
|
463 |
+
msgstr ""
|
464 |
+
|
465 |
+
#: includes/BackwardCompatibility.php:348
|
466 |
+
msgid "<span style=\"color:#9b5c8f\">Complete the update process</span>"
|
467 |
+
msgstr ""
|
468 |
+
|
469 |
+
#: includes/BackwardCompatibility.php:348
|
470 |
+
msgid ""
|
471 |
+
"In the last update we have changed the AJAX search form on the frontend (CSS "
|
472 |
+
"styles, names of the HTML classes etc.). You have to check if the AJAX "
|
473 |
+
"search form looks correct with your theme after these changes."
|
474 |
+
msgstr ""
|
475 |
+
|
476 |
+
#: includes/BackwardCompatibility.php:356
|
477 |
+
msgid "What should you do now?"
|
478 |
+
msgstr ""
|
479 |
+
|
480 |
+
#: includes/BackwardCompatibility.php:359
|
481 |
+
msgid ""
|
482 |
+
"Switch manually to the latest version to check if the AJAX search form "
|
483 |
+
"displays correctly with your theme"
|
484 |
+
msgstr ""
|
485 |
+
|
486 |
+
#: includes/BackwardCompatibility.php:364
|
487 |
+
msgid "You have activated the latest version. Follow the steps below:"
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: includes/BackwardCompatibility.php:367
|
491 |
+
#, php-format
|
492 |
+
msgid "Visit your <a target=\"_blank\" href=\"%s\">store</a>"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
#: includes/BackwardCompatibility.php:368
|
496 |
+
msgid "Check if the AJAX search form displays correctly"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
#: includes/BackwardCompatibility.php:369
|
500 |
+
#, php-format
|
501 |
+
msgid "If it is ok, click %s"
|
502 |
+
msgstr ""
|
503 |
+
|
504 |
+
#: includes/BackwardCompatibility.php:369
|
505 |
+
msgid "finish the update"
|
506 |
+
msgstr ""
|
507 |
+
|
508 |
+
#: includes/BackwardCompatibility.php:370
|
509 |
+
#, php-format
|
510 |
+
msgid "If not, switch back to <code>previous version %s</code> and see %s"
|
511 |
+
msgstr ""
|
512 |
+
|
513 |
+
#: includes/BackwardCompatibility.php:377
|
514 |
+
msgid "Version switcher"
|
515 |
+
msgstr ""
|
516 |
+
|
517 |
+
#: includes/BackwardCompatibility.php:378
|
518 |
+
msgid "Something went wrong. Refresh the page and try again."
|
519 |
+
msgstr ""
|
520 |
+
|
521 |
+
#: includes/BackwardCompatibility.php:379
|
522 |
+
msgid "Saved!"
|
523 |
+
msgstr ""
|
524 |
+
|
525 |
+
#: includes/BackwardCompatibility.php:381
|
526 |
+
msgid "previous version"
|
527 |
+
msgstr ""
|
528 |
+
|
529 |
+
#: includes/BackwardCompatibility.php:388
|
530 |
+
msgid "latest version"
|
531 |
+
msgstr ""
|
532 |
+
|
533 |
+
#: includes/BackwardCompatibility.php:395
|
534 |
+
#, php-format
|
535 |
+
msgid ""
|
536 |
+
"If the AJAX search form displays incorrectly after switching to the latest "
|
537 |
+
"version, see the %s"
|
538 |
+
msgstr ""
|
539 |
+
|
540 |
+
#: includes/BackwardCompatibility.php:402
|
541 |
+
msgid ""
|
542 |
+
"Your AJAX search form does not display correctly after manual switching to "
|
543 |
+
"the latest version."
|
544 |
+
msgstr ""
|
545 |
+
|
546 |
+
#: includes/BackwardCompatibility.php:406
|
547 |
+
msgid ""
|
548 |
+
"Probably your theme uses additional CSS styles to customize the appearance "
|
549 |
+
"of the AJAX search form. Contact the authors of your theme. Maybe they have "
|
550 |
+
"to update their CSS styles if necessary."
|
551 |
+
msgstr ""
|
552 |
+
|
553 |
+
#: includes/BackwardCompatibility.php:412
|
554 |
+
msgid "Your Theme Details"
|
555 |
+
msgstr ""
|
556 |
+
|
557 |
+
#: includes/BackwardCompatibility.php:417
|
558 |
+
msgctxt "Wordpress theme name"
|
559 |
+
msgid "Name:"
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: includes/BackwardCompatibility.php:432
|
563 |
+
msgid "Author:"
|
564 |
+
msgstr ""
|
565 |
+
|
566 |
+
#: includes/BackwardCompatibility.php:449
|
567 |
+
msgid "A sample e-mail message that you can send them:"
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
#: includes/BackwardCompatibility.php:454
|
571 |
+
#, php-format
|
572 |
+
msgid ""
|
573 |
+
"Hello,\n"
|
574 |
+
" <br /><br />\n"
|
575 |
+
" I use your %s theme with AJAX Search for WooCommerce "
|
576 |
+
"plugin - (https://wordpress.org/plugins/ajax-search-for-woocommerce/)\n"
|
577 |
+
" <br /><br />\n"
|
578 |
+
" In the lates version of AJAX Search for WooCommerce %s "
|
579 |
+
"they have changed the search form on the frontend (CSS, HTML etc.).\n"
|
580 |
+
" <br /><br />\n"
|
581 |
+
" Could you check it and update your CSS if necessary?"
|
582 |
+
msgstr ""
|
583 |
+
|
584 |
+
#: includes/BackwardCompatibility.php:470
|
585 |
+
msgid ""
|
586 |
+
"If you have any questions, do not hesitate contact <a href=\"mailto:"
|
587 |
+
"dgoraplugins@gmail.com?subject=Ajax Search for WooCommerce - Update "
|
588 |
+
"problem\">our support </a> or <a href=\"https://wordpress."
|
589 |
+
"org/support/plugin/ajax-search-for-woocommerce\" target=\"_blank\">write on "
|
590 |
+
"the WordPress.org Support</a>."
|
591 |
+
msgstr ""
|
592 |
+
|
593 |
+
#: includes/BackwardCompatibility.php:477
|
594 |
+
msgid "Remind me later"
|
595 |
+
msgstr ""
|
596 |
+
|
597 |
+
#: includes/Scripts.php:34
|
598 |
+
msgctxt "For product badge: on sale"
|
599 |
+
msgid "sale"
|
600 |
+
msgstr "oferta"
|
601 |
+
|
602 |
+
#: includes/Scripts.php:35
|
603 |
+
msgctxt "For product badge: featured"
|
604 |
+
msgid "featured"
|
605 |
+
msgstr "destacado"
|
606 |
+
|
607 |
+
#: includes/Scripts.php:36 includes/Engines/WordPressNative/DetailsBox.php:168
|
608 |
+
msgid "Category"
|
609 |
+
msgstr "Categoría"
|
610 |
+
|
611 |
+
#: includes/Scripts.php:37
|
612 |
+
msgid "tag"
|
613 |
+
msgstr ""
|
614 |
+
|
615 |
+
#: includes/Scripts.php:38
|
616 |
+
msgid "SKU:"
|
617 |
+
msgstr ""
|
618 |
+
|
619 |
+
#: includes/Scripts.php:64
|
620 |
+
msgctxt "in categories fe. in Books > Crime stories"
|
621 |
+
msgid "in"
|
622 |
+
msgstr ""
|
623 |
+
|
624 |
+
#: partials/admin/indexer-header.php:8
|
625 |
+
#, php-format
|
626 |
+
msgid "Indexed <strong>100%</strong>, <strong>%d products</strong>."
|
627 |
+
msgstr ""
|
628 |
+
|
629 |
+
#: partials/admin/indexer-header.php:12
|
630 |
+
#, php-format
|
631 |
+
msgid "Last build %s"
|
632 |
+
msgstr ""
|
633 |
+
|
634 |
+
#: partials/admin/indexer-header.php:13
|
635 |
+
msgid "All products changes will be <strong>re-indexed automatically</strong>"
|
636 |
+
msgstr ""
|
637 |
+
|
638 |
+
#: partials/admin/indexer-header.php:24
|
639 |
+
#, php-format
|
640 |
+
msgid "First try to <a class=\"%s\" href=\"#\">build the index again</a>"
|
641 |
+
msgstr ""
|
642 |
+
|
643 |
+
#: partials/admin/indexer-header.php:25
|
644 |
+
#, php-format
|
645 |
+
msgid ""
|
646 |
+
"Go to <a target=\"_blank\" href=\"%s\">WooCommerce -> Status -> section "
|
647 |
+
"\"AJAX Search for WooCommerce Pro\"</a>. Is everything green?"
|
648 |
+
msgstr ""
|
649 |
+
|
650 |
+
#: partials/admin/indexer-header.php:26
|
651 |
+
#, php-format
|
652 |
+
msgid ""
|
653 |
+
"Go to <a target=\"_blank\" href=\"%s\">WooCommerce -> Status -> Logs (tab)"
|
654 |
+
"</a>. Open last \"fatal-errors...\". Look for a phrase \"ajax-search-for-"
|
655 |
+
"woocommerce\". Did you find anything significant?"
|
656 |
+
msgstr ""
|
657 |
+
|
658 |
+
#: partials/admin/indexer-header.php:27
|
659 |
+
#, php-format
|
660 |
+
msgid ""
|
661 |
+
"Is it still not working? Write a <a target=\"_blank\" href=\"%s\">support "
|
662 |
+
"request</a>."
|
663 |
+
msgstr ""
|
664 |
+
|
665 |
+
#: partials/admin/indexer-header.php:36
|
666 |
+
#: partials/admin/indexer-header-demo.php:8
|
667 |
+
msgid "Show details"
|
668 |
+
msgstr ""
|
669 |
+
|
670 |
+
#: partials/admin/indexer-header.php:37
|
671 |
+
msgid "Hide details"
|
672 |
+
msgstr ""
|
673 |
+
|
674 |
+
#: partials/admin/indexer-body.php:6
|
675 |
+
msgid ""
|
676 |
+
"Indexing... This process will continue in the background. You can leave this "
|
677 |
+
"page."
|
678 |
+
msgstr ""
|
679 |
+
|
680 |
+
#: partials/admin/indexer-body.php:8
|
681 |
+
msgid "Index build progress"
|
682 |
+
msgstr ""
|
683 |
+
|
684 |
+
#: partials/admin/indexer-body.php:11
|
685 |
+
#, php-format
|
686 |
+
msgid "Finalization... Wait a moment. (%s products)"
|
687 |
+
msgstr ""
|
688 |
+
|
689 |
+
#: partials/admin/indexer-body.php:15
|
690 |
+
msgid "Cancellation..."
|
691 |
+
msgstr ""
|
692 |
+
|
693 |
+
#: partials/admin/indexer-body.php:32
|
694 |
+
msgid "Build ID"
|
695 |
+
msgstr ""
|
696 |
+
|
697 |
+
#: partials/admin/indexer-body.php:36
|
698 |
+
msgid "DB"
|
699 |
+
msgstr ""
|
700 |
+
|
701 |
+
#: partials/admin/indexer-body.php:40
|
702 |
+
msgid "Index build start"
|
703 |
+
msgstr ""
|
704 |
+
|
705 |
+
#: partials/admin/indexer-body.php:44
|
706 |
+
msgid "Status"
|
707 |
+
msgstr ""
|
708 |
+
|
709 |
+
#: partials/admin/indexer-body.php:48
|
710 |
+
msgid "Products"
|
711 |
+
msgstr ""
|
712 |
+
|
713 |
+
#: partials/admin/indexer-body.php:52
|
714 |
+
msgid "Searchable"
|
715 |
+
msgstr ""
|
716 |
+
|
717 |
+
#: partials/admin/indexer-body.php:56 partials/admin/indexer-body.php:79
|
718 |
+
#: partials/admin/indexer-body.php:104
|
719 |
+
msgid "Start"
|
720 |
+
msgstr ""
|
721 |
+
|
722 |
+
#: partials/admin/indexer-body.php:60 partials/admin/indexer-body.php:83
|
723 |
+
#: partials/admin/indexer-body.php:108
|
724 |
+
msgid "End"
|
725 |
+
msgstr ""
|
726 |
+
|
727 |
+
#: partials/admin/indexer-body.php:65 partials/admin/indexer-body.php:88
|
728 |
+
#: partials/admin/indexer-body.php:113
|
729 |
+
msgid "Time"
|
730 |
+
msgstr ""
|
731 |
+
|
732 |
+
#: partials/admin/indexer-body.php:74
|
733 |
+
msgid "Readable"
|
734 |
+
msgstr ""
|
735 |
+
|
736 |
+
#: partials/admin/indexer-body.php:99
|
737 |
+
msgid "Taxonomies"
|
738 |
+
msgstr ""
|
739 |
+
|
740 |
+
#: partials/admin/indexer-body.php:127
|
741 |
+
msgid "Logs"
|
742 |
+
msgstr ""
|
743 |
+
|
744 |
+
#: partials/admin/pro-starter.php:8
|
745 |
+
msgid ""
|
746 |
+
"You are using the Pro plugin version. Your customers will find the right "
|
747 |
+
"products <span>faster and simpler</span> and your sales will increase."
|
748 |
+
msgstr ""
|
749 |
+
|
750 |
+
#: partials/admin/pro-starter.php:14
|
751 |
+
#, php-format
|
752 |
+
msgid ""
|
753 |
+
"If you have any questions, do not hesitate to <a target=\"_blank\" "
|
754 |
+
"href=\"%s\">get in touch</a>."
|
755 |
+
msgstr ""
|
756 |
+
|
757 |
+
#: partials/admin/settings.php:12
|
758 |
+
msgid "AJAX Search for WooCommerce (PRO) Settings"
|
759 |
+
msgstr ""
|
760 |
+
|
761 |
+
#: partials/admin/settings.php:14
|
762 |
+
msgid "AJAX Search for WooCommerce Settings"
|
763 |
+
msgstr ""
|
764 |
+
|
765 |
+
#: partials/admin/indexer-header-demo.php:3
|
766 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:414
|
767 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:398
|
768 |
+
msgid "The search index does not exist yet. Build it now."
|
769 |
+
msgstr ""
|
770 |
+
|
771 |
+
#: partials/admin/indexer-header-demo.php:7
|
772 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:443
|
773 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:430
|
774 |
+
msgid "Build index"
|
775 |
+
msgstr ""
|
776 |
+
|
777 |
+
#: partials/admin/how-to-use.php:10
|
778 |
+
msgid "There are two easy ways to display the search form"
|
779 |
+
msgstr "Hay dos maneras fáciles de mostrar el formulario de búsqueda"
|
780 |
+
|
781 |
+
#: partials/admin/how-to-use.php:11
|
782 |
+
#, php-format
|
783 |
+
msgid "Use a shortcode %s"
|
784 |
+
msgstr "Usar el shortcode %s"
|
785 |
+
|
786 |
+
#: partials/admin/how-to-use.php:12
|
787 |
+
#, php-format
|
788 |
+
msgid "Go to the %s and choose \"Woo AJAX Search\""
|
789 |
+
msgstr ""
|
790 |
+
|
791 |
+
#: partials/admin/how-to-use.php:12
|
792 |
+
msgid "Widgets Screen"
|
793 |
+
msgstr "Pantalla Widgets"
|
794 |
+
|
795 |
+
#: partials/admin/how-to-use.php:14
|
796 |
+
#, php-format
|
797 |
+
msgid ""
|
798 |
+
"Are there any difficulties? <a href=\"%s\">Upgrade now</a> and our "
|
799 |
+
"developers will do everything for you."
|
800 |
+
msgstr ""
|
801 |
+
|
802 |
+
#: partials/admin/system-status.php:5
|
803 |
+
msgid "Ajax Search for WooCommerce (Pro)"
|
804 |
+
msgstr ""
|
805 |
+
|
806 |
+
#: partials/admin/system-status.php:6
|
807 |
+
msgid "This section shows the plugin requirements."
|
808 |
+
msgstr ""
|
809 |
+
|
810 |
+
#: partials/admin/system-status.php:12
|
811 |
+
msgid "PHP extension (mbstring)"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: partials/admin/system-status.php:29
|
815 |
+
msgid "PHP extension (pdo_mysql)"
|
816 |
+
msgstr ""
|
817 |
+
|
818 |
+
#: partials/admin/system-status.php:46
|
819 |
+
msgid "PHP extension (sqlite3)"
|
820 |
+
msgstr ""
|
821 |
+
|
822 |
+
#: partials/admin/system-status.php:61
|
823 |
+
msgid "PHP extension (pdo_sqlite)"
|
824 |
+
msgstr ""
|
825 |
+
|
826 |
+
#: partials/admin/system-status.php:76
|
827 |
+
msgid "Index directory test"
|
828 |
+
msgstr ""
|
829 |
+
|
830 |
+
#: partials/admin/system-status.php:93
|
831 |
+
msgid "Default upload path"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: partials/admin/system-status.php:96
|
835 |
+
msgid "At this moment the plugin works only with default upload directory."
|
836 |
+
msgstr ""
|
837 |
+
|
838 |
+
#: partials/admin/system-status.php:113
|
839 |
+
msgid "DB readable tables exist"
|
840 |
+
msgstr ""
|
841 |
+
|
842 |
+
#: partials/admin/system-status.php:134
|
843 |
+
msgid "Finding wp-load.php from outside"
|
844 |
+
msgstr ""
|
845 |
+
|
846 |
+
#: partials/admin/system-status.php:143
|
847 |
+
msgid "The location of wp-load.php is not the default."
|
848 |
+
msgstr ""
|
849 |
+
|
850 |
+
#: partials/admin/system-status.php:158
|
851 |
+
msgid "Multisite"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: partials/admin/system-status.php:161
|
855 |
+
msgid ""
|
856 |
+
"The Ajax Search for WooCommerce (Pro) does not support multisite yet. "
|
857 |
+
"Multisite must be disabled."
|
858 |
+
msgstr ""
|
859 |
+
|
860 |
+
#: partials/admin/system-status.php:166
|
861 |
+
msgid "disabled"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: partials/admin/system-status.php:168
|
865 |
+
msgid "enabled"
|
866 |
+
msgstr ""
|
867 |
+
|
868 |
+
#: partials/admin/system-status.php:175
|
869 |
+
msgid "Conflicts with other plugins"
|
870 |
+
msgstr ""
|
871 |
+
|
872 |
+
#: partials/admin/system-status.php:178
|
873 |
+
msgid ""
|
874 |
+
"The Ajax Search for WooCommerce (Pro) does not support multilanguages yet."
|
875 |
+
msgstr ""
|
876 |
+
|
877 |
+
#: partials/admin/system-status.php:184
|
878 |
+
msgid "no"
|
879 |
+
msgstr ""
|
880 |
+
|
881 |
+
#: partials/admin/features.php:8
|
882 |
+
msgid ""
|
883 |
+
"If users can’t find the product they’re searching for, they can’t buy it. "
|
884 |
+
"Help your customers to find the right products <span>faster and "
|
885 |
+
"simpler</span>."
|
886 |
+
msgstr ""
|
887 |
+
|
888 |
+
#: partials/admin/features.php:10 includes/Admin/Promo/Upgrade.php:62
|
889 |
+
msgid ""
|
890 |
+
"Update now and increase your sales. You will receive 14-day satisfaction "
|
891 |
+
"guarantee. A return on investment will come very quickly."
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: partials/admin/features.php:13
|
895 |
+
msgid "Speed up search! (even <b>10x faster</b>) - users love it!"
|
896 |
+
msgstr ""
|
897 |
+
|
898 |
+
#: partials/admin/features.php:14
|
899 |
+
msgid ""
|
900 |
+
"Help in embedding the search form in your theme. <b>Our developers will do "
|
901 |
+
"it for you</b>."
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: partials/admin/features.php:15
|
905 |
+
msgid ""
|
906 |
+
"Efficient with a large number of products. Tested on <b>20 000 products</b>"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: partials/admin/features.php:16 includes/Admin/Promo/Upgrade.php:51
|
910 |
+
msgid "New modern search engine based on bm25 ranking algorithm"
|
911 |
+
msgstr ""
|
912 |
+
|
913 |
+
#: partials/admin/features.php:17 includes/Admin/Promo/Upgrade.php:52
|
914 |
+
msgid "Fuzzy search"
|
915 |
+
msgstr ""
|
916 |
+
|
917 |
+
#: partials/admin/features.php:18
|
918 |
+
msgid "Search in variation products SKUs (option)"
|
919 |
+
msgstr ""
|
920 |
+
|
921 |
+
#: partials/admin/features.php:19
|
922 |
+
msgid "Search in product attributes (option)"
|
923 |
+
msgstr ""
|
924 |
+
|
925 |
+
#: partials/admin/features.php:20
|
926 |
+
msgid "Advanced search analytics and tips (in plans)"
|
927 |
+
msgstr ""
|
928 |
+
|
929 |
+
#: partials/admin/features.php:21 includes/Admin/Promo/Upgrade.php:54
|
930 |
+
msgid "Individual customization of the search form (simple CSS improvements)"
|
931 |
+
msgstr ""
|
932 |
+
|
933 |
+
#: partials/admin/features.php:22
|
934 |
+
msgid "Individual tips and support"
|
935 |
+
msgstr ""
|
936 |
+
|
937 |
+
#: partials/admin/features.php:23
|
938 |
+
msgid "And more..."
|
939 |
+
msgstr ""
|
940 |
+
|
941 |
+
#: partials/admin/features.php:25
|
942 |
+
msgid "Upgrade Now!"
|
943 |
+
msgstr ""
|
944 |
+
|
945 |
+
#. Name of the plugin
|
946 |
+
#: includes/Admin/AdminMenu.php:31
|
947 |
+
msgid "Ajax Search for WooCommerce"
|
948 |
+
msgstr "Búqueda AJAX para WooCommerce"
|
949 |
+
|
950 |
+
#: includes/Admin/AdminMenu.php:32
|
951 |
+
msgid "AJAX search form"
|
952 |
+
msgstr ""
|
953 |
+
|
954 |
+
#: includes/Admin/SettingsAPI.php:572
|
955 |
+
msgid "Contact"
|
956 |
+
msgstr ""
|
957 |
+
|
958 |
+
#: includes/Admin/SettingsAPI.php:575
|
959 |
+
msgid "My Account"
|
960 |
+
msgstr ""
|
961 |
+
|
962 |
+
#: includes/Admin/Requirements.php:60
|
963 |
+
#, php-format
|
964 |
+
msgid "Required PHP version 5.5 or higher. You use %s"
|
965 |
+
msgstr ""
|
966 |
+
|
967 |
+
#: includes/Admin/Requirements.php:79 includes/Admin/Requirements.php:84
|
968 |
+
#: includes/Admin/Requirements.php:89 includes/Admin/Requirements.php:94
|
969 |
+
#, php-format
|
970 |
+
msgid "Required PHP extension: %s"
|
971 |
+
msgstr ""
|
972 |
+
|
973 |
+
#: includes/Admin/Requirements.php:128
|
974 |
+
#, php-format
|
975 |
+
msgid "Problem with permission for the directory: %s"
|
976 |
+
msgstr ""
|
977 |
+
|
978 |
+
#: includes/Admin/Requirements.php:181
|
979 |
+
#, php-format
|
980 |
+
msgid ""
|
981 |
+
"You use the %s plugin. The Ajax Search for WooCommerce PRO does not support "
|
982 |
+
"multilingual yet."
|
983 |
+
msgstr ""
|
984 |
+
|
985 |
+
#: includes/Admin/Requirements.php:205
|
986 |
+
msgid ""
|
987 |
+
"Your WordPress use the multisite. The Ajax Search for WooCommerce PRO does "
|
988 |
+
"not support multisite yet."
|
989 |
+
msgstr ""
|
990 |
+
|
991 |
+
#: includes/Admin/Requirements.php:222
|
992 |
+
msgid "Attention! Read this before the upgrade."
|
993 |
+
msgstr ""
|
994 |
+
|
995 |
+
#: includes/Admin/Requirements.php:223
|
996 |
+
msgid ""
|
997 |
+
"Ajax Search for WooCommerce PRO may not work properly in your environment "
|
998 |
+
"for the following reasons:"
|
999 |
+
msgstr ""
|
1000 |
+
|
1001 |
+
#: includes/Admin/Requirements.php:233
|
1002 |
+
msgid "Ajax Search for WooCommerce PRO - Requirements"
|
1003 |
+
msgstr ""
|
1004 |
+
|
1005 |
+
#: includes/Admin/Requirements.php:234
|
1006 |
+
#, php-format
|
1007 |
+
msgid ""
|
1008 |
+
"If you have any questions, do not hesitate contact <a href=\"%s\">our "
|
1009 |
+
"support</a>."
|
1010 |
+
msgstr ""
|
1011 |
+
|
1012 |
+
#: includes/Engines/WordPressNative/DetailsBox.php:170
|
1013 |
+
msgid "Tag"
|
1014 |
+
msgstr "Etiqueta"
|
1015 |
+
|
1016 |
+
#: includes/Integrations/Themes/Storefront.php:28
|
1017 |
+
msgid "Storefront theme"
|
1018 |
+
msgstr ""
|
1019 |
+
|
1020 |
+
#: includes/Integrations/Themes/Storefront.php:35
|
1021 |
+
msgid "Replace search form"
|
1022 |
+
msgstr ""
|
1023 |
+
|
1024 |
+
#: includes/Integrations/Themes/Storefront.php:36
|
1025 |
+
msgid ""
|
1026 |
+
"Replace the Storefront theme's default product search with the Ajax Search "
|
1027 |
+
"for WooCommerce form."
|
1028 |
+
msgstr ""
|
1029 |
+
|
1030 |
+
#: includes/Admin/Promo/Upgrade.php:50
|
1031 |
+
msgid "Speed up search! (even 10x faster) - users love it!"
|
1032 |
+
msgstr ""
|
1033 |
+
|
1034 |
+
#: includes/Admin/Promo/Upgrade.php:53
|
1035 |
+
msgid "Search in attributes and variation products SKUs (option)"
|
1036 |
+
msgstr ""
|
1037 |
+
|
1038 |
+
#: includes/Admin/Promo/Upgrade.php:55
|
1039 |
+
msgid "Individual tips and support by Damian Góra - the author of the plugin"
|
1040 |
+
msgstr ""
|
1041 |
+
|
1042 |
+
#: includes/Admin/Promo/Upgrade.php:56
|
1043 |
+
msgid "and more..."
|
1044 |
+
msgstr ""
|
1045 |
+
|
1046 |
+
#: includes/Admin/Promo/Upgrade.php:58
|
1047 |
+
msgid "Ajax Search for WooCommerce PRO - Upgrade Now"
|
1048 |
+
msgstr ""
|
1049 |
+
|
1050 |
+
#: includes/Admin/Promo/Upgrade.php:68
|
1051 |
+
msgid "You can upgrade without leaving the admin panel by clicking below."
|
1052 |
+
msgstr ""
|
1053 |
+
|
1054 |
+
#: includes/Admin/Promo/Upgrade.php:69
|
1055 |
+
msgid "Free updates and email support included."
|
1056 |
+
msgstr ""
|
1057 |
+
|
1058 |
+
#: includes/Admin/Promo/Upgrade.php:70
|
1059 |
+
msgid "Upgrade Now"
|
1060 |
+
msgstr ""
|
1061 |
+
|
1062 |
+
#: includes/Admin/Promo/FeedbackNotice.php:72
|
1063 |
+
#, php-format
|
1064 |
+
msgid ""
|
1065 |
+
"Hey %s, it's Damian Góra from %s. You have used this free plugin for some "
|
1066 |
+
"time now, and I hope you like it!"
|
1067 |
+
msgstr ""
|
1068 |
+
"Hey %s, soy Damian Góra desde %s. Ya llevas algún tiempo usando este plugin "
|
1069 |
+
"gratuito, y espero que te guste!"
|
1070 |
+
|
1071 |
+
#: includes/Admin/Promo/FeedbackNotice.php:77
|
1072 |
+
#, php-format
|
1073 |
+
msgid ""
|
1074 |
+
"I have spent countless hours developing it, and it would mean a lot to me if "
|
1075 |
+
"you %ssupport it with a quick review on WordPress.org.%s"
|
1076 |
+
msgstr ""
|
1077 |
+
"He pasado innumerables horas desarrollándolo, y significaría mucho para mí "
|
1078 |
+
"si lo %sapoyas con una rápida revisión en WordPress.org.%s"
|
1079 |
+
|
1080 |
+
#: includes/Admin/Promo/FeedbackNotice.php:83
|
1081 |
+
#, php-format
|
1082 |
+
msgid "Review %s"
|
1083 |
+
msgstr "Revisar %s"
|
1084 |
+
|
1085 |
+
#: includes/Admin/Promo/FeedbackNotice.php:87
|
1086 |
+
msgid "No thanks"
|
1087 |
+
msgstr "No gracias"
|
1088 |
+
|
1089 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:149
|
1090 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:151
|
1091 |
+
msgctxt "Admin, logs"
|
1092 |
+
msgid ""
|
1093 |
+
"The request to build a new index rejected. Another process is in progress."
|
1094 |
+
msgstr ""
|
1095 |
+
|
1096 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:155
|
1097 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:318
|
1098 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:159
|
1099 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:302
|
1100 |
+
msgctxt "Admin, logs"
|
1101 |
+
msgid "There are no tables in the database"
|
1102 |
+
msgstr ""
|
1103 |
+
|
1104 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:163
|
1105 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:168
|
1106 |
+
msgctxt "Admin, logs"
|
1107 |
+
msgid "Indexer started"
|
1108 |
+
msgstr ""
|
1109 |
+
|
1110 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:183
|
1111 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:202
|
1112 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:192
|
1113 |
+
msgctxt "Admin, logs"
|
1114 |
+
msgid "[Readable index] Building..."
|
1115 |
+
msgstr ""
|
1116 |
+
|
1117 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:198
|
1118 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:168
|
1119 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:168
|
1120 |
+
msgctxt "Admin, logs"
|
1121 |
+
msgid "[Readable index] Completed"
|
1122 |
+
msgstr ""
|
1123 |
+
|
1124 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:209
|
1125 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/AsyncRequest.php:37
|
1126 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/AsyncRequest.php:37
|
1127 |
+
msgctxt "Admin, logs"
|
1128 |
+
msgid "[Searchable index] Building..."
|
1129 |
+
msgstr ""
|
1130 |
+
|
1131 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:220
|
1132 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/AsyncRequest.php:53
|
1133 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/AsyncRequest.php:53
|
1134 |
+
msgctxt "Admin, logs"
|
1135 |
+
msgid "[Searchable index] Completed"
|
1136 |
+
msgstr ""
|
1137 |
+
|
1138 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:393
|
1139 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:377
|
1140 |
+
msgid "Wait... Indexing in progress"
|
1141 |
+
msgstr ""
|
1142 |
+
|
1143 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:394
|
1144 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:378
|
1145 |
+
msgid "This process will continue in the background. You can leave this page!"
|
1146 |
+
msgstr ""
|
1147 |
+
|
1148 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:398
|
1149 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:382
|
1150 |
+
msgid "Wait... The index build process is canceling"
|
1151 |
+
msgstr ""
|
1152 |
+
|
1153 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:399
|
1154 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:383
|
1155 |
+
msgid "Canceling..."
|
1156 |
+
msgstr ""
|
1157 |
+
|
1158 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:404
|
1159 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:388
|
1160 |
+
msgid "The search index was built successfully."
|
1161 |
+
msgstr ""
|
1162 |
+
|
1163 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:405
|
1164 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:389
|
1165 |
+
msgid "Completed. Works."
|
1166 |
+
msgstr ""
|
1167 |
+
|
1168 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:409
|
1169 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:393
|
1170 |
+
msgid "The search index could not be built."
|
1171 |
+
msgstr ""
|
1172 |
+
|
1173 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:410
|
1174 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:394
|
1175 |
+
msgid "Errors"
|
1176 |
+
msgstr ""
|
1177 |
+
|
1178 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:415
|
1179 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:399
|
1180 |
+
msgid "Not exist"
|
1181 |
+
msgstr ""
|
1182 |
+
|
1183 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:437
|
1184 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:421
|
1185 |
+
msgid "Stop process"
|
1186 |
+
msgstr ""
|
1187 |
+
|
1188 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:439
|
1189 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:424
|
1190 |
+
msgid "Rebuild index"
|
1191 |
+
msgstr ""
|
1192 |
+
|
1193 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:441
|
1194 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:427
|
1195 |
+
msgid "Try to build the index again."
|
1196 |
+
msgstr ""
|
1197 |
+
|
1198 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Indexer.php:199
|
1199 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Indexer.php:199
|
1200 |
+
msgctxt "Admin, logs"
|
1201 |
+
msgid "[Taxonomy index] Cleared"
|
1202 |
+
msgstr ""
|
1203 |
+
|
1204 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Indexer.php:201
|
1205 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Indexer.php:201
|
1206 |
+
msgctxt "Admin, logs"
|
1207 |
+
msgid "[Taxonomy index] Can not be cleared"
|
1208 |
+
msgstr ""
|
1209 |
+
|
1210 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Request.php:38
|
1211 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Request.php:38
|
1212 |
+
#, php-format
|
1213 |
+
msgctxt "Admin, logs"
|
1214 |
+
msgid "[Taxonomy index] Building %s..."
|
1215 |
+
msgstr ""
|
1216 |
+
|
1217 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Request.php:51
|
1218 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Request.php:51
|
1219 |
+
#, php-format
|
1220 |
+
msgctxt "Admin, logs"
|
1221 |
+
msgid "[Taxonomy index] Completed: %s, Not indexed: %s"
|
1222 |
+
msgstr ""
|
1223 |
+
|
1224 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/Indexer.php:176
|
1225 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/Indexer.php:171
|
1226 |
+
msgctxt "Admin, logs"
|
1227 |
+
msgid "[Searchable index] Cleared"
|
1228 |
+
msgstr ""
|
1229 |
+
|
1230 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/Indexer.php:178
|
1231 |
+
msgctxt "Admin, logs"
|
1232 |
+
msgid "[Searchable index] Can not be cleared"
|
1233 |
+
msgstr ""
|
1234 |
+
|
1235 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/Indexer.php:153
|
1236 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/Indexer.php:153
|
1237 |
+
msgctxt "Admin, logs"
|
1238 |
+
msgid "[Readable index] Cleared"
|
1239 |
+
msgstr ""
|
1240 |
+
|
1241 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/Indexer.php:155
|
1242 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/Indexer.php:155
|
1243 |
+
msgctxt "Admin, logs"
|
1244 |
+
msgid "[Readable index] Can not be cleared"
|
1245 |
+
msgstr ""
|
1246 |
+
|
1247 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:121
|
1248 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:121
|
1249 |
+
#, php-format
|
1250 |
+
msgctxt "Admin, logs"
|
1251 |
+
msgid "[Readable index] The queue <code>%s</code> was deleted "
|
1252 |
+
msgstr ""
|
1253 |
+
|
1254 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:134
|
1255 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:134
|
1256 |
+
#, php-format
|
1257 |
+
msgctxt "Admin, logs"
|
1258 |
+
msgid "[Readable index] Schedule <code>%s</code> was created "
|
1259 |
+
msgstr ""
|
1260 |
+
|
1261 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:150
|
1262 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:150
|
1263 |
+
#, php-format
|
1264 |
+
msgctxt "Admin, logs"
|
1265 |
+
msgid "[Readable index] The queue <code>%s</code> was created"
|
1266 |
+
msgstr ""
|
1267 |
+
|
1268 |
+
#. Name of the plugin
|
1269 |
+
msgid "AJAX Search for WooCommerce MysQL"
|
1270 |
+
msgstr ""
|
1271 |
+
|
1272 |
+
#. Description of the plugin
|
1273 |
+
msgid ""
|
1274 |
+
"Allows your customers to search products easily and quickly. It will display "
|
1275 |
+
"the results instantly while typing in an inputbox."
|
1276 |
+
msgstr ""
|
1277 |
+
|
1278 |
+
#. URI of the plugin
|
1279 |
+
msgid "https://wordpress.org/plugins/ajax-search-for-woocommerce/"
|
1280 |
+
msgstr ""
|
1281 |
+
|
1282 |
+
#. Author of the plugin
|
1283 |
+
msgid "Damian Góra"
|
1284 |
+
msgstr ""
|
1285 |
+
|
1286 |
+
#. Author URI of the plugin
|
1287 |
+
msgid "http://damiangora.com"
|
1288 |
+
msgstr ""
|
languages/ajax-search-for-woocommerce-it_IT.mo
ADDED
Binary file
|
languages/ajax-search-for-woocommerce-it_IT.po
ADDED
@@ -0,0 +1,1370 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2019-05-03 21:18+0000\n"
|
6 |
+
"PO-Revision-Date: 2019-05-03 21:20+0000\n"
|
7 |
+
"Last-Translator: dev_nIXCkVKHG <admin@webtroter.pl>\n"
|
8 |
+
"Language-Team: Italian\n"
|
9 |
+
"Language: it_IT\n"
|
10 |
+
"MIME-Version: 1.0\n"
|
11 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
+
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
14 |
+
"X-Generator: Loco https://localise.biz/\n"
|
15 |
+
"X-Loco-Version: 2.2.2; wp-5.1.1"
|
16 |
+
|
17 |
+
#: ajax-search-for-woocommerce.php:198
|
18 |
+
msgid ""
|
19 |
+
"<b>AJAX Search for WooCommerce</b>: You need PHP version at least 5.3 to run "
|
20 |
+
"this plugin. You are currently using PHP version "
|
21 |
+
msgstr ""
|
22 |
+
"<b>Ajax Search for WooCommerce</b>: E' necessaria almeno la versione 5.3 di "
|
23 |
+
"PHP per eseguire questo plugin. Al momento stai usando PHP versione "
|
24 |
+
|
25 |
+
#: ajax-search-for-woocommerce.php:221
|
26 |
+
msgid ""
|
27 |
+
"<b>AJAX Search for WooCommerce</b>: You need PHP version at least 5.5 to run "
|
28 |
+
"this plugin. You are currently using PHP version "
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#: ajax-search-for-woocommerce.php:250
|
32 |
+
#, php-format
|
33 |
+
msgid ""
|
34 |
+
"<b>AJAX Search for WooCommerce</b>:<br /> Your PHP version <b><i>%s</i></b> "
|
35 |
+
"will not longer supported in the next plugin releases."
|
36 |
+
msgstr ""
|
37 |
+
"<b>AJAX Search for WooCommerce</b>:<br /> La tua versione di PHP <b><i>%s</i>"
|
38 |
+
"</b> non sarà più supportata nelle prossime release del plugin."
|
39 |
+
|
40 |
+
#: ajax-search-for-woocommerce.php:252
|
41 |
+
msgid ""
|
42 |
+
" You have to update your PHP version to least 5.5 (recommended 7.2 or "
|
43 |
+
"greater)."
|
44 |
+
msgstr ""
|
45 |
+
" È necessario aggiornare la versione PHP almeno alla 5.5 (raccomandato 7.2 o "
|
46 |
+
"superiore)."
|
47 |
+
|
48 |
+
#: ajax-search-for-woocommerce.php:255
|
49 |
+
msgid ""
|
50 |
+
"If you cannot upgrade your PHP version yourself, you can send an email to "
|
51 |
+
"your host."
|
52 |
+
msgstr ""
|
53 |
+
"Se non sei in grado di aggiornare tu stesso la versione di PHP, puoi inviare "
|
54 |
+
"una email al tuo hosting."
|
55 |
+
|
56 |
+
#: ajax-search-for-woocommerce.php:258
|
57 |
+
msgid ""
|
58 |
+
"If you do not upgrade the php version, the next plugin release will not work!"
|
59 |
+
msgstr ""
|
60 |
+
"Se non si aggiorna la versione php, la prossima versione del plugin non "
|
61 |
+
"funzionerà!"
|
62 |
+
|
63 |
+
#: ajax-search-for-woocommerce.php:263
|
64 |
+
msgid "Remind me again in week."
|
65 |
+
msgstr "Ricordamelo di nuovo tra una settimana."
|
66 |
+
|
67 |
+
#: ajax-search-for-woocommerce.php:285
|
68 |
+
#, php-format
|
69 |
+
msgid ""
|
70 |
+
"<b>AJAX Search for WooCommerce</b> is enabled but not effective. It requires "
|
71 |
+
"%s in order to work."
|
72 |
+
msgstr ""
|
73 |
+
"<b>Ajax Search for WooCommerce</b> è abilitato ma non in funzione. Necessita "
|
74 |
+
"di %s per funzionare."
|
75 |
+
|
76 |
+
#: widget.php:25
|
77 |
+
msgid "AJAX (live) search form for WooCommerce"
|
78 |
+
msgstr "Modulo di ricerca Ajax (live) per WooCommerce"
|
79 |
+
|
80 |
+
#: widget.php:27
|
81 |
+
msgid "Woo AJAX Search"
|
82 |
+
msgstr "Ricerca Ajax Woo"
|
83 |
+
|
84 |
+
#: widget.php:32
|
85 |
+
msgid "Title"
|
86 |
+
msgstr "Titolo"
|
87 |
+
|
88 |
+
#: partials/search-form.php:19 backward-compatibility/1-1-7/search-form.php:67
|
89 |
+
msgid "Products search"
|
90 |
+
msgstr "Ricerca prodotti"
|
91 |
+
|
92 |
+
#: partials/search-form.php:26 includes/Settings.php:188
|
93 |
+
#: backward-compatibility/1-1-7/search-form.php:74
|
94 |
+
msgid "Search for products..."
|
95 |
+
msgstr "Cerca prodotti..."
|
96 |
+
|
97 |
+
#: includes/Settings.php:86
|
98 |
+
msgid "Basic"
|
99 |
+
msgstr "Base"
|
100 |
+
|
101 |
+
#: includes/Settings.php:90
|
102 |
+
msgid "Form"
|
103 |
+
msgstr "Modulo"
|
104 |
+
|
105 |
+
#: includes/Settings.php:94
|
106 |
+
msgid "Colors"
|
107 |
+
msgstr "Colori"
|
108 |
+
|
109 |
+
#: includes/Settings.php:98
|
110 |
+
msgid "Scope"
|
111 |
+
msgstr "Ambito"
|
112 |
+
|
113 |
+
#: includes/Settings.php:105 includes/Helpers.php:441 includes/Helpers.php:444
|
114 |
+
msgid "Pro"
|
115 |
+
msgstr "Pro"
|
116 |
+
|
117 |
+
#: includes/Settings.php:111
|
118 |
+
msgid "Increase sales"
|
119 |
+
msgstr "Aumenta le vendite"
|
120 |
+
|
121 |
+
#: includes/Settings.php:113
|
122 |
+
msgid "by simple tricks"
|
123 |
+
msgstr "con facilità"
|
124 |
+
|
125 |
+
#: includes/Settings.php:136
|
126 |
+
msgid "How to use?"
|
127 |
+
msgstr "Come si usa?"
|
128 |
+
|
129 |
+
#: includes/Settings.php:142
|
130 |
+
msgid "Suggestions limit"
|
131 |
+
msgstr "Limite suggerimenti"
|
132 |
+
|
133 |
+
#: includes/Settings.php:145
|
134 |
+
msgid "Maximum number of suggestions rows."
|
135 |
+
msgstr "Numero massimo di righe suggerimenti."
|
136 |
+
|
137 |
+
#: includes/Settings.php:150
|
138 |
+
msgid "Minimum characters"
|
139 |
+
msgstr "Caratteri minimi"
|
140 |
+
|
141 |
+
#: includes/Settings.php:153
|
142 |
+
msgid "Minimum number of characters required to trigger autosuggest."
|
143 |
+
msgstr ""
|
144 |
+
"Numero minimo di caratteri richiesti per attivare il suggerimento automatico."
|
145 |
+
|
146 |
+
#: includes/Settings.php:158
|
147 |
+
msgid "Max form width"
|
148 |
+
msgstr "Massima larghezza modulo"
|
149 |
+
|
150 |
+
#: includes/Settings.php:161
|
151 |
+
msgid "To set 100% width leave blank"
|
152 |
+
msgstr "Per impostare larghezza 100% lasciare vuoto"
|
153 |
+
|
154 |
+
#: includes/Settings.php:166
|
155 |
+
msgid "Show submit button"
|
156 |
+
msgstr "Mostra pulsante invio"
|
157 |
+
|
158 |
+
#: includes/Settings.php:173
|
159 |
+
msgid "Custom labels"
|
160 |
+
msgstr "Etichette personalizzate"
|
161 |
+
|
162 |
+
#: includes/Settings.php:179
|
163 |
+
msgid "Search submit button text"
|
164 |
+
msgstr "Testo pulsante invio ricerca"
|
165 |
+
|
166 |
+
#: includes/Settings.php:181
|
167 |
+
msgid "To display the magnifier icon leave this field empty."
|
168 |
+
msgstr ""
|
169 |
+
"Per mostrare l'icona lente di ingrandimento lasciare vuoto questo campo."
|
170 |
+
|
171 |
+
#: includes/Settings.php:182
|
172 |
+
msgid "Search"
|
173 |
+
msgstr "Ricerca"
|
174 |
+
|
175 |
+
#: includes/Settings.php:186
|
176 |
+
msgid "Search input placeholder"
|
177 |
+
msgstr "Segnaposto campo ricerca"
|
178 |
+
|
179 |
+
#: includes/Settings.php:192
|
180 |
+
msgid "More results"
|
181 |
+
msgstr "Più risultati"
|
182 |
+
|
183 |
+
#: includes/Settings.php:194 includes/Scripts.php:41
|
184 |
+
msgid "See all results..."
|
185 |
+
msgstr "Vedi tutti i risultati..."
|
186 |
+
|
187 |
+
#: includes/Settings.php:198
|
188 |
+
msgctxt "admin"
|
189 |
+
msgid "No results"
|
190 |
+
msgstr "Nessun risultato [ admin ]"
|
191 |
+
|
192 |
+
#: includes/Settings.php:200 includes/Scripts.php:42
|
193 |
+
msgid "No results"
|
194 |
+
msgstr "Nessun risultato"
|
195 |
+
|
196 |
+
#: includes/Settings.php:206
|
197 |
+
msgid "Suggestions output"
|
198 |
+
msgstr "Output suggerimenti"
|
199 |
+
|
200 |
+
#: includes/Settings.php:212
|
201 |
+
msgid "Show product image"
|
202 |
+
msgstr "Mostra immagine prodotto"
|
203 |
+
|
204 |
+
#: includes/Settings.php:218
|
205 |
+
msgid "Show price"
|
206 |
+
msgstr "Mostra prezzo"
|
207 |
+
|
208 |
+
#: includes/Settings.php:224
|
209 |
+
msgid "Show product description"
|
210 |
+
msgstr "Mostra descrizione prodotto"
|
211 |
+
|
212 |
+
#: includes/Settings.php:230
|
213 |
+
msgid "Show SKU"
|
214 |
+
msgstr "Mostra SKU"
|
215 |
+
|
216 |
+
#: includes/Settings.php:236
|
217 |
+
msgid "Also show matching categories"
|
218 |
+
msgstr "Mostra anche categorie corrispondenti"
|
219 |
+
|
220 |
+
#: includes/Settings.php:242
|
221 |
+
msgid "Also show matching tags"
|
222 |
+
msgstr "Mostra anche tag corrispondenti"
|
223 |
+
|
224 |
+
#: includes/Settings.php:260
|
225 |
+
msgid "Mobile"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: includes/Settings.php:266
|
229 |
+
msgid "Overlay search (beta)"
|
230 |
+
msgstr ""
|
231 |
+
|
232 |
+
#: includes/Settings.php:267
|
233 |
+
msgid "Enhances user experience on mobile"
|
234 |
+
msgstr ""
|
235 |
+
|
236 |
+
#: includes/Settings.php:273
|
237 |
+
msgid "Preloader"
|
238 |
+
msgstr "Preloader"
|
239 |
+
|
240 |
+
#: includes/Settings.php:279
|
241 |
+
msgid "Show preloader"
|
242 |
+
msgstr "Mostra preloader"
|
243 |
+
|
244 |
+
#: includes/Settings.php:285
|
245 |
+
msgid "Upload preloader image"
|
246 |
+
msgstr "Carica immagine preloader"
|
247 |
+
|
248 |
+
#: includes/Settings.php:291
|
249 |
+
msgid "Details box"
|
250 |
+
msgstr "Box dettagli"
|
251 |
+
|
252 |
+
#: includes/Settings.php:297
|
253 |
+
msgid "Show details box"
|
254 |
+
msgstr "Mostra box dettagli"
|
255 |
+
|
256 |
+
#: includes/Settings.php:301
|
257 |
+
#, php-format
|
258 |
+
msgid ""
|
259 |
+
"The Details box is an additional container for extended information. The "
|
260 |
+
"details are changed dynamically when you hover the mouse over one of the "
|
261 |
+
"suggestions. <a href=\"%s\" target=\"_blank\">See where the details box will "
|
262 |
+
"appear.</a>"
|
263 |
+
msgstr ""
|
264 |
+
"Il box dettagli è un contenitore aggiuntivo per informazioni estese. I "
|
265 |
+
"dettagli vengono cambiati dinamicamente quando il cursore si trova sopra a "
|
266 |
+
"uno dei suggerimenti. <a href=\"%s\" target=\"_blank\">Vedi dove apparirà il "
|
267 |
+
"box dettagli.</a>"
|
268 |
+
|
269 |
+
#: includes/Settings.php:306
|
270 |
+
msgid "Products list"
|
271 |
+
msgstr "Lista dei prodotti"
|
272 |
+
|
273 |
+
#: includes/Settings.php:308 includes/Settings.php:322
|
274 |
+
#: includes/Settings.php:336
|
275 |
+
msgid "Applies only to category or tags suggestions type"
|
276 |
+
msgstr "Si applica solo ai tipi di suggerimenti \"categoria\" o \"tags\""
|
277 |
+
|
278 |
+
#: includes/Settings.php:310
|
279 |
+
msgid "All Product"
|
280 |
+
msgstr "Tutti i prodotti"
|
281 |
+
|
282 |
+
#: includes/Settings.php:311
|
283 |
+
msgid "Featured Products"
|
284 |
+
msgstr "Prodotti in evidenza"
|
285 |
+
|
286 |
+
#: includes/Settings.php:312
|
287 |
+
msgid "On-sale Products"
|
288 |
+
msgstr "Prodotti in offerta"
|
289 |
+
|
290 |
+
#: includes/Settings.php:319
|
291 |
+
msgid "Order by"
|
292 |
+
msgstr "Ordina per"
|
293 |
+
|
294 |
+
#: includes/Settings.php:324
|
295 |
+
msgid "Date"
|
296 |
+
msgstr "Data"
|
297 |
+
|
298 |
+
#: includes/Settings.php:325
|
299 |
+
msgid "Price"
|
300 |
+
msgstr "Prezzo"
|
301 |
+
|
302 |
+
#: includes/Settings.php:326
|
303 |
+
msgid "Random"
|
304 |
+
msgstr "Casuale"
|
305 |
+
|
306 |
+
#: includes/Settings.php:327
|
307 |
+
msgid "Sales"
|
308 |
+
msgstr "Vendite"
|
309 |
+
|
310 |
+
#: includes/Settings.php:333
|
311 |
+
msgid "Order"
|
312 |
+
msgstr ""
|
313 |
+
|
314 |
+
#: includes/Settings.php:338
|
315 |
+
msgid "DESC"
|
316 |
+
msgstr "Discendente"
|
317 |
+
|
318 |
+
#: includes/Settings.php:339
|
319 |
+
msgid "ASC"
|
320 |
+
msgstr "Ascendente"
|
321 |
+
|
322 |
+
#: includes/Settings.php:347
|
323 |
+
msgid "Search form"
|
324 |
+
msgstr "Modulo di ricerca"
|
325 |
+
|
326 |
+
#: includes/Settings.php:353
|
327 |
+
msgid "Search input background"
|
328 |
+
msgstr "Sfondo campo ricerca"
|
329 |
+
|
330 |
+
#: includes/Settings.php:359
|
331 |
+
msgid "Search input text"
|
332 |
+
msgstr "Testo campo ricerca"
|
333 |
+
|
334 |
+
#: includes/Settings.php:365
|
335 |
+
msgid "Search input border"
|
336 |
+
msgstr "Bordo campo ricerca"
|
337 |
+
|
338 |
+
#: includes/Settings.php:371
|
339 |
+
msgid "Search submit background"
|
340 |
+
msgstr "Sfondo pulsante invia"
|
341 |
+
|
342 |
+
#: includes/Settings.php:377
|
343 |
+
msgid "Search submit text"
|
344 |
+
msgstr "Testo pulsante invia"
|
345 |
+
|
346 |
+
#: includes/Settings.php:383
|
347 |
+
msgid "Suggestions"
|
348 |
+
msgstr "Suggerimenti"
|
349 |
+
|
350 |
+
#: includes/Settings.php:389
|
351 |
+
msgid "Suggestion background"
|
352 |
+
msgstr "Sfondo suggerimento"
|
353 |
+
|
354 |
+
#: includes/Settings.php:395
|
355 |
+
msgid "Suggestion selected"
|
356 |
+
msgstr "Suggerimento selezionato"
|
357 |
+
|
358 |
+
#: includes/Settings.php:401
|
359 |
+
msgid "Text color"
|
360 |
+
msgstr "Colore testo"
|
361 |
+
|
362 |
+
#: includes/Settings.php:407
|
363 |
+
msgid "Highlight color"
|
364 |
+
msgstr "Colore evidenziazione"
|
365 |
+
|
366 |
+
#: includes/Settings.php:413
|
367 |
+
msgid "Border color"
|
368 |
+
msgstr "Colore bordo"
|
369 |
+
|
370 |
+
#: includes/Settings.php:421
|
371 |
+
msgid "Search scope"
|
372 |
+
msgstr "Ambito di ricerca"
|
373 |
+
|
374 |
+
#: includes/Settings.php:427
|
375 |
+
msgid "Info"
|
376 |
+
msgstr "Informazioni"
|
377 |
+
|
378 |
+
#: includes/Settings.php:429
|
379 |
+
msgid ""
|
380 |
+
"Searching in products names is always enabled. You can extend or narrow the "
|
381 |
+
"searching scope using the following options."
|
382 |
+
msgstr ""
|
383 |
+
"La ricerca nel nome prodotto è sempre abilitata. Puoi estendere o "
|
384 |
+
"restringere l'ambito di ricerca usando le seguenti opzioni."
|
385 |
+
|
386 |
+
#: includes/Settings.php:434
|
387 |
+
msgid "Search in description"
|
388 |
+
msgstr "Cerca in descrizione"
|
389 |
+
|
390 |
+
#: includes/Settings.php:440
|
391 |
+
msgid "Search in short description"
|
392 |
+
msgstr "Cerca in descrizione breve"
|
393 |
+
|
394 |
+
#: includes/Settings.php:446
|
395 |
+
msgid "Search in SKU"
|
396 |
+
msgstr "Cerca in COD/SKU"
|
397 |
+
|
398 |
+
#: includes/Settings.php:448
|
399 |
+
msgid "Searching also in variable products SKU"
|
400 |
+
msgstr "Cerca anche in COD/SKU delle variazioni"
|
401 |
+
|
402 |
+
#: includes/Settings.php:448
|
403 |
+
#, php-format
|
404 |
+
msgid ""
|
405 |
+
"Searching in variable products SKU is available only in <a href=\"%s\">the "
|
406 |
+
"pro version</a>. It will also be available in the free version soon."
|
407 |
+
msgstr ""
|
408 |
+
"La ricerca nel COD/SKU delle variazioni è disponibile solo nella <a "
|
409 |
+
"href=\"%s\">versione pro</a>. Sarà presto disponibile anche nella versione "
|
410 |
+
"gratuita."
|
411 |
+
|
412 |
+
#: includes/Settings.php:453
|
413 |
+
msgid "Search in attributes"
|
414 |
+
msgstr "Cerca negli attributi"
|
415 |
+
|
416 |
+
#: includes/Settings.php:460
|
417 |
+
msgid "Exclude 'out of stock' products"
|
418 |
+
msgstr "Escludi prodotti esauriti"
|
419 |
+
|
420 |
+
#: includes/Settings.php:468
|
421 |
+
msgid "Pro features"
|
422 |
+
msgstr "Funzionalità Pro"
|
423 |
+
|
424 |
+
#: includes/Settings.php:474
|
425 |
+
msgid "Fuzziness"
|
426 |
+
msgstr "Logica \"fuzzy\""
|
427 |
+
|
428 |
+
#: includes/Settings.php:480
|
429 |
+
msgid "Speed up search!"
|
430 |
+
msgstr "Velocizza ricerca!"
|
431 |
+
|
432 |
+
#: includes/Settings.php:487
|
433 |
+
msgid ""
|
434 |
+
"<strong>Increases sales conversions.</strong> Returns sugestions based on "
|
435 |
+
"likely relevance even though a search keyword may not exactly match. E.g if "
|
436 |
+
"you type \"ipho<b>m</b>e\" you get the same results as for \"iphone\""
|
437 |
+
msgstr ""
|
438 |
+
"<strong>Aumenta le conversioni di vendita.</strong> Mostra suggerimenti "
|
439 |
+
"basati su rilevanza probabile anche se una chiave di ricerca non dovesse "
|
440 |
+
"corrispondere esattamente. Es. se dovessi scrivere \"ipho<b>m</b>e\" avresti "
|
441 |
+
"gli stessi risultati di \"iphone\""
|
442 |
+
|
443 |
+
#: includes/Settings.php:493
|
444 |
+
msgid "Profits"
|
445 |
+
msgstr "Profitti"
|
446 |
+
|
447 |
+
#: includes/Settings.php:500 includes/Settings.php:532
|
448 |
+
msgid "Fuzzy matching"
|
449 |
+
msgstr "Corrispondenza \"fuzzy\""
|
450 |
+
|
451 |
+
#: includes/Settings.php:505 includes/Settings.php:537
|
452 |
+
msgid "-- Disabled"
|
453 |
+
msgstr "-- Disabilitato"
|
454 |
+
|
455 |
+
#: includes/Settings.php:506 includes/Settings.php:538
|
456 |
+
msgid "Soft"
|
457 |
+
msgstr "Leggera"
|
458 |
+
|
459 |
+
#: includes/Settings.php:507 includes/Settings.php:539
|
460 |
+
msgid "Normal"
|
461 |
+
msgstr "Normale"
|
462 |
+
|
463 |
+
#: includes/Settings.php:508 includes/Settings.php:540
|
464 |
+
msgid "Hard"
|
465 |
+
msgstr "Forte"
|
466 |
+
|
467 |
+
#: includes/Settings.php:518
|
468 |
+
msgid "Select the database"
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#: includes/Settings.php:522
|
472 |
+
msgid "SQLite"
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: includes/Settings.php:523
|
476 |
+
msgid "MySQL"
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: includes/Settings.php:552 includes/Settings.php:560
|
480 |
+
msgid "Index status"
|
481 |
+
msgstr "Stato indice"
|
482 |
+
|
483 |
+
#: includes/BackwardCompatibility.php:338 partials/admin/indexer-header.php:21
|
484 |
+
msgid "Troubleshooting"
|
485 |
+
msgstr "Risoluzione problemi"
|
486 |
+
|
487 |
+
#: includes/BackwardCompatibility.php:339
|
488 |
+
msgid "troubleshooting"
|
489 |
+
msgstr "risoluzione problemi"
|
490 |
+
|
491 |
+
#: includes/BackwardCompatibility.php:348
|
492 |
+
msgid "<span style=\"color:#9b5c8f\">Complete the update process</span>"
|
493 |
+
msgstr ""
|
494 |
+
"<span style=\"color:#9b5c8f\">Completa il processo di aggiornamento</span>"
|
495 |
+
|
496 |
+
#: includes/BackwardCompatibility.php:348
|
497 |
+
msgid ""
|
498 |
+
"In the last update we have changed the AJAX search form on the frontend (CSS "
|
499 |
+
"styles, names of the HTML classes etc.). You have to check if the AJAX "
|
500 |
+
"search form looks correct with your theme after these changes."
|
501 |
+
msgstr ""
|
502 |
+
"Nell'ultimo update abbiamo cambiato il modulo di ricerca AJAX nel frontend "
|
503 |
+
"(stili CSS, nomi delle classi HTML etc.). Devi controllare se il modulo di "
|
504 |
+
"ricerca AJAX appare corretto nel tuo tema dopo queste modifiche."
|
505 |
+
|
506 |
+
#: includes/BackwardCompatibility.php:356
|
507 |
+
msgid "What should you do now?"
|
508 |
+
msgstr "Cosa dovresti fare adesso?"
|
509 |
+
|
510 |
+
#: includes/BackwardCompatibility.php:359
|
511 |
+
msgid ""
|
512 |
+
"Switch manually to the latest version to check if the AJAX search form "
|
513 |
+
"displays correctly with your theme"
|
514 |
+
msgstr ""
|
515 |
+
"Passa manualmente all'ultima versione per verificare se il modulo di ricerca "
|
516 |
+
"AJAX appare correttamente nel tuo tema"
|
517 |
+
|
518 |
+
#: includes/BackwardCompatibility.php:364
|
519 |
+
msgid "You have activated the latest version. Follow the steps below:"
|
520 |
+
msgstr "Hai attivato l'ultima versione. Segui questi passi :"
|
521 |
+
|
522 |
+
#: includes/BackwardCompatibility.php:367
|
523 |
+
#, php-format
|
524 |
+
msgid "Visit your <a target=\"_blank\" href=\"%s\">store</a>"
|
525 |
+
msgstr "Visita il tuo <a target=\"_blank\" href=\"%s\">negozio</a>"
|
526 |
+
|
527 |
+
#: includes/BackwardCompatibility.php:368
|
528 |
+
msgid "Check if the AJAX search form displays correctly"
|
529 |
+
msgstr "Controlla se il modulo AJAX appare correttamente"
|
530 |
+
|
531 |
+
#: includes/BackwardCompatibility.php:369
|
532 |
+
#, php-format
|
533 |
+
msgid "If it is ok, click %s"
|
534 |
+
msgstr "Se va bene, clicca %s"
|
535 |
+
|
536 |
+
#: includes/BackwardCompatibility.php:369
|
537 |
+
msgid "finish the update"
|
538 |
+
msgstr "completa l'aggiornamento"
|
539 |
+
|
540 |
+
#: includes/BackwardCompatibility.php:370
|
541 |
+
#, php-format
|
542 |
+
msgid "If not, switch back to <code>previous version %s</code> and see %s"
|
543 |
+
msgstr ""
|
544 |
+
"Altrimenti, ritorna alla <code> versione precedente %s</code> e guarda %s"
|
545 |
+
|
546 |
+
#: includes/BackwardCompatibility.php:377
|
547 |
+
msgid "Version switcher"
|
548 |
+
msgstr "Cambio versione"
|
549 |
+
|
550 |
+
#: includes/BackwardCompatibility.php:378
|
551 |
+
msgid "Something went wrong. Refresh the page and try again."
|
552 |
+
msgstr "Qualcosa è andato storto. Aggiorna la pagina e prova di nuovo."
|
553 |
+
|
554 |
+
#: includes/BackwardCompatibility.php:379
|
555 |
+
msgid "Saved!"
|
556 |
+
msgstr "Salvato!"
|
557 |
+
|
558 |
+
#: includes/BackwardCompatibility.php:381
|
559 |
+
msgid "previous version"
|
560 |
+
msgstr "versione precedente"
|
561 |
+
|
562 |
+
#: includes/BackwardCompatibility.php:388
|
563 |
+
msgid "latest version"
|
564 |
+
msgstr "versione più recente"
|
565 |
+
|
566 |
+
#: includes/BackwardCompatibility.php:395
|
567 |
+
#, php-format
|
568 |
+
msgid ""
|
569 |
+
"If the AJAX search form displays incorrectly after switching to the latest "
|
570 |
+
"version, see the %s"
|
571 |
+
msgstr ""
|
572 |
+
"Se il modulo di ricerca AJAX viene mostrato in modo non corretto dopo essere "
|
573 |
+
"passati all'ultima versione, vedi %s"
|
574 |
+
|
575 |
+
#: includes/BackwardCompatibility.php:402
|
576 |
+
msgid ""
|
577 |
+
"Your AJAX search form does not display correctly after manual switching to "
|
578 |
+
"the latest version."
|
579 |
+
msgstr ""
|
580 |
+
"Il tuo modulo di ricerca AJAX non appare correttamente dopo essere passato "
|
581 |
+
"manualmente all'ultima versione."
|
582 |
+
|
583 |
+
#: includes/BackwardCompatibility.php:406
|
584 |
+
msgid ""
|
585 |
+
"Probably your theme uses additional CSS styles to customize the appearance "
|
586 |
+
"of the AJAX search form. Contact the authors of your theme. Maybe they have "
|
587 |
+
"to update their CSS styles if necessary."
|
588 |
+
msgstr ""
|
589 |
+
"Probabilmente il tuo tema usa CSS aggiuntivo per personalizzare l'aspetto "
|
590 |
+
"del modulo di ricerca AJAX. Contatta gli autori del tuo tema. Forse devono "
|
591 |
+
"aggiornare i loro stili CSS se necessario."
|
592 |
+
|
593 |
+
#: includes/BackwardCompatibility.php:412
|
594 |
+
msgid "Your Theme Details"
|
595 |
+
msgstr "I dettagli del tuo tema"
|
596 |
+
|
597 |
+
#: includes/BackwardCompatibility.php:417
|
598 |
+
msgctxt "Wordpress theme name"
|
599 |
+
msgid "Name:"
|
600 |
+
msgstr "Nome: [ Nome tema WordPress ]"
|
601 |
+
|
602 |
+
#: includes/BackwardCompatibility.php:432
|
603 |
+
msgid "Author:"
|
604 |
+
msgstr "Autore:"
|
605 |
+
|
606 |
+
#: includes/BackwardCompatibility.php:449
|
607 |
+
msgid "A sample e-mail message that you can send them:"
|
608 |
+
msgstr "Un esempio di e-mail che puoi mandare loro:"
|
609 |
+
|
610 |
+
#: includes/BackwardCompatibility.php:454
|
611 |
+
#, php-format
|
612 |
+
msgid ""
|
613 |
+
"Hello,\n"
|
614 |
+
" <br /><br />\n"
|
615 |
+
" I use your %s theme with AJAX Search for WooCommerce "
|
616 |
+
"plugin - (https://wordpress.org/plugins/ajax-search-for-woocommerce/)\n"
|
617 |
+
" <br /><br />\n"
|
618 |
+
" In the lates version of AJAX Search for WooCommerce %s "
|
619 |
+
"they have changed the search form on the frontend (CSS, HTML etc.).\n"
|
620 |
+
" <br /><br />\n"
|
621 |
+
" Could you check it and update your CSS if necessary?"
|
622 |
+
msgstr ""
|
623 |
+
"Salve,\n"
|
624 |
+
" <br /><br />\n"
|
625 |
+
" Uso il vostro tema %s con il plugin AJAX Search for "
|
626 |
+
"WooCommerce - (https://wordpress.org/plugins/ajax-search-for-woocommerce/)\n"
|
627 |
+
" <br /><br />\n"
|
628 |
+
" Nella versione più recente di AJAX Search for "
|
629 |
+
"WooCommerce %s hanno modificato il modulo di ricerca nel frontend (CSS, HTML "
|
630 |
+
"etc.).\n"
|
631 |
+
" <br /><br />\n"
|
632 |
+
" Potete controllarlo e aggiornare il vostro CSS se "
|
633 |
+
"necessario?"
|
634 |
+
|
635 |
+
#: includes/BackwardCompatibility.php:470
|
636 |
+
msgid ""
|
637 |
+
"If you have any questions, do not hesitate contact <a href=\"mailto:"
|
638 |
+
"dgoraplugins@gmail.com?subject=Ajax Search for WooCommerce - Update "
|
639 |
+
"problem\">our support </a> or <a href=\"https://wordpress."
|
640 |
+
"org/support/plugin/ajax-search-for-woocommerce\" target=\"_blank\">write on "
|
641 |
+
"the WordPress.org Support</a>."
|
642 |
+
msgstr ""
|
643 |
+
"Se avete qualsiasi domanda non esitate a contattare <a href=\"mailto:"
|
644 |
+
"dgoraplugins@gmail.com?subject=Ajax Search for WooCommerce - Update "
|
645 |
+
"problem\">il nostro supporto</a> o <a href=\"https://wordpress."
|
646 |
+
"org/support/plugin/ajax-search-for-woocommerce\" target=\"_blank\">scrivete "
|
647 |
+
"alla nostra pagina supporto su WordPress.org</a>."
|
648 |
+
|
649 |
+
#: includes/BackwardCompatibility.php:477
|
650 |
+
msgid "Remind me later"
|
651 |
+
msgstr "Ricordamelo in seguito"
|
652 |
+
|
653 |
+
#: includes/Scripts.php:34
|
654 |
+
msgctxt "For product badge: on sale"
|
655 |
+
msgid "sale"
|
656 |
+
msgstr "offerta [ Per etichetta prodotto: in offerta ]"
|
657 |
+
|
658 |
+
#: includes/Scripts.php:35
|
659 |
+
msgctxt "For product badge: featured"
|
660 |
+
msgid "featured"
|
661 |
+
msgstr "in evidenza [Per etichetta prodotto: in evidenza ]"
|
662 |
+
|
663 |
+
#: includes/Scripts.php:36 includes/Engines/WordPressNative/DetailsBox.php:168
|
664 |
+
msgid "Category"
|
665 |
+
msgstr "Categoria"
|
666 |
+
|
667 |
+
#: includes/Scripts.php:37
|
668 |
+
msgid "tag"
|
669 |
+
msgstr "tag"
|
670 |
+
|
671 |
+
#: includes/Scripts.php:38
|
672 |
+
msgid "SKU:"
|
673 |
+
msgstr "COD/SKU:"
|
674 |
+
|
675 |
+
#: includes/Scripts.php:64
|
676 |
+
msgctxt "in categories fe. in Books > Crime stories"
|
677 |
+
msgid "in"
|
678 |
+
msgstr "in"
|
679 |
+
|
680 |
+
#: partials/admin/indexer-header.php:8
|
681 |
+
#, php-format
|
682 |
+
msgid "Indexed <strong>100%</strong>, <strong>%d products</strong>."
|
683 |
+
msgstr ""
|
684 |
+
|
685 |
+
#: partials/admin/indexer-header.php:12
|
686 |
+
#, php-format
|
687 |
+
msgid "Last build %s"
|
688 |
+
msgstr ""
|
689 |
+
|
690 |
+
#: partials/admin/indexer-header.php:13
|
691 |
+
msgid "All products changes will be <strong>re-indexed automatically</strong>"
|
692 |
+
msgstr ""
|
693 |
+
|
694 |
+
#: partials/admin/indexer-header.php:24
|
695 |
+
#, php-format
|
696 |
+
msgid "First try to <a class=\"%s\" href=\"#\">build the index again</a>"
|
697 |
+
msgstr ""
|
698 |
+
|
699 |
+
#: partials/admin/indexer-header.php:25
|
700 |
+
#, php-format
|
701 |
+
msgid ""
|
702 |
+
"Go to <a target=\"_blank\" href=\"%s\">WooCommerce -> Status -> section "
|
703 |
+
"\"AJAX Search for WooCommerce Pro\"</a>. Is everything green?"
|
704 |
+
msgstr ""
|
705 |
+
|
706 |
+
#: partials/admin/indexer-header.php:26
|
707 |
+
#, php-format
|
708 |
+
msgid ""
|
709 |
+
"Go to <a target=\"_blank\" href=\"%s\">WooCommerce -> Status -> Logs (tab)"
|
710 |
+
"</a>. Open last \"fatal-errors...\". Look for a phrase \"ajax-search-for-"
|
711 |
+
"woocommerce\". Did you find anything significant?"
|
712 |
+
msgstr ""
|
713 |
+
|
714 |
+
#: partials/admin/indexer-header.php:27
|
715 |
+
#, php-format
|
716 |
+
msgid ""
|
717 |
+
"Is it still not working? Write a <a target=\"_blank\" href=\"%s\">support "
|
718 |
+
"request</a>."
|
719 |
+
msgstr ""
|
720 |
+
|
721 |
+
#: partials/admin/indexer-header.php:36
|
722 |
+
#: partials/admin/indexer-header-demo.php:8
|
723 |
+
msgid "Show details"
|
724 |
+
msgstr "Mostra dettagli"
|
725 |
+
|
726 |
+
#: partials/admin/indexer-header.php:37
|
727 |
+
msgid "Hide details"
|
728 |
+
msgstr ""
|
729 |
+
|
730 |
+
#: partials/admin/indexer-body.php:6
|
731 |
+
msgid ""
|
732 |
+
"Indexing... This process will continue in the background. You can leave this "
|
733 |
+
"page."
|
734 |
+
msgstr ""
|
735 |
+
|
736 |
+
#: partials/admin/indexer-body.php:8
|
737 |
+
msgid "Index build progress"
|
738 |
+
msgstr ""
|
739 |
+
|
740 |
+
#: partials/admin/indexer-body.php:11
|
741 |
+
#, php-format
|
742 |
+
msgid "Finalization... Wait a moment. (%s products)"
|
743 |
+
msgstr ""
|
744 |
+
|
745 |
+
#: partials/admin/indexer-body.php:15
|
746 |
+
msgid "Cancellation..."
|
747 |
+
msgstr ""
|
748 |
+
|
749 |
+
#: partials/admin/indexer-body.php:32
|
750 |
+
msgid "Build ID"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: partials/admin/indexer-body.php:36
|
754 |
+
msgid "DB"
|
755 |
+
msgstr ""
|
756 |
+
|
757 |
+
#: partials/admin/indexer-body.php:40
|
758 |
+
msgid "Index build start"
|
759 |
+
msgstr ""
|
760 |
+
|
761 |
+
#: partials/admin/indexer-body.php:44
|
762 |
+
msgid "Status"
|
763 |
+
msgstr ""
|
764 |
+
|
765 |
+
#: partials/admin/indexer-body.php:48
|
766 |
+
msgid "Products"
|
767 |
+
msgstr ""
|
768 |
+
|
769 |
+
#: partials/admin/indexer-body.php:52
|
770 |
+
msgid "Searchable"
|
771 |
+
msgstr ""
|
772 |
+
|
773 |
+
#: partials/admin/indexer-body.php:56 partials/admin/indexer-body.php:79
|
774 |
+
#: partials/admin/indexer-body.php:104
|
775 |
+
msgid "Start"
|
776 |
+
msgstr ""
|
777 |
+
|
778 |
+
#: partials/admin/indexer-body.php:60 partials/admin/indexer-body.php:83
|
779 |
+
#: partials/admin/indexer-body.php:108
|
780 |
+
msgid "End"
|
781 |
+
msgstr ""
|
782 |
+
|
783 |
+
#: partials/admin/indexer-body.php:65 partials/admin/indexer-body.php:88
|
784 |
+
#: partials/admin/indexer-body.php:113
|
785 |
+
msgid "Time"
|
786 |
+
msgstr ""
|
787 |
+
|
788 |
+
#: partials/admin/indexer-body.php:74
|
789 |
+
msgid "Readable"
|
790 |
+
msgstr ""
|
791 |
+
|
792 |
+
#: partials/admin/indexer-body.php:99
|
793 |
+
msgid "Taxonomies"
|
794 |
+
msgstr ""
|
795 |
+
|
796 |
+
#: partials/admin/indexer-body.php:127
|
797 |
+
msgid "Logs"
|
798 |
+
msgstr ""
|
799 |
+
|
800 |
+
#: partials/admin/pro-starter.php:8
|
801 |
+
msgid ""
|
802 |
+
"You are using the Pro plugin version. Your customers will find the right "
|
803 |
+
"products <span>faster and simpler</span> and your sales will increase."
|
804 |
+
msgstr ""
|
805 |
+
|
806 |
+
#: partials/admin/pro-starter.php:14
|
807 |
+
#, php-format
|
808 |
+
msgid ""
|
809 |
+
"If you have any questions, do not hesitate to <a target=\"_blank\" "
|
810 |
+
"href=\"%s\">get in touch</a>."
|
811 |
+
msgstr ""
|
812 |
+
|
813 |
+
#: partials/admin/settings.php:12
|
814 |
+
msgid "AJAX Search for WooCommerce (PRO) Settings"
|
815 |
+
msgstr "Ricerca AJAX per WooCommerce (PRO) Impostazioni"
|
816 |
+
|
817 |
+
#: partials/admin/settings.php:14
|
818 |
+
msgid "AJAX Search for WooCommerce Settings"
|
819 |
+
msgstr "Ricerca AJAX per WooCommerce Impostazioni"
|
820 |
+
|
821 |
+
#: partials/admin/indexer-header-demo.php:3
|
822 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:414
|
823 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:398
|
824 |
+
msgid "The search index does not exist yet. Build it now."
|
825 |
+
msgstr "L'indice di ricerca non esiste ancora. Costruiscilo adesso."
|
826 |
+
|
827 |
+
#: partials/admin/indexer-header-demo.php:7
|
828 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:443
|
829 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:430
|
830 |
+
msgid "Build index"
|
831 |
+
msgstr "Costruisci indice"
|
832 |
+
|
833 |
+
#: partials/admin/how-to-use.php:10
|
834 |
+
msgid "There are two easy ways to display the search form"
|
835 |
+
msgstr "Ci sono due facili modi di mostrare il modulo di ricerca"
|
836 |
+
|
837 |
+
#: partials/admin/how-to-use.php:11
|
838 |
+
#, php-format
|
839 |
+
msgid "Use a shortcode %s"
|
840 |
+
msgstr "Usare lo shortcode %s"
|
841 |
+
|
842 |
+
#: partials/admin/how-to-use.php:12
|
843 |
+
#, php-format
|
844 |
+
msgid "Go to the %s and choose \"Woo AJAX Search\""
|
845 |
+
msgstr "Andare allo %s e selezionare \"Ricerca Ajax Woo\""
|
846 |
+
|
847 |
+
#: partials/admin/how-to-use.php:12
|
848 |
+
msgid "Widgets Screen"
|
849 |
+
msgstr "Schermo Widget"
|
850 |
+
|
851 |
+
#: partials/admin/how-to-use.php:14
|
852 |
+
#, php-format
|
853 |
+
msgid ""
|
854 |
+
"Are there any difficulties? <a href=\"%s\">Upgrade now</a> and our "
|
855 |
+
"developers will do everything for you."
|
856 |
+
msgstr ""
|
857 |
+
"Avete delle difficoltà? <a href=\"%s\">Eseguite ora l'Upgrade</a> e i nostri "
|
858 |
+
"sviluppatori imposteranno tutto per voi."
|
859 |
+
|
860 |
+
#: partials/admin/system-status.php:5
|
861 |
+
msgid "Ajax Search for WooCommerce (Pro)"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: partials/admin/system-status.php:6
|
865 |
+
msgid "This section shows the plugin requirements."
|
866 |
+
msgstr ""
|
867 |
+
|
868 |
+
#: partials/admin/system-status.php:12
|
869 |
+
msgid "PHP extension (mbstring)"
|
870 |
+
msgstr ""
|
871 |
+
|
872 |
+
#: partials/admin/system-status.php:29
|
873 |
+
msgid "PHP extension (pdo_mysql)"
|
874 |
+
msgstr ""
|
875 |
+
|
876 |
+
#: partials/admin/system-status.php:46
|
877 |
+
msgid "PHP extension (sqlite3)"
|
878 |
+
msgstr ""
|
879 |
+
|
880 |
+
#: partials/admin/system-status.php:61
|
881 |
+
msgid "PHP extension (pdo_sqlite)"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: partials/admin/system-status.php:76
|
885 |
+
msgid "Index directory test"
|
886 |
+
msgstr ""
|
887 |
+
|
888 |
+
#: partials/admin/system-status.php:93
|
889 |
+
msgid "Default upload path"
|
890 |
+
msgstr ""
|
891 |
+
|
892 |
+
#: partials/admin/system-status.php:96
|
893 |
+
msgid "At this moment the plugin works only with default upload directory."
|
894 |
+
msgstr ""
|
895 |
+
|
896 |
+
#: partials/admin/system-status.php:113
|
897 |
+
msgid "DB readable tables exist"
|
898 |
+
msgstr ""
|
899 |
+
|
900 |
+
#: partials/admin/system-status.php:134
|
901 |
+
msgid "Finding wp-load.php from outside"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: partials/admin/system-status.php:143
|
905 |
+
msgid "The location of wp-load.php is not the default."
|
906 |
+
msgstr ""
|
907 |
+
|
908 |
+
#: partials/admin/system-status.php:158
|
909 |
+
msgid "Multisite"
|
910 |
+
msgstr ""
|
911 |
+
|
912 |
+
#: partials/admin/system-status.php:161
|
913 |
+
msgid ""
|
914 |
+
"The Ajax Search for WooCommerce (Pro) does not support multisite yet. "
|
915 |
+
"Multisite must be disabled."
|
916 |
+
msgstr ""
|
917 |
+
|
918 |
+
#: partials/admin/system-status.php:166
|
919 |
+
msgid "disabled"
|
920 |
+
msgstr ""
|
921 |
+
|
922 |
+
#: partials/admin/system-status.php:168
|
923 |
+
msgid "enabled"
|
924 |
+
msgstr ""
|
925 |
+
|
926 |
+
#: partials/admin/system-status.php:175
|
927 |
+
msgid "Conflicts with other plugins"
|
928 |
+
msgstr ""
|
929 |
+
|
930 |
+
#: partials/admin/system-status.php:178
|
931 |
+
msgid ""
|
932 |
+
"The Ajax Search for WooCommerce (Pro) does not support multilanguages yet."
|
933 |
+
msgstr ""
|
934 |
+
|
935 |
+
#: partials/admin/system-status.php:184
|
936 |
+
msgid "no"
|
937 |
+
msgstr ""
|
938 |
+
|
939 |
+
#: partials/admin/features.php:8
|
940 |
+
msgid ""
|
941 |
+
"If users can’t find the product they’re searching for, they can’t buy it. "
|
942 |
+
"Help your customers to find the right products <span>faster and "
|
943 |
+
"simpler</span>."
|
944 |
+
msgstr ""
|
945 |
+
"Se gli utenti non riescono a trovare il prodotto che cercano non possono "
|
946 |
+
"comprarlo. Aiuta i tuoi clienti a trovare i prodotti giusti in modo <span>"
|
947 |
+
"più veloce e più semplice</span>."
|
948 |
+
|
949 |
+
#: partials/admin/features.php:10 includes/Admin/Promo/Upgrade.php:62
|
950 |
+
msgid ""
|
951 |
+
"Update now and increase your sales. You will receive 14-day satisfaction "
|
952 |
+
"guarantee. A return on investment will come very quickly."
|
953 |
+
msgstr ""
|
954 |
+
"Esegui l'upgrade e aumenta le tue vendite. Riceverai una garanzia "
|
955 |
+
"soddisfatti o rimborsati di 14 giorni. Un rendimento sull'investimento "
|
956 |
+
"arriverà molto in fretta!"
|
957 |
+
|
958 |
+
#: partials/admin/features.php:13
|
959 |
+
msgid "Speed up search! (even <b>10x faster</b>) - users love it!"
|
960 |
+
msgstr "Velocizza la ricerca! (fino a 10x più veloce) - gli utenti lo adorano!"
|
961 |
+
|
962 |
+
#: partials/admin/features.php:14
|
963 |
+
msgid ""
|
964 |
+
"Help in embedding the search form in your theme. <b>Our developers will do "
|
965 |
+
"it for you</b>."
|
966 |
+
msgstr ""
|
967 |
+
"Aiuto per incorporare il modulo di ricerca nel tuo tema. <b>I nostri "
|
968 |
+
"sviluppatori lo faranno per te</b>."
|
969 |
+
|
970 |
+
#: partials/admin/features.php:15
|
971 |
+
msgid ""
|
972 |
+
"Efficient with a large number of products. Tested on <b>20 000 products</b>"
|
973 |
+
msgstr ""
|
974 |
+
"Efficiente con un grande numero di prodotti. Testato su <b>20 000 "
|
975 |
+
"prodotti</b>"
|
976 |
+
|
977 |
+
#: partials/admin/features.php:16 includes/Admin/Promo/Upgrade.php:51
|
978 |
+
msgid "New modern search engine based on bm25 ranking algorithm"
|
979 |
+
msgstr "Nuovo motore di ricerca moderno basato sull'algoritmo di ranking bm25"
|
980 |
+
|
981 |
+
#: partials/admin/features.php:17 includes/Admin/Promo/Upgrade.php:52
|
982 |
+
msgid "Fuzzy search"
|
983 |
+
msgstr "Ricerca \"Fuzzy\""
|
984 |
+
|
985 |
+
#: partials/admin/features.php:18
|
986 |
+
msgid "Search in variation products SKUs (option)"
|
987 |
+
msgstr "Opzione ricerca in COD/SKU delle variazioni prodotto"
|
988 |
+
|
989 |
+
#: partials/admin/features.php:19
|
990 |
+
msgid "Search in product attributes (option)"
|
991 |
+
msgstr "Opzione ricerca in attributi prodotto"
|
992 |
+
|
993 |
+
#: partials/admin/features.php:20
|
994 |
+
msgid "Advanced search analytics and tips (in plans)"
|
995 |
+
msgstr "Analisi avanzata ricerca e suggerimenti (in pianificazione)"
|
996 |
+
|
997 |
+
#: partials/admin/features.php:21 includes/Admin/Promo/Upgrade.php:54
|
998 |
+
msgid "Individual customization of the search form (simple CSS improvements)"
|
999 |
+
msgstr ""
|
1000 |
+
"Personalizzazione individuale del modulo di ricerca (semplici miglioramenti "
|
1001 |
+
"CSS)"
|
1002 |
+
|
1003 |
+
#: partials/admin/features.php:22
|
1004 |
+
msgid "Individual tips and support"
|
1005 |
+
msgstr "Suggerimenti e supporto individuali"
|
1006 |
+
|
1007 |
+
#: partials/admin/features.php:23
|
1008 |
+
msgid "And more..."
|
1009 |
+
msgstr "E altro..."
|
1010 |
+
|
1011 |
+
#: partials/admin/features.php:25
|
1012 |
+
msgid "Upgrade Now!"
|
1013 |
+
msgstr "Esegui ora l'upgrade!"
|
1014 |
+
|
1015 |
+
#: includes/Admin/AdminMenu.php:31
|
1016 |
+
msgid "Ajax Search for WooCommerce"
|
1017 |
+
msgstr "Ajax Search per WooCommerce"
|
1018 |
+
|
1019 |
+
#: includes/Admin/AdminMenu.php:32
|
1020 |
+
msgid "AJAX search form"
|
1021 |
+
msgstr "Modulo ricerca AJAX"
|
1022 |
+
|
1023 |
+
#: includes/Admin/SettingsAPI.php:572
|
1024 |
+
msgid "Contact"
|
1025 |
+
msgstr "Contatta"
|
1026 |
+
|
1027 |
+
#: includes/Admin/SettingsAPI.php:575
|
1028 |
+
msgid "My Account"
|
1029 |
+
msgstr ""
|
1030 |
+
|
1031 |
+
#: includes/Admin/Requirements.php:60
|
1032 |
+
#, php-format
|
1033 |
+
msgid "Required PHP version 5.5 or higher. You use %s"
|
1034 |
+
msgstr "Versione PHP richiesta 5.5 o superiore. Stai usando %s"
|
1035 |
+
|
1036 |
+
#: includes/Admin/Requirements.php:79 includes/Admin/Requirements.php:84
|
1037 |
+
#: includes/Admin/Requirements.php:89 includes/Admin/Requirements.php:94
|
1038 |
+
#, php-format
|
1039 |
+
msgid "Required PHP extension: %s"
|
1040 |
+
msgstr "Estensione PHP richiesta: %s"
|
1041 |
+
|
1042 |
+
#: includes/Admin/Requirements.php:128
|
1043 |
+
#, php-format
|
1044 |
+
msgid "Problem with permission for the directory: %s"
|
1045 |
+
msgstr "Problema con i permessi nella directory: %s"
|
1046 |
+
|
1047 |
+
#: includes/Admin/Requirements.php:181
|
1048 |
+
#, php-format
|
1049 |
+
msgid ""
|
1050 |
+
"You use the %s plugin. The Ajax Search for WooCommerce PRO does not support "
|
1051 |
+
"multilingual yet."
|
1052 |
+
msgstr ""
|
1053 |
+
"Stai usando il plugin %s. Ricerca Ajax per WooCommerce PRO non supporta "
|
1054 |
+
"ancora il multilingua."
|
1055 |
+
|
1056 |
+
#: includes/Admin/Requirements.php:205
|
1057 |
+
msgid ""
|
1058 |
+
"Your WordPress use the multisite. The Ajax Search for WooCommerce PRO does "
|
1059 |
+
"not support multisite yet."
|
1060 |
+
msgstr ""
|
1061 |
+
"La tua installazione WordPress usa multisite. Ricerca Ajax per WooCommerce "
|
1062 |
+
"PRO non supporta ancora il multisite."
|
1063 |
+
|
1064 |
+
#: includes/Admin/Requirements.php:222
|
1065 |
+
msgid "Attention! Read this before the upgrade."
|
1066 |
+
msgstr "Attenzione! Leggi questo prima dell'upgrade."
|
1067 |
+
|
1068 |
+
#: includes/Admin/Requirements.php:223
|
1069 |
+
msgid ""
|
1070 |
+
"Ajax Search for WooCommerce PRO may not work properly in your environment "
|
1071 |
+
"for the following reasons:"
|
1072 |
+
msgstr ""
|
1073 |
+
"Ricerca Ajax per WooCommerce PRO potrebbe non funzionare correttamente nel "
|
1074 |
+
"tuo ambiente per le seguenti ragioni:"
|
1075 |
+
|
1076 |
+
#: includes/Admin/Requirements.php:233
|
1077 |
+
msgid "Ajax Search for WooCommerce PRO - Requirements"
|
1078 |
+
msgstr "Ricerca AJAX per WooCommerce - Requisiti"
|
1079 |
+
|
1080 |
+
#: includes/Admin/Requirements.php:234
|
1081 |
+
#, php-format
|
1082 |
+
msgid ""
|
1083 |
+
"If you have any questions, do not hesitate contact <a href=\"%s\">our "
|
1084 |
+
"support</a>."
|
1085 |
+
msgstr ""
|
1086 |
+
"Se hai qualsiasi domanda non esitare a contattare <a href=\"%s\">il nostro "
|
1087 |
+
"supporto</a>."
|
1088 |
+
|
1089 |
+
#: includes/Engines/WordPressNative/DetailsBox.php:170
|
1090 |
+
msgid "Tag"
|
1091 |
+
msgstr "Tag"
|
1092 |
+
|
1093 |
+
#: includes/Integrations/Themes/Storefront.php:28
|
1094 |
+
msgid "Storefront theme"
|
1095 |
+
msgstr "Tema Storefront"
|
1096 |
+
|
1097 |
+
#: includes/Integrations/Themes/Storefront.php:35
|
1098 |
+
msgid "Replace search form"
|
1099 |
+
msgstr "Sostituisci il modulo di ricerca"
|
1100 |
+
|
1101 |
+
#: includes/Integrations/Themes/Storefront.php:36
|
1102 |
+
msgid ""
|
1103 |
+
"Replace the Storefront theme's default product search with the Ajax Search "
|
1104 |
+
"for WooCommerce form."
|
1105 |
+
msgstr ""
|
1106 |
+
"Sostituisci il modulo di ricerca di default del tema Storefront con il "
|
1107 |
+
"modulo di Ricerca Ajax per WooCommerce"
|
1108 |
+
|
1109 |
+
#: includes/Admin/Promo/Upgrade.php:50
|
1110 |
+
msgid "Speed up search! (even 10x faster) - users love it!"
|
1111 |
+
msgstr "Velocizza la ricerca! (fino a 10x più veloce) - gli utenti lo adorano!"
|
1112 |
+
|
1113 |
+
#: includes/Admin/Promo/Upgrade.php:53
|
1114 |
+
msgid "Search in attributes and variation products SKUs (option)"
|
1115 |
+
msgstr "Opzione di ricerca in attributi e COD/SKU variazioni prodotto"
|
1116 |
+
|
1117 |
+
#: includes/Admin/Promo/Upgrade.php:55
|
1118 |
+
msgid "Individual tips and support by Damian Góra - the author of the plugin"
|
1119 |
+
msgstr ""
|
1120 |
+
"Suggerimenti e supporto individuale da Damian Góra - l'autore del plugin"
|
1121 |
+
|
1122 |
+
#: includes/Admin/Promo/Upgrade.php:56
|
1123 |
+
msgid "and more..."
|
1124 |
+
msgstr "e altro..."
|
1125 |
+
|
1126 |
+
#: includes/Admin/Promo/Upgrade.php:58
|
1127 |
+
msgid "Ajax Search for WooCommerce PRO - Upgrade Now"
|
1128 |
+
msgstr "Ricerca Ajax per WooCommerce PRO - Esegui ora l'upgrade"
|
1129 |
+
|
1130 |
+
#: includes/Admin/Promo/Upgrade.php:68
|
1131 |
+
msgid "You can upgrade without leaving the admin panel by clicking below."
|
1132 |
+
msgstr ""
|
1133 |
+
"Puoi eseguire l'upgrade senza abbandonare il pannello di amministrazione "
|
1134 |
+
"cliccando sotto."
|
1135 |
+
|
1136 |
+
#: includes/Admin/Promo/Upgrade.php:69
|
1137 |
+
msgid "Free updates and email support included."
|
1138 |
+
msgstr "Aggiornamenti gratuiti e supporto email compresi."
|
1139 |
+
|
1140 |
+
#: includes/Admin/Promo/Upgrade.php:70
|
1141 |
+
msgid "Upgrade Now"
|
1142 |
+
msgstr "Esegui ora l'upgrade"
|
1143 |
+
|
1144 |
+
#: includes/Admin/Promo/FeedbackNotice.php:72
|
1145 |
+
#, php-format
|
1146 |
+
msgid ""
|
1147 |
+
"Hey %s, it's Damian Góra from %s. You have used this free plugin for some "
|
1148 |
+
"time now, and I hope you like it!"
|
1149 |
+
msgstr ""
|
1150 |
+
"Hey %s, sono Damian Góra di %s. Hai usato questo plugin gratuito per un po' "
|
1151 |
+
"di tempo ormai e spero che ti piaccia!"
|
1152 |
+
|
1153 |
+
#: includes/Admin/Promo/FeedbackNotice.php:77
|
1154 |
+
#, php-format
|
1155 |
+
msgid ""
|
1156 |
+
"I have spent countless hours developing it, and it would mean a lot to me if "
|
1157 |
+
"you %ssupport it with a quick review on WordPress.org.%s"
|
1158 |
+
msgstr ""
|
1159 |
+
"Ho passato innumerevoli ore a svilupparlo e per me vorrebbe dire molto se "
|
1160 |
+
"potessi %ssostenerlo con una veloce recensione su WordPress.org.%s"
|
1161 |
+
|
1162 |
+
#: includes/Admin/Promo/FeedbackNotice.php:83
|
1163 |
+
#, php-format
|
1164 |
+
msgid "Review %s"
|
1165 |
+
msgstr "Recensisci %s"
|
1166 |
+
|
1167 |
+
#: includes/Admin/Promo/FeedbackNotice.php:87
|
1168 |
+
msgid "No thanks"
|
1169 |
+
msgstr "No grazie"
|
1170 |
+
|
1171 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:149
|
1172 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:151
|
1173 |
+
msgctxt "Admin, logs"
|
1174 |
+
msgid ""
|
1175 |
+
"The request to build a new index rejected. Another process is in progress."
|
1176 |
+
msgstr ""
|
1177 |
+
|
1178 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:155
|
1179 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:318
|
1180 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:159
|
1181 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:302
|
1182 |
+
msgctxt "Admin, logs"
|
1183 |
+
msgid "There are no tables in the database"
|
1184 |
+
msgstr ""
|
1185 |
+
|
1186 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:163
|
1187 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:168
|
1188 |
+
msgctxt "Admin, logs"
|
1189 |
+
msgid "Indexer started"
|
1190 |
+
msgstr ""
|
1191 |
+
|
1192 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:183
|
1193 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:202
|
1194 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:192
|
1195 |
+
msgctxt "Admin, logs"
|
1196 |
+
msgid "[Readable index] Building..."
|
1197 |
+
msgstr ""
|
1198 |
+
|
1199 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:198
|
1200 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:168
|
1201 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:168
|
1202 |
+
msgctxt "Admin, logs"
|
1203 |
+
msgid "[Readable index] Completed"
|
1204 |
+
msgstr ""
|
1205 |
+
|
1206 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:209
|
1207 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/AsyncRequest.php:37
|
1208 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/AsyncRequest.php:37
|
1209 |
+
msgctxt "Admin, logs"
|
1210 |
+
msgid "[Searchable index] Building..."
|
1211 |
+
msgstr ""
|
1212 |
+
|
1213 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:220
|
1214 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/AsyncRequest.php:53
|
1215 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/AsyncRequest.php:53
|
1216 |
+
msgctxt "Admin, logs"
|
1217 |
+
msgid "[Searchable index] Completed"
|
1218 |
+
msgstr ""
|
1219 |
+
|
1220 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:393
|
1221 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:377
|
1222 |
+
msgid "Wait... Indexing in progress"
|
1223 |
+
msgstr ""
|
1224 |
+
|
1225 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:394
|
1226 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:378
|
1227 |
+
msgid "This process will continue in the background. You can leave this page!"
|
1228 |
+
msgstr ""
|
1229 |
+
|
1230 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:398
|
1231 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:382
|
1232 |
+
msgid "Wait... The index build process is canceling"
|
1233 |
+
msgstr ""
|
1234 |
+
|
1235 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:399
|
1236 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:383
|
1237 |
+
msgid "Canceling..."
|
1238 |
+
msgstr ""
|
1239 |
+
|
1240 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:404
|
1241 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:388
|
1242 |
+
msgid "The search index was built successfully."
|
1243 |
+
msgstr ""
|
1244 |
+
|
1245 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:405
|
1246 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:389
|
1247 |
+
msgid "Completed. Works."
|
1248 |
+
msgstr ""
|
1249 |
+
|
1250 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:409
|
1251 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:393
|
1252 |
+
msgid "The search index could not be built."
|
1253 |
+
msgstr ""
|
1254 |
+
|
1255 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:410
|
1256 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:394
|
1257 |
+
msgid "Errors"
|
1258 |
+
msgstr ""
|
1259 |
+
|
1260 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:415
|
1261 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:399
|
1262 |
+
msgid "Not exist"
|
1263 |
+
msgstr ""
|
1264 |
+
|
1265 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:437
|
1266 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:421
|
1267 |
+
msgid "Stop process"
|
1268 |
+
msgstr ""
|
1269 |
+
|
1270 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:439
|
1271 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:424
|
1272 |
+
msgid "Rebuild index"
|
1273 |
+
msgstr ""
|
1274 |
+
|
1275 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:441
|
1276 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:427
|
1277 |
+
msgid "Try to build the index again."
|
1278 |
+
msgstr ""
|
1279 |
+
|
1280 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Indexer.php:199
|
1281 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Indexer.php:199
|
1282 |
+
msgctxt "Admin, logs"
|
1283 |
+
msgid "[Taxonomy index] Cleared"
|
1284 |
+
msgstr ""
|
1285 |
+
|
1286 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Indexer.php:201
|
1287 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Indexer.php:201
|
1288 |
+
msgctxt "Admin, logs"
|
1289 |
+
msgid "[Taxonomy index] Can not be cleared"
|
1290 |
+
msgstr ""
|
1291 |
+
|
1292 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Request.php:38
|
1293 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Request.php:38
|
1294 |
+
#, php-format
|
1295 |
+
msgctxt "Admin, logs"
|
1296 |
+
msgid "[Taxonomy index] Building %s..."
|
1297 |
+
msgstr ""
|
1298 |
+
|
1299 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Request.php:51
|
1300 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Request.php:51
|
1301 |
+
#, php-format
|
1302 |
+
msgctxt "Admin, logs"
|
1303 |
+
msgid "[Taxonomy index] Completed: %s, Not indexed: %s"
|
1304 |
+
msgstr ""
|
1305 |
+
|
1306 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/Indexer.php:176
|
1307 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/Indexer.php:171
|
1308 |
+
msgctxt "Admin, logs"
|
1309 |
+
msgid "[Searchable index] Cleared"
|
1310 |
+
msgstr ""
|
1311 |
+
|
1312 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/Indexer.php:178
|
1313 |
+
msgctxt "Admin, logs"
|
1314 |
+
msgid "[Searchable index] Can not be cleared"
|
1315 |
+
msgstr ""
|
1316 |
+
|
1317 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/Indexer.php:153
|
1318 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/Indexer.php:153
|
1319 |
+
msgctxt "Admin, logs"
|
1320 |
+
msgid "[Readable index] Cleared"
|
1321 |
+
msgstr ""
|
1322 |
+
|
1323 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/Indexer.php:155
|
1324 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/Indexer.php:155
|
1325 |
+
msgctxt "Admin, logs"
|
1326 |
+
msgid "[Readable index] Can not be cleared"
|
1327 |
+
msgstr ""
|
1328 |
+
|
1329 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:121
|
1330 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:121
|
1331 |
+
#, php-format
|
1332 |
+
msgctxt "Admin, logs"
|
1333 |
+
msgid "[Readable index] The queue <code>%s</code> was deleted "
|
1334 |
+
msgstr ""
|
1335 |
+
|
1336 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:134
|
1337 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:134
|
1338 |
+
#, php-format
|
1339 |
+
msgctxt "Admin, logs"
|
1340 |
+
msgid "[Readable index] Schedule <code>%s</code> was created "
|
1341 |
+
msgstr ""
|
1342 |
+
|
1343 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:150
|
1344 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:150
|
1345 |
+
#, php-format
|
1346 |
+
msgctxt "Admin, logs"
|
1347 |
+
msgid "[Readable index] The queue <code>%s</code> was created"
|
1348 |
+
msgstr ""
|
1349 |
+
|
1350 |
+
#. Name of the plugin
|
1351 |
+
msgid "AJAX Search for WooCommerce MysQL"
|
1352 |
+
msgstr ""
|
1353 |
+
|
1354 |
+
#. Description of the plugin
|
1355 |
+
msgid ""
|
1356 |
+
"Allows your customers to search products easily and quickly. It will display "
|
1357 |
+
"the results instantly while typing in an inputbox."
|
1358 |
+
msgstr ""
|
1359 |
+
|
1360 |
+
#. URI of the plugin
|
1361 |
+
msgid "https://wordpress.org/plugins/ajax-search-for-woocommerce/"
|
1362 |
+
msgstr ""
|
1363 |
+
|
1364 |
+
#. Author of the plugin
|
1365 |
+
msgid "Damian Góra"
|
1366 |
+
msgstr ""
|
1367 |
+
|
1368 |
+
#. Author URI of the plugin
|
1369 |
+
msgid "http://damiangora.com"
|
1370 |
+
msgstr ""
|
languages/ajax-search-for-woocommerce-pl_PL.mo
CHANGED
Binary file
|
languages/ajax-search-for-woocommerce-pl_PL.po
CHANGED
@@ -2,413 +2,1289 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Ajax Search for WooCommerce\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date:
|
6 |
-
"PO-Revision-Date:
|
7 |
"Last-Translator: dev_nIXCkVKHG <admin@webtroter.pl>\n"
|
8 |
-
"Language-Team:
|
9 |
-
"Language:
|
10 |
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10 >= 2 && n%10<=4 "
|
11 |
-
"&&(n%100<10||n%100 >= 20)? 1 : 2)
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Loco
|
|
|
16 |
|
17 |
-
#: ajax-search-for-woocommerce.php:
|
18 |
-
#, php-format
|
19 |
msgid ""
|
20 |
-
"<b>
|
21 |
-
"
|
22 |
-
msgstr ""
|
23 |
-
|
24 |
-
#: includes/widget.php:21 includes/admin/admin-menus.php:23
|
25 |
-
msgid "Woo Ajax Search"
|
26 |
-
msgstr ""
|
27 |
-
|
28 |
-
#. Name of the plugin
|
29 |
-
#: includes/admin/admin-menus.php:23 includes/admin/views/settings.php:9
|
30 |
-
msgid "Ajax Search for WooCommerce"
|
31 |
-
msgstr ""
|
32 |
-
|
33 |
-
#: includes/admin/settings/class-settings.php:376
|
34 |
-
msgid "Preloader"
|
35 |
msgstr ""
|
36 |
|
37 |
-
|
38 |
msgid ""
|
39 |
-
"
|
40 |
-
"
|
41 |
msgstr ""
|
42 |
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
45 |
msgstr ""
|
46 |
|
47 |
-
|
48 |
-
msgid "
|
|
|
|
|
49 |
msgstr ""
|
50 |
|
51 |
-
#:
|
52 |
-
msgid "Search input border"
|
53 |
-
msgstr "Obramowanie inputa"
|
54 |
-
|
55 |
-
#: includes/admin/settings/class-settings.php:321
|
56 |
-
msgid "Search submit background"
|
57 |
-
msgstr "Tło przycisku \"szukaj\""
|
58 |
-
|
59 |
-
#: includes/admin/settings/class-settings.php:327
|
60 |
-
msgid "Search submit text"
|
61 |
-
msgstr "Tekst na przycisku \"szukaj\""
|
62 |
-
|
63 |
-
#: includes/admin/settings/class-settings.php:333
|
64 |
-
msgid "Suggestions"
|
65 |
-
msgstr "Podpowiedzi"
|
66 |
-
|
67 |
-
#: includes/admin/settings/class-settings.php:338
|
68 |
-
msgid "Suggestion background"
|
69 |
-
msgstr "Tło podpowiedzi"
|
70 |
-
|
71 |
-
#: includes/admin/settings/class-settings.php:344
|
72 |
-
msgid "Suggestion selected"
|
73 |
-
msgstr "Tło zaznaczonej podpowiedzi"
|
74 |
-
|
75 |
-
#: includes/admin/settings/class-settings.php:350
|
76 |
-
msgid "Text color"
|
77 |
-
msgstr "Kolor tekstu"
|
78 |
-
|
79 |
-
#: includes/admin/settings/class-settings.php:356
|
80 |
-
msgid "Highlight color"
|
81 |
-
msgstr "Kolor podświetlenia"
|
82 |
-
|
83 |
-
#: includes/admin/settings/class-settings.php:362
|
84 |
-
msgid "Border color"
|
85 |
-
msgstr "Kolor obramowania"
|
86 |
-
|
87 |
-
#: includes/admin/settings/class-settings.php:368
|
88 |
-
msgid "Suggestions width"
|
89 |
-
msgstr "Szerokość pola z podpowiedziami"
|
90 |
-
|
91 |
-
#: includes/admin/settings/class-settings.php:371
|
92 |
msgid ""
|
93 |
-
"
|
94 |
-
"
|
95 |
msgstr ""
|
96 |
-
"Nadpisuje szerokość kontenera z podpowiedziami. Gdy zostawisz to pole puste, "
|
97 |
-
"kontener zostanie automatycznie rozciągnięty do szerokości inputa "
|
98 |
-
"wyszukiwarki."
|
99 |
-
|
100 |
-
#: includes/admin/settings/class-settings.php:381
|
101 |
-
msgid "Show preloader"
|
102 |
-
msgstr "Pokaż preloader"
|
103 |
-
|
104 |
-
#: includes/admin/settings/class-settings.php:387
|
105 |
-
msgid "Upload preloader image"
|
106 |
-
msgstr "Załaduj zdjęcie na preloader"
|
107 |
-
|
108 |
-
#: includes/admin/views/how-to-use.php:2
|
109 |
-
msgid "There are two easy ways to display the search form"
|
110 |
-
msgstr "Wyszukiwarkę można wyświetlić na dwa sposoby"
|
111 |
-
|
112 |
-
#: includes/admin/views/how-to-use.php:3
|
113 |
-
#, php-format
|
114 |
-
msgid "Use a shortcode %s"
|
115 |
-
msgstr "Użyj shortcode %s"
|
116 |
-
|
117 |
-
#: includes/admin/views/how-to-use.php:4
|
118 |
-
#, php-format
|
119 |
-
msgid "Go to the %s and choose \"Woo Ajax Search\""
|
120 |
-
msgstr "Przejdź do %s i wybierz \"Woo Ajax Search\""
|
121 |
|
122 |
-
#:
|
123 |
-
msgid "Widgets Screen"
|
124 |
-
msgstr "Widoku widgetów"
|
125 |
-
|
126 |
-
#: includes/admin/Promo/FeedbackNotice.php:68
|
127 |
-
#, php-format
|
128 |
msgid ""
|
129 |
-
"
|
130 |
-
"time now, and I hope you like it!"
|
131 |
msgstr ""
|
132 |
-
"Cześć %s, tu Damian Góra z %s. Korzystasz z tej wyszukiwarki produktów od "
|
133 |
-
"pewnego czasu i mam nadzieję że Ci się podoba!"
|
134 |
|
135 |
-
#:
|
136 |
-
|
137 |
-
msgid ""
|
138 |
-
"I have spent countless hours developing it, and it would mean a lot to me if "
|
139 |
-
"you %ssupport it with a quick review on WordPress.org.%s"
|
140 |
msgstr ""
|
141 |
-
"Spędziłem wiele godzin na pisaniu tej wtyczki i potrzebuję motywacji do "
|
142 |
-
"dalszego rozwoju wyszukiwarki. Byłbym bardzo szczęśliwy gdybyś %socenił/a "
|
143 |
-
"moją wtyczkę na WordPress.org.%s Mała rzecz a cieszy :)"
|
144 |
|
145 |
-
#:
|
146 |
#, php-format
|
147 |
-
msgid "Review %s"
|
148 |
-
msgstr "Oceń teraz"
|
149 |
-
|
150 |
-
#: includes/admin/Promo/FeedbackNotice.php:83
|
151 |
-
msgid "No thanks"
|
152 |
-
msgstr "Zamknij"
|
153 |
-
|
154 |
-
#. URI of the plugin
|
155 |
-
msgid "https://wordpress.org/plugins/ajax-search-for-woocommerce/"
|
156 |
-
msgstr "https://pl.wordpress.org/plugins/ajax-search-for-woocommerce/"
|
157 |
-
|
158 |
-
#: ajax-search-for-woocommerce.php:94
|
159 |
msgid ""
|
160 |
-
"<b>
|
161 |
-
"
|
162 |
msgstr ""
|
163 |
-
"<b>Ajax Search for WooCommerce</b>: Wymagana wersja PHP do uruchomienia "
|
164 |
-
"wtyczki to 5.3 lub wyższa. Aktualnie używasz wersji "
|
165 |
-
|
166 |
-
#: includes/class-result-details.php:147
|
167 |
-
msgid "Category"
|
168 |
-
msgstr "Kategoria"
|
169 |
-
|
170 |
-
#: includes/class-result-details.php:149
|
171 |
-
msgid "Tag"
|
172 |
-
msgstr "Tag"
|
173 |
-
|
174 |
-
#: includes/class-search.php:167
|
175 |
-
msgid "No results"
|
176 |
-
msgstr "Brak wyników"
|
177 |
|
178 |
-
#:
|
179 |
-
msgid "
|
180 |
-
msgstr "
|
181 |
|
182 |
-
#:
|
183 |
-
msgid "
|
184 |
-
msgstr "
|
185 |
|
186 |
-
#:
|
187 |
msgid "Title"
|
188 |
msgstr "Tytuł"
|
189 |
|
190 |
-
#:
|
191 |
-
msgctxt "For product badge: on sale"
|
192 |
-
msgid "sale"
|
193 |
-
msgstr "sprzedaż"
|
194 |
-
|
195 |
-
#: includes/register-scripts.php:29
|
196 |
-
msgctxt "For product badge: featured"
|
197 |
-
msgid "featured"
|
198 |
-
msgstr "wyróżniony"
|
199 |
-
|
200 |
-
#: includes/tmpl/search-form.php:19
|
201 |
msgid "Products search"
|
202 |
msgstr "Wyszukiwarka produktów"
|
203 |
|
204 |
-
#:
|
205 |
-
#:
|
206 |
msgid "Search for products..."
|
207 |
msgstr "Szukaj produktów"
|
208 |
|
209 |
-
#: includes/
|
210 |
msgid "Basic"
|
211 |
msgstr "Podstawowe"
|
212 |
|
213 |
-
#: includes/
|
214 |
-
msgid "
|
215 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
|
217 |
-
#: includes/
|
218 |
-
msgid "
|
219 |
-
msgstr "
|
220 |
|
221 |
-
#: includes/
|
222 |
-
msgid "
|
223 |
-
msgstr "
|
224 |
|
225 |
-
#: includes/
|
226 |
msgid "How to use?"
|
227 |
msgstr "Jak używać?"
|
228 |
|
229 |
-
#: includes/
|
230 |
msgid "Suggestions limit"
|
231 |
msgstr "Limit podpowiedzi"
|
232 |
|
233 |
-
#: includes/
|
234 |
msgid "Maximum number of suggestions rows."
|
235 |
msgstr "Maksymalna liczba podpowiedzi."
|
236 |
|
237 |
-
#: includes/
|
238 |
msgid "Minimum characters"
|
239 |
msgstr "Minimalna liczba znaków"
|
240 |
|
241 |
-
#: includes/
|
242 |
msgid "Minimum number of characters required to trigger autosuggest."
|
243 |
msgstr ""
|
244 |
"Minimalna liczba znaków, które należy wpisać aby pojawiły się podpowiedzi"
|
245 |
|
246 |
-
#: includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
247 |
msgid "Show submit button"
|
248 |
msgstr "Pokaż przycisk \"Szukaj\""
|
249 |
|
250 |
-
#: includes/
|
|
|
|
|
|
|
|
|
251 |
msgid "Search submit button text"
|
252 |
msgstr "Własny tekst na przycisku wyszukiwania"
|
253 |
|
254 |
-
#: includes/
|
255 |
-
msgid "To display
|
256 |
-
msgstr "
|
257 |
|
258 |
-
#: includes/
|
259 |
msgid "Search"
|
260 |
msgstr "Szukaj"
|
261 |
|
262 |
-
#: includes/
|
263 |
msgid "Search input placeholder"
|
264 |
msgstr "Placeholder dla pola wyszukiwania"
|
265 |
|
266 |
-
#: includes/
|
267 |
-
msgid "
|
268 |
-
msgstr "Pokaż okno z dodatkowymi informacjami"
|
269 |
-
|
270 |
-
#: includes/admin/settings/class-settings.php:146
|
271 |
-
msgid ""
|
272 |
-
"The Details box is an additional container for extended information. The "
|
273 |
-
"details are changed dynamically when you hover the mouse over one of the "
|
274 |
-
"suggestions."
|
275 |
msgstr ""
|
276 |
-
"Okno z dodatkowymi informacjami pojawia się po najechaniu kursorem na jedną "
|
277 |
-
"z wyświetlonych podpowiedzi."
|
278 |
-
|
279 |
-
#: includes/admin/settings/class-settings.php:153
|
280 |
-
msgid "Product search"
|
281 |
-
msgstr "Wyszukiwanie w produktach"
|
282 |
-
|
283 |
-
#: includes/admin/settings/class-settings.php:158
|
284 |
-
msgid "Search in products content"
|
285 |
-
msgstr "Szukaj w opisach produktów"
|
286 |
-
|
287 |
-
#: includes/admin/settings/class-settings.php:164
|
288 |
-
msgid "Search in products excerpt"
|
289 |
-
msgstr "Szukaj w zajawkach produktów"
|
290 |
|
291 |
-
#: includes/
|
292 |
-
msgid "
|
293 |
-
msgstr "
|
294 |
-
|
295 |
-
#: includes/admin/settings/class-settings.php:176
|
296 |
-
msgid "Exclude 'out of stock' products"
|
297 |
-
msgstr "Wyklucz produkty o zerowym stanie magazynowym"
|
298 |
-
|
299 |
-
#: includes/admin/settings/class-settings.php:182
|
300 |
-
msgid "Taxonomy search"
|
301 |
-
msgstr "Wyszukiwanie w taksonomiach"
|
302 |
|
303 |
-
#: includes/
|
304 |
-
|
305 |
-
|
|
|
306 |
|
307 |
-
#: includes/
|
308 |
-
msgid "
|
309 |
-
msgstr "
|
310 |
|
311 |
-
#: includes/
|
312 |
msgid "Suggestions output"
|
313 |
msgstr "Wygląd podpowiedzi"
|
314 |
|
315 |
-
#: includes/
|
316 |
msgid "Show product image"
|
317 |
msgstr "Pokaż zdjęcie produktu"
|
318 |
|
319 |
-
#: includes/
|
320 |
msgid "Show price"
|
321 |
msgstr "Pokaż cenę"
|
322 |
|
323 |
-
#: includes/
|
324 |
msgid "Show product description"
|
325 |
msgstr "Pokaż opis produktu"
|
326 |
|
327 |
-
#: includes/
|
328 |
msgid "Show SKU"
|
329 |
msgstr "Pokaż SKU"
|
330 |
|
331 |
-
#: includes/
|
332 |
-
msgid "
|
333 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
|
335 |
-
#: includes/
|
336 |
-
|
337 |
-
|
|
|
338 |
|
339 |
-
#: includes/
|
340 |
msgid "All Product"
|
341 |
msgstr "Wszystkie produkty"
|
342 |
|
343 |
-
#: includes/
|
344 |
msgid "Featured Products"
|
345 |
msgstr "Produkty wyróżnione"
|
346 |
|
347 |
-
#: includes/
|
348 |
msgid "On-sale Products"
|
349 |
msgstr "Produkty oznaczone jako \"wyprzedaż\""
|
350 |
|
351 |
-
#: includes/
|
352 |
-
#: includes/admin/settings/class-settings.php:270
|
353 |
msgid "Order by"
|
354 |
msgstr "Kolejność przez"
|
355 |
|
356 |
-
#: includes/
|
357 |
msgid "Date"
|
358 |
msgstr "Data"
|
359 |
|
360 |
-
#: includes/
|
361 |
msgid "Price"
|
362 |
msgstr "Cena"
|
363 |
|
364 |
-
#: includes/
|
365 |
msgid "Random"
|
366 |
msgstr "Losowo"
|
367 |
|
368 |
-
#: includes/
|
369 |
msgid "Sales"
|
370 |
msgstr "Sprzedaż"
|
371 |
|
372 |
-
#: includes/
|
|
|
|
|
|
|
|
|
373 |
msgid "DESC"
|
374 |
msgstr "Malejąco"
|
375 |
|
376 |
-
#: includes/
|
377 |
msgid "ASC"
|
378 |
msgstr "Rosnąco"
|
379 |
|
380 |
-
#: includes/
|
381 |
-
msgid "
|
382 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
383 |
|
384 |
-
#: includes/
|
385 |
-
msgid "
|
386 |
-
msgstr "
|
387 |
|
388 |
-
#: includes/
|
389 |
msgid ""
|
390 |
-
"
|
391 |
-
"
|
392 |
msgstr ""
|
393 |
-
"Wybierz \"Po lewej\" gdy formularz wyszukiwania jest bardzo blisko prawej "
|
394 |
-
"krawędzi okna."
|
395 |
|
396 |
-
#: includes/
|
397 |
-
msgid "
|
398 |
-
msgstr "
|
399 |
|
400 |
-
#: includes/
|
401 |
-
msgid "
|
402 |
-
msgstr "
|
403 |
|
404 |
-
#: includes/
|
405 |
-
msgid "Search
|
406 |
-
msgstr "
|
407 |
|
408 |
-
#: includes/
|
409 |
-
msgid "
|
410 |
-
msgstr "
|
411 |
|
412 |
-
#: includes/
|
413 |
-
|
414 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Ajax Search for WooCommerce\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2019-05-03 21:18+0000\n"
|
6 |
+
"PO-Revision-Date: 2019-05-03 21:21+0000\n"
|
7 |
"Last-Translator: dev_nIXCkVKHG <admin@webtroter.pl>\n"
|
8 |
+
"Language-Team: Polski\n"
|
9 |
+
"Language: pl_PL\n"
|
10 |
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10 >= 2 && n%10<=4 "
|
11 |
+
"&&(n%100<10||n%100 >= 20)? 1 : 2);\n"
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Loco https://localise.biz/\n"
|
16 |
+
"X-Loco-Version: 2.2.2; wp-5.1.1"
|
17 |
|
18 |
+
#: ajax-search-for-woocommerce.php:198
|
|
|
19 |
msgid ""
|
20 |
+
"<b>AJAX Search for WooCommerce</b>: You need PHP version at least 5.3 to run "
|
21 |
+
"this plugin. You are currently using PHP version "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: ajax-search-for-woocommerce.php:221
|
25 |
msgid ""
|
26 |
+
"<b>AJAX Search for WooCommerce</b>: You need PHP version at least 5.5 to run "
|
27 |
+
"this plugin. You are currently using PHP version "
|
28 |
msgstr ""
|
29 |
|
30 |
+
#: ajax-search-for-woocommerce.php:250
|
31 |
+
#, php-format
|
32 |
+
msgid ""
|
33 |
+
"<b>AJAX Search for WooCommerce</b>:<br /> Your PHP version <b><i>%s</i></b> "
|
34 |
+
"will not longer supported in the next plugin releases."
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: ajax-search-for-woocommerce.php:252
|
38 |
+
msgid ""
|
39 |
+
" You have to update your PHP version to least 5.5 (recommended 7.2 or "
|
40 |
+
"greater)."
|
41 |
msgstr ""
|
42 |
|
43 |
+
#: ajax-search-for-woocommerce.php:255
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
msgid ""
|
45 |
+
"If you cannot upgrade your PHP version yourself, you can send an email to "
|
46 |
+
"your host."
|
47 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
+
#: ajax-search-for-woocommerce.php:258
|
|
|
|
|
|
|
|
|
|
|
50 |
msgid ""
|
51 |
+
"If you do not upgrade the php version, the next plugin release will not work!"
|
|
|
52 |
msgstr ""
|
|
|
|
|
53 |
|
54 |
+
#: ajax-search-for-woocommerce.php:263
|
55 |
+
msgid "Remind me again in week."
|
|
|
|
|
|
|
56 |
msgstr ""
|
|
|
|
|
|
|
57 |
|
58 |
+
#: ajax-search-for-woocommerce.php:285
|
59 |
#, php-format
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
msgid ""
|
61 |
+
"<b>AJAX Search for WooCommerce</b> is enabled but not effective. It requires "
|
62 |
+
"%s in order to work."
|
63 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
+
#: widget.php:25
|
66 |
+
msgid "AJAX (live) search form for WooCommerce"
|
67 |
+
msgstr ""
|
68 |
|
69 |
+
#: widget.php:27
|
70 |
+
msgid "Woo AJAX Search"
|
71 |
+
msgstr ""
|
72 |
|
73 |
+
#: widget.php:32
|
74 |
msgid "Title"
|
75 |
msgstr "Tytuł"
|
76 |
|
77 |
+
#: partials/search-form.php:19 backward-compatibility/1-1-7/search-form.php:67
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
msgid "Products search"
|
79 |
msgstr "Wyszukiwarka produktów"
|
80 |
|
81 |
+
#: partials/search-form.php:26 includes/Settings.php:188
|
82 |
+
#: backward-compatibility/1-1-7/search-form.php:74
|
83 |
msgid "Search for products..."
|
84 |
msgstr "Szukaj produktów"
|
85 |
|
86 |
+
#: includes/Settings.php:86
|
87 |
msgid "Basic"
|
88 |
msgstr "Podstawowe"
|
89 |
|
90 |
+
#: includes/Settings.php:90
|
91 |
+
msgid "Form"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: includes/Settings.php:94
|
95 |
+
msgid "Colors"
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#: includes/Settings.php:98
|
99 |
+
msgid "Scope"
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
#: includes/Settings.php:105 includes/Helpers.php:441 includes/Helpers.php:444
|
103 |
+
msgid "Pro"
|
104 |
+
msgstr ""
|
105 |
|
106 |
+
#: includes/Settings.php:111
|
107 |
+
msgid "Increase sales"
|
108 |
+
msgstr ""
|
109 |
|
110 |
+
#: includes/Settings.php:113
|
111 |
+
msgid "by simple tricks"
|
112 |
+
msgstr ""
|
113 |
|
114 |
+
#: includes/Settings.php:136
|
115 |
msgid "How to use?"
|
116 |
msgstr "Jak używać?"
|
117 |
|
118 |
+
#: includes/Settings.php:142
|
119 |
msgid "Suggestions limit"
|
120 |
msgstr "Limit podpowiedzi"
|
121 |
|
122 |
+
#: includes/Settings.php:145
|
123 |
msgid "Maximum number of suggestions rows."
|
124 |
msgstr "Maksymalna liczba podpowiedzi."
|
125 |
|
126 |
+
#: includes/Settings.php:150
|
127 |
msgid "Minimum characters"
|
128 |
msgstr "Minimalna liczba znaków"
|
129 |
|
130 |
+
#: includes/Settings.php:153
|
131 |
msgid "Minimum number of characters required to trigger autosuggest."
|
132 |
msgstr ""
|
133 |
"Minimalna liczba znaków, które należy wpisać aby pojawiły się podpowiedzi"
|
134 |
|
135 |
+
#: includes/Settings.php:158
|
136 |
+
msgid "Max form width"
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: includes/Settings.php:161
|
140 |
+
msgid "To set 100% width leave blank"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: includes/Settings.php:166
|
144 |
msgid "Show submit button"
|
145 |
msgstr "Pokaż przycisk \"Szukaj\""
|
146 |
|
147 |
+
#: includes/Settings.php:173
|
148 |
+
msgid "Custom labels"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: includes/Settings.php:179
|
152 |
msgid "Search submit button text"
|
153 |
msgstr "Własny tekst na przycisku wyszukiwania"
|
154 |
|
155 |
+
#: includes/Settings.php:181
|
156 |
+
msgid "To display the magnifier icon leave this field empty."
|
157 |
+
msgstr ""
|
158 |
|
159 |
+
#: includes/Settings.php:182
|
160 |
msgid "Search"
|
161 |
msgstr "Szukaj"
|
162 |
|
163 |
+
#: includes/Settings.php:186
|
164 |
msgid "Search input placeholder"
|
165 |
msgstr "Placeholder dla pola wyszukiwania"
|
166 |
|
167 |
+
#: includes/Settings.php:192
|
168 |
+
msgid "More results"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
|
171 |
+
#: includes/Settings.php:194 includes/Scripts.php:41
|
172 |
+
msgid "See all results..."
|
173 |
+
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
|
175 |
+
#: includes/Settings.php:198
|
176 |
+
msgctxt "admin"
|
177 |
+
msgid "No results"
|
178 |
+
msgstr ""
|
179 |
|
180 |
+
#: includes/Settings.php:200 includes/Scripts.php:42
|
181 |
+
msgid "No results"
|
182 |
+
msgstr "Brak wyników"
|
183 |
|
184 |
+
#: includes/Settings.php:206
|
185 |
msgid "Suggestions output"
|
186 |
msgstr "Wygląd podpowiedzi"
|
187 |
|
188 |
+
#: includes/Settings.php:212
|
189 |
msgid "Show product image"
|
190 |
msgstr "Pokaż zdjęcie produktu"
|
191 |
|
192 |
+
#: includes/Settings.php:218
|
193 |
msgid "Show price"
|
194 |
msgstr "Pokaż cenę"
|
195 |
|
196 |
+
#: includes/Settings.php:224
|
197 |
msgid "Show product description"
|
198 |
msgstr "Pokaż opis produktu"
|
199 |
|
200 |
+
#: includes/Settings.php:230
|
201 |
msgid "Show SKU"
|
202 |
msgstr "Pokaż SKU"
|
203 |
|
204 |
+
#: includes/Settings.php:236
|
205 |
+
msgid "Also show matching categories"
|
206 |
+
msgstr ""
|
207 |
+
|
208 |
+
#: includes/Settings.php:242
|
209 |
+
msgid "Also show matching tags"
|
210 |
+
msgstr ""
|
211 |
+
|
212 |
+
#: includes/Settings.php:260
|
213 |
+
msgid "Mobile"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
#: includes/Settings.php:266
|
217 |
+
msgid "Overlay search (beta)"
|
218 |
+
msgstr ""
|
219 |
+
|
220 |
+
#: includes/Settings.php:267
|
221 |
+
msgid "Enhances user experience on mobile"
|
222 |
+
msgstr ""
|
223 |
+
|
224 |
+
#: includes/Settings.php:273
|
225 |
+
msgid "Preloader"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
#: includes/Settings.php:279
|
229 |
+
msgid "Show preloader"
|
230 |
+
msgstr "Pokaż preloader"
|
231 |
+
|
232 |
+
#: includes/Settings.php:285
|
233 |
+
msgid "Upload preloader image"
|
234 |
+
msgstr "Załaduj zdjęcie na preloader"
|
235 |
+
|
236 |
+
#: includes/Settings.php:291
|
237 |
+
msgid "Details box"
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
#: includes/Settings.php:297
|
241 |
+
msgid "Show details box"
|
242 |
+
msgstr "Pokaż okno z dodatkowymi informacjami"
|
243 |
+
|
244 |
+
#: includes/Settings.php:301
|
245 |
+
#, php-format
|
246 |
+
msgid ""
|
247 |
+
"The Details box is an additional container for extended information. The "
|
248 |
+
"details are changed dynamically when you hover the mouse over one of the "
|
249 |
+
"suggestions. <a href=\"%s\" target=\"_blank\">See where the details box will "
|
250 |
+
"appear.</a>"
|
251 |
+
msgstr ""
|
252 |
+
|
253 |
+
#: includes/Settings.php:306
|
254 |
+
msgid "Products list"
|
255 |
+
msgstr ""
|
256 |
|
257 |
+
#: includes/Settings.php:308 includes/Settings.php:322
|
258 |
+
#: includes/Settings.php:336
|
259 |
+
msgid "Applies only to category or tags suggestions type"
|
260 |
+
msgstr ""
|
261 |
|
262 |
+
#: includes/Settings.php:310
|
263 |
msgid "All Product"
|
264 |
msgstr "Wszystkie produkty"
|
265 |
|
266 |
+
#: includes/Settings.php:311
|
267 |
msgid "Featured Products"
|
268 |
msgstr "Produkty wyróżnione"
|
269 |
|
270 |
+
#: includes/Settings.php:312
|
271 |
msgid "On-sale Products"
|
272 |
msgstr "Produkty oznaczone jako \"wyprzedaż\""
|
273 |
|
274 |
+
#: includes/Settings.php:319
|
|
|
275 |
msgid "Order by"
|
276 |
msgstr "Kolejność przez"
|
277 |
|
278 |
+
#: includes/Settings.php:324
|
279 |
msgid "Date"
|
280 |
msgstr "Data"
|
281 |
|
282 |
+
#: includes/Settings.php:325
|
283 |
msgid "Price"
|
284 |
msgstr "Cena"
|
285 |
|
286 |
+
#: includes/Settings.php:326
|
287 |
msgid "Random"
|
288 |
msgstr "Losowo"
|
289 |
|
290 |
+
#: includes/Settings.php:327
|
291 |
msgid "Sales"
|
292 |
msgstr "Sprzedaż"
|
293 |
|
294 |
+
#: includes/Settings.php:333
|
295 |
+
msgid "Order"
|
296 |
+
msgstr ""
|
297 |
+
|
298 |
+
#: includes/Settings.php:338
|
299 |
msgid "DESC"
|
300 |
msgstr "Malejąco"
|
301 |
|
302 |
+
#: includes/Settings.php:339
|
303 |
msgid "ASC"
|
304 |
msgstr "Rosnąco"
|
305 |
|
306 |
+
#: includes/Settings.php:347
|
307 |
+
msgid "Search form"
|
308 |
+
msgstr "Formularz wyszukiwania"
|
309 |
+
|
310 |
+
#: includes/Settings.php:353
|
311 |
+
msgid "Search input background"
|
312 |
+
msgstr "Tło pola do wpisania frazy"
|
313 |
+
|
314 |
+
#: includes/Settings.php:359
|
315 |
+
msgid "Search input text"
|
316 |
+
msgstr "Tekst "
|
317 |
+
|
318 |
+
#: includes/Settings.php:365
|
319 |
+
msgid "Search input border"
|
320 |
+
msgstr "Obramowanie inputa"
|
321 |
+
|
322 |
+
#: includes/Settings.php:371
|
323 |
+
msgid "Search submit background"
|
324 |
+
msgstr "Tło przycisku \"szukaj\""
|
325 |
+
|
326 |
+
#: includes/Settings.php:377
|
327 |
+
msgid "Search submit text"
|
328 |
+
msgstr "Tekst na przycisku \"szukaj\""
|
329 |
+
|
330 |
+
#: includes/Settings.php:383
|
331 |
+
msgid "Suggestions"
|
332 |
+
msgstr "Podpowiedzi"
|
333 |
+
|
334 |
+
#: includes/Settings.php:389
|
335 |
+
msgid "Suggestion background"
|
336 |
+
msgstr "Tło podpowiedzi"
|
337 |
+
|
338 |
+
#: includes/Settings.php:395
|
339 |
+
msgid "Suggestion selected"
|
340 |
+
msgstr "Tło zaznaczonej podpowiedzi"
|
341 |
+
|
342 |
+
#: includes/Settings.php:401
|
343 |
+
msgid "Text color"
|
344 |
+
msgstr "Kolor tekstu"
|
345 |
+
|
346 |
+
#: includes/Settings.php:407
|
347 |
+
msgid "Highlight color"
|
348 |
+
msgstr "Kolor podświetlenia"
|
349 |
+
|
350 |
+
#: includes/Settings.php:413
|
351 |
+
msgid "Border color"
|
352 |
+
msgstr "Kolor obramowania"
|
353 |
+
|
354 |
+
#: includes/Settings.php:421
|
355 |
+
msgid "Search scope"
|
356 |
+
msgstr ""
|
357 |
|
358 |
+
#: includes/Settings.php:427
|
359 |
+
msgid "Info"
|
360 |
+
msgstr ""
|
361 |
|
362 |
+
#: includes/Settings.php:429
|
363 |
msgid ""
|
364 |
+
"Searching in products names is always enabled. You can extend or narrow the "
|
365 |
+
"searching scope using the following options."
|
366 |
msgstr ""
|
|
|
|
|
367 |
|
368 |
+
#: includes/Settings.php:434
|
369 |
+
msgid "Search in description"
|
370 |
+
msgstr ""
|
371 |
|
372 |
+
#: includes/Settings.php:440
|
373 |
+
msgid "Search in short description"
|
374 |
+
msgstr ""
|
375 |
|
376 |
+
#: includes/Settings.php:446
|
377 |
+
msgid "Search in SKU"
|
378 |
+
msgstr ""
|
379 |
|
380 |
+
#: includes/Settings.php:448
|
381 |
+
msgid "Searching also in variable products SKU"
|
382 |
+
msgstr ""
|
383 |
|
384 |
+
#: includes/Settings.php:448
|
385 |
+
#, php-format
|
386 |
+
msgid ""
|
387 |
+
"Searching in variable products SKU is available only in <a href=\"%s\">the "
|
388 |
+
"pro version</a>. It will also be available in the free version soon."
|
389 |
+
msgstr ""
|
390 |
+
|
391 |
+
#: includes/Settings.php:453
|
392 |
+
msgid "Search in attributes"
|
393 |
+
msgstr ""
|
394 |
+
|
395 |
+
#: includes/Settings.php:460
|
396 |
+
msgid "Exclude 'out of stock' products"
|
397 |
+
msgstr "Wyklucz produkty o zerowym stanie magazynowym"
|
398 |
+
|
399 |
+
#: includes/Settings.php:468
|
400 |
+
msgid "Pro features"
|
401 |
+
msgstr ""
|
402 |
+
|
403 |
+
#: includes/Settings.php:474
|
404 |
+
msgid "Fuzziness"
|
405 |
+
msgstr ""
|
406 |
+
|
407 |
+
#: includes/Settings.php:480
|
408 |
+
msgid "Speed up search!"
|
409 |
+
msgstr ""
|
410 |
+
|
411 |
+
#: includes/Settings.php:487
|
412 |
+
msgid ""
|
413 |
+
"<strong>Increases sales conversions.</strong> Returns sugestions based on "
|
414 |
+
"likely relevance even though a search keyword may not exactly match. E.g if "
|
415 |
+
"you type \"ipho<b>m</b>e\" you get the same results as for \"iphone\""
|
416 |
+
msgstr ""
|
417 |
+
|
418 |
+
#: includes/Settings.php:493
|
419 |
+
msgid "Profits"
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
+
#: includes/Settings.php:500 includes/Settings.php:532
|
423 |
+
msgid "Fuzzy matching"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: includes/Settings.php:505 includes/Settings.php:537
|
427 |
+
msgid "-- Disabled"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: includes/Settings.php:506 includes/Settings.php:538
|
431 |
+
msgid "Soft"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: includes/Settings.php:507 includes/Settings.php:539
|
435 |
+
msgid "Normal"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: includes/Settings.php:508 includes/Settings.php:540
|
439 |
+
msgid "Hard"
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: includes/Settings.php:518
|
443 |
+
msgid "Select the database"
|
444 |
+
msgstr ""
|
445 |
+
|
446 |
+
#: includes/Settings.php:522
|
447 |
+
msgid "SQLite"
|
448 |
+
msgstr ""
|
449 |
+
|
450 |
+
#: includes/Settings.php:523
|
451 |
+
msgid "MySQL"
|
452 |
+
msgstr ""
|
453 |
+
|
454 |
+
#: includes/Settings.php:552 includes/Settings.php:560
|
455 |
+
msgid "Index status"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: includes/BackwardCompatibility.php:338 partials/admin/indexer-header.php:21
|
459 |
+
msgid "Troubleshooting"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: includes/BackwardCompatibility.php:339
|
463 |
+
msgid "troubleshooting"
|
464 |
+
msgstr ""
|
465 |
+
|
466 |
+
#: includes/BackwardCompatibility.php:348
|
467 |
+
msgid "<span style=\"color:#9b5c8f\">Complete the update process</span>"
|
468 |
+
msgstr ""
|
469 |
+
|
470 |
+
#: includes/BackwardCompatibility.php:348
|
471 |
+
msgid ""
|
472 |
+
"In the last update we have changed the AJAX search form on the frontend (CSS "
|
473 |
+
"styles, names of the HTML classes etc.). You have to check if the AJAX "
|
474 |
+
"search form looks correct with your theme after these changes."
|
475 |
+
msgstr ""
|
476 |
+
|
477 |
+
#: includes/BackwardCompatibility.php:356
|
478 |
+
msgid "What should you do now?"
|
479 |
+
msgstr ""
|
480 |
+
|
481 |
+
#: includes/BackwardCompatibility.php:359
|
482 |
+
msgid ""
|
483 |
+
"Switch manually to the latest version to check if the AJAX search form "
|
484 |
+
"displays correctly with your theme"
|
485 |
+
msgstr ""
|
486 |
+
|
487 |
+
#: includes/BackwardCompatibility.php:364
|
488 |
+
msgid "You have activated the latest version. Follow the steps below:"
|
489 |
+
msgstr ""
|
490 |
+
|
491 |
+
#: includes/BackwardCompatibility.php:367
|
492 |
+
#, php-format
|
493 |
+
msgid "Visit your <a target=\"_blank\" href=\"%s\">store</a>"
|
494 |
+
msgstr ""
|
495 |
+
|
496 |
+
#: includes/BackwardCompatibility.php:368
|
497 |
+
msgid "Check if the AJAX search form displays correctly"
|
498 |
+
msgstr ""
|
499 |
+
|
500 |
+
#: includes/BackwardCompatibility.php:369
|
501 |
+
#, php-format
|
502 |
+
msgid "If it is ok, click %s"
|
503 |
+
msgstr ""
|
504 |
+
|
505 |
+
#: includes/BackwardCompatibility.php:369
|
506 |
+
msgid "finish the update"
|
507 |
+
msgstr ""
|
508 |
+
|
509 |
+
#: includes/BackwardCompatibility.php:370
|
510 |
+
#, php-format
|
511 |
+
msgid "If not, switch back to <code>previous version %s</code> and see %s"
|
512 |
+
msgstr ""
|
513 |
+
|
514 |
+
#: includes/BackwardCompatibility.php:377
|
515 |
+
msgid "Version switcher"
|
516 |
+
msgstr ""
|
517 |
+
|
518 |
+
#: includes/BackwardCompatibility.php:378
|
519 |
+
msgid "Something went wrong. Refresh the page and try again."
|
520 |
+
msgstr ""
|
521 |
+
|
522 |
+
#: includes/BackwardCompatibility.php:379
|
523 |
+
msgid "Saved!"
|
524 |
+
msgstr ""
|
525 |
+
|
526 |
+
#: includes/BackwardCompatibility.php:381
|
527 |
+
msgid "previous version"
|
528 |
+
msgstr ""
|
529 |
+
|
530 |
+
#: includes/BackwardCompatibility.php:388
|
531 |
+
msgid "latest version"
|
532 |
+
msgstr ""
|
533 |
+
|
534 |
+
#: includes/BackwardCompatibility.php:395
|
535 |
+
#, php-format
|
536 |
+
msgid ""
|
537 |
+
"If the AJAX search form displays incorrectly after switching to the latest "
|
538 |
+
"version, see the %s"
|
539 |
+
msgstr ""
|
540 |
+
|
541 |
+
#: includes/BackwardCompatibility.php:402
|
542 |
+
msgid ""
|
543 |
+
"Your AJAX search form does not display correctly after manual switching to "
|
544 |
+
"the latest version."
|
545 |
+
msgstr ""
|
546 |
+
|
547 |
+
#: includes/BackwardCompatibility.php:406
|
548 |
+
msgid ""
|
549 |
+
"Probably your theme uses additional CSS styles to customize the appearance "
|
550 |
+
"of the AJAX search form. Contact the authors of your theme. Maybe they have "
|
551 |
+
"to update their CSS styles if necessary."
|
552 |
+
msgstr ""
|
553 |
+
|
554 |
+
#: includes/BackwardCompatibility.php:412
|
555 |
+
msgid "Your Theme Details"
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: includes/BackwardCompatibility.php:417
|
559 |
+
msgctxt "Wordpress theme name"
|
560 |
+
msgid "Name:"
|
561 |
+
msgstr ""
|
562 |
+
|
563 |
+
#: includes/BackwardCompatibility.php:432
|
564 |
+
msgid "Author:"
|
565 |
+
msgstr ""
|
566 |
+
|
567 |
+
#: includes/BackwardCompatibility.php:449
|
568 |
+
msgid "A sample e-mail message that you can send them:"
|
569 |
+
msgstr ""
|
570 |
+
|
571 |
+
#: includes/BackwardCompatibility.php:454
|
572 |
+
#, php-format
|
573 |
+
msgid ""
|
574 |
+
"Hello,\n"
|
575 |
+
" <br /><br />\n"
|
576 |
+
" I use your %s theme with AJAX Search for WooCommerce "
|
577 |
+
"plugin - (https://wordpress.org/plugins/ajax-search-for-woocommerce/)\n"
|
578 |
+
" <br /><br />\n"
|
579 |
+
" In the lates version of AJAX Search for WooCommerce %s "
|
580 |
+
"they have changed the search form on the frontend (CSS, HTML etc.).\n"
|
581 |
+
" <br /><br />\n"
|
582 |
+
" Could you check it and update your CSS if necessary?"
|
583 |
+
msgstr ""
|
584 |
+
|
585 |
+
#: includes/BackwardCompatibility.php:470
|
586 |
+
msgid ""
|
587 |
+
"If you have any questions, do not hesitate contact <a href=\"mailto:"
|
588 |
+
"dgoraplugins@gmail.com?subject=Ajax Search for WooCommerce - Update "
|
589 |
+
"problem\">our support </a> or <a href=\"https://wordpress."
|
590 |
+
"org/support/plugin/ajax-search-for-woocommerce\" target=\"_blank\">write on "
|
591 |
+
"the WordPress.org Support</a>."
|
592 |
+
msgstr ""
|
593 |
+
|
594 |
+
#: includes/BackwardCompatibility.php:477
|
595 |
+
msgid "Remind me later"
|
596 |
+
msgstr ""
|
597 |
+
|
598 |
+
#: includes/Scripts.php:34
|
599 |
+
msgctxt "For product badge: on sale"
|
600 |
+
msgid "sale"
|
601 |
+
msgstr "sprzedaż"
|
602 |
+
|
603 |
+
#: includes/Scripts.php:35
|
604 |
+
msgctxt "For product badge: featured"
|
605 |
+
msgid "featured"
|
606 |
+
msgstr "wyróżniony"
|
607 |
+
|
608 |
+
#: includes/Scripts.php:36 includes/Engines/WordPressNative/DetailsBox.php:168
|
609 |
+
msgid "Category"
|
610 |
+
msgstr "Kategoria"
|
611 |
+
|
612 |
+
#: includes/Scripts.php:37
|
613 |
+
msgid "tag"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: includes/Scripts.php:38
|
617 |
+
msgid "SKU:"
|
618 |
+
msgstr ""
|
619 |
+
|
620 |
+
#: includes/Scripts.php:64
|
621 |
+
msgctxt "in categories fe. in Books > Crime stories"
|
622 |
+
msgid "in"
|
623 |
+
msgstr ""
|
624 |
+
|
625 |
+
#: partials/admin/indexer-header.php:8
|
626 |
+
#, php-format
|
627 |
+
msgid "Indexed <strong>100%</strong>, <strong>%d products</strong>."
|
628 |
+
msgstr ""
|
629 |
+
|
630 |
+
#: partials/admin/indexer-header.php:12
|
631 |
+
#, php-format
|
632 |
+
msgid "Last build %s"
|
633 |
+
msgstr ""
|
634 |
+
|
635 |
+
#: partials/admin/indexer-header.php:13
|
636 |
+
msgid "All products changes will be <strong>re-indexed automatically</strong>"
|
637 |
+
msgstr ""
|
638 |
+
|
639 |
+
#: partials/admin/indexer-header.php:24
|
640 |
+
#, php-format
|
641 |
+
msgid "First try to <a class=\"%s\" href=\"#\">build the index again</a>"
|
642 |
+
msgstr ""
|
643 |
+
|
644 |
+
#: partials/admin/indexer-header.php:25
|
645 |
+
#, php-format
|
646 |
+
msgid ""
|
647 |
+
"Go to <a target=\"_blank\" href=\"%s\">WooCommerce -> Status -> section "
|
648 |
+
"\"AJAX Search for WooCommerce Pro\"</a>. Is everything green?"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: partials/admin/indexer-header.php:26
|
652 |
+
#, php-format
|
653 |
+
msgid ""
|
654 |
+
"Go to <a target=\"_blank\" href=\"%s\">WooCommerce -> Status -> Logs (tab)"
|
655 |
+
"</a>. Open last \"fatal-errors...\". Look for a phrase \"ajax-search-for-"
|
656 |
+
"woocommerce\". Did you find anything significant?"
|
657 |
+
msgstr ""
|
658 |
+
|
659 |
+
#: partials/admin/indexer-header.php:27
|
660 |
+
#, php-format
|
661 |
+
msgid ""
|
662 |
+
"Is it still not working? Write a <a target=\"_blank\" href=\"%s\">support "
|
663 |
+
"request</a>."
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: partials/admin/indexer-header.php:36
|
667 |
+
#: partials/admin/indexer-header-demo.php:8
|
668 |
+
msgid "Show details"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: partials/admin/indexer-header.php:37
|
672 |
+
msgid "Hide details"
|
673 |
+
msgstr ""
|
674 |
+
|
675 |
+
#: partials/admin/indexer-body.php:6
|
676 |
+
msgid ""
|
677 |
+
"Indexing... This process will continue in the background. You can leave this "
|
678 |
+
"page."
|
679 |
+
msgstr ""
|
680 |
+
|
681 |
+
#: partials/admin/indexer-body.php:8
|
682 |
+
msgid "Index build progress"
|
683 |
+
msgstr ""
|
684 |
+
|
685 |
+
#: partials/admin/indexer-body.php:11
|
686 |
+
#, php-format
|
687 |
+
msgid "Finalization... Wait a moment. (%s products)"
|
688 |
+
msgstr ""
|
689 |
+
|
690 |
+
#: partials/admin/indexer-body.php:15
|
691 |
+
msgid "Cancellation..."
|
692 |
+
msgstr ""
|
693 |
+
|
694 |
+
#: partials/admin/indexer-body.php:32
|
695 |
+
msgid "Build ID"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: partials/admin/indexer-body.php:36
|
699 |
+
msgid "DB"
|
700 |
+
msgstr ""
|
701 |
+
|
702 |
+
#: partials/admin/indexer-body.php:40
|
703 |
+
msgid "Index build start"
|
704 |
+
msgstr ""
|
705 |
+
|
706 |
+
#: partials/admin/indexer-body.php:44
|
707 |
+
msgid "Status"
|
708 |
+
msgstr ""
|
709 |
+
|
710 |
+
#: partials/admin/indexer-body.php:48
|
711 |
+
msgid "Products"
|
712 |
+
msgstr ""
|
713 |
+
|
714 |
+
#: partials/admin/indexer-body.php:52
|
715 |
+
msgid "Searchable"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: partials/admin/indexer-body.php:56 partials/admin/indexer-body.php:79
|
719 |
+
#: partials/admin/indexer-body.php:104
|
720 |
+
msgid "Start"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: partials/admin/indexer-body.php:60 partials/admin/indexer-body.php:83
|
724 |
+
#: partials/admin/indexer-body.php:108
|
725 |
+
msgid "End"
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
#: partials/admin/indexer-body.php:65 partials/admin/indexer-body.php:88
|
729 |
+
#: partials/admin/indexer-body.php:113
|
730 |
+
msgid "Time"
|
731 |
+
msgstr ""
|
732 |
+
|
733 |
+
#: partials/admin/indexer-body.php:74
|
734 |
+
msgid "Readable"
|
735 |
+
msgstr ""
|
736 |
+
|
737 |
+
#: partials/admin/indexer-body.php:99
|
738 |
+
msgid "Taxonomies"
|
739 |
+
msgstr ""
|
740 |
+
|
741 |
+
#: partials/admin/indexer-body.php:127
|
742 |
+
msgid "Logs"
|
743 |
+
msgstr ""
|
744 |
+
|
745 |
+
#: partials/admin/pro-starter.php:8
|
746 |
+
msgid ""
|
747 |
+
"You are using the Pro plugin version. Your customers will find the right "
|
748 |
+
"products <span>faster and simpler</span> and your sales will increase."
|
749 |
+
msgstr ""
|
750 |
+
|
751 |
+
#: partials/admin/pro-starter.php:14
|
752 |
+
#, php-format
|
753 |
+
msgid ""
|
754 |
+
"If you have any questions, do not hesitate to <a target=\"_blank\" "
|
755 |
+
"href=\"%s\">get in touch</a>."
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: partials/admin/settings.php:12
|
759 |
+
msgid "AJAX Search for WooCommerce (PRO) Settings"
|
760 |
+
msgstr ""
|
761 |
+
|
762 |
+
#: partials/admin/settings.php:14
|
763 |
+
msgid "AJAX Search for WooCommerce Settings"
|
764 |
+
msgstr ""
|
765 |
+
|
766 |
+
#: partials/admin/indexer-header-demo.php:3
|
767 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:414
|
768 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:398
|
769 |
+
msgid "The search index does not exist yet. Build it now."
|
770 |
+
msgstr ""
|
771 |
+
|
772 |
+
#: partials/admin/indexer-header-demo.php:7
|
773 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:443
|
774 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:430
|
775 |
+
msgid "Build index"
|
776 |
+
msgstr ""
|
777 |
+
|
778 |
+
#: partials/admin/how-to-use.php:10
|
779 |
+
msgid "There are two easy ways to display the search form"
|
780 |
+
msgstr "Wyszukiwarkę można wyświetlić na dwa sposoby"
|
781 |
+
|
782 |
+
#: partials/admin/how-to-use.php:11
|
783 |
+
#, php-format
|
784 |
+
msgid "Use a shortcode %s"
|
785 |
+
msgstr "Użyj shortcode %s"
|
786 |
+
|
787 |
+
#: partials/admin/how-to-use.php:12
|
788 |
+
#, php-format
|
789 |
+
msgid "Go to the %s and choose \"Woo AJAX Search\""
|
790 |
+
msgstr ""
|
791 |
+
|
792 |
+
#: partials/admin/how-to-use.php:12
|
793 |
+
msgid "Widgets Screen"
|
794 |
+
msgstr "Widoku widgetów"
|
795 |
+
|
796 |
+
#: partials/admin/how-to-use.php:14
|
797 |
+
#, php-format
|
798 |
+
msgid ""
|
799 |
+
"Are there any difficulties? <a href=\"%s\">Upgrade now</a> and our "
|
800 |
+
"developers will do everything for you."
|
801 |
+
msgstr ""
|
802 |
+
|
803 |
+
#: partials/admin/system-status.php:5
|
804 |
+
msgid "Ajax Search for WooCommerce (Pro)"
|
805 |
+
msgstr ""
|
806 |
+
|
807 |
+
#: partials/admin/system-status.php:6
|
808 |
+
msgid "This section shows the plugin requirements."
|
809 |
+
msgstr ""
|
810 |
+
|
811 |
+
#: partials/admin/system-status.php:12
|
812 |
+
msgid "PHP extension (mbstring)"
|
813 |
+
msgstr ""
|
814 |
+
|
815 |
+
#: partials/admin/system-status.php:29
|
816 |
+
msgid "PHP extension (pdo_mysql)"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: partials/admin/system-status.php:46
|
820 |
+
msgid "PHP extension (sqlite3)"
|
821 |
+
msgstr ""
|
822 |
+
|
823 |
+
#: partials/admin/system-status.php:61
|
824 |
+
msgid "PHP extension (pdo_sqlite)"
|
825 |
+
msgstr ""
|
826 |
+
|
827 |
+
#: partials/admin/system-status.php:76
|
828 |
+
msgid "Index directory test"
|
829 |
+
msgstr ""
|
830 |
+
|
831 |
+
#: partials/admin/system-status.php:93
|
832 |
+
msgid "Default upload path"
|
833 |
+
msgstr ""
|
834 |
+
|
835 |
+
#: partials/admin/system-status.php:96
|
836 |
+
msgid "At this moment the plugin works only with default upload directory."
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: partials/admin/system-status.php:113
|
840 |
+
msgid "DB readable tables exist"
|
841 |
+
msgstr ""
|
842 |
+
|
843 |
+
#: partials/admin/system-status.php:134
|
844 |
+
msgid "Finding wp-load.php from outside"
|
845 |
+
msgstr ""
|
846 |
+
|
847 |
+
#: partials/admin/system-status.php:143
|
848 |
+
msgid "The location of wp-load.php is not the default."
|
849 |
+
msgstr ""
|
850 |
+
|
851 |
+
#: partials/admin/system-status.php:158
|
852 |
+
msgid "Multisite"
|
853 |
+
msgstr ""
|
854 |
+
|
855 |
+
#: partials/admin/system-status.php:161
|
856 |
+
msgid ""
|
857 |
+
"The Ajax Search for WooCommerce (Pro) does not support multisite yet. "
|
858 |
+
"Multisite must be disabled."
|
859 |
+
msgstr ""
|
860 |
+
|
861 |
+
#: partials/admin/system-status.php:166
|
862 |
+
msgid "disabled"
|
863 |
+
msgstr ""
|
864 |
+
|
865 |
+
#: partials/admin/system-status.php:168
|
866 |
+
msgid "enabled"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: partials/admin/system-status.php:175
|
870 |
+
msgid "Conflicts with other plugins"
|
871 |
+
msgstr ""
|
872 |
+
|
873 |
+
#: partials/admin/system-status.php:178
|
874 |
+
msgid ""
|
875 |
+
"The Ajax Search for WooCommerce (Pro) does not support multilanguages yet."
|
876 |
+
msgstr ""
|
877 |
+
|
878 |
+
#: partials/admin/system-status.php:184
|
879 |
+
msgid "no"
|
880 |
+
msgstr ""
|
881 |
+
|
882 |
+
#: partials/admin/features.php:8
|
883 |
+
msgid ""
|
884 |
+
"If users can’t find the product they’re searching for, they can’t buy it. "
|
885 |
+
"Help your customers to find the right products <span>faster and "
|
886 |
+
"simpler</span>."
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: partials/admin/features.php:10 includes/Admin/Promo/Upgrade.php:62
|
890 |
+
msgid ""
|
891 |
+
"Update now and increase your sales. You will receive 14-day satisfaction "
|
892 |
+
"guarantee. A return on investment will come very quickly."
|
893 |
+
msgstr ""
|
894 |
+
|
895 |
+
#: partials/admin/features.php:13
|
896 |
+
msgid "Speed up search! (even <b>10x faster</b>) - users love it!"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: partials/admin/features.php:14
|
900 |
+
msgid ""
|
901 |
+
"Help in embedding the search form in your theme. <b>Our developers will do "
|
902 |
+
"it for you</b>."
|
903 |
+
msgstr ""
|
904 |
+
|
905 |
+
#: partials/admin/features.php:15
|
906 |
+
msgid ""
|
907 |
+
"Efficient with a large number of products. Tested on <b>20 000 products</b>"
|
908 |
+
msgstr ""
|
909 |
+
|
910 |
+
#: partials/admin/features.php:16 includes/Admin/Promo/Upgrade.php:51
|
911 |
+
msgid "New modern search engine based on bm25 ranking algorithm"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: partials/admin/features.php:17 includes/Admin/Promo/Upgrade.php:52
|
915 |
+
msgid "Fuzzy search"
|
916 |
+
msgstr ""
|
917 |
+
|
918 |
+
#: partials/admin/features.php:18
|
919 |
+
msgid "Search in variation products SKUs (option)"
|
920 |
+
msgstr ""
|
921 |
+
|
922 |
+
#: partials/admin/features.php:19
|
923 |
+
msgid "Search in product attributes (option)"
|
924 |
+
msgstr ""
|
925 |
+
|
926 |
+
#: partials/admin/features.php:20
|
927 |
+
msgid "Advanced search analytics and tips (in plans)"
|
928 |
+
msgstr ""
|
929 |
+
|
930 |
+
#: partials/admin/features.php:21 includes/Admin/Promo/Upgrade.php:54
|
931 |
+
msgid "Individual customization of the search form (simple CSS improvements)"
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: partials/admin/features.php:22
|
935 |
+
msgid "Individual tips and support"
|
936 |
+
msgstr ""
|
937 |
+
|
938 |
+
#: partials/admin/features.php:23
|
939 |
+
msgid "And more..."
|
940 |
+
msgstr ""
|
941 |
+
|
942 |
+
#: partials/admin/features.php:25
|
943 |
+
msgid "Upgrade Now!"
|
944 |
+
msgstr ""
|
945 |
+
|
946 |
+
#. Name of the plugin
|
947 |
+
#: includes/Admin/AdminMenu.php:31
|
948 |
+
msgid "Ajax Search for WooCommerce"
|
949 |
+
msgstr ""
|
950 |
+
|
951 |
+
#: includes/Admin/AdminMenu.php:32
|
952 |
+
msgid "AJAX search form"
|
953 |
+
msgstr ""
|
954 |
+
|
955 |
+
#: includes/Admin/SettingsAPI.php:572
|
956 |
+
msgid "Contact"
|
957 |
+
msgstr ""
|
958 |
+
|
959 |
+
#: includes/Admin/SettingsAPI.php:575
|
960 |
+
msgid "My Account"
|
961 |
+
msgstr ""
|
962 |
+
|
963 |
+
#: includes/Admin/Requirements.php:60
|
964 |
+
#, php-format
|
965 |
+
msgid "Required PHP version 5.5 or higher. You use %s"
|
966 |
+
msgstr ""
|
967 |
+
|
968 |
+
#: includes/Admin/Requirements.php:79 includes/Admin/Requirements.php:84
|
969 |
+
#: includes/Admin/Requirements.php:89 includes/Admin/Requirements.php:94
|
970 |
+
#, php-format
|
971 |
+
msgid "Required PHP extension: %s"
|
972 |
+
msgstr ""
|
973 |
+
|
974 |
+
#: includes/Admin/Requirements.php:128
|
975 |
+
#, php-format
|
976 |
+
msgid "Problem with permission for the directory: %s"
|
977 |
+
msgstr ""
|
978 |
+
|
979 |
+
#: includes/Admin/Requirements.php:181
|
980 |
+
#, php-format
|
981 |
+
msgid ""
|
982 |
+
"You use the %s plugin. The Ajax Search for WooCommerce PRO does not support "
|
983 |
+
"multilingual yet."
|
984 |
+
msgstr ""
|
985 |
+
|
986 |
+
#: includes/Admin/Requirements.php:205
|
987 |
+
msgid ""
|
988 |
+
"Your WordPress use the multisite. The Ajax Search for WooCommerce PRO does "
|
989 |
+
"not support multisite yet."
|
990 |
+
msgstr ""
|
991 |
+
|
992 |
+
#: includes/Admin/Requirements.php:222
|
993 |
+
msgid "Attention! Read this before the upgrade."
|
994 |
+
msgstr ""
|
995 |
+
|
996 |
+
#: includes/Admin/Requirements.php:223
|
997 |
+
msgid ""
|
998 |
+
"Ajax Search for WooCommerce PRO may not work properly in your environment "
|
999 |
+
"for the following reasons:"
|
1000 |
+
msgstr ""
|
1001 |
+
|
1002 |
+
#: includes/Admin/Requirements.php:233
|
1003 |
+
msgid "Ajax Search for WooCommerce PRO - Requirements"
|
1004 |
+
msgstr ""
|
1005 |
+
|
1006 |
+
#: includes/Admin/Requirements.php:234
|
1007 |
+
#, php-format
|
1008 |
+
msgid ""
|
1009 |
+
"If you have any questions, do not hesitate contact <a href=\"%s\">our "
|
1010 |
+
"support</a>."
|
1011 |
+
msgstr ""
|
1012 |
+
|
1013 |
+
#: includes/Engines/WordPressNative/DetailsBox.php:170
|
1014 |
+
msgid "Tag"
|
1015 |
+
msgstr "Tag"
|
1016 |
+
|
1017 |
+
#: includes/Integrations/Themes/Storefront.php:28
|
1018 |
+
msgid "Storefront theme"
|
1019 |
+
msgstr ""
|
1020 |
+
|
1021 |
+
#: includes/Integrations/Themes/Storefront.php:35
|
1022 |
+
msgid "Replace search form"
|
1023 |
+
msgstr ""
|
1024 |
+
|
1025 |
+
#: includes/Integrations/Themes/Storefront.php:36
|
1026 |
+
msgid ""
|
1027 |
+
"Replace the Storefront theme's default product search with the Ajax Search "
|
1028 |
+
"for WooCommerce form."
|
1029 |
+
msgstr ""
|
1030 |
+
|
1031 |
+
#: includes/Admin/Promo/Upgrade.php:50
|
1032 |
+
msgid "Speed up search! (even 10x faster) - users love it!"
|
1033 |
+
msgstr ""
|
1034 |
+
|
1035 |
+
#: includes/Admin/Promo/Upgrade.php:53
|
1036 |
+
msgid "Search in attributes and variation products SKUs (option)"
|
1037 |
+
msgstr ""
|
1038 |
+
|
1039 |
+
#: includes/Admin/Promo/Upgrade.php:55
|
1040 |
+
msgid "Individual tips and support by Damian Góra - the author of the plugin"
|
1041 |
+
msgstr ""
|
1042 |
+
|
1043 |
+
#: includes/Admin/Promo/Upgrade.php:56
|
1044 |
+
msgid "and more..."
|
1045 |
+
msgstr ""
|
1046 |
+
|
1047 |
+
#: includes/Admin/Promo/Upgrade.php:58
|
1048 |
+
msgid "Ajax Search for WooCommerce PRO - Upgrade Now"
|
1049 |
+
msgstr ""
|
1050 |
+
|
1051 |
+
#: includes/Admin/Promo/Upgrade.php:68
|
1052 |
+
msgid "You can upgrade without leaving the admin panel by clicking below."
|
1053 |
+
msgstr ""
|
1054 |
+
|
1055 |
+
#: includes/Admin/Promo/Upgrade.php:69
|
1056 |
+
msgid "Free updates and email support included."
|
1057 |
+
msgstr ""
|
1058 |
+
|
1059 |
+
#: includes/Admin/Promo/Upgrade.php:70
|
1060 |
+
msgid "Upgrade Now"
|
1061 |
+
msgstr ""
|
1062 |
+
|
1063 |
+
#: includes/Admin/Promo/FeedbackNotice.php:72
|
1064 |
+
#, php-format
|
1065 |
+
msgid ""
|
1066 |
+
"Hey %s, it's Damian Góra from %s. You have used this free plugin for some "
|
1067 |
+
"time now, and I hope you like it!"
|
1068 |
+
msgstr ""
|
1069 |
+
"Cześć %s, tu Damian Góra z %s. Korzystasz z tej wyszukiwarki produktów od "
|
1070 |
+
"pewnego czasu i mam nadzieję że Ci się podoba!"
|
1071 |
+
|
1072 |
+
#: includes/Admin/Promo/FeedbackNotice.php:77
|
1073 |
+
#, php-format
|
1074 |
+
msgid ""
|
1075 |
+
"I have spent countless hours developing it, and it would mean a lot to me if "
|
1076 |
+
"you %ssupport it with a quick review on WordPress.org.%s"
|
1077 |
+
msgstr ""
|
1078 |
+
"Spędziłem wiele godzin na pisaniu tej wtyczki i potrzebuję motywacji do "
|
1079 |
+
"dalszego rozwoju wyszukiwarki. Byłbym bardzo szczęśliwy gdybyś %socenił/a "
|
1080 |
+
"moją wtyczkę na WordPress.org.%s Mała rzecz a cieszy :)"
|
1081 |
+
|
1082 |
+
#: includes/Admin/Promo/FeedbackNotice.php:83
|
1083 |
+
#, php-format
|
1084 |
+
msgid "Review %s"
|
1085 |
+
msgstr "Oceń teraz"
|
1086 |
+
|
1087 |
+
#: includes/Admin/Promo/FeedbackNotice.php:87
|
1088 |
+
msgid "No thanks"
|
1089 |
+
msgstr "Zamknij"
|
1090 |
+
|
1091 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:149
|
1092 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:151
|
1093 |
+
msgctxt "Admin, logs"
|
1094 |
+
msgid ""
|
1095 |
+
"The request to build a new index rejected. Another process is in progress."
|
1096 |
+
msgstr ""
|
1097 |
+
|
1098 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:155
|
1099 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:318
|
1100 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:159
|
1101 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:302
|
1102 |
+
msgctxt "Admin, logs"
|
1103 |
+
msgid "There are no tables in the database"
|
1104 |
+
msgstr ""
|
1105 |
+
|
1106 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:163
|
1107 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:168
|
1108 |
+
msgctxt "Admin, logs"
|
1109 |
+
msgid "Indexer started"
|
1110 |
+
msgstr ""
|
1111 |
+
|
1112 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:183
|
1113 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:202
|
1114 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:192
|
1115 |
+
msgctxt "Admin, logs"
|
1116 |
+
msgid "[Readable index] Building..."
|
1117 |
+
msgstr ""
|
1118 |
+
|
1119 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:198
|
1120 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:168
|
1121 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:168
|
1122 |
+
msgctxt "Admin, logs"
|
1123 |
+
msgid "[Readable index] Completed"
|
1124 |
+
msgstr ""
|
1125 |
+
|
1126 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:209
|
1127 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/AsyncRequest.php:37
|
1128 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/AsyncRequest.php:37
|
1129 |
+
msgctxt "Admin, logs"
|
1130 |
+
msgid "[Searchable index] Building..."
|
1131 |
+
msgstr ""
|
1132 |
+
|
1133 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:220
|
1134 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/AsyncRequest.php:53
|
1135 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/AsyncRequest.php:53
|
1136 |
+
msgctxt "Admin, logs"
|
1137 |
+
msgid "[Searchable index] Completed"
|
1138 |
+
msgstr ""
|
1139 |
+
|
1140 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:393
|
1141 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:377
|
1142 |
+
msgid "Wait... Indexing in progress"
|
1143 |
+
msgstr ""
|
1144 |
+
|
1145 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:394
|
1146 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:378
|
1147 |
+
msgid "This process will continue in the background. You can leave this page!"
|
1148 |
+
msgstr ""
|
1149 |
+
|
1150 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:398
|
1151 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:382
|
1152 |
+
msgid "Wait... The index build process is canceling"
|
1153 |
+
msgstr ""
|
1154 |
+
|
1155 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:399
|
1156 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:383
|
1157 |
+
msgid "Canceling..."
|
1158 |
+
msgstr ""
|
1159 |
+
|
1160 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:404
|
1161 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:388
|
1162 |
+
msgid "The search index was built successfully."
|
1163 |
+
msgstr ""
|
1164 |
+
|
1165 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:405
|
1166 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:389
|
1167 |
+
msgid "Completed. Works."
|
1168 |
+
msgstr ""
|
1169 |
+
|
1170 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:409
|
1171 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:393
|
1172 |
+
msgid "The search index could not be built."
|
1173 |
+
msgstr ""
|
1174 |
+
|
1175 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:410
|
1176 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:394
|
1177 |
+
msgid "Errors"
|
1178 |
+
msgstr ""
|
1179 |
+
|
1180 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:415
|
1181 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:399
|
1182 |
+
msgid "Not exist"
|
1183 |
+
msgstr ""
|
1184 |
+
|
1185 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:437
|
1186 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:421
|
1187 |
+
msgid "Stop process"
|
1188 |
+
msgstr ""
|
1189 |
+
|
1190 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:439
|
1191 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:424
|
1192 |
+
msgid "Rebuild index"
|
1193 |
+
msgstr ""
|
1194 |
+
|
1195 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:441
|
1196 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:427
|
1197 |
+
msgid "Try to build the index again."
|
1198 |
+
msgstr ""
|
1199 |
+
|
1200 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Indexer.php:199
|
1201 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Indexer.php:199
|
1202 |
+
msgctxt "Admin, logs"
|
1203 |
+
msgid "[Taxonomy index] Cleared"
|
1204 |
+
msgstr ""
|
1205 |
+
|
1206 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Indexer.php:201
|
1207 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Indexer.php:201
|
1208 |
+
msgctxt "Admin, logs"
|
1209 |
+
msgid "[Taxonomy index] Can not be cleared"
|
1210 |
+
msgstr ""
|
1211 |
+
|
1212 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Request.php:38
|
1213 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Request.php:38
|
1214 |
+
#, php-format
|
1215 |
+
msgctxt "Admin, logs"
|
1216 |
+
msgid "[Taxonomy index] Building %s..."
|
1217 |
+
msgstr ""
|
1218 |
+
|
1219 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Request.php:51
|
1220 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Request.php:51
|
1221 |
+
#, php-format
|
1222 |
+
msgctxt "Admin, logs"
|
1223 |
+
msgid "[Taxonomy index] Completed: %s, Not indexed: %s"
|
1224 |
+
msgstr ""
|
1225 |
+
|
1226 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/Indexer.php:176
|
1227 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/Indexer.php:171
|
1228 |
+
msgctxt "Admin, logs"
|
1229 |
+
msgid "[Searchable index] Cleared"
|
1230 |
+
msgstr ""
|
1231 |
+
|
1232 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/Indexer.php:178
|
1233 |
+
msgctxt "Admin, logs"
|
1234 |
+
msgid "[Searchable index] Can not be cleared"
|
1235 |
+
msgstr ""
|
1236 |
+
|
1237 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/Indexer.php:153
|
1238 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/Indexer.php:153
|
1239 |
+
msgctxt "Admin, logs"
|
1240 |
+
msgid "[Readable index] Cleared"
|
1241 |
+
msgstr ""
|
1242 |
+
|
1243 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/Indexer.php:155
|
1244 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/Indexer.php:155
|
1245 |
+
msgctxt "Admin, logs"
|
1246 |
+
msgid "[Readable index] Can not be cleared"
|
1247 |
+
msgstr ""
|
1248 |
+
|
1249 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:121
|
1250 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:121
|
1251 |
+
#, php-format
|
1252 |
+
msgctxt "Admin, logs"
|
1253 |
+
msgid "[Readable index] The queue <code>%s</code> was deleted "
|
1254 |
+
msgstr ""
|
1255 |
+
|
1256 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:134
|
1257 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:134
|
1258 |
+
#, php-format
|
1259 |
+
msgctxt "Admin, logs"
|
1260 |
+
msgid "[Readable index] Schedule <code>%s</code> was created "
|
1261 |
+
msgstr ""
|
1262 |
+
|
1263 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:150
|
1264 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:150
|
1265 |
+
#, php-format
|
1266 |
+
msgctxt "Admin, logs"
|
1267 |
+
msgid "[Readable index] The queue <code>%s</code> was created"
|
1268 |
+
msgstr ""
|
1269 |
+
|
1270 |
+
#. Name of the plugin
|
1271 |
+
msgid "AJAX Search for WooCommerce MysQL"
|
1272 |
+
msgstr ""
|
1273 |
+
|
1274 |
+
#. Description of the plugin
|
1275 |
+
msgid ""
|
1276 |
+
"Allows your customers to search products easily and quickly. It will display "
|
1277 |
+
"the results instantly while typing in an inputbox."
|
1278 |
+
msgstr ""
|
1279 |
+
|
1280 |
+
#. URI of the plugin
|
1281 |
+
msgid "https://wordpress.org/plugins/ajax-search-for-woocommerce/"
|
1282 |
+
msgstr "https://pl.wordpress.org/plugins/ajax-search-for-woocommerce/"
|
1283 |
+
|
1284 |
+
#. Author of the plugin
|
1285 |
+
msgid "Damian Góra"
|
1286 |
+
msgstr ""
|
1287 |
+
|
1288 |
+
#. Author URI of the plugin
|
1289 |
+
msgid "http://damiangora.com"
|
1290 |
+
msgstr ""
|
languages/ajax-search-for-woocommerce.pot
CHANGED
@@ -3,387 +3,1271 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: PACKAGE VERSION\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date:
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: Damian Góra <wp@damiangora.com>\n"
|
9 |
"Language-Team: \n"
|
10 |
"Language: \n"
|
11 |
-
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Loco
|
16 |
|
17 |
-
#: ajax-search-for-woocommerce.php:
|
18 |
msgid ""
|
19 |
-
"<b>
|
20 |
"this plugin. You are currently using PHP version "
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: ajax-search-for-woocommerce.php:
|
24 |
-
#, php-format
|
25 |
msgid ""
|
26 |
-
"<b>
|
27 |
-
"
|
28 |
msgstr ""
|
29 |
|
30 |
-
#:
|
31 |
-
|
|
|
|
|
|
|
32 |
msgstr ""
|
33 |
|
34 |
-
#:
|
35 |
-
msgid "
|
|
|
|
|
36 |
msgstr ""
|
37 |
|
38 |
-
#:
|
39 |
-
msgid "
|
|
|
|
|
40 |
msgstr ""
|
41 |
|
42 |
-
#:
|
43 |
-
msgid "
|
|
|
44 |
msgstr ""
|
45 |
|
46 |
-
#:
|
47 |
-
msgid "
|
48 |
msgstr ""
|
49 |
|
50 |
-
#:
|
51 |
-
|
|
|
|
|
|
|
52 |
msgstr ""
|
53 |
|
54 |
-
#:
|
55 |
-
msgid "
|
56 |
msgstr ""
|
57 |
|
58 |
-
#:
|
59 |
-
|
60 |
-
msgid "sale"
|
61 |
msgstr ""
|
62 |
|
63 |
-
#:
|
64 |
-
|
65 |
-
msgid "featured"
|
66 |
msgstr ""
|
67 |
|
68 |
-
#:
|
69 |
msgid "Products search"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#:
|
73 |
-
#:
|
74 |
msgid "Search for products..."
|
75 |
msgstr ""
|
76 |
|
77 |
-
|
78 |
-
|
79 |
-
msgid "Ajax Search for WooCommerce"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: includes/
|
83 |
-
msgid "
|
|
|
|
|
|
|
|
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: includes/
|
87 |
-
msgid "
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: includes/
|
91 |
-
msgid "
|
92 |
msgstr ""
|
93 |
|
94 |
-
#: includes/
|
95 |
-
msgid "
|
96 |
msgstr ""
|
97 |
|
98 |
-
#: includes/
|
|
|
|
|
|
|
|
|
99 |
msgid "How to use?"
|
100 |
msgstr ""
|
101 |
|
102 |
-
#: includes/
|
103 |
msgid "Suggestions limit"
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: includes/
|
107 |
msgid "Maximum number of suggestions rows."
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: includes/
|
111 |
msgid "Minimum characters"
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: includes/
|
115 |
msgid "Minimum number of characters required to trigger autosuggest."
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
msgid "Show submit button"
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: includes/
|
|
|
|
|
|
|
|
|
123 |
msgid "Search submit button text"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: includes/
|
127 |
-
msgid "To display
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: includes/
|
131 |
msgid "Search"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: includes/
|
135 |
msgid "Search input placeholder"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: includes/
|
139 |
-
msgid "
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: includes/
|
143 |
-
msgid ""
|
144 |
-
"The Details box is an additional container for extended information. The "
|
145 |
-
"details are changed dynamically when you hover the mouse over one of the "
|
146 |
-
"suggestions."
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: includes/
|
150 |
-
|
|
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: includes/
|
154 |
-
msgid "
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: includes/
|
158 |
-
msgid "
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: includes/
|
162 |
-
msgid "
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: includes/
|
166 |
-
msgid "
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: includes/
|
170 |
-
msgid "
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: includes/
|
174 |
-
msgid "Show
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: includes/
|
178 |
-
msgid "
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: includes/
|
182 |
-
msgid "
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: includes/
|
186 |
-
msgid "
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: includes/
|
190 |
-
msgid "
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: includes/
|
194 |
-
msgid "
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: includes/
|
198 |
-
msgid "
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: includes/
|
202 |
-
msgid "
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: includes/
|
206 |
-
msgid "
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: includes/
|
210 |
-
msgid "
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: includes/
|
214 |
-
msgid "
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: includes/
|
218 |
-
|
|
|
|
|
|
|
|
|
|
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: includes/
|
222 |
-
|
223 |
-
msgid "Order by"
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: includes/
|
227 |
-
|
|
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: includes/
|
231 |
-
msgid "
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: includes/
|
235 |
-
msgid "
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: includes/
|
239 |
-
msgid "
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: includes/
|
243 |
-
msgid "
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: includes/
|
247 |
-
msgid "
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: includes/
|
251 |
-
msgid "
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: includes/
|
255 |
-
msgid "
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: includes/
|
259 |
-
msgid ""
|
260 |
-
|
261 |
-
|
|
|
|
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: includes/
|
265 |
-
msgid "
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: includes/
|
269 |
-
msgid "
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: includes/
|
273 |
msgid "Search form"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: includes/
|
277 |
msgid "Search input background"
|
278 |
msgstr ""
|
279 |
|
280 |
-
#: includes/
|
281 |
msgid "Search input text"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: includes/
|
285 |
msgid "Search input border"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: includes/
|
289 |
msgid "Search submit background"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: includes/
|
293 |
msgid "Search submit text"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: includes/
|
297 |
msgid "Suggestions"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: includes/
|
301 |
msgid "Suggestion background"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: includes/
|
305 |
msgid "Suggestion selected"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: includes/
|
309 |
msgid "Text color"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: includes/
|
313 |
msgid "Highlight color"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: includes/
|
317 |
msgid "Border color"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: includes/
|
321 |
-
msgid "
|
|
|
|
|
|
|
|
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: includes/
|
325 |
msgid ""
|
326 |
-
"
|
327 |
-
"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: includes/
|
331 |
-
msgid "
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: includes/
|
335 |
-
msgid "
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: includes/
|
339 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
msgstr ""
|
341 |
|
342 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
msgid "There are two easy ways to display the search form"
|
344 |
msgstr ""
|
345 |
|
346 |
-
#:
|
347 |
#, php-format
|
348 |
msgid "Use a shortcode %s"
|
349 |
msgstr ""
|
350 |
|
351 |
-
#:
|
352 |
#, php-format
|
353 |
-
msgid "Go to the %s and choose \"Woo
|
354 |
msgstr ""
|
355 |
|
356 |
-
#:
|
357 |
msgid "Widgets Screen"
|
358 |
msgstr ""
|
359 |
|
360 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
#, php-format
|
362 |
msgid ""
|
363 |
"Hey %s, it's Damian Góra from %s. You have used this free plugin for some "
|
364 |
"time now, and I hope you like it!"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: includes/
|
368 |
#, php-format
|
369 |
msgid ""
|
370 |
"I have spent countless hours developing it, and it would mean a lot to me if "
|
371 |
"you %ssupport it with a quick review on WordPress.org.%s"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#: includes/
|
375 |
#, php-format
|
376 |
msgid "Review %s"
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: includes/
|
380 |
msgid "No thanks"
|
381 |
msgstr ""
|
382 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
383 |
#. Description of the plugin
|
384 |
msgid ""
|
385 |
-
"
|
386 |
-
"
|
387 |
msgstr ""
|
388 |
|
389 |
#. URI of the plugin
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: PACKAGE VERSION\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2019-05-03 21:18+0000\n"
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: Damian Góra <wp@damiangora.com>\n"
|
9 |
"Language-Team: \n"
|
10 |
"Language: \n"
|
11 |
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Loco https://localise.biz/"
|
16 |
|
17 |
+
#: ajax-search-for-woocommerce.php:198
|
18 |
msgid ""
|
19 |
+
"<b>AJAX Search for WooCommerce</b>: You need PHP version at least 5.3 to run "
|
20 |
"this plugin. You are currently using PHP version "
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: ajax-search-for-woocommerce.php:221
|
|
|
24 |
msgid ""
|
25 |
+
"<b>AJAX Search for WooCommerce</b>: You need PHP version at least 5.5 to run "
|
26 |
+
"this plugin. You are currently using PHP version "
|
27 |
msgstr ""
|
28 |
|
29 |
+
#: ajax-search-for-woocommerce.php:250
|
30 |
+
#, php-format
|
31 |
+
msgid ""
|
32 |
+
"<b>AJAX Search for WooCommerce</b>:<br /> Your PHP version <b><i>%s</i></b> "
|
33 |
+
"will not longer supported in the next plugin releases."
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: ajax-search-for-woocommerce.php:252
|
37 |
+
msgid ""
|
38 |
+
" You have to update your PHP version to least 5.5 (recommended 7.2 or "
|
39 |
+
"greater)."
|
40 |
msgstr ""
|
41 |
|
42 |
+
#: ajax-search-for-woocommerce.php:255
|
43 |
+
msgid ""
|
44 |
+
"If you cannot upgrade your PHP version yourself, you can send an email to "
|
45 |
+
"your host."
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: ajax-search-for-woocommerce.php:258
|
49 |
+
msgid ""
|
50 |
+
"If you do not upgrade the php version, the next plugin release will not work!"
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: ajax-search-for-woocommerce.php:263
|
54 |
+
msgid "Remind me again in week."
|
55 |
msgstr ""
|
56 |
|
57 |
+
#: ajax-search-for-woocommerce.php:285
|
58 |
+
#, php-format
|
59 |
+
msgid ""
|
60 |
+
"<b>AJAX Search for WooCommerce</b> is enabled but not effective. It requires "
|
61 |
+
"%s in order to work."
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: widget.php:25
|
65 |
+
msgid "AJAX (live) search form for WooCommerce"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: widget.php:27
|
69 |
+
msgid "Woo AJAX Search"
|
|
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: widget.php:32
|
73 |
+
msgid "Title"
|
|
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: partials/search-form.php:19 backward-compatibility/1-1-7/search-form.php:67
|
77 |
msgid "Products search"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: partials/search-form.php:26 includes/Settings.php:188
|
81 |
+
#: backward-compatibility/1-1-7/search-form.php:74
|
82 |
msgid "Search for products..."
|
83 |
msgstr ""
|
84 |
|
85 |
+
#: includes/Settings.php:86
|
86 |
+
msgid "Basic"
|
|
|
87 |
msgstr ""
|
88 |
|
89 |
+
#: includes/Settings.php:90
|
90 |
+
msgid "Form"
|
91 |
+
msgstr ""
|
92 |
+
|
93 |
+
#: includes/Settings.php:94
|
94 |
+
msgid "Colors"
|
95 |
msgstr ""
|
96 |
|
97 |
+
#: includes/Settings.php:98
|
98 |
+
msgid "Scope"
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: includes/Settings.php:105 includes/Helpers.php:441 includes/Helpers.php:444
|
102 |
+
msgid "Pro"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: includes/Settings.php:111
|
106 |
+
msgid "Increase sales"
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: includes/Settings.php:113
|
110 |
+
msgid "by simple tricks"
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
+
#: includes/Settings.php:136
|
114 |
msgid "How to use?"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: includes/Settings.php:142
|
118 |
msgid "Suggestions limit"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: includes/Settings.php:145
|
122 |
msgid "Maximum number of suggestions rows."
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: includes/Settings.php:150
|
126 |
msgid "Minimum characters"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: includes/Settings.php:153
|
130 |
msgid "Minimum number of characters required to trigger autosuggest."
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: includes/Settings.php:158
|
134 |
+
msgid "Max form width"
|
135 |
+
msgstr ""
|
136 |
+
|
137 |
+
#: includes/Settings.php:161
|
138 |
+
msgid "To set 100% width leave blank"
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: includes/Settings.php:166
|
142 |
msgid "Show submit button"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: includes/Settings.php:173
|
146 |
+
msgid "Custom labels"
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
#: includes/Settings.php:179
|
150 |
msgid "Search submit button text"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: includes/Settings.php:181
|
154 |
+
msgid "To display the magnifier icon leave this field empty."
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: includes/Settings.php:182
|
158 |
msgid "Search"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: includes/Settings.php:186
|
162 |
msgid "Search input placeholder"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: includes/Settings.php:192
|
166 |
+
msgid "More results"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: includes/Settings.php:194 includes/Scripts.php:41
|
170 |
+
msgid "See all results..."
|
|
|
|
|
|
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: includes/Settings.php:198
|
174 |
+
msgctxt "admin"
|
175 |
+
msgid "No results"
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: includes/Settings.php:200 includes/Scripts.php:42
|
179 |
+
msgid "No results"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: includes/Settings.php:206
|
183 |
+
msgid "Suggestions output"
|
184 |
msgstr ""
|
185 |
|
186 |
+
#: includes/Settings.php:212
|
187 |
+
msgid "Show product image"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: includes/Settings.php:218
|
191 |
+
msgid "Show price"
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: includes/Settings.php:224
|
195 |
+
msgid "Show product description"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: includes/Settings.php:230
|
199 |
+
msgid "Show SKU"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: includes/Settings.php:236
|
203 |
+
msgid "Also show matching categories"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: includes/Settings.php:242
|
207 |
+
msgid "Also show matching tags"
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: includes/Settings.php:260
|
211 |
+
msgid "Mobile"
|
212 |
msgstr ""
|
213 |
|
214 |
+
#: includes/Settings.php:266
|
215 |
+
msgid "Overlay search (beta)"
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: includes/Settings.php:267
|
219 |
+
msgid "Enhances user experience on mobile"
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: includes/Settings.php:273
|
223 |
+
msgid "Preloader"
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: includes/Settings.php:279
|
227 |
+
msgid "Show preloader"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: includes/Settings.php:285
|
231 |
+
msgid "Upload preloader image"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: includes/Settings.php:291
|
235 |
+
msgid "Details box"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: includes/Settings.php:297
|
239 |
+
msgid "Show details box"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: includes/Settings.php:301
|
243 |
+
#, php-format
|
244 |
+
msgid ""
|
245 |
+
"The Details box is an additional container for extended information. The "
|
246 |
+
"details are changed dynamically when you hover the mouse over one of the "
|
247 |
+
"suggestions. <a href=\"%s\" target=\"_blank\">See where the details box will "
|
248 |
+
"appear.</a>"
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: includes/Settings.php:306
|
252 |
+
msgid "Products list"
|
|
|
253 |
msgstr ""
|
254 |
|
255 |
+
#: includes/Settings.php:308 includes/Settings.php:322
|
256 |
+
#: includes/Settings.php:336
|
257 |
+
msgid "Applies only to category or tags suggestions type"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: includes/Settings.php:310
|
261 |
+
msgid "All Product"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: includes/Settings.php:311
|
265 |
+
msgid "Featured Products"
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: includes/Settings.php:312
|
269 |
+
msgid "On-sale Products"
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: includes/Settings.php:319
|
273 |
+
msgid "Order by"
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: includes/Settings.php:324
|
277 |
+
msgid "Date"
|
278 |
msgstr ""
|
279 |
|
280 |
+
#: includes/Settings.php:325
|
281 |
+
msgid "Price"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: includes/Settings.php:326
|
285 |
+
msgid "Random"
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: includes/Settings.php:327
|
289 |
+
msgid "Sales"
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: includes/Settings.php:333
|
293 |
+
msgid "Order"
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: includes/Settings.php:338
|
297 |
+
msgid "DESC"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: includes/Settings.php:339
|
301 |
+
msgid "ASC"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: includes/Settings.php:347
|
305 |
msgid "Search form"
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: includes/Settings.php:353
|
309 |
msgid "Search input background"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: includes/Settings.php:359
|
313 |
msgid "Search input text"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: includes/Settings.php:365
|
317 |
msgid "Search input border"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: includes/Settings.php:371
|
321 |
msgid "Search submit background"
|
322 |
msgstr ""
|
323 |
|
324 |
+
#: includes/Settings.php:377
|
325 |
msgid "Search submit text"
|
326 |
msgstr ""
|
327 |
|
328 |
+
#: includes/Settings.php:383
|
329 |
msgid "Suggestions"
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: includes/Settings.php:389
|
333 |
msgid "Suggestion background"
|
334 |
msgstr ""
|
335 |
|
336 |
+
#: includes/Settings.php:395
|
337 |
msgid "Suggestion selected"
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: includes/Settings.php:401
|
341 |
msgid "Text color"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: includes/Settings.php:407
|
345 |
msgid "Highlight color"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: includes/Settings.php:413
|
349 |
msgid "Border color"
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: includes/Settings.php:421
|
353 |
+
msgid "Search scope"
|
354 |
+
msgstr ""
|
355 |
+
|
356 |
+
#: includes/Settings.php:427
|
357 |
+
msgid "Info"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: includes/Settings.php:429
|
361 |
msgid ""
|
362 |
+
"Searching in products names is always enabled. You can extend or narrow the "
|
363 |
+
"searching scope using the following options."
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: includes/Settings.php:434
|
367 |
+
msgid "Search in description"
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: includes/Settings.php:440
|
371 |
+
msgid "Search in short description"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: includes/Settings.php:446
|
375 |
+
msgid "Search in SKU"
|
376 |
+
msgstr ""
|
377 |
+
|
378 |
+
#: includes/Settings.php:448
|
379 |
+
msgid "Searching also in variable products SKU"
|
380 |
+
msgstr ""
|
381 |
+
|
382 |
+
#: includes/Settings.php:448
|
383 |
+
#, php-format
|
384 |
+
msgid ""
|
385 |
+
"Searching in variable products SKU is available only in <a href=\"%s\">the "
|
386 |
+
"pro version</a>. It will also be available in the free version soon."
|
387 |
+
msgstr ""
|
388 |
+
|
389 |
+
#: includes/Settings.php:453
|
390 |
+
msgid "Search in attributes"
|
391 |
+
msgstr ""
|
392 |
+
|
393 |
+
#: includes/Settings.php:460
|
394 |
+
msgid "Exclude 'out of stock' products"
|
395 |
+
msgstr ""
|
396 |
+
|
397 |
+
#: includes/Settings.php:468
|
398 |
+
msgid "Pro features"
|
399 |
+
msgstr ""
|
400 |
+
|
401 |
+
#: includes/Settings.php:474
|
402 |
+
msgid "Fuzziness"
|
403 |
+
msgstr ""
|
404 |
+
|
405 |
+
#: includes/Settings.php:480
|
406 |
+
msgid "Speed up search!"
|
407 |
+
msgstr ""
|
408 |
+
|
409 |
+
#: includes/Settings.php:487
|
410 |
+
msgid ""
|
411 |
+
"<strong>Increases sales conversions.</strong> Returns sugestions based on "
|
412 |
+
"likely relevance even though a search keyword may not exactly match. E.g if "
|
413 |
+
"you type \"ipho<b>m</b>e\" you get the same results as for \"iphone\""
|
414 |
+
msgstr ""
|
415 |
+
|
416 |
+
#: includes/Settings.php:493
|
417 |
+
msgid "Profits"
|
418 |
+
msgstr ""
|
419 |
+
|
420 |
+
#: includes/Settings.php:500 includes/Settings.php:532
|
421 |
+
msgid "Fuzzy matching"
|
422 |
+
msgstr ""
|
423 |
+
|
424 |
+
#: includes/Settings.php:505 includes/Settings.php:537
|
425 |
+
msgid "-- Disabled"
|
426 |
+
msgstr ""
|
427 |
+
|
428 |
+
#: includes/Settings.php:506 includes/Settings.php:538
|
429 |
+
msgid "Soft"
|
430 |
+
msgstr ""
|
431 |
+
|
432 |
+
#: includes/Settings.php:507 includes/Settings.php:539
|
433 |
+
msgid "Normal"
|
434 |
+
msgstr ""
|
435 |
+
|
436 |
+
#: includes/Settings.php:508 includes/Settings.php:540
|
437 |
+
msgid "Hard"
|
438 |
+
msgstr ""
|
439 |
+
|
440 |
+
#: includes/Settings.php:518
|
441 |
+
msgid "Select the database"
|
442 |
+
msgstr ""
|
443 |
+
|
444 |
+
#: includes/Settings.php:522
|
445 |
+
msgid "SQLite"
|
446 |
+
msgstr ""
|
447 |
+
|
448 |
+
#: includes/Settings.php:523
|
449 |
+
msgid "MySQL"
|
450 |
+
msgstr ""
|
451 |
+
|
452 |
+
#: includes/Settings.php:552 includes/Settings.php:560
|
453 |
+
msgid "Index status"
|
454 |
+
msgstr ""
|
455 |
+
|
456 |
+
#: includes/BackwardCompatibility.php:338 partials/admin/indexer-header.php:21
|
457 |
+
msgid "Troubleshooting"
|
458 |
+
msgstr ""
|
459 |
+
|
460 |
+
#: includes/BackwardCompatibility.php:339
|
461 |
+
msgid "troubleshooting"
|
462 |
+
msgstr ""
|
463 |
+
|
464 |
+
#: includes/BackwardCompatibility.php:348
|
465 |
+
msgid "<span style=\"color:#9b5c8f\">Complete the update process</span>"
|
466 |
+
msgstr ""
|
467 |
+
|
468 |
+
#: includes/BackwardCompatibility.php:348
|
469 |
+
msgid ""
|
470 |
+
"In the last update we have changed the AJAX search form on the frontend (CSS "
|
471 |
+
"styles, names of the HTML classes etc.). You have to check if the AJAX "
|
472 |
+
"search form looks correct with your theme after these changes."
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: includes/BackwardCompatibility.php:356
|
476 |
+
msgid "What should you do now?"
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: includes/BackwardCompatibility.php:359
|
480 |
+
msgid ""
|
481 |
+
"Switch manually to the latest version to check if the AJAX search form "
|
482 |
+
"displays correctly with your theme"
|
483 |
+
msgstr ""
|
484 |
+
|
485 |
+
#: includes/BackwardCompatibility.php:364
|
486 |
+
msgid "You have activated the latest version. Follow the steps below:"
|
487 |
+
msgstr ""
|
488 |
+
|
489 |
+
#: includes/BackwardCompatibility.php:367
|
490 |
+
#, php-format
|
491 |
+
msgid "Visit your <a target=\"_blank\" href=\"%s\">store</a>"
|
492 |
+
msgstr ""
|
493 |
+
|
494 |
+
#: includes/BackwardCompatibility.php:368
|
495 |
+
msgid "Check if the AJAX search form displays correctly"
|
496 |
+
msgstr ""
|
497 |
+
|
498 |
+
#: includes/BackwardCompatibility.php:369
|
499 |
+
#, php-format
|
500 |
+
msgid "If it is ok, click %s"
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#: includes/BackwardCompatibility.php:369
|
504 |
+
msgid "finish the update"
|
505 |
+
msgstr ""
|
506 |
+
|
507 |
+
#: includes/BackwardCompatibility.php:370
|
508 |
+
#, php-format
|
509 |
+
msgid "If not, switch back to <code>previous version %s</code> and see %s"
|
510 |
+
msgstr ""
|
511 |
+
|
512 |
+
#: includes/BackwardCompatibility.php:377
|
513 |
+
msgid "Version switcher"
|
514 |
+
msgstr ""
|
515 |
+
|
516 |
+
#: includes/BackwardCompatibility.php:378
|
517 |
+
msgid "Something went wrong. Refresh the page and try again."
|
518 |
+
msgstr ""
|
519 |
+
|
520 |
+
#: includes/BackwardCompatibility.php:379
|
521 |
+
msgid "Saved!"
|
522 |
+
msgstr ""
|
523 |
+
|
524 |
+
#: includes/BackwardCompatibility.php:381
|
525 |
+
msgid "previous version"
|
526 |
+
msgstr ""
|
527 |
+
|
528 |
+
#: includes/BackwardCompatibility.php:388
|
529 |
+
msgid "latest version"
|
530 |
+
msgstr ""
|
531 |
+
|
532 |
+
#: includes/BackwardCompatibility.php:395
|
533 |
+
#, php-format
|
534 |
+
msgid ""
|
535 |
+
"If the AJAX search form displays incorrectly after switching to the latest "
|
536 |
+
"version, see the %s"
|
537 |
+
msgstr ""
|
538 |
+
|
539 |
+
#: includes/BackwardCompatibility.php:402
|
540 |
+
msgid ""
|
541 |
+
"Your AJAX search form does not display correctly after manual switching to "
|
542 |
+
"the latest version."
|
543 |
+
msgstr ""
|
544 |
+
|
545 |
+
#: includes/BackwardCompatibility.php:406
|
546 |
+
msgid ""
|
547 |
+
"Probably your theme uses additional CSS styles to customize the appearance "
|
548 |
+
"of the AJAX search form. Contact the authors of your theme. Maybe they have "
|
549 |
+
"to update their CSS styles if necessary."
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
#: includes/BackwardCompatibility.php:412
|
553 |
+
msgid "Your Theme Details"
|
554 |
+
msgstr ""
|
555 |
+
|
556 |
+
#: includes/BackwardCompatibility.php:417
|
557 |
+
msgctxt "Wordpress theme name"
|
558 |
+
msgid "Name:"
|
559 |
+
msgstr ""
|
560 |
+
|
561 |
+
#: includes/BackwardCompatibility.php:432
|
562 |
+
msgid "Author:"
|
563 |
+
msgstr ""
|
564 |
+
|
565 |
+
#: includes/BackwardCompatibility.php:449
|
566 |
+
msgid "A sample e-mail message that you can send them:"
|
567 |
+
msgstr ""
|
568 |
+
|
569 |
+
#: includes/BackwardCompatibility.php:454
|
570 |
+
#, php-format
|
571 |
+
msgid ""
|
572 |
+
"Hello,\n"
|
573 |
+
" <br /><br />\n"
|
574 |
+
" I use your %s theme with AJAX Search for WooCommerce "
|
575 |
+
"plugin - (https://wordpress.org/plugins/ajax-search-for-woocommerce/)\n"
|
576 |
+
" <br /><br />\n"
|
577 |
+
" In the lates version of AJAX Search for WooCommerce %s "
|
578 |
+
"they have changed the search form on the frontend (CSS, HTML etc.).\n"
|
579 |
+
" <br /><br />\n"
|
580 |
+
" Could you check it and update your CSS if necessary?"
|
581 |
+
msgstr ""
|
582 |
+
|
583 |
+
#: includes/BackwardCompatibility.php:470
|
584 |
+
msgid ""
|
585 |
+
"If you have any questions, do not hesitate contact <a href=\"mailto:"
|
586 |
+
"dgoraplugins@gmail.com?subject=Ajax Search for WooCommerce - Update "
|
587 |
+
"problem\">our support </a> or <a href=\"https://wordpress."
|
588 |
+
"org/support/plugin/ajax-search-for-woocommerce\" target=\"_blank\">write on "
|
589 |
+
"the WordPress.org Support</a>."
|
590 |
+
msgstr ""
|
591 |
+
|
592 |
+
#: includes/BackwardCompatibility.php:477
|
593 |
+
msgid "Remind me later"
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: includes/Scripts.php:34
|
597 |
+
msgctxt "For product badge: on sale"
|
598 |
+
msgid "sale"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: includes/Scripts.php:35
|
602 |
+
msgctxt "For product badge: featured"
|
603 |
+
msgid "featured"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: includes/Scripts.php:36 includes/Engines/WordPressNative/DetailsBox.php:168
|
607 |
+
msgid "Category"
|
608 |
+
msgstr ""
|
609 |
+
|
610 |
+
#: includes/Scripts.php:37
|
611 |
+
msgid "tag"
|
612 |
+
msgstr ""
|
613 |
+
|
614 |
+
#: includes/Scripts.php:38
|
615 |
+
msgid "SKU:"
|
616 |
+
msgstr ""
|
617 |
+
|
618 |
+
#: includes/Scripts.php:64
|
619 |
+
msgctxt "in categories fe. in Books > Crime stories"
|
620 |
+
msgid "in"
|
621 |
+
msgstr ""
|
622 |
+
|
623 |
+
#: partials/admin/indexer-header.php:8
|
624 |
+
#, php-format
|
625 |
+
msgid "Indexed <strong>100%</strong>, <strong>%d products</strong>."
|
626 |
+
msgstr ""
|
627 |
+
|
628 |
+
#: partials/admin/indexer-header.php:12
|
629 |
+
#, php-format
|
630 |
+
msgid "Last build %s"
|
631 |
+
msgstr ""
|
632 |
+
|
633 |
+
#: partials/admin/indexer-header.php:13
|
634 |
+
msgid "All products changes will be <strong>re-indexed automatically</strong>"
|
635 |
+
msgstr ""
|
636 |
+
|
637 |
+
#: partials/admin/indexer-header.php:24
|
638 |
+
#, php-format
|
639 |
+
msgid "First try to <a class=\"%s\" href=\"#\">build the index again</a>"
|
640 |
+
msgstr ""
|
641 |
+
|
642 |
+
#: partials/admin/indexer-header.php:25
|
643 |
+
#, php-format
|
644 |
+
msgid ""
|
645 |
+
"Go to <a target=\"_blank\" href=\"%s\">WooCommerce -> Status -> section "
|
646 |
+
"\"AJAX Search for WooCommerce Pro\"</a>. Is everything green?"
|
647 |
+
msgstr ""
|
648 |
+
|
649 |
+
#: partials/admin/indexer-header.php:26
|
650 |
+
#, php-format
|
651 |
+
msgid ""
|
652 |
+
"Go to <a target=\"_blank\" href=\"%s\">WooCommerce -> Status -> Logs (tab)"
|
653 |
+
"</a>. Open last \"fatal-errors...\". Look for a phrase \"ajax-search-for-"
|
654 |
+
"woocommerce\". Did you find anything significant?"
|
655 |
+
msgstr ""
|
656 |
+
|
657 |
+
#: partials/admin/indexer-header.php:27
|
658 |
+
#, php-format
|
659 |
+
msgid ""
|
660 |
+
"Is it still not working? Write a <a target=\"_blank\" href=\"%s\">support "
|
661 |
+
"request</a>."
|
662 |
+
msgstr ""
|
663 |
+
|
664 |
+
#: partials/admin/indexer-header.php:36
|
665 |
+
#: partials/admin/indexer-header-demo.php:8
|
666 |
+
msgid "Show details"
|
667 |
+
msgstr ""
|
668 |
+
|
669 |
+
#: partials/admin/indexer-header.php:37
|
670 |
+
msgid "Hide details"
|
671 |
+
msgstr ""
|
672 |
+
|
673 |
+
#: partials/admin/indexer-body.php:6
|
674 |
+
msgid ""
|
675 |
+
"Indexing... This process will continue in the background. You can leave this "
|
676 |
+
"page."
|
677 |
+
msgstr ""
|
678 |
+
|
679 |
+
#: partials/admin/indexer-body.php:8
|
680 |
+
msgid "Index build progress"
|
681 |
+
msgstr ""
|
682 |
+
|
683 |
+
#: partials/admin/indexer-body.php:11
|
684 |
+
#, php-format
|
685 |
+
msgid "Finalization... Wait a moment. (%s products)"
|
686 |
+
msgstr ""
|
687 |
+
|
688 |
+
#: partials/admin/indexer-body.php:15
|
689 |
+
msgid "Cancellation..."
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: partials/admin/indexer-body.php:32
|
693 |
+
msgid "Build ID"
|
694 |
+
msgstr ""
|
695 |
+
|
696 |
+
#: partials/admin/indexer-body.php:36
|
697 |
+
msgid "DB"
|
698 |
+
msgstr ""
|
699 |
+
|
700 |
+
#: partials/admin/indexer-body.php:40
|
701 |
+
msgid "Index build start"
|
702 |
+
msgstr ""
|
703 |
+
|
704 |
+
#: partials/admin/indexer-body.php:44
|
705 |
+
msgid "Status"
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: partials/admin/indexer-body.php:48
|
709 |
+
msgid "Products"
|
710 |
+
msgstr ""
|
711 |
+
|
712 |
+
#: partials/admin/indexer-body.php:52
|
713 |
+
msgid "Searchable"
|
714 |
+
msgstr ""
|
715 |
+
|
716 |
+
#: partials/admin/indexer-body.php:56 partials/admin/indexer-body.php:79
|
717 |
+
#: partials/admin/indexer-body.php:104
|
718 |
+
msgid "Start"
|
719 |
+
msgstr ""
|
720 |
+
|
721 |
+
#: partials/admin/indexer-body.php:60 partials/admin/indexer-body.php:83
|
722 |
+
#: partials/admin/indexer-body.php:108
|
723 |
+
msgid "End"
|
724 |
+
msgstr ""
|
725 |
+
|
726 |
+
#: partials/admin/indexer-body.php:65 partials/admin/indexer-body.php:88
|
727 |
+
#: partials/admin/indexer-body.php:113
|
728 |
+
msgid "Time"
|
729 |
+
msgstr ""
|
730 |
+
|
731 |
+
#: partials/admin/indexer-body.php:74
|
732 |
+
msgid "Readable"
|
733 |
+
msgstr ""
|
734 |
+
|
735 |
+
#: partials/admin/indexer-body.php:99
|
736 |
+
msgid "Taxonomies"
|
737 |
+
msgstr ""
|
738 |
+
|
739 |
+
#: partials/admin/indexer-body.php:127
|
740 |
+
msgid "Logs"
|
741 |
+
msgstr ""
|
742 |
+
|
743 |
+
#: partials/admin/pro-starter.php:8
|
744 |
+
msgid ""
|
745 |
+
"You are using the Pro plugin version. Your customers will find the right "
|
746 |
+
"products <span>faster and simpler</span> and your sales will increase."
|
747 |
+
msgstr ""
|
748 |
+
|
749 |
+
#: partials/admin/pro-starter.php:14
|
750 |
+
#, php-format
|
751 |
+
msgid ""
|
752 |
+
"If you have any questions, do not hesitate to <a target=\"_blank\" "
|
753 |
+
"href=\"%s\">get in touch</a>."
|
754 |
+
msgstr ""
|
755 |
+
|
756 |
+
#: partials/admin/settings.php:12
|
757 |
+
msgid "AJAX Search for WooCommerce (PRO) Settings"
|
758 |
+
msgstr ""
|
759 |
+
|
760 |
+
#: partials/admin/settings.php:14
|
761 |
+
msgid "AJAX Search for WooCommerce Settings"
|
762 |
+
msgstr ""
|
763 |
+
|
764 |
+
#: partials/admin/indexer-header-demo.php:3
|
765 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:414
|
766 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:398
|
767 |
+
msgid "The search index does not exist yet. Build it now."
|
768 |
+
msgstr ""
|
769 |
+
|
770 |
+
#: partials/admin/indexer-header-demo.php:7
|
771 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:443
|
772 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:430
|
773 |
+
msgid "Build index"
|
774 |
+
msgstr ""
|
775 |
+
|
776 |
+
#: partials/admin/how-to-use.php:10
|
777 |
msgid "There are two easy ways to display the search form"
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: partials/admin/how-to-use.php:11
|
781 |
#, php-format
|
782 |
msgid "Use a shortcode %s"
|
783 |
msgstr ""
|
784 |
|
785 |
+
#: partials/admin/how-to-use.php:12
|
786 |
#, php-format
|
787 |
+
msgid "Go to the %s and choose \"Woo AJAX Search\""
|
788 |
msgstr ""
|
789 |
|
790 |
+
#: partials/admin/how-to-use.php:12
|
791 |
msgid "Widgets Screen"
|
792 |
msgstr ""
|
793 |
|
794 |
+
#: partials/admin/how-to-use.php:14
|
795 |
+
#, php-format
|
796 |
+
msgid ""
|
797 |
+
"Are there any difficulties? <a href=\"%s\">Upgrade now</a> and our "
|
798 |
+
"developers will do everything for you."
|
799 |
+
msgstr ""
|
800 |
+
|
801 |
+
#: partials/admin/system-status.php:5
|
802 |
+
msgid "Ajax Search for WooCommerce (Pro)"
|
803 |
+
msgstr ""
|
804 |
+
|
805 |
+
#: partials/admin/system-status.php:6
|
806 |
+
msgid "This section shows the plugin requirements."
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#: partials/admin/system-status.php:12
|
810 |
+
msgid "PHP extension (mbstring)"
|
811 |
+
msgstr ""
|
812 |
+
|
813 |
+
#: partials/admin/system-status.php:29
|
814 |
+
msgid "PHP extension (pdo_mysql)"
|
815 |
+
msgstr ""
|
816 |
+
|
817 |
+
#: partials/admin/system-status.php:46
|
818 |
+
msgid "PHP extension (sqlite3)"
|
819 |
+
msgstr ""
|
820 |
+
|
821 |
+
#: partials/admin/system-status.php:61
|
822 |
+
msgid "PHP extension (pdo_sqlite)"
|
823 |
+
msgstr ""
|
824 |
+
|
825 |
+
#: partials/admin/system-status.php:76
|
826 |
+
msgid "Index directory test"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: partials/admin/system-status.php:93
|
830 |
+
msgid "Default upload path"
|
831 |
+
msgstr ""
|
832 |
+
|
833 |
+
#: partials/admin/system-status.php:96
|
834 |
+
msgid "At this moment the plugin works only with default upload directory."
|
835 |
+
msgstr ""
|
836 |
+
|
837 |
+
#: partials/admin/system-status.php:113
|
838 |
+
msgid "DB readable tables exist"
|
839 |
+
msgstr ""
|
840 |
+
|
841 |
+
#: partials/admin/system-status.php:134
|
842 |
+
msgid "Finding wp-load.php from outside"
|
843 |
+
msgstr ""
|
844 |
+
|
845 |
+
#: partials/admin/system-status.php:143
|
846 |
+
msgid "The location of wp-load.php is not the default."
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: partials/admin/system-status.php:158
|
850 |
+
msgid "Multisite"
|
851 |
+
msgstr ""
|
852 |
+
|
853 |
+
#: partials/admin/system-status.php:161
|
854 |
+
msgid ""
|
855 |
+
"The Ajax Search for WooCommerce (Pro) does not support multisite yet. "
|
856 |
+
"Multisite must be disabled."
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: partials/admin/system-status.php:166
|
860 |
+
msgid "disabled"
|
861 |
+
msgstr ""
|
862 |
+
|
863 |
+
#: partials/admin/system-status.php:168
|
864 |
+
msgid "enabled"
|
865 |
+
msgstr ""
|
866 |
+
|
867 |
+
#: partials/admin/system-status.php:175
|
868 |
+
msgid "Conflicts with other plugins"
|
869 |
+
msgstr ""
|
870 |
+
|
871 |
+
#: partials/admin/system-status.php:178
|
872 |
+
msgid ""
|
873 |
+
"The Ajax Search for WooCommerce (Pro) does not support multilanguages yet."
|
874 |
+
msgstr ""
|
875 |
+
|
876 |
+
#: partials/admin/system-status.php:184
|
877 |
+
msgid "no"
|
878 |
+
msgstr ""
|
879 |
+
|
880 |
+
#: partials/admin/features.php:8
|
881 |
+
msgid ""
|
882 |
+
"If users can’t find the product they’re searching for, they can’t buy it. "
|
883 |
+
"Help your customers to find the right products <span>faster and "
|
884 |
+
"simpler</span>."
|
885 |
+
msgstr ""
|
886 |
+
|
887 |
+
#: partials/admin/features.php:10 includes/Admin/Promo/Upgrade.php:62
|
888 |
+
msgid ""
|
889 |
+
"Update now and increase your sales. You will receive 14-day satisfaction "
|
890 |
+
"guarantee. A return on investment will come very quickly."
|
891 |
+
msgstr ""
|
892 |
+
|
893 |
+
#: partials/admin/features.php:13
|
894 |
+
msgid "Speed up search! (even <b>10x faster</b>) - users love it!"
|
895 |
+
msgstr ""
|
896 |
+
|
897 |
+
#: partials/admin/features.php:14
|
898 |
+
msgid ""
|
899 |
+
"Help in embedding the search form in your theme. <b>Our developers will do "
|
900 |
+
"it for you</b>."
|
901 |
+
msgstr ""
|
902 |
+
|
903 |
+
#: partials/admin/features.php:15
|
904 |
+
msgid ""
|
905 |
+
"Efficient with a large number of products. Tested on <b>20 000 products</b>"
|
906 |
+
msgstr ""
|
907 |
+
|
908 |
+
#: partials/admin/features.php:16 includes/Admin/Promo/Upgrade.php:51
|
909 |
+
msgid "New modern search engine based on bm25 ranking algorithm"
|
910 |
+
msgstr ""
|
911 |
+
|
912 |
+
#: partials/admin/features.php:17 includes/Admin/Promo/Upgrade.php:52
|
913 |
+
msgid "Fuzzy search"
|
914 |
+
msgstr ""
|
915 |
+
|
916 |
+
#: partials/admin/features.php:18
|
917 |
+
msgid "Search in variation products SKUs (option)"
|
918 |
+
msgstr ""
|
919 |
+
|
920 |
+
#: partials/admin/features.php:19
|
921 |
+
msgid "Search in product attributes (option)"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: partials/admin/features.php:20
|
925 |
+
msgid "Advanced search analytics and tips (in plans)"
|
926 |
+
msgstr ""
|
927 |
+
|
928 |
+
#: partials/admin/features.php:21 includes/Admin/Promo/Upgrade.php:54
|
929 |
+
msgid "Individual customization of the search form (simple CSS improvements)"
|
930 |
+
msgstr ""
|
931 |
+
|
932 |
+
#: partials/admin/features.php:22
|
933 |
+
msgid "Individual tips and support"
|
934 |
+
msgstr ""
|
935 |
+
|
936 |
+
#: partials/admin/features.php:23
|
937 |
+
msgid "And more..."
|
938 |
+
msgstr ""
|
939 |
+
|
940 |
+
#: partials/admin/features.php:25
|
941 |
+
msgid "Upgrade Now!"
|
942 |
+
msgstr ""
|
943 |
+
|
944 |
+
#. Name of the plugin
|
945 |
+
#: includes/Admin/AdminMenu.php:31
|
946 |
+
msgid "Ajax Search for WooCommerce"
|
947 |
+
msgstr ""
|
948 |
+
|
949 |
+
#: includes/Admin/AdminMenu.php:32
|
950 |
+
msgid "AJAX search form"
|
951 |
+
msgstr ""
|
952 |
+
|
953 |
+
#: includes/Admin/SettingsAPI.php:572
|
954 |
+
msgid "Contact"
|
955 |
+
msgstr ""
|
956 |
+
|
957 |
+
#: includes/Admin/SettingsAPI.php:575
|
958 |
+
msgid "My Account"
|
959 |
+
msgstr ""
|
960 |
+
|
961 |
+
#: includes/Admin/Requirements.php:60
|
962 |
+
#, php-format
|
963 |
+
msgid "Required PHP version 5.5 or higher. You use %s"
|
964 |
+
msgstr ""
|
965 |
+
|
966 |
+
#: includes/Admin/Requirements.php:79 includes/Admin/Requirements.php:84
|
967 |
+
#: includes/Admin/Requirements.php:89 includes/Admin/Requirements.php:94
|
968 |
+
#, php-format
|
969 |
+
msgid "Required PHP extension: %s"
|
970 |
+
msgstr ""
|
971 |
+
|
972 |
+
#: includes/Admin/Requirements.php:128
|
973 |
+
#, php-format
|
974 |
+
msgid "Problem with permission for the directory: %s"
|
975 |
+
msgstr ""
|
976 |
+
|
977 |
+
#: includes/Admin/Requirements.php:181
|
978 |
+
#, php-format
|
979 |
+
msgid ""
|
980 |
+
"You use the %s plugin. The Ajax Search for WooCommerce PRO does not support "
|
981 |
+
"multilingual yet."
|
982 |
+
msgstr ""
|
983 |
+
|
984 |
+
#: includes/Admin/Requirements.php:205
|
985 |
+
msgid ""
|
986 |
+
"Your WordPress use the multisite. The Ajax Search for WooCommerce PRO does "
|
987 |
+
"not support multisite yet."
|
988 |
+
msgstr ""
|
989 |
+
|
990 |
+
#: includes/Admin/Requirements.php:222
|
991 |
+
msgid "Attention! Read this before the upgrade."
|
992 |
+
msgstr ""
|
993 |
+
|
994 |
+
#: includes/Admin/Requirements.php:223
|
995 |
+
msgid ""
|
996 |
+
"Ajax Search for WooCommerce PRO may not work properly in your environment "
|
997 |
+
"for the following reasons:"
|
998 |
+
msgstr ""
|
999 |
+
|
1000 |
+
#: includes/Admin/Requirements.php:233
|
1001 |
+
msgid "Ajax Search for WooCommerce PRO - Requirements"
|
1002 |
+
msgstr ""
|
1003 |
+
|
1004 |
+
#: includes/Admin/Requirements.php:234
|
1005 |
+
#, php-format
|
1006 |
+
msgid ""
|
1007 |
+
"If you have any questions, do not hesitate contact <a href=\"%s\">our "
|
1008 |
+
"support</a>."
|
1009 |
+
msgstr ""
|
1010 |
+
|
1011 |
+
#: includes/Engines/WordPressNative/DetailsBox.php:170
|
1012 |
+
msgid "Tag"
|
1013 |
+
msgstr ""
|
1014 |
+
|
1015 |
+
#: includes/Integrations/Themes/Storefront.php:28
|
1016 |
+
msgid "Storefront theme"
|
1017 |
+
msgstr ""
|
1018 |
+
|
1019 |
+
#: includes/Integrations/Themes/Storefront.php:35
|
1020 |
+
msgid "Replace search form"
|
1021 |
+
msgstr ""
|
1022 |
+
|
1023 |
+
#: includes/Integrations/Themes/Storefront.php:36
|
1024 |
+
msgid ""
|
1025 |
+
"Replace the Storefront theme's default product search with the Ajax Search "
|
1026 |
+
"for WooCommerce form."
|
1027 |
+
msgstr ""
|
1028 |
+
|
1029 |
+
#: includes/Admin/Promo/Upgrade.php:50
|
1030 |
+
msgid "Speed up search! (even 10x faster) - users love it!"
|
1031 |
+
msgstr ""
|
1032 |
+
|
1033 |
+
#: includes/Admin/Promo/Upgrade.php:53
|
1034 |
+
msgid "Search in attributes and variation products SKUs (option)"
|
1035 |
+
msgstr ""
|
1036 |
+
|
1037 |
+
#: includes/Admin/Promo/Upgrade.php:55
|
1038 |
+
msgid "Individual tips and support by Damian Góra - the author of the plugin"
|
1039 |
+
msgstr ""
|
1040 |
+
|
1041 |
+
#: includes/Admin/Promo/Upgrade.php:56
|
1042 |
+
msgid "and more..."
|
1043 |
+
msgstr ""
|
1044 |
+
|
1045 |
+
#: includes/Admin/Promo/Upgrade.php:58
|
1046 |
+
msgid "Ajax Search for WooCommerce PRO - Upgrade Now"
|
1047 |
+
msgstr ""
|
1048 |
+
|
1049 |
+
#: includes/Admin/Promo/Upgrade.php:68
|
1050 |
+
msgid "You can upgrade without leaving the admin panel by clicking below."
|
1051 |
+
msgstr ""
|
1052 |
+
|
1053 |
+
#: includes/Admin/Promo/Upgrade.php:69
|
1054 |
+
msgid "Free updates and email support included."
|
1055 |
+
msgstr ""
|
1056 |
+
|
1057 |
+
#: includes/Admin/Promo/Upgrade.php:70
|
1058 |
+
msgid "Upgrade Now"
|
1059 |
+
msgstr ""
|
1060 |
+
|
1061 |
+
#: includes/Admin/Promo/FeedbackNotice.php:72
|
1062 |
#, php-format
|
1063 |
msgid ""
|
1064 |
"Hey %s, it's Damian Góra from %s. You have used this free plugin for some "
|
1065 |
"time now, and I hope you like it!"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: includes/Admin/Promo/FeedbackNotice.php:77
|
1069 |
#, php-format
|
1070 |
msgid ""
|
1071 |
"I have spent countless hours developing it, and it would mean a lot to me if "
|
1072 |
"you %ssupport it with a quick review on WordPress.org.%s"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
+
#: includes/Admin/Promo/FeedbackNotice.php:83
|
1076 |
#, php-format
|
1077 |
msgid "Review %s"
|
1078 |
msgstr ""
|
1079 |
|
1080 |
+
#: includes/Admin/Promo/FeedbackNotice.php:87
|
1081 |
msgid "No thanks"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:149
|
1085 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:151
|
1086 |
+
msgctxt "Admin, logs"
|
1087 |
+
msgid ""
|
1088 |
+
"The request to build a new index rejected. Another process is in progress."
|
1089 |
+
msgstr ""
|
1090 |
+
|
1091 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:155
|
1092 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:318
|
1093 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:159
|
1094 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:302
|
1095 |
+
msgctxt "Admin, logs"
|
1096 |
+
msgid "There are no tables in the database"
|
1097 |
+
msgstr ""
|
1098 |
+
|
1099 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:163
|
1100 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:168
|
1101 |
+
msgctxt "Admin, logs"
|
1102 |
+
msgid "Indexer started"
|
1103 |
+
msgstr ""
|
1104 |
+
|
1105 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:183
|
1106 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:202
|
1107 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:192
|
1108 |
+
msgctxt "Admin, logs"
|
1109 |
+
msgid "[Readable index] Building..."
|
1110 |
+
msgstr ""
|
1111 |
+
|
1112 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:198
|
1113 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:168
|
1114 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:168
|
1115 |
+
msgctxt "Admin, logs"
|
1116 |
+
msgid "[Readable index] Completed"
|
1117 |
+
msgstr ""
|
1118 |
+
|
1119 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:209
|
1120 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/AsyncRequest.php:37
|
1121 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/AsyncRequest.php:37
|
1122 |
+
msgctxt "Admin, logs"
|
1123 |
+
msgid "[Searchable index] Building..."
|
1124 |
+
msgstr ""
|
1125 |
+
|
1126 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:220
|
1127 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/AsyncRequest.php:53
|
1128 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/AsyncRequest.php:53
|
1129 |
+
msgctxt "Admin, logs"
|
1130 |
+
msgid "[Searchable index] Completed"
|
1131 |
+
msgstr ""
|
1132 |
+
|
1133 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:393
|
1134 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:377
|
1135 |
+
msgid "Wait... Indexing in progress"
|
1136 |
+
msgstr ""
|
1137 |
+
|
1138 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:394
|
1139 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:378
|
1140 |
+
msgid "This process will continue in the background. You can leave this page!"
|
1141 |
+
msgstr ""
|
1142 |
+
|
1143 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:398
|
1144 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:382
|
1145 |
+
msgid "Wait... The index build process is canceling"
|
1146 |
+
msgstr ""
|
1147 |
+
|
1148 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:399
|
1149 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:383
|
1150 |
+
msgid "Canceling..."
|
1151 |
+
msgstr ""
|
1152 |
+
|
1153 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:404
|
1154 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:388
|
1155 |
+
msgid "The search index was built successfully."
|
1156 |
+
msgstr ""
|
1157 |
+
|
1158 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:405
|
1159 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:389
|
1160 |
+
msgid "Completed. Works."
|
1161 |
+
msgstr ""
|
1162 |
+
|
1163 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:409
|
1164 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:393
|
1165 |
+
msgid "The search index could not be built."
|
1166 |
+
msgstr ""
|
1167 |
+
|
1168 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:410
|
1169 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:394
|
1170 |
+
msgid "Errors"
|
1171 |
+
msgstr ""
|
1172 |
+
|
1173 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:415
|
1174 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:399
|
1175 |
+
msgid "Not exist"
|
1176 |
+
msgstr ""
|
1177 |
+
|
1178 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:437
|
1179 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:421
|
1180 |
+
msgid "Stop process"
|
1181 |
+
msgstr ""
|
1182 |
+
|
1183 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:439
|
1184 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:424
|
1185 |
+
msgid "Rebuild index"
|
1186 |
+
msgstr ""
|
1187 |
+
|
1188 |
+
#: includes/Engines/TNTSearch/Indexer/Buildier.php:441
|
1189 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Buildier.php:427
|
1190 |
+
msgid "Try to build the index again."
|
1191 |
+
msgstr ""
|
1192 |
+
|
1193 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Indexer.php:199
|
1194 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Indexer.php:199
|
1195 |
+
msgctxt "Admin, logs"
|
1196 |
+
msgid "[Taxonomy index] Cleared"
|
1197 |
+
msgstr ""
|
1198 |
+
|
1199 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Indexer.php:201
|
1200 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Indexer.php:201
|
1201 |
+
msgctxt "Admin, logs"
|
1202 |
+
msgid "[Taxonomy index] Can not be cleared"
|
1203 |
+
msgstr ""
|
1204 |
+
|
1205 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Request.php:38
|
1206 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Request.php:38
|
1207 |
+
#, php-format
|
1208 |
+
msgctxt "Admin, logs"
|
1209 |
+
msgid "[Taxonomy index] Building %s..."
|
1210 |
+
msgstr ""
|
1211 |
+
|
1212 |
+
#: includes/Engines/TNTSearch/Indexer/Taxonomy/Request.php:51
|
1213 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Taxonomy/Request.php:51
|
1214 |
+
#, php-format
|
1215 |
+
msgctxt "Admin, logs"
|
1216 |
+
msgid "[Taxonomy index] Completed: %s, Not indexed: %s"
|
1217 |
+
msgstr ""
|
1218 |
+
|
1219 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/Indexer.php:176
|
1220 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Searchable/Indexer.php:171
|
1221 |
+
msgctxt "Admin, logs"
|
1222 |
+
msgid "[Searchable index] Cleared"
|
1223 |
+
msgstr ""
|
1224 |
+
|
1225 |
+
#: includes/Engines/TNTSearch/Indexer/Searchable/Indexer.php:178
|
1226 |
+
msgctxt "Admin, logs"
|
1227 |
+
msgid "[Searchable index] Can not be cleared"
|
1228 |
+
msgstr ""
|
1229 |
+
|
1230 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/Indexer.php:153
|
1231 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/Indexer.php:153
|
1232 |
+
msgctxt "Admin, logs"
|
1233 |
+
msgid "[Readable index] Cleared"
|
1234 |
+
msgstr ""
|
1235 |
+
|
1236 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/Indexer.php:155
|
1237 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/Indexer.php:155
|
1238 |
+
msgctxt "Admin, logs"
|
1239 |
+
msgid "[Readable index] Can not be cleared"
|
1240 |
+
msgstr ""
|
1241 |
+
|
1242 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:121
|
1243 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:121
|
1244 |
+
#, php-format
|
1245 |
+
msgctxt "Admin, logs"
|
1246 |
+
msgid "[Readable index] The queue <code>%s</code> was deleted "
|
1247 |
+
msgstr ""
|
1248 |
+
|
1249 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:134
|
1250 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:134
|
1251 |
+
#, php-format
|
1252 |
+
msgctxt "Admin, logs"
|
1253 |
+
msgid "[Readable index] Schedule <code>%s</code> was created "
|
1254 |
+
msgstr ""
|
1255 |
+
|
1256 |
+
#: includes/Engines/TNTSearch/Indexer/Readable/AsyncProcess.php:150
|
1257 |
+
#: includes/Engines/TNTSearchMySQL/Indexer/Readable/AsyncProcess.php:150
|
1258 |
+
#, php-format
|
1259 |
+
msgctxt "Admin, logs"
|
1260 |
+
msgid "[Readable index] The queue <code>%s</code> was created"
|
1261 |
+
msgstr ""
|
1262 |
+
|
1263 |
+
#. Name of the plugin
|
1264 |
+
msgid "AJAX Search for WooCommerce MysQL"
|
1265 |
+
msgstr ""
|
1266 |
+
|
1267 |
#. Description of the plugin
|
1268 |
msgid ""
|
1269 |
+
"Allows your customers to search products easily and quickly. It will display "
|
1270 |
+
"the results instantly while typing in an inputbox."
|
1271 |
msgstr ""
|
1272 |
|
1273 |
#. URI of the plugin
|
partials/storefront.php
CHANGED
@@ -1,40 +1,42 @@
|
|
1 |
<?php
|
2 |
|
3 |
// Exit if accessed directly
|
4 |
-
if (
|
5 |
exit;
|
6 |
}
|
7 |
|
8 |
-
if (
|
9 |
-
function storefront_product_search()
|
10 |
-
|
|
|
11 |
<div class="site-search">
|
12 |
-
<?php echo do_shortcode(
|
13 |
</div>
|
14 |
<?php
|
15 |
}
|
16 |
}
|
17 |
}
|
18 |
-
add_action( 'wp_footer', 'dgwt_wcas_storefront_inverse_orientation' );
|
19 |
|
20 |
-
|
21 |
-
?>
|
22 |
-
<script>
|
23 |
-
jQuery(window).on('load', function () {
|
24 |
-
var $footerSearch = jQuery('.storefront-handheld-footer-bar .dgwt-wcas-search-input');
|
25 |
-
if ($footerSearch.length > 0) {
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
positionFixed: true
|
31 |
-
}
|
32 |
|
33 |
-
|
34 |
-
|
|
|
|
|
|
|
35 |
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
}
|
1 |
<?php
|
2 |
|
3 |
// Exit if accessed directly
|
4 |
+
if (!defined('ABSPATH')) {
|
5 |
exit;
|
6 |
}
|
7 |
|
8 |
+
if (!function_exists('storefront_product_search')) {
|
9 |
+
function storefront_product_search()
|
10 |
+
{
|
11 |
+
if (storefront_is_woocommerce_activated()) { ?>
|
12 |
<div class="site-search">
|
13 |
+
<?php echo do_shortcode('[wcas-search-form]'); ?>
|
14 |
</div>
|
15 |
<?php
|
16 |
}
|
17 |
}
|
18 |
}
|
|
|
19 |
|
20 |
+
add_action('wp_footer', 'dgwt_wcas_storefront_inverse_orientation', 100);
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
+
function dgwt_wcas_storefront_inverse_orientation()
|
23 |
+
{
|
24 |
+
if (DGWT_WCAS()->settings->get_opt('enable_mobile_overlay') === 'on') {
|
|
|
|
|
25 |
|
26 |
+
?>
|
27 |
+
<script>
|
28 |
+
(function ($) {
|
29 |
+
$(window).on('load', function () {
|
30 |
+
var $searchHandheld = $('.storefront-handheld-footer-bar .search a');
|
31 |
|
32 |
+
$(document).on('click', '.storefront-handheld-footer-bar .search > a', function (e) {
|
33 |
+
$(this).parent().removeClass('active');
|
34 |
+
$(this).parent().find('.dgwt-wcas-search-input').trigger('focus.autocomplete');
|
35 |
+
e.preventDefault();
|
36 |
+
});
|
37 |
+
});
|
38 |
+
}(jQuery));
|
39 |
+
</script>
|
40 |
+
<?php
|
41 |
+
}
|
42 |
}
|
readme.txt
CHANGED
@@ -3,9 +3,9 @@ Contributors: damian-gora
|
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LD2ALVRLXPZPC
|
4 |
Tags: woocomerce search, ajax search, live search, product search, woocommerce
|
5 |
Requires at least: 3.8
|
6 |
-
Tested up to: 5.
|
7 |
Requires PHP: 5.5
|
8 |
-
Stable tag: 1.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -67,6 +67,15 @@ Any suggestions or comments are welcome. Feel free to contact me using this [con
|
|
67 |
4. Settings page with colour schemes
|
68 |
|
69 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
= 1.3.3, March 02, 2019 =
|
71 |
|
72 |
* FIX: Deactivate browser native "X" icon for search input
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LD2ALVRLXPZPC
|
4 |
Tags: woocomerce search, ajax search, live search, product search, woocommerce
|
5 |
Requires at least: 3.8
|
6 |
+
Tested up to: 5.2
|
7 |
Requires PHP: 5.5
|
8 |
+
Stable tag: 1.4.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
67 |
4. Settings page with colour schemes
|
68 |
|
69 |
== Changelog ==
|
70 |
+
= 1.4.0, May 04, 2019 =
|
71 |
+
|
72 |
+
* ADD: New modern mobile search UX (beta, disabled by default, enabled only for Storefront theme)
|
73 |
+
* ADD: Italian translations
|
74 |
+
* ADD: Spain translations
|
75 |
+
* FIX: Error with WP Search WooCommerce Integration
|
76 |
+
* FIX: Conflict with the Divi theme for some cases
|
77 |
+
* CHANGE: Implementing flexbox grid (CSS)
|
78 |
+
|
79 |
= 1.3.3, March 02, 2019 =
|
80 |
|
81 |
* FIX: Deactivate browser native "X" icon for search input
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInitca6b3ab2a3db9f21bb7ad9197b22b2fe::getLoader();
|
vendor/composer/ClassLoader.php
CHANGED
@@ -279,7 +279,7 @@ class ClassLoader
|
|
279 |
*/
|
280 |
public function setApcuPrefix($apcuPrefix)
|
281 |
{
|
282 |
-
$this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
|
283 |
}
|
284 |
|
285 |
/**
|
@@ -377,7 +377,7 @@ class ClassLoader
|
|
377 |
$subPath = $class;
|
378 |
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
379 |
$subPath = substr($subPath, 0, $lastPos);
|
380 |
-
$search = $subPath.'\\';
|
381 |
if (isset($this->prefixDirsPsr4[$search])) {
|
382 |
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
383 |
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
279 |
*/
|
280 |
public function setApcuPrefix($apcuPrefix)
|
281 |
{
|
282 |
+
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
283 |
}
|
284 |
|
285 |
/**
|
377 |
$subPath = $class;
|
378 |
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
379 |
$subPath = substr($subPath, 0, $lastPos);
|
380 |
+
$search = $subPath . '\\';
|
381 |
if (isset($this->prefixDirsPsr4[$search])) {
|
382 |
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
383 |
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -6,4 +6,5 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir).'/composer';
|
7 |
|
8 |
return array(
|
|
|
9 |
);
|
6 |
$baseDir = dirname($vendorDir).'/composer';
|
7 |
|
8 |
return array(
|
9 |
+
'Mobile_Detect' => $vendorDir . '/mobiledetect/mobiledetectlib/Mobile_Detect.php',
|
10 |
);
|
vendor/composer/autoload_namespaces.php
CHANGED
@@ -6,4 +6,5 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir).'/composer';
|
7 |
|
8 |
return array(
|
|
|
9 |
);
|
6 |
$baseDir = dirname($vendorDir).'/composer';
|
7 |
|
8 |
return array(
|
9 |
+
'Detection' => array($vendorDir . '/mobiledetect/mobiledetectlib/namespaced'),
|
10 |
);
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit9867a0c98a3853c7a15f674ab851dc30
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
-
call_user_func(\Composer\Autoload\
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInitca6b3ab2a3db9f21bb7ad9197b22b2fe
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInitca6b3ab2a3db9f21bb7ad9197b22b2fe', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitca6b3ab2a3db9f21bb7ad9197b22b2fe', 'loadClassLoader'));
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInitca6b3ab2a3db9f21bb7ad9197b22b2fe::getInitializer($loader));
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'D' =>
|
@@ -20,11 +20,27 @@ class ComposerStaticInit9867a0c98a3853c7a15f674ab851dc30
|
|
20 |
),
|
21 |
);
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
public static function getInitializer(ClassLoader $loader)
|
24 |
{
|
25 |
return \Closure::bind(function () use ($loader) {
|
26 |
-
$loader->prefixLengthsPsr4 =
|
27 |
-
$loader->prefixDirsPsr4 =
|
|
|
|
|
28 |
|
29 |
}, null, ClassLoader::class);
|
30 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInitca6b3ab2a3db9f21bb7ad9197b22b2fe
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'D' =>
|
20 |
),
|
21 |
);
|
22 |
|
23 |
+
public static $prefixesPsr0 = array (
|
24 |
+
'D' =>
|
25 |
+
array (
|
26 |
+
'Detection' =>
|
27 |
+
array (
|
28 |
+
0 => __DIR__ . '/..' . '/mobiledetect/mobiledetectlib/namespaced',
|
29 |
+
),
|
30 |
+
),
|
31 |
+
);
|
32 |
+
|
33 |
+
public static $classMap = array (
|
34 |
+
'Mobile_Detect' => __DIR__ . '/..' . '/mobiledetect/mobiledetectlib/Mobile_Detect.php',
|
35 |
+
);
|
36 |
+
|
37 |
public static function getInitializer(ClassLoader $loader)
|
38 |
{
|
39 |
return \Closure::bind(function () use ($loader) {
|
40 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInitca6b3ab2a3db9f21bb7ad9197b22b2fe::$prefixLengthsPsr4;
|
41 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitca6b3ab2a3db9f21bb7ad9197b22b2fe::$prefixDirsPsr4;
|
42 |
+
$loader->prefixesPsr0 = ComposerStaticInitca6b3ab2a3db9f21bb7ad9197b22b2fe::$prefixesPsr0;
|
43 |
+
$loader->classMap = ComposerStaticInitca6b3ab2a3db9f21bb7ad9197b22b2fe::$classMap;
|
44 |
|
45 |
}, null, ClassLoader::class);
|
46 |
}
|
vendor/composer/installed.json
CHANGED
@@ -1 +1,56 @@
|
|
1 |
-
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[
|
2 |
+
{
|
3 |
+
"name": "mobiledetect/mobiledetectlib",
|
4 |
+
"version": "2.8.33",
|
5 |
+
"version_normalized": "2.8.33.0",
|
6 |
+
"source": {
|
7 |
+
"type": "git",
|
8 |
+
"url": "https://github.com/serbanghita/Mobile-Detect.git",
|
9 |
+
"reference": "cd385290f9a0d609d2eddd165a1e44ec1bf12102"
|
10 |
+
},
|
11 |
+
"dist": {
|
12 |
+
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/cd385290f9a0d609d2eddd165a1e44ec1bf12102",
|
14 |
+
"reference": "cd385290f9a0d609d2eddd165a1e44ec1bf12102",
|
15 |
+
"shasum": ""
|
16 |
+
},
|
17 |
+
"require": {
|
18 |
+
"php": ">=5.0.0"
|
19 |
+
},
|
20 |
+
"require-dev": {
|
21 |
+
"phpunit/phpunit": "~4.8.35||~5.7"
|
22 |
+
},
|
23 |
+
"time": "2018-09-01T15:05:15+00:00",
|
24 |
+
"type": "library",
|
25 |
+
"installation-source": "dist",
|
26 |
+
"autoload": {
|
27 |
+
"classmap": [
|
28 |
+
"Mobile_Detect.php"
|
29 |
+
],
|
30 |
+
"psr-0": {
|
31 |
+
"Detection": "namespaced/"
|
32 |
+
}
|
33 |
+
},
|
34 |
+
"notification-url": "https://packagist.org/downloads/",
|
35 |
+
"license": [
|
36 |
+
"MIT"
|
37 |
+
],
|
38 |
+
"authors": [
|
39 |
+
{
|
40 |
+
"name": "Serban Ghita",
|
41 |
+
"email": "serbanghita@gmail.com",
|
42 |
+
"homepage": "http://mobiledetect.net",
|
43 |
+
"role": "Developer"
|
44 |
+
}
|
45 |
+
],
|
46 |
+
"description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.",
|
47 |
+
"homepage": "https://github.com/serbanghita/Mobile-Detect",
|
48 |
+
"keywords": [
|
49 |
+
"detect mobile devices",
|
50 |
+
"mobile",
|
51 |
+
"mobile detect",
|
52 |
+
"mobile detector",
|
53 |
+
"php mobile detect"
|
54 |
+
]
|
55 |
+
}
|
56 |
+
]
|
vendor/mobiledetect/mobiledetectlib/LICENSE.txt
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
MIT License
|
2 |
+
|
3 |
+
Copyright (c) <2011-2015> Serban Ghita, Nick Ilyin and contributors.
|
4 |
+
|
5 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
6 |
+
a copy of this software and associated documentation files (the
|
7 |
+
"Software"), to deal in the Software without restriction, including
|
8 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
9 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10 |
+
permit persons to whom the Software is furnished to do so, subject to
|
11 |
+
the following conditions:
|
12 |
+
|
13 |
+
The above copyright notice and this permission notice shall be included
|
14 |
+
in all copies or substantial portions of the Software.
|
15 |
+
|
16 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
17 |
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
19 |
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
20 |
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
21 |
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
22 |
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
23 |
+
|
24 |
+
Developer’s Certificate of Origin 1.1
|
25 |
+
|
26 |
+
By making a contribution to this project, I certify that:
|
27 |
+
|
28 |
+
(a) The contribution was created in whole or in part by me and I
|
29 |
+
have the right to submit it under the open source license
|
30 |
+
indicated in the file; or
|
31 |
+
|
32 |
+
(b) The contribution is based upon previous work that, to the best
|
33 |
+
of my knowledge, is covered under an appropriate open source
|
34 |
+
license and I have the right under that license to submit that
|
35 |
+
work with modifications, whether created in whole or in part
|
36 |
+
by me, under the same open source license (unless I am
|
37 |
+
permitted to submit under a different license), as indicated
|
38 |
+
in the file; or
|
39 |
+
|
40 |
+
(c) The contribution was provided directly to me by some other
|
41 |
+
person who certified (a), (b) or (c) and I have not modified
|
42 |
+
it.
|
43 |
+
|
44 |
+
(d) I understand and agree that this project and the contribution
|
45 |
+
are public and that a record of the contribution (including all
|
46 |
+
personal information I submit with it, including my sign-off) is
|
47 |
+
maintained indefinitely and may be redistributed consistent with
|
48 |
+
this project or the open source license(s) involved.
|
vendor/mobiledetect/mobiledetectlib/Mobile_Detect.json
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":"2.8.33","headerMatch":{"HTTP_ACCEPT":{"matches":["application\/x-obml2d","application\/vnd.rim.html","text\/vnd.wap.wml","application\/vnd.wap.xhtml+xml"]},"HTTP_X_WAP_PROFILE":null,"HTTP_X_WAP_CLIENTID":null,"HTTP_WAP_CONNECTION":null,"HTTP_PROFILE":null,"HTTP_X_OPERAMINI_PHONE_UA":null,"HTTP_X_NOKIA_GATEWAY_ID":null,"HTTP_X_ORANGE_ID":null,"HTTP_X_VODAFONE_3GPDPCONTEXT":null,"HTTP_X_HUAWEI_USERID":null,"HTTP_UA_OS":null,"HTTP_X_MOBILE_GATEWAY":null,"HTTP_X_ATT_DEVICEID":null,"HTTP_UA_CPU":{"matches":["ARM"]}},"uaHttpHeaders":["HTTP_USER_AGENT","HTTP_X_OPERAMINI_PHONE_UA","HTTP_X_DEVICE_USER_AGENT","HTTP_X_ORIGINAL_USER_AGENT","HTTP_X_SKYFIRE_PHONE","HTTP_X_BOLT_PHONE_UA","HTTP_DEVICE_STOCK_UA","HTTP_X_UCBROWSER_DEVICE_UA"],"uaMatch":{"phones":{"iPhone":"\\biPhone\\b|\\biPod\\b","BlackBerry":"BlackBerry|\\bBB10\\b|rim[0-9]+","HTC":"HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel","Nexus":"Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6","Dell":"Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b","Motorola":"Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b|XT1068|XT1092|XT1052","Samsung":"\\bSamsung\\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F","LG":"\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)","Sony":"SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533","Asus":"Asus.*Galaxy|PadFone.*Mobile","NokiaLumia":"Lumia [0-9]{3,4}","Micromax":"Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b","Palm":"PalmSource|Palm","Vertu":"Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature","Pantech":"PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790","Fly":"IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250","Wiko":"KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM","iMobile":"i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)","SimValley":"\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b","Wolfgang":"AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q","Alcatel":"Alcatel","Nintendo":"Nintendo (3DS|Switch)","Amoi":"Amoi","INQ":"INQ","GenericPhone":"Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser"},"tablets":{"iPad":"iPad|iPad.*Mobile","NexusTablet":"Android.*Nexus[\\s]+(7|9|10)","GoogleTablet":"Android.*Pixel C","SamsungTablet":"SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835","Kindle":"Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\\b|Android.*Silk\/[0-9.]+ like Chrome\/[0-9.]+ (?!Mobile)","SurfaceTablet":"Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)","HPTablet":"HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10","AsusTablet":"^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\\bP027\\b|\\bP024\\b|\\bP00C\\b","BlackBerryTablet":"PlayBook|RIM Tablet","HTCtablet":"HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410","MotorolaTablet":"xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617","NookTablet":"Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2","AcerTablet":"Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30","ToshibaTablet":"Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO","LGTablet":"\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b","FujitsuTablet":"Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b","PrestigioTablet":"PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002","LenovoTablet":"Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304F|TB-X304L|TB-8703F|Tab2A7-10F|TB2-X30L","DellTablet":"Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7","YarvikTablet":"Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b","MedionTablet":"Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB","ArnovaTablet":"97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2","IntensoTablet":"INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004","IRUTablet":"M702pro","MegafonTablet":"MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b","EbodaTablet":"E-Boda (Supreme|Impresspeed|Izzycomm|Essential)","AllViewTablet":"Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)","ArchosTablet":"\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b","AinolTablet":"NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark","NokiaLumiaTablet":"Lumia 2520","SonyTablet":"Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712","PhilipsTablet":"\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b","CubeTablet":"Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT","CobyTablet":"MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010","MIDTablet":"M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10","MSITablet":"MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b","SMiTTablet":"Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)","RockChipTablet":"Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A","FlyTablet":"IQ310|Fly Vision","bqTablet":"Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))|Maxwell.*Lite|Maxwell.*Plus","HuaweiTablet":"MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09","NecTablet":"\\bN-06D|\\bN-08D","PantechTablet":"Pantech.*P4100","BronchoTablet":"Broncho.*(N701|N708|N802|a710)","VersusTablet":"TOUCHPAD.*[78910]|\\bTOUCHTAB\\b","ZyncTablet":"z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900","PositivoTablet":"TB07STA|TB10STA|TB07FTA|TB10FTA","NabiTablet":"Android.*\\bNabi","KoboTablet":"Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build","DanewTablet":"DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b","TexetTablet":"NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE","PlaystationTablet":"Playstation.*(Portable|Vita)","TrekstorTablet":"ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab","PyleAudioTablet":"\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b","AdvanTablet":"Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b ","DanyTechTablet":"Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1","GalapadTablet":"Android.*\\bG1\\b(?!\\))","MicromaxTablet":"Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b","KarbonnTablet":"Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b","AllFineTablet":"Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide","PROSCANTablet":"\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b","YONESTablet":"BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026","ChangJiaTablet":"TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503","GUTablet":"TX-A1301|TX-M9002|Q702|kf026","PointOfViewTablet":"TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10","OvermaxTablet":"OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027","HCLTablet":"HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync","DPSTablet":"DPS Dream 9|DPS Dual 7","VistureTablet":"V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10","CrestaTablet":"CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989","MediatekTablet":"\\bMT8125|MT8389|MT8135|MT8377\\b","ConcordeTablet":"Concorde([ ]+)?Tab|ConCorde ReadMan","GoCleverTablet":"GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042","ModecomTablet":"FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003","VoninoTablet":"\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b","ECSTablet":"V07OT2|TM105A|S10OT1|TR10CS1","StorexTablet":"eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab","VodafoneTablet":"SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497","EssentielBTablet":"Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2","RossMoorTablet":"RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711","iMobileTablet":"i-mobile i-note","TolinoTablet":"tolino tab [0-9.]+|tolino shine","AudioSonicTablet":"\\bC-22Q|T7-QC|T-17B|T-17P\\b","AMPETablet":"Android.* A78 ","SkkTablet":"Android.* (SKYPAD|PHOENIX|CYCLOPS)","TecnoTablet":"TECNO P9|TECNO DP8D","JXDTablet":"Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b","iJoyTablet":"Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)","FX2Tablet":"FX2 PAD7|FX2 PAD10","XoroTablet":"KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151","ViewsonicTablet":"ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a","VerizonTablet":"QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1","OdysTablet":"LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10","CaptivaTablet":"CAPTIVA PAD","IconbitTablet":"NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S","TeclastTablet":"T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi","OndaTablet":"\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+|V10 \\b4G\\b","JaytechTablet":"TPC-PA762","BlaupunktTablet":"Endeavour 800NG|Endeavour 1010","DigmaTablet":"\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b","EvolioTablet":"ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b","LavaTablet":"QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b","AocTablet":"MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712","MpmanTablet":"MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010","CelkonTablet":"CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b","WolderTablet":"miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b","MediacomTablet":"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA","MiTablet":"\\bMI PAD\\b|\\bHM NOTE 1W\\b","NibiruTablet":"Nibiru M1|Nibiru Jupiter One","NexoTablet":"NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI","LeaderTablet":"TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100","UbislateTablet":"UbiSlate[\\s]?7C","PocketBookTablet":"Pocketbook","KocasoTablet":"\\b(TB-1207)\\b","HisenseTablet":"\\b(F5281|E2371)\\b","Hudl":"Hudl HT7S3|Hudl 2","TelstraTablet":"T-Hub2","GenericTablet":"Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107"},"browsers":{"Chrome":"\\bCrMo\\b|CriOS|Android.*Chrome\/[.0-9]* (Mobile)?","Dolfin":"\\bDolfin\\b","Opera":"Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR\/[0-9.]+$|Coast\/[0-9.]+","Skyfire":"Skyfire","Edge":"Mobile Safari\/[.0-9]* Edge","IE":"IEMobile|MSIEMobile","Firefox":"fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS","Bolt":"bolt","TeaShark":"teashark","Blazer":"Blazer","Safari":"Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari","WeChat":"\\bMicroMessenger\\b","UCBrowser":"UC.*Browser|UCWEB","baiduboxapp":"baiduboxapp","baidubrowser":"baidubrowser","DiigoBrowser":"DiigoBrowser","Puffin":"Puffin","Mercury":"\\bMercury\\b","ObigoBrowser":"Obigo","NetFront":"NF-Browser","GenericBrowser":"NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger","PaleMoon":"Android.*PaleMoon|Mobile.*PaleMoon"},"os":{"AndroidOS":"Android","BlackBerryOS":"blackberry|\\bBB10\\b|rim tablet os","PalmOS":"PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino","SymbianOS":"Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b","WindowsMobileOS":"Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;","WindowsPhoneOS":"Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;","iOS":"\\biPhone.*Mobile|\\biPod|\\biPad|AppleCoreMedia","MeeGoOS":"MeeGo","MaemoOS":"Maemo","JavaOS":"J2ME\/|\\bMIDP\\b|\\bCLDC\\b","webOS":"webOS|hpwOS","badaOS":"\\bBada\\b","BREWOS":"BREW"},"utilities":{"Bot":"Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom","MobileBot":"Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker\/M1A1-R2D2","DesktopMode":"WPDesktop","TV":"SonyDTV|HbbTV","WebKit":"(webkit)[ \/]([\\w.]+)","Console":"\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\\b","Watch":"SM-V700"}}}
|
vendor/mobiledetect/mobiledetectlib/Mobile_Detect.php
ADDED
@@ -0,0 +1,1473 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Mobile Detect Library
|
4 |
+
* Motto: "Every business should have a mobile detection script to detect mobile readers"
|
5 |
+
*
|
6 |
+
* Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets).
|
7 |
+
* It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.
|
8 |
+
*
|
9 |
+
* Homepage: http://mobiledetect.net
|
10 |
+
* GitHub: https://github.com/serbanghita/Mobile-Detect
|
11 |
+
* README: https://github.com/serbanghita/Mobile-Detect/blob/master/README.md
|
12 |
+
* CONTRIBUTING: https://github.com/serbanghita/Mobile-Detect/blob/master/docs/CONTRIBUTING.md
|
13 |
+
* KNOWN LIMITATIONS: https://github.com/serbanghita/Mobile-Detect/blob/master/docs/KNOWN_LIMITATIONS.md
|
14 |
+
* EXAMPLES: https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples
|
15 |
+
*
|
16 |
+
* @license https://github.com/serbanghita/Mobile-Detect/blob/master/LICENSE.txt MIT License
|
17 |
+
* @author Serban Ghita <serbanghita@gmail.com>
|
18 |
+
* @author Nick Ilyin <nick.ilyin@gmail.com>
|
19 |
+
* Original author: Victor Stanciu <vic.stanciu@gmail.com>
|
20 |
+
*
|
21 |
+
* @version 2.8.33
|
22 |
+
*/
|
23 |
+
class Mobile_Detect
|
24 |
+
{
|
25 |
+
/**
|
26 |
+
* Mobile detection type.
|
27 |
+
*
|
28 |
+
* @deprecated since version 2.6.9
|
29 |
+
*/
|
30 |
+
const DETECTION_TYPE_MOBILE = 'mobile';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Extended detection type.
|
34 |
+
*
|
35 |
+
* @deprecated since version 2.6.9
|
36 |
+
*/
|
37 |
+
const DETECTION_TYPE_EXTENDED = 'extended';
|
38 |
+
|
39 |
+
/**
|
40 |
+
* A frequently used regular expression to extract version #s.
|
41 |
+
*
|
42 |
+
* @deprecated since version 2.6.9
|
43 |
+
*/
|
44 |
+
const VER = '([\w._\+]+)';
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Top-level device.
|
48 |
+
*/
|
49 |
+
const MOBILE_GRADE_A = 'A';
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Mid-level device.
|
53 |
+
*/
|
54 |
+
const MOBILE_GRADE_B = 'B';
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Low-level device.
|
58 |
+
*/
|
59 |
+
const MOBILE_GRADE_C = 'C';
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Stores the version number of the current release.
|
63 |
+
*/
|
64 |
+
const VERSION = '2.8.33';
|
65 |
+
|
66 |
+
/**
|
67 |
+
* A type for the version() method indicating a string return value.
|
68 |
+
*/
|
69 |
+
const VERSION_TYPE_STRING = 'text';
|
70 |
+
|
71 |
+
/**
|
72 |
+
* A type for the version() method indicating a float return value.
|
73 |
+
*/
|
74 |
+
const VERSION_TYPE_FLOAT = 'float';
|
75 |
+
|
76 |
+
/**
|
77 |
+
* A cache for resolved matches
|
78 |
+
* @var array
|
79 |
+
*/
|
80 |
+
protected $cache = array();
|
81 |
+
|
82 |
+
/**
|
83 |
+
* The User-Agent HTTP header is stored in here.
|
84 |
+
* @var string
|
85 |
+
*/
|
86 |
+
protected $userAgent = null;
|
87 |
+
|
88 |
+
/**
|
89 |
+
* HTTP headers in the PHP-flavor. So HTTP_USER_AGENT and SERVER_SOFTWARE.
|
90 |
+
* @var array
|
91 |
+
*/
|
92 |
+
protected $httpHeaders = array();
|
93 |
+
|
94 |
+
/**
|
95 |
+
* CloudFront headers. E.g. CloudFront-Is-Desktop-Viewer, CloudFront-Is-Mobile-Viewer & CloudFront-Is-Tablet-Viewer.
|
96 |
+
* @var array
|
97 |
+
*/
|
98 |
+
protected $cloudfrontHeaders = array();
|
99 |
+
|
100 |
+
/**
|
101 |
+
* The matching Regex.
|
102 |
+
* This is good for debug.
|
103 |
+
* @var string
|
104 |
+
*/
|
105 |
+
protected $matchingRegex = null;
|
106 |
+
|
107 |
+
/**
|
108 |
+
* The matches extracted from the regex expression.
|
109 |
+
* This is good for debug.
|
110 |
+
*
|
111 |
+
* @var string
|
112 |
+
*/
|
113 |
+
protected $matchesArray = null;
|
114 |
+
|
115 |
+
/**
|
116 |
+
* The detection type, using self::DETECTION_TYPE_MOBILE or self::DETECTION_TYPE_EXTENDED.
|
117 |
+
*
|
118 |
+
* @deprecated since version 2.6.9
|
119 |
+
*
|
120 |
+
* @var string
|
121 |
+
*/
|
122 |
+
protected $detectionType = self::DETECTION_TYPE_MOBILE;
|
123 |
+
|
124 |
+
/**
|
125 |
+
* HTTP headers that trigger the 'isMobile' detection
|
126 |
+
* to be true.
|
127 |
+
*
|
128 |
+
* @var array
|
129 |
+
*/
|
130 |
+
protected static $mobileHeaders = array(
|
131 |
+
|
132 |
+
'HTTP_ACCEPT' => array('matches' => array(
|
133 |
+
// Opera Mini; @reference: http://dev.opera.com/articles/view/opera-binary-markup-language/
|
134 |
+
'application/x-obml2d',
|
135 |
+
// BlackBerry devices.
|
136 |
+
'application/vnd.rim.html',
|
137 |
+
'text/vnd.wap.wml',
|
138 |
+
'application/vnd.wap.xhtml+xml'
|
139 |
+
)),
|
140 |
+
'HTTP_X_WAP_PROFILE' => null,
|
141 |
+
'HTTP_X_WAP_CLIENTID' => null,
|
142 |
+
'HTTP_WAP_CONNECTION' => null,
|
143 |
+
'HTTP_PROFILE' => null,
|
144 |
+
// Reported by Opera on Nokia devices (eg. C3).
|
145 |
+
'HTTP_X_OPERAMINI_PHONE_UA' => null,
|
146 |
+
'HTTP_X_NOKIA_GATEWAY_ID' => null,
|
147 |
+
'HTTP_X_ORANGE_ID' => null,
|
148 |
+
'HTTP_X_VODAFONE_3GPDPCONTEXT' => null,
|
149 |
+
'HTTP_X_HUAWEI_USERID' => null,
|
150 |
+
// Reported by Windows Smartphones.
|
151 |
+
'HTTP_UA_OS' => null,
|
152 |
+
// Reported by Verizon, Vodafone proxy system.
|
153 |
+
'HTTP_X_MOBILE_GATEWAY' => null,
|
154 |
+
// Seen this on HTC Sensation. SensationXE_Beats_Z715e.
|
155 |
+
'HTTP_X_ATT_DEVICEID' => null,
|
156 |
+
// Seen this on a HTC.
|
157 |
+
'HTTP_UA_CPU' => array('matches' => array('ARM')),
|
158 |
+
);
|
159 |
+
|
160 |
+
/**
|
161 |
+
* List of mobile devices (phones).
|
162 |
+
*
|
163 |
+
* @var array
|
164 |
+
*/
|
165 |
+
protected static $phoneDevices = array(
|
166 |
+
'iPhone' => '\biPhone\b|\biPod\b', // |\biTunes
|
167 |
+
'BlackBerry' => 'BlackBerry|\bBB10\b|rim[0-9]+',
|
168 |
+
'HTC' => 'HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\bEVO\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel',
|
169 |
+
'Nexus' => 'Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6',
|
170 |
+
// @todo: Is 'Dell Streak' a tablet or a phone? ;)
|
171 |
+
'Dell' => 'Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\b001DL\b|\b101DL\b|\bGS01\b',
|
172 |
+
'Motorola' => 'Motorola|DROIDX|DROID BIONIC|\bDroid\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\bMoto E\b|XT1068|XT1092|XT1052',
|
173 |
+
'Samsung' => '\bSamsung\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F',
|
174 |
+
'LG' => '\bLG\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)',
|
175 |
+
'Sony' => 'SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533',
|
176 |
+
'Asus' => 'Asus.*Galaxy|PadFone.*Mobile',
|
177 |
+
'NokiaLumia' => 'Lumia [0-9]{3,4}',
|
178 |
+
// http://www.micromaxinfo.com/mobiles/smartphones
|
179 |
+
// Added because the codes might conflict with Acer Tablets.
|
180 |
+
'Micromax' => 'Micromax.*\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\b',
|
181 |
+
// @todo Complete the regex.
|
182 |
+
'Palm' => 'PalmSource|Palm', // avantgo|blazer|elaine|hiptop|plucker|xiino ;
|
183 |
+
'Vertu' => 'Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature', // Just for fun ;)
|
184 |
+
// http://www.pantech.co.kr/en/prod/prodList.do?gbrand=VEGA (PANTECH)
|
185 |
+
// Most of the VEGA devices are legacy. PANTECH seem to be newer devices based on Android.
|
186 |
+
'Pantech' => 'PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790',
|
187 |
+
// http://www.fly-phone.com/devices/smartphones/ ; Included only smartphones.
|
188 |
+
'Fly' => 'IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250',
|
189 |
+
// http://fr.wikomobile.com
|
190 |
+
'Wiko' => 'KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM',
|
191 |
+
'iMobile' => 'i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)',
|
192 |
+
// Added simvalley mobile just for fun. They have some interesting devices.
|
193 |
+
// http://www.simvalley.fr/telephonie---gps-_22_telephonie-mobile_telephones_.html
|
194 |
+
'SimValley' => '\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\b',
|
195 |
+
// Wolfgang - a brand that is sold by Aldi supermarkets.
|
196 |
+
// http://www.wolfgangmobile.com/
|
197 |
+
'Wolfgang' => 'AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q',
|
198 |
+
'Alcatel' => 'Alcatel',
|
199 |
+
'Nintendo' => 'Nintendo (3DS|Switch)',
|
200 |
+
// http://en.wikipedia.org/wiki/Amoi
|
201 |
+
'Amoi' => 'Amoi',
|
202 |
+
// http://en.wikipedia.org/wiki/INQ
|
203 |
+
'INQ' => 'INQ',
|
204 |
+
// @Tapatalk is a mobile app; http://support.tapatalk.com/threads/smf-2-0-2-os-and-browser-detection-plugin-and-tapatalk.15565/#post-79039
|
205 |
+
'GenericPhone' => 'Tapatalk|PDA;|SAGEM|\bmmp\b|pocket|\bpsp\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\bwap\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser',
|
206 |
+
);
|
207 |
+
|
208 |
+
/**
|
209 |
+
* List of tablet devices.
|
210 |
+
*
|
211 |
+
* @var array
|
212 |
+
*/
|
213 |
+
protected static $tabletDevices = array(
|
214 |
+
// @todo: check for mobile friendly emails topic.
|
215 |
+
'iPad' => 'iPad|iPad.*Mobile',
|
216 |
+
// Removed |^.*Android.*Nexus(?!(?:Mobile).)*$
|
217 |
+
// @see #442
|
218 |
+
// @todo Merge NexusTablet into GoogleTablet.
|
219 |
+
'NexusTablet' => 'Android.*Nexus[\s]+(7|9|10)',
|
220 |
+
// https://en.wikipedia.org/wiki/Pixel_C
|
221 |
+
'GoogleTablet' => 'Android.*Pixel C',
|
222 |
+
'SamsungTablet' => 'SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835', // SCH-P709|SCH-P729|SM-T2558|GT-I9205 - Samsung Mega - treat them like a regular phone.
|
223 |
+
// http://docs.aws.amazon.com/silk/latest/developerguide/user-agent.html
|
224 |
+
'Kindle' => 'Kindle|Silk.*Accelerated|Android.*\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\b|Android.*Silk/[0-9.]+ like Chrome/[0-9.]+ (?!Mobile)',
|
225 |
+
// Only the Surface tablets with Windows RT are considered mobile.
|
226 |
+
// http://msdn.microsoft.com/en-us/library/ie/hh920767(v=vs.85).aspx
|
227 |
+
'SurfaceTablet' => 'Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)',
|
228 |
+
// http://shopping1.hp.com/is-bin/INTERSHOP.enfinity/WFS/WW-USSMBPublicStore-Site/en_US/-/USD/ViewStandardCatalog-Browse?CatalogCategoryID=JfIQ7EN5lqMAAAEyDcJUDwMT
|
229 |
+
'HPTablet' => 'HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10',
|
230 |
+
// Watch out for PadFone, see #132.
|
231 |
+
// http://www.asus.com/de/Tablets_Mobile/Memo_Pad_Products/
|
232 |
+
'AsusTablet' => '^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\bK00F\b|\bK00C\b|\bK00E\b|\bK00L\b|TX201LA|ME176C|ME102A|\bM80TA\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\bME70C\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\bP027\b|\bP024\b|\bP00C\b',
|
233 |
+
'BlackBerryTablet' => 'PlayBook|RIM Tablet',
|
234 |
+
'HTCtablet' => 'HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410',
|
235 |
+
'MotorolaTablet' => 'xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617',
|
236 |
+
'NookTablet' => 'Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2',
|
237 |
+
// http://www.acer.ro/ac/ro/RO/content/drivers
|
238 |
+
// http://www.packardbell.co.uk/pb/en/GB/content/download (Packard Bell is part of Acer)
|
239 |
+
// http://us.acer.com/ac/en/US/content/group/tablets
|
240 |
+
// http://www.acer.de/ac/de/DE/content/models/tablets/
|
241 |
+
// Can conflict with Micromax and Motorola phones codes.
|
242 |
+
'AcerTablet' => 'Android.*; \b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\b|W3-810|\bA3-A10\b|\bA3-A11\b|\bA3-A20\b|\bA3-A30',
|
243 |
+
// http://eu.computers.toshiba-europe.com/innovation/family/Tablets/1098744/banner_id/tablet_footerlink/
|
244 |
+
// http://us.toshiba.com/tablets/tablet-finder
|
245 |
+
// http://www.toshiba.co.jp/regza/tablet/
|
246 |
+
'ToshibaTablet' => 'Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO',
|
247 |
+
// http://www.nttdocomo.co.jp/english/service/developer/smart_phone/technical_info/spec/index.html
|
248 |
+
// http://www.lg.com/us/tablets
|
249 |
+
'LGTablet' => '\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\b',
|
250 |
+
'FujitsuTablet' => 'Android.*\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\b',
|
251 |
+
// Prestigio Tablets http://www.prestigio.com/support
|
252 |
+
'PrestigioTablet' => 'PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002',
|
253 |
+
// http://support.lenovo.com/en_GB/downloads/default.page?#
|
254 |
+
'LenovoTablet' => 'Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304F|TB-X304L|TB-8703F|Tab2A7-10F|TB2-X30L',
|
255 |
+
// http://www.dell.com/support/home/us/en/04/Products/tab_mob/tablets
|
256 |
+
'DellTablet' => 'Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7',
|
257 |
+
// http://www.yarvik.com/en/matrix/tablets/
|
258 |
+
'YarvikTablet' => 'Android.*\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\b',
|
259 |
+
'MedionTablet' => 'Android.*\bOYO\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB',
|
260 |
+
'ArnovaTablet' => '97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2',
|
261 |
+
// http://www.intenso.de/kategorie_en.php?kategorie=33
|
262 |
+
// @todo: http://www.nbhkdz.com/read/b8e64202f92a2df129126bff.html - investigate
|
263 |
+
'IntensoTablet' => 'INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004',
|
264 |
+
// IRU.ru Tablets http://www.iru.ru/catalog/soho/planetable/
|
265 |
+
'IRUTablet' => 'M702pro',
|
266 |
+
'MegafonTablet' => 'MegaFon V9|\bZTE V9\b|Android.*\bMT7A\b',
|
267 |
+
// http://www.e-boda.ro/tablete-pc.html
|
268 |
+
'EbodaTablet' => 'E-Boda (Supreme|Impresspeed|Izzycomm|Essential)',
|
269 |
+
// http://www.allview.ro/produse/droseries/lista-tablete-pc/
|
270 |
+
'AllViewTablet' => 'Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)',
|
271 |
+
// http://wiki.archosfans.com/index.php?title=Main_Page
|
272 |
+
// @note Rewrite the regex format after we add more UAs.
|
273 |
+
'ArchosTablet' => '\b(101G9|80G9|A101IT)\b|Qilive 97R|Archos5|\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\b',
|
274 |
+
// http://www.ainol.com/plugin.php?identifier=ainol&module=product
|
275 |
+
'AinolTablet' => 'NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark',
|
276 |
+
'NokiaLumiaTablet' => 'Lumia 2520',
|
277 |
+
// @todo: inspect http://esupport.sony.com/US/p/select-system.pl?DIRECTOR=DRIVER
|
278 |
+
// Readers http://www.atsuhiro-me.net/ebook/sony-reader/sony-reader-web-browser
|
279 |
+
// http://www.sony.jp/support/tablet/
|
280 |
+
'SonyTablet' => 'Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712',
|
281 |
+
// http://www.support.philips.com/support/catalog/worldproducts.jsp?userLanguage=en&userCountry=cn&categoryid=3G_LTE_TABLET_SU_CN_CARE&title=3G%20tablets%20/%20LTE%20range&_dyncharset=UTF-8
|
282 |
+
'PhilipsTablet' => '\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\b',
|
283 |
+
// db + http://www.cube-tablet.com/buy-products.html
|
284 |
+
'CubeTablet' => 'Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT',
|
285 |
+
// http://www.cobyusa.com/?p=pcat&pcat_id=3001
|
286 |
+
'CobyTablet' => 'MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010',
|
287 |
+
// http://www.match.net.cn/products.asp
|
288 |
+
'MIDTablet' => 'M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10',
|
289 |
+
// http://www.msi.com/support
|
290 |
+
// @todo Research the Windows Tablets.
|
291 |
+
'MSITablet' => 'MSI \b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\b',
|
292 |
+
// @todo http://www.kyoceramobile.com/support/drivers/
|
293 |
+
// 'KyoceraTablet' => null,
|
294 |
+
// @todo http://intexuae.com/index.php/category/mobile-devices/tablets-products/
|
295 |
+
// 'IntextTablet' => null,
|
296 |
+
// http://pdadb.net/index.php?m=pdalist&list=SMiT (NoName Chinese Tablets)
|
297 |
+
// http://www.imp3.net/14/show.php?itemid=20454
|
298 |
+
'SMiTTablet' => 'Android.*(\bMID\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)',
|
299 |
+
// http://www.rock-chips.com/index.php?do=prod&pid=2
|
300 |
+
'RockChipTablet' => 'Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A',
|
301 |
+
// http://www.fly-phone.com/devices/tablets/ ; http://www.fly-phone.com/service/
|
302 |
+
'FlyTablet' => 'IQ310|Fly Vision',
|
303 |
+
// http://www.bqreaders.com/gb/tablets-prices-sale.html
|
304 |
+
'bqTablet' => 'Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))|Maxwell.*Lite|Maxwell.*Plus',
|
305 |
+
// http://www.huaweidevice.com/worldwide/productFamily.do?method=index&directoryId=5011&treeId=3290
|
306 |
+
// http://www.huaweidevice.com/worldwide/downloadCenter.do?method=index&directoryId=3372&treeId=0&tb=1&type=software (including legacy tablets)
|
307 |
+
'HuaweiTablet' => 'MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09',
|
308 |
+
// Nec or Medias Tab
|
309 |
+
'NecTablet' => '\bN-06D|\bN-08D',
|
310 |
+
// Pantech Tablets: http://www.pantechusa.com/phones/
|
311 |
+
'PantechTablet' => 'Pantech.*P4100',
|
312 |
+
// Broncho Tablets: http://www.broncho.cn/ (hard to find)
|
313 |
+
'BronchoTablet' => 'Broncho.*(N701|N708|N802|a710)',
|
314 |
+
// http://versusuk.com/support.html
|
315 |
+
'VersusTablet' => 'TOUCHPAD.*[78910]|\bTOUCHTAB\b',
|
316 |
+
// http://www.zync.in/index.php/our-products/tablet-phablets
|
317 |
+
'ZyncTablet' => 'z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900',
|
318 |
+
// http://www.positivoinformatica.com.br/www/pessoal/tablet-ypy/
|
319 |
+
'PositivoTablet' => 'TB07STA|TB10STA|TB07FTA|TB10FTA',
|
320 |
+
// https://www.nabitablet.com/
|
321 |
+
'NabiTablet' => 'Android.*\bNabi',
|
322 |
+
'KoboTablet' => 'Kobo Touch|\bK080\b|\bVox\b Build|\bArc\b Build',
|
323 |
+
// French Danew Tablets http://www.danew.com/produits-tablette.php
|
324 |
+
'DanewTablet' => 'DSlide.*\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\b',
|
325 |
+
// Texet Tablets and Readers http://www.texet.ru/tablet/
|
326 |
+
'TexetTablet' => 'NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE',
|
327 |
+
// Avoid detecting 'PLAYSTATION 3' as mobile.
|
328 |
+
'PlaystationTablet' => 'Playstation.*(Portable|Vita)',
|
329 |
+
// http://www.trekstor.de/surftabs.html
|
330 |
+
'TrekstorTablet' => 'ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab',
|
331 |
+
// http://www.pyleaudio.com/Products.aspx?%2fproducts%2fPersonal-Electronics%2fTablets
|
332 |
+
'PyleAudioTablet' => '\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\b',
|
333 |
+
// http://www.advandigital.com/index.php?link=content-product&jns=JP001
|
334 |
+
// because of the short codenames we have to include whitespaces to reduce the possible conflicts.
|
335 |
+
'AdvanTablet' => 'Android.* \b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\b ',
|
336 |
+
// http://www.danytech.com/category/tablet-pc
|
337 |
+
'DanyTechTablet' => 'Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1',
|
338 |
+
// http://www.galapad.net/product.html
|
339 |
+
'GalapadTablet' => 'Android.*\bG1\b(?!\))',
|
340 |
+
// http://www.micromaxinfo.com/tablet/funbook
|
341 |
+
'MicromaxTablet' => 'Funbook|Micromax.*\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\b',
|
342 |
+
// http://www.karbonnmobiles.com/products_tablet.php
|
343 |
+
'KarbonnTablet' => 'Android.*\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\b',
|
344 |
+
// http://www.myallfine.com/Products.asp
|
345 |
+
'AllFineTablet' => 'Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide',
|
346 |
+
// http://www.proscanvideo.com/products-search.asp?itemClass=TABLET&itemnmbr=
|
347 |
+
'PROSCANTablet' => '\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\b',
|
348 |
+
// http://www.yonesnav.com/products/products.php
|
349 |
+
'YONESTablet' => 'BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026',
|
350 |
+
// http://www.cjshowroom.com/eproducts.aspx?classcode=004001001
|
351 |
+
// China manufacturer makes tablets for different small brands (eg. http://www.zeepad.net/index.html)
|
352 |
+
'ChangJiaTablet' => 'TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503',
|
353 |
+
// http://www.gloryunion.cn/products.asp
|
354 |
+
// http://www.allwinnertech.com/en/apply/mobile.html
|
355 |
+
// http://www.ptcl.com.pk/pd_content.php?pd_id=284 (EVOTAB)
|
356 |
+
// @todo: Softwiner tablets?
|
357 |
+
// aka. Cute or Cool tablets. Not sure yet, must research to avoid collisions.
|
358 |
+
'GUTablet' => 'TX-A1301|TX-M9002|Q702|kf026', // A12R|D75A|D77|D79|R83|A95|A106C|R15|A75|A76|D71|D72|R71|R73|R77|D82|R85|D92|A97|D92|R91|A10F|A77F|W71F|A78F|W78F|W81F|A97F|W91F|W97F|R16G|C72|C73E|K72|K73|R96G
|
359 |
+
// http://www.pointofview-online.com/showroom.php?shop_mode=product_listing&category_id=118
|
360 |
+
'PointOfViewTablet' => 'TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10',
|
361 |
+
// http://www.overmax.pl/pl/katalog-produktow,p8/tablety,c14/
|
362 |
+
// @todo: add more tests.
|
363 |
+
'OvermaxTablet' => 'OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027',
|
364 |
+
// http://hclmetablet.com/India/index.php
|
365 |
+
'HCLTablet' => 'HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync',
|
366 |
+
// http://www.edigital.hu/Tablet_es_e-book_olvaso/Tablet-c18385.html
|
367 |
+
'DPSTablet' => 'DPS Dream 9|DPS Dual 7',
|
368 |
+
// http://www.visture.com/index.asp
|
369 |
+
'VistureTablet' => 'V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10',
|
370 |
+
// http://www.mijncresta.nl/tablet
|
371 |
+
'CrestaTablet' => 'CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989',
|
372 |
+
// MediaTek - http://www.mediatek.com/_en/01_products/02_proSys.php?cata_sn=1&cata1_sn=1&cata2_sn=309
|
373 |
+
'MediatekTablet' => '\bMT8125|MT8389|MT8135|MT8377\b',
|
374 |
+
// Concorde tab
|
375 |
+
'ConcordeTablet' => 'Concorde([ ]+)?Tab|ConCorde ReadMan',
|
376 |
+
// GoClever Tablets - http://www.goclever.com/uk/products,c1/tablet,c5/
|
377 |
+
'GoCleverTablet' => 'GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042',
|
378 |
+
// Modecom Tablets - http://www.modecom.eu/tablets/portal/
|
379 |
+
'ModecomTablet' => 'FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003',
|
380 |
+
// Vonino Tablets - http://www.vonino.eu/tablets
|
381 |
+
'VoninoTablet' => '\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\bQ8\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\b',
|
382 |
+
// ECS Tablets - http://www.ecs.com.tw/ECSWebSite/Product/Product_Tablet_List.aspx?CategoryID=14&MenuID=107&childid=M_107&LanID=0
|
383 |
+
'ECSTablet' => 'V07OT2|TM105A|S10OT1|TR10CS1',
|
384 |
+
// Storex Tablets - http://storex.fr/espace_client/support.html
|
385 |
+
// @note: no need to add all the tablet codes since they are guided by the first regex.
|
386 |
+
'StorexTablet' => 'eZee[_\']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab',
|
387 |
+
// Generic Vodafone tablets.
|
388 |
+
'VodafoneTablet' => 'SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497',
|
389 |
+
// French tablets - Essentiel B http://www.boulanger.fr/tablette_tactile_e-book/tablette_tactile_essentiel_b/cl_68908.htm?multiChoiceToDelete=brand&mc_brand=essentielb
|
390 |
+
// Aka: http://www.essentielb.fr/
|
391 |
+
'EssentielBTablet' => 'Smart[ \']?TAB[ ]+?[0-9]+|Family[ \']?TAB2',
|
392 |
+
// Ross & Moor - http://ross-moor.ru/
|
393 |
+
'RossMoorTablet' => 'RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711',
|
394 |
+
// i-mobile http://product.i-mobilephone.com/Mobile_Device
|
395 |
+
'iMobileTablet' => 'i-mobile i-note',
|
396 |
+
// http://www.tolino.de/de/vergleichen/
|
397 |
+
'TolinoTablet' => 'tolino tab [0-9.]+|tolino shine',
|
398 |
+
// AudioSonic - a Kmart brand
|
399 |
+
// http://www.kmart.com.au/webapp/wcs/stores/servlet/Search?langId=-1&storeId=10701&catalogId=10001&categoryId=193001&pageSize=72¤tPage=1&searchCategory=193001%2b4294965664&sortBy=p_MaxPrice%7c1
|
400 |
+
'AudioSonicTablet' => '\bC-22Q|T7-QC|T-17B|T-17P\b',
|
401 |
+
// AMPE Tablets - http://www.ampe.com.my/product-category/tablets/
|
402 |
+
// @todo: add them gradually to avoid conflicts.
|
403 |
+
'AMPETablet' => 'Android.* A78 ',
|
404 |
+
// Skk Mobile - http://skkmobile.com.ph/product_tablets.php
|
405 |
+
'SkkTablet' => 'Android.* (SKYPAD|PHOENIX|CYCLOPS)',
|
406 |
+
// Tecno Mobile (only tablet) - http://www.tecno-mobile.com/index.php/product?filterby=smart&list_order=all&page=1
|
407 |
+
'TecnoTablet' => 'TECNO P9|TECNO DP8D',
|
408 |
+
// JXD (consoles & tablets) - http://jxd.hk/products.asp?selectclassid=009008&clsid=3
|
409 |
+
'JXDTablet' => 'Android.* \b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\b',
|
410 |
+
// i-Joy tablets - http://www.i-joy.es/en/cat/products/tablets/
|
411 |
+
'iJoyTablet' => 'Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)',
|
412 |
+
// http://www.intracon.eu/tablet
|
413 |
+
'FX2Tablet' => 'FX2 PAD7|FX2 PAD10',
|
414 |
+
// http://www.xoro.de/produkte/
|
415 |
+
// @note: Might be the same brand with 'Simply tablets'
|
416 |
+
'XoroTablet' => 'KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151',
|
417 |
+
// http://www1.viewsonic.com/products/computing/tablets/
|
418 |
+
'ViewsonicTablet' => 'ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a',
|
419 |
+
// https://www.verizonwireless.com/tablets/verizon/
|
420 |
+
'VerizonTablet' => 'QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1',
|
421 |
+
// http://www.odys.de/web/internet-tablet_en.html
|
422 |
+
'OdysTablet' => 'LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\bXELIO\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10',
|
423 |
+
// http://www.captiva-power.de/products.html#tablets-en
|
424 |
+
'CaptivaTablet' => 'CAPTIVA PAD',
|
425 |
+
// IconBIT - http://www.iconbit.com/products/tablets/
|
426 |
+
'IconbitTablet' => 'NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S',
|
427 |
+
// http://www.teclast.com/topic.php?channelID=70&topicID=140&pid=63
|
428 |
+
'TeclastTablet' => 'T98 4G|\bP80\b|\bX90HD\b|X98 Air|X98 Air 3G|\bX89\b|P80 3G|\bX80h\b|P98 Air|\bX89HD\b|P98 3G|\bP90HD\b|P89 3G|X98 3G|\bP70h\b|P79HD 3G|G18d 3G|\bP79HD\b|\bP89s\b|\bA88\b|\bP10HD\b|\bP19HD\b|G18 3G|\bP78HD\b|\bA78\b|\bP75\b|G17s 3G|G17h 3G|\bP85t\b|\bP90\b|\bP11\b|\bP98t\b|\bP98HD\b|\bG18d\b|\bP85s\b|\bP11HD\b|\bP88s\b|\bA80HD\b|\bA80se\b|\bA10h\b|\bP89\b|\bP78s\b|\bG18\b|\bP85\b|\bA70h\b|\bA70\b|\bG17\b|\bP18\b|\bA80s\b|\bA11s\b|\bP88HD\b|\bA80h\b|\bP76s\b|\bP76h\b|\bP98\b|\bA10HD\b|\bP78\b|\bP88\b|\bA11\b|\bA10t\b|\bP76a\b|\bP76t\b|\bP76e\b|\bP85HD\b|\bP85a\b|\bP86\b|\bP75HD\b|\bP76v\b|\bA12\b|\bP75a\b|\bA15\b|\bP76Ti\b|\bP81HD\b|\bA10\b|\bT760VE\b|\bT720HD\b|\bP76\b|\bP73\b|\bP71\b|\bP72\b|\bT720SE\b|\bC520Ti\b|\bT760\b|\bT720VE\b|T720-3GE|T720-WiFi',
|
429 |
+
// Onda - http://www.onda-tablet.com/buy-android-onda.html?dir=desc&limit=all&order=price
|
430 |
+
'OndaTablet' => '\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\b[\s]+|V10 \b4G\b',
|
431 |
+
'JaytechTablet' => 'TPC-PA762',
|
432 |
+
'BlaupunktTablet' => 'Endeavour 800NG|Endeavour 1010',
|
433 |
+
// http://www.digma.ru/support/download/
|
434 |
+
// @todo: Ebooks also (if requested)
|
435 |
+
'DigmaTablet' => '\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\b',
|
436 |
+
// http://www.evolioshop.com/ro/tablete-pc.html
|
437 |
+
// http://www.evolio.ro/support/downloads_static.html?cat=2
|
438 |
+
// @todo: Research some more
|
439 |
+
'EvolioTablet' => 'ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\bEvotab\b|\bNeura\b',
|
440 |
+
// @todo http://www.lavamobiles.com/tablets-data-cards
|
441 |
+
'LavaTablet' => 'QPAD E704|\bIvoryS\b|E-TAB IVORY|\bE-TAB\b',
|
442 |
+
// http://www.breezetablet.com/
|
443 |
+
'AocTablet' => 'MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712',
|
444 |
+
// http://www.mpmaneurope.com/en/products/internet-tablets-14/android-tablets-14/
|
445 |
+
'MpmanTablet' => 'MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\bMPG7\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010',
|
446 |
+
// https://www.celkonmobiles.com/?_a=categoryphones&sid=2
|
447 |
+
'CelkonTablet' => 'CT695|CT888|CT[\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\bCT-1\b',
|
448 |
+
// http://www.wolderelectronics.com/productos/manuales-y-guias-rapidas/categoria-2-miTab
|
449 |
+
'WolderTablet' => 'miTab \b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\b',
|
450 |
+
'MediacomTablet' => 'M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA',
|
451 |
+
// http://www.mi.com/en
|
452 |
+
'MiTablet' => '\bMI PAD\b|\bHM NOTE 1W\b',
|
453 |
+
// http://www.nbru.cn/index.html
|
454 |
+
'NibiruTablet' => 'Nibiru M1|Nibiru Jupiter One',
|
455 |
+
// http://navroad.com/products/produkty/tablety/
|
456 |
+
// http://navroad.com/products/produkty/tablety/
|
457 |
+
'NexoTablet' => 'NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI',
|
458 |
+
// http://leader-online.com/new_site/product-category/tablets/
|
459 |
+
// http://www.leader-online.net.au/List/Tablet
|
460 |
+
'LeaderTablet' => 'TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100',
|
461 |
+
// http://www.datawind.com/ubislate/
|
462 |
+
'UbislateTablet' => 'UbiSlate[\s]?7C',
|
463 |
+
// http://www.pocketbook-int.com/ru/support
|
464 |
+
'PocketBookTablet' => 'Pocketbook',
|
465 |
+
// http://www.kocaso.com/product_tablet.html
|
466 |
+
'KocasoTablet' => '\b(TB-1207)\b',
|
467 |
+
// http://global.hisense.com/product/asia/tablet/Sero7/201412/t20141215_91832.htm
|
468 |
+
'HisenseTablet' => '\b(F5281|E2371)\b',
|
469 |
+
// http://www.tesco.com/direct/hudl/
|
470 |
+
'Hudl' => 'Hudl HT7S3|Hudl 2',
|
471 |
+
// http://www.telstra.com.au/home-phone/thub-2/
|
472 |
+
'TelstraTablet' => 'T-Hub2',
|
473 |
+
'GenericTablet' => 'Android.*\b97D\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\bA7EB\b|CatNova8|A1_07|CT704|CT1002|\bM721\b|rk30sdk|\bEVOTAB\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\bM6pro\b|CT1020W|arc 10HD|\bTP750\b|\bQTAQZ3\b|WVT101|TM1088|KT107'
|
474 |
+
);
|
475 |
+
|
476 |
+
/**
|
477 |
+
* List of mobile Operating Systems.
|
478 |
+
*
|
479 |
+
* @var array
|
480 |
+
*/
|
481 |
+
protected static $operatingSystems = array(
|
482 |
+
'AndroidOS' => 'Android',
|
483 |
+
'BlackBerryOS' => 'blackberry|\bBB10\b|rim tablet os',
|
484 |
+
'PalmOS' => 'PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino',
|
485 |
+
'SymbianOS' => 'Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\bS60\b',
|
486 |
+
// @reference: http://en.wikipedia.org/wiki/Windows_Mobile
|
487 |
+
'WindowsMobileOS' => 'Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;',
|
488 |
+
// @reference: http://en.wikipedia.org/wiki/Windows_Phone
|
489 |
+
// http://wifeng.cn/?r=blog&a=view&id=106
|
490 |
+
// http://nicksnettravels.builttoroam.com/post/2011/01/10/Bogus-Windows-Phone-7-User-Agent-String.aspx
|
491 |
+
// http://msdn.microsoft.com/library/ms537503.aspx
|
492 |
+
// https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx
|
493 |
+
'WindowsPhoneOS' => 'Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;',
|
494 |
+
'iOS' => '\biPhone.*Mobile|\biPod|\biPad|AppleCoreMedia',
|
495 |
+
// http://en.wikipedia.org/wiki/MeeGo
|
496 |
+
// @todo: research MeeGo in UAs
|
497 |
+
'MeeGoOS' => 'MeeGo',
|
498 |
+
// http://en.wikipedia.org/wiki/Maemo
|
499 |
+
// @todo: research Maemo in UAs
|
500 |
+
'MaemoOS' => 'Maemo',
|
501 |
+
'JavaOS' => 'J2ME/|\bMIDP\b|\bCLDC\b', // '|Java/' produces bug #135
|
502 |
+
'webOS' => 'webOS|hpwOS',
|
503 |
+
'badaOS' => '\bBada\b',
|
504 |
+
'BREWOS' => 'BREW',
|
505 |
+
);
|
506 |
+
|
507 |
+
/**
|
508 |
+
* List of mobile User Agents.
|
509 |
+
*
|
510 |
+
* IMPORTANT: This is a list of only mobile browsers.
|
511 |
+
* Mobile Detect 2.x supports only mobile browsers,
|
512 |
+
* it was never designed to detect all browsers.
|
513 |
+
* The change will come in 2017 in the 3.x release for PHP7.
|
514 |
+
*
|
515 |
+
* @var array
|
516 |
+
*/
|
517 |
+
protected static $browsers = array(
|
518 |
+
//'Vivaldi' => 'Vivaldi',
|
519 |
+
// @reference: https://developers.google.com/chrome/mobile/docs/user-agent
|
520 |
+
'Chrome' => '\bCrMo\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?',
|
521 |
+
'Dolfin' => '\bDolfin\b',
|
522 |
+
'Opera' => 'Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+$|Coast/[0-9.]+',
|
523 |
+
'Skyfire' => 'Skyfire',
|
524 |
+
'Edge' => 'Mobile Safari/[.0-9]* Edge',
|
525 |
+
'IE' => 'IEMobile|MSIEMobile', // |Trident/[.0-9]+
|
526 |
+
'Firefox' => 'fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS',
|
527 |
+
'Bolt' => 'bolt',
|
528 |
+
'TeaShark' => 'teashark',
|
529 |
+
'Blazer' => 'Blazer',
|
530 |
+
// @reference: http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html#//apple_ref/doc/uid/TP40006517-SW3
|
531 |
+
'Safari' => 'Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari',
|
532 |
+
// http://en.wikipedia.org/wiki/Midori_(web_browser)
|
533 |
+
//'Midori' => 'midori',
|
534 |
+
//'Tizen' => 'Tizen',
|
535 |
+
'WeChat' => '\bMicroMessenger\b',
|
536 |
+
'UCBrowser' => 'UC.*Browser|UCWEB',
|
537 |
+
'baiduboxapp' => 'baiduboxapp',
|
538 |
+
'baidubrowser' => 'baidubrowser',
|
539 |
+
// https://github.com/serbanghita/Mobile-Detect/issues/7
|
540 |
+
'DiigoBrowser' => 'DiigoBrowser',
|
541 |
+
// http://www.puffinbrowser.com/index.php
|
542 |
+
'Puffin' => 'Puffin',
|
543 |
+
// http://mercury-browser.com/index.html
|
544 |
+
'Mercury' => '\bMercury\b',
|
545 |
+
// http://en.wikipedia.org/wiki/Obigo_Browser
|
546 |
+
'ObigoBrowser' => 'Obigo',
|
547 |
+
// http://en.wikipedia.org/wiki/NetFront
|
548 |
+
'NetFront' => 'NF-Browser',
|
549 |
+
// @reference: http://en.wikipedia.org/wiki/Minimo
|
550 |
+
// http://en.wikipedia.org/wiki/Vision_Mobile_Browser
|
551 |
+
'GenericBrowser' => 'NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger',
|
552 |
+
// @reference: https://en.wikipedia.org/wiki/Pale_Moon_(web_browser)
|
553 |
+
'PaleMoon' => 'Android.*PaleMoon|Mobile.*PaleMoon',
|
554 |
+
);
|
555 |
+
|
556 |
+
/**
|
557 |
+
* Utilities.
|
558 |
+
*
|
559 |
+
* @var array
|
560 |
+
*/
|
561 |
+
protected static $utilities = array(
|
562 |
+
// Experimental. When a mobile device wants to switch to 'Desktop Mode'.
|
563 |
+
// http://scottcate.com/technology/windows-phone-8-ie10-desktop-or-mobile/
|
564 |
+
// https://github.com/serbanghita/Mobile-Detect/issues/57#issuecomment-15024011
|
565 |
+
// https://developers.facebook.com/docs/sharing/best-practices
|
566 |
+
'Bot' => 'Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom',
|
567 |
+
'MobileBot' => 'Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2',
|
568 |
+
'DesktopMode' => 'WPDesktop',
|
569 |
+
'TV' => 'SonyDTV|HbbTV', // experimental
|
570 |
+
'WebKit' => '(webkit)[ /]([\w.]+)',
|
571 |
+
// @todo: Include JXD consoles.
|
572 |
+
'Console' => '\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\b',
|
573 |
+
'Watch' => 'SM-V700',
|
574 |
+
);
|
575 |
+
|
576 |
+
/**
|
577 |
+
* All possible HTTP headers that represent the
|
578 |
+
* User-Agent string.
|
579 |
+
*
|
580 |
+
* @var array
|
581 |
+
*/
|
582 |
+
protected static $uaHttpHeaders = array(
|
583 |
+
// The default User-Agent string.
|
584 |
+
'HTTP_USER_AGENT',
|
585 |
+
// Header can occur on devices using Opera Mini.
|
586 |
+
'HTTP_X_OPERAMINI_PHONE_UA',
|
587 |
+
// Vodafone specific header: http://www.seoprinciple.com/mobile-web-community-still-angry-at-vodafone/24/
|
588 |
+
'HTTP_X_DEVICE_USER_AGENT',
|
589 |
+
'HTTP_X_ORIGINAL_USER_AGENT',
|
590 |
+
'HTTP_X_SKYFIRE_PHONE',
|
591 |
+
'HTTP_X_BOLT_PHONE_UA',
|
592 |
+
'HTTP_DEVICE_STOCK_UA',
|
593 |
+
'HTTP_X_UCBROWSER_DEVICE_UA'
|
594 |
+
);
|
595 |
+
|
596 |
+
/**
|
597 |
+
* The individual segments that could exist in a User-Agent string. VER refers to the regular
|
598 |
+
* expression defined in the constant self::VER.
|
599 |
+
*
|
600 |
+
* @var array
|
601 |
+
*/
|
602 |
+
protected static $properties = array(
|
603 |
+
|
604 |
+
// Build
|
605 |
+
'Mobile' => 'Mobile/[VER]',
|
606 |
+
'Build' => 'Build/[VER]',
|
607 |
+
'Version' => 'Version/[VER]',
|
608 |
+
'VendorID' => 'VendorID/[VER]',
|
609 |
+
|
610 |
+
// Devices
|
611 |
+
'iPad' => 'iPad.*CPU[a-z ]+[VER]',
|
612 |
+
'iPhone' => 'iPhone.*CPU[a-z ]+[VER]',
|
613 |
+
'iPod' => 'iPod.*CPU[a-z ]+[VER]',
|
614 |
+
//'BlackBerry' => array('BlackBerry[VER]', 'BlackBerry [VER];'),
|
615 |
+
'Kindle' => 'Kindle/[VER]',
|
616 |
+
|
617 |
+
// Browser
|
618 |
+
'Chrome' => array('Chrome/[VER]', 'CriOS/[VER]', 'CrMo/[VER]'),
|
619 |
+
'Coast' => array('Coast/[VER]'),
|
620 |
+
'Dolfin' => 'Dolfin/[VER]',
|
621 |
+
// @reference: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox
|
622 |
+
'Firefox' => array('Firefox/[VER]', 'FxiOS/[VER]'),
|
623 |
+
'Fennec' => 'Fennec/[VER]',
|
624 |
+
// http://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
|
625 |
+
// https://msdn.microsoft.com/en-us/library/ie/hh869301(v=vs.85).aspx
|
626 |
+
'Edge' => 'Edge/[VER]',
|
627 |
+
'IE' => array('IEMobile/[VER];', 'IEMobile [VER]', 'MSIE [VER];', 'Trident/[0-9.]+;.*rv:[VER]'),
|
628 |
+
// http://en.wikipedia.org/wiki/NetFront
|
629 |
+
'NetFront' => 'NetFront/[VER]',
|
630 |
+
'NokiaBrowser' => 'NokiaBrowser/[VER]',
|
631 |
+
'Opera' => array( ' OPR/[VER]', 'Opera Mini/[VER]', 'Version/[VER]' ),
|
632 |
+
'Opera Mini' => 'Opera Mini/[VER]',
|
633 |
+
'Opera Mobi' => 'Version/[VER]',
|
634 |
+
'UCBrowser' => array( 'UCWEB[VER]', 'UC.*Browser/[VER]' ),
|
635 |
+
'MQQBrowser' => 'MQQBrowser/[VER]',
|
636 |
+
'MicroMessenger' => 'MicroMessenger/[VER]',
|
637 |
+
'baiduboxapp' => 'baiduboxapp/[VER]',
|
638 |
+
'baidubrowser' => 'baidubrowser/[VER]',
|
639 |
+
'SamsungBrowser' => 'SamsungBrowser/[VER]',
|
640 |
+
'Iron' => 'Iron/[VER]',
|
641 |
+
// @note: Safari 7534.48.3 is actually Version 5.1.
|
642 |
+
// @note: On BlackBerry the Version is overwriten by the OS.
|
643 |
+
'Safari' => array( 'Version/[VER]', 'Safari/[VER]' ),
|
644 |
+
'Skyfire' => 'Skyfire/[VER]',
|
645 |
+
'Tizen' => 'Tizen/[VER]',
|
646 |
+
'Webkit' => 'webkit[ /][VER]',
|
647 |
+
'PaleMoon' => 'PaleMoon/[VER]',
|
648 |
+
|
649 |
+
// Engine
|
650 |
+
'Gecko' => 'Gecko/[VER]',
|
651 |
+
'Trident' => 'Trident/[VER]',
|
652 |
+
'Presto' => 'Presto/[VER]',
|
653 |
+
'Goanna' => 'Goanna/[VER]',
|
654 |
+
|
655 |
+
// OS
|
656 |
+
'iOS' => ' \bi?OS\b [VER][ ;]{1}',
|
657 |
+
'Android' => 'Android [VER]',
|
658 |
+
'BlackBerry' => array('BlackBerry[\w]+/[VER]', 'BlackBerry.*Version/[VER]', 'Version/[VER]'),
|
659 |
+
'BREW' => 'BREW [VER]',
|
660 |
+
'Java' => 'Java/[VER]',
|
661 |
+
// @reference: http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/08/29/introducing-the-ie9-on-windows-phone-mango-user-agent-string.aspx
|
662 |
+
// @reference: http://en.wikipedia.org/wiki/Windows_NT#Releases
|
663 |
+
'Windows Phone OS' => array( 'Windows Phone OS [VER]', 'Windows Phone [VER]'),
|
664 |
+
'Windows Phone' => 'Windows Phone [VER]',
|
665 |
+
'Windows CE' => 'Windows CE/[VER]',
|
666 |
+
// http://social.msdn.microsoft.com/Forums/en-US/windowsdeveloperpreviewgeneral/thread/6be392da-4d2f-41b4-8354-8dcee20c85cd
|
667 |
+
'Windows NT' => 'Windows NT [VER]',
|
668 |
+
'Symbian' => array('SymbianOS/[VER]', 'Symbian/[VER]'),
|
669 |
+
'webOS' => array('webOS/[VER]', 'hpwOS/[VER];'),
|
670 |
+
);
|
671 |
+
|
672 |
+
/**
|
673 |
+
* Construct an instance of this class.
|
674 |
+
*
|
675 |
+
* @param array $headers Specify the headers as injection. Should be PHP _SERVER flavored.
|
676 |
+
* If left empty, will use the global _SERVER['HTTP_*'] vars instead.
|
677 |
+
* @param string $userAgent Inject the User-Agent header. If null, will use HTTP_USER_AGENT
|
678 |
+
* from the $headers array instead.
|
679 |
+
*/
|
680 |
+
public function __construct(
|
681 |
+
array $headers = null,
|
682 |
+
$userAgent = null
|
683 |
+
) {
|
684 |
+
$this->setHttpHeaders($headers);
|
685 |
+
$this->setUserAgent($userAgent);
|
686 |
+
}
|
687 |
+
|
688 |
+
/**
|
689 |
+
* Get the current script version.
|
690 |
+
* This is useful for the demo.php file,
|
691 |
+
* so people can check on what version they are testing
|
692 |
+
* for mobile devices.
|
693 |
+
*
|
694 |
+
* @return string The version number in semantic version format.
|
695 |
+
*/
|
696 |
+
public static function getScriptVersion()
|
697 |
+
{
|
698 |
+
return self::VERSION;
|
699 |
+
}
|
700 |
+
|
701 |
+
/**
|
702 |
+
* Set the HTTP Headers. Must be PHP-flavored. This method will reset existing headers.
|
703 |
+
*
|
704 |
+
* @param array $httpHeaders The headers to set. If null, then using PHP's _SERVER to extract
|
705 |
+
* the headers. The default null is left for backwards compatibility.
|
706 |
+
*/
|
707 |
+
public function setHttpHeaders($httpHeaders = null)
|
708 |
+
{
|
709 |
+
// use global _SERVER if $httpHeaders aren't defined
|
710 |
+
if (!is_array($httpHeaders) || !count($httpHeaders)) {
|
711 |
+
$httpHeaders = $_SERVER;
|
712 |
+
}
|
713 |
+
|
714 |
+
// clear existing headers
|
715 |
+
$this->httpHeaders = array();
|
716 |
+
|
717 |
+
// Only save HTTP headers. In PHP land, that means only _SERVER vars that
|
718 |
+
// start with HTTP_.
|
719 |
+
foreach ($httpHeaders as $key => $value) {
|
720 |
+
if (substr($key, 0, 5) === 'HTTP_') {
|
721 |
+
$this->httpHeaders[$key] = $value;
|
722 |
+
}
|
723 |
+
}
|
724 |
+
|
725 |
+
// In case we're dealing with CloudFront, we need to know.
|
726 |
+
$this->setCfHeaders($httpHeaders);
|
727 |
+
}
|
728 |
+
|
729 |
+
/**
|
730 |
+
* Retrieves the HTTP headers.
|
731 |
+
*
|
732 |
+
* @return array
|
733 |
+
*/
|
734 |
+
public function getHttpHeaders()
|
735 |
+
{
|
736 |
+
return $this->httpHeaders;
|
737 |
+
}
|
738 |
+
|
739 |
+
/**
|
740 |
+
* Retrieves a particular header. If it doesn't exist, no exception/error is caused.
|
741 |
+
* Simply null is returned.
|
742 |
+
*
|
743 |
+
* @param string $header The name of the header to retrieve. Can be HTTP compliant such as
|
744 |
+
* "User-Agent" or "X-Device-User-Agent" or can be php-esque with the
|
745 |
+
* all-caps, HTTP_ prefixed, underscore seperated awesomeness.
|
746 |
+
*
|
747 |
+
* @return string|null The value of the header.
|
748 |
+
*/
|
749 |
+
public function getHttpHeader($header)
|
750 |
+
{
|
751 |
+
// are we using PHP-flavored headers?
|
752 |
+
if (strpos($header, '_') === false) {
|
753 |
+
$header = str_replace('-', '_', $header);
|
754 |
+
$header = strtoupper($header);
|
755 |
+
}
|
756 |
+
|
757 |
+
// test the alternate, too
|
758 |
+
$altHeader = 'HTTP_' . $header;
|
759 |
+
|
760 |
+
//Test both the regular and the HTTP_ prefix
|
761 |
+
if (isset($this->httpHeaders[$header])) {
|
762 |
+
return $this->httpHeaders[$header];
|
763 |
+
} elseif (isset($this->httpHeaders[$altHeader])) {
|
764 |
+
return $this->httpHeaders[$altHeader];
|
765 |
+
}
|
766 |
+
|
767 |
+
return null;
|
768 |
+
}
|
769 |
+
|
770 |
+
public function getMobileHeaders()
|
771 |
+
{
|
772 |
+
return self::$mobileHeaders;
|
773 |
+
}
|
774 |
+
|
775 |
+
/**
|
776 |
+
* Get all possible HTTP headers that
|
777 |
+
* can contain the User-Agent string.
|
778 |
+
*
|
779 |
+
* @return array List of HTTP headers.
|
780 |
+
*/
|
781 |
+
public function getUaHttpHeaders()
|
782 |
+
{
|
783 |
+
return self::$uaHttpHeaders;
|
784 |
+
}
|
785 |
+
|
786 |
+
|
787 |
+
/**
|
788 |
+
* Set CloudFront headers
|
789 |
+
* http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html#header-caching-web-device
|
790 |
+
*
|
791 |
+
* @param array $cfHeaders List of HTTP headers
|
792 |
+
*
|
793 |
+
* @return boolean If there were CloudFront headers to be set
|
794 |
+
*/
|
795 |
+
public function setCfHeaders($cfHeaders = null) {
|
796 |
+
// use global _SERVER if $cfHeaders aren't defined
|
797 |
+
if (!is_array($cfHeaders) || !count($cfHeaders)) {
|
798 |
+
$cfHeaders = $_SERVER;
|
799 |
+
}
|
800 |
+
|
801 |
+
// clear existing headers
|
802 |
+
$this->cloudfrontHeaders = array();
|
803 |
+
|
804 |
+
// Only save CLOUDFRONT headers. In PHP land, that means only _SERVER vars that
|
805 |
+
// start with cloudfront-.
|
806 |
+
$response = false;
|
807 |
+
foreach ($cfHeaders as $key => $value) {
|
808 |
+
if (substr(strtolower($key), 0, 16) === 'http_cloudfront_') {
|
809 |
+
$this->cloudfrontHeaders[strtoupper($key)] = $value;
|
810 |
+
$response = true;
|
811 |
+
}
|
812 |
+
}
|
813 |
+
|
814 |
+
return $response;
|
815 |
+
}
|
816 |
+
|
817 |
+
/**
|
818 |
+
* Retrieves the cloudfront headers.
|
819 |
+
*
|
820 |
+
* @return array
|
821 |
+
*/
|
822 |
+
public function getCfHeaders()
|
823 |
+
{
|
824 |
+
return $this->cloudfrontHeaders;
|
825 |
+
}
|
826 |
+
|
827 |
+
/**
|
828 |
+
* @param string $userAgent
|
829 |
+
* @return string
|
830 |
+
*/
|
831 |
+
private function prepareUserAgent($userAgent) {
|
832 |
+
$userAgent = trim($userAgent);
|
833 |
+
$userAgent = substr($userAgent, 0, 500);
|
834 |
+
return $userAgent;
|
835 |
+
}
|
836 |
+
|
837 |
+
/**
|
838 |
+
* Set the User-Agent to be used.
|
839 |
+
*
|
840 |
+
* @param string $userAgent The user agent string to set.
|
841 |
+
*
|
842 |
+
* @return string|null
|
843 |
+
*/
|
844 |
+
public function setUserAgent($userAgent = null)
|
845 |
+
{
|
846 |
+
// Invalidate cache due to #375
|
847 |
+
$this->cache = array();
|
848 |
+
|
849 |
+
if (false === empty($userAgent)) {
|
850 |
+
return $this->userAgent = $this->prepareUserAgent($userAgent);
|
851 |
+
} else {
|
852 |
+
$this->userAgent = null;
|
853 |
+
foreach ($this->getUaHttpHeaders() as $altHeader) {
|
854 |
+
if (false === empty($this->httpHeaders[$altHeader])) { // @todo: should use getHttpHeader(), but it would be slow. (Serban)
|
855 |
+
$this->userAgent .= $this->httpHeaders[$altHeader] . " ";
|
856 |
+
}
|
857 |
+
}
|
858 |
+
|
859 |
+
if (!empty($this->userAgent)) {
|
860 |
+
return $this->userAgent = $this->prepareUserAgent($this->userAgent);
|
861 |
+
}
|
862 |
+
}
|
863 |
+
|
864 |
+
if (count($this->getCfHeaders()) > 0) {
|
865 |
+
return $this->userAgent = 'Amazon CloudFront';
|
866 |
+
}
|
867 |
+
return $this->userAgent = null;
|
868 |
+
}
|
869 |
+
|
870 |
+
/**
|
871 |
+
* Retrieve the User-Agent.
|
872 |
+
*
|
873 |
+
* @return string|null The user agent if it's set.
|
874 |
+
*/
|
875 |
+
public function getUserAgent()
|
876 |
+
{
|
877 |
+
return $this->userAgent;
|
878 |
+
}
|
879 |
+
|
880 |
+
/**
|
881 |
+
* Set the detection type. Must be one of self::DETECTION_TYPE_MOBILE or
|
882 |
+
* self::DETECTION_TYPE_EXTENDED. Otherwise, nothing is set.
|
883 |
+
*
|
884 |
+
* @deprecated since version 2.6.9
|
885 |
+
*
|
886 |
+
* @param string $type The type. Must be a self::DETECTION_TYPE_* constant. The default
|
887 |
+
* parameter is null which will default to self::DETECTION_TYPE_MOBILE.
|
888 |
+
*/
|
889 |
+
public function setDetectionType($type = null)
|
890 |
+
{
|
891 |
+
if ($type === null) {
|
892 |
+
$type = self::DETECTION_TYPE_MOBILE;
|
893 |
+
}
|
894 |
+
|
895 |
+
if ($type !== self::DETECTION_TYPE_MOBILE && $type !== self::DETECTION_TYPE_EXTENDED) {
|
896 |
+
return;
|
897 |
+
}
|
898 |
+
|
899 |
+
$this->detectionType = $type;
|
900 |
+
}
|
901 |
+
|
902 |
+
public function getMatchingRegex()
|
903 |
+
{
|
904 |
+
return $this->matchingRegex;
|
905 |
+
}
|
906 |
+
|
907 |
+
public function getMatchesArray()
|
908 |
+
{
|
909 |
+
return $this->matchesArray;
|
910 |
+
}
|
911 |
+
|
912 |
+
/**
|
913 |
+
* Retrieve the list of known phone devices.
|
914 |
+
*
|
915 |
+
* @return array List of phone devices.
|
916 |
+
*/
|
917 |
+
public static function getPhoneDevices()
|
918 |
+
{
|
919 |
+
return self::$phoneDevices;
|
920 |
+
}
|
921 |
+
|
922 |
+
/**
|
923 |
+
* Retrieve the list of known tablet devices.
|
924 |
+
*
|
925 |
+
* @return array List of tablet devices.
|
926 |
+
*/
|
927 |
+
public static function getTabletDevices()
|
928 |
+
{
|
929 |
+
return self::$tabletDevices;
|
930 |
+
}
|
931 |
+
|
932 |
+
/**
|
933 |
+
* Alias for getBrowsers() method.
|
934 |
+
*
|
935 |
+
* @return array List of user agents.
|
936 |
+
*/
|
937 |
+
public static function getUserAgents()
|
938 |
+
{
|
939 |
+
return self::getBrowsers();
|
940 |
+
}
|
941 |
+
|
942 |
+
/**
|
943 |
+
* Retrieve the list of known browsers. Specifically, the user agents.
|
944 |
+
*
|
945 |
+
* @return array List of browsers / user agents.
|
946 |
+
*/
|
947 |
+
public static function getBrowsers()
|
948 |
+
{
|
949 |
+
return self::$browsers;
|
950 |
+
}
|
951 |
+
|
952 |
+
/**
|
953 |
+
* Retrieve the list of known utilities.
|
954 |
+
*
|
955 |
+
* @return array List of utilities.
|
956 |
+
*/
|
957 |
+
public static function getUtilities()
|
958 |
+
{
|
959 |
+
return self::$utilities;
|
960 |
+
}
|
961 |
+
|
962 |
+
/**
|
963 |
+
* Method gets the mobile detection rules. This method is used for the magic methods $detect->is*().
|
964 |
+
*
|
965 |
+
* @deprecated since version 2.6.9
|
966 |
+
*
|
967 |
+
* @return array All the rules (but not extended).
|
968 |
+
*/
|
969 |
+
public static function getMobileDetectionRules()
|
970 |
+
{
|
971 |
+
static $rules;
|
972 |
+
|
973 |
+
if (!$rules) {
|
974 |
+
$rules = array_merge(
|
975 |
+
self::$phoneDevices,
|
976 |
+
self::$tabletDevices,
|
977 |
+
self::$operatingSystems,
|
978 |
+
self::$browsers
|
979 |
+
);
|
980 |
+
}
|
981 |
+
|
982 |
+
return $rules;
|
983 |
+
|
984 |
+
}
|
985 |
+
|
986 |
+
/**
|
987 |
+
* Method gets the mobile detection rules + utilities.
|
988 |
+
* The reason this is separate is because utilities rules
|
989 |
+
* don't necessary imply mobile. This method is used inside
|
990 |
+
* the new $detect->is('stuff') method.
|
991 |
+
*
|
992 |
+
* @deprecated since version 2.6.9
|
993 |
+
*
|
994 |
+
* @return array All the rules + extended.
|
995 |
+
*/
|
996 |
+
public function getMobileDetectionRulesExtended()
|
997 |
+
{
|
998 |
+
static $rules;
|
999 |
+
|
1000 |
+
if (!$rules) {
|
1001 |
+
// Merge all rules together.
|
1002 |
+
$rules = array_merge(
|
1003 |
+
self::$phoneDevices,
|
1004 |
+
self::$tabletDevices,
|
1005 |
+
self::$operatingSystems,
|
1006 |
+
self::$browsers,
|
1007 |
+
self::$utilities
|
1008 |
+
);
|
1009 |
+
}
|
1010 |
+
|
1011 |
+
return $rules;
|
1012 |
+
}
|
1013 |
+
|
1014 |
+
/**
|
1015 |
+
* Retrieve the current set of rules.
|
1016 |
+
*
|
1017 |
+
* @deprecated since version 2.6.9
|
1018 |
+
*
|
1019 |
+
* @return array
|
1020 |
+
*/
|
1021 |
+
public function getRules()
|
1022 |
+
{
|
1023 |
+
if ($this->detectionType == self::DETECTION_TYPE_EXTENDED) {
|
1024 |
+
return self::getMobileDetectionRulesExtended();
|
1025 |
+
} else {
|
1026 |
+
return self::getMobileDetectionRules();
|
1027 |
+
}
|
1028 |
+
}
|
1029 |
+
|
1030 |
+
/**
|
1031 |
+
* Retrieve the list of mobile operating systems.
|
1032 |
+
*
|
1033 |
+
* @return array The list of mobile operating systems.
|
1034 |
+
*/
|
1035 |
+
public static function getOperatingSystems()
|
1036 |
+
{
|
1037 |
+
return self::$operatingSystems;
|
1038 |
+
}
|
1039 |
+
|
1040 |
+
/**
|
1041 |
+
* Check the HTTP headers for signs of mobile.
|
1042 |
+
* This is the fastest mobile check possible; it's used
|
1043 |
+
* inside isMobile() method.
|
1044 |
+
*
|
1045 |
+
* @return bool
|
1046 |
+
*/
|
1047 |
+
public function checkHttpHeadersForMobile()
|
1048 |
+
{
|
1049 |
+
|
1050 |
+
foreach ($this->getMobileHeaders() as $mobileHeader => $matchType) {
|
1051 |
+
if (isset($this->httpHeaders[$mobileHeader])) {
|
1052 |
+
if (is_array($matchType['matches'])) {
|
1053 |
+
foreach ($matchType['matches'] as $_match) {
|
1054 |
+
if (strpos($this->httpHeaders[$mobileHeader], $_match) !== false) {
|
1055 |
+
return true;
|
1056 |
+
}
|
1057 |
+
}
|
1058 |
+
|
1059 |
+
return false;
|
1060 |
+
} else {
|
1061 |
+
return true;
|
1062 |
+
}
|
1063 |
+
}
|
1064 |
+
}
|
1065 |
+
|
1066 |
+
return false;
|
1067 |
+
|
1068 |
+
}
|
1069 |
+
|
1070 |
+
/**
|
1071 |
+
* Magic overloading method.
|
1072 |
+
*
|
1073 |
+
* @method boolean is[...]()
|
1074 |
+
* @param string $name
|
1075 |
+
* @param array $arguments
|
1076 |
+
* @return mixed
|
1077 |
+
* @throws BadMethodCallException when the method doesn't exist and doesn't start with 'is'
|
1078 |
+
*/
|
1079 |
+
public function __call($name, $arguments)
|
1080 |
+
{
|
1081 |
+
// make sure the name starts with 'is', otherwise
|
1082 |
+
if (substr($name, 0, 2) !== 'is') {
|
1083 |
+
throw new BadMethodCallException("No such method exists: $name");
|
1084 |
+
}
|
1085 |
+
|
1086 |
+
$this->setDetectionType(self::DETECTION_TYPE_MOBILE);
|
1087 |
+
|
1088 |
+
$key = substr($name, 2);
|
1089 |
+
|
1090 |
+
return $this->matchUAAgainstKey($key);
|
1091 |
+
}
|
1092 |
+
|
1093 |
+
/**
|
1094 |
+
* Find a detection rule that matches the current User-agent.
|
1095 |
+
*
|
1096 |
+
* @param null $userAgent deprecated
|
1097 |
+
* @return boolean
|
1098 |
+
*/
|
1099 |
+
protected function matchDetectionRulesAgainstUA($userAgent = null)
|
1100 |
+
{
|
1101 |
+
// Begin general search.
|
1102 |
+
foreach ($this->getRules() as $_regex) {
|
1103 |
+
if (empty($_regex)) {
|
1104 |
+
continue;
|
1105 |
+
}
|
1106 |
+
|
1107 |
+
if ($this->match($_regex, $userAgent)) {
|
1108 |
+
return true;
|
1109 |
+
}
|
1110 |
+
}
|
1111 |
+
|
1112 |
+
return false;
|
1113 |
+
}
|
1114 |
+
|
1115 |
+
/**
|
1116 |
+
* Search for a certain key in the rules array.
|
1117 |
+
* If the key is found then try to match the corresponding
|
1118 |
+
* regex against the User-Agent.
|
1119 |
+
*
|
1120 |
+
* @param string $key
|
1121 |
+
*
|
1122 |
+
* @return boolean
|
1123 |
+
*/
|
1124 |
+
protected function matchUAAgainstKey($key)
|
1125 |
+
{
|
1126 |
+
// Make the keys lowercase so we can match: isIphone(), isiPhone(), isiphone(), etc.
|
1127 |
+
$key = strtolower($key);
|
1128 |
+
if (false === isset($this->cache[$key])) {
|
1129 |
+
|
1130 |
+
// change the keys to lower case
|
1131 |
+
$_rules = array_change_key_case($this->getRules());
|
1132 |
+
|
1133 |
+
if (false === empty($_rules[$key])) {
|
1134 |
+
$this->cache[$key] = $this->match($_rules[$key]);
|
1135 |
+
}
|
1136 |
+
|
1137 |
+
if (false === isset($this->cache[$key])) {
|
1138 |
+
$this->cache[$key] = false;
|
1139 |
+
}
|
1140 |
+
}
|
1141 |
+
|
1142 |
+
return $this->cache[$key];
|
1143 |
+
}
|
1144 |
+
|
1145 |
+
/**
|
1146 |
+
* Check if the device is mobile.
|
1147 |
+
* Returns true if any type of mobile device detected, including special ones
|
1148 |
+
* @param null $userAgent deprecated
|
1149 |
+
* @param null $httpHeaders deprecated
|
1150 |
+
* @return bool
|
1151 |
+
*/
|
1152 |
+
public function isMobile($userAgent = null, $httpHeaders = null)
|
1153 |
+
{
|
1154 |
+
|
1155 |
+
if ($httpHeaders) {
|
1156 |
+
$this->setHttpHeaders($httpHeaders);
|
1157 |
+
}
|
1158 |
+
|
1159 |
+
if ($userAgent) {
|
1160 |
+
$this->setUserAgent($userAgent);
|
1161 |
+
}
|
1162 |
+
|
1163 |
+
// Check specifically for cloudfront headers if the useragent === 'Amazon CloudFront'
|
1164 |
+
if ($this->getUserAgent() === 'Amazon CloudFront') {
|
1165 |
+
$cfHeaders = $this->getCfHeaders();
|
1166 |
+
if(array_key_exists('HTTP_CLOUDFRONT_IS_MOBILE_VIEWER', $cfHeaders) && $cfHeaders['HTTP_CLOUDFRONT_IS_MOBILE_VIEWER'] === 'true') {
|
1167 |
+
return true;
|
1168 |
+
}
|
1169 |
+
}
|
1170 |
+
|
1171 |
+
$this->setDetectionType(self::DETECTION_TYPE_MOBILE);
|
1172 |
+
|
1173 |
+
if ($this->checkHttpHeadersForMobile()) {
|
1174 |
+
return true;
|
1175 |
+
} else {
|
1176 |
+
return $this->matchDetectionRulesAgainstUA();
|
1177 |
+
}
|
1178 |
+
|
1179 |
+
}
|
1180 |
+
|
1181 |
+
/**
|
1182 |
+
* Check if the device is a tablet.
|
1183 |
+
* Return true if any type of tablet device is detected.
|
1184 |
+
*
|
1185 |
+
* @param string $userAgent deprecated
|
1186 |
+
* @param array $httpHeaders deprecated
|
1187 |
+
* @return bool
|
1188 |
+
*/
|
1189 |
+
public function isTablet($userAgent = null, $httpHeaders = null)
|
1190 |
+
{
|
1191 |
+
// Check specifically for cloudfront headers if the useragent === 'Amazon CloudFront'
|
1192 |
+
if ($this->getUserAgent() === 'Amazon CloudFront') {
|
1193 |
+
$cfHeaders = $this->getCfHeaders();
|
1194 |
+
if(array_key_exists('HTTP_CLOUDFRONT_IS_TABLET_VIEWER', $cfHeaders) && $cfHeaders['HTTP_CLOUDFRONT_IS_TABLET_VIEWER'] === 'true') {
|
1195 |
+
return true;
|
1196 |
+
}
|
1197 |
+
}
|
1198 |
+
|
1199 |
+
$this->setDetectionType(self::DETECTION_TYPE_MOBILE);
|
1200 |
+
|
1201 |
+
foreach (self::$tabletDevices as $_regex) {
|
1202 |
+
if ($this->match($_regex, $userAgent)) {
|
1203 |
+
return true;
|
1204 |
+
}
|
1205 |
+
}
|
1206 |
+
|
1207 |
+
return false;
|
1208 |
+
}
|
1209 |
+
|
1210 |
+
/**
|
1211 |
+
* This method checks for a certain property in the
|
1212 |
+
* userAgent.
|
1213 |
+
* @todo: The httpHeaders part is not yet used.
|
1214 |
+
*
|
1215 |
+
* @param string $key
|
1216 |
+
* @param string $userAgent deprecated
|
1217 |
+
* @param string $httpHeaders deprecated
|
1218 |
+
* @return bool|int|null
|
1219 |
+
*/
|
1220 |
+
public function is($key, $userAgent = null, $httpHeaders = null)
|
1221 |
+
{
|
1222 |
+
// Set the UA and HTTP headers only if needed (eg. batch mode).
|
1223 |
+
if ($httpHeaders) {
|
1224 |
+
$this->setHttpHeaders($httpHeaders);
|
1225 |
+
}
|
1226 |
+
|
1227 |
+
if ($userAgent) {
|
1228 |
+
$this->setUserAgent($userAgent);
|
1229 |
+
}
|
1230 |
+
|
1231 |
+
$this->setDetectionType(self::DETECTION_TYPE_EXTENDED);
|
1232 |
+
|
1233 |
+
return $this->matchUAAgainstKey($key);
|
1234 |
+
}
|
1235 |
+
|
1236 |
+
/**
|
1237 |
+
* Some detection rules are relative (not standard),
|
1238 |
+
* because of the diversity of devices, vendors and
|
1239 |
+
* their conventions in representing the User-Agent or
|
1240 |
+
* the HTTP headers.
|
1241 |
+
*
|
1242 |
+
* This method will be used to check custom regexes against
|
1243 |
+
* the User-Agent string.
|
1244 |
+
*
|
1245 |
+
* @param $regex
|
1246 |
+
* @param string $userAgent
|
1247 |
+
* @return bool
|
1248 |
+
*
|
1249 |
+
* @todo: search in the HTTP headers too.
|
1250 |
+
*/
|
1251 |
+
public function match($regex, $userAgent = null)
|
1252 |
+
{
|
1253 |
+
$match = (bool) preg_match(sprintf('#%s#is', $regex), (false === empty($userAgent) ? $userAgent : $this->userAgent), $matches);
|
1254 |
+
// If positive match is found, store the results for debug.
|
1255 |
+
if ($match) {
|
1256 |
+
$this->matchingRegex = $regex;
|
1257 |
+
$this->matchesArray = $matches;
|
1258 |
+
}
|
1259 |
+
|
1260 |
+
return $match;
|
1261 |
+
}
|
1262 |
+
|
1263 |
+
/**
|
1264 |
+
* Get the properties array.
|
1265 |
+
*
|
1266 |
+
* @return array
|
1267 |
+
*/
|
1268 |
+
public static function getProperties()
|
1269 |
+
{
|
1270 |
+
return self::$properties;
|
1271 |
+
}
|
1272 |
+
|
1273 |
+
/**
|
1274 |
+
* Prepare the version number.
|
1275 |
+
*
|
1276 |
+
* @todo Remove the error supression from str_replace() call.
|
1277 |
+
*
|
1278 |
+
* @param string $ver The string version, like "2.6.21.2152";
|
1279 |
+
*
|
1280 |
+
* @return float
|
1281 |
+
*/
|
1282 |
+
public function prepareVersionNo($ver)
|
1283 |
+
{
|
1284 |
+
$ver = str_replace(array('_', ' ', '/'), '.', $ver);
|
1285 |
+
$arrVer = explode('.', $ver, 2);
|
1286 |
+
|
1287 |
+
if (isset($arrVer[1])) {
|
1288 |
+
$arrVer[1] = @str_replace('.', '', $arrVer[1]); // @todo: treat strings versions.
|
1289 |
+
}
|
1290 |
+
|
1291 |
+
return (float) implode('.', $arrVer);
|
1292 |
+
}
|
1293 |
+
|
1294 |
+
/**
|
1295 |
+
* Check the version of the given property in the User-Agent.
|
1296 |
+
* Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31)
|
1297 |
+
*
|
1298 |
+
* @param string $propertyName The name of the property. See self::getProperties() array
|
1299 |
+
* keys for all possible properties.
|
1300 |
+
* @param string $type Either self::VERSION_TYPE_STRING to get a string value or
|
1301 |
+
* self::VERSION_TYPE_FLOAT indicating a float value. This parameter
|
1302 |
+
* is optional and defaults to self::VERSION_TYPE_STRING. Passing an
|
1303 |
+
* invalid parameter will default to the this type as well.
|
1304 |
+
*
|
1305 |
+
* @return string|float The version of the property we are trying to extract.
|
1306 |
+
*/
|
1307 |
+
public function version($propertyName, $type = self::VERSION_TYPE_STRING)
|
1308 |
+
{
|
1309 |
+
if (empty($propertyName)) {
|
1310 |
+
return false;
|
1311 |
+
}
|
1312 |
+
|
1313 |
+
// set the $type to the default if we don't recognize the type
|
1314 |
+
if ($type !== self::VERSION_TYPE_STRING && $type !== self::VERSION_TYPE_FLOAT) {
|
1315 |
+
$type = self::VERSION_TYPE_STRING;
|
1316 |
+
}
|
1317 |
+
|
1318 |
+
$properties = self::getProperties();
|
1319 |
+
|
1320 |
+
// Check if the property exists in the properties array.
|
1321 |
+
if (true === isset($properties[$propertyName])) {
|
1322 |
+
|
1323 |
+
// Prepare the pattern to be matched.
|
1324 |
+
// Make sure we always deal with an array (string is converted).
|
1325 |
+
$properties[$propertyName] = (array) $properties[$propertyName];
|
1326 |
+
|
1327 |
+
foreach ($properties[$propertyName] as $propertyMatchString) {
|
1328 |
+
|
1329 |
+
$propertyPattern = str_replace('[VER]', self::VER, $propertyMatchString);
|
1330 |
+
|
1331 |
+
// Identify and extract the version.
|
1332 |
+
preg_match(sprintf('#%s#is', $propertyPattern), $this->userAgent, $match);
|
1333 |
+
|
1334 |
+
if (false === empty($match[1])) {
|
1335 |
+
$version = ($type == self::VERSION_TYPE_FLOAT ? $this->prepareVersionNo($match[1]) : $match[1]);
|
1336 |
+
|
1337 |
+
return $version;
|
1338 |
+
}
|
1339 |
+
|
1340 |
+
}
|
1341 |
+
|
1342 |
+
}
|
1343 |
+
|
1344 |
+
return false;
|
1345 |
+
}
|
1346 |
+
|
1347 |
+
/**
|
1348 |
+
* Retrieve the mobile grading, using self::MOBILE_GRADE_* constants.
|
1349 |
+
*
|
1350 |
+
* @return string One of the self::MOBILE_GRADE_* constants.
|
1351 |
+
*/
|
1352 |
+
public function mobileGrade()
|
1353 |
+
{
|
1354 |
+
$isMobile = $this->isMobile();
|
1355 |
+
|
1356 |
+
if (
|
1357 |
+
// Apple iOS 4-7.0 – Tested on the original iPad (4.3 / 5.0), iPad 2 (4.3 / 5.1 / 6.1), iPad 3 (5.1 / 6.0), iPad Mini (6.1), iPad Retina (7.0), iPhone 3GS (4.3), iPhone 4 (4.3 / 5.1), iPhone 4S (5.1 / 6.0), iPhone 5 (6.0), and iPhone 5S (7.0)
|
1358 |
+
$this->is('iOS') && $this->version('iPad', self::VERSION_TYPE_FLOAT) >= 4.3 ||
|
1359 |
+
$this->is('iOS') && $this->version('iPhone', self::VERSION_TYPE_FLOAT) >= 4.3 ||
|
1360 |
+
$this->is('iOS') && $this->version('iPod', self::VERSION_TYPE_FLOAT) >= 4.3 ||
|
1361 |
+
|
1362 |
+
// Android 2.1-2.3 - Tested on the HTC Incredible (2.2), original Droid (2.2), HTC Aria (2.1), Google Nexus S (2.3). Functional on 1.5 & 1.6 but performance may be sluggish, tested on Google G1 (1.5)
|
1363 |
+
// Android 3.1 (Honeycomb) - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM
|
1364 |
+
// Android 4.0 (ICS) - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices
|
1365 |
+
// Android 4.1 (Jelly Bean) - Tested on a Galaxy Nexus and Galaxy 7
|
1366 |
+
( $this->version('Android', self::VERSION_TYPE_FLOAT)>2.1 && $this->is('Webkit') ) ||
|
1367 |
+
|
1368 |
+
// Windows Phone 7.5-8 - Tested on the HTC Surround (7.5), HTC Trophy (7.5), LG-E900 (7.5), Nokia 800 (7.8), HTC Mazaa (7.8), Nokia Lumia 520 (8), Nokia Lumia 920 (8), HTC 8x (8)
|
1369 |
+
$this->version('Windows Phone OS', self::VERSION_TYPE_FLOAT) >= 7.5 ||
|
1370 |
+
|
1371 |
+
// Tested on the Torch 9800 (6) and Style 9670 (6), BlackBerry® Torch 9810 (7), BlackBerry Z10 (10)
|
1372 |
+
$this->is('BlackBerry') && $this->version('BlackBerry', self::VERSION_TYPE_FLOAT) >= 6.0 ||
|
1373 |
+
// Blackberry Playbook (1.0-2.0) - Tested on PlayBook
|
1374 |
+
$this->match('Playbook.*Tablet') ||
|
1375 |
+
|
1376 |
+
// Palm WebOS (1.4-3.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0), HP TouchPad (3.0)
|
1377 |
+
( $this->version('webOS', self::VERSION_TYPE_FLOAT) >= 1.4 && $this->match('Palm|Pre|Pixi') ) ||
|
1378 |
+
// Palm WebOS 3.0 - Tested on HP TouchPad
|
1379 |
+
$this->match('hp.*TouchPad') ||
|
1380 |
+
|
1381 |
+
// Firefox Mobile 18 - Tested on Android 2.3 and 4.1 devices
|
1382 |
+
( $this->is('Firefox') && $this->version('Firefox', self::VERSION_TYPE_FLOAT) >= 18 ) ||
|
1383 |
+
|
1384 |
+
// Chrome for Android - Tested on Android 4.0, 4.1 device
|
1385 |
+
( $this->is('Chrome') && $this->is('AndroidOS') && $this->version('Android', self::VERSION_TYPE_FLOAT) >= 4.0 ) ||
|
1386 |
+
|
1387 |
+
// Skyfire 4.1 - Tested on Android 2.3 device
|
1388 |
+
( $this->is('Skyfire') && $this->version('Skyfire', self::VERSION_TYPE_FLOAT) >= 4.1 && $this->is('AndroidOS') && $this->version('Android', self::VERSION_TYPE_FLOAT) >= 2.3 ) ||
|
1389 |
+
|
1390 |
+
// Opera Mobile 11.5-12: Tested on Android 2.3
|
1391 |
+
( $this->is('Opera') && $this->version('Opera Mobi', self::VERSION_TYPE_FLOAT) >= 11.5 && $this->is('AndroidOS') ) ||
|
1392 |
+
|
1393 |
+
// Meego 1.2 - Tested on Nokia 950 and N9
|
1394 |
+
$this->is('MeeGoOS') ||
|
1395 |
+
|
1396 |
+
// Tizen (pre-release) - Tested on early hardware
|
1397 |
+
$this->is('Tizen') ||
|
1398 |
+
|
1399 |
+
// Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser
|
1400 |
+
// @todo: more tests here!
|
1401 |
+
$this->is('Dolfin') && $this->version('Bada', self::VERSION_TYPE_FLOAT) >= 2.0 ||
|
1402 |
+
|
1403 |
+
// UC Browser - Tested on Android 2.3 device
|
1404 |
+
( ($this->is('UC Browser') || $this->is('Dolfin')) && $this->version('Android', self::VERSION_TYPE_FLOAT) >= 2.3 ) ||
|
1405 |
+
|
1406 |
+
// Kindle 3 and Fire - Tested on the built-in WebKit browser for each
|
1407 |
+
( $this->match('Kindle Fire') ||
|
1408 |
+
$this->is('Kindle') && $this->version('Kindle', self::VERSION_TYPE_FLOAT) >= 3.0 ) ||
|
1409 |
+
|
1410 |
+
// Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet
|
1411 |
+
$this->is('AndroidOS') && $this->is('NookTablet') ||
|
1412 |
+
|
1413 |
+
// Chrome Desktop 16-24 - Tested on OS X 10.7 and Windows 7
|
1414 |
+
$this->version('Chrome', self::VERSION_TYPE_FLOAT) >= 16 && !$isMobile ||
|
1415 |
+
|
1416 |
+
// Safari Desktop 5-6 - Tested on OS X 10.7 and Windows 7
|
1417 |
+
$this->version('Safari', self::VERSION_TYPE_FLOAT) >= 5.0 && !$isMobile ||
|
1418 |
+
|
1419 |
+
// Firefox Desktop 10-18 - Tested on OS X 10.7 and Windows 7
|
1420 |
+
$this->version('Firefox', self::VERSION_TYPE_FLOAT) >= 10.0 && !$isMobile ||
|
1421 |
+
|
1422 |
+
// Internet Explorer 7-9 - Tested on Windows XP, Vista and 7
|
1423 |
+
$this->version('IE', self::VERSION_TYPE_FLOAT) >= 7.0 && !$isMobile ||
|
1424 |
+
|
1425 |
+
// Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7
|
1426 |
+
$this->version('Opera', self::VERSION_TYPE_FLOAT) >= 10 && !$isMobile
|
1427 |
+
){
|
1428 |
+
return self::MOBILE_GRADE_A;
|
1429 |
+
}
|
1430 |
+
|
1431 |
+
if (
|
1432 |
+
$this->is('iOS') && $this->version('iPad', self::VERSION_TYPE_FLOAT)<4.3 ||
|
1433 |
+
$this->is('iOS') && $this->version('iPhone', self::VERSION_TYPE_FLOAT)<4.3 ||
|
1434 |
+
$this->is('iOS') && $this->version('iPod', self::VERSION_TYPE_FLOAT)<4.3 ||
|
1435 |
+
|
1436 |
+
// Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770
|
1437 |
+
$this->is('Blackberry') && $this->version('BlackBerry', self::VERSION_TYPE_FLOAT) >= 5 && $this->version('BlackBerry', self::VERSION_TYPE_FLOAT)<6 ||
|
1438 |
+
|
1439 |
+
//Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3
|
1440 |
+
($this->version('Opera Mini', self::VERSION_TYPE_FLOAT) >= 5.0 && $this->version('Opera Mini', self::VERSION_TYPE_FLOAT) <= 7.0 &&
|
1441 |
+
($this->version('Android', self::VERSION_TYPE_FLOAT) >= 2.3 || $this->is('iOS')) ) ||
|
1442 |
+
|
1443 |
+
// Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1)
|
1444 |
+
$this->match('NokiaN8|NokiaC7|N97.*Series60|Symbian/3') ||
|
1445 |
+
|
1446 |
+
// @todo: report this (tested on Nokia N71)
|
1447 |
+
$this->version('Opera Mobi', self::VERSION_TYPE_FLOAT) >= 11 && $this->is('SymbianOS')
|
1448 |
+
){
|
1449 |
+
return self::MOBILE_GRADE_B;
|
1450 |
+
}
|
1451 |
+
|
1452 |
+
if (
|
1453 |
+
// Blackberry 4.x - Tested on the Curve 8330
|
1454 |
+
$this->version('BlackBerry', self::VERSION_TYPE_FLOAT) <= 5.0 ||
|
1455 |
+
// Windows Mobile - Tested on the HTC Leo (WinMo 5.2)
|
1456 |
+
$this->match('MSIEMobile|Windows CE.*Mobile') || $this->version('Windows Mobile', self::VERSION_TYPE_FLOAT) <= 5.2 ||
|
1457 |
+
|
1458 |
+
// Tested on original iPhone (3.1), iPhone 3 (3.2)
|
1459 |
+
$this->is('iOS') && $this->version('iPad', self::VERSION_TYPE_FLOAT) <= 3.2 ||
|
1460 |
+
$this->is('iOS') && $this->version('iPhone', self::VERSION_TYPE_FLOAT) <= 3.2 ||
|
1461 |
+
$this->is('iOS') && $this->version('iPod', self::VERSION_TYPE_FLOAT) <= 3.2 ||
|
1462 |
+
|
1463 |
+
// Internet Explorer 7 and older - Tested on Windows XP
|
1464 |
+
$this->version('IE', self::VERSION_TYPE_FLOAT) <= 7.0 && !$isMobile
|
1465 |
+
){
|
1466 |
+
return self::MOBILE_GRADE_C;
|
1467 |
+
}
|
1468 |
+
|
1469 |
+
// All older smartphone platforms and featurephones - Any device that doesn't support media queries
|
1470 |
+
// will receive the basic, C grade experience.
|
1471 |
+
return self::MOBILE_GRADE_C;
|
1472 |
+
}
|
1473 |
+
}
|
vendor/mobiledetect/mobiledetectlib/README.md
ADDED
@@ -0,0 +1,344 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
![Mobile Detect](http://demo.mobiledetect.net/logo-github.png)
|
2 |
+
|
3 |
+
> Motto: "Every business should have a detection script to detect mobile readers."
|
4 |
+
|
5 |
+
[![Build Status](https://travis-ci.org/serbanghita/Mobile-Detect.svg?branch=devel)](https://travis-ci.org/serbanghita/Mobile-Detect)
|
6 |
+
[![Latest Stable Version](https://poser.pugx.org/mobiledetect/mobiledetectlib/v/stable.svg)](https://packagist.org/packages/mobiledetect/mobiledetectlib)
|
7 |
+
[![Total Downloads](https://poser.pugx.org/mobiledetect/mobiledetectlib/downloads.svg)](https://packagist.org/packages/mobiledetect/mobiledetectlib)
|
8 |
+
[![Daily Downloads](https://poser.pugx.org/mobiledetect/mobiledetectlib/d/daily.png)](https://packagist.org/packages/mobiledetect/mobiledetectlib)
|
9 |
+
[![License](https://poser.pugx.org/mobiledetect/mobiledetectlib/license.svg)](https://packagist.org/packages/mobiledetect/mobiledetectlib)
|
10 |
+
[![Chat on Slack](https://img.shields.io/badge/Slack%20%23general-join-orange.svg)](https://join.slack.com/t/mobiledetect/shared_invite/enQtMjg1NDY0OTg5NzgzLTcwMzEzMWJjZjRlOWFkY2ZiNzE1ZmRmNzEwM2VhOGY5OGVkYWMxNjdkZDU5YjQ5MmM5MGUxYjhlZDQwOGVjZjE)
|
11 |
+
|
12 |
+
#### About
|
13 |
+
|
14 |
+
Mobile Detect is a lightweight PHP class for detecting mobile devices (including tablets).
|
15 |
+
It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.
|
16 |
+
|
17 |
+
*Why*
|
18 |
+
|
19 |
+
Your website's _content strategy_ is important! You need a complete toolkit to deliver an experience that is _optimized_,
|
20 |
+
_fast_ and _relevant_ to your users. Mobile Detect class is a
|
21 |
+
[server-side detection](http://www.w3.org/TR/mwabp/#bp-devcap-detection) tool that can help you with your RWD strategy,
|
22 |
+
it is not a replacement for CSS3 media queries or other forms of client-side feature detection.
|
23 |
+
|
24 |
+
*How*
|
25 |
+
|
26 |
+
We're committed to make Mobile_Detect the best open-source mobile detection resource and this is why before
|
27 |
+
each release we're running [unit tests](./tests) and research and update the detection rules on **monthly** basis.
|
28 |
+
|
29 |
+
*Who*
|
30 |
+
|
31 |
+
See [the history](./docs/HISTORY.md) of the project.
|
32 |
+
|
33 |
+
#### Announcements
|
34 |
+
|
35 |
+
* **JetBrains** is sponsoring the project by providing licenses for [PHPStorm](https://www.jetbrains.com/phpstorm/) and
|
36 |
+
[DataGrip](https://www.jetbrains.com/datagrip/).
|
37 |
+
* **Mobile_Detect `2.x.x`** is only integrating new regexes, User-Agents and tests. We are focusing on **new tablets only**.
|
38 |
+
The rest of the PRs about TVs, bots or optimizations will be closed and analyzed after `3.0.0-beta` is released.
|
39 |
+
* **Mobile_Detect `3.x.x`** is experimental and WIP.
|
40 |
+
|
41 |
+
|
42 |
+
#### Install
|
43 |
+
|
44 |
+
**Download and include manually**
|
45 |
+
> Use this to quickly test the demo.
|
46 |
+
|
47 |
+
* [Download latest release](../../tags)
|
48 |
+
* [Mobile_Detect.php](./Mobile_Detect.php)
|
49 |
+
|
50 |
+
```php
|
51 |
+
require_once "libs/Mobile_Detect.php";
|
52 |
+
```
|
53 |
+
|
54 |
+
**Install as a [composer package](https://packagist.org/packages/mobiledetect/mobiledetectlib)**
|
55 |
+
> Use this method to get continuous updates.
|
56 |
+
|
57 |
+
```
|
58 |
+
composer require mobiledetect/mobiledetectlib
|
59 |
+
```
|
60 |
+
or include the dependency in the `composer.json` file:
|
61 |
+
```json
|
62 |
+
{
|
63 |
+
"require": {
|
64 |
+
"mobiledetect/mobiledetectlib": "^2.8"
|
65 |
+
}
|
66 |
+
}
|
67 |
+
```
|
68 |
+
|
69 |
+
#### Demo
|
70 |
+
|
71 |
+
* [:iphone: Live demo!](http://is.gd/mobiletest)
|
72 |
+
* [Code examples](../../wiki/Code-examples)
|
73 |
+
|
74 |
+
#### Contribute
|
75 |
+
|
76 |
+
*Submit a PR*
|
77 |
+
> Submit a pull request but before make sure you read [how to contribute](../../docs/CONTRIBUTING.md) guide.
|
78 |
+
|
79 |
+
*Donate*
|
80 |
+
|
81 |
+
|Paypal|
|
82 |
+
|------|
|
83 |
+
|[Donate :+1:](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mobiledetectlib%40gmail%2ecom&lc=US&item_name=Mobile%20Detect¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)|
|
84 |
+
|
85 |
+
|
86 |
+
I'm currently paying for hosting and spend a lot of my family time to maintain the project and planning the future releases.
|
87 |
+
I would highly appreciate any money donations that will keep the research going.
|
88 |
+
|
89 |
+
Special thanks to the community :+1: for donations, JetBrains team for the continuous support and [Dragos Gavrila](https://twitter.com/grafician) who contributed with the logo.
|
90 |
+
|
91 |
+
#### Modules, plugins, ports
|
92 |
+
> [Submit new module, plugin, port](../../issues/new?title=New%203rd%20party%20module&body=Name,%20Link%20and%20Description%20of%20the%20module.)
|
93 |
+
|
94 |
+
:point_right: Keep `Mobile_Detect.php` class in a separate `module` and do NOT include it in your script core because of the high frequency of updates.
|
95 |
+
:point_right: When including the class into you `web application` or `module` always use `include_once '../path/to/Mobile_Detect.php` to prevent conflicts.
|
96 |
+
|
97 |
+
**JavaScript**
|
98 |
+
|
99 |
+
* mobile-detect.js - A [JavaScript port](https://github.com/hgoebl/mobile-detect.js) of Mobile-Detect class. Made by [Heinrich Goebl](https://github.com/hgoebl).
|
100 |
+
|
101 |
+
**Varnish Cache**
|
102 |
+
|
103 |
+
* [Varnish Mobile Detect](https://github.com/willemk/varnish-mobiletranslate) - Drop-in varnish solution to mobile user
|
104 |
+
detection based on the Mobile-Detect library. Made by [willemk](https://github.com/willemk).
|
105 |
+
* [mobiledetect2vcl](https://github.com/carlosabalde/mobiledetect2vcl) - Python script to transform the Mobile
|
106 |
+
Detect JSON database into an UA-based mobile detection VCL subroutine easily integrable in any Varnish Cache
|
107 |
+
configuration. Made by [Carlos Abalde](https://github.com/carlosabalde).
|
108 |
+
|
109 |
+
**LUA**
|
110 |
+
|
111 |
+
* [mobile-detect.lua](https://github.com/yourpalmark/mobile-detect.lua) is a port of Mobile-Detect to Lua for
|
112 |
+
NGINX HTTP servers. Follows closely to mobile-detect.js. Supports all methods that server-side
|
113 |
+
mobile-detect.js supports. Fully unit-tested and synced with Travis CI (Build Passing badge included).
|
114 |
+
Made by [Mark Walters](https://github.com/yourpalmark).
|
115 |
+
|
116 |
+
**PHP**
|
117 |
+
|
118 |
+
**WordPress**
|
119 |
+
|
120 |
+
* [Mobile Detect for WordPress](https://wordpress.org/plugins/tinywp-mobile-detect/) - WordPress has a built-in function
|
121 |
+
(`wp_is_mobile()`) to detect mobile devices. There is (at least) one catch, though. It considers iPad (iPad pro,
|
122 |
+
and any tablet) as a mobile. So, this 3rd party module changes the way `wp_is_mobile()` works with the help of
|
123 |
+
Mobile Detect PHP library!
|
124 |
+
Made by [Pothi Kalimuthu](https://github.com/pothi)
|
125 |
+
|
126 |
+
* [WordPress Mobile Detect](https://wordpress.org/plugins/wp-mobile-detect/) - Gives you the ability to wrap that
|
127 |
+
infographic in a `[notdevice][/notdevice]` shortcode so at the server level WordPress will
|
128 |
+
decide to show that content only if the user is NOT on a phone or tablet.
|
129 |
+
Made by [Jesse Friedman](https://profiles.wordpress.org/professor44/).
|
130 |
+
|
131 |
+
* [mobble](https://wordpress.org/plugins/mobble/) - provides mobile related conditional functions for your site.
|
132 |
+
e.g. `is_iphone()`, `is_mobile()` and `is_tablet()`. Made by Scott Evans.
|
133 |
+
|
134 |
+
* [WordPress Responsage](https://github.com/iamspacehead/responsage) - A small WordPress theme plugin that allows
|
135 |
+
you to make your images responsive. Made by [Adrian Ciaschetti](https://github.com/iamspacehead).
|
136 |
+
|
137 |
+
* [WP247 Body Classes](https://wordpress.org/plugins/wp247-body-classes/) - Add unique classes to the `body` tag for
|
138 |
+
easy styling based on various attributes (archive, user, post, mobile) and various WordPress "is" functions.
|
139 |
+
Mobile attributes include type of device, Operating System, Browser, etc. Examples: .is-mobile, .is-not-mobile,
|
140 |
+
.is-tablet, .is-ios, .is-not-ios, .is-androidos, .is-chromebrowser.
|
141 |
+
Made by [wescleveland56](https://github.com/wescleveland56).
|
142 |
+
|
143 |
+
* [Adaptive Content](https://wordpress.org/plugins/addfunc-adaptive-content/) for WordPress provides the most
|
144 |
+
intuitive set of shortcodes for including/excluding content on mobile devices, tablets desktops and other
|
145 |
+
more specific device parameters. This lightweight plugin lets content writers and theme authors choose when
|
146 |
+
WordPress should or shouldn’t show any give content item using shortcodes and quicktags or theme elements using functions.
|
147 |
+
Made by [AddFunc](https://profiles.wordpress.org/addfunc).
|
148 |
+
|
149 |
+
* [AddFunc Mobile Detect](https://wordpress.org/plugins/addfunc-mobile-detect/) for WordPress redirects
|
150 |
+
mobile traffic to your mobile website and, basically, gives you loads of control over your mobile redirects.
|
151 |
+
Made by [AddFunc](https://profiles.wordpress.org/addfunc).
|
152 |
+
|
153 |
+
**Drupal**
|
154 |
+
|
155 |
+
* [Drupal Mobile Switch](https://www.drupal.org/project/mobile_switch) - The Mobile Switch Drupal module provides a
|
156 |
+
automatic theme switch functionality for mobile devices, detected by Browscap or Mobile Detect.
|
157 |
+
Made by [Siegfried Neumann](https://www.drupal.org/user/45267).
|
158 |
+
|
159 |
+
* [Drupal Context Mobile Detect](https://www.drupal.org/project/context_mobile_detect) - This is a Drupal context module
|
160 |
+
which integrates Context and PHP Mobile Detect library.
|
161 |
+
Created by [Artem Shymko](https://www.drupal.org/user/432492).
|
162 |
+
|
163 |
+
* [Drupal Mobile Detect](https://www.drupal.org/project/mobile_detect) - Lightweight mobile detect module for Drupal
|
164 |
+
created by [Matthew Donadio](https://www.drupal.org/user/325244).
|
165 |
+
|
166 |
+
**Joomla**
|
167 |
+
|
168 |
+
* [yagendoo Joomla! Mobile Detection Plugin](http://www.yagendoo.com/en/blog/free-mobile-detection-plugin-for-joomla.html) - Lightweight PHP plugin for Joomla!
|
169 |
+
that detects a mobile browser using the Mobile Detect class.
|
170 |
+
Made by yagendoo media.
|
171 |
+
|
172 |
+
* [User Agent Detector plugin](https://github.com/renekreijveld/UserAgentDetector) - This system plugin detects the user
|
173 |
+
agent of your website visitor and sets a session variable accordingly. Based on the user agent, the plugin detects if the
|
174 |
+
site is running on a desktop pc, tablet or smartphone. It can also detect if the visitor is a spider bot (search engine).
|
175 |
+
Session variable that is set: `ualayout`. Possible values: desktop, tablet, mobile, bot.
|
176 |
+
Made by @ReneKreijveld.
|
177 |
+
|
178 |
+
**Magento**
|
179 |
+
|
180 |
+
* [Magento helper](http://www.magentocommerce.com/magento-connect/catalog/product/view/id/16835/) from Optimise Web enables
|
181 |
+
the use of all functions provided by Mobile Detect. Made by [Kathir Vel](http://www.kathirvel.com).
|
182 |
+
|
183 |
+
* [Magento 2 Mobile Detect Theme Change](https://github.com/EaDesgin/magento2-mobiledetect) is an extension for Magento 2
|
184 |
+
that will change the theme or redirect to a different URL. Also containing a helper to check for the device type.
|
185 |
+
|
186 |
+
**PrestaShop**
|
187 |
+
|
188 |
+
* [PrestaShop](https://www.prestashop.com) is a free, secure and open source shopping cart platform. Mobile_Detect
|
189 |
+
is included in the default package since 1.5.x.
|
190 |
+
|
191 |
+
**Laravel**
|
192 |
+
|
193 |
+
* [Agent](https://github.com/jenssegers/agent) is a user agent class for Laravel based on Mobile Detect with some
|
194 |
+
additional functionality.
|
195 |
+
Made by [Jens Segers](https://github.com/jenssegers).
|
196 |
+
|
197 |
+
* [Laravel Mobile Detect](https://github.com/riverskies/laravel-mobile-detect) is a package that enables you to use device detection right in your Laravel Blade templates. (Utilises the well-known, constantly updated PHP mobile detection library.)
|
198 |
+
Made by [Barnabas Kecskes](https://github.com/barnabaskecskes).
|
199 |
+
|
200 |
+
* [BrowserDetect](https://github.com/hisorange/browser-detect) is a browser and mobile detection package, collects
|
201 |
+
and wrap together the best user-agent identifiers for Laravel.
|
202 |
+
Created by [Varga Zsolt](https://github.com/hisorange).
|
203 |
+
|
204 |
+
**Zend Framework**
|
205 |
+
|
206 |
+
* [ZF2 Mobile-Detect](https://github.com/neilime/zf2-mobile-detect.git) is a Zend Framework 2 module that provides
|
207 |
+
Mobile-Detect features (Mobile_Detect class as a service, helper for views and plugin controllers).
|
208 |
+
Made by [neilime](https://github.com/neilime).
|
209 |
+
|
210 |
+
* [ZF2 MobileDetectModule](https://github.com/nikolaposa/MobileDetectModule) facilitates integration of a PHP MobileDetect
|
211 |
+
class with some ZF2-based application. Has similar idea like the existing ZF2 Mobile-Detect module,
|
212 |
+
but differs in initialization and provision routine of the actual Mobile_Detect class.
|
213 |
+
Appropriate view helper and controller plugin also have different conceptions.
|
214 |
+
Made by [Nikola Posa](https://github.com/nikolaposa).
|
215 |
+
|
216 |
+
**Symfony**
|
217 |
+
|
218 |
+
* [Symfony2 Mobile Detect Bundle](https://github.com/suncat2000/MobileDetectBundle) is a bundle for detecting mobile devices,
|
219 |
+
manage mobile view and redirect to the mobile and tablet version.
|
220 |
+
Made by [Nikolay Ivlev](https://github.com/suncat2000).
|
221 |
+
|
222 |
+
* [Silex Mobile Detect Service Provider](https://github.com/jbinfo/MobileDetectServiceProvider) is a service provider to
|
223 |
+
interact with Mobile detect class methods.
|
224 |
+
Made by [Lhassan Baazzi](https://github.com/jbinfo).
|
225 |
+
|
226 |
+
**Slim Framework**
|
227 |
+
|
228 |
+
* [Slim_Mobile_Detect](https://github.com/zguillez/slim_mobile_detect) implements Mobile_Detect lib for different
|
229 |
+
responses write on Slim Framework App.
|
230 |
+
|
231 |
+
**ExpressionEngine**
|
232 |
+
|
233 |
+
* [EE2 Detect Mobile](https://github.com/garethtdavies/detect-mobile) is a lightweight PHP plugin for EE2 that detects
|
234 |
+
a mobile browser using the Mobile Detect class. Made by [Gareth Davies](https://github.com/garethtdavies).
|
235 |
+
|
236 |
+
**Yii Framework**
|
237 |
+
|
238 |
+
* [Yii Extension](https://github.com/iamsalnikov/MobileDetect) - Mobile detect plugin for Yii framework.
|
239 |
+
Made by [Alexey Salnikov](https://github.com/iamsalnikov).
|
240 |
+
|
241 |
+
* [Yii Extension](https://github.com/candasm/yii1-mobile-detect-component) - Mobile detect component for Yii framework
|
242 |
+
1.x version which supports composer package manager. Made by [Candas Minareci](https://github.com/candasm).
|
243 |
+
|
244 |
+
* [Yii2 Device Detect](https://github.com/alexandernst/yii2-device-detect/) - Yii2 extension for Mobile-Detect library.
|
245 |
+
Made by [Alexander Nestorov](https://github.com/alexandernst).
|
246 |
+
|
247 |
+
**CakePHP**
|
248 |
+
|
249 |
+
* [CakePHP MobileDetect](https://github.com/chronon/CakePHP-MobileDetectComponent-Plugin) is a plugin component for
|
250 |
+
CakePHP 2.x. Made by [Gregory Gaskill](https://github.com/chronon).
|
251 |
+
|
252 |
+
**FuelPHP**
|
253 |
+
|
254 |
+
* [Special Agent](https://github.com/rob-bar/special_agent) is a FuelPHP package which uses php-mobile-detect to
|
255 |
+
determine whether a device is mobile or not. It overrides the Fuelphp Agent class its methods.
|
256 |
+
Made by [Robbie Bardjin](https://github.com/rob-bar).
|
257 |
+
|
258 |
+
|
259 |
+
**TYPO3**
|
260 |
+
|
261 |
+
* [px_mobiledetect](https://typo3.org/extensions/repository/view/px_mobiledetect) is an extension that helps to detect
|
262 |
+
visitor's mobile device class (if that’s tablet or mobile device like smartphone). Made by Alexander Tretyak.
|
263 |
+
|
264 |
+
**Other**
|
265 |
+
|
266 |
+
* [PageCache](https://github.com/mmamedov/page-cache) is a lightweight PHP library for full page cache,
|
267 |
+
with built-in Mobile-Detect support. Made by [Muhammed Mamedov](https://github.com/mmamedov).
|
268 |
+
|
269 |
+
* [Statamic CMS Mobile Detect](https://github.com/haikulab/statamic-mobile-detect) is a plugin.
|
270 |
+
Made by [Sergei Filippov](https://github.com/haikulab/statamic-mobile-detect) of Haiku Lab.
|
271 |
+
|
272 |
+
* [Kohana Mobile Detect](https://github.com/madeinnordeste/kohana-mobile-detect) is an example of implementation of
|
273 |
+
Mobile_Detect class with Kohana framework.
|
274 |
+
Written by [Luiz Alberto S. Ribeiro](https://github.com/madeinnordeste).
|
275 |
+
|
276 |
+
* [MemHT](https://www.memht.com) is a Free PHP CMS and Blog that permit the creation and the management online
|
277 |
+
of websites with few and easy steps. Has the class included in the core.
|
278 |
+
|
279 |
+
* [concrete5](https://www.concrete5.org) is a CMS that is free and open source. The library is included in the core.
|
280 |
+
|
281 |
+
* [engine7](https://github.com/QOXCorp/exengine) is PHP Open Source Framework. The Mobile_Detect class is included in
|
282 |
+
the engine.
|
283 |
+
|
284 |
+
* [Zikula](http://zikula.org) is a free and open-source Content Management Framework, which allows you to run
|
285 |
+
impressive websites and build powerful online applications. The core uses Mobile-Detect to switch to a special
|
286 |
+
Mobile theme, using jQueryMobile.
|
287 |
+
|
288 |
+
* [UserAgentInfo](https://github.com/quentin389/UserAgentInfo) is a PHP class for parsing user agent strings
|
289 |
+
(HTTP_USER_AGENT). Includes mobile checks, bot checks, browser types/versions and more.
|
290 |
+
Based on browscap, Mobile_Detect and ua-parser. Created for high traffic websites and fast batch processing.
|
291 |
+
Made by [quentin389](https://github.com/quentin389).
|
292 |
+
|
293 |
+
* [LJ Mobile Detect](https://github.com/lewisjenkins/craft-lj-mobiledetect) is a simple implementation of Mobile Detect
|
294 |
+
for Craft CMS. Made by [Lewis Jenkins](https://github.com/lewisjenkins).
|
295 |
+
|
296 |
+
* [Detect Craft](https://github.com/mmikkel/Detect-Craft) is a Craft CMS wrapper for the Mobile_Detect library. Made by [Mikkel Rummelhoff](https://github.com/mmikkel).
|
297 |
+
|
298 |
+
* [Grav Plugin Mobile Detect](https://github.com/dimitrilongo/grav-plugin-mobile-detect/) is a simple implementation
|
299 |
+
of Mobile Detect for Grav CMS. Made by [Dimitri Longo](https://github.com/dimitrilongo).
|
300 |
+
|
301 |
+
* [Mobile_Detect module for UliCMS](https://github.com/derUli/ulicms-Mobile_Detect).
|
302 |
+
Made by [derUli](https://github.com/derUli).
|
303 |
+
|
304 |
+
**Perl**
|
305 |
+
|
306 |
+
* [MobileDetect.pm](https://www.buzzerstar.com/development/) is a Perl module for Mobile Detect.
|
307 |
+
Made by [Sebastian Enger](https://devop.tools/).
|
308 |
+
|
309 |
+
**Python**
|
310 |
+
|
311 |
+
* [pymobiledetect](https://pypi.python.org/pypi/pymobiledetect) - Mobile detect python package.
|
312 |
+
Made by Bas van Oostveen.
|
313 |
+
|
314 |
+
**Ruby**
|
315 |
+
|
316 |
+
* [mobile_detect.rb](https://github.com/ktaragorn/mobile_detect) is a Ruby gem using the JSON data exposed by the
|
317 |
+
php project and implementing a basic subset of the API (as much as can be done by the exposed data).
|
318 |
+
Made by [Karthik T](https://github.com/ktaragorn).
|
319 |
+
|
320 |
+
**Go**
|
321 |
+
|
322 |
+
* [GoMobileDetect](https://github.com/Shaked/gomobiledetect) is a Go port of Mobile Detect class.
|
323 |
+
Made by [https://github.com/Shaked](Shaked).
|
324 |
+
|
325 |
+
|
326 |
+
**LUA**
|
327 |
+
|
328 |
+
* [ua-lua](https://github.com/robinef/ua-lua) is a small lib written in LUA providing device type detection.
|
329 |
+
ua-lua is detecting mobile or tablet devices based on user-agent inside nginx daemon.
|
330 |
+
Made by [Frédéric Robinet](https://github.com/robinef).
|
331 |
+
|
332 |
+
**.Net**
|
333 |
+
|
334 |
+
* [mobile-detect](https://github.com/validide/mobile-detect) is a .Net partial port written in C#.
|
335 |
+
Made by [Valentin Dide](https://github.com/validide).
|
336 |
+
|
337 |
+
**ColdFusion**
|
338 |
+
|
339 |
+
* [MobileDetect](https://github.com/GiancarloGomez/ColdFusion-MobileDetect) is a CFC port of the
|
340 |
+
Mobile_Detect PHP Library. Made by [Giancarlo Gomez](https://github.com/GiancarloGomez).
|
341 |
+
|
342 |
+
**Experiments** :bulb:
|
343 |
+
|
344 |
+
* [Mobile Detect Fast](https://bitbucket.org/lanaguani/mobile-detect-fast/) (See: [#474](https://github.com/serbanghita/Mobile-Detect/issues/474)) is a class to increase the performance of Mobile Detect lib. Made by [LanaGuani](https://github.com/lanaguanifw).
|
vendor/mobiledetect/mobiledetectlib/composer.json
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "mobiledetect/mobiledetectlib",
|
3 |
+
"type": "library",
|
4 |
+
"description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.",
|
5 |
+
"keywords": ["mobile", "mobile detect", "mobile detector", "php mobile detect", "detect mobile devices"],
|
6 |
+
"homepage": "https://github.com/serbanghita/Mobile-Detect",
|
7 |
+
"license": "MIT",
|
8 |
+
"authors": [
|
9 |
+
{
|
10 |
+
"name": "Serban Ghita",
|
11 |
+
"email": "serbanghita@gmail.com",
|
12 |
+
"homepage": "http://mobiledetect.net",
|
13 |
+
"role": "Developer"
|
14 |
+
}
|
15 |
+
],
|
16 |
+
"require": {
|
17 |
+
"php": ">=5.0.0"
|
18 |
+
},
|
19 |
+
"require-dev": {
|
20 |
+
"phpunit/phpunit": "~4.8.35||~5.7"
|
21 |
+
},
|
22 |
+
"autoload": {
|
23 |
+
"classmap": ["Mobile_Detect.php"],
|
24 |
+
"psr-0": {
|
25 |
+
"Detection": "namespaced/"
|
26 |
+
}
|
27 |
+
},
|
28 |
+
"archive": {
|
29 |
+
"exclude": ["docs", "examples", "export"]
|
30 |
+
}
|
31 |
+
}
|
vendor/mobiledetect/mobiledetectlib/composer.lock
ADDED
@@ -0,0 +1,983 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_readme": [
|
3 |
+
"This file locks the dependencies of your project to a known state",
|
4 |
+
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
5 |
+
"This file is @generated automatically"
|
6 |
+
],
|
7 |
+
"content-hash": "4a5fd4cd7cc7247a6df7411b031d4845",
|
8 |
+
"packages": [],
|
9 |
+
"packages-dev": [
|
10 |
+
{
|
11 |
+
"name": "doctrine/instantiator",
|
12 |
+
"version": "1.0.5",
|
13 |
+
"source": {
|
14 |
+
"type": "git",
|
15 |
+
"url": "https://github.com/doctrine/instantiator.git",
|
16 |
+
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
|
17 |
+
},
|
18 |
+
"dist": {
|
19 |
+
"type": "zip",
|
20 |
+
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
|
21 |
+
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
|
22 |
+
"shasum": ""
|
23 |
+
},
|
24 |
+
"require": {
|
25 |
+
"php": ">=5.3,<8.0-DEV"
|
26 |
+
},
|
27 |
+
"require-dev": {
|
28 |
+
"athletic/athletic": "~0.1.8",
|
29 |
+
"ext-pdo": "*",
|
30 |
+
"ext-phar": "*",
|
31 |
+
"phpunit/phpunit": "~4.0",
|
32 |
+
"squizlabs/php_codesniffer": "~2.0"
|
33 |
+
},
|
34 |
+
"type": "library",
|
35 |
+
"extra": {
|
36 |
+
"branch-alias": {
|
37 |
+
"dev-master": "1.0.x-dev"
|
38 |
+
}
|
39 |
+
},
|
40 |
+
"autoload": {
|
41 |
+
"psr-4": {
|
42 |
+
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
|
43 |
+
}
|
44 |
+
},
|
45 |
+
"notification-url": "https://packagist.org/downloads/",
|
46 |
+
"license": [
|
47 |
+
"MIT"
|
48 |
+
],
|
49 |
+
"authors": [
|
50 |
+
{
|
51 |
+
"name": "Marco Pivetta",
|
52 |
+
"email": "ocramius@gmail.com",
|
53 |
+
"homepage": "http://ocramius.github.com/"
|
54 |
+
}
|
55 |
+
],
|
56 |
+
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
|
57 |
+
"homepage": "https://github.com/doctrine/instantiator",
|
58 |
+
"keywords": [
|
59 |
+
"constructor",
|
60 |
+
"instantiate"
|
61 |
+
],
|
62 |
+
"time": "2015-06-14T21:17:01+00:00"
|
63 |
+
},
|
64 |
+
{
|
65 |
+
"name": "phpdocumentor/reflection-docblock",
|
66 |
+
"version": "2.0.5",
|
67 |
+
"source": {
|
68 |
+
"type": "git",
|
69 |
+
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
70 |
+
"reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b"
|
71 |
+
},
|
72 |
+
"dist": {
|
73 |
+
"type": "zip",
|
74 |
+
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
|
75 |
+
"reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
|
76 |
+
"shasum": ""
|
77 |
+
},
|
78 |
+
"require": {
|
79 |
+
"php": ">=5.3.3"
|
80 |
+
},
|
81 |
+
"require-dev": {
|
82 |
+
"phpunit/phpunit": "~4.0"
|
83 |
+
},
|
84 |
+
"suggest": {
|
85 |
+
"dflydev/markdown": "~1.0",
|
86 |
+
"erusev/parsedown": "~1.0"
|
87 |
+
},
|
88 |
+
"type": "library",
|
89 |
+
"extra": {
|
90 |
+
"branch-alias": {
|
91 |
+
"dev-master": "2.0.x-dev"
|
92 |
+
}
|
93 |
+
},
|
94 |
+
"autoload": {
|
95 |
+
"psr-0": {
|
96 |
+
"phpDocumentor": [
|
97 |
+
"src/"
|
98 |
+
]
|
99 |
+
}
|
100 |
+
},
|
101 |
+
"notification-url": "https://packagist.org/downloads/",
|
102 |
+
"license": [
|
103 |
+
"MIT"
|
104 |
+
],
|
105 |
+
"authors": [
|
106 |
+
{
|
107 |
+
"name": "Mike van Riel",
|
108 |
+
"email": "mike.vanriel@naenius.com"
|
109 |
+
}
|
110 |
+
],
|
111 |
+
"time": "2016-01-25T08:17:30+00:00"
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"name": "phpspec/prophecy",
|
115 |
+
"version": "1.7.3",
|
116 |
+
"source": {
|
117 |
+
"type": "git",
|
118 |
+
"url": "https://github.com/phpspec/prophecy.git",
|
119 |
+
"reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf"
|
120 |
+
},
|
121 |
+
"dist": {
|
122 |
+
"type": "zip",
|
123 |
+
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf",
|
124 |
+
"reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf",
|
125 |
+
"shasum": ""
|
126 |
+
},
|
127 |
+
"require": {
|
128 |
+
"doctrine/instantiator": "^1.0.2",
|
129 |
+
"php": "^5.3|^7.0",
|
130 |
+
"phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
|
131 |
+
"sebastian/comparator": "^1.1|^2.0",
|
132 |
+
"sebastian/recursion-context": "^1.0|^2.0|^3.0"
|
133 |
+
},
|
134 |
+
"require-dev": {
|
135 |
+
"phpspec/phpspec": "^2.5|^3.2",
|
136 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7"
|
137 |
+
},
|
138 |
+
"type": "library",
|
139 |
+
"extra": {
|
140 |
+
"branch-alias": {
|
141 |
+
"dev-master": "1.7.x-dev"
|
142 |
+
}
|
143 |
+
},
|
144 |
+
"autoload": {
|
145 |
+
"psr-0": {
|
146 |
+
"Prophecy\\": "src/"
|
147 |
+
}
|
148 |
+
},
|
149 |
+
"notification-url": "https://packagist.org/downloads/",
|
150 |
+
"license": [
|
151 |
+
"MIT"
|
152 |
+
],
|
153 |
+
"authors": [
|
154 |
+
{
|
155 |
+
"name": "Konstantin Kudryashov",
|
156 |
+
"email": "ever.zet@gmail.com",
|
157 |
+
"homepage": "http://everzet.com"
|
158 |
+
},
|
159 |
+
{
|
160 |
+
"name": "Marcello Duarte",
|
161 |
+
"email": "marcello.duarte@gmail.com"
|
162 |
+
}
|
163 |
+
],
|
164 |
+
"description": "Highly opinionated mocking framework for PHP 5.3+",
|
165 |
+
"homepage": "https://github.com/phpspec/prophecy",
|
166 |
+
"keywords": [
|
167 |
+
"Double",
|
168 |
+
"Dummy",
|
169 |
+
"fake",
|
170 |
+
"mock",
|
171 |
+
"spy",
|
172 |
+
"stub"
|
173 |
+
],
|
174 |
+
"time": "2017-11-24T13:59:53+00:00"
|
175 |
+
},
|
176 |
+
{
|
177 |
+
"name": "phpunit/php-code-coverage",
|
178 |
+
"version": "2.2.4",
|
179 |
+
"source": {
|
180 |
+
"type": "git",
|
181 |
+
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
182 |
+
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
|
183 |
+
},
|
184 |
+
"dist": {
|
185 |
+
"type": "zip",
|
186 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
|
187 |
+
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
|
188 |
+
"shasum": ""
|
189 |
+
},
|
190 |
+
"require": {
|
191 |
+
"php": ">=5.3.3",
|
192 |
+
"phpunit/php-file-iterator": "~1.3",
|
193 |
+
"phpunit/php-text-template": "~1.2",
|
194 |
+
"phpunit/php-token-stream": "~1.3",
|
195 |
+
"sebastian/environment": "^1.3.2",
|
196 |
+
"sebastian/version": "~1.0"
|
197 |
+
},
|
198 |
+
"require-dev": {
|
199 |
+
"ext-xdebug": ">=2.1.4",
|
200 |
+
"phpunit/phpunit": "~4"
|
201 |
+
},
|
202 |
+
"suggest": {
|
203 |
+
"ext-dom": "*",
|
204 |
+
"ext-xdebug": ">=2.2.1",
|
205 |
+
"ext-xmlwriter": "*"
|
206 |
+
},
|
207 |
+
"type": "library",
|
208 |
+
"extra": {
|
209 |
+
"branch-alias": {
|
210 |
+
"dev-master": "2.2.x-dev"
|
211 |
+
}
|
212 |
+
},
|
213 |
+
"autoload": {
|
214 |
+
"classmap": [
|
215 |
+
"src/"
|
216 |
+
]
|
217 |
+
},
|
218 |
+
"notification-url": "https://packagist.org/downloads/",
|
219 |
+
"license": [
|
220 |
+
"BSD-3-Clause"
|
221 |
+
],
|
222 |
+
"authors": [
|
223 |
+
{
|
224 |
+
"name": "Sebastian Bergmann",
|
225 |
+
"email": "sb@sebastian-bergmann.de",
|
226 |
+
"role": "lead"
|
227 |
+
}
|
228 |
+
],
|
229 |
+
"description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
|
230 |
+
"homepage": "https://github.com/sebastianbergmann/php-code-coverage",
|
231 |
+
"keywords": [
|
232 |
+
"coverage",
|
233 |
+
"testing",
|
234 |
+
"xunit"
|
235 |
+
],
|
236 |
+
"time": "2015-10-06T15:47:00+00:00"
|
237 |
+
},
|
238 |
+
{
|
239 |
+
"name": "phpunit/php-file-iterator",
|
240 |
+
"version": "1.4.5",
|
241 |
+
"source": {
|
242 |
+
"type": "git",
|
243 |
+
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
|
244 |
+
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
|
245 |
+
},
|
246 |
+
"dist": {
|
247 |
+
"type": "zip",
|
248 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
|
249 |
+
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
|
250 |
+
"shasum": ""
|
251 |
+
},
|
252 |
+
"require": {
|
253 |
+
"php": ">=5.3.3"
|
254 |
+
},
|
255 |
+
"type": "library",
|
256 |
+
"extra": {
|
257 |
+
"branch-alias": {
|
258 |
+
"dev-master": "1.4.x-dev"
|
259 |
+
}
|
260 |
+
},
|
261 |
+
"autoload": {
|
262 |
+
"classmap": [
|
263 |
+
"src/"
|
264 |
+
]
|
265 |
+
},
|
266 |
+
"notification-url": "https://packagist.org/downloads/",
|
267 |
+
"license": [
|
268 |
+
"BSD-3-Clause"
|
269 |
+
],
|
270 |
+
"authors": [
|
271 |
+
{
|
272 |
+
"name": "Sebastian Bergmann",
|
273 |
+
"email": "sb@sebastian-bergmann.de",
|
274 |
+
"role": "lead"
|
275 |
+
}
|
276 |
+
],
|
277 |
+
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
|
278 |
+
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
|
279 |
+
"keywords": [
|
280 |
+
"filesystem",
|
281 |
+
"iterator"
|
282 |
+
],
|
283 |
+
"time": "2017-11-27T13:52:08+00:00"
|
284 |
+
},
|
285 |
+
{
|
286 |
+
"name": "phpunit/php-text-template",
|
287 |
+
"version": "1.2.1",
|
288 |
+
"source": {
|
289 |
+
"type": "git",
|
290 |
+
"url": "https://github.com/sebastianbergmann/php-text-template.git",
|
291 |
+
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
|
292 |
+
},
|
293 |
+
"dist": {
|
294 |
+
"type": "zip",
|
295 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
296 |
+
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
297 |
+
"shasum": ""
|
298 |
+
},
|
299 |
+
"require": {
|
300 |
+
"php": ">=5.3.3"
|
301 |
+
},
|
302 |
+
"type": "library",
|
303 |
+
"autoload": {
|
304 |
+
"classmap": [
|
305 |
+
"src/"
|
306 |
+
]
|
307 |
+
},
|
308 |
+
"notification-url": "https://packagist.org/downloads/",
|
309 |
+
"license": [
|
310 |
+
"BSD-3-Clause"
|
311 |
+
],
|
312 |
+
"authors": [
|
313 |
+
{
|
314 |
+
"name": "Sebastian Bergmann",
|
315 |
+
"email": "sebastian@phpunit.de",
|
316 |
+
"role": "lead"
|
317 |
+
}
|
318 |
+
],
|
319 |
+
"description": "Simple template engine.",
|
320 |
+
"homepage": "https://github.com/sebastianbergmann/php-text-template/",
|
321 |
+
"keywords": [
|
322 |
+
"template"
|
323 |
+
],
|
324 |
+
"time": "2015-06-21T13:50:34+00:00"
|
325 |
+
},
|
326 |
+
{
|
327 |
+
"name": "phpunit/php-timer",
|
328 |
+
"version": "1.0.9",
|
329 |
+
"source": {
|
330 |
+
"type": "git",
|
331 |
+
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
332 |
+
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
|
333 |
+
},
|
334 |
+
"dist": {
|
335 |
+
"type": "zip",
|
336 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
337 |
+
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
338 |
+
"shasum": ""
|
339 |
+
},
|
340 |
+
"require": {
|
341 |
+
"php": "^5.3.3 || ^7.0"
|
342 |
+
},
|
343 |
+
"require-dev": {
|
344 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
345 |
+
},
|
346 |
+
"type": "library",
|
347 |
+
"extra": {
|
348 |
+
"branch-alias": {
|
349 |
+
"dev-master": "1.0-dev"
|
350 |
+
}
|
351 |
+
},
|
352 |
+
"autoload": {
|
353 |
+
"classmap": [
|
354 |
+
"src/"
|
355 |
+
]
|
356 |
+
},
|
357 |
+
"notification-url": "https://packagist.org/downloads/",
|
358 |
+
"license": [
|
359 |
+
"BSD-3-Clause"
|
360 |
+
],
|
361 |
+
"authors": [
|
362 |
+
{
|
363 |
+
"name": "Sebastian Bergmann",
|
364 |
+
"email": "sb@sebastian-bergmann.de",
|
365 |
+
"role": "lead"
|
366 |
+
}
|
367 |
+
],
|
368 |
+
"description": "Utility class for timing",
|
369 |
+
"homepage": "https://github.com/sebastianbergmann/php-timer/",
|
370 |
+
"keywords": [
|
371 |
+
"timer"
|
372 |
+
],
|
373 |
+
"time": "2017-02-26T11:10:40+00:00"
|
374 |
+
},
|
375 |
+
{
|
376 |
+
"name": "phpunit/php-token-stream",
|
377 |
+
"version": "1.4.12",
|
378 |
+
"source": {
|
379 |
+
"type": "git",
|
380 |
+
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
381 |
+
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
|
382 |
+
},
|
383 |
+
"dist": {
|
384 |
+
"type": "zip",
|
385 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
|
386 |
+
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
|
387 |
+
"shasum": ""
|
388 |
+
},
|
389 |
+
"require": {
|
390 |
+
"ext-tokenizer": "*",
|
391 |
+
"php": ">=5.3.3"
|
392 |
+
},
|
393 |
+
"require-dev": {
|
394 |
+
"phpunit/phpunit": "~4.2"
|
395 |
+
},
|
396 |
+
"type": "library",
|
397 |
+
"extra": {
|
398 |
+
"branch-alias": {
|
399 |
+
"dev-master": "1.4-dev"
|
400 |
+
}
|
401 |
+
},
|
402 |
+
"autoload": {
|
403 |
+
"classmap": [
|
404 |
+
"src/"
|
405 |
+
]
|
406 |
+
},
|
407 |
+
"notification-url": "https://packagist.org/downloads/",
|
408 |
+
"license": [
|
409 |
+
"BSD-3-Clause"
|
410 |
+
],
|
411 |
+
"authors": [
|
412 |
+
{
|
413 |
+
"name": "Sebastian Bergmann",
|
414 |
+
"email": "sebastian@phpunit.de"
|
415 |
+
}
|
416 |
+
],
|
417 |
+
"description": "Wrapper around PHP's tokenizer extension.",
|
418 |
+
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
|
419 |
+
"keywords": [
|
420 |
+
"tokenizer"
|
421 |
+
],
|
422 |
+
"time": "2017-12-04T08:55:13+00:00"
|
423 |
+
},
|
424 |
+
{
|
425 |
+
"name": "phpunit/phpunit",
|
426 |
+
"version": "4.8.36",
|
427 |
+
"source": {
|
428 |
+
"type": "git",
|
429 |
+
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
430 |
+
"reference": "46023de9a91eec7dfb06cc56cb4e260017298517"
|
431 |
+
},
|
432 |
+
"dist": {
|
433 |
+
"type": "zip",
|
434 |
+
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517",
|
435 |
+
"reference": "46023de9a91eec7dfb06cc56cb4e260017298517",
|
436 |
+
"shasum": ""
|
437 |
+
},
|
438 |
+
"require": {
|
439 |
+
"ext-dom": "*",
|
440 |
+
"ext-json": "*",
|
441 |
+
"ext-pcre": "*",
|
442 |
+
"ext-reflection": "*",
|
443 |
+
"ext-spl": "*",
|
444 |
+
"php": ">=5.3.3",
|
445 |
+
"phpspec/prophecy": "^1.3.1",
|
446 |
+
"phpunit/php-code-coverage": "~2.1",
|
447 |
+
"phpunit/php-file-iterator": "~1.4",
|
448 |
+
"phpunit/php-text-template": "~1.2",
|
449 |
+
"phpunit/php-timer": "^1.0.6",
|
450 |
+
"phpunit/phpunit-mock-objects": "~2.3",
|
451 |
+
"sebastian/comparator": "~1.2.2",
|
452 |
+
"sebastian/diff": "~1.2",
|
453 |
+
"sebastian/environment": "~1.3",
|
454 |
+
"sebastian/exporter": "~1.2",
|
455 |
+
"sebastian/global-state": "~1.0",
|
456 |
+
"sebastian/version": "~1.0",
|
457 |
+
"symfony/yaml": "~2.1|~3.0"
|
458 |
+
},
|
459 |
+
"suggest": {
|
460 |
+
"phpunit/php-invoker": "~1.1"
|
461 |
+
},
|
462 |
+
"bin": [
|
463 |
+
"phpunit"
|
464 |
+
],
|
465 |
+
"type": "library",
|
466 |
+
"extra": {
|
467 |
+
"branch-alias": {
|
468 |
+
"dev-master": "4.8.x-dev"
|
469 |
+
}
|
470 |
+
},
|
471 |
+
"autoload": {
|
472 |
+
"classmap": [
|
473 |
+
"src/"
|
474 |
+
]
|
475 |
+
},
|
476 |
+
"notification-url": "https://packagist.org/downloads/",
|
477 |
+
"license": [
|
478 |
+
"BSD-3-Clause"
|
479 |
+
],
|
480 |
+
"authors": [
|
481 |
+
{
|
482 |
+
"name": "Sebastian Bergmann",
|
483 |
+
"email": "sebastian@phpunit.de",
|
484 |
+
"role": "lead"
|
485 |
+
}
|
486 |
+
],
|
487 |
+
"description": "The PHP Unit Testing framework.",
|
488 |
+
"homepage": "https://phpunit.de/",
|
489 |
+
"keywords": [
|
490 |
+
"phpunit",
|
491 |
+
"testing",
|
492 |
+
"xunit"
|
493 |
+
],
|
494 |
+
"time": "2017-06-21T08:07:12+00:00"
|
495 |
+
},
|
496 |
+
{
|
497 |
+
"name": "phpunit/phpunit-mock-objects",
|
498 |
+
"version": "2.3.8",
|
499 |
+
"source": {
|
500 |
+
"type": "git",
|
501 |
+
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
|
502 |
+
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
|
503 |
+
},
|
504 |
+
"dist": {
|
505 |
+
"type": "zip",
|
506 |
+
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
|
507 |
+
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
|
508 |
+
"shasum": ""
|
509 |
+
},
|
510 |
+
"require": {
|
511 |
+
"doctrine/instantiator": "^1.0.2",
|
512 |
+
"php": ">=5.3.3",
|
513 |
+
"phpunit/php-text-template": "~1.2",
|
514 |
+
"sebastian/exporter": "~1.2"
|
515 |
+
},
|
516 |
+
"require-dev": {
|
517 |
+
"phpunit/phpunit": "~4.4"
|
518 |
+
},
|
519 |
+
"suggest": {
|
520 |
+
"ext-soap": "*"
|
521 |
+
},
|
522 |
+
"type": "library",
|
523 |
+
"extra": {
|
524 |
+
"branch-alias": {
|
525 |
+
"dev-master": "2.3.x-dev"
|
526 |
+
}
|
527 |
+
},
|
528 |
+
"autoload": {
|
529 |
+
"classmap": [
|
530 |
+
"src/"
|
531 |
+
]
|
532 |
+
},
|
533 |
+
"notification-url": "https://packagist.org/downloads/",
|
534 |
+
"license": [
|
535 |
+
"BSD-3-Clause"
|
536 |
+
],
|
537 |
+
"authors": [
|
538 |
+
{
|
539 |
+
"name": "Sebastian Bergmann",
|
540 |
+
"email": "sb@sebastian-bergmann.de",
|
541 |
+
"role": "lead"
|
542 |
+
}
|
543 |
+
],
|
544 |
+
"description": "Mock Object library for PHPUnit",
|
545 |
+
"homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
|
546 |
+
"keywords": [
|
547 |
+
"mock",
|
548 |
+
"xunit"
|
549 |
+
],
|
550 |
+
"time": "2015-10-02T06:51:40+00:00"
|
551 |
+
},
|
552 |
+
{
|
553 |
+
"name": "sebastian/comparator",
|
554 |
+
"version": "1.2.4",
|
555 |
+
"source": {
|
556 |
+
"type": "git",
|
557 |
+
"url": "https://github.com/sebastianbergmann/comparator.git",
|
558 |
+
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
|
559 |
+
},
|
560 |
+
"dist": {
|
561 |
+
"type": "zip",
|
562 |
+
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
563 |
+
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
564 |
+
"shasum": ""
|
565 |
+
},
|
566 |
+
"require": {
|
567 |
+
"php": ">=5.3.3",
|
568 |
+
"sebastian/diff": "~1.2",
|
569 |
+
"sebastian/exporter": "~1.2 || ~2.0"
|
570 |
+
},
|
571 |
+
"require-dev": {
|
572 |
+
"phpunit/phpunit": "~4.4"
|
573 |
+
},
|
574 |
+
"type": "library",
|
575 |
+
"extra": {
|
576 |
+
"branch-alias": {
|
577 |
+
"dev-master": "1.2.x-dev"
|
578 |
+
}
|
579 |
+
},
|
580 |
+
"autoload": {
|
581 |
+
"classmap": [
|
582 |
+
"src/"
|
583 |
+
]
|
584 |
+
},
|
585 |
+
"notification-url": "https://packagist.org/downloads/",
|
586 |
+
"license": [
|
587 |
+
"BSD-3-Clause"
|
588 |
+
],
|
589 |
+
"authors": [
|
590 |
+
{
|
591 |
+
"name": "Jeff Welch",
|
592 |
+
"email": "whatthejeff@gmail.com"
|
593 |
+
},
|
594 |
+
{
|
595 |
+
"name": "Volker Dusch",
|
596 |
+
"email": "github@wallbash.com"
|
597 |
+
},
|
598 |
+
{
|
599 |
+
"name": "Bernhard Schussek",
|
600 |
+
"email": "bschussek@2bepublished.at"
|
601 |
+
},
|
602 |
+
{
|
603 |
+
"name": "Sebastian Bergmann",
|
604 |
+
"email": "sebastian@phpunit.de"
|
605 |
+
}
|
606 |
+
],
|
607 |
+
"description": "Provides the functionality to compare PHP values for equality",
|
608 |
+
"homepage": "http://www.github.com/sebastianbergmann/comparator",
|
609 |
+
"keywords": [
|
610 |
+
"comparator",
|
611 |
+
"compare",
|
612 |
+
"equality"
|
613 |
+
],
|
614 |
+
"time": "2017-01-29T09:50:25+00:00"
|
615 |
+
},
|
616 |
+
{
|
617 |
+
"name": "sebastian/diff",
|
618 |
+
"version": "1.4.3",
|
619 |
+
"source": {
|
620 |
+
"type": "git",
|
621 |
+
"url": "https://github.com/sebastianbergmann/diff.git",
|
622 |
+
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
|
623 |
+
},
|
624 |
+
"dist": {
|
625 |
+
"type": "zip",
|
626 |
+
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
627 |
+
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
628 |
+
"shasum": ""
|
629 |
+
},
|
630 |
+
"require": {
|
631 |
+
"php": "^5.3.3 || ^7.0"
|
632 |
+
},
|
633 |
+
"require-dev": {
|
634 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
635 |
+
},
|
636 |
+
"type": "library",
|
637 |
+
"extra": {
|
638 |
+
"branch-alias": {
|
639 |
+
"dev-master": "1.4-dev"
|
640 |
+
}
|
641 |
+
},
|
642 |
+
"autoload": {
|
643 |
+
"classmap": [
|
644 |
+
"src/"
|
645 |
+
]
|
646 |
+
},
|
647 |
+
"notification-url": "https://packagist.org/downloads/",
|
648 |
+
"license": [
|
649 |
+
"BSD-3-Clause"
|
650 |
+
],
|
651 |
+
"authors": [
|
652 |
+
{
|
653 |
+
"name": "Kore Nordmann",
|
654 |
+
"email": "mail@kore-nordmann.de"
|
655 |
+
},
|
656 |
+
{
|
657 |
+
"name": "Sebastian Bergmann",
|
658 |
+
"email": "sebastian@phpunit.de"
|
659 |
+
}
|
660 |
+
],
|
661 |
+
"description": "Diff implementation",
|
662 |
+
"homepage": "https://github.com/sebastianbergmann/diff",
|
663 |
+
"keywords": [
|
664 |
+
"diff"
|
665 |
+
],
|
666 |
+
"time": "2017-05-22T07:24:03+00:00"
|
667 |
+
},
|
668 |
+
{
|
669 |
+
"name": "sebastian/environment",
|
670 |
+
"version": "1.3.8",
|
671 |
+
"source": {
|
672 |
+
"type": "git",
|
673 |
+
"url": "https://github.com/sebastianbergmann/environment.git",
|
674 |
+
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
|
675 |
+
},
|
676 |
+
"dist": {
|
677 |
+
"type": "zip",
|
678 |
+
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
|
679 |
+
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
|
680 |
+
"shasum": ""
|
681 |
+
},
|
682 |
+
"require": {
|
683 |
+
"php": "^5.3.3 || ^7.0"
|
684 |
+
},
|
685 |
+
"require-dev": {
|
686 |
+
"phpunit/phpunit": "^4.8 || ^5.0"
|
687 |
+
},
|
688 |
+
"type": "library",
|
689 |
+
"extra": {
|
690 |
+
"branch-alias": {
|
691 |
+
"dev-master": "1.3.x-dev"
|
692 |
+
}
|
693 |
+
},
|
694 |
+
"autoload": {
|
695 |
+
"classmap": [
|
696 |
+
"src/"
|
697 |
+
]
|
698 |
+
},
|
699 |
+
"notification-url": "https://packagist.org/downloads/",
|
700 |
+
"license": [
|
701 |
+
"BSD-3-Clause"
|
702 |
+
],
|
703 |
+
"authors": [
|
704 |
+
{
|
705 |
+
"name": "Sebastian Bergmann",
|
706 |
+
"email": "sebastian@phpunit.de"
|
707 |
+
}
|
708 |
+
],
|
709 |
+
"description": "Provides functionality to handle HHVM/PHP environments",
|
710 |
+
"homepage": "http://www.github.com/sebastianbergmann/environment",
|
711 |
+
"keywords": [
|
712 |
+
"Xdebug",
|
713 |
+
"environment",
|
714 |
+
"hhvm"
|
715 |
+
],
|
716 |
+
"time": "2016-08-18T05:49:44+00:00"
|
717 |
+
},
|
718 |
+
{
|
719 |
+
"name": "sebastian/exporter",
|
720 |
+
"version": "1.2.2",
|
721 |
+
"source": {
|
722 |
+
"type": "git",
|
723 |
+
"url": "https://github.com/sebastianbergmann/exporter.git",
|
724 |
+
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
|
725 |
+
},
|
726 |
+
"dist": {
|
727 |
+
"type": "zip",
|
728 |
+
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
|
729 |
+
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
|
730 |
+
"shasum": ""
|
731 |
+
},
|
732 |
+
"require": {
|
733 |
+
"php": ">=5.3.3",
|
734 |
+
"sebastian/recursion-context": "~1.0"
|
735 |
+
},
|
736 |
+
"require-dev": {
|
737 |
+
"ext-mbstring": "*",
|
738 |
+
"phpunit/phpunit": "~4.4"
|
739 |
+
},
|
740 |
+
"type": "library",
|
741 |
+
"extra": {
|
742 |
+
"branch-alias": {
|
743 |
+
"dev-master": "1.3.x-dev"
|
744 |
+
}
|
745 |
+
},
|
746 |
+
"autoload": {
|
747 |
+
"classmap": [
|
748 |
+
"src/"
|
749 |
+
]
|
750 |
+
},
|
751 |
+
"notification-url": "https://packagist.org/downloads/",
|
752 |
+
"license": [
|
753 |
+
"BSD-3-Clause"
|
754 |
+
],
|
755 |
+
"authors": [
|
756 |
+
{
|
757 |
+
"name": "Jeff Welch",
|
758 |
+
"email": "whatthejeff@gmail.com"
|
759 |
+
},
|
760 |
+
{
|
761 |
+
"name": "Volker Dusch",
|
762 |
+
"email": "github@wallbash.com"
|
763 |
+
},
|
764 |
+
{
|
765 |
+
"name": "Bernhard Schussek",
|
766 |
+
"email": "bschussek@2bepublished.at"
|
767 |
+
},
|
768 |
+
{
|
769 |
+
"name": "Sebastian Bergmann",
|
770 |
+
"email": "sebastian@phpunit.de"
|
771 |
+
},
|
772 |
+
{
|
773 |
+
"name": "Adam Harvey",
|
774 |
+
"email": "aharvey@php.net"
|
775 |
+
}
|
776 |
+
],
|
777 |
+
"description": "Provides the functionality to export PHP variables for visualization",
|
778 |
+
"homepage": "http://www.github.com/sebastianbergmann/exporter",
|
779 |
+
"keywords": [
|
780 |
+
"export",
|
781 |
+
"exporter"
|
782 |
+
],
|
783 |
+
"time": "2016-06-17T09:04:28+00:00"
|
784 |
+
},
|
785 |
+
{
|
786 |
+
"name": "sebastian/global-state",
|
787 |
+
"version": "1.1.1",
|
788 |
+
"source": {
|
789 |
+
"type": "git",
|
790 |
+
"url": "https://github.com/sebastianbergmann/global-state.git",
|
791 |
+
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
|
792 |
+
},
|
793 |
+
"dist": {
|
794 |
+
"type": "zip",
|
795 |
+
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
796 |
+
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
797 |
+
"shasum": ""
|
798 |
+
},
|
799 |
+
"require": {
|
800 |
+
"php": ">=5.3.3"
|
801 |
+
},
|
802 |
+
"require-dev": {
|
803 |
+
"phpunit/phpunit": "~4.2"
|
804 |
+
},
|
805 |
+
"suggest": {
|
806 |
+
"ext-uopz": "*"
|
807 |
+
},
|
808 |
+
"type": "library",
|
809 |
+
"extra": {
|
810 |
+
"branch-alias": {
|
811 |
+
"dev-master": "1.0-dev"
|
812 |
+
}
|
813 |
+
},
|
814 |
+
"autoload": {
|
815 |
+
"classmap": [
|
816 |
+
"src/"
|
817 |
+
]
|
818 |
+
},
|
819 |
+
"notification-url": "https://packagist.org/downloads/",
|
820 |
+
"license": [
|
821 |
+
"BSD-3-Clause"
|
822 |
+
],
|
823 |
+
"authors": [
|
824 |
+
{
|
825 |
+
"name": "Sebastian Bergmann",
|
826 |
+
"email": "sebastian@phpunit.de"
|
827 |
+
}
|
828 |
+
],
|
829 |
+
"description": "Snapshotting of global state",
|
830 |
+
"homepage": "http://www.github.com/sebastianbergmann/global-state",
|
831 |
+
"keywords": [
|
832 |
+
"global state"
|
833 |
+
],
|
834 |
+
"time": "2015-10-12T03:26:01+00:00"
|
835 |
+
},
|
836 |
+
{
|
837 |
+
"name": "sebastian/recursion-context",
|
838 |
+
"version": "1.0.5",
|
839 |
+
"source": {
|
840 |
+
"type": "git",
|
841 |
+
"url": "https://github.com/sebastianbergmann/recursion-context.git",
|
842 |
+
"reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
|
843 |
+
},
|
844 |
+
"dist": {
|
845 |
+
"type": "zip",
|
846 |
+
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
|
847 |
+
"reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
|
848 |
+
"shasum": ""
|
849 |
+
},
|
850 |
+
"require": {
|
851 |
+
"php": ">=5.3.3"
|
852 |
+
},
|
853 |
+
"require-dev": {
|
854 |
+
"phpunit/phpunit": "~4.4"
|
855 |
+
},
|
856 |
+
"type": "library",
|
857 |
+
"extra": {
|
858 |
+
"branch-alias": {
|
859 |
+
"dev-master": "1.0.x-dev"
|
860 |
+
}
|
861 |
+
},
|
862 |
+
"autoload": {
|
863 |
+
"classmap": [
|
864 |
+
"src/"
|
865 |
+
]
|
866 |
+
},
|
867 |
+
"notification-url": "https://packagist.org/downloads/",
|
868 |
+
"license": [
|
869 |
+
"BSD-3-Clause"
|
870 |
+
],
|
871 |
+
"authors": [
|
872 |
+
{
|
873 |
+
"name": "Jeff Welch",
|
874 |
+
"email": "whatthejeff@gmail.com"
|
875 |
+
},
|
876 |
+
{
|
877 |
+
"name": "Sebastian Bergmann",
|
878 |
+
"email": "sebastian@phpunit.de"
|
879 |
+
},
|
880 |
+
{
|
881 |
+
"name": "Adam Harvey",
|
882 |
+
"email": "aharvey@php.net"
|
883 |
+
}
|
884 |
+
],
|
885 |
+
"description": "Provides functionality to recursively process PHP variables",
|
886 |
+
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
887 |
+
"time": "2016-10-03T07:41:43+00:00"
|
888 |
+
},
|
889 |
+
{
|
890 |
+
"name": "sebastian/version",
|
891 |
+
"version": "1.0.6",
|
892 |
+
"source": {
|
893 |
+
"type": "git",
|
894 |
+
"url": "https://github.com/sebastianbergmann/version.git",
|
895 |
+
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
|
896 |
+
},
|
897 |
+
"dist": {
|
898 |
+
"type": "zip",
|
899 |
+
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
|
900 |
+
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
|
901 |
+
"shasum": ""
|
902 |
+
},
|
903 |
+
"type": "library",
|
904 |
+
"autoload": {
|
905 |
+
"classmap": [
|
906 |
+
"src/"
|
907 |
+
]
|
908 |
+
},
|
909 |
+
"notification-url": "https://packagist.org/downloads/",
|
910 |
+
"license": [
|
911 |
+
"BSD-3-Clause"
|
912 |
+
],
|
913 |
+
"authors": [
|
914 |
+
{
|
915 |
+
"name": "Sebastian Bergmann",
|
916 |
+
"email": "sebastian@phpunit.de",
|
917 |
+
"role": "lead"
|
918 |
+
}
|
919 |
+
],
|
920 |
+
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
921 |
+
"homepage": "https://github.com/sebastianbergmann/version",
|
922 |
+
"time": "2015-06-21T13:59:46+00:00"
|
923 |
+
},
|
924 |
+
{
|
925 |
+
"name": "symfony/yaml",
|
926 |
+
"version": "v2.8.32",
|
927 |
+
"source": {
|
928 |
+
"type": "git",
|
929 |
+
"url": "https://github.com/symfony/yaml.git",
|
930 |
+
"reference": "968ef42161e4bc04200119da473077f9e7015128"
|
931 |
+
},
|
932 |
+
"dist": {
|
933 |
+
"type": "zip",
|
934 |
+
"url": "https://api.github.com/repos/symfony/yaml/zipball/968ef42161e4bc04200119da473077f9e7015128",
|
935 |
+
"reference": "968ef42161e4bc04200119da473077f9e7015128",
|
936 |
+
"shasum": ""
|
937 |
+
},
|
938 |
+
"require": {
|
939 |
+
"php": ">=5.3.9"
|
940 |
+
},
|
941 |
+
"type": "library",
|
942 |
+
"extra": {
|
943 |
+
"branch-alias": {
|
944 |
+
"dev-master": "2.8-dev"
|
945 |
+
}
|
946 |
+
},
|
947 |
+
"autoload": {
|
948 |
+
"psr-4": {
|
949 |
+
"Symfony\\Component\\Yaml\\": ""
|
950 |
+
},
|
951 |
+
"exclude-from-classmap": [
|
952 |
+
"/Tests/"
|
953 |
+
]
|
954 |
+
},
|
955 |
+
"notification-url": "https://packagist.org/downloads/",
|
956 |
+
"license": [
|
957 |
+
"MIT"
|
958 |
+
],
|
959 |
+
"authors": [
|
960 |
+
{
|
961 |
+
"name": "Fabien Potencier",
|
962 |
+
"email": "fabien@symfony.com"
|
963 |
+
},
|
964 |
+
{
|
965 |
+
"name": "Symfony Community",
|
966 |
+
"homepage": "https://symfony.com/contributors"
|
967 |
+
}
|
968 |
+
],
|
969 |
+
"description": "Symfony Yaml Component",
|
970 |
+
"homepage": "https://symfony.com",
|
971 |
+
"time": "2017-11-29T09:33:18+00:00"
|
972 |
+
}
|
973 |
+
],
|
974 |
+
"aliases": [],
|
975 |
+
"minimum-stability": "stable",
|
976 |
+
"stability-flags": [],
|
977 |
+
"prefer-stable": false,
|
978 |
+
"prefer-lowest": false,
|
979 |
+
"platform": {
|
980 |
+
"php": ">=5.0.0"
|
981 |
+
},
|
982 |
+
"platform-dev": []
|
983 |
+
}
|
vendor/mobiledetect/mobiledetectlib/docs/CONTRIBUTING.md
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
**Reporting issues**
|
2 |
+
|
3 |
+
1. Specify the User-agent by visiting [http://demo.mobiledetect.net](http://demo.mobiledetect.net).
|
4 |
+
1. Specify the expected behaviour.
|
5 |
+
|
6 |
+
**Developing**
|
7 |
+
|
8 |
+
1. Fork Mobile Detect repository. See ["How to fork"](https://help.github.com/articles/fork-a-repo/#fork-an-example-repository) example.
|
9 |
+
1. `git clone https://github.com/[yourname]/Mobile-Detect.git`
|
10 |
+
1. `git add remote serbanghita https://github.com/serbanghita/Mobile-Detect.git`
|
11 |
+
1. `git remote -v` - You should see:
|
12 |
+
```
|
13 |
+
origin git@github.com:serbanghita/Mobile-Detect.git
|
14 |
+
serbanghita https://github.com/serbanghita/Mobile-Detect.git
|
15 |
+
```
|
16 |
+
1. `git checkout -b devel origin/devel`
|
17 |
+
1. `composer install`
|
18 |
+
1. Start working on your changes.
|
19 |
+
1. If you add new methods or make structural changes to the `Mobile_Detect.php` class
|
20 |
+
you need to add unit tests!
|
21 |
+
1. If you add new regexes make sure you commit the User-Agents in [`tests/providers/vendors`](https://github.com/serbanghita/Mobile-Detect/tree/master/tests/providers/vendors)
|
22 |
+
1. Run tests `vendor/bin/phpunit -v -c tests/phpunit.xml --coverage-text --strict-coverage --stop-on-risky`
|
23 |
+
1. `git status` or `git diff` - inspect your changes
|
24 |
+
1 `git stage .`
|
25 |
+
1. `git commit -m "[your commit message here]`
|
26 |
+
1. `git push origin devel`
|
27 |
+
1. Go to your repo on GitHub and ["Submit the PR"](https://help.github.com/articles/about-pull-requests/)
|
28 |
+
|
29 |
+
**New module, plugin, plugin or port**
|
30 |
+
|
31 |
+
[Submit new module, plugin, port](../../issues/new?title=New%203rd%20party%20module&body=Name,%20Link%20and%20Description%20of%20the%20module.)
|
32 |
+
including the following information:
|
33 |
+
* Module name
|
34 |
+
* Description
|
35 |
+
* Link
|
36 |
+
* Author
|
37 |
+
|
38 |
+
Or you can submit a PR against `README.md`.
|
39 |
+
|
40 |
+
**Website updates**
|
41 |
+
|
42 |
+
1. Our official website is hosted at [http://mobiledetect.net](http://mobiledetect.net).
|
43 |
+
1. The files are found on the `gh-pages` branch.
|
44 |
+
1. `git checkout gh-pages`
|
45 |
+
1. `npm install -g browser-sync`
|
46 |
+
1. `browser-sync start --s . --f . --port 3000 --reload-debounce 1500 --no-ui`
|
47 |
+
1. Go to `http://localhost:3000` and make changes.
|
48 |
+
1. Commit, push and submit the PR against `serbanghita:gh-pages`.
|
vendor/mobiledetect/mobiledetectlib/docs/HISTORY.md
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
The first version of the script was developed in 2009 and it was hosted at https://code.google.com/p/php-mobile-detect/, it was a small project with around 30 stars. (Original blog post by Victor: http://victorstanciu.ro/detectarea-platformelor-mobile-in-php/)
|
2 |
+
|
3 |
+
In December 2011 it received a major update from the first version, an important number of issues were fixed, then 2.0 was launched. The new version marks a new mindset and also featuring tablet detection.
|
4 |
+
|
5 |
+
Throughout 2012 the script has been updated constantly and we have received tons of feedback and requests.
|
6 |
+
|
7 |
+
In July 2012 we moved the repository from Google Code to GitHub in order to quickly accommodate the frequent updates and to involve more people.
|
8 |
+
|
9 |
+
In August 2013 the library has 1800+ stargazers and support for: composer, PHPUnit tests, PSR standards and a new webpage http://mobiledetect.net
|
10 |
+
|
11 |
+
Mobile Detect library and user contributions are <a href="https://github.com/serbanghita/Mobile-Detect/blob/master/LICENSE.txt">MIT Licensed</a>.
|
vendor/mobiledetect/mobiledetectlib/docs/ISSUE_TEMPLATE.md
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
-------------delete this message-------------
|
2 |
+
* By submitting a new issue I acknowledge that I already read the README, CODE EXAMPLES and KNOWN LIMITATIONS.
|
3 |
+
* I understand that the current version `2.x` is only meant to detect `mobile` devices.
|
4 |
+
* Please post your User-Agent string! On a real device/s, the library is expected to work correctly.
|
5 |
+
-------------delete this message-------------
|
6 |
+
|
7 |
+
|
8 |
+
|
9 |
+
**Issue description**
|
10 |
+
|
11 |
+
|
12 |
+
**User-Agent(s)**
|
13 |
+
|
14 |
+
|
15 |
+
**Suggestions**
|
vendor/mobiledetect/mobiledetectlib/docs/KNOWN_LIMITATIONS.md
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
**Known limitations**
|
2 |
+
|
3 |
+
* Mobile Detect script was designed to detect `mobile` devices. Implicitly other devices are considered to be `desktop`.
|
4 |
+
* User-Agent and HTTP headers sniffing is a non reliable method of detecting a mobile device.
|
5 |
+
* If the mobile browser is set on `Desktop mode`, the Mobile Detect script has no way of knowing that the device is `mobile`.
|
6 |
+
* Some touchscreen devices (eg. Microsoft Surface) are tough to detect as mobile since they can be used in a laptop mode.
|
7 |
+
* Detecting the device brand (eg. Apple, Samsung, HTC) is not 100% reliable.
|
8 |
+
* We don't monitor the quality of the 3rd party tools based on Mobile Detect script.
|
9 |
+
We cannot guarantee that they are using the class properly or if they provide the latest version.
|
10 |
+
* Version `2.x` is made to be PHP 5.3 compatible because of the backward compatibility changes of PHP.
|
11 |
+
* There are hundreds of devices launched every month, we cannot keep a 100% up to date detection rate.
|
vendor/mobiledetect/mobiledetectlib/export/exportToJSON.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Mobile Detect Library
|
4 |
+
* - export -
|
5 |
+
* =====================
|
6 |
+
*
|
7 |
+
* Use the resulting JSON export file in other languages
|
8 |
+
* other than PHP. Always check for 'version' key because
|
9 |
+
* new major versions can modify the structure of the JSON file.
|
10 |
+
*
|
11 |
+
* The result of running this script is the export.json file.
|
12 |
+
*
|
13 |
+
* @license Code and contributions have 'MIT License'
|
14 |
+
* More details: https://github.com/serbanghita/Mobile-Detect/blob/master/LICENSE.txt
|
15 |
+
*
|
16 |
+
*/
|
17 |
+
|
18 |
+
// Included nicejson function to beautify the result JSON file.
|
19 |
+
// This library is not mandatory.
|
20 |
+
if( file_exists(dirname(__FILE__).'/nicejson/nicejson.php') ) {
|
21 |
+
include_once dirname(__FILE__).'/nicejson/nicejson.php';
|
22 |
+
}
|
23 |
+
|
24 |
+
// Include Mobile Detect.
|
25 |
+
require_once dirname(__FILE__).'/../Mobile_Detect.php';
|
26 |
+
$detect = new Mobile_Detect;
|
27 |
+
|
28 |
+
$json = array(
|
29 |
+
// The current version of Mobile Detect class that
|
30 |
+
// is being exported.
|
31 |
+
'version' => $detect->getScriptVersion(),
|
32 |
+
|
33 |
+
// All headers that trigger 'isMobile' to be 'true',
|
34 |
+
// before reaching the User-Agent match detection.
|
35 |
+
'headerMatch' => $detect->getMobileHeaders(),
|
36 |
+
|
37 |
+
// All possible User-Agent headers.
|
38 |
+
'uaHttpHeaders' => $detect->getUaHttpHeaders(),
|
39 |
+
|
40 |
+
// All the regexes that trigger 'isMobile' or 'isTablet'
|
41 |
+
// to be true.
|
42 |
+
'uaMatch' => array(
|
43 |
+
// If match is found, triggers 'isMobile' to be true.
|
44 |
+
'phones' => $detect->getPhoneDevices(),
|
45 |
+
// Triggers 'isTablet' to be true.
|
46 |
+
'tablets' => $detect->getTabletDevices(),
|
47 |
+
// If match is found, triggers 'isMobile' to be true.
|
48 |
+
'browsers' => $detect->getBrowsers(),
|
49 |
+
// If match is found, triggers 'isMobile' to be true.
|
50 |
+
'os' => $detect->getOperatingSystems(),
|
51 |
+
// Various utilities. To be further discussed.
|
52 |
+
'utilities' => $detect->getUtilities()
|
53 |
+
)
|
54 |
+
);
|
55 |
+
|
56 |
+
$fileName = dirname(__FILE__).'/../Mobile_Detect.json';
|
57 |
+
// Write the JSON file to disk.11
|
58 |
+
// You can import this file in your app.
|
59 |
+
if (file_put_contents(
|
60 |
+
$fileName,
|
61 |
+
function_exists('json_format') ? json_format($json) : json_encode($json)
|
62 |
+
)) {
|
63 |
+
echo 'Done. Check '.realpath($fileName).' file.';
|
64 |
+
}
|
65 |
+
else {
|
66 |
+
echo 'Failed to write '.realpath($fileName).' to disk.';
|
67 |
+
}
|
vendor/mobiledetect/mobiledetectlib/namespaced/Detection/MobileDetect.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Little piece of PHP to make Mobile_Detect auto-loadable in PSR-0 compatible PHP autoloaders like
|
4 |
+
* the Symfony Universal ClassLoader by Fabien Potencier. Since PSR-0 handles an underscore in
|
5 |
+
* classnames (on the filesystem) as a slash, "Mobile_Detect.php" autoloaders will try to convert
|
6 |
+
* the classname and path to "Mobile\Detect.php". This script will ensure autoloading with:
|
7 |
+
* - Namespace: Detection
|
8 |
+
* - Classname: MobileDetect
|
9 |
+
* - Namespased: \Detection\MobileDetect
|
10 |
+
* - Autoload path: ./namespaced
|
11 |
+
* - Converted path: ./namespaced/Detection/MobileDetect.php
|
12 |
+
*
|
13 |
+
* Don't forget to use MobileDetect (instead of Mobile_Detect) as class in code when autoloading.
|
14 |
+
*
|
15 |
+
* Thanks to @WietseWind.
|
16 |
+
* For details please check: https://github.com/serbanghita/Mobile-Detect/pull/120
|
17 |
+
*/
|
18 |
+
|
19 |
+
namespace Detection;
|
20 |
+
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'Mobile_Detect.php';
|
21 |
+
|
22 |
+
class MobileDetect extends \Mobile_Detect {}
|
vendor/mobiledetect/mobiledetectlib/phpcs.xml
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<ruleset name="PSR1">
|
3 |
+
<description>The PSR-2 coding standard extended.</description>
|
4 |
+
<rule ref="PSR1">
|
5 |
+
<exclude name="PSR1.Classes.ClassDeclaration.MissingNamespace"/>
|
6 |
+
</rule>
|
7 |
+
<rule ref="Squiz">
|
8 |
+
<exclude name="Squiz.Classes.ValidClassName.NotCamelCaps"/>
|
9 |
+
<exclude name="Squiz.Files.FileExtension.ClassFound"/>
|
10 |
+
<exclude name="Squiz.Commenting.ClassComment.TagNotAllowed"/>
|
11 |
+
</rule>
|
12 |
+
<rule ref="Squiz.Strings.DoubleQuoteUsage">
|
13 |
+
<type>error</type>
|
14 |
+
</rule>
|
15 |
+
<rule ref="Generic.Files.LineLength">
|
16 |
+
<properties>
|
17 |
+
<property name="lineLimit" value="140"/>
|
18 |
+
</properties>
|
19 |
+
</rule>
|
20 |
+
</ruleset>
|