Version Description
- Fix: Make sure that order confirmation email is not being sent twice
- Improvement: Override on-hold-email to disallow triggering by third party plugins
- Improvement: Added WPML string translation (>
Download this release
Release Info
Developer | vendidero |
Plugin | WooCommerce Germanized |
Version | 2.2.1 |
Comparing to | |
See all releases |
Code changes from version 2.2.0 to 2.2.1
- assets/js/admin/settings-wpml.js +46 -0
- assets/js/admin/settings-wpml.min.js +1 -0
- i18n/languages/woocommerce-germanized-de_DE.mo +0 -0
- i18n/languages/woocommerce-germanized-de_DE.po +95 -58
- i18n/languages/woocommerce-germanized-de_DE_formal.mo +0 -0
- i18n/languages/woocommerce-germanized-de_DE_formal.po +95 -58
- includes/admin/class-wc-gzd-admin-legal-checkboxes.php +1 -1
- includes/admin/class-wc-gzd-admin-notices.php +54 -39
- includes/admin/class-wc-gzd-admin.php +42 -4
- includes/admin/settings/class-wc-gzd-settings-germanized.php +2 -0
- includes/admin/views/html-admin-email-text-option.php +10 -1
- includes/admin/views/html-notice-review.php +3 -1
- includes/admin/views/html-page-status-germanized.php +5 -0
- includes/class-wc-gzd-checkout.php +7 -1
- includes/class-wc-gzd-dependencies.php +1 -1
- includes/class-wc-gzd-emails.php +14 -13
- includes/class-wc-gzd-install.php +2 -4
- includes/class-wc-gzd-shortcodes.php +0 -4
- includes/compatibility/class-wc-gzd-compatibility-wpml.php +381 -5
- includes/emails/class-wc-gzd-email-customer-on-hold-order.php +61 -0
- includes/emails/class-wc-gzd-email-customer-processing-order.php +10 -0
- includes/wc-gzd-core-functions.php +106 -0
- readme.txt +8 -1
- woocommerce-germanized.php +8 -3
- wpml-config.xml +0 -2
assets/js/admin/settings-wpml.js
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* global */
|
2 |
+
window.germanized = window.germanized || {};
|
3 |
+
|
4 |
+
( function( $, wp, germanized ) {
|
5 |
+
|
6 |
+
germanized.settings_wpml = {
|
7 |
+
params: {},
|
8 |
+
|
9 |
+
init: function() {
|
10 |
+
this.params = wc_gzd_settings_wpml_params;
|
11 |
+
|
12 |
+
$.each( this.params.options, this.maybeUpdateDesc );
|
13 |
+
},
|
14 |
+
|
15 |
+
stripSlashes: function( str ) {
|
16 |
+
str = str.replace(/\\'/g, '\'');
|
17 |
+
str = str.replace(/\\"/g, '"');
|
18 |
+
str = str.replace(/\\0/g, '\0');
|
19 |
+
str = str.replace(/\\\\/g, '\\');
|
20 |
+
return str;
|
21 |
+
},
|
22 |
+
|
23 |
+
maybeUpdateDesc: function( index, id ) {
|
24 |
+
var $element = $( id ),
|
25 |
+
self = germanized.settings_wpml;
|
26 |
+
|
27 |
+
if ( $element.length > 0 ) {
|
28 |
+
if ( ! $element.data( 'wpml-notice' ) && $( id + '-attribute-container' ).length > 0 ) {
|
29 |
+
$element = $( id + '-attribute-container' );
|
30 |
+
}
|
31 |
+
|
32 |
+
if ( $element.data( 'wpml-notice' ) ) {
|
33 |
+
var str = $element.data( 'wpml-notice' );
|
34 |
+
str = self.stripSlashes( str );
|
35 |
+
|
36 |
+
$element.after( '<span class="wc-gzd-wpml-notice">' + str + '</span>' );
|
37 |
+
}
|
38 |
+
}
|
39 |
+
}
|
40 |
+
};
|
41 |
+
|
42 |
+
$( document ).ready( function() {
|
43 |
+
germanized.settings_wpml.init();
|
44 |
+
});
|
45 |
+
|
46 |
+
})( jQuery, wp, window.germanized );
|
assets/js/admin/settings-wpml.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
window.germanized=window.germanized||{},function(a,b,c){c.settings_wpml={params:{},init:function(){this.params=wc_gzd_settings_wpml_params,a.each(this.params.options,this.maybeUpdateDesc)},stripSlashes:function(a){return a=a.replace(/\\'/g,"'"),a=a.replace(/\\"/g,'"'),a=a.replace(/\\0/g,"\x00"),a=a.replace(/\\\\/g,"\\")},maybeUpdateDesc:function(b,d){var e=a(d),f=c.settings_wpml;if(e.length>0&&(!e.data("wpml-notice")&&a(d+"-attribute-container").length>0&&(e=a(d+"-attribute-container")),e.data("wpml-notice"))){var g=e.data("wpml-notice");g=f.stripSlashes(g),e.after('<span class="wc-gzd-wpml-notice">'+g+"</span>")}}},a(document).ready(function(){c.settings_wpml.init()})}(jQuery,wp,window.germanized);
|
i18n/languages/woocommerce-germanized-de_DE.mo
CHANGED
Binary file
|
i18n/languages/woocommerce-germanized-de_DE.po
CHANGED
@@ -2,8 +2,8 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce Germanized v1.5.1\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2018-
|
6 |
-
"PO-Revision-Date: 2018-
|
7 |
"Last-Translator: holzhannes <holzhannes@posteo.de>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: de_DE\n"
|
@@ -95,7 +95,7 @@ msgstr "l"
|
|
95 |
#: includes/abstracts/abstract-wc-gzd-product.php:264
|
96 |
#: includes/abstracts/abstract-wc-gzd-product.php:273
|
97 |
#: includes/wc-gzd-core-functions.php:148
|
98 |
-
#: includes/wc-gzd-template-functions.php:448 woocommerce-germanized.php:
|
99 |
msgid "incl. VAT"
|
100 |
msgstr "inkl. MwSt."
|
101 |
|
@@ -106,7 +106,7 @@ msgstr "exkl. MwSt."
|
|
106 |
|
107 |
# @ woocommerce-germanized
|
108 |
#: includes/abstracts/abstract-wc-gzd-product.php:266
|
109 |
-
#: includes/wc-gzd-core-functions.php:148 woocommerce-germanized.php:
|
110 |
#, php-format
|
111 |
msgid "incl. %s%% VAT"
|
112 |
msgstr "inkl. %s%% MwSt."
|
@@ -135,9 +135,9 @@ msgstr "Aktivierungscode erneut versenden"
|
|
135 |
# @ woocommerce-germanized
|
136 |
#: includes/admin/class-wc-gzd-admin-importer.php:36
|
137 |
#: includes/admin/class-wc-gzd-admin-importer.php:45
|
138 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
139 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
140 |
-
#: includes/class-wc-gzd-checkout.php:
|
141 |
#: includes/class-wc-gzd-coupon-helper.php:24
|
142 |
#: includes/class-wc-gzd-coupon-helper.php:33
|
143 |
#: includes/class-wc-gzd-customer-helper.php:19
|
@@ -408,53 +408,53 @@ msgstr "Willkommen bei WooCommerce Germanized"
|
|
408 |
msgid "Go to WooCommerce Germanized Settings"
|
409 |
msgstr "zu den WooCommerce Germanized Einstellungen"
|
410 |
|
411 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
412 |
msgid "Order confirmation manually sent to customer."
|
413 |
msgstr "Bestellbestätigung manuell an den Kunden versendet."
|
414 |
|
415 |
# @ woocommerce-germanized
|
416 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
417 |
msgid "Resend order confirmation"
|
418 |
msgstr "Bestellbestätigung erneut versenden"
|
419 |
|
420 |
# @ woocommerce-germanized
|
421 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
422 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:25
|
423 |
msgid "Germanized"
|
424 |
msgstr "Germanized"
|
425 |
|
426 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
427 |
msgid "Parcel Delivery Data Transfer:"
|
428 |
msgstr "Paketdienstleister Datenweitergabe:"
|
429 |
|
430 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
431 |
msgid "allowed"
|
432 |
msgstr "akzeptiert"
|
433 |
|
434 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
435 |
msgid "not allowed"
|
436 |
msgstr "nicht akzeptiert"
|
437 |
|
438 |
# @ woocommerce-germanized
|
439 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
440 |
msgid "Optional Email Content"
|
441 |
msgstr "Optionaler E-Mail Inhalt"
|
442 |
|
443 |
# @ woocommerce-germanized
|
444 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
445 |
msgid "Add content which will be replacing default page content within emails."
|
446 |
msgstr ""
|
447 |
"Fülle dieses Feld aus um einen abweichenden E-Mail Anhangstext für diese "
|
448 |
"Seite zu bestimmen."
|
449 |
|
450 |
# @ woocommerce-germanized
|
451 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
452 |
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:154
|
453 |
msgid "Optional Mini Description"
|
454 |
msgstr "Warenkorb Kurzbeschreibung"
|
455 |
|
456 |
# @ woocommerce-germanized
|
457 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
458 |
msgid ""
|
459 |
"This content will be shown as short product description within checkout and "
|
460 |
"emails."
|
@@ -2093,7 +2093,7 @@ msgstr ""
|
|
2093 |
"Produktdetails (Tabelle, Kundeninfos) von der Bestätigungsseite entfernen."
|
2094 |
|
2095 |
# @ woocommerce-germanized
|
2096 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2097 |
msgid ""
|
2098 |
"Sorry, but the new Virtual VAT rules cannot be applied to small business."
|
2099 |
msgstr ""
|
@@ -2365,7 +2365,6 @@ msgstr "Mehr über die Pro Version erfahren"
|
|
2365 |
|
2366 |
# @ woocommerce-germanized
|
2367 |
#: includes/admin/views/html-notice-pro.php:28
|
2368 |
-
#: includes/admin/views/html-notice-review.php:23
|
2369 |
#: includes/admin/views/html-notice-theme-incompatibility.php:20
|
2370 |
#: includes/admin/views/html-notice-theme-not-ready.php:20
|
2371 |
#: includes/admin/views/html-notice-theme-supported.php:22
|
@@ -2373,12 +2372,12 @@ msgid "Hide this notice"
|
|
2373 |
msgstr "Diese Nachricht ausblenden"
|
2374 |
|
2375 |
# @ woocommerce-germanized
|
2376 |
-
#: includes/admin/views/html-notice-review.php:
|
2377 |
msgid "Do you like WooCommerce Germanized?"
|
2378 |
msgstr "Gefällt dir WooCommerce Germanized?"
|
2379 |
|
2380 |
# @ woocommerce-germanized
|
2381 |
-
#: includes/admin/views/html-notice-review.php:
|
2382 |
msgid ""
|
2383 |
"If you like WooCommerce Germanized and our Plugin does a good job it would "
|
2384 |
"be great if you would write a review about WooCommerce Germanized on "
|
@@ -2390,15 +2389,23 @@ msgstr ""
|
|
2390 |
"veröffentlichen. Vielen Dank für deine Mühen!"
|
2391 |
|
2392 |
# @ woocommerce-germanized
|
2393 |
-
#: includes/admin/views/html-notice-review.php:
|
2394 |
msgid "Write review now"
|
2395 |
msgstr "jetzt Bewertung verfassen"
|
2396 |
|
2397 |
# @ woocommerce-germanized
|
2398 |
-
#: includes/admin/views/html-notice-review.php:
|
2399 |
msgid "Found Bugs?"
|
2400 |
msgstr "Bugs oder Wünsche melden"
|
2401 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2402 |
# @ woocommerce-germanized
|
2403 |
#: includes/admin/views/html-notice-theme-incompatibility.php:14
|
2404 |
msgid "Theme incompatibility found"
|
@@ -2722,12 +2729,33 @@ msgid "Renew VAT Rates"
|
|
2722 |
msgstr "EU MwSt.-Sätze erneuern"
|
2723 |
|
2724 |
# @ woocommerce-germanized
|
2725 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2726 |
msgid "Templates"
|
2727 |
msgstr "Templates"
|
2728 |
|
2729 |
# @ woocommerce-germanized
|
2730 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
2731 |
#, php-format
|
2732 |
msgid ""
|
2733 |
"<code>%s</code> version <strong style=\"color:red\">%s</strong> is out of "
|
@@ -2737,13 +2765,13 @@ msgstr ""
|
|
2737 |
"veraltet. Die Hauptversion ist %s"
|
2738 |
|
2739 |
# @ woocommerce-germanized
|
2740 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
2741 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
2742 |
msgid "Overrides"
|
2743 |
msgstr "Überschreibt"
|
2744 |
|
2745 |
# @ woocommerce-germanized
|
2746 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
2747 |
msgid "Learn how to update outdated templates"
|
2748 |
msgstr "Erfahre, wie du veraltete Templates aktualisierst"
|
2749 |
|
@@ -2776,8 +2804,8 @@ msgstr "jetzt upgraden"
|
|
2776 |
#: includes/api/class-wc-gzd-rest-customers-controller.php:144
|
2777 |
#: includes/api/class-wc-gzd-rest-orders-controller.php:161
|
2778 |
#: includes/api/class-wc-gzd-rest-orders-controller.php:168
|
2779 |
-
#: includes/class-wc-gzd-checkout.php:
|
2780 |
-
#: includes/class-wc-gzd-checkout.php:
|
2781 |
#: includes/class-wc-gzd-customer-helper.php:106
|
2782 |
#: includes/class-wc-gzd-customer-helper.php:114
|
2783 |
msgid "Title"
|
@@ -3064,10 +3092,10 @@ msgstr ""
|
|
3064 |
"Mail mit deinen Daten als Bestätigung."
|
3065 |
|
3066 |
# @ woocommerce-germanized
|
3067 |
-
#: includes/class-wc-gzd-checkout.php:
|
3068 |
-
#: includes/class-wc-gzd-checkout.php:
|
3069 |
-
#: includes/class-wc-gzd-checkout.php:
|
3070 |
-
#: includes/class-wc-gzd-checkout.php:
|
3071 |
#: includes/class-wc-gzd-customer-helper.php:108
|
3072 |
#: includes/class-wc-gzd-customer-helper.php:116
|
3073 |
#: includes/class-wc-gzd-revocation.php:41
|
@@ -3076,11 +3104,11 @@ msgid "Mr."
|
|
3076 |
msgstr "Herr"
|
3077 |
|
3078 |
# @ woocommerce-germanized
|
3079 |
-
#: includes/class-wc-gzd-checkout.php:
|
3080 |
-
#: includes/class-wc-gzd-checkout.php:
|
3081 |
-
#: includes/class-wc-gzd-checkout.php:
|
3082 |
-
#: includes/class-wc-gzd-checkout.php:
|
3083 |
-
#: includes/class-wc-gzd-checkout.php:
|
3084 |
#: includes/class-wc-gzd-customer-helper.php:108
|
3085 |
#: includes/class-wc-gzd-customer-helper.php:116
|
3086 |
#: includes/class-wc-gzd-revocation.php:42
|
@@ -3310,7 +3338,7 @@ msgstr ""
|
|
3310 |
"Dieser Text wird in die Bestellbestätigung eingefügt. Verwende "
|
3311 |
"{order_number}, {site_title} oder {order_date} als Platzhalter."
|
3312 |
|
3313 |
-
#: includes/class-wc-gzd-emails.php:
|
3314 |
msgid ""
|
3315 |
"Your order has been received and is now being processed. Your order details "
|
3316 |
"are shown below for your reference."
|
@@ -3318,18 +3346,18 @@ msgstr ""
|
|
3318 |
"Deine Bestellung ist eingegangen und wird nun bearbeitet. Die Einzelheiten "
|
3319 |
"deiner Bestellung kannst du der nachfolgenden Tabelle entnehmen."
|
3320 |
|
3321 |
-
#: includes/class-wc-gzd-emails.php:
|
3322 |
msgid "Someone requested a password reset for your account."
|
3323 |
msgstr ""
|
3324 |
"Jemand hat das Zurücksetzen des Passworts für deinen Account beantragt."
|
3325 |
|
3326 |
-
#: includes/class-wc-gzd-emails.php:
|
3327 |
#, php-format
|
3328 |
msgid "Thanks for creating an account on %s."
|
3329 |
msgstr "Danke, dass du ein Konto bei %s erstellt hast."
|
3330 |
|
3331 |
# @ woocommerce-germanized
|
3332 |
-
#: includes/class-wc-gzd-emails.php:
|
3333 |
msgctxt "revocation-form"
|
3334 |
msgid "Forward your Revocation online"
|
3335 |
msgstr "Deinen Widerruf online erklären"
|
@@ -3345,73 +3373,73 @@ msgstr ""
|
|
3345 |
"WooCommerce Germanized installierst. Vielen Dank!"
|
3346 |
|
3347 |
# @ woocommerce-germanized
|
3348 |
-
#: includes/class-wc-gzd-install.php:
|
3349 |
msgctxt "Page slug"
|
3350 |
msgid "data-security"
|
3351 |
msgstr "datenschutzbelehrung"
|
3352 |
|
3353 |
# @ woocommerce-germanized
|
3354 |
-
#: includes/class-wc-gzd-install.php:
|
3355 |
msgctxt "Page title"
|
3356 |
msgid "Data Security Statement"
|
3357 |
msgstr "Datenschutzbelehrung"
|
3358 |
|
3359 |
# @ woocommerce-germanized
|
3360 |
-
#: includes/class-wc-gzd-install.php:
|
3361 |
msgctxt "Page slug"
|
3362 |
msgid "imprint"
|
3363 |
msgstr "impressum"
|
3364 |
|
3365 |
# @ woocommerce-germanized
|
3366 |
-
#: includes/class-wc-gzd-install.php:
|
3367 |
msgctxt "Page title"
|
3368 |
msgid "Imprint"
|
3369 |
msgstr "Impressum"
|
3370 |
|
3371 |
# @ woocommerce-germanized
|
3372 |
-
#: includes/class-wc-gzd-install.php:
|
3373 |
msgctxt "Page slug"
|
3374 |
msgid "terms"
|
3375 |
msgstr "agb"
|
3376 |
|
3377 |
# @ woocommerce-germanized
|
3378 |
-
#: includes/class-wc-gzd-install.php:
|
3379 |
msgctxt "Page title"
|
3380 |
msgid "Terms & Conditions"
|
3381 |
msgstr "AGB"
|
3382 |
|
3383 |
# @ woocommerce-germanized
|
3384 |
-
#: includes/class-wc-gzd-install.php:
|
3385 |
msgctxt "Page slug"
|
3386 |
msgid "revocation"
|
3387 |
msgstr "widerrufsbelehrung"
|
3388 |
|
3389 |
# @ woocommerce-germanized
|
3390 |
-
#: includes/class-wc-gzd-install.php:
|
3391 |
msgctxt "Page title"
|
3392 |
msgid "Power of Revocation"
|
3393 |
msgstr "Widerrufsbelehrung"
|
3394 |
|
3395 |
# @ woocommerce-germanized
|
3396 |
-
#: includes/class-wc-gzd-install.php:
|
3397 |
msgctxt "Page slug"
|
3398 |
msgid "shipping-methods"
|
3399 |
msgstr "versandarten"
|
3400 |
|
3401 |
# @ woocommerce-germanized
|
3402 |
-
#: includes/class-wc-gzd-install.php:
|
3403 |
msgctxt "Page title"
|
3404 |
msgid "Shipping Methods"
|
3405 |
msgstr "Versandarten"
|
3406 |
|
3407 |
# @ woocommerce-germanized
|
3408 |
-
#: includes/class-wc-gzd-install.php:
|
3409 |
msgctxt "Page slug"
|
3410 |
msgid "payment-methods"
|
3411 |
msgstr "bezahlmoeglichkeiten"
|
3412 |
|
3413 |
# @ woocommerce-germanized
|
3414 |
-
#: includes/class-wc-gzd-install.php:
|
3415 |
msgctxt "Page title"
|
3416 |
msgid "Payment Methods"
|
3417 |
msgstr "Zahlungsarten"
|
@@ -4043,6 +4071,15 @@ msgid ""
|
|
4043 |
"Sale price labels used to mark old prices (e.g. Recommended Retail Price)"
|
4044 |
msgstr "Preishinweise zur Markierung von Streichpreisen"
|
4045 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4046 |
# @ woocommerce-germanized
|
4047 |
#: includes/emails/class-wc-gzd-email-customer-ekomi.php:24
|
4048 |
msgctxt "ekomi"
|
@@ -4119,16 +4156,16 @@ msgid "Payment received"
|
|
4119 |
msgstr "Zahlung erhalten"
|
4120 |
|
4121 |
# @ woocommerce-germanized
|
4122 |
-
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:
|
4123 |
msgid "Order Confirmation"
|
4124 |
msgstr "Bestellbestätigung"
|
4125 |
|
4126 |
-
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:
|
4127 |
msgid "Confirmation of your order {order_number}"
|
4128 |
msgstr "Bestätigung deiner Bestellung {order_number}"
|
4129 |
|
4130 |
# @ woocommerce
|
4131 |
-
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:
|
4132 |
msgid "Thank you for your order"
|
4133 |
msgstr "Vielen Dank für deine Bestellung"
|
4134 |
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce Germanized v1.5.1\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2018-10-11 13:10+0200\n"
|
6 |
+
"PO-Revision-Date: 2018-10-11 13:12+0200\n"
|
7 |
"Last-Translator: holzhannes <holzhannes@posteo.de>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: de_DE\n"
|
95 |
#: includes/abstracts/abstract-wc-gzd-product.php:264
|
96 |
#: includes/abstracts/abstract-wc-gzd-product.php:273
|
97 |
#: includes/wc-gzd-core-functions.php:148
|
98 |
+
#: includes/wc-gzd-template-functions.php:448 woocommerce-germanized.php:892
|
99 |
msgid "incl. VAT"
|
100 |
msgstr "inkl. MwSt."
|
101 |
|
106 |
|
107 |
# @ woocommerce-germanized
|
108 |
#: includes/abstracts/abstract-wc-gzd-product.php:266
|
109 |
+
#: includes/wc-gzd-core-functions.php:148 woocommerce-germanized.php:892
|
110 |
#, php-format
|
111 |
msgid "incl. %s%% VAT"
|
112 |
msgstr "inkl. %s%% MwSt."
|
135 |
# @ woocommerce-germanized
|
136 |
#: includes/admin/class-wc-gzd-admin-importer.php:36
|
137 |
#: includes/admin/class-wc-gzd-admin-importer.php:45
|
138 |
+
#: includes/admin/class-wc-gzd-admin.php:34
|
139 |
+
#: includes/admin/class-wc-gzd-admin.php:43
|
140 |
+
#: includes/class-wc-gzd-checkout.php:25 includes/class-wc-gzd-checkout.php:34
|
141 |
#: includes/class-wc-gzd-coupon-helper.php:24
|
142 |
#: includes/class-wc-gzd-coupon-helper.php:33
|
143 |
#: includes/class-wc-gzd-customer-helper.php:19
|
408 |
msgid "Go to WooCommerce Germanized Settings"
|
409 |
msgstr "zu den WooCommerce Germanized Einstellungen"
|
410 |
|
411 |
+
#: includes/admin/class-wc-gzd-admin.php:114
|
412 |
msgid "Order confirmation manually sent to customer."
|
413 |
msgstr "Bestellbestätigung manuell an den Kunden versendet."
|
414 |
|
415 |
# @ woocommerce-germanized
|
416 |
+
#: includes/admin/class-wc-gzd-admin.php:120
|
417 |
msgid "Resend order confirmation"
|
418 |
msgstr "Bestellbestätigung erneut versenden"
|
419 |
|
420 |
# @ woocommerce-germanized
|
421 |
+
#: includes/admin/class-wc-gzd-admin.php:129
|
422 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:25
|
423 |
msgid "Germanized"
|
424 |
msgstr "Germanized"
|
425 |
|
426 |
+
#: includes/admin/class-wc-gzd-admin.php:139
|
427 |
msgid "Parcel Delivery Data Transfer:"
|
428 |
msgstr "Paketdienstleister Datenweitergabe:"
|
429 |
|
430 |
+
#: includes/admin/class-wc-gzd-admin.php:140
|
431 |
msgid "allowed"
|
432 |
msgstr "akzeptiert"
|
433 |
|
434 |
+
#: includes/admin/class-wc-gzd-admin.php:140
|
435 |
msgid "not allowed"
|
436 |
msgstr "nicht akzeptiert"
|
437 |
|
438 |
# @ woocommerce-germanized
|
439 |
+
#: includes/admin/class-wc-gzd-admin.php:228
|
440 |
msgid "Optional Email Content"
|
441 |
msgstr "Optionaler E-Mail Inhalt"
|
442 |
|
443 |
# @ woocommerce-germanized
|
444 |
+
#: includes/admin/class-wc-gzd-admin.php:237
|
445 |
msgid "Add content which will be replacing default page content within emails."
|
446 |
msgstr ""
|
447 |
"Fülle dieses Feld aus um einen abweichenden E-Mail Anhangstext für diese "
|
448 |
"Seite zu bestimmen."
|
449 |
|
450 |
# @ woocommerce-germanized
|
451 |
+
#: includes/admin/class-wc-gzd-admin.php:247
|
452 |
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:154
|
453 |
msgid "Optional Mini Description"
|
454 |
msgstr "Warenkorb Kurzbeschreibung"
|
455 |
|
456 |
# @ woocommerce-germanized
|
457 |
+
#: includes/admin/class-wc-gzd-admin.php:264
|
458 |
msgid ""
|
459 |
"This content will be shown as short product description within checkout and "
|
460 |
"emails."
|
2093 |
"Produktdetails (Tabelle, Kundeninfos) von der Bestätigungsseite entfernen."
|
2094 |
|
2095 |
# @ woocommerce-germanized
|
2096 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:1290
|
2097 |
msgid ""
|
2098 |
"Sorry, but the new Virtual VAT rules cannot be applied to small business."
|
2099 |
msgstr ""
|
2365 |
|
2366 |
# @ woocommerce-germanized
|
2367 |
#: includes/admin/views/html-notice-pro.php:28
|
|
|
2368 |
#: includes/admin/views/html-notice-theme-incompatibility.php:20
|
2369 |
#: includes/admin/views/html-notice-theme-not-ready.php:20
|
2370 |
#: includes/admin/views/html-notice-theme-supported.php:22
|
2372 |
msgstr "Diese Nachricht ausblenden"
|
2373 |
|
2374 |
# @ woocommerce-germanized
|
2375 |
+
#: includes/admin/views/html-notice-review.php:15
|
2376 |
msgid "Do you like WooCommerce Germanized?"
|
2377 |
msgstr "Gefällt dir WooCommerce Germanized?"
|
2378 |
|
2379 |
# @ woocommerce-germanized
|
2380 |
+
#: includes/admin/views/html-notice-review.php:17
|
2381 |
msgid ""
|
2382 |
"If you like WooCommerce Germanized and our Plugin does a good job it would "
|
2383 |
"be great if you would write a review about WooCommerce Germanized on "
|
2389 |
"veröffentlichen. Vielen Dank für deine Mühen!"
|
2390 |
|
2391 |
# @ woocommerce-germanized
|
2392 |
+
#: includes/admin/views/html-notice-review.php:20
|
2393 |
msgid "Write review now"
|
2394 |
msgstr "jetzt Bewertung verfassen"
|
2395 |
|
2396 |
# @ woocommerce-germanized
|
2397 |
+
#: includes/admin/views/html-notice-review.php:21
|
2398 |
msgid "Found Bugs?"
|
2399 |
msgstr "Bugs oder Wünsche melden"
|
2400 |
|
2401 |
+
#: includes/admin/views/html-notice-review.php:24
|
2402 |
+
msgid "I've added my review"
|
2403 |
+
msgstr "Ich habe bereits bewertet"
|
2404 |
+
|
2405 |
+
#: includes/admin/views/html-notice-review.php:25
|
2406 |
+
msgid "Not now"
|
2407 |
+
msgstr "Nicht jetzt"
|
2408 |
+
|
2409 |
# @ woocommerce-germanized
|
2410 |
#: includes/admin/views/html-notice-theme-incompatibility.php:14
|
2411 |
msgid "Theme incompatibility found"
|
2729 |
msgstr "EU MwSt.-Sätze erneuern"
|
2730 |
|
2731 |
# @ woocommerce-germanized
|
2732 |
+
#: includes/admin/views/html-page-status-germanized.php:222
|
2733 |
+
#: includes/admin/views/html-page-status-germanized.php:224
|
2734 |
+
msgid "Disable notices"
|
2735 |
+
msgstr "Meldungen deaktivieren"
|
2736 |
+
|
2737 |
+
#: includes/admin/views/html-page-status-germanized.php:223
|
2738 |
+
msgid ""
|
2739 |
+
"Germanized might ask you to leave a review or notices you of using a "
|
2740 |
+
"possibly unsupported theme. If you want to disable these notices, check this "
|
2741 |
+
"option."
|
2742 |
+
msgstr ""
|
2743 |
+
"Germanized bittet dich um eine Bewertung oder macht dich darauf aufmerksam, "
|
2744 |
+
"wenn du ein nicht unterstütztes Theme verwendest. Wenn du diese Meldungen "
|
2745 |
+
"deaktivieren willst, verwende diese Option."
|
2746 |
+
|
2747 |
+
# @ woocommerce-germanized
|
2748 |
+
#: includes/admin/views/html-page-status-germanized.php:224
|
2749 |
+
msgid "Enable notices"
|
2750 |
+
msgstr "Meldungen aktivieren"
|
2751 |
+
|
2752 |
+
# @ woocommerce-germanized
|
2753 |
+
#: includes/admin/views/html-page-status-germanized.php:233
|
2754 |
msgid "Templates"
|
2755 |
msgstr "Templates"
|
2756 |
|
2757 |
# @ woocommerce-germanized
|
2758 |
+
#: includes/admin/views/html-page-status-germanized.php:278
|
2759 |
#, php-format
|
2760 |
msgid ""
|
2761 |
"<code>%s</code> version <strong style=\"color:red\">%s</strong> is out of "
|
2765 |
"veraltet. Die Hauptversion ist %s"
|
2766 |
|
2767 |
# @ woocommerce-germanized
|
2768 |
+
#: includes/admin/views/html-page-status-germanized.php:290
|
2769 |
+
#: includes/admin/views/html-page-status-germanized.php:299
|
2770 |
msgid "Overrides"
|
2771 |
msgstr "Überschreibt"
|
2772 |
|
2773 |
# @ woocommerce-germanized
|
2774 |
+
#: includes/admin/views/html-page-status-germanized.php:310
|
2775 |
msgid "Learn how to update outdated templates"
|
2776 |
msgstr "Erfahre, wie du veraltete Templates aktualisierst"
|
2777 |
|
2804 |
#: includes/api/class-wc-gzd-rest-customers-controller.php:144
|
2805 |
#: includes/api/class-wc-gzd-rest-orders-controller.php:161
|
2806 |
#: includes/api/class-wc-gzd-rest-orders-controller.php:168
|
2807 |
+
#: includes/class-wc-gzd-checkout.php:365
|
2808 |
+
#: includes/class-wc-gzd-checkout.php:375
|
2809 |
#: includes/class-wc-gzd-customer-helper.php:106
|
2810 |
#: includes/class-wc-gzd-customer-helper.php:114
|
2811 |
msgid "Title"
|
3092 |
"Mail mit deinen Daten als Bestätigung."
|
3093 |
|
3094 |
# @ woocommerce-germanized
|
3095 |
+
#: includes/class-wc-gzd-checkout.php:366
|
3096 |
+
#: includes/class-wc-gzd-checkout.php:374
|
3097 |
+
#: includes/class-wc-gzd-checkout.php:399
|
3098 |
+
#: includes/class-wc-gzd-checkout.php:625
|
3099 |
#: includes/class-wc-gzd-customer-helper.php:108
|
3100 |
#: includes/class-wc-gzd-customer-helper.php:116
|
3101 |
#: includes/class-wc-gzd-revocation.php:41
|
3104 |
msgstr "Herr"
|
3105 |
|
3106 |
# @ woocommerce-germanized
|
3107 |
+
#: includes/class-wc-gzd-checkout.php:366
|
3108 |
+
#: includes/class-wc-gzd-checkout.php:374
|
3109 |
+
#: includes/class-wc-gzd-checkout.php:400
|
3110 |
+
#: includes/class-wc-gzd-checkout.php:625
|
3111 |
+
#: includes/class-wc-gzd-checkout.php:634
|
3112 |
#: includes/class-wc-gzd-customer-helper.php:108
|
3113 |
#: includes/class-wc-gzd-customer-helper.php:116
|
3114 |
#: includes/class-wc-gzd-revocation.php:42
|
3338 |
"Dieser Text wird in die Bestellbestätigung eingefügt. Verwende "
|
3339 |
"{order_number}, {site_title} oder {order_date} als Platzhalter."
|
3340 |
|
3341 |
+
#: includes/class-wc-gzd-emails.php:126
|
3342 |
msgid ""
|
3343 |
"Your order has been received and is now being processed. Your order details "
|
3344 |
"are shown below for your reference."
|
3346 |
"Deine Bestellung ist eingegangen und wird nun bearbeitet. Die Einzelheiten "
|
3347 |
"deiner Bestellung kannst du der nachfolgenden Tabelle entnehmen."
|
3348 |
|
3349 |
+
#: includes/class-wc-gzd-emails.php:165
|
3350 |
msgid "Someone requested a password reset for your account."
|
3351 |
msgstr ""
|
3352 |
"Jemand hat das Zurücksetzen des Passworts für deinen Account beantragt."
|
3353 |
|
3354 |
+
#: includes/class-wc-gzd-emails.php:178
|
3355 |
#, php-format
|
3356 |
msgid "Thanks for creating an account on %s."
|
3357 |
msgstr "Danke, dass du ein Konto bei %s erstellt hast."
|
3358 |
|
3359 |
# @ woocommerce-germanized
|
3360 |
+
#: includes/class-wc-gzd-emails.php:629
|
3361 |
msgctxt "revocation-form"
|
3362 |
msgid "Forward your Revocation online"
|
3363 |
msgstr "Deinen Widerruf online erklären"
|
3373 |
"WooCommerce Germanized installierst. Vielen Dank!"
|
3374 |
|
3375 |
# @ woocommerce-germanized
|
3376 |
+
#: includes/class-wc-gzd-install.php:482
|
3377 |
msgctxt "Page slug"
|
3378 |
msgid "data-security"
|
3379 |
msgstr "datenschutzbelehrung"
|
3380 |
|
3381 |
# @ woocommerce-germanized
|
3382 |
+
#: includes/class-wc-gzd-install.php:483
|
3383 |
msgctxt "Page title"
|
3384 |
msgid "Data Security Statement"
|
3385 |
msgstr "Datenschutzbelehrung"
|
3386 |
|
3387 |
# @ woocommerce-germanized
|
3388 |
+
#: includes/class-wc-gzd-install.php:487
|
3389 |
msgctxt "Page slug"
|
3390 |
msgid "imprint"
|
3391 |
msgstr "impressum"
|
3392 |
|
3393 |
# @ woocommerce-germanized
|
3394 |
+
#: includes/class-wc-gzd-install.php:488
|
3395 |
msgctxt "Page title"
|
3396 |
msgid "Imprint"
|
3397 |
msgstr "Impressum"
|
3398 |
|
3399 |
# @ woocommerce-germanized
|
3400 |
+
#: includes/class-wc-gzd-install.php:492
|
3401 |
msgctxt "Page slug"
|
3402 |
msgid "terms"
|
3403 |
msgstr "agb"
|
3404 |
|
3405 |
# @ woocommerce-germanized
|
3406 |
+
#: includes/class-wc-gzd-install.php:493
|
3407 |
msgctxt "Page title"
|
3408 |
msgid "Terms & Conditions"
|
3409 |
msgstr "AGB"
|
3410 |
|
3411 |
# @ woocommerce-germanized
|
3412 |
+
#: includes/class-wc-gzd-install.php:497
|
3413 |
msgctxt "Page slug"
|
3414 |
msgid "revocation"
|
3415 |
msgstr "widerrufsbelehrung"
|
3416 |
|
3417 |
# @ woocommerce-germanized
|
3418 |
+
#: includes/class-wc-gzd-install.php:498
|
3419 |
msgctxt "Page title"
|
3420 |
msgid "Power of Revocation"
|
3421 |
msgstr "Widerrufsbelehrung"
|
3422 |
|
3423 |
# @ woocommerce-germanized
|
3424 |
+
#: includes/class-wc-gzd-install.php:502
|
3425 |
msgctxt "Page slug"
|
3426 |
msgid "shipping-methods"
|
3427 |
msgstr "versandarten"
|
3428 |
|
3429 |
# @ woocommerce-germanized
|
3430 |
+
#: includes/class-wc-gzd-install.php:503
|
3431 |
msgctxt "Page title"
|
3432 |
msgid "Shipping Methods"
|
3433 |
msgstr "Versandarten"
|
3434 |
|
3435 |
# @ woocommerce-germanized
|
3436 |
+
#: includes/class-wc-gzd-install.php:507
|
3437 |
msgctxt "Page slug"
|
3438 |
msgid "payment-methods"
|
3439 |
msgstr "bezahlmoeglichkeiten"
|
3440 |
|
3441 |
# @ woocommerce-germanized
|
3442 |
+
#: includes/class-wc-gzd-install.php:508
|
3443 |
msgctxt "Page title"
|
3444 |
msgid "Payment Methods"
|
3445 |
msgstr "Zahlungsarten"
|
4071 |
"Sale price labels used to mark old prices (e.g. Recommended Retail Price)"
|
4072 |
msgstr "Preishinweise zur Markierung von Streichpreisen"
|
4073 |
|
4074 |
+
#: includes/compatibility/class-wc-gzd-compatibility-wpml.php:215
|
4075 |
+
#, php-format
|
4076 |
+
msgid ""
|
4077 |
+
"This option may be translated via WPML. You may translate the original "
|
4078 |
+
"option (%s) %s to %s by adjusting the value above."
|
4079 |
+
msgstr ""
|
4080 |
+
"Diese Option kann per WPML übersetzt werden. Du kannst die originale Option "
|
4081 |
+
"(%s) %s auf %s übersetzen indem du die Übersetzung oben anpasst."
|
4082 |
+
|
4083 |
# @ woocommerce-germanized
|
4084 |
#: includes/emails/class-wc-gzd-email-customer-ekomi.php:24
|
4085 |
msgctxt "ekomi"
|
4156 |
msgstr "Zahlung erhalten"
|
4157 |
|
4158 |
# @ woocommerce-germanized
|
4159 |
+
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:35
|
4160 |
msgid "Order Confirmation"
|
4161 |
msgstr "Bestellbestätigung"
|
4162 |
|
4163 |
+
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:45
|
4164 |
msgid "Confirmation of your order {order_number}"
|
4165 |
msgstr "Bestätigung deiner Bestellung {order_number}"
|
4166 |
|
4167 |
# @ woocommerce
|
4168 |
+
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:55
|
4169 |
msgid "Thank you for your order"
|
4170 |
msgstr "Vielen Dank für deine Bestellung"
|
4171 |
|
i18n/languages/woocommerce-germanized-de_DE_formal.mo
CHANGED
Binary file
|
i18n/languages/woocommerce-germanized-de_DE_formal.po
CHANGED
@@ -2,8 +2,8 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce Germanized v1.5.1\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2018-
|
6 |
-
"PO-Revision-Date: 2018-
|
7 |
"Last-Translator: holzhannes <holzhannes@posteo.de>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: de_DE\n"
|
@@ -95,7 +95,7 @@ msgstr "l"
|
|
95 |
#: includes/abstracts/abstract-wc-gzd-product.php:264
|
96 |
#: includes/abstracts/abstract-wc-gzd-product.php:273
|
97 |
#: includes/wc-gzd-core-functions.php:148
|
98 |
-
#: includes/wc-gzd-template-functions.php:448 woocommerce-germanized.php:
|
99 |
msgid "incl. VAT"
|
100 |
msgstr "inkl. MwSt."
|
101 |
|
@@ -106,7 +106,7 @@ msgstr "exkl. MwSt."
|
|
106 |
|
107 |
# @ woocommerce-germanized
|
108 |
#: includes/abstracts/abstract-wc-gzd-product.php:266
|
109 |
-
#: includes/wc-gzd-core-functions.php:148 woocommerce-germanized.php:
|
110 |
#, php-format
|
111 |
msgid "incl. %s%% VAT"
|
112 |
msgstr "inkl. %s%% MwSt."
|
@@ -135,9 +135,9 @@ msgstr "Aktivierungscode erneut versenden"
|
|
135 |
# @ woocommerce-germanized
|
136 |
#: includes/admin/class-wc-gzd-admin-importer.php:36
|
137 |
#: includes/admin/class-wc-gzd-admin-importer.php:45
|
138 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
139 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
140 |
-
#: includes/class-wc-gzd-checkout.php:
|
141 |
#: includes/class-wc-gzd-coupon-helper.php:24
|
142 |
#: includes/class-wc-gzd-coupon-helper.php:33
|
143 |
#: includes/class-wc-gzd-customer-helper.php:19
|
@@ -408,53 +408,53 @@ msgstr "Willkommen bei WooCommerce Germanized"
|
|
408 |
msgid "Go to WooCommerce Germanized Settings"
|
409 |
msgstr "zu den WooCommerce Germanized Einstellungen"
|
410 |
|
411 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
412 |
msgid "Order confirmation manually sent to customer."
|
413 |
msgstr "Bestellbestätigung manuell an den Kunden versendet."
|
414 |
|
415 |
# @ woocommerce-germanized
|
416 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
417 |
msgid "Resend order confirmation"
|
418 |
msgstr "Bestellbestätigung erneut versenden"
|
419 |
|
420 |
# @ woocommerce-germanized
|
421 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
422 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:25
|
423 |
msgid "Germanized"
|
424 |
msgstr "Germanized"
|
425 |
|
426 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
427 |
msgid "Parcel Delivery Data Transfer:"
|
428 |
msgstr "Paketdienstleister Datenweitergabe:"
|
429 |
|
430 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
431 |
msgid "allowed"
|
432 |
msgstr "akzeptiert"
|
433 |
|
434 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
435 |
msgid "not allowed"
|
436 |
msgstr "nicht akzeptiert"
|
437 |
|
438 |
# @ woocommerce-germanized
|
439 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
440 |
msgid "Optional Email Content"
|
441 |
msgstr "Optionaler E-Mail Inhalt"
|
442 |
|
443 |
# @ woocommerce-germanized
|
444 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
445 |
msgid "Add content which will be replacing default page content within emails."
|
446 |
msgstr ""
|
447 |
"Fülle dieses Feld aus um einen abweichenden E-Mail Anhangstext für diese "
|
448 |
"Seite zu bestimmen."
|
449 |
|
450 |
# @ woocommerce-germanized
|
451 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
452 |
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:154
|
453 |
msgid "Optional Mini Description"
|
454 |
msgstr "Warenkorb Kurzbeschreibung"
|
455 |
|
456 |
# @ woocommerce-germanized
|
457 |
-
#: includes/admin/class-wc-gzd-admin.php:
|
458 |
msgid ""
|
459 |
"This content will be shown as short product description within checkout and "
|
460 |
"emails."
|
@@ -2093,7 +2093,7 @@ msgstr ""
|
|
2093 |
"Produktdetails (Tabelle, Kundeninfos) von der Bestätigungsseite entfernen."
|
2094 |
|
2095 |
# @ woocommerce-germanized
|
2096 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2097 |
msgid ""
|
2098 |
"Sorry, but the new Virtual VAT rules cannot be applied to small business."
|
2099 |
msgstr ""
|
@@ -2365,7 +2365,6 @@ msgstr "Mehr über die Pro Version erfahren"
|
|
2365 |
|
2366 |
# @ woocommerce-germanized
|
2367 |
#: includes/admin/views/html-notice-pro.php:28
|
2368 |
-
#: includes/admin/views/html-notice-review.php:23
|
2369 |
#: includes/admin/views/html-notice-theme-incompatibility.php:20
|
2370 |
#: includes/admin/views/html-notice-theme-not-ready.php:20
|
2371 |
#: includes/admin/views/html-notice-theme-supported.php:22
|
@@ -2373,12 +2372,12 @@ msgid "Hide this notice"
|
|
2373 |
msgstr "Diese Nachricht ausblenden"
|
2374 |
|
2375 |
# @ woocommerce-germanized
|
2376 |
-
#: includes/admin/views/html-notice-review.php:
|
2377 |
msgid "Do you like WooCommerce Germanized?"
|
2378 |
msgstr "Gefällt dir WooCommerce Germanized?"
|
2379 |
|
2380 |
# @ woocommerce-germanized
|
2381 |
-
#: includes/admin/views/html-notice-review.php:
|
2382 |
msgid ""
|
2383 |
"If you like WooCommerce Germanized and our Plugin does a good job it would "
|
2384 |
"be great if you would write a review about WooCommerce Germanized on "
|
@@ -2390,15 +2389,23 @@ msgstr ""
|
|
2390 |
"veröffentlichen. Vielen Dank für deine Mühen!"
|
2391 |
|
2392 |
# @ woocommerce-germanized
|
2393 |
-
#: includes/admin/views/html-notice-review.php:
|
2394 |
msgid "Write review now"
|
2395 |
msgstr "jetzt Bewertung verfassen"
|
2396 |
|
2397 |
# @ woocommerce-germanized
|
2398 |
-
#: includes/admin/views/html-notice-review.php:
|
2399 |
msgid "Found Bugs?"
|
2400 |
msgstr "Bugs oder Wünsche melden"
|
2401 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2402 |
# @ woocommerce-germanized
|
2403 |
#: includes/admin/views/html-notice-theme-incompatibility.php:14
|
2404 |
msgid "Theme incompatibility found"
|
@@ -2722,12 +2729,33 @@ msgid "Renew VAT Rates"
|
|
2722 |
msgstr "EU MwSt.-Sätze erneuern"
|
2723 |
|
2724 |
# @ woocommerce-germanized
|
2725 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2726 |
msgid "Templates"
|
2727 |
msgstr "Templates"
|
2728 |
|
2729 |
# @ woocommerce-germanized
|
2730 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
2731 |
#, php-format
|
2732 |
msgid ""
|
2733 |
"<code>%s</code> version <strong style=\"color:red\">%s</strong> is out of "
|
@@ -2737,13 +2765,13 @@ msgstr ""
|
|
2737 |
"veraltet. Die Hauptversion ist %s"
|
2738 |
|
2739 |
# @ woocommerce-germanized
|
2740 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
2741 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
2742 |
msgid "Overrides"
|
2743 |
msgstr "Überschreibt"
|
2744 |
|
2745 |
# @ woocommerce-germanized
|
2746 |
-
#: includes/admin/views/html-page-status-germanized.php:
|
2747 |
msgid "Learn how to update outdated templates"
|
2748 |
msgstr "Erfahre, wie du veraltete Templates aktualisierst"
|
2749 |
|
@@ -2776,8 +2804,8 @@ msgstr "jetzt upgraden"
|
|
2776 |
#: includes/api/class-wc-gzd-rest-customers-controller.php:144
|
2777 |
#: includes/api/class-wc-gzd-rest-orders-controller.php:161
|
2778 |
#: includes/api/class-wc-gzd-rest-orders-controller.php:168
|
2779 |
-
#: includes/class-wc-gzd-checkout.php:
|
2780 |
-
#: includes/class-wc-gzd-checkout.php:
|
2781 |
#: includes/class-wc-gzd-customer-helper.php:106
|
2782 |
#: includes/class-wc-gzd-customer-helper.php:114
|
2783 |
msgid "Title"
|
@@ -3064,10 +3092,10 @@ msgstr ""
|
|
3064 |
"Mail mit Ihren Daten als Bestätigung."
|
3065 |
|
3066 |
# @ woocommerce-germanized
|
3067 |
-
#: includes/class-wc-gzd-checkout.php:
|
3068 |
-
#: includes/class-wc-gzd-checkout.php:
|
3069 |
-
#: includes/class-wc-gzd-checkout.php:
|
3070 |
-
#: includes/class-wc-gzd-checkout.php:
|
3071 |
#: includes/class-wc-gzd-customer-helper.php:108
|
3072 |
#: includes/class-wc-gzd-customer-helper.php:116
|
3073 |
#: includes/class-wc-gzd-revocation.php:41
|
@@ -3076,11 +3104,11 @@ msgid "Mr."
|
|
3076 |
msgstr "Herr"
|
3077 |
|
3078 |
# @ woocommerce-germanized
|
3079 |
-
#: includes/class-wc-gzd-checkout.php:
|
3080 |
-
#: includes/class-wc-gzd-checkout.php:
|
3081 |
-
#: includes/class-wc-gzd-checkout.php:
|
3082 |
-
#: includes/class-wc-gzd-checkout.php:
|
3083 |
-
#: includes/class-wc-gzd-checkout.php:
|
3084 |
#: includes/class-wc-gzd-customer-helper.php:108
|
3085 |
#: includes/class-wc-gzd-customer-helper.php:116
|
3086 |
#: includes/class-wc-gzd-revocation.php:42
|
@@ -3312,7 +3340,7 @@ msgstr ""
|
|
3312 |
"Dieser Text wird in die Bestellbestätigung eingefügt. Verwende "
|
3313 |
"{order_number}, {site_title} oder {order_date} als Platzhalter."
|
3314 |
|
3315 |
-
#: includes/class-wc-gzd-emails.php:
|
3316 |
msgid ""
|
3317 |
"Your order has been received and is now being processed. Your order details "
|
3318 |
"are shown below for your reference."
|
@@ -3320,17 +3348,17 @@ msgstr ""
|
|
3320 |
"Ihre Bestellung ist eingegangen und wird nun bearbeitet. Die Einzelheiten "
|
3321 |
"Ihrer Bestellung können Sie der nachfolgenden Tabelle entnehmen."
|
3322 |
|
3323 |
-
#: includes/class-wc-gzd-emails.php:
|
3324 |
msgid "Someone requested a password reset for your account."
|
3325 |
msgstr "Jemand hat das Zurücksetzen des Passworts für Ihren Account beantragt."
|
3326 |
|
3327 |
-
#: includes/class-wc-gzd-emails.php:
|
3328 |
#, php-format
|
3329 |
msgid "Thanks for creating an account on %s."
|
3330 |
msgstr "Danke, dass Sie ein Konto bei %s erstellt haben."
|
3331 |
|
3332 |
# @ woocommerce-germanized
|
3333 |
-
#: includes/class-wc-gzd-emails.php:
|
3334 |
msgctxt "revocation-form"
|
3335 |
msgid "Forward your Revocation online"
|
3336 |
msgstr "Widerruf online erklären"
|
@@ -3346,73 +3374,73 @@ msgstr ""
|
|
3346 |
"WooCommerce Germanized installierst. Vielen Dank!"
|
3347 |
|
3348 |
# @ woocommerce-germanized
|
3349 |
-
#: includes/class-wc-gzd-install.php:
|
3350 |
msgctxt "Page slug"
|
3351 |
msgid "data-security"
|
3352 |
msgstr "datenschutzbelehrung"
|
3353 |
|
3354 |
# @ woocommerce-germanized
|
3355 |
-
#: includes/class-wc-gzd-install.php:
|
3356 |
msgctxt "Page title"
|
3357 |
msgid "Data Security Statement"
|
3358 |
msgstr "Datenschutzbelehrung"
|
3359 |
|
3360 |
# @ woocommerce-germanized
|
3361 |
-
#: includes/class-wc-gzd-install.php:
|
3362 |
msgctxt "Page slug"
|
3363 |
msgid "imprint"
|
3364 |
msgstr "impressum"
|
3365 |
|
3366 |
# @ woocommerce-germanized
|
3367 |
-
#: includes/class-wc-gzd-install.php:
|
3368 |
msgctxt "Page title"
|
3369 |
msgid "Imprint"
|
3370 |
msgstr "Impressum"
|
3371 |
|
3372 |
# @ woocommerce-germanized
|
3373 |
-
#: includes/class-wc-gzd-install.php:
|
3374 |
msgctxt "Page slug"
|
3375 |
msgid "terms"
|
3376 |
msgstr "agb"
|
3377 |
|
3378 |
# @ woocommerce-germanized
|
3379 |
-
#: includes/class-wc-gzd-install.php:
|
3380 |
msgctxt "Page title"
|
3381 |
msgid "Terms & Conditions"
|
3382 |
msgstr "AGB"
|
3383 |
|
3384 |
# @ woocommerce-germanized
|
3385 |
-
#: includes/class-wc-gzd-install.php:
|
3386 |
msgctxt "Page slug"
|
3387 |
msgid "revocation"
|
3388 |
msgstr "widerrufsbelehrung"
|
3389 |
|
3390 |
# @ woocommerce-germanized
|
3391 |
-
#: includes/class-wc-gzd-install.php:
|
3392 |
msgctxt "Page title"
|
3393 |
msgid "Power of Revocation"
|
3394 |
msgstr "Widerrufsbelehrung"
|
3395 |
|
3396 |
# @ woocommerce-germanized
|
3397 |
-
#: includes/class-wc-gzd-install.php:
|
3398 |
msgctxt "Page slug"
|
3399 |
msgid "shipping-methods"
|
3400 |
msgstr "versandarten"
|
3401 |
|
3402 |
# @ woocommerce-germanized
|
3403 |
-
#: includes/class-wc-gzd-install.php:
|
3404 |
msgctxt "Page title"
|
3405 |
msgid "Shipping Methods"
|
3406 |
msgstr "Versandarten"
|
3407 |
|
3408 |
# @ woocommerce-germanized
|
3409 |
-
#: includes/class-wc-gzd-install.php:
|
3410 |
msgctxt "Page slug"
|
3411 |
msgid "payment-methods"
|
3412 |
msgstr "bezahlmoeglichkeiten"
|
3413 |
|
3414 |
# @ woocommerce-germanized
|
3415 |
-
#: includes/class-wc-gzd-install.php:
|
3416 |
msgctxt "Page title"
|
3417 |
msgid "Payment Methods"
|
3418 |
msgstr "Zahlungsarten"
|
@@ -4045,6 +4073,15 @@ msgid ""
|
|
4045 |
"Sale price labels used to mark old prices (e.g. Recommended Retail Price)"
|
4046 |
msgstr "Preishinweise zur Markierung von Streichpreisen"
|
4047 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4048 |
# @ woocommerce-germanized
|
4049 |
#: includes/emails/class-wc-gzd-email-customer-ekomi.php:24
|
4050 |
msgctxt "ekomi"
|
@@ -4121,16 +4158,16 @@ msgid "Payment received"
|
|
4121 |
msgstr "Zahlung erhalten"
|
4122 |
|
4123 |
# @ woocommerce-germanized
|
4124 |
-
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:
|
4125 |
msgid "Order Confirmation"
|
4126 |
msgstr "Bestellbestätigung"
|
4127 |
|
4128 |
-
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:
|
4129 |
msgid "Confirmation of your order {order_number}"
|
4130 |
msgstr "Bestätigung Ihrer Bestellung {order_number}"
|
4131 |
|
4132 |
# @ woocommerce
|
4133 |
-
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:
|
4134 |
msgid "Thank you for your order"
|
4135 |
msgstr "Vielen Dank für Ihre Bestellung"
|
4136 |
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce Germanized v1.5.1\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2018-10-11 13:12+0200\n"
|
6 |
+
"PO-Revision-Date: 2018-10-11 13:12+0200\n"
|
7 |
"Last-Translator: holzhannes <holzhannes@posteo.de>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: de_DE\n"
|
95 |
#: includes/abstracts/abstract-wc-gzd-product.php:264
|
96 |
#: includes/abstracts/abstract-wc-gzd-product.php:273
|
97 |
#: includes/wc-gzd-core-functions.php:148
|
98 |
+
#: includes/wc-gzd-template-functions.php:448 woocommerce-germanized.php:892
|
99 |
msgid "incl. VAT"
|
100 |
msgstr "inkl. MwSt."
|
101 |
|
106 |
|
107 |
# @ woocommerce-germanized
|
108 |
#: includes/abstracts/abstract-wc-gzd-product.php:266
|
109 |
+
#: includes/wc-gzd-core-functions.php:148 woocommerce-germanized.php:892
|
110 |
#, php-format
|
111 |
msgid "incl. %s%% VAT"
|
112 |
msgstr "inkl. %s%% MwSt."
|
135 |
# @ woocommerce-germanized
|
136 |
#: includes/admin/class-wc-gzd-admin-importer.php:36
|
137 |
#: includes/admin/class-wc-gzd-admin-importer.php:45
|
138 |
+
#: includes/admin/class-wc-gzd-admin.php:34
|
139 |
+
#: includes/admin/class-wc-gzd-admin.php:43
|
140 |
+
#: includes/class-wc-gzd-checkout.php:25 includes/class-wc-gzd-checkout.php:34
|
141 |
#: includes/class-wc-gzd-coupon-helper.php:24
|
142 |
#: includes/class-wc-gzd-coupon-helper.php:33
|
143 |
#: includes/class-wc-gzd-customer-helper.php:19
|
408 |
msgid "Go to WooCommerce Germanized Settings"
|
409 |
msgstr "zu den WooCommerce Germanized Einstellungen"
|
410 |
|
411 |
+
#: includes/admin/class-wc-gzd-admin.php:114
|
412 |
msgid "Order confirmation manually sent to customer."
|
413 |
msgstr "Bestellbestätigung manuell an den Kunden versendet."
|
414 |
|
415 |
# @ woocommerce-germanized
|
416 |
+
#: includes/admin/class-wc-gzd-admin.php:120
|
417 |
msgid "Resend order confirmation"
|
418 |
msgstr "Bestellbestätigung erneut versenden"
|
419 |
|
420 |
# @ woocommerce-germanized
|
421 |
+
#: includes/admin/class-wc-gzd-admin.php:129
|
422 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:25
|
423 |
msgid "Germanized"
|
424 |
msgstr "Germanized"
|
425 |
|
426 |
+
#: includes/admin/class-wc-gzd-admin.php:139
|
427 |
msgid "Parcel Delivery Data Transfer:"
|
428 |
msgstr "Paketdienstleister Datenweitergabe:"
|
429 |
|
430 |
+
#: includes/admin/class-wc-gzd-admin.php:140
|
431 |
msgid "allowed"
|
432 |
msgstr "akzeptiert"
|
433 |
|
434 |
+
#: includes/admin/class-wc-gzd-admin.php:140
|
435 |
msgid "not allowed"
|
436 |
msgstr "nicht akzeptiert"
|
437 |
|
438 |
# @ woocommerce-germanized
|
439 |
+
#: includes/admin/class-wc-gzd-admin.php:228
|
440 |
msgid "Optional Email Content"
|
441 |
msgstr "Optionaler E-Mail Inhalt"
|
442 |
|
443 |
# @ woocommerce-germanized
|
444 |
+
#: includes/admin/class-wc-gzd-admin.php:237
|
445 |
msgid "Add content which will be replacing default page content within emails."
|
446 |
msgstr ""
|
447 |
"Fülle dieses Feld aus um einen abweichenden E-Mail Anhangstext für diese "
|
448 |
"Seite zu bestimmen."
|
449 |
|
450 |
# @ woocommerce-germanized
|
451 |
+
#: includes/admin/class-wc-gzd-admin.php:247
|
452 |
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:154
|
453 |
msgid "Optional Mini Description"
|
454 |
msgstr "Warenkorb Kurzbeschreibung"
|
455 |
|
456 |
# @ woocommerce-germanized
|
457 |
+
#: includes/admin/class-wc-gzd-admin.php:264
|
458 |
msgid ""
|
459 |
"This content will be shown as short product description within checkout and "
|
460 |
"emails."
|
2093 |
"Produktdetails (Tabelle, Kundeninfos) von der Bestätigungsseite entfernen."
|
2094 |
|
2095 |
# @ woocommerce-germanized
|
2096 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:1290
|
2097 |
msgid ""
|
2098 |
"Sorry, but the new Virtual VAT rules cannot be applied to small business."
|
2099 |
msgstr ""
|
2365 |
|
2366 |
# @ woocommerce-germanized
|
2367 |
#: includes/admin/views/html-notice-pro.php:28
|
|
|
2368 |
#: includes/admin/views/html-notice-theme-incompatibility.php:20
|
2369 |
#: includes/admin/views/html-notice-theme-not-ready.php:20
|
2370 |
#: includes/admin/views/html-notice-theme-supported.php:22
|
2372 |
msgstr "Diese Nachricht ausblenden"
|
2373 |
|
2374 |
# @ woocommerce-germanized
|
2375 |
+
#: includes/admin/views/html-notice-review.php:15
|
2376 |
msgid "Do you like WooCommerce Germanized?"
|
2377 |
msgstr "Gefällt dir WooCommerce Germanized?"
|
2378 |
|
2379 |
# @ woocommerce-germanized
|
2380 |
+
#: includes/admin/views/html-notice-review.php:17
|
2381 |
msgid ""
|
2382 |
"If you like WooCommerce Germanized and our Plugin does a good job it would "
|
2383 |
"be great if you would write a review about WooCommerce Germanized on "
|
2389 |
"veröffentlichen. Vielen Dank für deine Mühen!"
|
2390 |
|
2391 |
# @ woocommerce-germanized
|
2392 |
+
#: includes/admin/views/html-notice-review.php:20
|
2393 |
msgid "Write review now"
|
2394 |
msgstr "jetzt Bewertung verfassen"
|
2395 |
|
2396 |
# @ woocommerce-germanized
|
2397 |
+
#: includes/admin/views/html-notice-review.php:21
|
2398 |
msgid "Found Bugs?"
|
2399 |
msgstr "Bugs oder Wünsche melden"
|
2400 |
|
2401 |
+
#: includes/admin/views/html-notice-review.php:24
|
2402 |
+
msgid "I've added my review"
|
2403 |
+
msgstr "Ich habe bereits bewertet"
|
2404 |
+
|
2405 |
+
#: includes/admin/views/html-notice-review.php:25
|
2406 |
+
msgid "Not now"
|
2407 |
+
msgstr "Nicht jetzt"
|
2408 |
+
|
2409 |
# @ woocommerce-germanized
|
2410 |
#: includes/admin/views/html-notice-theme-incompatibility.php:14
|
2411 |
msgid "Theme incompatibility found"
|
2729 |
msgstr "EU MwSt.-Sätze erneuern"
|
2730 |
|
2731 |
# @ woocommerce-germanized
|
2732 |
+
#: includes/admin/views/html-page-status-germanized.php:222
|
2733 |
+
#: includes/admin/views/html-page-status-germanized.php:224
|
2734 |
+
msgid "Disable notices"
|
2735 |
+
msgstr "Meldungen deaktivieren"
|
2736 |
+
|
2737 |
+
#: includes/admin/views/html-page-status-germanized.php:223
|
2738 |
+
msgid ""
|
2739 |
+
"Germanized might ask you to leave a review or notices you of using a "
|
2740 |
+
"possibly unsupported theme. If you want to disable these notices, check this "
|
2741 |
+
"option."
|
2742 |
+
msgstr ""
|
2743 |
+
"Germanized bittet dich um eine Bewertung oder macht dich darauf aufmerksam, "
|
2744 |
+
"wenn du ein nicht unterstütztes Theme verwendest. Wenn du diese Meldungen "
|
2745 |
+
"deaktivieren willst, verwende diese Option."
|
2746 |
+
|
2747 |
+
# @ woocommerce-germanized
|
2748 |
+
#: includes/admin/views/html-page-status-germanized.php:224
|
2749 |
+
msgid "Enable notices"
|
2750 |
+
msgstr "Meldungen aktivieren"
|
2751 |
+
|
2752 |
+
# @ woocommerce-germanized
|
2753 |
+
#: includes/admin/views/html-page-status-germanized.php:233
|
2754 |
msgid "Templates"
|
2755 |
msgstr "Templates"
|
2756 |
|
2757 |
# @ woocommerce-germanized
|
2758 |
+
#: includes/admin/views/html-page-status-germanized.php:278
|
2759 |
#, php-format
|
2760 |
msgid ""
|
2761 |
"<code>%s</code> version <strong style=\"color:red\">%s</strong> is out of "
|
2765 |
"veraltet. Die Hauptversion ist %s"
|
2766 |
|
2767 |
# @ woocommerce-germanized
|
2768 |
+
#: includes/admin/views/html-page-status-germanized.php:290
|
2769 |
+
#: includes/admin/views/html-page-status-germanized.php:299
|
2770 |
msgid "Overrides"
|
2771 |
msgstr "Überschreibt"
|
2772 |
|
2773 |
# @ woocommerce-germanized
|
2774 |
+
#: includes/admin/views/html-page-status-germanized.php:310
|
2775 |
msgid "Learn how to update outdated templates"
|
2776 |
msgstr "Erfahre, wie du veraltete Templates aktualisierst"
|
2777 |
|
2804 |
#: includes/api/class-wc-gzd-rest-customers-controller.php:144
|
2805 |
#: includes/api/class-wc-gzd-rest-orders-controller.php:161
|
2806 |
#: includes/api/class-wc-gzd-rest-orders-controller.php:168
|
2807 |
+
#: includes/class-wc-gzd-checkout.php:365
|
2808 |
+
#: includes/class-wc-gzd-checkout.php:375
|
2809 |
#: includes/class-wc-gzd-customer-helper.php:106
|
2810 |
#: includes/class-wc-gzd-customer-helper.php:114
|
2811 |
msgid "Title"
|
3092 |
"Mail mit Ihren Daten als Bestätigung."
|
3093 |
|
3094 |
# @ woocommerce-germanized
|
3095 |
+
#: includes/class-wc-gzd-checkout.php:366
|
3096 |
+
#: includes/class-wc-gzd-checkout.php:374
|
3097 |
+
#: includes/class-wc-gzd-checkout.php:399
|
3098 |
+
#: includes/class-wc-gzd-checkout.php:625
|
3099 |
#: includes/class-wc-gzd-customer-helper.php:108
|
3100 |
#: includes/class-wc-gzd-customer-helper.php:116
|
3101 |
#: includes/class-wc-gzd-revocation.php:41
|
3104 |
msgstr "Herr"
|
3105 |
|
3106 |
# @ woocommerce-germanized
|
3107 |
+
#: includes/class-wc-gzd-checkout.php:366
|
3108 |
+
#: includes/class-wc-gzd-checkout.php:374
|
3109 |
+
#: includes/class-wc-gzd-checkout.php:400
|
3110 |
+
#: includes/class-wc-gzd-checkout.php:625
|
3111 |
+
#: includes/class-wc-gzd-checkout.php:634
|
3112 |
#: includes/class-wc-gzd-customer-helper.php:108
|
3113 |
#: includes/class-wc-gzd-customer-helper.php:116
|
3114 |
#: includes/class-wc-gzd-revocation.php:42
|
3340 |
"Dieser Text wird in die Bestellbestätigung eingefügt. Verwende "
|
3341 |
"{order_number}, {site_title} oder {order_date} als Platzhalter."
|
3342 |
|
3343 |
+
#: includes/class-wc-gzd-emails.php:126
|
3344 |
msgid ""
|
3345 |
"Your order has been received and is now being processed. Your order details "
|
3346 |
"are shown below for your reference."
|
3348 |
"Ihre Bestellung ist eingegangen und wird nun bearbeitet. Die Einzelheiten "
|
3349 |
"Ihrer Bestellung können Sie der nachfolgenden Tabelle entnehmen."
|
3350 |
|
3351 |
+
#: includes/class-wc-gzd-emails.php:165
|
3352 |
msgid "Someone requested a password reset for your account."
|
3353 |
msgstr "Jemand hat das Zurücksetzen des Passworts für Ihren Account beantragt."
|
3354 |
|
3355 |
+
#: includes/class-wc-gzd-emails.php:178
|
3356 |
#, php-format
|
3357 |
msgid "Thanks for creating an account on %s."
|
3358 |
msgstr "Danke, dass Sie ein Konto bei %s erstellt haben."
|
3359 |
|
3360 |
# @ woocommerce-germanized
|
3361 |
+
#: includes/class-wc-gzd-emails.php:629
|
3362 |
msgctxt "revocation-form"
|
3363 |
msgid "Forward your Revocation online"
|
3364 |
msgstr "Widerruf online erklären"
|
3374 |
"WooCommerce Germanized installierst. Vielen Dank!"
|
3375 |
|
3376 |
# @ woocommerce-germanized
|
3377 |
+
#: includes/class-wc-gzd-install.php:482
|
3378 |
msgctxt "Page slug"
|
3379 |
msgid "data-security"
|
3380 |
msgstr "datenschutzbelehrung"
|
3381 |
|
3382 |
# @ woocommerce-germanized
|
3383 |
+
#: includes/class-wc-gzd-install.php:483
|
3384 |
msgctxt "Page title"
|
3385 |
msgid "Data Security Statement"
|
3386 |
msgstr "Datenschutzbelehrung"
|
3387 |
|
3388 |
# @ woocommerce-germanized
|
3389 |
+
#: includes/class-wc-gzd-install.php:487
|
3390 |
msgctxt "Page slug"
|
3391 |
msgid "imprint"
|
3392 |
msgstr "impressum"
|
3393 |
|
3394 |
# @ woocommerce-germanized
|
3395 |
+
#: includes/class-wc-gzd-install.php:488
|
3396 |
msgctxt "Page title"
|
3397 |
msgid "Imprint"
|
3398 |
msgstr "Impressum"
|
3399 |
|
3400 |
# @ woocommerce-germanized
|
3401 |
+
#: includes/class-wc-gzd-install.php:492
|
3402 |
msgctxt "Page slug"
|
3403 |
msgid "terms"
|
3404 |
msgstr "agb"
|
3405 |
|
3406 |
# @ woocommerce-germanized
|
3407 |
+
#: includes/class-wc-gzd-install.php:493
|
3408 |
msgctxt "Page title"
|
3409 |
msgid "Terms & Conditions"
|
3410 |
msgstr "AGB"
|
3411 |
|
3412 |
# @ woocommerce-germanized
|
3413 |
+
#: includes/class-wc-gzd-install.php:497
|
3414 |
msgctxt "Page slug"
|
3415 |
msgid "revocation"
|
3416 |
msgstr "widerrufsbelehrung"
|
3417 |
|
3418 |
# @ woocommerce-germanized
|
3419 |
+
#: includes/class-wc-gzd-install.php:498
|
3420 |
msgctxt "Page title"
|
3421 |
msgid "Power of Revocation"
|
3422 |
msgstr "Widerrufsbelehrung"
|
3423 |
|
3424 |
# @ woocommerce-germanized
|
3425 |
+
#: includes/class-wc-gzd-install.php:502
|
3426 |
msgctxt "Page slug"
|
3427 |
msgid "shipping-methods"
|
3428 |
msgstr "versandarten"
|
3429 |
|
3430 |
# @ woocommerce-germanized
|
3431 |
+
#: includes/class-wc-gzd-install.php:503
|
3432 |
msgctxt "Page title"
|
3433 |
msgid "Shipping Methods"
|
3434 |
msgstr "Versandarten"
|
3435 |
|
3436 |
# @ woocommerce-germanized
|
3437 |
+
#: includes/class-wc-gzd-install.php:507
|
3438 |
msgctxt "Page slug"
|
3439 |
msgid "payment-methods"
|
3440 |
msgstr "bezahlmoeglichkeiten"
|
3441 |
|
3442 |
# @ woocommerce-germanized
|
3443 |
+
#: includes/class-wc-gzd-install.php:508
|
3444 |
msgctxt "Page title"
|
3445 |
msgid "Payment Methods"
|
3446 |
msgstr "Zahlungsarten"
|
4073 |
"Sale price labels used to mark old prices (e.g. Recommended Retail Price)"
|
4074 |
msgstr "Preishinweise zur Markierung von Streichpreisen"
|
4075 |
|
4076 |
+
#: includes/compatibility/class-wc-gzd-compatibility-wpml.php:215
|
4077 |
+
#, php-format
|
4078 |
+
msgid ""
|
4079 |
+
"This option may be translated via WPML. You may translate the original "
|
4080 |
+
"option (%s) %s to %s by adjusting the value above."
|
4081 |
+
msgstr ""
|
4082 |
+
"Diese Option kann per WPML übersetzt werden. Du kannst die originale Option "
|
4083 |
+
"(%s) %s auf %s übersetzen indem du die Übersetzung oben anpasst."
|
4084 |
+
|
4085 |
# @ woocommerce-germanized
|
4086 |
#: includes/emails/class-wc-gzd-email-customer-ekomi.php:24
|
4087 |
msgctxt "ekomi"
|
4158 |
msgstr "Zahlung erhalten"
|
4159 |
|
4160 |
# @ woocommerce-germanized
|
4161 |
+
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:35
|
4162 |
msgid "Order Confirmation"
|
4163 |
msgstr "Bestellbestätigung"
|
4164 |
|
4165 |
+
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:45
|
4166 |
msgid "Confirmation of your order {order_number}"
|
4167 |
msgstr "Bestätigung Ihrer Bestellung {order_number}"
|
4168 |
|
4169 |
# @ woocommerce
|
4170 |
+
#: includes/emails/class-wc-gzd-email-customer-processing-order.php:55
|
4171 |
msgid "Thank you for your order"
|
4172 |
msgstr "Vielen Dank für Ihre Bestellung"
|
4173 |
|
includes/admin/class-wc-gzd-admin-legal-checkboxes.php
CHANGED
@@ -58,7 +58,7 @@ class WC_GZD_Admin_Legal_Checkboxes {
|
|
58 |
|
59 |
foreach( $fields as $key => $field ) {
|
60 |
if ( isset( $field['id'] ) && $checkbox->get_form_field_id( 'label' ) === $field['id'] ) {
|
61 |
-
$fields[$key]['desc'] = $field['desc'] . '<span class="gzd-small-desc">' . __( 'e.g. include your privacy policy: {data_security_page}Privacy Policy{/data_security_page}' ) . '</span>';
|
62 |
}
|
63 |
}
|
64 |
|
58 |
|
59 |
foreach( $fields as $key => $field ) {
|
60 |
if ( isset( $field['id'] ) && $checkbox->get_form_field_id( 'label' ) === $field['id'] ) {
|
61 |
+
$fields[$key]['desc'] = $field['desc'] . '<span class="gzd-small-desc">' . __( 'e.g. include your privacy policy: {data_security_page}Privacy Policy{/data_security_page}', 'woocommerce-germanized' ) . '</span>';
|
62 |
}
|
63 |
}
|
64 |
|
includes/admin/class-wc-gzd-admin-notices.php
CHANGED
@@ -44,39 +44,65 @@ class WC_GZD_Admin_Notices {
|
|
44 |
add_action( 'admin_print_styles', array( $this, 'add_notices' ), 1 );
|
45 |
}
|
46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
/**
|
48 |
* Add notices + styles if needed.
|
49 |
*/
|
50 |
public function add_notices() {
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
59 |
-
|
60 |
-
if ( ! get_option( '_wc_gzd_hide_theme_notice' ) ) {
|
61 |
|
62 |
-
|
|
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
elseif ( $this->is_theme_supported_by_pro() )
|
67 |
-
add_action( 'admin_notices', array( $this, 'theme_supported_notice' ) );
|
68 |
-
elseif ( ! $this->is_theme_ready() )
|
69 |
-
add_action( 'admin_notices', array( $this, 'theme_not_ready_notice' ) );
|
70 |
|
|
|
71 |
}
|
72 |
-
|
73 |
}
|
74 |
|
75 |
-
if ( ! get_option( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
add_action( 'admin_notices', array( $this, 'add_review_notice' ) );
|
|
|
77 |
|
78 |
-
if ( ! get_option( '_wc_gzd_hide_pro_notice' ) && ! WC_germanized()->is_pro() )
|
79 |
add_action( 'admin_notices', array( $this, 'add_pro_notice' ) );
|
|
|
80 |
|
81 |
if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page' ] == 'wc-gzd-about' || get_option( '_wc_gzd_needs_pages' ) ) {
|
82 |
remove_action( 'admin_notices', array( $this, 'theme_incompatibility_notice' ) );
|
@@ -108,30 +134,28 @@ class WC_GZD_Admin_Notices {
|
|
108 |
}
|
109 |
|
110 |
public function check_notice_hide() {
|
|
|
|
|
|
|
111 |
|
112 |
$notices = array(
|
113 |
-
'wc-gzd-hide-theme-notice',
|
|
|
114 |
'wc-gzd-hide-review-notice',
|
115 |
'wc-gzd-hide-pro-notice'
|
116 |
);
|
117 |
|
118 |
if ( ! empty( $notices ) ) {
|
119 |
-
|
120 |
foreach ( $notices as $notice ) {
|
121 |
-
|
122 |
-
if ( isset( $_GET[ 'notice' ] ) && $_GET[ 'notice' ] == $notice && isset( $_GET['nonce'] ) && check_admin_referer( $notice, 'nonce' ) ) {
|
123 |
-
|
124 |
update_option( '_' . str_replace( '-', '_', $notice ) , true );
|
125 |
$redirect_url = remove_query_arg( 'notice', remove_query_arg( 'nonce', $_SERVER['REQUEST_URI'] ) );
|
|
|
126 |
wp_safe_redirect( $redirect_url );
|
127 |
exit();
|
128 |
-
|
129 |
}
|
130 |
-
|
131 |
}
|
132 |
-
|
133 |
}
|
134 |
-
|
135 |
}
|
136 |
|
137 |
public function theme_incompatibility_notice() {
|
@@ -159,7 +183,6 @@ class WC_GZD_Admin_Notices {
|
|
159 |
}
|
160 |
|
161 |
public function is_theme_supported_by_pro() {
|
162 |
-
|
163 |
$supporting = array(
|
164 |
'enfold',
|
165 |
'flatsome',
|
@@ -177,30 +200,24 @@ class WC_GZD_Admin_Notices {
|
|
177 |
}
|
178 |
|
179 |
public function add_review_notice() {
|
180 |
-
|
181 |
if ( get_option( 'woocommerce_gzd_activation_date' ) )
|
182 |
-
$this->queue_notice(
|
183 |
-
|
184 |
}
|
185 |
|
186 |
public function add_pro_notice() {
|
187 |
-
|
188 |
if ( get_option( 'woocommerce_gzd_activation_date' ) )
|
189 |
$this->queue_notice( 4, 'html-notice-pro.php' );
|
190 |
}
|
191 |
|
192 |
public function queue_notice( $days, $view ) {
|
193 |
-
|
194 |
if ( get_option( 'woocommerce_gzd_activation_date' ) ) {
|
195 |
|
196 |
$activation_date = ( get_option( 'woocommerce_gzd_activation_date' ) ? get_option( 'woocommerce_gzd_activation_date' ) : date( 'Y-m-d' ) );
|
197 |
-
$diff
|
198 |
|
199 |
-
if ( $diff[
|
200 |
include( 'views/' . $view );
|
201 |
-
|
202 |
}
|
203 |
-
|
204 |
}
|
205 |
|
206 |
/**
|
@@ -209,7 +226,6 @@ class WC_GZD_Admin_Notices {
|
|
209 |
* @return boolean
|
210 |
*/
|
211 |
public function is_theme_compatible() {
|
212 |
-
|
213 |
$templates_to_check = WC_germanized()->get_critical_templates();
|
214 |
|
215 |
if ( ! empty( $templates_to_check ) ) {
|
@@ -227,7 +243,6 @@ class WC_GZD_Admin_Notices {
|
|
227 |
return false;
|
228 |
}
|
229 |
}
|
230 |
-
|
231 |
return true;
|
232 |
}
|
233 |
}
|
44 |
add_action( 'admin_print_styles', array( $this, 'add_notices' ), 1 );
|
45 |
}
|
46 |
|
47 |
+
public function enable_notices() {
|
48 |
+
$enabled = true;
|
49 |
+
|
50 |
+
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
51 |
+
$enabled = false;
|
52 |
+
}
|
53 |
+
|
54 |
+
if ( get_option( 'woocommerce_gzd_disable_notices' ) === 'yes' ) {
|
55 |
+
$enabled = false;
|
56 |
+
}
|
57 |
+
|
58 |
+
return apply_filters( 'woocommerce_gzd_enable_notices', $enabled );
|
59 |
+
}
|
60 |
+
|
61 |
/**
|
62 |
* Add notices + styles if needed.
|
63 |
*/
|
64 |
public function add_notices() {
|
65 |
|
66 |
+
$screen = get_current_screen();
|
67 |
+
$screen_id = $screen ? $screen->id : '';
|
68 |
+
$show_on_screens = array(
|
69 |
+
'dashboard',
|
70 |
+
'plugins',
|
71 |
+
);
|
72 |
+
|
73 |
+
$wc_screen_ids = function_exists( 'wc_get_screen_ids' ) ? wc_get_screen_ids() : array();
|
74 |
+
|
75 |
+
// Notices should only show on WooCommerce screens, the main dashboard, and on the plugins screen.
|
76 |
+
if ( ! in_array( $screen_id, $wc_screen_ids, true ) && ! in_array( $screen_id, $show_on_screens, true ) ) {
|
77 |
+
return;
|
78 |
}
|
|
|
|
|
79 |
|
80 |
+
if ( get_option( '_wc_gzd_needs_update' ) == 1 || get_option( '_wc_gzd_needs_pages' ) == 1 || get_option( '_wc_gzd_import_available' ) == 1 ) {
|
81 |
+
if ( current_user_can( 'manage_woocommerce' ) ) {
|
82 |
|
83 |
+
wp_enqueue_style( 'woocommerce-activation', plugins_url( '/assets/css/activation.css', WC_PLUGIN_FILE ) );
|
84 |
+
wp_enqueue_style( 'woocommerce-gzd-activation', plugins_url( '/assets/css/woocommerce-gzd-activation.css', WC_GERMANIZED_PLUGIN_FILE ) );
|
|
|
|
|
|
|
|
|
85 |
|
86 |
+
add_action( 'admin_notices', array( $this, 'install_notice' ) );
|
87 |
}
|
|
|
88 |
}
|
89 |
|
90 |
+
if ( ! get_option( '_wc_gzd_hide_theme_notice' ) && ! WC_germanized()->is_pro() && $this->enable_notices() ) {
|
91 |
+
if ( ! $this->is_theme_compatible() )
|
92 |
+
add_action( 'admin_notices', array( $this, 'theme_incompatibility_notice' ) );
|
93 |
+
elseif ( $this->is_theme_supported_by_pro() )
|
94 |
+
add_action( 'admin_notices', array( $this, 'theme_supported_notice' ) );
|
95 |
+
elseif ( ! $this->is_theme_ready() )
|
96 |
+
add_action( 'admin_notices', array( $this, 'theme_not_ready_notice' ) );
|
97 |
+
}
|
98 |
+
|
99 |
+
if ( ! get_option( '_wc_gzd_hide_review_notice' ) && ! get_option( '_wc_gzd_disable_review_notice' ) && $this->enable_notices() ) {
|
100 |
add_action( 'admin_notices', array( $this, 'add_review_notice' ) );
|
101 |
+
}
|
102 |
|
103 |
+
if ( ! get_option( '_wc_gzd_hide_pro_notice' ) && ! WC_germanized()->is_pro() && $this->enable_notices() ) {
|
104 |
add_action( 'admin_notices', array( $this, 'add_pro_notice' ) );
|
105 |
+
}
|
106 |
|
107 |
if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page' ] == 'wc-gzd-about' || get_option( '_wc_gzd_needs_pages' ) ) {
|
108 |
remove_action( 'admin_notices', array( $this, 'theme_incompatibility_notice' ) );
|
134 |
}
|
135 |
|
136 |
public function check_notice_hide() {
|
137 |
+
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
138 |
+
return;
|
139 |
+
}
|
140 |
|
141 |
$notices = array(
|
142 |
+
'wc-gzd-hide-theme-notice',
|
143 |
+
'wc-gzd-disable-review-notice',
|
144 |
'wc-gzd-hide-review-notice',
|
145 |
'wc-gzd-hide-pro-notice'
|
146 |
);
|
147 |
|
148 |
if ( ! empty( $notices ) ) {
|
|
|
149 |
foreach ( $notices as $notice ) {
|
150 |
+
if ( isset( $_GET['notice'] ) && $_GET['notice'] == $notice && isset( $_GET['nonce'] ) && check_admin_referer( $notice, 'nonce' ) ) {
|
|
|
|
|
151 |
update_option( '_' . str_replace( '-', '_', $notice ) , true );
|
152 |
$redirect_url = remove_query_arg( 'notice', remove_query_arg( 'nonce', $_SERVER['REQUEST_URI'] ) );
|
153 |
+
|
154 |
wp_safe_redirect( $redirect_url );
|
155 |
exit();
|
|
|
156 |
}
|
|
|
157 |
}
|
|
|
158 |
}
|
|
|
159 |
}
|
160 |
|
161 |
public function theme_incompatibility_notice() {
|
183 |
}
|
184 |
|
185 |
public function is_theme_supported_by_pro() {
|
|
|
186 |
$supporting = array(
|
187 |
'enfold',
|
188 |
'flatsome',
|
200 |
}
|
201 |
|
202 |
public function add_review_notice() {
|
|
|
203 |
if ( get_option( 'woocommerce_gzd_activation_date' ) )
|
204 |
+
$this->queue_notice( 3, 'html-notice-review.php' );
|
|
|
205 |
}
|
206 |
|
207 |
public function add_pro_notice() {
|
|
|
208 |
if ( get_option( 'woocommerce_gzd_activation_date' ) )
|
209 |
$this->queue_notice( 4, 'html-notice-pro.php' );
|
210 |
}
|
211 |
|
212 |
public function queue_notice( $days, $view ) {
|
|
|
213 |
if ( get_option( 'woocommerce_gzd_activation_date' ) ) {
|
214 |
|
215 |
$activation_date = ( get_option( 'woocommerce_gzd_activation_date' ) ? get_option( 'woocommerce_gzd_activation_date' ) : date( 'Y-m-d' ) );
|
216 |
+
$diff = WC_germanized()->get_date_diff( $activation_date, date( 'Y-m-d' ) );
|
217 |
|
218 |
+
if ( $diff['d'] >= absint( $days ) )
|
219 |
include( 'views/' . $view );
|
|
|
220 |
}
|
|
|
221 |
}
|
222 |
|
223 |
/**
|
226 |
* @return boolean
|
227 |
*/
|
228 |
public function is_theme_compatible() {
|
|
|
229 |
$templates_to_check = WC_germanized()->get_critical_templates();
|
230 |
|
231 |
if ( ! empty( $templates_to_check ) ) {
|
243 |
return false;
|
244 |
}
|
245 |
}
|
|
|
246 |
return true;
|
247 |
}
|
248 |
}
|
includes/admin/class-wc-gzd-admin.php
CHANGED
@@ -12,6 +12,12 @@ class WC_GZD_Admin {
|
|
12 |
*/
|
13 |
protected static $_instance = null;
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
public static function instance() {
|
16 |
if ( is_null( self::$_instance ) ) {
|
17 |
self::$_instance = new self();
|
@@ -42,6 +48,9 @@ class WC_GZD_Admin {
|
|
42 |
add_action( 'add_meta_boxes', array( $this, 'add_product_mini_desc' ) );
|
43 |
|
44 |
add_action( 'admin_enqueue_scripts', array( $this, 'add_scripts' ) );
|
|
|
|
|
|
|
45 |
add_action( 'save_post', array( $this, 'save_legal_page_content' ), 10, 3 );
|
46 |
|
47 |
add_filter( 'woocommerce_admin_status_tabs', array( $this, 'set_gzd_status_tab' ) );
|
@@ -54,6 +63,7 @@ class WC_GZD_Admin {
|
|
54 |
add_action( 'admin_init', array( $this, 'check_version_cache_deletion' ) );
|
55 |
add_action( 'admin_init', array( $this, 'check_insert_vat_rates' ) );
|
56 |
add_action( 'admin_init', array( $this, 'check_resend_activation_email' ) );
|
|
|
57 |
|
58 |
add_filter( 'woocommerce_addons_section_data', array( $this, 'set_addon' ), 10, 2 );
|
59 |
add_action( 'woocommerce_admin_order_data_after_shipping_address', array( $this, 'set_order_parcel_delivery_opted_in' ), 10, 1 );
|
@@ -152,10 +162,10 @@ class WC_GZD_Admin {
|
|
152 |
}
|
153 |
|
154 |
public function add_scripts() {
|
155 |
-
|
156 |
-
$screen
|
157 |
-
$suffix
|
158 |
-
$assets_path
|
159 |
$admin_script_path = $assets_path . 'js/admin/';
|
160 |
|
161 |
wp_register_style( 'woocommerce-gzd-admin', $assets_path . 'css/woocommerce-gzd-admin' . $suffix . '.css', false, WC_GERMANIZED_VERSION );
|
@@ -198,8 +208,22 @@ class WC_GZD_Admin {
|
|
198 |
// Hide delivery time and unit tagsdiv
|
199 |
if ( version_compare( WC()->version, '2.3', '>=' ) )
|
200 |
wp_add_inline_style( 'woocommerce-gzd-admin', '#tagsdiv-product_delivery_time, #tagsdiv-product_unit, #tagsdiv-product_price_label {display: none}' );
|
|
|
|
|
201 |
}
|
202 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
public function add_legal_page_metabox() {
|
204 |
add_meta_box( 'wc-gzd-legal-page-email-content', __( 'Optional Email Content', 'woocommerce-germanized' ), array( $this, 'init_legal_page_metabox' ), 'page' );
|
205 |
}
|
@@ -415,6 +439,20 @@ class WC_GZD_Admin {
|
|
415 |
);
|
416 |
}
|
417 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
418 |
public function check_insert_vat_rates() {
|
419 |
if ( current_user_can( 'manage_woocommerce' ) && isset( $_GET[ 'insert-vat-rates' ] ) && isset( $_GET[ '_wpnonce' ] ) && check_admin_referer( 'wc-gzd-insert-vat-rates' ) ) {
|
420 |
|
12 |
*/
|
13 |
protected static $_instance = null;
|
14 |
|
15 |
+
/**
|
16 |
+
* Contains an array of script handles localized by WC.
|
17 |
+
* @var array
|
18 |
+
*/
|
19 |
+
private static $wp_localize_scripts = array();
|
20 |
+
|
21 |
public static function instance() {
|
22 |
if ( is_null( self::$_instance ) ) {
|
23 |
self::$_instance = new self();
|
48 |
add_action( 'add_meta_boxes', array( $this, 'add_product_mini_desc' ) );
|
49 |
|
50 |
add_action( 'admin_enqueue_scripts', array( $this, 'add_scripts' ) );
|
51 |
+
add_action( 'wp_print_scripts', array( $this, 'localize_printed_scripts' ), 5 );
|
52 |
+
add_action( 'wp_print_footer_scripts', array( $this, 'localize_printed_scripts' ), 5 );
|
53 |
+
|
54 |
add_action( 'save_post', array( $this, 'save_legal_page_content' ), 10, 3 );
|
55 |
|
56 |
add_filter( 'woocommerce_admin_status_tabs', array( $this, 'set_gzd_status_tab' ) );
|
63 |
add_action( 'admin_init', array( $this, 'check_version_cache_deletion' ) );
|
64 |
add_action( 'admin_init', array( $this, 'check_insert_vat_rates' ) );
|
65 |
add_action( 'admin_init', array( $this, 'check_resend_activation_email' ) );
|
66 |
+
add_action( 'admin_init', array( $this, 'check_notices' ) );
|
67 |
|
68 |
add_filter( 'woocommerce_addons_section_data', array( $this, 'set_addon' ), 10, 2 );
|
69 |
add_action( 'woocommerce_admin_order_data_after_shipping_address', array( $this, 'set_order_parcel_delivery_opted_in' ), 10, 1 );
|
162 |
}
|
163 |
|
164 |
public function add_scripts() {
|
165 |
+
|
166 |
+
$screen = get_current_screen();
|
167 |
+
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
168 |
+
$assets_path = WC_germanized()->plugin_url() . '/assets/';
|
169 |
$admin_script_path = $assets_path . 'js/admin/';
|
170 |
|
171 |
wp_register_style( 'woocommerce-gzd-admin', $assets_path . 'css/woocommerce-gzd-admin' . $suffix . '.css', false, WC_GERMANIZED_VERSION );
|
208 |
// Hide delivery time and unit tagsdiv
|
209 |
if ( version_compare( WC()->version, '2.3', '>=' ) )
|
210 |
wp_add_inline_style( 'woocommerce-gzd-admin', '#tagsdiv-product_delivery_time, #tagsdiv-product_unit, #tagsdiv-product_price_label {display: none}' );
|
211 |
+
|
212 |
+
do_action( 'woocommerce_gzd_admin_assets', $this, $admin_script_path, $suffix );
|
213 |
}
|
214 |
|
215 |
+
public function localize_printed_scripts() {
|
216 |
+
$localized_scripts = apply_filters( 'woocommerce_gzd_admin_localized_scripts', array() );
|
217 |
+
|
218 |
+
foreach( $localized_scripts as $handle => $data ) {
|
219 |
+
if ( ! in_array( $handle, self::$wp_localize_scripts ) && wp_script_is( $handle ) ) {
|
220 |
+
$name = str_replace( '-', '_', $handle ) . '_params';
|
221 |
+
self::$wp_localize_scripts[] = $handle;
|
222 |
+
wp_localize_script( $handle, $name, $data );
|
223 |
+
}
|
224 |
+
}
|
225 |
+
}
|
226 |
+
|
227 |
public function add_legal_page_metabox() {
|
228 |
add_meta_box( 'wc-gzd-legal-page-email-content', __( 'Optional Email Content', 'woocommerce-germanized' ), array( $this, 'init_legal_page_metabox' ), 'page' );
|
229 |
}
|
439 |
);
|
440 |
}
|
441 |
|
442 |
+
public function check_notices() {
|
443 |
+
if ( current_user_can( 'manage_woocommerce' ) && isset( $_GET[ 'check-notices' ] ) && isset( $_GET[ '_wpnonce' ] ) && check_admin_referer( 'wc-gzd-notices' ) ) {
|
444 |
+
|
445 |
+
if ( get_option( 'woocommerce_gzd_disable_notices' ) ) {
|
446 |
+
delete_option( 'woocommerce_gzd_disable_notices' );
|
447 |
+
} else {
|
448 |
+
update_option( 'woocommerce_gzd_disable_notices', 'yes' );
|
449 |
+
}
|
450 |
+
|
451 |
+
// Redirect to check for updates
|
452 |
+
wp_safe_redirect( admin_url( 'admin.php?page=wc-status&tab=germanized' ) );
|
453 |
+
}
|
454 |
+
}
|
455 |
+
|
456 |
public function check_insert_vat_rates() {
|
457 |
if ( current_user_can( 'manage_woocommerce' ) && isset( $_GET[ 'insert-vat-rates' ] ) && isset( $_GET[ '_wpnonce' ] ) && check_admin_referer( 'wc-gzd-insert-vat-rates' ) ) {
|
458 |
|
includes/admin/settings/class-wc-gzd-settings-germanized.php
CHANGED
@@ -1197,6 +1197,8 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
|
|
1197 |
foreach ( $this->get_sections() as $section => $name ) {
|
1198 |
if ( $section === $current_section ) {
|
1199 |
$settings = apply_filters( 'woocommerce_gzd_get_settings_' . $section, $this->get_settings() );
|
|
|
|
|
1200 |
$sidebar = apply_filters( 'woocommerce_gzd_get_sidebar_' . $section, $sidebar );
|
1201 |
}
|
1202 |
}
|
1197 |
foreach ( $this->get_sections() as $section => $name ) {
|
1198 |
if ( $section === $current_section ) {
|
1199 |
$settings = apply_filters( 'woocommerce_gzd_get_settings_' . $section, $this->get_settings() );
|
1200 |
+
$settings = apply_filters( 'woocommerce_gzd_get_settings_filter', $settings );
|
1201 |
+
|
1202 |
$sidebar = apply_filters( 'woocommerce_gzd_get_sidebar_' . $section, $sidebar );
|
1203 |
}
|
1204 |
}
|
includes/admin/views/html-admin-email-text-option.php
CHANGED
@@ -4,6 +4,15 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
4 |
exit;
|
5 |
}
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
?>
|
8 |
|
9 |
<table class="form-table">
|
@@ -12,7 +21,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
<label for="<?php echo esc_attr( $args['id'] ); ?>"><?php echo $args['label']; ?> <?php echo wc_gzd_help_tip( $args['desc'] ); ?></label>
|
13 |
</th>
|
14 |
<td class="forminp">
|
15 |
-
<textarea id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['id'] ); ?>" style="height: 65px;" placeholder="<?php echo esc_attr( $args['placeholder'] ); ?>"
|
16 |
</td>
|
17 |
</tr>
|
18 |
</table>
|
4 |
exit;
|
5 |
}
|
6 |
|
7 |
+
// Custom attribute handling.
|
8 |
+
$custom_attributes = array();
|
9 |
+
|
10 |
+
if ( ! empty( $args['custom_attributes'] ) && is_array( $args['custom_attributes'] ) ) {
|
11 |
+
foreach ( $args['custom_attributes'] as $attribute => $attribute_value ) {
|
12 |
+
$custom_attributes[] = esc_attr( $attribute ) . '="' . esc_attr( $attribute_value ) . '"';
|
13 |
+
}
|
14 |
+
}
|
15 |
+
|
16 |
?>
|
17 |
|
18 |
<table class="form-table">
|
21 |
<label for="<?php echo esc_attr( $args['id'] ); ?>"><?php echo $args['label']; ?> <?php echo wc_gzd_help_tip( $args['desc'] ); ?></label>
|
22 |
</th>
|
23 |
<td class="forminp">
|
24 |
+
<textarea id="<?php echo esc_attr( $args['id'] ); ?>" name="<?php echo esc_attr( $args['id'] ); ?>" style="height: 65px;" placeholder="<?php echo esc_attr( $args['placeholder'] ); ?>" <?php echo implode( ' ', $custom_attributes ); // WPCS: XSS ok. ?>><?php echo esc_textarea( $args['value'] ); ?></textarea>
|
25 |
</td>
|
26 |
</tr>
|
27 |
</table>
|
includes/admin/views/html-notice-review.php
CHANGED
@@ -8,6 +8,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
8 |
}
|
9 |
|
10 |
$dismiss_url = add_query_arg( 'notice', 'wc-gzd-hide-review-notice', add_query_arg( 'nonce', wp_create_nonce( 'wc-gzd-hide-review-notice' ) ) );
|
|
|
11 |
?>
|
12 |
|
13 |
<div class="updated fade">
|
@@ -20,7 +21,8 @@ $dismiss_url = add_query_arg( 'notice', 'wc-gzd-hide-review-notice', add_query_a
|
|
20 |
<a class="button button-secondary" href="https://wordpress.org/support/plugin/woocommerce-germanized" target="_blank"><?php _e( 'Found Bugs?', 'woocommerce-germanized' );?></a>
|
21 |
</p>
|
22 |
<p class="alignright">
|
23 |
-
|
|
|
24 |
</p>
|
25 |
<div class="clear"></div>
|
26 |
</div>
|
8 |
}
|
9 |
|
10 |
$dismiss_url = add_query_arg( 'notice', 'wc-gzd-hide-review-notice', add_query_arg( 'nonce', wp_create_nonce( 'wc-gzd-hide-review-notice' ) ) );
|
11 |
+
$disable_url = add_query_arg( 'notice', 'wc-gzd-disable-review-notice', add_query_arg( 'nonce', wp_create_nonce( 'wc-gzd-disable-review-notice' ) ) );
|
12 |
?>
|
13 |
|
14 |
<div class="updated fade">
|
21 |
<a class="button button-secondary" href="https://wordpress.org/support/plugin/woocommerce-germanized" target="_blank"><?php _e( 'Found Bugs?', 'woocommerce-germanized' );?></a>
|
22 |
</p>
|
23 |
<p class="alignright">
|
24 |
+
<a style="margin-right: 2em;" href="<?php echo esc_url( $disable_url );?>"><?php _e( "I've added my review", 'woocommerce-germanized' ); ?></a>
|
25 |
+
<a href="<?php echo esc_url( $dismiss_url );?>"><?php _e( 'Not now', 'woocommerce-germanized' ); ?></a>
|
26 |
</p>
|
27 |
<div class="clear"></div>
|
28 |
</div>
|
includes/admin/views/html-page-status-germanized.php
CHANGED
@@ -217,6 +217,11 @@ if ( ! defined( 'ABSPATH' ) )
|
|
217 |
<td><?php _e( 'Renew EU VAT Rates', 'woocommerce-germanized' ); ?></td>
|
218 |
<td class="help"><?php echo '<a href="#" class="help_tip" data-tip="' . esc_attr( __( 'Insert VAT rates (standard, recuded and virtual) for EU countries. This option deletes all of your standard, reduced and virtual rates before inserting.', 'woocommerce-germanized' ) ) . '">[?]</a>'; ?></td>
|
219 |
<td><a href="<?php echo wp_nonce_url( add_query_arg( array( 'insert-vat-rates' => true ) ), 'wc-gzd-insert-vat-rates' ); ?>" class="button button-secondary"><?php _e( 'Renew VAT Rates', 'woocommerce-germanized' ); ?></a></td>
|
|
|
|
|
|
|
|
|
|
|
220 |
</tr>
|
221 |
<?php do_action( 'woocommerce_gzd_status_after_tools' ); ?>
|
222 |
</tbody>
|
217 |
<td><?php _e( 'Renew EU VAT Rates', 'woocommerce-germanized' ); ?></td>
|
218 |
<td class="help"><?php echo '<a href="#" class="help_tip" data-tip="' . esc_attr( __( 'Insert VAT rates (standard, recuded and virtual) for EU countries. This option deletes all of your standard, reduced and virtual rates before inserting.', 'woocommerce-germanized' ) ) . '">[?]</a>'; ?></td>
|
219 |
<td><a href="<?php echo wp_nonce_url( add_query_arg( array( 'insert-vat-rates' => true ) ), 'wc-gzd-insert-vat-rates' ); ?>" class="button button-secondary"><?php _e( 'Renew VAT Rates', 'woocommerce-germanized' ); ?></a></td>
|
220 |
+
</tr>
|
221 |
+
<tr>
|
222 |
+
<td><?php _e( 'Disable notices', 'woocommerce-germanized' ); ?></td>
|
223 |
+
<td class="help"><?php echo '<a href="#" class="help_tip" data-tip="' . esc_attr( __( 'Germanized might ask you to leave a review or notices you of using a possibly unsupported theme. If you want to disable these notices, check this option.', 'woocommerce-germanized' ) ) . '">[?]</a>'; ?></td>
|
224 |
+
<td><a href="<?php echo wp_nonce_url( add_query_arg( array( 'check-notices' => true ) ), 'wc-gzd-notices' ); ?>" class="button button-secondary"><?php echo 'yes' === get_option( 'woocommerce_gzd_disable_notices' ) ? __( 'Enable notices', 'woocommerce-germanized' ) : __( 'Disable notices', 'woocommerce-germanized' ); ?></a></td>
|
225 |
</tr>
|
226 |
<?php do_action( 'woocommerce_gzd_status_after_tools' ); ?>
|
227 |
</tbody>
|
includes/class-wc-gzd-checkout.php
CHANGED
@@ -282,7 +282,13 @@ class WC_GZD_Checkout {
|
|
282 |
}
|
283 |
|
284 |
if ( apply_filters( 'woocommerce_gzd_show_order_pay_now_button', $enabled, $order_id ) ) {
|
285 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
}
|
287 |
}
|
288 |
|
282 |
}
|
283 |
|
284 |
if ( apply_filters( 'woocommerce_gzd_show_order_pay_now_button', $enabled, $order_id ) ) {
|
285 |
+
$url = $order->get_checkout_payment_url();
|
286 |
+
|
287 |
+
if ( apply_filters( 'woocommerce_gzd_add_force_pay_order_parameter', true, $order_id ) ) {
|
288 |
+
$url = add_query_arg( array( 'force_pay_order' => true ), $url );
|
289 |
+
}
|
290 |
+
|
291 |
+
wc_get_template( 'order/order-pay-now-button.php', array( 'url' => $url, 'order_id' => $order_id ) );
|
292 |
}
|
293 |
}
|
294 |
|
includes/class-wc-gzd-dependencies.php
CHANGED
@@ -223,7 +223,7 @@ class WC_GZD_Dependencies {
|
|
223 |
public function compare_versions( $main_ver, $ver2, $operator ) {
|
224 |
|
225 |
$expl_main_ver = explode( '.', $main_ver );
|
226 |
-
$expl_ver2
|
227 |
|
228 |
// Check if ver2 string is more accurate than main_ver
|
229 |
if ( sizeof( $expl_main_ver ) == 2 && sizeof( $expl_ver2 ) > 2 ) {
|
223 |
public function compare_versions( $main_ver, $ver2, $operator ) {
|
224 |
|
225 |
$expl_main_ver = explode( '.', $main_ver );
|
226 |
+
$expl_ver2 = explode( '.', $ver2 );
|
227 |
|
228 |
// Check if ver2 string is more accurate than main_ver
|
229 |
if ( sizeof( $expl_main_ver ) == 2 && sizeof( $expl_ver2 ) > 2 ) {
|
includes/class-wc-gzd-emails.php
CHANGED
@@ -76,13 +76,14 @@ class WC_GZD_Emails {
|
|
76 |
public function confirmation_text_option( $object ) {
|
77 |
if ( 'customer_processing_order' === $object->id ) {
|
78 |
|
79 |
-
$args = array(
|
80 |
-
'id'
|
81 |
-
'label'
|
82 |
-
'placeholder'
|
83 |
-
'desc'
|
84 |
-
'
|
85 |
-
|
|
|
86 |
|
87 |
include_once WC_GERMANIZED_ABSPATH . 'includes/admin/views/html-admin-email-text-option.php';
|
88 |
}
|
@@ -163,7 +164,7 @@ class WC_GZD_Emails {
|
|
163 |
if ( 'Someone requested that the password be reset for the following account:' === $original ) {
|
164 |
return __( 'Someone requested a password reset for your account.', 'woocommerce-germanized' );
|
165 |
} elseif ( 'Username: %s' === $original ) {
|
166 |
-
remove_filter( 'gettext', array( $this, 'maybe_hide_username_password_reset' ), 10
|
167 |
return '';
|
168 |
}
|
169 |
}
|
@@ -173,7 +174,7 @@ class WC_GZD_Emails {
|
|
173 |
|
174 |
public function maybe_hide_username_new_account( $translated, $original, $domain ) {
|
175 |
if ( 'woocommerce' === $domain && 'Thanks for creating an account on %s. Your username is <strong>%s</strong>' === $original ) {
|
176 |
-
remove_filter( 'gettext', array( $this, 'maybe_hide_username_new_account' ), 10
|
177 |
return __( 'Thanks for creating an account on %s.', 'woocommerce-germanized' );
|
178 |
}
|
179 |
return $translated;
|
@@ -253,7 +254,6 @@ class WC_GZD_Emails {
|
|
253 |
}
|
254 |
|
255 |
public function maybe_disable_order_paid_email_notification_2_6( $order_id ) {
|
256 |
-
|
257 |
$order = wc_get_order( $order_id );
|
258 |
|
259 |
if ( ! $order ) {
|
@@ -304,6 +304,7 @@ class WC_GZD_Emails {
|
|
304 |
public function set_woocommerce_template_dir( $dir, $template ) {
|
305 |
if ( file_exists( WC_germanized()->plugin_path() . '/templates/' . $template ) )
|
306 |
return 'woocommerce-germanized';
|
|
|
307 |
return $dir;
|
308 |
}
|
309 |
|
@@ -323,9 +324,9 @@ class WC_GZD_Emails {
|
|
323 |
remove_action( $status . '_notification', array( $this->get_email_instance_by_id( 'customer_processing_order' ), 'trigger' ) );
|
324 |
remove_action( $status . '_notification', array( $this->get_email_instance_by_id( 'new_order' ), 'trigger' ) );
|
325 |
|
326 |
-
if ( $this->get_email_instance_by_id( 'customer_on_hold_order' ) )
|
327 |
-
|
328 |
-
|
329 |
}
|
330 |
}
|
331 |
|
76 |
public function confirmation_text_option( $object ) {
|
77 |
if ( 'customer_processing_order' === $object->id ) {
|
78 |
|
79 |
+
$args = apply_filters( 'woocommerce_gzd_admin_email_order_confirmation_text_option', array(
|
80 |
+
'id' => 'woocommerce_gzd_email_order_confirmation_text',
|
81 |
+
'label' => __( 'Confirmation text', 'woocommerce-germanized' ),
|
82 |
+
'placeholder' => __( 'Your order has been received and is now being processed. Your order details are shown below for your reference:', 'woocommerce-germanized' ),
|
83 |
+
'desc' => __( 'This text will be inserted within the order confirmation email. Use {order_number}, {site_title} or {order_date} as placeholder.', 'woocommerce-germanized' ),
|
84 |
+
'custom_attributes' => array(),
|
85 |
+
'value' => get_option( 'woocommerce_gzd_email_order_confirmation_text' ),
|
86 |
+
) );
|
87 |
|
88 |
include_once WC_GERMANIZED_ABSPATH . 'includes/admin/views/html-admin-email-text-option.php';
|
89 |
}
|
164 |
if ( 'Someone requested that the password be reset for the following account:' === $original ) {
|
165 |
return __( 'Someone requested a password reset for your account.', 'woocommerce-germanized' );
|
166 |
} elseif ( 'Username: %s' === $original ) {
|
167 |
+
remove_filter( 'gettext', array( $this, 'maybe_hide_username_password_reset' ), 10 );
|
168 |
return '';
|
169 |
}
|
170 |
}
|
174 |
|
175 |
public function maybe_hide_username_new_account( $translated, $original, $domain ) {
|
176 |
if ( 'woocommerce' === $domain && 'Thanks for creating an account on %s. Your username is <strong>%s</strong>' === $original ) {
|
177 |
+
remove_filter( 'gettext', array( $this, 'maybe_hide_username_new_account' ), 10 );
|
178 |
return __( 'Thanks for creating an account on %s.', 'woocommerce-germanized' );
|
179 |
}
|
180 |
return $translated;
|
254 |
}
|
255 |
|
256 |
public function maybe_disable_order_paid_email_notification_2_6( $order_id ) {
|
|
|
257 |
$order = wc_get_order( $order_id );
|
258 |
|
259 |
if ( ! $order ) {
|
304 |
public function set_woocommerce_template_dir( $dir, $template ) {
|
305 |
if ( file_exists( WC_germanized()->plugin_path() . '/templates/' . $template ) )
|
306 |
return 'woocommerce-germanized';
|
307 |
+
|
308 |
return $dir;
|
309 |
}
|
310 |
|
324 |
remove_action( $status . '_notification', array( $this->get_email_instance_by_id( 'customer_processing_order' ), 'trigger' ) );
|
325 |
remove_action( $status . '_notification', array( $this->get_email_instance_by_id( 'new_order' ), 'trigger' ) );
|
326 |
|
327 |
+
if ( $this->get_email_instance_by_id( 'customer_on_hold_order' ) ) {
|
328 |
+
remove_action( 'woocommerce_order_status_pending_to_on-hold_notification', array( $this->get_email_instance_by_id( 'customer_on_hold_order' ), 'trigger' ) );
|
329 |
+
}
|
330 |
}
|
331 |
}
|
332 |
|
includes/class-wc-gzd-install.php
CHANGED
@@ -167,13 +167,14 @@ class WC_GZD_Install {
|
|
167 |
// Show tour for new installs only
|
168 |
update_option( 'woocommerce_gzd_hide_tour', 1 );
|
169 |
|
170 |
-
$major_version
|
171 |
$new_major_version = substr( WC_germanized()->version, 0, 3 );
|
172 |
|
173 |
// Only on major update
|
174 |
if ( version_compare( $new_major_version, $major_version, ">" ) ) {
|
175 |
delete_option( '_wc_gzd_hide_theme_notice' );
|
176 |
delete_option( '_wc_gzd_hide_pro_notice' );
|
|
|
177 |
}
|
178 |
|
179 |
} else {
|
@@ -196,9 +197,6 @@ class WC_GZD_Install {
|
|
196 |
// Update activation date
|
197 |
update_option( 'woocommerce_gzd_activation_date', date( 'Y-m-d' ) );
|
198 |
|
199 |
-
// Add theme compatibility check
|
200 |
-
delete_option( '_wc_gzd_hide_review_notice' );
|
201 |
-
|
202 |
// Check if pages are needed
|
203 |
if ( wc_get_page_id( 'revocation' ) < 1 ) {
|
204 |
update_option( '_wc_gzd_needs_pages', 1 );
|
167 |
// Show tour for new installs only
|
168 |
update_option( 'woocommerce_gzd_hide_tour', 1 );
|
169 |
|
170 |
+
$major_version = substr( $current_version, 0, 3 );
|
171 |
$new_major_version = substr( WC_germanized()->version, 0, 3 );
|
172 |
|
173 |
// Only on major update
|
174 |
if ( version_compare( $new_major_version, $major_version, ">" ) ) {
|
175 |
delete_option( '_wc_gzd_hide_theme_notice' );
|
176 |
delete_option( '_wc_gzd_hide_pro_notice' );
|
177 |
+
delete_option( '_wc_gzd_hide_review_notice' );
|
178 |
}
|
179 |
|
180 |
} else {
|
197 |
// Update activation date
|
198 |
update_option( 'woocommerce_gzd_activation_date', date( 'Y-m-d' ) );
|
199 |
|
|
|
|
|
|
|
200 |
// Check if pages are needed
|
201 |
if ( wc_get_page_id( 'revocation' ) < 1 ) {
|
202 |
update_option( '_wc_gzd_needs_pages', 1 );
|
includes/class-wc-gzd-shortcodes.php
CHANGED
@@ -228,11 +228,9 @@ class WC_GZD_Shortcodes {
|
|
228 |
* @return string
|
229 |
*/
|
230 |
public static function gzd_vat_info( $atts, $content = '' ) {
|
231 |
-
|
232 |
ob_start();
|
233 |
wc_get_template( 'footer/vat-info.php' );
|
234 |
return ob_get_clean();
|
235 |
-
|
236 |
}
|
237 |
|
238 |
/**
|
@@ -243,11 +241,9 @@ class WC_GZD_Shortcodes {
|
|
243 |
* @return string
|
244 |
*/
|
245 |
public static function gzd_sale_info( $atts, $content = '' ) {
|
246 |
-
|
247 |
ob_start();
|
248 |
wc_get_template( 'footer/sale-info.php' );
|
249 |
return ob_get_clean();
|
250 |
-
|
251 |
}
|
252 |
|
253 |
}
|
228 |
* @return string
|
229 |
*/
|
230 |
public static function gzd_vat_info( $atts, $content = '' ) {
|
|
|
231 |
ob_start();
|
232 |
wc_get_template( 'footer/vat-info.php' );
|
233 |
return ob_get_clean();
|
|
|
234 |
}
|
235 |
|
236 |
/**
|
241 |
* @return string
|
242 |
*/
|
243 |
public static function gzd_sale_info( $atts, $content = '' ) {
|
|
|
244 |
ob_start();
|
245 |
wc_get_template( 'footer/sale-info.php' );
|
246 |
return ob_get_clean();
|
|
|
247 |
}
|
248 |
|
249 |
}
|
includes/compatibility/class-wc-gzd-compatibility-wpml.php
CHANGED
@@ -12,6 +12,30 @@ class WC_GZD_Compatibility_Wpml extends WC_GZD_Compatibility {
|
|
12 |
|
13 |
protected $dynamic_unit_pricing = null;
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
public function __construct() {
|
16 |
parent::__construct(
|
17 |
'WPML',
|
@@ -48,8 +72,361 @@ class WC_GZD_Compatibility_Wpml extends WC_GZD_Compatibility {
|
|
48 |
add_action( 'woocommerce_gzd_after_get_term', array( $this, 'rehook_terms_clause' ), 10 );
|
49 |
|
50 |
add_action( 'woocommerce_gzd_after_revocation_form_fields', array( $this, 'set_language_field' ), 10 );
|
51 |
-
|
52 |
$this->filter_page_ids();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
}
|
54 |
|
55 |
public function before_show_product_unit_price( $product ) {
|
@@ -65,7 +442,7 @@ class WC_GZD_Compatibility_Wpml extends WC_GZD_Compatibility {
|
|
65 |
public function unhook_terms_clause() {
|
66 |
global $sitepress;
|
67 |
|
68 |
-
remove_filter( 'terms_clauses', array( $sitepress, 'terms_clauses' ), 10
|
69 |
}
|
70 |
|
71 |
public function rehook_terms_clause() {
|
@@ -175,7 +552,7 @@ class WC_GZD_Compatibility_Wpml extends WC_GZD_Compatibility {
|
|
175 |
}
|
176 |
|
177 |
public function filter_page_ids() {
|
178 |
-
|
179 |
$woo_pages = array(
|
180 |
'revocation_page_id',
|
181 |
'data_security_page_id',
|
@@ -191,10 +568,9 @@ class WC_GZD_Compatibility_Wpml extends WC_GZD_Compatibility {
|
|
191 |
}
|
192 |
|
193 |
public function translate_page( $id ) {
|
194 |
-
|
195 |
global $pagenow;
|
196 |
|
197 |
-
if( is_admin() && $pagenow
|
198 |
return $id;
|
199 |
|
200 |
return apply_filters( 'translate_object_id', $id, 'page', true );
|
12 |
|
13 |
protected $dynamic_unit_pricing = null;
|
14 |
|
15 |
+
protected $strings_to_translate = array(
|
16 |
+
'woocommerce_gzd_small_enterprise_text' => '',
|
17 |
+
'woocommerce_gzd_differential_taxation_notice_text' => '',
|
18 |
+
'woocommerce_gzd_shipping_costs_text' => '',
|
19 |
+
'woocommerce_gzd_order_submit_btn_text' => '',
|
20 |
+
'woocommerce_gzd_complaints_procedure_text' => '',
|
21 |
+
'woocommerce_gzd_delivery_time_text' => '',
|
22 |
+
'woocommerce_gzd_unit_price_text' => '',
|
23 |
+
'woocommerce_gzd_product_units_text' => '',
|
24 |
+
'woocommerce_gzd_display_listings_link_details_text' => '',
|
25 |
+
'woocommerce_gzd_display_digital_delivery_time_text' => '',
|
26 |
+
'woocommerce_gzd_order_success_text' => '',
|
27 |
+
'woocommerce_gzd_customer_account_text' => '',
|
28 |
+
'woocommerce_gzd_email_order_confirmation_text' => '',
|
29 |
+
'woocommerce_gzd_alternative_complaints_text_none' => '',
|
30 |
+
'woocommerce_gzd_alternative_complaints_text_willing' => '',
|
31 |
+
'woocommerce_gzd_alternative_complaints_text_obliged' => '',
|
32 |
+
'woocommerce_gzd_legal_checkboxes_settings' => array(
|
33 |
+
'label',
|
34 |
+
'error_message',
|
35 |
+
'confirmation'
|
36 |
+
),
|
37 |
+
);
|
38 |
+
|
39 |
public function __construct() {
|
40 |
parent::__construct(
|
41 |
'WPML',
|
72 |
add_action( 'woocommerce_gzd_after_get_term', array( $this, 'rehook_terms_clause' ), 10 );
|
73 |
|
74 |
add_action( 'woocommerce_gzd_after_revocation_form_fields', array( $this, 'set_language_field' ), 10 );
|
75 |
+
|
76 |
$this->filter_page_ids();
|
77 |
+
|
78 |
+
if ( is_admin() ) {
|
79 |
+
add_action( 'woocommerce_gzd_admin_assets', array( $this, 'settings_script' ), 10, 3 );
|
80 |
+
add_action( 'woocommerce_gzd_admin_localized_scripts', array( $this, 'settings_script_localization' ), 10, 1 );
|
81 |
+
|
82 |
+
$this->admin_translate_options();
|
83 |
+
}
|
84 |
+
}
|
85 |
+
|
86 |
+
public function settings_script( $gzd_admin, $admin_script_path, $suffix ) {
|
87 |
+
wp_register_script( 'wc-gzd-settings-wpml', $admin_script_path . 'settings-wpml' . $suffix . '.js', array( 'jquery', 'woocommerce_settings' ), WC_GERMANIZED_VERSION, true );
|
88 |
+
|
89 |
+
if ( isset( $_GET['tab'] ) && ( 'germanized' === $_GET['tab'] || 'email' === $_GET['tab'] ) ) {
|
90 |
+
wp_enqueue_script( 'wc-gzd-settings-wpml' );
|
91 |
+
wp_add_inline_style( 'woocommerce-gzd-admin', '.wc-gzd-wpml-notice {display: block; font-size: 12px; margin-top: 8px; line-height: 1.5em; background: #faf8e5; padding: 5px;} .wc-gzd-wpml-notice code {font-size: 12px; display: block; background: transparent; padding-left: 0;}' );
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
public function settings_script_localization( $localized ) {
|
96 |
+
$options = array();
|
97 |
+
$translatable = $this->get_translatable_options();
|
98 |
+
|
99 |
+
foreach( $translatable as $option => $data ) {
|
100 |
+
if ( 'woocommerce_gzd_legal_checkboxes_settings' === $option ) {
|
101 |
+
|
102 |
+
$manager = WC_GZD_Legal_Checkbox_Manager::instance();
|
103 |
+
$manager->do_register_action();
|
104 |
+
|
105 |
+
foreach( $manager->get_checkboxes() as $id => $checkbox ) {
|
106 |
+
foreach( $data as $value ) {
|
107 |
+
$options[] = "#{$checkbox->get_form_field_id( $value )}";
|
108 |
+
}
|
109 |
+
}
|
110 |
+
} else {
|
111 |
+
$options[] = "#{$option}";
|
112 |
+
}
|
113 |
+
}
|
114 |
+
|
115 |
+
$localized['wc-gzd-settings-wpml'] = array(
|
116 |
+
'options' => $options
|
117 |
+
);
|
118 |
+
|
119 |
+
return $localized;
|
120 |
+
}
|
121 |
+
|
122 |
+
public function get_translatable_options() {
|
123 |
+
return apply_filters( 'woocommerce_gzd_wpml_translatable_options', $this->strings_to_translate );
|
124 |
+
}
|
125 |
+
|
126 |
+
public function admin_translate_options() {
|
127 |
+
if ( ! $this->supports_string_translation() ) {
|
128 |
+
return;
|
129 |
+
}
|
130 |
+
|
131 |
+
foreach( $this->get_translatable_options() as $option => $args ) {
|
132 |
+
add_filter( 'option_' . $option, array( $this, 'translate_option_filter' ), 10, 2 );
|
133 |
+
add_filter( 'pre_update_option_' . $option, array( $this, 'pre_update_translation_filter' ), 10, 3 );
|
134 |
+
|
135 |
+
wc_gzd_remove_class_filter( 'option_' . $option, 'WPML_Admin_Texts', 'icl_st_translate_admin_string', 10 );
|
136 |
+
}
|
137 |
+
|
138 |
+
add_action( 'admin_init', array( $this, 'filter_settings' ), 50 );
|
139 |
+
}
|
140 |
+
|
141 |
+
public function filter_settings() {
|
142 |
+
if ( isset( $_GET['tab'] ) && ( 'germanized' === $_GET['tab'] || 'email' === $_GET['tab'] ) ) {
|
143 |
+
add_filter( 'woocommerce_gzd_get_settings_filter', array( $this, 'add_admin_notices' ), 10, 1 );
|
144 |
+
add_filter( 'woocommerce_gzd_legal_checkbox_fields', array( $this, 'add_admin_notices_checkboxes' ), 10, 2 );
|
145 |
+
add_filter( 'woocommerce_gzd_admin_email_order_confirmation_text_option', array( $this, 'add_admin_notices_email' ), 10, 1 );
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
public function supports_string_translation() {
|
150 |
+
$enabled = false;
|
151 |
+
|
152 |
+
if ( defined( 'WPML_ST_VERSION' ) && wc_gzd_get_dependencies()->compare_versions( WPML_ST_VERSION, '2.8.7', '>=' ) ) {
|
153 |
+
$enabled = true;
|
154 |
+
}
|
155 |
+
|
156 |
+
return apply_filters( 'woocommerce_gzd_enable_wpml_string_translation_settings', $enabled );
|
157 |
+
}
|
158 |
+
|
159 |
+
public function add_admin_notices_email( $setting ) {
|
160 |
+
if ( isset( $setting['id'] ) && array_key_exists( $setting['id'], $this->get_translatable_options() ) ) {
|
161 |
+
if ( $string_id = $this->get_string_id( $setting['id'] ) ) {
|
162 |
+
$string_language = $this->get_string_language( $string_id, $setting['id'] );
|
163 |
+
|
164 |
+
if ( $string_language !== $this->get_current_language() && 'all' !== $this->get_current_language() ) {
|
165 |
+
$setting = $this->set_admin_notice_attribute( $setting, $string_id, $string_language );
|
166 |
+
}
|
167 |
+
}
|
168 |
+
}
|
169 |
+
|
170 |
+
return $setting;
|
171 |
+
}
|
172 |
+
|
173 |
+
public function add_admin_notices_checkboxes( $settings, $checkbox ) {
|
174 |
+
$ids = array();
|
175 |
+
$options = $this->get_translatable_options();
|
176 |
+
|
177 |
+
foreach( $options['woocommerce_gzd_legal_checkboxes_settings'] as $option_key ) {
|
178 |
+
$ids[] = $checkbox->get_form_field_id( $option_key );
|
179 |
+
}
|
180 |
+
|
181 |
+
foreach( $settings as $key => $setting ) {
|
182 |
+
if ( isset( $setting['id'] ) && in_array( $setting['id'], $ids ) ) {
|
183 |
+
$option_key = str_replace( $checkbox->get_form_field_id_prefix(), '', $setting['id'] );
|
184 |
+
$option_name = "[woocommerce_gzd_legal_checkboxes_settings][{$checkbox->get_id()}]{$option_key}";
|
185 |
+
|
186 |
+
if ( $string_id = $this->get_string_id( $option_name, "admin_texts_woocommerce_gzd_legal_checkboxes_settings" ) ) {
|
187 |
+
$string_language = $this->get_string_language( $string_id, $option_name );
|
188 |
+
|
189 |
+
if ( $string_language !== $this->get_current_language() && 'all' !== $this->get_current_language() ) {
|
190 |
+
$settings[ $key ] = $this->set_admin_notice_attribute( $settings[ $key ], $string_id, $string_language );
|
191 |
+
}
|
192 |
+
}
|
193 |
+
}
|
194 |
+
}
|
195 |
+
|
196 |
+
return $settings;
|
197 |
+
}
|
198 |
+
|
199 |
+
public function add_admin_notices( $settings ) {
|
200 |
+
foreach( $settings as $key => $setting ) {
|
201 |
+
if ( isset( $setting['id'] ) && array_key_exists( $setting['id'], $this->get_translatable_options() ) ) {
|
202 |
+
if ( $string_id = $this->get_string_id( $setting['id'] ) ) {
|
203 |
+
$string_language = $this->get_string_language( $string_id, $setting['id'] );
|
204 |
+
|
205 |
+
if ( $string_language !== $this->get_current_language() && 'all' !== $this->get_current_language() ) {
|
206 |
+
$settings[ $key ] = $this->set_admin_notice_attribute( $settings[ $key ], $string_id, $string_language );
|
207 |
+
}
|
208 |
+
}
|
209 |
+
}
|
210 |
+
}
|
211 |
+
|
212 |
+
return $settings;
|
213 |
+
}
|
214 |
+
|
215 |
+
protected function set_admin_notice_attribute( $setting, $string_id, $string_language ) {
|
216 |
+
if ( ! isset( $setting['custom_attributes'] ) || ! is_array( $setting['custom_attributes'] ) ) {
|
217 |
+
$setting['custom_attributes'] = array();
|
218 |
+
}
|
219 |
+
|
220 |
+
$setting['custom_attributes']['data-wpml-notice'] = sprintf( __( 'This option may be translated via WPML. You may translate the original option (%s) %s to %s by adjusting the value above.', 'woocommerce-germanized' ), $this->get_language_name( $string_language ), '<code>' . $this->get_string_value( $string_id ) . '</code>', $this->get_language_name() );
|
221 |
+
|
222 |
+
return $setting;
|
223 |
+
}
|
224 |
+
|
225 |
+
public function get_language_name( $language = '' ) {
|
226 |
+
global $sitepress;
|
227 |
+
|
228 |
+
if ( empty( $language ) ) {
|
229 |
+
$language = $this->get_current_language();
|
230 |
+
}
|
231 |
+
|
232 |
+
return $sitepress->get_display_language_name( $language );
|
233 |
+
}
|
234 |
+
|
235 |
+
public function get_current_language() {
|
236 |
+
return ICL_LANGUAGE_CODE;
|
237 |
+
}
|
238 |
+
|
239 |
+
public function get_string_language( $string_id, $option = '' ) {
|
240 |
+
if ( $string = $this->get_string_by_id( $string_id ) ) {
|
241 |
+
return $string->language;
|
242 |
+
}
|
243 |
+
|
244 |
+
global $WPML_String_Translation;
|
245 |
+
|
246 |
+
return $WPML_String_Translation->get_current_string_language( $option );
|
247 |
+
}
|
248 |
+
|
249 |
+
public function get_string_by_id( $string_id ) {
|
250 |
+
global $wpdb;
|
251 |
+
|
252 |
+
$string = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}icl_strings WHERE id=%d LIMIT 1", $string_id ) );
|
253 |
+
|
254 |
+
if ( $string ) {
|
255 |
+
return $string[0];
|
256 |
+
}
|
257 |
+
|
258 |
+
return false;
|
259 |
+
}
|
260 |
+
|
261 |
+
public function get_string_id( $option, $context = '' ) {
|
262 |
+
$context = empty( $context ) ? 'admin_texts_' . $option : $context;
|
263 |
+
|
264 |
+
return icl_st_is_registered_string( $context, $option );
|
265 |
+
}
|
266 |
+
|
267 |
+
public function get_string_value( $string_id ) {
|
268 |
+
if ( $string = $this->get_string_by_id( $string_id ) ) {
|
269 |
+
return $string->value;
|
270 |
+
}
|
271 |
+
|
272 |
+
return false;
|
273 |
+
}
|
274 |
+
|
275 |
+
public function update_string_value( $string_id, $value ) {
|
276 |
+
global $wpdb;
|
277 |
+
|
278 |
+
$value = maybe_serialize( $value );
|
279 |
+
|
280 |
+
$wpdb->update( "{$wpdb->prefix}icl_strings", array( 'value' => $value ), array( 'id' => $string_id ) );
|
281 |
+
}
|
282 |
+
|
283 |
+
public function delete_string_translation( $string_id, $language ) {
|
284 |
+
global $wpdb;
|
285 |
+
|
286 |
+
$wpdb->query( $wpdb->prepare("DELETE FROM {$wpdb->prefix}icl_string_translations WHERE string_id=%d AND language=%s", $string_id, $language ) );
|
287 |
+
}
|
288 |
+
|
289 |
+
public function update_string_translation( $option, $language, $value, $status = '' ) {
|
290 |
+
if ( empty( $status ) ) {
|
291 |
+
$status = ICL_TM_COMPLETE;
|
292 |
+
}
|
293 |
+
|
294 |
+
icl_update_string_translation( $option, $language, $value, $status );
|
295 |
+
}
|
296 |
+
|
297 |
+
public function get_string_translation( $string_id, $language, $status = '' ) {
|
298 |
+
$translations = icl_get_string_translations_by_id( $string_id );
|
299 |
+
$status = empty( $status ) ? ICL_TM_COMPLETE : $status;
|
300 |
+
|
301 |
+
if ( isset( $translations[ $language ] ) && $translations[ $language ]['status'] == $status ) {
|
302 |
+
return $translations[ $language ]['value'];
|
303 |
+
}
|
304 |
+
|
305 |
+
return false;
|
306 |
+
}
|
307 |
+
|
308 |
+
public function register_string( $option, $value, $context = '' ) {
|
309 |
+
$context = empty( $context ) ? 'admin_texts_' . $option : $context;
|
310 |
+
|
311 |
+
return icl_register_string( $context, $option, $value );
|
312 |
+
}
|
313 |
+
|
314 |
+
public function pre_update_translation_filter( $new_value, $old_value, $option ) {
|
315 |
+
$string_options = $this->get_translatable_options();
|
316 |
+
|
317 |
+
if ( is_array( $new_value ) || is_array( $string_options[ $option ] ) ) {
|
318 |
+
|
319 |
+
if ( ! is_array( $new_value ) ) {
|
320 |
+
$new_value = array();
|
321 |
+
}
|
322 |
+
|
323 |
+
$args = $string_options[ $option ];
|
324 |
+
|
325 |
+
foreach( $new_value as $id => $options ) {
|
326 |
+
foreach( $options as $key => $value ) {
|
327 |
+
if ( in_array( $key, $args ) ) {
|
328 |
+
$old_value_internal = isset( $old_value[ $id ][ $key ] ) ? $old_value[ $id ][ $key ] : '';
|
329 |
+
$new_value[ $id ][ $key ] = $this->pre_update_translation( $value, $old_value_internal, "[{$option}][{$id}]{$key}", "admin_texts_{$option}" );
|
330 |
+
}
|
331 |
+
}
|
332 |
+
}
|
333 |
+
|
334 |
+
return $new_value;
|
335 |
+
} else {
|
336 |
+
return $this->pre_update_translation( $new_value, $old_value, $option );
|
337 |
+
}
|
338 |
+
}
|
339 |
+
|
340 |
+
protected function pre_update_translation( $new_value, $old_value, $option, $context = '' ) {
|
341 |
+
$org_string_id = $this->get_string_id( $option, $context );
|
342 |
+
$strings_language = $this->get_string_language( $org_string_id, $option );
|
343 |
+
|
344 |
+
if ( $strings_language === $this->get_current_language() || 'all' === $this->get_current_language() ) {
|
345 |
+
|
346 |
+
$current_string_value = $this->get_string_value( $org_string_id );
|
347 |
+
|
348 |
+
// Update original string value
|
349 |
+
if ( $org_string_id && ( $new_value !== $old_value || $current_string_value !== $new_value ) ) {
|
350 |
+
$this->update_string_value( $org_string_id, $new_value );
|
351 |
+
}
|
352 |
+
|
353 |
+
return $new_value;
|
354 |
+
}
|
355 |
+
|
356 |
+
if ( $org_string_id ) {
|
357 |
+
$org_string = $this->get_string_value( $org_string_id );
|
358 |
+
|
359 |
+
// Remove translation if it equals original string
|
360 |
+
if ( $org_string === $new_value || empty( $new_value ) ) {
|
361 |
+
$this->delete_string_translation( $org_string_id, $this->get_current_language() );
|
362 |
+
|
363 |
+
return $old_value;
|
364 |
+
}
|
365 |
+
}
|
366 |
+
|
367 |
+
$this->update_string_translation( $option, $this->get_current_language(), $new_value );
|
368 |
+
|
369 |
+
return $old_value;
|
370 |
+
}
|
371 |
+
|
372 |
+
public function translate_option_filter( $org_value, $option ) {
|
373 |
+
$string_options = $this->get_translatable_options();
|
374 |
+
|
375 |
+
if ( is_array( $org_value ) || is_array( $string_options[ $option ] ) ) {
|
376 |
+
|
377 |
+
if ( ! is_array( $org_value ) ) {
|
378 |
+
$org_value = array();
|
379 |
+
}
|
380 |
+
|
381 |
+
$args = $string_options[ $option ];
|
382 |
+
|
383 |
+
foreach( $org_value as $id => $options ) {
|
384 |
+
foreach( $options as $key => $value ) {
|
385 |
+
if ( in_array( $key, $args ) ) {
|
386 |
+
$org_value[ $id ][ $key ] = $this->translate_option( $value, "[{$option}][{$id}]{$key}", "admin_texts_{$option}" );
|
387 |
+
}
|
388 |
+
}
|
389 |
+
}
|
390 |
+
|
391 |
+
return $org_value;
|
392 |
+
} else {
|
393 |
+
return $this->translate_option( $org_value, $option );
|
394 |
+
}
|
395 |
+
}
|
396 |
+
|
397 |
+
protected function translate_option( $org_value, $option, $context = '' ) {
|
398 |
+
$string_id = $this->get_string_id( $option, $context );
|
399 |
+
$language = $this->get_current_language();
|
400 |
+
|
401 |
+
if ( ! $string_id ) {
|
402 |
+
$string_id = $this->register_string( $option, $org_value, $context );
|
403 |
+
}
|
404 |
+
|
405 |
+
if ( $translation = $this->get_string_translation( $string_id, $language ) ) {
|
406 |
+
return $translation;
|
407 |
+
}
|
408 |
+
|
409 |
+
return $org_value;
|
410 |
+
}
|
411 |
+
|
412 |
+
public function translate_option_checkboxes( $org_value, $option ) {
|
413 |
+
if ( ! is_array( $org_value ) ) {
|
414 |
+
$org_value = array();
|
415 |
+
}
|
416 |
+
|
417 |
+
foreach( $org_value as $checkbox_id => $options ) {
|
418 |
+
foreach( $options as $option => $value ) {
|
419 |
+
if ( in_array( $option, $this->get_checkbox_translateable_options() ) ) {
|
420 |
+
$org_value[ $checkbox_id ][ $option ] = $this->translate_option( $value, "[woocommerce_gzd_legal_checkboxes_settings][{$checkbox_id}]{$option}", "admin_texts_woocommerce_gzd_legal_checkboxes_settings" );
|
421 |
+
}
|
422 |
+
}
|
423 |
+
}
|
424 |
+
|
425 |
+
return $org_value;
|
426 |
+
}
|
427 |
+
|
428 |
+
public function pre_update_translate_checkboxes( $new_value, $old_value, $option ) {
|
429 |
+
return $new_value;
|
430 |
}
|
431 |
|
432 |
public function before_show_product_unit_price( $product ) {
|
442 |
public function unhook_terms_clause() {
|
443 |
global $sitepress;
|
444 |
|
445 |
+
remove_filter( 'terms_clauses', array( $sitepress, 'terms_clauses' ), 10 );
|
446 |
}
|
447 |
|
448 |
public function rehook_terms_clause() {
|
552 |
}
|
553 |
|
554 |
public function filter_page_ids() {
|
555 |
+
|
556 |
$woo_pages = array(
|
557 |
'revocation_page_id',
|
558 |
'data_security_page_id',
|
568 |
}
|
569 |
|
570 |
public function translate_page( $id ) {
|
|
|
571 |
global $pagenow;
|
572 |
|
573 |
+
if( is_admin() && $pagenow === 'options-permalink.php' )
|
574 |
return $id;
|
575 |
|
576 |
return apply_filters( 'translate_object_id', $id, 'page', true );
|
includes/emails/class-wc-gzd-email-customer-on-hold-order.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
4 |
+
exit; // Exit if accessed directly
|
5 |
+
}
|
6 |
+
|
7 |
+
if ( ! class_exists( 'WC_GZD_Email_Customer_On_Hold_Order' ) ) :
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Customer Processing Order Email
|
11 |
+
*
|
12 |
+
* An email sent to the customer when a new order is received/paid for.
|
13 |
+
*
|
14 |
+
* @class WC_Email_Customer_Processing_Order
|
15 |
+
* @version 2.0.0
|
16 |
+
* @package WooCommerce/Classes/Emails
|
17 |
+
* @author WooThemes
|
18 |
+
* @extends WC_Email
|
19 |
+
*/
|
20 |
+
class WC_GZD_Email_Customer_On_Hold_Order extends WC_Email_Customer_On_Hold_Order {
|
21 |
+
|
22 |
+
public function __construct() {
|
23 |
+
parent::__construct();
|
24 |
+
|
25 |
+
// Remove Triggers for parent email.
|
26 |
+
wc_gzd_remove_class_action( 'woocommerce_order_status_pending_to_on-hold_notification', 'WC_Email_Customer_On_Hold_Order', 'trigger', 10 );
|
27 |
+
wc_gzd_remove_class_action( 'woocommerce_order_status_failed_to_on-hold_notification', 'WC_Email_Customer_On_Hold_Order', 'trigger', 10 );
|
28 |
+
|
29 |
+
// Triggers for this email.
|
30 |
+
remove_action( 'woocommerce_order_status_pending_to_on-hold_notification', array( $this, 'trigger' ), 10 );
|
31 |
+
remove_action( 'woocommerce_order_status_failed_to_on-hold_notification', array( $this, 'trigger' ), 10 );
|
32 |
+
}
|
33 |
+
|
34 |
+
public function trigger( $order_id, $order = false ) {
|
35 |
+
|
36 |
+
if ( apply_filters( 'woocommerce_gzd_disable_on_hold_email', true ) ) {
|
37 |
+
return;
|
38 |
+
}
|
39 |
+
|
40 |
+
$requires_two_arguments = true;
|
41 |
+
|
42 |
+
try {
|
43 |
+
$method = new ReflectionMethod( get_parent_class( $this ), 'trigger' );
|
44 |
+
$num = $method->getNumberOfParameters();
|
45 |
+
$requires_two_arguments = ( $num == 2 );
|
46 |
+
|
47 |
+
} catch( Exception $e ) {
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
if ( $requires_two_arguments ) {
|
52 |
+
parent::trigger( $order_id, $order );
|
53 |
+
} else {
|
54 |
+
parent::trigger( $order_id );
|
55 |
+
}
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
+
endif;
|
60 |
+
|
61 |
+
return new WC_GZD_Email_Customer_On_Hold_Order();
|
includes/emails/class-wc-gzd-email-customer-processing-order.php
CHANGED
@@ -22,6 +22,16 @@ if ( ! class_exists( 'WC_GZD_Email_Customer_Processing_Order' ) ) :
|
|
22 |
public function __construct() {
|
23 |
parent::__construct();
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
$this->title = __( 'Order Confirmation', 'woocommerce-germanized' );
|
26 |
}
|
27 |
|
22 |
public function __construct() {
|
23 |
parent::__construct();
|
24 |
|
25 |
+
// Remove Triggers for parent email.
|
26 |
+
wc_gzd_remove_class_action( 'woocommerce_order_status_on-hold_to_processing_notification', 'WC_Email_Customer_Processing_Order', 'trigger', 10 );
|
27 |
+
wc_gzd_remove_class_action( 'woocommerce_order_status_pending_to_processing_notification', 'WC_Email_Customer_Processing_Order', 'trigger', 10 );
|
28 |
+
wc_gzd_remove_class_action( 'woocommerce_order_status_failed_to_processing_notification', 'WC_Email_Customer_Processing_Order', 'trigger', 10 );
|
29 |
+
|
30 |
+
// Remove Triggers for this email.
|
31 |
+
remove_action( 'woocommerce_order_status_failed_to_processing_notification', array( $this, 'trigger' ), 10 );
|
32 |
+
remove_action( 'woocommerce_order_status_on-hold_to_processing_notification', array( $this, 'trigger' ), 10 );
|
33 |
+
remove_action( 'woocommerce_order_status_pending_to_processing_notification', array( $this, 'trigger' ), 10 );
|
34 |
+
|
35 |
$this->title = __( 'Order Confirmation', 'woocommerce-germanized' );
|
36 |
}
|
37 |
|
includes/wc-gzd-core-functions.php
CHANGED
@@ -223,3 +223,109 @@ if ( ! function_exists( 'is_ajax' ) ) {
|
|
223 |
return defined( 'DOING_AJAX' );
|
224 |
}
|
225 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
return defined( 'DOING_AJAX' );
|
224 |
}
|
225 |
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* Remove Class Filter Without Access to Class Object
|
229 |
+
*
|
230 |
+
* In order to use the core WordPress remove_filter() on a filter added with the callback
|
231 |
+
* to a class, you either have to have access to that class object, or it has to be a call
|
232 |
+
* to a static method. This method allows you to remove filters with a callback to a class
|
233 |
+
* you don't have access to.
|
234 |
+
*
|
235 |
+
* Works with WordPress 1.2+ (4.7+ support added 9-19-2016)
|
236 |
+
* Updated 2-27-2017 to use internal WordPress removal for 4.7+ (to prevent PHP warnings output)
|
237 |
+
*
|
238 |
+
* @param string $tag Filter to remove
|
239 |
+
* @param string $class_name Class name for the filter's callback
|
240 |
+
* @param string $method_name Method name for the filter's callback
|
241 |
+
* @param int $priority Priority of the filter (default 10)
|
242 |
+
*
|
243 |
+
* @return bool Whether the function is removed.
|
244 |
+
*/
|
245 |
+
function wc_gzd_remove_class_filter( $tag, $class_name = '', $method_name = '', $priority = 10 ) {
|
246 |
+
global $wp_filter;
|
247 |
+
|
248 |
+
// Check that filter actually exists first
|
249 |
+
if ( ! isset( $wp_filter[ $tag ] ) ) return FALSE;
|
250 |
+
|
251 |
+
/**
|
252 |
+
* If filter config is an object, means we're using WordPress 4.7+ and the config is no longer
|
253 |
+
* a simple array, rather it is an object that implements the ArrayAccess interface.
|
254 |
+
*
|
255 |
+
* To be backwards compatible, we set $callbacks equal to the correct array as a reference (so $wp_filter is updated)
|
256 |
+
*
|
257 |
+
* @see https://make.wordpress.org/core/2016/09/08/wp_hook-next-generation-actions-and-filters/
|
258 |
+
*/
|
259 |
+
if ( is_object( $wp_filter[ $tag ] ) && isset( $wp_filter[ $tag ]->callbacks ) ) {
|
260 |
+
// Create $fob object from filter tag, to use below
|
261 |
+
$fob = $wp_filter[ $tag ];
|
262 |
+
$callbacks = &$wp_filter[ $tag ]->callbacks;
|
263 |
+
} else {
|
264 |
+
$callbacks = &$wp_filter[ $tag ];
|
265 |
+
}
|
266 |
+
|
267 |
+
// Exit if there aren't any callbacks for specified priority
|
268 |
+
if ( ! isset( $callbacks[ $priority ] ) || empty( $callbacks[ $priority ] ) ) return FALSE;
|
269 |
+
|
270 |
+
// Loop through each filter for the specified priority, looking for our class & method
|
271 |
+
foreach( (array) $callbacks[ $priority ] as $filter_id => $filter ) {
|
272 |
+
|
273 |
+
// Filter should always be an array - array( $this, 'method' ), if not goto next
|
274 |
+
if ( ! isset( $filter[ 'function' ] ) || ! is_array( $filter[ 'function' ] ) ) continue;
|
275 |
+
|
276 |
+
// If first value in array is not an object, it can't be a class
|
277 |
+
if ( ! is_object( $filter[ 'function' ][ 0 ] ) ) continue;
|
278 |
+
|
279 |
+
// Method doesn't match the one we're looking for, goto next
|
280 |
+
if ( $filter[ 'function' ][ 1 ] !== $method_name ) continue;
|
281 |
+
|
282 |
+
// Method matched, now let's check the Class
|
283 |
+
if ( get_class( $filter[ 'function' ][ 0 ] ) === $class_name ) {
|
284 |
+
|
285 |
+
// WordPress 4.7+ use core remove_filter() since we found the class object
|
286 |
+
if( isset( $fob ) ){
|
287 |
+
// Handles removing filter, reseting callback priority keys mid-iteration, etc.
|
288 |
+
$fob->remove_filter( $tag, $filter['function'], $priority );
|
289 |
+
|
290 |
+
} else {
|
291 |
+
// Use legacy removal process (pre 4.7)
|
292 |
+
unset( $callbacks[ $priority ][ $filter_id ] );
|
293 |
+
// and if it was the only filter in that priority, unset that priority
|
294 |
+
if ( empty( $callbacks[ $priority ] ) ) {
|
295 |
+
unset( $callbacks[ $priority ] );
|
296 |
+
}
|
297 |
+
// and if the only filter for that tag, set the tag to an empty array
|
298 |
+
if ( empty( $callbacks ) ) {
|
299 |
+
$callbacks = array();
|
300 |
+
}
|
301 |
+
// Remove this filter from merged_filters, which specifies if filters have been sorted
|
302 |
+
unset( $GLOBALS['merged_filters'][ $tag ] );
|
303 |
+
}
|
304 |
+
|
305 |
+
return TRUE;
|
306 |
+
}
|
307 |
+
}
|
308 |
+
|
309 |
+
return FALSE;
|
310 |
+
}
|
311 |
+
|
312 |
+
/**
|
313 |
+
* Remove Class Action Without Access to Class Object
|
314 |
+
*
|
315 |
+
* In order to use the core WordPress remove_action() on an action added with the callback
|
316 |
+
* to a class, you either have to have access to that class object, or it has to be a call
|
317 |
+
* to a static method. This method allows you to remove actions with a callback to a class
|
318 |
+
* you don't have access to.
|
319 |
+
*
|
320 |
+
* Works with WordPress 1.2+ (4.7+ support added 9-19-2016)
|
321 |
+
*
|
322 |
+
* @param string $tag Action to remove
|
323 |
+
* @param string $class_name Class name for the action's callback
|
324 |
+
* @param string $method_name Method name for the action's callback
|
325 |
+
* @param int $priority Priority of the action (default 10)
|
326 |
+
*
|
327 |
+
* @return bool Whether the function is removed.
|
328 |
+
*/
|
329 |
+
function wc_gzd_remove_class_action( $tag, $class_name = '', $method_name = '', $priority = 10 ) {
|
330 |
+
wc_gzd_remove_class_filter( $tag, $class_name, $method_name, $priority );
|
331 |
+
}
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Requires at least: 3.8
|
|
5 |
Tested up to: 4.9
|
6 |
WC requires at least: 2.4
|
7 |
WC tested up to: 3.5
|
8 |
-
Stable tag: 2.2.
|
9 |
Requires PHP: 5.3
|
10 |
License: GPLv3
|
11 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -184,6 +184,13 @@ Bug reports may be filed via our [GitHub repository](https://github.com/vendider
|
|
184 |
|
185 |
== Changelog ==
|
186 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
= 2.2.0 =
|
188 |
* Feature: WooCommerce 3.5 compatibility
|
189 |
* Feature: Support DHL for WooCommerce parcel delivery checkbox option
|
5 |
Tested up to: 4.9
|
6 |
WC requires at least: 2.4
|
7 |
WC tested up to: 3.5
|
8 |
+
Stable tag: 2.2.1
|
9 |
Requires PHP: 5.3
|
10 |
License: GPLv3
|
11 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
184 |
|
185 |
== Changelog ==
|
186 |
|
187 |
+
= 2.2.1 =
|
188 |
+
* Fix: Make sure that order confirmation email is not being sent twice
|
189 |
+
* Improvement: Override on-hold-email to disallow triggering by third party plugins
|
190 |
+
* Improvement: Added WPML string translation (>= 2.8.7) option right from the plugin settings (by changing the active language)
|
191 |
+
* Improvement: Made notices more defensive. Added option to hide review notice forever
|
192 |
+
* Improvement: Added "woocommerce_gzd_add_force_pay_order_parameter" filter to disable the forced redirect
|
193 |
+
|
194 |
= 2.2.0 =
|
195 |
* Feature: WooCommerce 3.5 compatibility
|
196 |
* Feature: Support DHL for WooCommerce parcel delivery checkbox option
|
woocommerce-germanized.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: WooCommerce Germanized
|
4 |
* Plugin URI: https://www.vendidero.de/woocommerce-germanized
|
5 |
* Description: WooCommerce Germanized extends WooCommerce to become a legally compliant store in the german market.
|
6 |
-
* Version: 2.2.
|
7 |
* Author: Vendidero
|
8 |
* Author URI: https://vendidero.de
|
9 |
* Requires at least: 3.8
|
@@ -31,7 +31,7 @@ final class WooCommerce_Germanized {
|
|
31 |
*
|
32 |
* @var string
|
33 |
*/
|
34 |
-
public $version = '2.2.
|
35 |
|
36 |
/**
|
37 |
* Single instance of WooCommerce Germanized Main Class
|
@@ -793,7 +793,12 @@ final class WooCommerce_Germanized {
|
|
793 |
|
794 |
// Make sure the Processing Order Email is named Order Confirmation for better understanding
|
795 |
if ( isset( $mails['WC_Email_Customer_Processing_Order'] ) ) {
|
796 |
-
$mails['WC_Email_Customer_Processing_Order']
|
|
|
|
|
|
|
|
|
|
|
797 |
}
|
798 |
|
799 |
return $mails;
|
3 |
* Plugin Name: WooCommerce Germanized
|
4 |
* Plugin URI: https://www.vendidero.de/woocommerce-germanized
|
5 |
* Description: WooCommerce Germanized extends WooCommerce to become a legally compliant store in the german market.
|
6 |
+
* Version: 2.2.1
|
7 |
* Author: Vendidero
|
8 |
* Author URI: https://vendidero.de
|
9 |
* Requires at least: 3.8
|
31 |
*
|
32 |
* @var string
|
33 |
*/
|
34 |
+
public $version = '2.2.1';
|
35 |
|
36 |
/**
|
37 |
* Single instance of WooCommerce Germanized Main Class
|
793 |
|
794 |
// Make sure the Processing Order Email is named Order Confirmation for better understanding
|
795 |
if ( isset( $mails['WC_Email_Customer_Processing_Order'] ) ) {
|
796 |
+
$mails['WC_Email_Customer_Processing_Order'] = include 'includes/emails/class-wc-gzd-email-customer-processing-order.php';
|
797 |
+
}
|
798 |
+
|
799 |
+
// Try to prevent the On Hold Email from being sent even though it is called directly via the trigger method
|
800 |
+
if ( isset( $mails['WC_Email_Customer_On_Hold_Order'] ) ) {
|
801 |
+
$mails['WC_Email_Customer_On_Hold_Order'] = include 'includes/emails/class-wc-gzd-email-customer-on-hold-order.php';
|
802 |
}
|
803 |
|
804 |
return $mails;
|
wpml-config.xml
CHANGED
@@ -40,8 +40,6 @@
|
|
40 |
<key name="company_identification_number" />
|
41 |
<key name="checkbox_label" />
|
42 |
</key>
|
43 |
-
<key name="woocommerce_gzd_order_confirmation_legal_digital_notice" />
|
44 |
-
<key name="woocommerce_gzd_order_confirmation_legal_service_notice" />
|
45 |
<key name="woocommerce_gzd_legal_checkboxes_settings">
|
46 |
<key name="*">
|
47 |
<key name="admin_name" />
|
40 |
<key name="company_identification_number" />
|
41 |
<key name="checkbox_label" />
|
42 |
</key>
|
|
|
|
|
43 |
<key name="woocommerce_gzd_legal_checkboxes_settings">
|
44 |
<key name="*">
|
45 |
<key name="admin_name" />
|