Version Description
- Feature - set free shipping option for products do disable "plus shipping costs" notice
- Feature - forwarding fee for cash on delivery
- Feature - better WPML compatibility
- Feature - better virtual vat calculation (if enabled)
- Fix - payment methods shortcode to include payment fees
- Fix - remove order total html for better compatibility
- Fix - show notices (theme, pro) in backend only after major releases
- Fix - clear cart after order (if customer cancellations of orders has been disabled)
- Fix - variable products delivery time removal (admin screen)
- Fix - tour hide referer improvement
Download this release
Release Info
Developer | vendidero |
Plugin | WooCommerce Germanized |
Version | 1.4.6 |
Comparing to | |
See all releases |
Code changes from version 1.4.5 to 1.4.6
- i18n/languages/woocommerce-germanized-de_DE.mo +0 -0
- i18n/languages/woocommerce-germanized-de_DE.po +231 -192
- includes/abstracts/abstract-wc-gzd-product.php +12 -3
- includes/admin/class-wc-gzd-admin.php +1 -1
- includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php +5 -1
- includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php +19 -7
- includes/admin/settings/class-wc-gzd-settings-germanized.php +16 -1
- includes/admin/views/html-tour-display.php +1 -1
- includes/admin/views/html-tour-general.php +1 -1
- includes/class-wc-gzd-cart-2-2.php +0 -352
- includes/class-wc-gzd-cart.php +0 -383
- includes/class-wc-gzd-checkout.php +2 -2
- includes/class-wc-gzd-dependencies.php +2 -1
- includes/class-wc-gzd-hook-priorities.php +1 -0
- includes/class-wc-gzd-install.php +16 -3
- includes/class-wc-gzd-payment-gateways.php +37 -5
- includes/class-wc-gzd-shortcodes.php +2 -0
- includes/class-wc-gzd-virtual-vat-helper.php +53 -0
- includes/class-wc-gzd-wpml-helper.php +59 -0
- includes/updates/woocommerce-gzd-update-1.4.2.php +1 -25
- includes/updates/woocommerce-gzd-update-1.4.6.php +16 -0
- includes/wc-gzd-cart-functions.php +1 -1
- includes/wc-gzd-core-functions.php +11 -0
- includes/wc-gzd-order-functions.php +28 -0
- includes/wc-gzd-template-functions.php +18 -0
- includes/wc-gzd-template-hooks.php +3 -0
- readme.txt +18 -8
- templates/global/payment-methods.php +1 -1
- templates/single-product/legal-info.php +1 -1
- woocommerce-germanized.php +10 -98
- wpml-config.xml +1 -0
i18n/languages/woocommerce-germanized-de_DE.mo
CHANGED
Binary file
|
i18n/languages/woocommerce-germanized-de_DE.po
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: WooCommerce Germanized v1.4.
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2014-09-29 12:26+0100\n"
|
6 |
-
"PO-Revision-Date: 2015-10
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -163,7 +163,7 @@ msgstr "Angebots-Einheitspreis"
|
|
163 |
|
164 |
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:75
|
165 |
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:124
|
166 |
-
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:
|
167 |
#@ woocommerce-germanized
|
168 |
msgid "Delivery Time"
|
169 |
msgstr "Lieferzeit"
|
@@ -207,7 +207,7 @@ msgid "eKomi Options"
|
|
207 |
msgstr "eKomi"
|
208 |
|
209 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:121
|
210 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
211 |
#@ woocommerce-germanized
|
212 |
msgid "General"
|
213 |
msgstr "Allgemein"
|
@@ -370,163 +370,163 @@ msgstr "Versandkosten Text"
|
|
370 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:289
|
371 |
#@ woocommerce-germanized
|
372 |
msgid "This text will be used to inform the customer about shipping costs. Use {link}{/link} to insert link to shipping costs page."
|
373 |
-
msgstr "Dieser Text wird genutzt um die Kunden im Frontend über u.U. anfallende Lieferkosten zu informieren.
|
374 |
|
375 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:294
|
376 |
#@ woocommerce-germanized
|
377 |
msgid "plus {link}Shipping Costs{/link}"
|
378 |
msgstr "zzgl. {link}Versandkosten{/link}"
|
379 |
|
380 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
381 |
#: includes/wc-gzd-core-functions.php:45
|
382 |
#@ woocommerce-germanized
|
383 |
msgid "Right of Recission"
|
384 |
msgstr "Widerrufsrecht"
|
385 |
|
386 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
387 |
#@ woocommerce-germanized
|
388 |
msgid "Revocation Address"
|
389 |
msgstr "Widerruf richten an"
|
390 |
|
391 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
392 |
#@ woocommerce-germanized
|
393 |
msgid "Type in an address, telephone/telefax number, email address which is to be used as revocation address"
|
394 |
msgstr "Geben Sie hier Ihre Adresse, Telefon- und Faxnummer, E-Mail Adresse usw. an, an die Ihre Kunden Ihren Widerruf richten sollen"
|
395 |
|
396 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
397 |
#@ woocommerce-germanized
|
398 |
msgid "E-Mails"
|
399 |
msgstr "E-Mails"
|
400 |
|
401 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
402 |
#@ woocommerce-germanized
|
403 |
msgid "Add to Cart"
|
404 |
msgstr "Zum Warenkorb Button"
|
405 |
|
406 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
407 |
#@ woocommerce-germanized
|
408 |
msgid "Show add to cart button on listings?"
|
409 |
msgstr "Den zum Warenkorb Button in Produktlisten darstellen?"
|
410 |
|
411 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
412 |
#@ woocommerce-germanized
|
413 |
msgid "unset this option if you don't want to show the add to cart button within the product listings"
|
414 |
msgstr "Deaktivieren Sie diese Option, wenn Sie den zum Warenkorb Button nicht innerhalb von Produktauflistungen darstellen möchten"
|
415 |
|
416 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
417 |
#@ woocommerce-germanized
|
418 |
msgid "Notice Footer"
|
419 |
msgstr "Hinweise im Footer"
|
420 |
|
421 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
422 |
#@ woocommerce-germanized
|
423 |
msgid "Show a global VAT notice within footer"
|
424 |
msgstr "Einen seitenübergreifenden Hinweis bzgl. der MwSt. im Footer einfügen."
|
425 |
|
426 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
427 |
#@ woocommerce-germanized
|
428 |
msgid "Show a global sale price notice within footer"
|
429 |
msgstr "Einen seitenübergreifenden Hinweis bzgl. reduzierter Preise im Footer einfügen."
|
430 |
|
431 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
432 |
#@ woocommerce-germanized
|
433 |
msgid "Products"
|
434 |
msgstr "Produkt"
|
435 |
|
436 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
437 |
#@ woocommerce-germanized
|
438 |
msgid "Show within Product Listings"
|
439 |
msgstr "In Produktlisten"
|
440 |
|
441 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
442 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
443 |
#@ woocommerce-germanized
|
444 |
msgid "Shipping Costs notice"
|
445 |
msgstr "Versandkosten-Hinweis"
|
446 |
|
447 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
448 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
449 |
#@ woocommerce-germanized
|
450 |
msgid "Delivery Time Notice"
|
451 |
msgstr "Lieferzeiten-Hinweis"
|
452 |
|
453 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
454 |
#@ woocommerce-germanized
|
455 |
msgid "Show on Product Detail Page"
|
456 |
msgstr "Auf der Produktseite"
|
457 |
|
458 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
459 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
460 |
#@ woocommerce-germanized
|
461 |
msgid "Tax Info"
|
462 |
msgstr "MwSt. Hinweis"
|
463 |
|
464 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
465 |
#@ woocommerce-germanized
|
466 |
msgid "Checkout & Cart"
|
467 |
msgstr "Checkout & Warenkorb"
|
468 |
|
469 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
470 |
#@ woocommerce-germanized
|
471 |
msgid "Checkout Legal Display"
|
472 |
msgstr "Checkbox oder Text"
|
473 |
|
474 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
475 |
#@ woocommerce-germanized
|
476 |
msgid "Use Text without Checkbox"
|
477 |
msgstr "Rechtshinweis ohne Checkbox."
|
478 |
|
479 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
480 |
#@ woocommerce-germanized
|
481 |
msgid "This version will remove checkboxes from Checkout and display a text instead. This seems to be legally compliant (Zalando & Co are using this option)."
|
482 |
msgstr "Diese Option nutzt anstatt einer Checkbox einen ausformulierten Text direkt überhalb des Kauf abschließen Buttons (Zalando und Andere Shops verwenden diese Form)"
|
483 |
|
484 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
485 |
#@ woocommerce-germanized
|
486 |
msgid "Legal Text"
|
487 |
msgstr "Rechtlicher Hinweistext"
|
488 |
|
489 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
490 |
#@ woocommerce-germanized
|
491 |
msgid "Choose a Plain Text which will be shown right above checkout submit button. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
|
492 |
msgstr "Geben Sie hier den Text ein, den Sie als Hinweistext überhalb des \"Kaufen\" - Buttons darstellen möchten. Nutzen Sie die Platzhalter {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} um die jeweiligen Links zu den Seiten einzufügen."
|
493 |
|
494 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
495 |
#@ woocommerce-germanized
|
496 |
msgid "With your order, you agree to have read and understood our {term_link}Terms and Conditions{/term_link} and your {revocation_link}Right of Recission{/revocation_link}."
|
497 |
msgstr "Mit Ihrer Bestellung erklären Sie sich mit unseren {term_link}Allgemeinen Geschäftsbedingungen{/term_link} und {revocation_link}Widerrufsbestimmungen{/revocation_link} einverstanden."
|
498 |
|
499 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
500 |
#@ woocommerce-germanized
|
501 |
msgid "Legal Text Error"
|
502 |
msgstr "Fehlermeldung der Checkbox"
|
503 |
|
504 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
505 |
#@ woocommerce-germanized
|
506 |
msgid "If you have chosen to use checkbox validation please choose a error message which will be shown if the user doesn't check checkbox. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
|
507 |
msgstr "Falls Sie sich dazu entschieden haben, eine Checkbox zu nutzen, können Sie hier die Fehlermeldung eingeben, die angezeigt wird, wenn ein Benutzer die Checkbox nicht aktiviert hat. Nutzen Sie die Platzhalter um Links zu den jeweiligen Hinweisseiten einzufügen: {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link}"
|
508 |
|
509 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
510 |
#@ woocommerce-germanized
|
511 |
msgid "To finish the order you have to accept to our {term_link}Terms and Conditions{/term_link} and {revocation_link}Right of Recission{/revocation_link}."
|
512 |
msgstr "Bitte akzeptieren Sie unsere {term_link}Allgemeinen Geschäftsbedingungen{/term_link} und {revocation_link}Widerrufsbestimmungen{/revocation_link}."
|
513 |
|
514 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
515 |
#@ woocommerce-germanized
|
516 |
msgid "Order Success Text"
|
517 |
msgstr "Bestellung eingegangen"
|
518 |
|
519 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
520 |
#@ woocommerce-germanized
|
521 |
msgid "Choose a custom text to display on order success page."
|
522 |
msgstr "Hier können Sie einen individuellen kurzen Text eingeben, der nach der Bestellung ausgegeben wird."
|
523 |
|
524 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
525 |
#@ woocommerce-germanized
|
526 |
msgid "Order Success Data"
|
527 |
msgstr "Bestellbestätigungs-Daten"
|
528 |
|
529 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
530 |
#@ woocommerce-germanized
|
531 |
msgid "Hide product table and customer data on order success page"
|
532 |
msgstr "Produktdetails (Tabelle, Kundeninfos) von der Bestätigungsseite entfernen."
|
@@ -608,12 +608,14 @@ msgstr "Anrede"
|
|
608 |
|
609 |
#: includes/class-wc-gzd-checkout.php:149
|
610 |
#: includes/class-wc-gzd-checkout.php:157
|
|
|
611 |
#@ woocommerce-germanized
|
612 |
msgid "Sir"
|
613 |
msgstr "Herr"
|
614 |
|
615 |
#: includes/class-wc-gzd-checkout.php:149
|
616 |
#: includes/class-wc-gzd-checkout.php:157
|
|
|
617 |
#@ woocommerce-germanized
|
618 |
msgid "Madam"
|
619 |
msgstr "Frau"
|
@@ -713,73 +715,73 @@ msgstr "Ihren Widerruf online erklären"
|
|
713 |
msgid "Please install <a href=\"%s\" target=\"_blank\">WooCommerce</a> before installing WooCommerce Germanized. Thank you!"
|
714 |
msgstr "Bitte installieren Sie <a href=\"%s\" target=\"_blank\">WooCommerce</a> bevor Sie WooCommerce Germanized installieren. Vielen Dank!"
|
715 |
|
716 |
-
#: includes/class-wc-gzd-install.php:
|
717 |
#@ woocommerce-germanized
|
718 |
msgctxt "Page slug"
|
719 |
msgid "data-security"
|
720 |
msgstr "datenschutzbelehrung"
|
721 |
|
722 |
-
#: includes/class-wc-gzd-install.php:
|
723 |
#@ woocommerce-germanized
|
724 |
msgctxt "Page title"
|
725 |
msgid "Data Security Statement"
|
726 |
msgstr "Datenschutzbelehrung"
|
727 |
|
728 |
-
#: includes/class-wc-gzd-install.php:
|
729 |
#@ woocommerce-germanized
|
730 |
msgctxt "Page slug"
|
731 |
msgid "imprint"
|
732 |
msgstr "impressum"
|
733 |
|
734 |
-
#: includes/class-wc-gzd-install.php:
|
735 |
#@ woocommerce-germanized
|
736 |
msgctxt "Page title"
|
737 |
msgid "Imprint"
|
738 |
msgstr "Impressum"
|
739 |
|
740 |
-
#: includes/class-wc-gzd-install.php:
|
741 |
#@ woocommerce-germanized
|
742 |
msgctxt "Page slug"
|
743 |
msgid "terms"
|
744 |
msgstr "agb"
|
745 |
|
746 |
-
#: includes/class-wc-gzd-install.php:
|
747 |
#@ woocommerce-germanized
|
748 |
msgctxt "Page title"
|
749 |
msgid "Terms & Conditions"
|
750 |
msgstr "AGB"
|
751 |
|
752 |
-
#: includes/class-wc-gzd-install.php:
|
753 |
#@ woocommerce-germanized
|
754 |
msgctxt "Page slug"
|
755 |
msgid "revocation"
|
756 |
msgstr "widerrufsbelehrung"
|
757 |
|
758 |
-
#: includes/class-wc-gzd-install.php:
|
759 |
#@ woocommerce-germanized
|
760 |
msgctxt "Page title"
|
761 |
msgid "Power of Revocation"
|
762 |
msgstr "Widerrufsbelehrung"
|
763 |
|
764 |
-
#: includes/class-wc-gzd-install.php:
|
765 |
#@ woocommerce-germanized
|
766 |
msgctxt "Page slug"
|
767 |
msgid "payment-methods"
|
768 |
msgstr "bezahlmoeglichkeiten"
|
769 |
|
770 |
-
#: includes/class-wc-gzd-install.php:
|
771 |
#@ woocommerce-germanized
|
772 |
msgctxt "Page title"
|
773 |
msgid "Payment Methods"
|
774 |
msgstr "Zahlungsarten"
|
775 |
|
776 |
-
#: includes/class-wc-gzd-install.php:
|
777 |
#@ woocommerce-germanized
|
778 |
msgctxt "Page slug"
|
779 |
msgid "shipping-methods"
|
780 |
msgstr "versandarten"
|
781 |
|
782 |
-
#: includes/class-wc-gzd-install.php:
|
783 |
#@ woocommerce-germanized
|
784 |
msgctxt "Page title"
|
785 |
msgid "Shipping Methods"
|
@@ -1031,41 +1033,29 @@ msgstr "Diese E-Mail wird als Bestätigung an den Kunden weitergeleitet, sobald
|
|
1031 |
msgid "Your Revocation"
|
1032 |
msgstr "Ihr Widerruf"
|
1033 |
|
1034 |
-
#: includes/class-wc-gzd-payment-gateways.php:
|
1035 |
-
#, php-format
|
1036 |
-
#@ woocommerce-germanized
|
1037 |
-
msgid "plus %s payment charge"
|
1038 |
-
msgstr "zzgl. %s Zahlungsgebühr"
|
1039 |
-
|
1040 |
-
#: includes/class-wc-gzd-payment-gateways.php:39
|
1041 |
-
#, php-format
|
1042 |
-
#@ woocommerce-germanized
|
1043 |
-
msgid "Plus %s payment charge."
|
1044 |
-
msgstr "Zzgl. %s Zahlungsgebühr."
|
1045 |
-
|
1046 |
-
#: includes/class-wc-gzd-payment-gateways.php:81
|
1047 |
#@ woocommerce-germanized
|
1048 |
msgid "Fee"
|
1049 |
msgstr "Zahlungsgebühr"
|
1050 |
|
1051 |
-
#: includes/class-wc-gzd-payment-gateways.php:
|
1052 |
#@ woocommerce-germanized
|
1053 |
msgid "This fee is being added if customer selects payment method within checkout."
|
1054 |
msgstr "Diese Gebühr wird während der Bestellung hinzugefügt, falls der Kunde diese Zahlungsart aktiviert."
|
1055 |
|
1056 |
-
#: includes/class-wc-gzd-payment-gateways.php:
|
1057 |
#@ woocommerce-germanized
|
1058 |
msgid "Fee is taxable?"
|
1059 |
msgstr "Mwst. berechnen?"
|
1060 |
|
1061 |
-
#: includes/class-wc-gzd-payment-gateways.php:
|
1062 |
#@ woocommerce-germanized
|
1063 |
msgid "Payment charge"
|
1064 |
msgstr "Zahlungsgebühr"
|
1065 |
|
1066 |
#: includes/abstracts/abstract-wc-gzd-product.php:130
|
1067 |
#: includes/wc-gzd-cart-functions.php:159
|
1068 |
-
#: woocommerce-germanized.php:
|
1069 |
#, php-format
|
1070 |
#@ woocommerce-germanized
|
1071 |
msgid "incl. %s%% VAT"
|
@@ -1082,7 +1072,6 @@ msgstr "Bestellung bearbeiten"
|
|
1082 |
msgid "Choose a Payment Gateway"
|
1083 |
msgstr "Zahlungsart auswählen"
|
1084 |
|
1085 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:809
|
1086 |
#: includes/wc-gzd-cart-functions.php:194
|
1087 |
#@ woocommerce-germanized
|
1088 |
msgid "I want immediate access to the digital content and I acknowledge that thereby I lose my right to cancel once the service has begun."
|
@@ -1220,11 +1209,6 @@ msgstr "Alle Preise inkl. der gesetzlichen MwSt."
|
|
1220 |
msgid "All prices excl. VAT."
|
1221 |
msgstr "Alle Preise exkl. der gesetzlichen MwSt."
|
1222 |
|
1223 |
-
#: templates/footer/vat-info.php:15
|
1224 |
-
#@ woocommerce-germanized
|
1225 |
-
msgid "Because of the small business owner state according to §19 UStG the seller charge no sales tax, and therefore do not show it."
|
1226 |
-
msgstr "Kein Mehrwertsteuerausweis, da Kleinunternehmer nach §19 (1) UStG."
|
1227 |
-
|
1228 |
#: templates/forms/revocation-form.php:18
|
1229 |
#@ woocommerce-germanized
|
1230 |
msgctxt "revocation-form"
|
@@ -1237,14 +1221,8 @@ msgctxt "revocation-form"
|
|
1237 |
msgid "Forward Revocation"
|
1238 |
msgstr "Widerruf erklären"
|
1239 |
|
1240 |
-
#: templates/single-product/legal-info.php:19
|
1241 |
-
#: templates/single-product/tax-info.php:18
|
1242 |
-
#@ woocommerce-germanized
|
1243 |
-
msgid "VAT free based on §19 UStG"
|
1244 |
-
msgstr "Kein Mehrwertsteuerausweis, da Kleinunternehmer nach §19 (1) UStG."
|
1245 |
-
|
1246 |
#: includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:50
|
1247 |
-
#: woocommerce-germanized.php:
|
1248 |
#@ woocommerce
|
1249 |
msgid "Settings"
|
1250 |
msgstr "Einstellungen"
|
@@ -1423,12 +1401,12 @@ msgctxt "trusted-shops"
|
|
1423 |
msgid "%s of %s based on %s <a href=\"%s\" target=\"_blank\">ratings</a>."
|
1424 |
msgstr "%s von %s basierend auf %s <a href=\"%s\" target=\"_blank\">Bewertungen</a>."
|
1425 |
|
1426 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1427 |
#@ woocommerce-germanized
|
1428 |
msgid "Checkout Table Color"
|
1429 |
msgstr "Hintergrundfarbe der Tabelle"
|
1430 |
|
1431 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1432 |
#@ woocommerce-germanized
|
1433 |
msgid "Choose the color of your checkout product table. This table should be highlighted within your checkout page."
|
1434 |
msgstr "Wähle die Farbe des Hintergrundes deiner Produkt-Tabelle im Checkout. Die Tabelle sollte sich farblich vom Rest des Inhalts abheben."
|
@@ -1465,47 +1443,47 @@ msgstr "Theme ist noch nicht für WooCommerce Germanized optimiert"
|
|
1465 |
msgid "It seems like your theme is not yet ready for WooCommerce Germanized. Please check your theme's styles. Some things might look weird - WooCommerce Germanized can only offer basic styles. See <a href=\"%s\" target=\"_blank\">making your theme compatible</a> or check out our Theme <a href=\"%s\" target=\"_blank\">VendiPro</a> for 100% compatibility."
|
1466 |
msgstr "Wir haben festgestellt, dass dein Theme scheinbar noch nicht für WooCommerce Germanized optimiert ist. Bitte überprüfe die Style-Angaben deines Themes bzw. das Aussehen deines Shops. Manche Elemente werden möglicherweise falsch dargestellt - WooCommerce Germanized kann nur grundlegende Style-Angaben machen. Lies dir dazu <a href=\"%s\" target=\"_blank\">wie mache ich mein Theme kompatibel</a> durch oder nutze das von uns entwickelte Theme <a href=\"%s\" target=\"_blank\">VendiPro</a> für 100% Kompatibilität."
|
1467 |
|
1468 |
-
#: includes/class-wc-gzd-payment-gateways.php:
|
1469 |
#@ woocommerce-germanized
|
1470 |
msgid "Check if fee is taxable."
|
1471 |
msgstr "MwSt.-Berechnung für Gebühr aktivieren."
|
1472 |
|
1473 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1474 |
#@ woocommerce-germanized
|
1475 |
msgid "Legal Digital Text"
|
1476 |
msgstr "Hinweis Digital"
|
1477 |
|
1478 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1479 |
#@ woocommerce-germanized
|
1480 |
msgid "Choose a Plain Text which will be shown right above checkout submit button if a user has picked a digital product. See legal text option for possible placeholders."
|
1481 |
msgstr "Passen Sie hier optional den Hinweistext an, der angezeigt wird, wenn ein Kunde ein digitales Produkt im Warenkorb hat. Sie können hier die gleichen Platzhalter verwenden wie beim Rechtlichen Hinweistext"
|
1482 |
|
1483 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1484 |
#@ woocommerce-germanized
|
1485 |
msgid "Link to Details"
|
1486 |
msgstr "Verlinkung zu Produktdetails"
|
1487 |
|
1488 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1489 |
#@ woocommerce-germanized
|
1490 |
msgid "Want to link to product details page instead of add to cart within listings?"
|
1491 |
msgstr "Zum Warenkorb Button mit Button zur Produktdetail-Seite ersetzen?"
|
1492 |
|
1493 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1494 |
#@ woocommerce-germanized
|
1495 |
msgid "Decide whether you like to link to your product's details page instead of displaying an add to cart button within product listings."
|
1496 |
msgstr "Wenn du lieber einen Link zu deiner Produktseite anstatt eines zum Warenkorb Buttons innerhalb von Produktauflistungen haben möchtest, dann setze einfach diese Option."
|
1497 |
|
1498 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1499 |
#@ woocommerce-germanized
|
1500 |
msgid "Product Details Text"
|
1501 |
msgstr "Produktdetails Text"
|
1502 |
|
1503 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1504 |
#@ woocommerce-germanized
|
1505 |
msgid "Details"
|
1506 |
msgstr "Details"
|
1507 |
|
1508 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1509 |
#@ woocommerce-germanized
|
1510 |
msgid "If you have chosen to link to product details page instead of add to cart URL you may want to change the button text."
|
1511 |
msgstr "Wenn du dich dazu entschlossen hast, lieber auf die Produktseite zu verlinken anstatt den zum Warenkorb Button einzublenden, kannst du hier einen Button-Text vergeben."
|
@@ -1606,19 +1584,19 @@ msgstr "jetzt Bewertung verfassen"
|
|
1606 |
msgid "Found Bugs?"
|
1607 |
msgstr "Bugs oder Wünsche melden"
|
1608 |
|
1609 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1610 |
#@ woocommerce-germanized
|
1611 |
msgid "Shipping Costs for Virtual"
|
1612 |
msgstr "Versandkosten virtuell"
|
1613 |
|
1614 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1615 |
#@ woocommerce-germanized
|
1616 |
msgid "Select this option if you want to display shipping costs notice for virtual products."
|
1617 |
msgstr "Versandkosten-Hinweis auch für virtuelle Produkte aktivieren?"
|
1618 |
|
1619 |
#: includes/abstracts/abstract-wc-gzd-product.php:128
|
1620 |
#: includes/wc-gzd-cart-functions.php:159
|
1621 |
-
#: woocommerce-germanized.php:
|
1622 |
#@ woocommerce-germanized
|
1623 |
msgid "incl. VAT"
|
1624 |
msgstr "inkl. MwSt."
|
@@ -1628,23 +1606,23 @@ msgstr "inkl. MwSt."
|
|
1628 |
msgid "excl. VAT"
|
1629 |
msgstr "exkl. MwSt."
|
1630 |
|
1631 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1632 |
#: includes/admin/views/html-page-status-germanized.php:81
|
1633 |
#@ woocommerce-germanized
|
1634 |
msgid "Virtual VAT"
|
1635 |
msgstr "USt. Änderung 2015"
|
1636 |
|
1637 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1638 |
#@ woocommerce-germanized
|
1639 |
msgid "Enable Virtual VAT"
|
1640 |
msgstr "USt. Anpassung aktivieren"
|
1641 |
|
1642 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1643 |
#@ woocommerce-germanized
|
1644 |
msgid "Enable if you want to charge your customer's countries' VAT for virtual products."
|
1645 |
msgstr "Aktiviere diese Option um für virtuelle Produkte den USt.-Satz des Dienstleistungsempfängers zu berechnen."
|
1646 |
|
1647 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1648 |
#, php-format
|
1649 |
#@ woocommerce-germanized
|
1650 |
msgid "New EU VAT rule applies on 01.01.2015. Make sure that every digital or virtual product has chosen the right tax class (Virtual Rate or Virtual Reduced Rate). Gross prices will not differ from the prices you have chosen for affected products. In fact the net price will differ depending on the VAT rate of your customers' country. Shop settings will be adjusted to show prices including tax. More information can be found <a href=\"%s\" target=\"_blank\">here</a>."
|
@@ -1660,12 +1638,12 @@ msgstr "EU MwSt.-Sätze anlegen"
|
|
1660 |
msgid "We will automatically insert EU VAT Rates for selling virtual products."
|
1661 |
msgstr "Wir übernehmen das Einfügen der unterschiedlichen EU MwSt.-Sätze für dich."
|
1662 |
|
1663 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1664 |
#@ woocommerce-germanized
|
1665 |
msgid "{price}"
|
1666 |
msgstr "{price}"
|
1667 |
|
1668 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1669 |
#@ woocommerce-germanized
|
1670 |
msgid "Sorry, but the new Virtual VAT rules cannot be applied to small business."
|
1671 |
msgstr "Sorry aber die neuen USt-Regelungen für virtuelle Produkte lassen sich leider nicht mit dem Kleinunternehmer vereinbaren. Bitte kontaktiere deinen Steuerberater für weitere Informationen."
|
@@ -1680,62 +1658,62 @@ msgstr "Anrede im Checkout"
|
|
1680 |
msgid "Add a title field to the address within checkout?"
|
1681 |
msgstr "Fügt ein Feld \"Anrede\" im Checkout hinzu."
|
1682 |
|
1683 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1684 |
#@ woocommerce-germanized
|
1685 |
msgid "Show digital notice"
|
1686 |
msgstr "Checkbox digitale Produkte"
|
1687 |
|
1688 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1689 |
#@ woocommerce-germanized
|
1690 |
msgid "Show checkbox for digital products."
|
1691 |
msgstr "Checkbox bei digitalen Produkten anzeigen."
|
1692 |
|
1693 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1694 |
#@ woocommerce-germanized
|
1695 |
msgid "Disable this option if you want your customers to obtain their right of recission even if digital products are being bought."
|
1696 |
msgstr "Diese Option setzt im Checkout eine Checkbox falls sich im Warenkorb digitale Produkte befinden. Hier können Kunden darauf aufmerksam gemacht werden, dass im Falle von digitalen Produkten das Widerrufsrecht erlischt."
|
1697 |
|
1698 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1699 |
#@ woocommerce-germanized
|
1700 |
msgid "Show Thumbnails"
|
1701 |
msgstr "Thumbnails anzeigen"
|
1702 |
|
1703 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1704 |
#@ woocommerce-germanized
|
1705 |
msgid "Show product thumbnails on checkout page?"
|
1706 |
msgstr "Produktbilder im Checkout darstellen?"
|
1707 |
|
1708 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1709 |
#@ woocommerce-germanized
|
1710 |
msgid "Uncheck if you don't want to show your product thumbnails within checkout table."
|
1711 |
msgstr "Deaktiviere diese Option, wenn du keine Produkbilder im Checkout angezeigt bekommen möchtest."
|
1712 |
|
1713 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1714 |
#@ woocommerce-germanized
|
1715 |
msgid "Hide Shipping Select"
|
1716 |
msgstr "Versandarten Auswahl"
|
1717 |
|
1718 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1719 |
#@ woocommerce-germanized
|
1720 |
msgid "Hide shipping rate selection from checkout?"
|
1721 |
msgstr "Die Auswahl von Versandarten im Checkout deaktivieren?"
|
1722 |
|
1723 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1724 |
#@ woocommerce-germanized
|
1725 |
msgid "This option will hide shipping rate selection from checkout. By then customers will only be able to change their shipping rate on cart page."
|
1726 |
msgstr "Diese Option deaktiviert die Darstellung der Versandarten Auswahl im Checkout. Kunden können von nun an nur noch über den Warenkorb die Versandmethode ändern."
|
1727 |
|
1728 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1729 |
#@ woocommerce-germanized
|
1730 |
msgid "Hide taxes estimated"
|
1731 |
msgstr "Hinweis \"Steuern geschätzt\""
|
1732 |
|
1733 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1734 |
#@ woocommerce-germanized
|
1735 |
msgid "Do you want to hide the \"taxes and shipping estimated\" text from your cart?"
|
1736 |
msgstr "Den Hinweis \"Versandkosten und Steuern werden geschätzt\" entfernen?"
|
1737 |
|
1738 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1739 |
#@ woocommerce-germanized
|
1740 |
msgid "By default WooCommerce adds a \"taxes and shipping estimated\" text to your cart. This might puzzle your customers and may not meet german law."
|
1741 |
msgstr "Der Hinweistext im Warenkorb zur Schätzung von Steuern und Versandkosten kann für Verwirrung beim Kunden sorgen und scheint nicht für den deutschen Markt geeignet."
|
@@ -1746,79 +1724,79 @@ msgstr "Der Hinweistext im Warenkorb zur Schätzung von Steuern und Versandkoste
|
|
1746 |
msgid "excl. %s%% VAT"
|
1747 |
msgstr "exkl. %s%% MwSt."
|
1748 |
|
1749 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1750 |
#@ woocommerce-germanized
|
1751 |
msgid "Show back to cart button"
|
1752 |
msgstr "Bestellung bearbeiten"
|
1753 |
|
1754 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1755 |
#@ woocommerce-germanized
|
1756 |
msgid "Show back to cart button within your checkout table?"
|
1757 |
msgstr "Einen \"Bestellung bearbeiten\" Button in der Bestellübersicht anzeigen?"
|
1758 |
|
1759 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1760 |
#@ woocommerce-germanized
|
1761 |
msgid "This button may let your customer edit their order before submitting. Some people state that this button should be hidden to avoid legal problems."
|
1762 |
msgstr "Dieser Button ermöglicht es deinen Kunden etwaige Falscheingaben (d.h. fälschlich ausgewählte Produkte) zu korrigieren und zurück zum Warenkorb zu gelangen. Je nach Darstellung in deinem Theme könnte es allerdings auch das Risiko für Abmahnungen erhöhen, da zwischen Pflichtangaben und Kaufen-Button keine weitere Informationen abgedruckt werden sollten."
|
1763 |
|
1764 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1765 |
#@ woocommerce-germanized
|
1766 |
msgid "Shipping Costs Tax"
|
1767 |
msgstr "Steuerberechnung"
|
1768 |
|
1769 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1770 |
#@ woocommerce-germanized
|
1771 |
msgid "Enable better taxation for shpping costs?"
|
1772 |
msgstr "Genauere Steuerberechnung für Versandkosten aktivieren?"
|
1773 |
|
1774 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1775 |
#, php-format
|
1776 |
#@ woocommerce-germanized
|
1777 |
msgid "By choosing this option shipping cost taxation will be calculated based on tax rates within cart. Imagine the following example. Further information can be found <a href=\"%s\" target=\"_blank\">here</a>. %s"
|
1778 |
msgstr "Mit der Auswahl dieser Option werden die Steuern für Versandkosten basierend auf den Anteilen der Steuersätze der Artikel im Warenkorb berechnet. Weitere Informationen findest du <a href=\"%s\" target=\"_blank\">hier</a>. Falls du vorher mit Nettobeträgen gearbeitet hast, ändere die Versandkosten bitte in Bruttobeträge. Hier ein kleines Beispiel: %s"
|
1779 |
|
1780 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1781 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1782 |
#@ woocommerce-germanized
|
1783 |
msgid "Force Tax Calculation"
|
1784 |
msgstr "Steuerberechnung erzwingen"
|
1785 |
|
1786 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1787 |
#@ woocommerce-germanized
|
1788 |
msgid "Force shipping costs tax calculation for every method?"
|
1789 |
msgstr "Erzwinge die Besteuerung für Versandkosten für jede Versandart?"
|
1790 |
|
1791 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1792 |
#@ woocommerce-germanized
|
1793 |
msgid "This option will overwrite settings for each individual shipping method to force tax calculation (instead of only calculating tax for those methods which are taxeable)."
|
1794 |
msgstr "Diese Option überschreibt alle abweichenden Einstellungen verschiedener Versandarten und erzwingt die Steuerberechnung."
|
1795 |
|
1796 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1797 |
#@ woocommerce-germanized
|
1798 |
msgid "Fees"
|
1799 |
msgstr "Gebühren"
|
1800 |
|
1801 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1802 |
#@ woocommerce-germanized
|
1803 |
msgid "Fee Tax"
|
1804 |
msgstr "Steuerberechnung"
|
1805 |
|
1806 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1807 |
#@ woocommerce-germanized
|
1808 |
msgid "Enable better taxation for fees?"
|
1809 |
msgstr "Genauere Steuerberechnung für Gebühren aktivieren?"
|
1810 |
|
1811 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1812 |
#@ woocommerce-germanized
|
1813 |
msgid "By choosing this option fee taxation will be calculated based on tax rates within cart. See shipping costs taxation for more information."
|
1814 |
msgstr "Mit Hilfe dieser Option werden die Steuern für Gebühren basierend auf den Steuersätzen der Artikel im Warenkorb berechnet (siehe Steuern für Versandkosten für weitere Informationen). Bitte passe auch hier etwaige Nettobeträge in Bruttobeträge an."
|
1815 |
|
1816 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1817 |
#@ woocommerce-germanized
|
1818 |
msgid "Force fee tax calculation for every fee?"
|
1819 |
msgstr "Berechnung der Steuern für Gebühren erzwingen?"
|
1820 |
|
1821 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1822 |
#@ woocommerce-germanized
|
1823 |
msgid "This option will overwrite settings for each individual fee to force tax calculation (instead of only calculating tax for those fees which are taxeable)."
|
1824 |
msgstr "Diese Option überschreibt die Einstellungen aller Gebühren und erzwingt die Steuerberechnung."
|
@@ -1844,33 +1822,33 @@ msgstr "Double Opt-In"
|
|
1844 |
msgid "Yes, customer opted in"
|
1845 |
msgstr "Ja, Kunde wurde per Double Opt-In bestätigt."
|
1846 |
|
1847 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1848 |
#@ woocommerce-germanized
|
1849 |
msgid "Customers"
|
1850 |
msgstr "Kunden"
|
1851 |
|
1852 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1853 |
#@ woocommerce-germanized
|
1854 |
msgid "Customer Double Opt In"
|
1855 |
msgstr "Double Opt-In"
|
1856 |
|
1857 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1858 |
#@ woocommerce-germanized
|
1859 |
msgid "Enable customer double opt in on registration?"
|
1860 |
msgstr "Double Opt-In Verfahren für Kundenkonten aktivieren?"
|
1861 |
|
1862 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1863 |
#, php-format
|
1864 |
#@ woocommerce-germanized
|
1865 |
msgid "If customer chooses to create a customer account an email with an activation link will be sent by mail. Customer account will be marked as activated if user clicks on the link within the email. More information on this topic can be found <a href=\"%s\" target=\"_blank\">here</a>."
|
1866 |
msgstr "Wenn ein Kunde sich dazu entscheidet ein Benutzerkonto zu erstellen, erhält dieser eine E-Mail mit einem Bestätigungslink. Insofern der Kunde diesen Bestätigungslink anklickt, wird das Konto als bestätigt markiert. Dieses Verfahren ist laut Amtsgericht Berlin Pankow/Weißensee notwendig. Mehr Informationen findest du <a href=\"%s\" target=\"_blank\">hier</a>."
|
1867 |
|
1868 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1869 |
#@ woocommerce-germanized
|
1870 |
msgid "Delete Unactivated After"
|
1871 |
msgstr "Unaktivierte löschen nach"
|
1872 |
|
1873 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1874 |
#@ woocommerce-germanized
|
1875 |
msgid "This will make sure unactivated customer accounts will be deleted after X days. Set to 0 if you don't want to automatically delete unactivated customers."
|
1876 |
msgstr "Diese Option sorgt dafür, dass unaktivierte Kundenkonten nach X Tagen automatisch gelöscht werden. Falls du die Löschung verhindern möchtest, setze den Wert auf 0."
|
@@ -1920,22 +1898,22 @@ msgstr "Wenn Sie bei %s kein Benutzerkonto eröffnet haben, ignorieren Sie diese
|
|
1920 |
msgid "If you cannot follow the link above please copy this url and paste it to your browser bar: %s"
|
1921 |
msgstr "Falls Sie dem Link nicht folgen können, kopieren Sie bitte folgende URL in die Adresszeile Ihres Browsers: %s"
|
1922 |
|
1923 |
-
#: woocommerce-germanized.php:
|
1924 |
#@ woocommerce-germanized
|
1925 |
msgid "Thank you. You have successfully activated your account."
|
1926 |
msgstr "Vielen Dank. Ihr Benutzerkonto wurde erfolgreich aktiviert."
|
1927 |
|
1928 |
-
#: woocommerce-germanized.php:
|
1929 |
#@ woocommerce-germanized
|
1930 |
msgid "Sorry, but this activation code cannot be found."
|
1931 |
msgstr "Sorry, dieser Aktivierungscode ist uns leider nicht bekannt."
|
1932 |
|
1933 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1934 |
#@ woocommerce-germanized
|
1935 |
msgid "days"
|
1936 |
msgstr "Tagen"
|
1937 |
|
1938 |
-
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:
|
1939 |
#@ woocommerce-germanized
|
1940 |
msgid "Search for a delivery time…"
|
1941 |
msgstr "Lieferzeit suchen…"
|
@@ -1958,7 +1936,7 @@ msgstr "https://www.vendidero.de/woocommerce-germanized"
|
|
1958 |
msgid "https://vendidero.de"
|
1959 |
msgstr "https://vendidero.de"
|
1960 |
|
1961 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
1962 |
#: includes/admin/views/html-page-status-germanized.php:55
|
1963 |
#@ woocommerce-germanized
|
1964 |
msgid "Fallback Mode"
|
@@ -2077,22 +2055,17 @@ msgstr "Neue Einheit anlegen"
|
|
2077 |
msgid "New Unit Name"
|
2078 |
msgstr "Name der neuen Einheit"
|
2079 |
|
2080 |
-
#:
|
2081 |
-
#@ woocommerce-germanized
|
2082 |
-
msgid "Because of the small business owner state according to §19 UstG the seller does not levy nor state the German value added tax."
|
2083 |
-
msgstr "Kein Mehrwertsteuerausweis, da Kleinunternehmer nach §19 (1) UStG."
|
2084 |
-
|
2085 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:740
|
2086 |
#@ woocommerce-germanized
|
2087 |
msgid "Show edit data notice"
|
2088 |
msgstr "Bestellung prüfen Hinweis"
|
2089 |
|
2090 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2091 |
#@ woocommerce-germanized
|
2092 |
msgid "Show a \"check-your-entries\" notice to the user?"
|
2093 |
msgstr "Einen \"Bestellung prüfen\" Hinweis anzeigen?"
|
2094 |
|
2095 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2096 |
#@ woocommerce-germanized
|
2097 |
msgid "This notice will be added right before the order comments field."
|
2098 |
msgstr "Dieser Hinweis wird direkt oberhalb des Bestellhinweise-Feldes eingefügt."
|
@@ -2114,20 +2087,20 @@ msgid "Contract"
|
|
2114 |
msgstr "Kaufvertrag"
|
2115 |
|
2116 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:177
|
2117 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2118 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2119 |
#, php-format
|
2120 |
#@ woocommerce-germanized
|
2121 |
msgid "%sUpgrade to %spro%s%s to unlock this feature and get premium support."
|
2122 |
msgstr "%sUpgrade zur %spro%s Version%s um dieses Feature nutzen zu können und erhalte professionellen Support."
|
2123 |
|
2124 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2125 |
#@ woocommerce-germanized
|
2126 |
msgctxt "invoices"
|
2127 |
msgid "Invoices"
|
2128 |
msgstr "Rechnungen"
|
2129 |
|
2130 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2131 |
#@ woocommerce-germanized
|
2132 |
msgid "VAT"
|
2133 |
msgstr "Umsatzsteuer"
|
@@ -2185,13 +2158,13 @@ msgstr "Du hast noch keine AGB? <a href=\"%s\">Jetzt generieren</a>!"
|
|
2185 |
msgid "Don't have a revocation page yet? <a href=\"%s\">Generate now</a>!"
|
2186 |
msgstr "Du hast noch keine Widerrufsbelehrung? <a href=\"%s\">Jetzt generieren</a>!"
|
2187 |
|
2188 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2189 |
#, php-format
|
2190 |
#@ woocommerce-germanized
|
2191 |
msgid "Attach %s"
|
2192 |
msgstr "%s"
|
2193 |
|
2194 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2195 |
#, php-format
|
2196 |
#@ woocommerce-germanized
|
2197 |
msgid "Attach %s to the following email templates"
|
@@ -2202,7 +2175,7 @@ msgstr "%s an die folgenden E-Mail Templates anfügen"
|
|
2202 |
msgid "Data Security"
|
2203 |
msgstr "Datenschutzbelehrung"
|
2204 |
|
2205 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2206 |
#@ woocommerce-germanized
|
2207 |
msgid "Use drag & drop to customize attachment order. Don't forget to save your changes."
|
2208 |
msgstr "Verwende Drag & Drop um die Reihenfolge der Texte in den E-Mails zu beeinflussen und speichere anschließend deine Änderungen."
|
@@ -2255,58 +2228,58 @@ msgstr "Premium Support via Ticket-System"
|
|
2255 |
msgid "Learn more about Pro Version"
|
2256 |
msgstr "Mehr über die Pro Version erfahren"
|
2257 |
|
2258 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2259 |
#: includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php:300
|
2260 |
#@ woocommerce-germanized
|
2261 |
msgid "Checkbox"
|
2262 |
msgstr "Checkbox"
|
2263 |
|
2264 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2265 |
#@ woocommerce-germanized
|
2266 |
msgid "Add a checkbox to customer registration form."
|
2267 |
msgstr "Füge eine Checkbox zum Formular für die Kundenregistrierung hinzu."
|
2268 |
|
2269 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2270 |
#@ woocommerce-germanized
|
2271 |
msgid "Checkbox text"
|
2272 |
msgstr "Checkbox Text"
|
2273 |
|
2274 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2275 |
#@ woocommerce-germanized
|
2276 |
msgid "Choose a Plain Text which will be shown as checkbox text for customer account creation. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
|
2277 |
msgstr "Dieser Text dient als Hinweistext für die Erstellung eines Kundenkontos und wird neben der Checkbox dargestellt. Verwende {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} als Platzhalter für die Links zu den rechtlichen Hinweisseiten."
|
2278 |
|
2279 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2280 |
#@ woocommerce-germanized
|
2281 |
msgid "Yes, I’d like create a new account and have read and understood the {data_security_link}data privacy statement{/data_security_link}."
|
2282 |
msgstr "Ja, ich möchte ein Kundenkonto eröffnen und akzeptiere die {data_security_link}Datenschutzerklärung{/data_security_link}."
|
2283 |
|
2284 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2285 |
#@ woocommerce-germanized
|
2286 |
msgid "Checkout"
|
2287 |
msgstr "Kasse"
|
2288 |
|
2289 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2290 |
#@ woocommerce-germanized
|
2291 |
msgid "Replace default WooCommerce text regarding account creation during checkout."
|
2292 |
msgstr "Ersetze den WooCommerce Text (Kundenkonto erstellen?) durch den o.g. Hinweis."
|
2293 |
|
2294 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2295 |
#@ woocommerce-germanized
|
2296 |
msgid "Use the text from above instead of the default WooCommerce text regarding account creation during checkout. This checkbox is only show if you have activated guest accounts."
|
2297 |
msgstr "Nutze den oben festgelegten Hinweistext anstelle des WooCommerce Standardtextes für die Checkbox zum Erstellen von Kundenkonten während des Bestellvorganges. Die Checkbox wird nur angezeigt, wenn du Gast-Checkouts zulässt."
|
2298 |
|
2299 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2300 |
#@ woocommerce-germanized
|
2301 |
msgid "Pay now Button"
|
2302 |
msgstr "Jetzt bezahlen Button"
|
2303 |
|
2304 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2305 |
#@ woocommerce-germanized
|
2306 |
msgid "Add a pay now button to emails and order success page."
|
2307 |
msgstr "Füge einen jetzt bezahlen - Button zur E-Mail und der Bestätigungs-Seite hinzu."
|
2308 |
|
2309 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2310 |
#@ woocommerce-germanized
|
2311 |
msgid "Add a pay now button to order confirmation email and order success page if the order awaits payment (PayPal etc)."
|
2312 |
msgstr "Füge einen jetzt bezahlen - Button zur Bestellbestätigungs-Email sowie zur Bestätigungs-Seite hinzu insofern die Bestellung eine automatisierte Zahlung benötigt (z.B. per PayPal)."
|
@@ -2469,17 +2442,17 @@ msgstr "Tools"
|
|
2469 |
msgid "Logs"
|
2470 |
msgstr ""
|
2471 |
|
2472 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2473 |
#@ woocommerce-germanized
|
2474 |
msgid "Force free shipping"
|
2475 |
msgstr "Versandmethode erzwingen"
|
2476 |
|
2477 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2478 |
#@ woocommerce-germanized
|
2479 |
msgid "Force free shipping method if available?"
|
2480 |
msgstr "Kostenlosen Versand erzwingen wenn die Methode zur Verfügung steht?"
|
2481 |
|
2482 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2483 |
#@ woocommerce-germanized
|
2484 |
msgid "By default WooCommerce will let customers choose other shipping methods than free shipping (if available). This option will force free shipping if available."
|
2485 |
msgstr "Standardmäßig erlaubt WooCommerce die Auswahl anderer Versandmethoden, auch wenn kostenloser Versand möglich ist. Diese Option erzwingt den kostenlosen Versand, sobald dieser verfügbar ist."
|
@@ -2495,12 +2468,12 @@ msgstr "Berechnung"
|
|
2495 |
msgid "Calculate unit prices automatically based on product price"
|
2496 |
msgstr "Einheitspreise basierend auf dem Produktpreis automatisch berechnen"
|
2497 |
|
2498 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2499 |
#@ woocommerce-germanized
|
2500 |
msgid "Enable to make sure default checkout template is not being overriden by theme."
|
2501 |
msgstr "Überschreiben relevanter Templates im Checkout durch dein Theme verhindern."
|
2502 |
|
2503 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2504 |
#@ woocommerce-germanized
|
2505 |
msgid "If you are facing problems within your checkout e.g. legally relevant data is not showing (terms, delivery time, unit price etc.) your theme seems to be incompatible (not using default WooCommerce hooks and filters). As a workaround you may use this fallback which ensures default review-order.php and form-checkout.php is used."
|
2506 |
msgstr "Wenn du Probleme während des Checkouts hast (Inhalte werden falsch, nicht oder doppelt dargestellt), dann könntest du als Workaround diese Option aktivieren. Diese Option hindert dein Theme relevante Templates für den Checkout (review-order.php und form-checkout.php) zu überschreiben. "
|
@@ -2829,17 +2802,17 @@ msgstr "Aktiviere die Zahlungsart nur dann, wenn der Kunde bereits eine Bestellu
|
|
2829 |
msgid "Enable \"agree to SEPA mandate\" checkbox"
|
2830 |
msgstr "Aktiviere die Checkbox zur Bestätigung des Lastschriftmandates."
|
2831 |
|
2832 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2833 |
#@ woocommerce-germanized
|
2834 |
msgid "Digital Confirmation Notice"
|
2835 |
msgstr "Digitale Bestätigung"
|
2836 |
|
2837 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2838 |
#@ woocommerce-germanized
|
2839 |
msgid "This text will be appended to your order processing email if the order contains digital products. Use placeholders {link}{/link} to insert link to right of withdrawal page."
|
2840 |
msgstr "Dieser Text wird an deine Bestellbestätigungs-Email (unterhalb der Tabelle) angehängt, sobald ein Kunde ein digitales Produkt gekauft hat. Verwende die Platzhalter {link}{/link} um einen Link zur Widerrufsbelehrung einzufügen."
|
2841 |
|
2842 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2843 |
#@ woocommerce-germanized
|
2844 |
msgid "Furthermore you have expressly agreed to start the performance of the contract for digital items (e.g. downloads) before expiry of the withdrawal period. I have noted to lose my {link}right of withdrawal{/link} with the beginning of the performance of the contract."
|
2845 |
msgstr "Außerdem haben Sie ausdrücklich zugestimmt, dass für die digitalen Inhalte Ihrer Bestellung mit der Ausführung des Vertrags bereits vor Ablauf der Widerrufsfrist begonnen wird. Sie haben auch zur Kenntnis genommen, dass Sie mit Beginn der Ausführung des Vertrags Ihr {link}Widerrufsrecht{/link} verlieren."
|
@@ -2850,7 +2823,7 @@ msgstr "Außerdem haben Sie ausdrücklich zugestimmt, dass für die digitalen In
|
|
2850 |
msgid "PDF %s"
|
2851 |
msgstr "PDF %s"
|
2852 |
|
2853 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2854 |
#, php-format
|
2855 |
#@ woocommerce-germanized
|
2856 |
msgid "Want to attach automatically generated PDF files to emails instead of plain text? %sUpgrade to %spro%s%s"
|
@@ -2889,19 +2862,19 @@ msgstr "Regulärer Grundpreis"
|
|
2889 |
msgid "Sale Base Price"
|
2890 |
msgstr "Angebotsgrundpreis"
|
2891 |
|
2892 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2893 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2894 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2895 |
#@ woocommerce-germanized
|
2896 |
msgid "Base Price"
|
2897 |
msgstr "Grundpreis"
|
2898 |
|
2899 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2900 |
#@ woocommerce-germanized
|
2901 |
msgid "Base Price Text"
|
2902 |
msgstr "Grundpreis Text"
|
2903 |
|
2904 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2905 |
#@ woocommerce-germanized
|
2906 |
msgid "This text will be used to display the base price. Use {price} to insert the price. If you want to specifically format base price output use {base}, {unit} and {base_price} as placeholders."
|
2907 |
msgstr "Dieser Text wird für die Anzeige des Grundpreises verwendet. Nutze {price} als Platzhalter für den formatierten Grundpreis. Wenn du die Ausgabe detailliert beeinflussen willst, nutze stattdessen {base}, {unit} und {base_price} für die einzelnen Elemente."
|
@@ -2927,32 +2900,32 @@ msgstr "Du solltest vor einem Update immer ein Backup deiner Datenbank anlegen.
|
|
2927 |
msgid "Number of units included per default product price. Example: 1000 ml."
|
2928 |
msgstr "Anzahl der Produkteinheiten auf Basis des Produktpreises. Beispiel: 1000 ml."
|
2929 |
|
2930 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2931 |
#@ woocommerce-germanized
|
2932 |
msgid "Show product units"
|
2933 |
msgstr "Produkteinheiten anzeigen"
|
2934 |
|
2935 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2936 |
#@ woocommerce-germanized
|
2937 |
msgid "Display amount of product units on product detail page."
|
2938 |
msgstr "Zeige die Anzahl der Produkteinheiten auf der Produktdetailseite an."
|
2939 |
|
2940 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2941 |
#@ woocommerce-germanized
|
2942 |
msgid "Product units will be shown right above your SKU (if available) within the product meta section."
|
2943 |
msgstr "Die Produkteinheiten werden oberhalb der Artikelnummer (falls vorhanden), in den Meta-Daten der Produkte ausgegeben."
|
2944 |
|
2945 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2946 |
#@ woocommerce-germanized
|
2947 |
msgid "Product Units Text"
|
2948 |
msgstr "Produkteinheiten Text"
|
2949 |
|
2950 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2951 |
#@ woocommerce-germanized
|
2952 |
msgid "This text will be used to display the product units. Use {product_units} to insert the amount of product units. Use {unit} to insert the unit. Optionally display the formatted unit price with {unit_price}."
|
2953 |
msgstr "Dieser Text wird verwendet, um die Produkteinheiten-Ausgabe zu formatieren. Verwende {product_units} um die Anzahl der Einheiten auszugeben. Verwende {unit} für die Einheit und optional {unit_price} für den formatierten Grundpreis."
|
2954 |
|
2955 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2956 |
#@ woocommerce-germanized
|
2957 |
msgid "Product contains: {product_units} {unit}"
|
2958 |
msgstr "Produkt enthält: {product_units} {unit}"
|
@@ -2967,7 +2940,7 @@ msgstr "Um direkten Zugang zu den digitalen Inhalte zu erhalten, müssen Sie auf
|
|
2967 |
msgid "Email Options"
|
2968 |
msgstr "E-Mails"
|
2969 |
|
2970 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2971 |
#@ woocommerce-germanized
|
2972 |
msgid "Email Attachment Options"
|
2973 |
msgstr "PDF Anhang"
|
@@ -2977,22 +2950,22 @@ msgstr "PDF Anhang"
|
|
2977 |
msgid "Same as parent"
|
2978 |
msgstr "Gleiche wie übergeordnet"
|
2979 |
|
2980 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2981 |
#@ woocommerce-germanized
|
2982 |
msgid "Downloadable Product"
|
2983 |
msgstr "Herunterladbares Produkt"
|
2984 |
|
2985 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2986 |
#@ woocommerce-germanized
|
2987 |
msgid "Virtual Product"
|
2988 |
msgstr "Virtuelles Produkt"
|
2989 |
|
2990 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2991 |
#@ woocommerce-germanized
|
2992 |
msgid "Digital Product types"
|
2993 |
msgstr "Digitale Produkttypen"
|
2994 |
|
2995 |
-
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:
|
2996 |
#@ woocommerce-germanized
|
2997 |
msgid "Select product types for which the loss of recission notice is shown. Product types like \"simple product\" may be redudant because they include virtual and downloadable products."
|
2998 |
msgstr "Wähle die Produkttypen aus, für die ein Hinweis für den Verlust des Widerrufsrechts angezeigt werden soll. Produkttypen wie \"einfaches Produkt\" können redundant sein, da sie herunterladbare oder virtuelle Produkte einschließen."
|
@@ -3015,6 +2988,72 @@ msgstr "Diese Option löscht alle Einstellungen, die dazu führen, dass die Tour
|
|
3015 |
#. translators: plugin header field 'Version'
|
3016 |
#: woocommerce-germanized.php:0
|
3017 |
#@ woocommerce-germanized
|
3018 |
-
msgid "1.4.
|
3019 |
-
msgstr "1.4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3020 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: WooCommerce Germanized v1.4.5\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2014-09-29 12:26+0100\n"
|
6 |
+
"PO-Revision-Date: 2015-11-10 09:39:07+0000\n"
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
163 |
|
164 |
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:75
|
165 |
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:124
|
166 |
+
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:62
|
167 |
#@ woocommerce-germanized
|
168 |
msgid "Delivery Time"
|
169 |
msgstr "Lieferzeit"
|
207 |
msgstr "eKomi"
|
208 |
|
209 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:121
|
210 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:530
|
211 |
#@ woocommerce-germanized
|
212 |
msgid "General"
|
213 |
msgstr "Allgemein"
|
370 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:289
|
371 |
#@ woocommerce-germanized
|
372 |
msgid "This text will be used to inform the customer about shipping costs. Use {link}{/link} to insert link to shipping costs page."
|
373 |
+
msgstr "Dieser Text wird genutzt um die Kunden im Frontend über u.U. anfallende Lieferkosten zu informieren. Nutze den Platzhalter {link}{/link} um den Link zur Versandkosten-Seite einzufügen."
|
374 |
|
375 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:294
|
376 |
#@ woocommerce-germanized
|
377 |
msgid "plus {link}Shipping Costs{/link}"
|
378 |
msgstr "zzgl. {link}Versandkosten{/link}"
|
379 |
|
380 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:399
|
381 |
#: includes/wc-gzd-core-functions.php:45
|
382 |
#@ woocommerce-germanized
|
383 |
msgid "Right of Recission"
|
384 |
msgstr "Widerrufsrecht"
|
385 |
|
386 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:402
|
387 |
#@ woocommerce-germanized
|
388 |
msgid "Revocation Address"
|
389 |
msgstr "Widerruf richten an"
|
390 |
|
391 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:403
|
392 |
#@ woocommerce-germanized
|
393 |
msgid "Type in an address, telephone/telefax number, email address which is to be used as revocation address"
|
394 |
msgstr "Geben Sie hier Ihre Adresse, Telefon- und Faxnummer, E-Mail Adresse usw. an, an die Ihre Kunden Ihren Widerruf richten sollen"
|
395 |
|
396 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:486
|
397 |
#@ woocommerce-germanized
|
398 |
msgid "E-Mails"
|
399 |
msgstr "E-Mails"
|
400 |
|
401 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:533
|
402 |
#@ woocommerce-germanized
|
403 |
msgid "Add to Cart"
|
404 |
msgstr "Zum Warenkorb Button"
|
405 |
|
406 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:534
|
407 |
#@ woocommerce-germanized
|
408 |
msgid "Show add to cart button on listings?"
|
409 |
msgstr "Den zum Warenkorb Button in Produktlisten darstellen?"
|
410 |
|
411 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:538
|
412 |
#@ woocommerce-germanized
|
413 |
msgid "unset this option if you don't want to show the add to cart button within the product listings"
|
414 |
msgstr "Deaktivieren Sie diese Option, wenn Sie den zum Warenkorb Button nicht innerhalb von Produktauflistungen darstellen möchten"
|
415 |
|
416 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:560
|
417 |
#@ woocommerce-germanized
|
418 |
msgid "Notice Footer"
|
419 |
msgstr "Hinweise im Footer"
|
420 |
|
421 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:561
|
422 |
#@ woocommerce-germanized
|
423 |
msgid "Show a global VAT notice within footer"
|
424 |
msgstr "Einen seitenübergreifenden Hinweis bzgl. der MwSt. im Footer einfügen."
|
425 |
|
426 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:569
|
427 |
#@ woocommerce-germanized
|
428 |
msgid "Show a global sale price notice within footer"
|
429 |
msgstr "Einen seitenübergreifenden Hinweis bzgl. reduzierter Preise im Footer einfügen."
|
430 |
|
431 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:578
|
432 |
#@ woocommerce-germanized
|
433 |
msgid "Products"
|
434 |
msgstr "Produkt"
|
435 |
|
436 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:581
|
437 |
#@ woocommerce-germanized
|
438 |
msgid "Show within Product Listings"
|
439 |
msgstr "In Produktlisten"
|
440 |
|
441 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:582
|
442 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:615
|
443 |
#@ woocommerce-germanized
|
444 |
msgid "Shipping Costs notice"
|
445 |
msgstr "Versandkosten-Hinweis"
|
446 |
|
447 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:606
|
448 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:639
|
449 |
#@ woocommerce-germanized
|
450 |
msgid "Delivery Time Notice"
|
451 |
msgstr "Lieferzeiten-Hinweis"
|
452 |
|
453 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:614
|
454 |
#@ woocommerce-germanized
|
455 |
msgid "Show on Product Detail Page"
|
456 |
msgstr "Auf der Produktseite"
|
457 |
|
458 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:590
|
459 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:623
|
460 |
#@ woocommerce-germanized
|
461 |
msgid "Tax Info"
|
462 |
msgstr "MwSt. Hinweis"
|
463 |
|
464 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:689
|
465 |
#@ woocommerce-germanized
|
466 |
msgid "Checkout & Cart"
|
467 |
msgstr "Checkout & Warenkorb"
|
468 |
|
469 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:767
|
470 |
#@ woocommerce-germanized
|
471 |
msgid "Checkout Legal Display"
|
472 |
msgstr "Checkbox oder Text"
|
473 |
|
474 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:768
|
475 |
#@ woocommerce-germanized
|
476 |
msgid "Use Text without Checkbox"
|
477 |
msgstr "Rechtshinweis ohne Checkbox."
|
478 |
|
479 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:770
|
480 |
#@ woocommerce-germanized
|
481 |
msgid "This version will remove checkboxes from Checkout and display a text instead. This seems to be legally compliant (Zalando & Co are using this option)."
|
482 |
msgstr "Diese Option nutzt anstatt einer Checkbox einen ausformulierten Text direkt überhalb des Kauf abschließen Buttons (Zalando und Andere Shops verwenden diese Form)"
|
483 |
|
484 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:776
|
485 |
#@ woocommerce-germanized
|
486 |
msgid "Legal Text"
|
487 |
msgstr "Rechtlicher Hinweistext"
|
488 |
|
489 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:777
|
490 |
#@ woocommerce-germanized
|
491 |
msgid "Choose a Plain Text which will be shown right above checkout submit button. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
|
492 |
msgstr "Geben Sie hier den Text ein, den Sie als Hinweistext überhalb des \"Kaufen\" - Buttons darstellen möchten. Nutzen Sie die Platzhalter {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} um die jeweiligen Links zu den Seiten einzufügen."
|
493 |
|
494 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:779
|
495 |
#@ woocommerce-germanized
|
496 |
msgid "With your order, you agree to have read and understood our {term_link}Terms and Conditions{/term_link} and your {revocation_link}Right of Recission{/revocation_link}."
|
497 |
msgstr "Mit Ihrer Bestellung erklären Sie sich mit unseren {term_link}Allgemeinen Geschäftsbedingungen{/term_link} und {revocation_link}Widerrufsbestimmungen{/revocation_link} einverstanden."
|
498 |
|
499 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:786
|
500 |
#@ woocommerce-germanized
|
501 |
msgid "Legal Text Error"
|
502 |
msgstr "Fehlermeldung der Checkbox"
|
503 |
|
504 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:787
|
505 |
#@ woocommerce-germanized
|
506 |
msgid "If you have chosen to use checkbox validation please choose a error message which will be shown if the user doesn't check checkbox. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
|
507 |
msgstr "Falls Sie sich dazu entschieden haben, eine Checkbox zu nutzen, können Sie hier die Fehlermeldung eingeben, die angezeigt wird, wenn ein Benutzer die Checkbox nicht aktiviert hat. Nutzen Sie die Platzhalter um Links zu den jeweiligen Hinweisseiten einzufügen: {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link}"
|
508 |
|
509 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:789
|
510 |
#@ woocommerce-germanized
|
511 |
msgid "To finish the order you have to accept to our {term_link}Terms and Conditions{/term_link} and {revocation_link}Right of Recission{/revocation_link}."
|
512 |
msgstr "Bitte akzeptieren Sie unsere {term_link}Allgemeinen Geschäftsbedingungen{/term_link} und {revocation_link}Widerrufsbestimmungen{/revocation_link}."
|
513 |
|
514 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:845
|
515 |
#@ woocommerce-germanized
|
516 |
msgid "Order Success Text"
|
517 |
msgstr "Bestellung eingegangen"
|
518 |
|
519 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:846
|
520 |
#@ woocommerce-germanized
|
521 |
msgid "Choose a custom text to display on order success page."
|
522 |
msgstr "Hier können Sie einen individuellen kurzen Text eingeben, der nach der Bestellung ausgegeben wird."
|
523 |
|
524 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:854
|
525 |
#@ woocommerce-germanized
|
526 |
msgid "Order Success Data"
|
527 |
msgstr "Bestellbestätigungs-Daten"
|
528 |
|
529 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:855
|
530 |
#@ woocommerce-germanized
|
531 |
msgid "Hide product table and customer data on order success page"
|
532 |
msgstr "Produktdetails (Tabelle, Kundeninfos) von der Bestätigungsseite entfernen."
|
608 |
|
609 |
#: includes/class-wc-gzd-checkout.php:149
|
610 |
#: includes/class-wc-gzd-checkout.php:157
|
611 |
+
#: includes/class-wc-gzd-checkout.php:279
|
612 |
#@ woocommerce-germanized
|
613 |
msgid "Sir"
|
614 |
msgstr "Herr"
|
615 |
|
616 |
#: includes/class-wc-gzd-checkout.php:149
|
617 |
#: includes/class-wc-gzd-checkout.php:157
|
618 |
+
#: includes/class-wc-gzd-checkout.php:279
|
619 |
#@ woocommerce-germanized
|
620 |
msgid "Madam"
|
621 |
msgstr "Frau"
|
715 |
msgid "Please install <a href=\"%s\" target=\"_blank\">WooCommerce</a> before installing WooCommerce Germanized. Thank you!"
|
716 |
msgstr "Bitte installieren Sie <a href=\"%s\" target=\"_blank\">WooCommerce</a> bevor Sie WooCommerce Germanized installieren. Vielen Dank!"
|
717 |
|
718 |
+
#: includes/class-wc-gzd-install.php:429
|
719 |
#@ woocommerce-germanized
|
720 |
msgctxt "Page slug"
|
721 |
msgid "data-security"
|
722 |
msgstr "datenschutzbelehrung"
|
723 |
|
724 |
+
#: includes/class-wc-gzd-install.php:430
|
725 |
#@ woocommerce-germanized
|
726 |
msgctxt "Page title"
|
727 |
msgid "Data Security Statement"
|
728 |
msgstr "Datenschutzbelehrung"
|
729 |
|
730 |
+
#: includes/class-wc-gzd-install.php:434
|
731 |
#@ woocommerce-germanized
|
732 |
msgctxt "Page slug"
|
733 |
msgid "imprint"
|
734 |
msgstr "impressum"
|
735 |
|
736 |
+
#: includes/class-wc-gzd-install.php:435
|
737 |
#@ woocommerce-germanized
|
738 |
msgctxt "Page title"
|
739 |
msgid "Imprint"
|
740 |
msgstr "Impressum"
|
741 |
|
742 |
+
#: includes/class-wc-gzd-install.php:439
|
743 |
#@ woocommerce-germanized
|
744 |
msgctxt "Page slug"
|
745 |
msgid "terms"
|
746 |
msgstr "agb"
|
747 |
|
748 |
+
#: includes/class-wc-gzd-install.php:440
|
749 |
#@ woocommerce-germanized
|
750 |
msgctxt "Page title"
|
751 |
msgid "Terms & Conditions"
|
752 |
msgstr "AGB"
|
753 |
|
754 |
+
#: includes/class-wc-gzd-install.php:444
|
755 |
#@ woocommerce-germanized
|
756 |
msgctxt "Page slug"
|
757 |
msgid "revocation"
|
758 |
msgstr "widerrufsbelehrung"
|
759 |
|
760 |
+
#: includes/class-wc-gzd-install.php:445
|
761 |
#@ woocommerce-germanized
|
762 |
msgctxt "Page title"
|
763 |
msgid "Power of Revocation"
|
764 |
msgstr "Widerrufsbelehrung"
|
765 |
|
766 |
+
#: includes/class-wc-gzd-install.php:454
|
767 |
#@ woocommerce-germanized
|
768 |
msgctxt "Page slug"
|
769 |
msgid "payment-methods"
|
770 |
msgstr "bezahlmoeglichkeiten"
|
771 |
|
772 |
+
#: includes/class-wc-gzd-install.php:455
|
773 |
#@ woocommerce-germanized
|
774 |
msgctxt "Page title"
|
775 |
msgid "Payment Methods"
|
776 |
msgstr "Zahlungsarten"
|
777 |
|
778 |
+
#: includes/class-wc-gzd-install.php:449
|
779 |
#@ woocommerce-germanized
|
780 |
msgctxt "Page slug"
|
781 |
msgid "shipping-methods"
|
782 |
msgstr "versandarten"
|
783 |
|
784 |
+
#: includes/class-wc-gzd-install.php:450
|
785 |
#@ woocommerce-germanized
|
786 |
msgctxt "Page title"
|
787 |
msgid "Shipping Methods"
|
1033 |
msgid "Your Revocation"
|
1034 |
msgstr "Ihr Widerruf"
|
1035 |
|
1036 |
+
#: includes/class-wc-gzd-payment-gateways.php:100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1037 |
#@ woocommerce-germanized
|
1038 |
msgid "Fee"
|
1039 |
msgstr "Zahlungsgebühr"
|
1040 |
|
1041 |
+
#: includes/class-wc-gzd-payment-gateways.php:102
|
1042 |
#@ woocommerce-germanized
|
1043 |
msgid "This fee is being added if customer selects payment method within checkout."
|
1044 |
msgstr "Diese Gebühr wird während der Bestellung hinzugefügt, falls der Kunde diese Zahlungsart aktiviert."
|
1045 |
|
1046 |
+
#: includes/class-wc-gzd-payment-gateways.php:107
|
1047 |
#@ woocommerce-germanized
|
1048 |
msgid "Fee is taxable?"
|
1049 |
msgstr "Mwst. berechnen?"
|
1050 |
|
1051 |
+
#: includes/class-wc-gzd-payment-gateways.php:153
|
1052 |
#@ woocommerce-germanized
|
1053 |
msgid "Payment charge"
|
1054 |
msgstr "Zahlungsgebühr"
|
1055 |
|
1056 |
#: includes/abstracts/abstract-wc-gzd-product.php:130
|
1057 |
#: includes/wc-gzd-cart-functions.php:159
|
1058 |
+
#: woocommerce-germanized.php:856
|
1059 |
#, php-format
|
1060 |
#@ woocommerce-germanized
|
1061 |
msgid "incl. %s%% VAT"
|
1072 |
msgid "Choose a Payment Gateway"
|
1073 |
msgstr "Zahlungsart auswählen"
|
1074 |
|
|
|
1075 |
#: includes/wc-gzd-cart-functions.php:194
|
1076 |
#@ woocommerce-germanized
|
1077 |
msgid "I want immediate access to the digital content and I acknowledge that thereby I lose my right to cancel once the service has begun."
|
1209 |
msgid "All prices excl. VAT."
|
1210 |
msgstr "Alle Preise exkl. der gesetzlichen MwSt."
|
1211 |
|
|
|
|
|
|
|
|
|
|
|
1212 |
#: templates/forms/revocation-form.php:18
|
1213 |
#@ woocommerce-germanized
|
1214 |
msgctxt "revocation-form"
|
1221 |
msgid "Forward Revocation"
|
1222 |
msgstr "Widerruf erklären"
|
1223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1224 |
#: includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:50
|
1225 |
+
#: woocommerce-germanized.php:583
|
1226 |
#@ woocommerce
|
1227 |
msgid "Settings"
|
1228 |
msgstr "Einstellungen"
|
1401 |
msgid "%s of %s based on %s <a href=\"%s\" target=\"_blank\">ratings</a>."
|
1402 |
msgstr "%s von %s basierend auf %s <a href=\"%s\" target=\"_blank\">Bewertungen</a>."
|
1403 |
|
1404 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:759
|
1405 |
#@ woocommerce-germanized
|
1406 |
msgid "Checkout Table Color"
|
1407 |
msgstr "Hintergrundfarbe der Tabelle"
|
1408 |
|
1409 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:761
|
1410 |
#@ woocommerce-germanized
|
1411 |
msgid "Choose the color of your checkout product table. This table should be highlighted within your checkout page."
|
1412 |
msgstr "Wähle die Farbe des Hintergrundes deiner Produkt-Tabelle im Checkout. Die Tabelle sollte sich farblich vom Rest des Inhalts abheben."
|
1443 |
msgid "It seems like your theme is not yet ready for WooCommerce Germanized. Please check your theme's styles. Some things might look weird - WooCommerce Germanized can only offer basic styles. See <a href=\"%s\" target=\"_blank\">making your theme compatible</a> or check out our Theme <a href=\"%s\" target=\"_blank\">VendiPro</a> for 100% compatibility."
|
1444 |
msgstr "Wir haben festgestellt, dass dein Theme scheinbar noch nicht für WooCommerce Germanized optimiert ist. Bitte überprüfe die Style-Angaben deines Themes bzw. das Aussehen deines Shops. Manche Elemente werden möglicherweise falsch dargestellt - WooCommerce Germanized kann nur grundlegende Style-Angaben machen. Lies dir dazu <a href=\"%s\" target=\"_blank\">wie mache ich mein Theme kompatibel</a> durch oder nutze das von uns entwickelte Theme <a href=\"%s\" target=\"_blank\">VendiPro</a> für 100% Kompatibilität."
|
1445 |
|
1446 |
+
#: includes/class-wc-gzd-payment-gateways.php:109
|
1447 |
#@ woocommerce-germanized
|
1448 |
msgid "Check if fee is taxable."
|
1449 |
msgstr "MwSt.-Berechnung für Gebühr aktivieren."
|
1450 |
|
1451 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:816
|
1452 |
#@ woocommerce-germanized
|
1453 |
msgid "Legal Digital Text"
|
1454 |
msgstr "Hinweis Digital"
|
1455 |
|
1456 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:817
|
1457 |
#@ woocommerce-germanized
|
1458 |
msgid "Choose a Plain Text which will be shown right above checkout submit button if a user has picked a digital product. See legal text option for possible placeholders."
|
1459 |
msgstr "Passen Sie hier optional den Hinweistext an, der angezeigt wird, wenn ein Kunde ein digitales Produkt im Warenkorb hat. Sie können hier die gleichen Platzhalter verwenden wie beim Rechtlichen Hinweistext"
|
1460 |
|
1461 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:542
|
1462 |
#@ woocommerce-germanized
|
1463 |
msgid "Link to Details"
|
1464 |
msgstr "Verlinkung zu Produktdetails"
|
1465 |
|
1466 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:543
|
1467 |
#@ woocommerce-germanized
|
1468 |
msgid "Want to link to product details page instead of add to cart within listings?"
|
1469 |
msgstr "Zum Warenkorb Button mit Button zur Produktdetail-Seite ersetzen?"
|
1470 |
|
1471 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:547
|
1472 |
#@ woocommerce-germanized
|
1473 |
msgid "Decide whether you like to link to your product's details page instead of displaying an add to cart button within product listings."
|
1474 |
msgstr "Wenn du lieber einen Link zu deiner Produktseite anstatt eines zum Warenkorb Buttons innerhalb von Produktauflistungen haben möchtest, dann setze einfach diese Option."
|
1475 |
|
1476 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:551
|
1477 |
#@ woocommerce-germanized
|
1478 |
msgid "Product Details Text"
|
1479 |
msgstr "Produktdetails Text"
|
1480 |
|
1481 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:553
|
1482 |
#@ woocommerce-germanized
|
1483 |
msgid "Details"
|
1484 |
msgstr "Details"
|
1485 |
|
1486 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:555
|
1487 |
#@ woocommerce-germanized
|
1488 |
msgid "If you have chosen to link to product details page instead of add to cart URL you may want to change the button text."
|
1489 |
msgstr "Wenn du dich dazu entschlossen hast, lieber auf die Produktseite zu verlinken anstatt den zum Warenkorb Button einzublenden, kannst du hier einen Button-Text vergeben."
|
1584 |
msgid "Found Bugs?"
|
1585 |
msgstr "Bugs oder Wünsche melden"
|
1586 |
|
1587 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:647
|
1588 |
#@ woocommerce-germanized
|
1589 |
msgid "Shipping Costs for Virtual"
|
1590 |
msgstr "Versandkosten virtuell"
|
1591 |
|
1592 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:648
|
1593 |
#@ woocommerce-germanized
|
1594 |
msgid "Select this option if you want to display shipping costs notice for virtual products."
|
1595 |
msgstr "Versandkosten-Hinweis auch für virtuelle Produkte aktivieren?"
|
1596 |
|
1597 |
#: includes/abstracts/abstract-wc-gzd-product.php:128
|
1598 |
#: includes/wc-gzd-cart-functions.php:159
|
1599 |
+
#: woocommerce-germanized.php:856
|
1600 |
#@ woocommerce-germanized
|
1601 |
msgid "incl. VAT"
|
1602 |
msgstr "inkl. MwSt."
|
1606 |
msgid "excl. VAT"
|
1607 |
msgstr "exkl. MwSt."
|
1608 |
|
1609 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:412
|
1610 |
#: includes/admin/views/html-page-status-germanized.php:81
|
1611 |
#@ woocommerce-germanized
|
1612 |
msgid "Virtual VAT"
|
1613 |
msgstr "USt. Änderung 2015"
|
1614 |
|
1615 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:415
|
1616 |
#@ woocommerce-germanized
|
1617 |
msgid "Enable Virtual VAT"
|
1618 |
msgstr "USt. Anpassung aktivieren"
|
1619 |
|
1620 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:416
|
1621 |
#@ woocommerce-germanized
|
1622 |
msgid "Enable if you want to charge your customer's countries' VAT for virtual products."
|
1623 |
msgstr "Aktiviere diese Option um für virtuelle Produkte den USt.-Satz des Dienstleistungsempfängers zu berechnen."
|
1624 |
|
1625 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:420
|
1626 |
#, php-format
|
1627 |
#@ woocommerce-germanized
|
1628 |
msgid "New EU VAT rule applies on 01.01.2015. Make sure that every digital or virtual product has chosen the right tax class (Virtual Rate or Virtual Reduced Rate). Gross prices will not differ from the prices you have chosen for affected products. In fact the net price will differ depending on the VAT rate of your customers' country. Shop settings will be adjusted to show prices including tax. More information can be found <a href=\"%s\" target=\"_blank\">here</a>."
|
1638 |
msgid "We will automatically insert EU VAT Rates for selling virtual products."
|
1639 |
msgstr "Wir übernehmen das Einfügen der unterschiedlichen EU MwSt.-Sätze für dich."
|
1640 |
|
1641 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:665
|
1642 |
#@ woocommerce-germanized
|
1643 |
msgid "{price}"
|
1644 |
msgstr "{price}"
|
1645 |
|
1646 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:963
|
1647 |
#@ woocommerce-germanized
|
1648 |
msgid "Sorry, but the new Virtual VAT rules cannot be applied to small business."
|
1649 |
msgstr "Sorry aber die neuen USt-Regelungen für virtuelle Produkte lassen sich leider nicht mit dem Kleinunternehmer vereinbaren. Bitte kontaktiere deinen Steuerberater für weitere Informationen."
|
1658 |
msgid "Add a title field to the address within checkout?"
|
1659 |
msgstr "Fügt ein Feld \"Anrede\" im Checkout hinzu."
|
1660 |
|
1661 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:796
|
1662 |
#@ woocommerce-germanized
|
1663 |
msgid "Show digital notice"
|
1664 |
msgstr "Checkbox digitale Produkte"
|
1665 |
|
1666 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:797
|
1667 |
#@ woocommerce-germanized
|
1668 |
msgid "Show checkbox for digital products."
|
1669 |
msgstr "Checkbox bei digitalen Produkten anzeigen."
|
1670 |
|
1671 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:798
|
1672 |
#@ woocommerce-germanized
|
1673 |
msgid "Disable this option if you want your customers to obtain their right of recission even if digital products are being bought."
|
1674 |
msgstr "Diese Option setzt im Checkout eine Checkbox falls sich im Warenkorb digitale Produkte befinden. Hier können Kunden darauf aufmerksam gemacht werden, dass im Falle von digitalen Produkten das Widerrufsrecht erlischt."
|
1675 |
|
1676 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:723
|
1677 |
#@ woocommerce-germanized
|
1678 |
msgid "Show Thumbnails"
|
1679 |
msgstr "Thumbnails anzeigen"
|
1680 |
|
1681 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:724
|
1682 |
#@ woocommerce-germanized
|
1683 |
msgid "Show product thumbnails on checkout page?"
|
1684 |
msgstr "Produktbilder im Checkout darstellen?"
|
1685 |
|
1686 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:728
|
1687 |
#@ woocommerce-germanized
|
1688 |
msgid "Uncheck if you don't want to show your product thumbnails within checkout table."
|
1689 |
msgstr "Deaktiviere diese Option, wenn du keine Produkbilder im Checkout angezeigt bekommen möchtest."
|
1690 |
|
1691 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:732
|
1692 |
#@ woocommerce-germanized
|
1693 |
msgid "Hide Shipping Select"
|
1694 |
msgstr "Versandarten Auswahl"
|
1695 |
|
1696 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:733
|
1697 |
#@ woocommerce-germanized
|
1698 |
msgid "Hide shipping rate selection from checkout?"
|
1699 |
msgstr "Die Auswahl von Versandarten im Checkout deaktivieren?"
|
1700 |
|
1701 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:737
|
1702 |
#@ woocommerce-germanized
|
1703 |
msgid "This option will hide shipping rate selection from checkout. By then customers will only be able to change their shipping rate on cart page."
|
1704 |
msgstr "Diese Option deaktiviert die Darstellung der Versandarten Auswahl im Checkout. Kunden können von nun an nur noch über den Warenkorb die Versandmethode ändern."
|
1705 |
|
1706 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:714
|
1707 |
#@ woocommerce-germanized
|
1708 |
msgid "Hide taxes estimated"
|
1709 |
msgstr "Hinweis \"Steuern geschätzt\""
|
1710 |
|
1711 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:715
|
1712 |
#@ woocommerce-germanized
|
1713 |
msgid "Do you want to hide the \"taxes and shipping estimated\" text from your cart?"
|
1714 |
msgstr "Den Hinweis \"Versandkosten und Steuern werden geschätzt\" entfernen?"
|
1715 |
|
1716 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:719
|
1717 |
#@ woocommerce-germanized
|
1718 |
msgid "By default WooCommerce adds a \"taxes and shipping estimated\" text to your cart. This might puzzle your customers and may not meet german law."
|
1719 |
msgstr "Der Hinweistext im Warenkorb zur Schätzung von Steuern und Versandkosten kann für Verwirrung beim Kunden sorgen und scheint nicht für den deutschen Markt geeignet."
|
1724 |
msgid "excl. %s%% VAT"
|
1725 |
msgstr "exkl. %s%% MwSt."
|
1726 |
|
1727 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:741
|
1728 |
#@ woocommerce-germanized
|
1729 |
msgid "Show back to cart button"
|
1730 |
msgstr "Bestellung bearbeiten"
|
1731 |
|
1732 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:742
|
1733 |
#@ woocommerce-germanized
|
1734 |
msgid "Show back to cart button within your checkout table?"
|
1735 |
msgstr "Einen \"Bestellung bearbeiten\" Button in der Bestellübersicht anzeigen?"
|
1736 |
|
1737 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:746
|
1738 |
#@ woocommerce-germanized
|
1739 |
msgid "This button may let your customer edit their order before submitting. Some people state that this button should be hidden to avoid legal problems."
|
1740 |
msgstr "Dieser Button ermöglicht es deinen Kunden etwaige Falscheingaben (d.h. fälschlich ausgewählte Produkte) zu korrigieren und zurück zum Warenkorb zu gelangen. Je nach Darstellung in deinem Theme könnte es allerdings auch das Risiko für Abmahnungen erhöhen, da zwischen Pflichtangaben und Kaufen-Button keine weitere Informationen abgedruckt werden sollten."
|
1741 |
|
1742 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:308
|
1743 |
#@ woocommerce-germanized
|
1744 |
msgid "Shipping Costs Tax"
|
1745 |
msgstr "Steuerberechnung"
|
1746 |
|
1747 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:309
|
1748 |
#@ woocommerce-germanized
|
1749 |
msgid "Enable better taxation for shpping costs?"
|
1750 |
msgstr "Genauere Steuerberechnung für Versandkosten aktivieren?"
|
1751 |
|
1752 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:313
|
1753 |
#, php-format
|
1754 |
#@ woocommerce-germanized
|
1755 |
msgid "By choosing this option shipping cost taxation will be calculated based on tax rates within cart. Imagine the following example. Further information can be found <a href=\"%s\" target=\"_blank\">here</a>. %s"
|
1756 |
msgstr "Mit der Auswahl dieser Option werden die Steuern für Versandkosten basierend auf den Anteilen der Steuersätze der Artikel im Warenkorb berechnet. Weitere Informationen findest du <a href=\"%s\" target=\"_blank\">hier</a>. Falls du vorher mit Nettobeträgen gearbeitet hast, ändere die Versandkosten bitte in Bruttobeträge. Hier ein kleines Beispiel: %s"
|
1757 |
|
1758 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:317
|
1759 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:339
|
1760 |
#@ woocommerce-germanized
|
1761 |
msgid "Force Tax Calculation"
|
1762 |
msgstr "Steuerberechnung erzwingen"
|
1763 |
|
1764 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:318
|
1765 |
#@ woocommerce-germanized
|
1766 |
msgid "Force shipping costs tax calculation for every method?"
|
1767 |
msgstr "Erzwinge die Besteuerung für Versandkosten für jede Versandart?"
|
1768 |
|
1769 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:322
|
1770 |
#@ woocommerce-germanized
|
1771 |
msgid "This option will overwrite settings for each individual shipping method to force tax calculation (instead of only calculating tax for those methods which are taxeable)."
|
1772 |
msgstr "Diese Option überschreibt alle abweichenden Einstellungen verschiedener Versandarten und erzwingt die Steuerberechnung."
|
1773 |
|
1774 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:327
|
1775 |
#@ woocommerce-germanized
|
1776 |
msgid "Fees"
|
1777 |
msgstr "Gebühren"
|
1778 |
|
1779 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:330
|
1780 |
#@ woocommerce-germanized
|
1781 |
msgid "Fee Tax"
|
1782 |
msgstr "Steuerberechnung"
|
1783 |
|
1784 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:331
|
1785 |
#@ woocommerce-germanized
|
1786 |
msgid "Enable better taxation for fees?"
|
1787 |
msgstr "Genauere Steuerberechnung für Gebühren aktivieren?"
|
1788 |
|
1789 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:335
|
1790 |
#@ woocommerce-germanized
|
1791 |
msgid "By choosing this option fee taxation will be calculated based on tax rates within cart. See shipping costs taxation for more information."
|
1792 |
msgstr "Mit Hilfe dieser Option werden die Steuern für Gebühren basierend auf den Steuersätzen der Artikel im Warenkorb berechnet (siehe Steuern für Versandkosten für weitere Informationen). Bitte passe auch hier etwaige Nettobeträge in Bruttobeträge an."
|
1793 |
|
1794 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:340
|
1795 |
#@ woocommerce-germanized
|
1796 |
msgid "Force fee tax calculation for every fee?"
|
1797 |
msgstr "Berechnung der Steuern für Gebühren erzwingen?"
|
1798 |
|
1799 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:344
|
1800 |
#@ woocommerce-germanized
|
1801 |
msgid "This option will overwrite settings for each individual fee to force tax calculation (instead of only calculating tax for those fees which are taxeable)."
|
1802 |
msgstr "Diese Option überschreibt die Einstellungen aller Gebühren und erzwingt die Steuerberechnung."
|
1822 |
msgid "Yes, customer opted in"
|
1823 |
msgstr "Ja, Kunde wurde per Double Opt-In bestätigt."
|
1824 |
|
1825 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:349
|
1826 |
#@ woocommerce-germanized
|
1827 |
msgid "Customers"
|
1828 |
msgstr "Kunden"
|
1829 |
|
1830 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:379
|
1831 |
#@ woocommerce-germanized
|
1832 |
msgid "Customer Double Opt In"
|
1833 |
msgstr "Double Opt-In"
|
1834 |
|
1835 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:380
|
1836 |
#@ woocommerce-germanized
|
1837 |
msgid "Enable customer double opt in on registration?"
|
1838 |
msgstr "Double Opt-In Verfahren für Kundenkonten aktivieren?"
|
1839 |
|
1840 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:381
|
1841 |
#, php-format
|
1842 |
#@ woocommerce-germanized
|
1843 |
msgid "If customer chooses to create a customer account an email with an activation link will be sent by mail. Customer account will be marked as activated if user clicks on the link within the email. More information on this topic can be found <a href=\"%s\" target=\"_blank\">here</a>."
|
1844 |
msgstr "Wenn ein Kunde sich dazu entscheidet ein Benutzerkonto zu erstellen, erhält dieser eine E-Mail mit einem Bestätigungslink. Insofern der Kunde diesen Bestätigungslink anklickt, wird das Konto als bestätigt markiert. Dieses Verfahren ist laut Amtsgericht Berlin Pankow/Weißensee notwendig. Mehr Informationen findest du <a href=\"%s\" target=\"_blank\">hier</a>."
|
1845 |
|
1846 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:388
|
1847 |
#@ woocommerce-germanized
|
1848 |
msgid "Delete Unactivated After"
|
1849 |
msgstr "Unaktivierte löschen nach"
|
1850 |
|
1851 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:389
|
1852 |
#@ woocommerce-germanized
|
1853 |
msgid "This will make sure unactivated customer accounts will be deleted after X days. Set to 0 if you don't want to automatically delete unactivated customers."
|
1854 |
msgstr "Diese Option sorgt dafür, dass unaktivierte Kundenkonten nach X Tagen automatisch gelöscht werden. Falls du die Löschung verhindern möchtest, setze den Wert auf 0."
|
1898 |
msgid "If you cannot follow the link above please copy this url and paste it to your browser bar: %s"
|
1899 |
msgstr "Falls Sie dem Link nicht folgen können, kopieren Sie bitte folgende URL in die Adresszeile Ihres Browsers: %s"
|
1900 |
|
1901 |
+
#: woocommerce-germanized.php:782
|
1902 |
#@ woocommerce-germanized
|
1903 |
msgid "Thank you. You have successfully activated your account."
|
1904 |
msgstr "Vielen Dank. Ihr Benutzerkonto wurde erfolgreich aktiviert."
|
1905 |
|
1906 |
+
#: woocommerce-germanized.php:786
|
1907 |
#@ woocommerce-germanized
|
1908 |
msgid "Sorry, but this activation code cannot be found."
|
1909 |
msgstr "Sorry, dieser Aktivierungscode ist uns leider nicht bekannt."
|
1910 |
|
1911 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:390
|
1912 |
#@ woocommerce-germanized
|
1913 |
msgid "days"
|
1914 |
msgstr "Tagen"
|
1915 |
|
1916 |
+
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:63
|
1917 |
#@ woocommerce-germanized
|
1918 |
msgid "Search for a delivery time…"
|
1919 |
msgstr "Lieferzeit suchen…"
|
1936 |
msgid "https://vendidero.de"
|
1937 |
msgstr "https://vendidero.de"
|
1938 |
|
1939 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:694
|
1940 |
#: includes/admin/views/html-page-status-germanized.php:55
|
1941 |
#@ woocommerce-germanized
|
1942 |
msgid "Fallback Mode"
|
2055 |
msgid "New Unit Name"
|
2056 |
msgstr "Name der neuen Einheit"
|
2057 |
|
2058 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:750
|
|
|
|
|
|
|
|
|
|
|
2059 |
#@ woocommerce-germanized
|
2060 |
msgid "Show edit data notice"
|
2061 |
msgstr "Bestellung prüfen Hinweis"
|
2062 |
|
2063 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:751
|
2064 |
#@ woocommerce-germanized
|
2065 |
msgid "Show a \"check-your-entries\" notice to the user?"
|
2066 |
msgstr "Einen \"Bestellung prüfen\" Hinweis anzeigen?"
|
2067 |
|
2068 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:755
|
2069 |
#@ woocommerce-germanized
|
2070 |
msgid "This notice will be added right before the order comments field."
|
2071 |
msgstr "Dieser Hinweis wird direkt oberhalb des Bestellhinweise-Feldes eingefügt."
|
2087 |
msgstr "Kaufvertrag"
|
2088 |
|
2089 |
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:177
|
2090 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:425
|
2091 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:437
|
2092 |
#, php-format
|
2093 |
#@ woocommerce-germanized
|
2094 |
msgid "%sUpgrade to %spro%s%s to unlock this feature and get premium support."
|
2095 |
msgstr "%sUpgrade zur %spro%s Version%s um dieses Feature nutzen zu können und erhalte professionellen Support."
|
2096 |
|
2097 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:425
|
2098 |
#@ woocommerce-germanized
|
2099 |
msgctxt "invoices"
|
2100 |
msgid "Invoices"
|
2101 |
msgstr "Rechnungen"
|
2102 |
|
2103 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:437
|
2104 |
#@ woocommerce-germanized
|
2105 |
msgid "VAT"
|
2106 |
msgstr "Umsatzsteuer"
|
2158 |
msgid "Don't have a revocation page yet? <a href=\"%s\">Generate now</a>!"
|
2159 |
msgstr "Du hast noch keine Widerrufsbelehrung? <a href=\"%s\">Jetzt generieren</a>!"
|
2160 |
|
2161 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:472
|
2162 |
#, php-format
|
2163 |
#@ woocommerce-germanized
|
2164 |
msgid "Attach %s"
|
2165 |
msgstr "%s"
|
2166 |
|
2167 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:473
|
2168 |
#, php-format
|
2169 |
#@ woocommerce-germanized
|
2170 |
msgid "Attach %s to the following email templates"
|
2175 |
msgid "Data Security"
|
2176 |
msgstr "Datenschutzbelehrung"
|
2177 |
|
2178 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:486
|
2179 |
#@ woocommerce-germanized
|
2180 |
msgid "Use drag & drop to customize attachment order. Don't forget to save your changes."
|
2181 |
msgstr "Verwende Drag & Drop um die Reihenfolge der Texte in den E-Mails zu beeinflussen und speichere anschließend deine Änderungen."
|
2228 |
msgid "Learn more about Pro Version"
|
2229 |
msgstr "Mehr über die Pro Version erfahren"
|
2230 |
|
2231 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:352
|
2232 |
#: includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php:300
|
2233 |
#@ woocommerce-germanized
|
2234 |
msgid "Checkbox"
|
2235 |
msgstr "Checkbox"
|
2236 |
|
2237 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:353
|
2238 |
#@ woocommerce-germanized
|
2239 |
msgid "Add a checkbox to customer registration form."
|
2240 |
msgstr "Füge eine Checkbox zum Formular für die Kundenregistrierung hinzu."
|
2241 |
|
2242 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:360
|
2243 |
#@ woocommerce-germanized
|
2244 |
msgid "Checkbox text"
|
2245 |
msgstr "Checkbox Text"
|
2246 |
|
2247 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:361
|
2248 |
#@ woocommerce-germanized
|
2249 |
msgid "Choose a Plain Text which will be shown as checkbox text for customer account creation. Use {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} as Placeholders for the links to legal pages."
|
2250 |
msgstr "Dieser Text dient als Hinweistext für die Erstellung eines Kundenkontos und wird neben der Checkbox dargestellt. Verwende {term_link}{/term_link}, {data_security_link}{/data_security_link}, {revocation_link}{/revocation_link} als Platzhalter für die Links zu den rechtlichen Hinweisseiten."
|
2251 |
|
2252 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:363
|
2253 |
#@ woocommerce-germanized
|
2254 |
msgid "Yes, I’d like create a new account and have read and understood the {data_security_link}data privacy statement{/data_security_link}."
|
2255 |
msgstr "Ja, ich möchte ein Kundenkonto eröffnen und akzeptiere die {data_security_link}Datenschutzerklärung{/data_security_link}."
|
2256 |
|
2257 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:370
|
2258 |
#@ woocommerce-germanized
|
2259 |
msgid "Checkout"
|
2260 |
msgstr "Kasse"
|
2261 |
|
2262 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:371
|
2263 |
#@ woocommerce-germanized
|
2264 |
msgid "Replace default WooCommerce text regarding account creation during checkout."
|
2265 |
msgstr "Ersetze den WooCommerce Text (Kundenkonto erstellen?) durch den o.g. Hinweis."
|
2266 |
|
2267 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:372
|
2268 |
#@ woocommerce-germanized
|
2269 |
msgid "Use the text from above instead of the default WooCommerce text regarding account creation during checkout. This checkbox is only show if you have activated guest accounts."
|
2270 |
msgstr "Nutze den oben festgelegten Hinweistext anstelle des WooCommerce Standardtextes für die Checkbox zum Erstellen von Kundenkonten während des Bestellvorganges. Die Checkbox wird nur angezeigt, wenn du Gast-Checkouts zulässt."
|
2271 |
|
2272 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:836
|
2273 |
#@ woocommerce-germanized
|
2274 |
msgid "Pay now Button"
|
2275 |
msgstr "Jetzt bezahlen Button"
|
2276 |
|
2277 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:837
|
2278 |
#@ woocommerce-germanized
|
2279 |
msgid "Add a pay now button to emails and order success page."
|
2280 |
msgstr "Füge einen jetzt bezahlen - Button zur E-Mail und der Bestätigungs-Seite hinzu."
|
2281 |
|
2282 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:838
|
2283 |
#@ woocommerce-germanized
|
2284 |
msgid "Add a pay now button to order confirmation email and order success page if the order awaits payment (PayPal etc)."
|
2285 |
msgstr "Füge einen jetzt bezahlen - Button zur Bestellbestätigungs-Email sowie zur Bestätigungs-Seite hinzu insofern die Bestellung eine automatisierte Zahlung benötigt (z.B. per PayPal)."
|
2442 |
msgid "Logs"
|
2443 |
msgstr ""
|
2444 |
|
2445 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:705
|
2446 |
#@ woocommerce-germanized
|
2447 |
msgid "Force free shipping"
|
2448 |
msgstr "Versandmethode erzwingen"
|
2449 |
|
2450 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:706
|
2451 |
#@ woocommerce-germanized
|
2452 |
msgid "Force free shipping method if available?"
|
2453 |
msgstr "Kostenlosen Versand erzwingen wenn die Methode zur Verfügung steht?"
|
2454 |
|
2455 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:710
|
2456 |
#@ woocommerce-germanized
|
2457 |
msgid "By default WooCommerce will let customers choose other shipping methods than free shipping (if available). This option will force free shipping if available."
|
2458 |
msgstr "Standardmäßig erlaubt WooCommerce die Auswahl anderer Versandmethoden, auch wenn kostenloser Versand möglich ist. Diese Option erzwingt den kostenlosen Versand, sobald dieser verfügbar ist."
|
2468 |
msgid "Calculate unit prices automatically based on product price"
|
2469 |
msgstr "Einheitspreise basierend auf dem Produktpreis automatisch berechnen"
|
2470 |
|
2471 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:695
|
2472 |
#@ woocommerce-germanized
|
2473 |
msgid "Enable to make sure default checkout template is not being overriden by theme."
|
2474 |
msgstr "Überschreiben relevanter Templates im Checkout durch dein Theme verhindern."
|
2475 |
|
2476 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:699
|
2477 |
#@ woocommerce-germanized
|
2478 |
msgid "If you are facing problems within your checkout e.g. legally relevant data is not showing (terms, delivery time, unit price etc.) your theme seems to be incompatible (not using default WooCommerce hooks and filters). As a workaround you may use this fallback which ensures default review-order.php and form-checkout.php is used."
|
2479 |
msgstr "Wenn du Probleme während des Checkouts hast (Inhalte werden falsch, nicht oder doppelt dargestellt), dann könntest du als Workaround diese Option aktivieren. Diese Option hindert dein Theme relevante Templates für den Checkout (review-order.php und form-checkout.php) zu überschreiben. "
|
2802 |
msgid "Enable \"agree to SEPA mandate\" checkbox"
|
2803 |
msgstr "Aktiviere die Checkbox zur Bestätigung des Lastschriftmandates."
|
2804 |
|
2805 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:826
|
2806 |
#@ woocommerce-germanized
|
2807 |
msgid "Digital Confirmation Notice"
|
2808 |
msgstr "Digitale Bestätigung"
|
2809 |
|
2810 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:827
|
2811 |
#@ woocommerce-germanized
|
2812 |
msgid "This text will be appended to your order processing email if the order contains digital products. Use placeholders {link}{/link} to insert link to right of withdrawal page."
|
2813 |
msgstr "Dieser Text wird an deine Bestellbestätigungs-Email (unterhalb der Tabelle) angehängt, sobald ein Kunde ein digitales Produkt gekauft hat. Verwende die Platzhalter {link}{/link} um einen Link zur Widerrufsbelehrung einzufügen."
|
2814 |
|
2815 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:830
|
2816 |
#@ woocommerce-germanized
|
2817 |
msgid "Furthermore you have expressly agreed to start the performance of the contract for digital items (e.g. downloads) before expiry of the withdrawal period. I have noted to lose my {link}right of withdrawal{/link} with the beginning of the performance of the contract."
|
2818 |
msgstr "Außerdem haben Sie ausdrücklich zugestimmt, dass für die digitalen Inhalte Ihrer Bestellung mit der Ausführung des Vertrags bereits vor Ablauf der Widerrufsfrist begonnen wird. Sie haben auch zur Kenntnis genommen, dass Sie mit Beginn der Ausführung des Vertrags Ihr {link}Widerrufsrecht{/link} verlieren."
|
2823 |
msgid "PDF %s"
|
2824 |
msgstr "PDF %s"
|
2825 |
|
2826 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:503
|
2827 |
#, php-format
|
2828 |
#@ woocommerce-germanized
|
2829 |
msgid "Want to attach automatically generated PDF files to emails instead of plain text? %sUpgrade to %spro%s%s"
|
2862 |
msgid "Sale Base Price"
|
2863 |
msgstr "Angebotsgrundpreis"
|
2864 |
|
2865 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:598
|
2866 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:631
|
2867 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:656
|
2868 |
#@ woocommerce-germanized
|
2869 |
msgid "Base Price"
|
2870 |
msgstr "Grundpreis"
|
2871 |
|
2872 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:659
|
2873 |
#@ woocommerce-germanized
|
2874 |
msgid "Base Price Text"
|
2875 |
msgstr "Grundpreis Text"
|
2876 |
|
2877 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:660
|
2878 |
#@ woocommerce-germanized
|
2879 |
msgid "This text will be used to display the base price. Use {price} to insert the price. If you want to specifically format base price output use {base}, {unit} and {base_price} as placeholders."
|
2880 |
msgstr "Dieser Text wird für die Anzeige des Grundpreises verwendet. Nutze {price} als Platzhalter für den formatierten Grundpreis. Wenn du die Ausgabe detailliert beeinflussen willst, nutze stattdessen {base}, {unit} und {base_price} für die einzelnen Elemente."
|
2900 |
msgid "Number of units included per default product price. Example: 1000 ml."
|
2901 |
msgstr "Anzahl der Produkteinheiten auf Basis des Produktpreises. Beispiel: 1000 ml."
|
2902 |
|
2903 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:669
|
2904 |
#@ woocommerce-germanized
|
2905 |
msgid "Show product units"
|
2906 |
msgstr "Produkteinheiten anzeigen"
|
2907 |
|
2908 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:670
|
2909 |
#@ woocommerce-germanized
|
2910 |
msgid "Display amount of product units on product detail page."
|
2911 |
msgstr "Zeige die Anzahl der Produkteinheiten auf der Produktdetailseite an."
|
2912 |
|
2913 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:671
|
2914 |
#@ woocommerce-germanized
|
2915 |
msgid "Product units will be shown right above your SKU (if available) within the product meta section."
|
2916 |
msgstr "Die Produkteinheiten werden oberhalb der Artikelnummer (falls vorhanden), in den Meta-Daten der Produkte ausgegeben."
|
2917 |
|
2918 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:678
|
2919 |
#@ woocommerce-germanized
|
2920 |
msgid "Product Units Text"
|
2921 |
msgstr "Produkteinheiten Text"
|
2922 |
|
2923 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:679
|
2924 |
#@ woocommerce-germanized
|
2925 |
msgid "This text will be used to display the product units. Use {product_units} to insert the amount of product units. Use {unit} to insert the unit. Optionally display the formatted unit price with {unit_price}."
|
2926 |
msgstr "Dieser Text wird verwendet, um die Produkteinheiten-Ausgabe zu formatieren. Verwende {product_units} um die Anzahl der Einheiten auszugeben. Verwende {unit} für die Einheit und optional {unit_price} für den formatierten Grundpreis."
|
2927 |
|
2928 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:684
|
2929 |
#@ woocommerce-germanized
|
2930 |
msgid "Product contains: {product_units} {unit}"
|
2931 |
msgstr "Produkt enthält: {product_units} {unit}"
|
2940 |
msgid "Email Options"
|
2941 |
msgstr "E-Mails"
|
2942 |
|
2943 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:503
|
2944 |
#@ woocommerce-germanized
|
2945 |
msgid "Email Attachment Options"
|
2946 |
msgstr "PDF Anhang"
|
2950 |
msgid "Same as parent"
|
2951 |
msgstr "Gleiche wie übergeordnet"
|
2952 |
|
2953 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:524
|
2954 |
#@ woocommerce-germanized
|
2955 |
msgid "Downloadable Product"
|
2956 |
msgstr "Herunterladbares Produkt"
|
2957 |
|
2958 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:525
|
2959 |
#@ woocommerce-germanized
|
2960 |
msgid "Virtual Product"
|
2961 |
msgstr "Virtuelles Produkt"
|
2962 |
|
2963 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:805
|
2964 |
#@ woocommerce-germanized
|
2965 |
msgid "Digital Product types"
|
2966 |
msgstr "Digitale Produkttypen"
|
2967 |
|
2968 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:806
|
2969 |
#@ woocommerce-germanized
|
2970 |
msgid "Select product types for which the loss of recission notice is shown. Product types like \"simple product\" may be redudant because they include virtual and downloadable products."
|
2971 |
msgstr "Wähle die Produkttypen aus, für die ein Hinweis für den Verlust des Widerrufsrechts angezeigt werden soll. Produkttypen wie \"einfaches Produkt\" können redundant sein, da sie herunterladbare oder virtuelle Produkte einschließen."
|
2988 |
#. translators: plugin header field 'Version'
|
2989 |
#: woocommerce-germanized.php:0
|
2990 |
#@ woocommerce-germanized
|
2991 |
+
msgid "1.4.5"
|
2992 |
+
msgstr "1.4.5"
|
2993 |
+
|
2994 |
+
#: includes/class-wc-gzd-payment-gateways.php:50
|
2995 |
+
#: includes/wc-gzd-order-functions.php:21
|
2996 |
+
#: includes/wc-gzd-template-functions.php:452
|
2997 |
+
#, php-format
|
2998 |
+
#@ woocommerce-germanized
|
2999 |
+
msgid "Plus %s forwarding fee (charged by the transport agent)"
|
3000 |
+
msgstr "zzgl. %s Übermittlungsentgelt (direkt an den Zusteller)"
|
3001 |
+
|
3002 |
+
#: includes/class-wc-gzd-payment-gateways.php:47
|
3003 |
+
#: includes/class-wc-gzd-payment-gateways.php:73
|
3004 |
+
#, php-format
|
3005 |
+
#@ woocommerce-germanized
|
3006 |
+
msgid "%s payment charge"
|
3007 |
+
msgstr "%s Zahlungsgebühr"
|
3008 |
+
|
3009 |
+
#: includes/class-wc-gzd-payment-gateways.php:116
|
3010 |
+
#@ woocommerce-germanized
|
3011 |
+
msgid "Forwarding Fee"
|
3012 |
+
msgstr "Übermittlungsentgelt"
|
3013 |
+
|
3014 |
+
#: includes/class-wc-gzd-payment-gateways.php:119
|
3015 |
+
#@ woocommerce-germanized
|
3016 |
+
msgid "Forwarding fee will be charged by the transport agent in addition to the cash of delivery fee e.g. DHL - tax free."
|
3017 |
+
msgstr "Übermittlungsentgelt wird zusätzlich zum Nachnahmebetrag vom Paketzusteller kassiert - z.B. DHL (steuerfrei)."
|
3018 |
+
|
3019 |
+
#: templates/footer/vat-info.php:15
|
3020 |
+
#@ woocommerce-germanized
|
3021 |
+
msgid "Because of the small business owner state according to §19 UStG the seller charge no sales tax, and therefore do not show it."
|
3022 |
+
msgstr "Kein Mehrwertsteuerausweis, da Kleinunternehmer nach §19 (1) UStG."
|
3023 |
+
|
3024 |
+
#: templates/global/small-business-info.php:15
|
3025 |
+
#@ woocommerce-germanized
|
3026 |
+
msgid "Because of the small business owner state according to §19 UstG the seller does not levy nor state the German value added tax."
|
3027 |
+
msgstr "Kein Mehrwertsteuerausweis, da Kleinunternehmer nach §19 (1) UStG."
|
3028 |
+
|
3029 |
+
#: templates/single-product/legal-info.php:19
|
3030 |
+
#: templates/single-product/tax-info.php:18
|
3031 |
+
#@ woocommerce-germanized
|
3032 |
+
msgid "VAT free based on §19 UStG"
|
3033 |
+
msgstr "Kein Mehrwertsteuerausweis, da Kleinunternehmer nach §19 (1) UStG."
|
3034 |
+
|
3035 |
+
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:69
|
3036 |
+
#@ woocommerce-germanized
|
3037 |
+
msgid "Free shipping?"
|
3038 |
+
msgstr "Versand kostenlos?"
|
3039 |
+
|
3040 |
+
#: includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php:69
|
3041 |
+
#@ woocommerce-germanized
|
3042 |
+
msgid "This option disables the \"plus shipping costs\" notice on product page"
|
3043 |
+
msgstr "Deaktiviert den Hinweis \"zzgl. Versandkosten\". Ohne Auswirkungen auf die Versandkosten."
|
3044 |
+
|
3045 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:298
|
3046 |
+
#@ woocommerce-germanized
|
3047 |
+
msgid "Free Shipping Text"
|
3048 |
+
msgstr "Kostenloser Versand Text"
|
3049 |
+
|
3050 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:299
|
3051 |
+
#@ woocommerce-germanized
|
3052 |
+
msgid "This text will be used to inform the customer about free shipping. Leave empty to disable notice. Use {link}{/link} to insert link to shipping costs page."
|
3053 |
+
msgstr "Dieser Text wird genutzt um die Kunden im Frontend über einen kostenlosen Versand zu informieren. Nutze den Platzhalter {link}{/link} um den Link zur Versandkosten-Seite einzufügen."
|
3054 |
+
|
3055 |
+
#: includes/admin/settings/class-wc-gzd-settings-germanized.php:819
|
3056 |
+
#@ woocommerce-germanized
|
3057 |
+
msgid "For digital products: I strongly agree that the execution of the agreement starts before the revocation period has expired. I am aware that my right of withdrawal ceases with the beginning of the agreement."
|
3058 |
+
msgstr "Für digitale Produkte: Ich stimme ausdrücklich zu, dass vor Ablauf der Widerrufsfrist mit der Ausführung des Vertrags begonnen wird. Mir ist bekannt, dass mit Beginn der Ausführung mein Widerrufsrecht erlischt."
|
3059 |
|
includes/abstracts/abstract-wc-gzd-product.php
CHANGED
@@ -37,6 +37,7 @@ class WC_GZD_Product {
|
|
37 |
'unit_product' => '',
|
38 |
'unit_price_regular' => '',
|
39 |
'unit_price_sale' => '',
|
|
|
40 |
'mini_desc' => '',
|
41 |
'gzd_product' => NULL,
|
42 |
);
|
@@ -324,23 +325,31 @@ class WC_GZD_Product {
|
|
324 |
return ( $this->get_delivery_time_term() ) ? apply_filters( 'woocommerce_germanized_delivery_time_html', str_replace( '{delivery_time}', $this->get_delivery_time_term()->name, get_option( 'woocommerce_gzd_delivery_time_text' ) ), $this->get_delivery_time_term()->name ) : '';
|
325 |
}
|
326 |
|
|
|
|
|
|
|
|
|
327 |
/**
|
328 |
* Returns the shipping costs notice html output
|
329 |
*
|
330 |
* @return string
|
331 |
*/
|
332 |
public function get_shipping_costs_html() {
|
333 |
-
|
334 |
-
|
|
|
|
|
335 |
$find = array(
|
336 |
'{link}',
|
337 |
'{/link}'
|
338 |
);
|
|
|
339 |
$replace = array(
|
340 |
'<a href="' . esc_url( get_permalink( wc_get_page_id( 'shipping_costs' ) ) ) . '" target="_blank">',
|
341 |
'</a>'
|
342 |
);
|
343 |
-
|
|
|
344 |
}
|
345 |
|
346 |
}
|
37 |
'unit_product' => '',
|
38 |
'unit_price_regular' => '',
|
39 |
'unit_price_sale' => '',
|
40 |
+
'unit_price_auto' => '',
|
41 |
'mini_desc' => '',
|
42 |
'gzd_product' => NULL,
|
43 |
);
|
325 |
return ( $this->get_delivery_time_term() ) ? apply_filters( 'woocommerce_germanized_delivery_time_html', str_replace( '{delivery_time}', $this->get_delivery_time_term()->name, get_option( 'woocommerce_gzd_delivery_time_text' ) ), $this->get_delivery_time_term()->name ) : '';
|
326 |
}
|
327 |
|
328 |
+
public function has_free_shipping() {
|
329 |
+
return ( apply_filters( 'woocommerce_germanized_product_has_free_shipping', ( $this->is_virtual() || $this->free_shipping === 'yes' ? true : false ), $this ) );
|
330 |
+
}
|
331 |
+
|
332 |
/**
|
333 |
* Returns the shipping costs notice html output
|
334 |
*
|
335 |
* @return string
|
336 |
*/
|
337 |
public function get_shipping_costs_html() {
|
338 |
+
|
339 |
+
if ( ( $this->is_virtual() && get_option( 'woocommerce_gzd_display_shipping_costs_virtual' ) != 'yes' ) )
|
340 |
+
return apply_filters( 'woocommerce_gzd_virtual_shipping_text', '', $this );
|
341 |
+
|
342 |
$find = array(
|
343 |
'{link}',
|
344 |
'{/link}'
|
345 |
);
|
346 |
+
|
347 |
$replace = array(
|
348 |
'<a href="' . esc_url( get_permalink( wc_get_page_id( 'shipping_costs' ) ) ) . '" target="_blank">',
|
349 |
'</a>'
|
350 |
);
|
351 |
+
|
352 |
+
return apply_filters( 'woocommerce_gzd_shipping_costs_text', str_replace( $find, $replace, ( $this->has_free_shipping() ? get_option( 'woocommerce_gzd_free_shipping_text' ) : get_option( 'woocommerce_gzd_shipping_costs_text' ) ) ), $this );
|
353 |
}
|
354 |
|
355 |
}
|
includes/admin/class-wc-gzd-admin.php
CHANGED
@@ -175,8 +175,8 @@ class WC_GZD_Admin {
|
|
175 |
update_option( 'woocommerce_gzd_hide_tour_' . sanitize_text_field( $_GET[ 'tour' ] ), true );
|
176 |
else
|
177 |
update_option( 'woocommerce_gzd_hide_tour', true );
|
|
|
178 |
} else if ( isset( $_GET[ 'tour' ] ) && isset( $_GET[ 'enable' ] ) && isset( $_GET[ '_wpnonce' ] ) && check_admin_referer( 'wc-gzd-tour-enable' ) ) {
|
179 |
-
|
180 |
$setting_sections = array_merge( array(
|
181 |
'general' => '',
|
182 |
'display' => '',
|
175 |
update_option( 'woocommerce_gzd_hide_tour_' . sanitize_text_field( $_GET[ 'tour' ] ), true );
|
176 |
else
|
177 |
update_option( 'woocommerce_gzd_hide_tour', true );
|
178 |
+
wp_safe_redirect( remove_query_arg( array( 'hide', 'tour', '_wpnonce' ) ) );
|
179 |
} else if ( isset( $_GET[ 'tour' ] ) && isset( $_GET[ 'enable' ] ) && isset( $_GET[ '_wpnonce' ] ) && check_admin_referer( 'wc-gzd-tour-enable' ) ) {
|
|
|
180 |
$setting_sections = array_merge( array(
|
181 |
'general' => '',
|
182 |
'display' => '',
|
includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php
CHANGED
@@ -31,8 +31,12 @@ class WC_Germanized_Meta_Box_Product_Data_Variable {
|
|
31 |
|
32 |
$_product = wc_get_product( $variation );
|
33 |
$variation_id = $_product->variation_id;
|
34 |
-
|
|
|
35 |
|
|
|
|
|
|
|
36 |
?>
|
37 |
|
38 |
<div class="variable_pricing_unit">
|
31 |
|
32 |
$_product = wc_get_product( $variation );
|
33 |
$variation_id = $_product->variation_id;
|
34 |
+
|
35 |
+
$delivery_time = wp_get_post_terms( $variation_id, 'product_delivery_time' );
|
36 |
|
37 |
+
if ( $delivery_time && ! empty( $delivery_time ) && is_array( $delivery_time ) )
|
38 |
+
$delivery_time = $delivery_time[0];
|
39 |
+
|
40 |
?>
|
41 |
|
42 |
<div class="variable_pricing_unit">
|
includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data.php
CHANGED
@@ -57,11 +57,17 @@ class WC_Germanized_Meta_Box_Product_Data {
|
|
57 |
$delivery_time = $_product->gzd_product->delivery_time;
|
58 |
|
59 |
?>
|
|
|
60 |
<p class="form-field">
|
61 |
<label for="delivery_time"><?php _e( 'Delivery Time', 'woocommerce-germanized' ); ?></label>
|
62 |
<input type="hidden" class="wc-product-search wc-gzd-delivery-time-search" style="width: 50%" id="delivery_time" name="delivery_time" data-minimum_input_length="1" data-allow_clear="true" data-placeholder="<?php _e( 'Search for a delivery time…', 'woocommerce-germanized' ); ?>" data-action="woocommerce_gzd_json_search_delivery_time" data-multiple="false" data-selected="<?php echo ( $delivery_time ? $delivery_time->name : '' ); ?>" value="<?php echo ( $delivery_time ? $delivery_time->term_id : '' ); ?>" />
|
63 |
</p>
|
|
|
64 |
<?php
|
|
|
|
|
|
|
|
|
65 |
}
|
66 |
|
67 |
public static function save( $post_id ) {
|
@@ -85,6 +91,7 @@ class WC_Germanized_Meta_Box_Product_Data {
|
|
85 |
'_sale_price_dates_from' => '',
|
86 |
'_sale_price_dates_to' => '',
|
87 |
'_sale_price' => '',
|
|
|
88 |
);
|
89 |
|
90 |
foreach ( $data as $k => $v ) {
|
@@ -99,7 +106,7 @@ class WC_Germanized_Meta_Box_Product_Data {
|
|
99 |
|
100 |
$data = apply_filters( 'woocommerce_gzd_product_saveable_data', $data, $post_id );
|
101 |
|
102 |
-
$product_type = empty( $data['product-type'] ) ? 'simple' : sanitize_title( stripslashes( $data['product-type'] ) );
|
103 |
|
104 |
if ( isset( $data['_unit'] ) ) {
|
105 |
update_post_meta( $post_id, '_unit', ( $data['_unit'] === '' ? '' : sanitize_text_field( $data['_unit'] ) ) );
|
@@ -132,13 +139,18 @@ class WC_Germanized_Meta_Box_Product_Data {
|
|
132 |
if ( isset( $data[ '_mini_desc' ] ) ) {
|
133 |
update_post_meta( $post_id, '_mini_desc', ( $data[ '_mini_desc' ] === '' ? '' : esc_html( $data[ '_mini_desc' ] ) ) );
|
134 |
}
|
135 |
-
|
136 |
-
if ( isset( $data[ 'delivery_time' ] ) && !
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
|
|
141 |
wp_delete_object_term_relationships( $post_id, 'product_delivery_time' );
|
|
|
|
|
|
|
|
|
142 |
|
143 |
// Ignore variable data
|
144 |
if ( in_array( $product_type, array( 'variable', 'grouped' ) ) && ! $is_variation ) {
|
57 |
$delivery_time = $_product->gzd_product->delivery_time;
|
58 |
|
59 |
?>
|
60 |
+
|
61 |
<p class="form-field">
|
62 |
<label for="delivery_time"><?php _e( 'Delivery Time', 'woocommerce-germanized' ); ?></label>
|
63 |
<input type="hidden" class="wc-product-search wc-gzd-delivery-time-search" style="width: 50%" id="delivery_time" name="delivery_time" data-minimum_input_length="1" data-allow_clear="true" data-placeholder="<?php _e( 'Search for a delivery time…', 'woocommerce-germanized' ); ?>" data-action="woocommerce_gzd_json_search_delivery_time" data-multiple="false" data-selected="<?php echo ( $delivery_time ? $delivery_time->name : '' ); ?>" value="<?php echo ( $delivery_time ? $delivery_time->term_id : '' ); ?>" />
|
64 |
</p>
|
65 |
+
|
66 |
<?php
|
67 |
+
|
68 |
+
// Free shipping
|
69 |
+
woocommerce_wp_checkbox( array( 'id' => '_free_shipping', 'label' => __( 'Free shipping?', 'woocommerce-germanized' ), 'description' => __( 'This option disables the "plus shipping costs" notice on product page', 'woocommerce-germanized' ) ) );
|
70 |
+
|
71 |
}
|
72 |
|
73 |
public static function save( $post_id ) {
|
91 |
'_sale_price_dates_from' => '',
|
92 |
'_sale_price_dates_to' => '',
|
93 |
'_sale_price' => '',
|
94 |
+
'_free_shipping' => '',
|
95 |
);
|
96 |
|
97 |
foreach ( $data as $k => $v ) {
|
106 |
|
107 |
$data = apply_filters( 'woocommerce_gzd_product_saveable_data', $data, $post_id );
|
108 |
|
109 |
+
$product_type = ( ! isset( $data['product-type'] ) || empty( $data['product-type'] ) ) ? 'simple' : sanitize_title( stripslashes( $data['product-type'] ) );
|
110 |
|
111 |
if ( isset( $data['_unit'] ) ) {
|
112 |
update_post_meta( $post_id, '_unit', ( $data['_unit'] === '' ? '' : sanitize_text_field( $data['_unit'] ) ) );
|
139 |
if ( isset( $data[ '_mini_desc' ] ) ) {
|
140 |
update_post_meta( $post_id, '_mini_desc', ( $data[ '_mini_desc' ] === '' ? '' : esc_html( $data[ '_mini_desc' ] ) ) );
|
141 |
}
|
142 |
+
|
143 |
+
if ( isset( $data[ 'delivery_time' ] ) && ! empty( $data[ 'delivery_time' ] ) ) {
|
144 |
+
if ( ! is_numeric( $data[ 'delivery_time' ] ) )
|
145 |
+
wp_set_post_terms( $post_id, sanitize_text_field( $data[ 'delivery_time' ] ), 'product_delivery_time' );
|
146 |
+
else
|
147 |
+
wp_set_object_terms( $post_id, absint( $data[ 'delivery_time' ] ) , 'product_delivery_time' );
|
148 |
+
} else {
|
149 |
wp_delete_object_term_relationships( $post_id, 'product_delivery_time' );
|
150 |
+
}
|
151 |
+
|
152 |
+
// Free shipping
|
153 |
+
update_post_meta( $post_id, '_free_shipping', ( isset( $data['_free_shipping'] ) ) ? 'yes' : '' );
|
154 |
|
155 |
// Ignore variable data
|
156 |
if ( in_array( $product_type, array( 'variable', 'grouped' ) ) && ! $is_variation ) {
|
includes/admin/settings/class-wc-gzd-settings-germanized.php
CHANGED
@@ -294,6 +294,16 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
|
|
294 |
'default' => __( 'plus {link}Shipping Costs{/link}', 'woocommerce-germanized' ),
|
295 |
),
|
296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
array(
|
298 |
'title' => __( 'Shipping Costs Tax', 'woocommerce-germanized' ),
|
299 |
'desc' => __( 'Enable better taxation for shpping costs?', 'woocommerce-germanized' ),
|
@@ -806,7 +816,7 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
|
|
806 |
'title' => __( 'Legal Digital Text', 'woocommerce-germanized' ),
|
807 |
'desc' => __( 'Choose a Plain Text which will be shown right above checkout submit button if a user has picked a digital product. See legal text option for possible placeholders.', 'woocommerce-germanized' ),
|
808 |
'desc_tip' => true,
|
809 |
-
'default' => __( 'I
|
810 |
'css' => 'width:100%; height: 65px;',
|
811 |
'id' => 'woocommerce_gzd_checkout_legal_text_digital',
|
812 |
'type' => 'textarea',
|
@@ -953,6 +963,11 @@ class WC_GZD_Settings_Germanized extends WC_Settings_Page {
|
|
953 |
WC_Admin_Settings::add_error( __( 'Sorry, but the new Virtual VAT rules cannot be applied to small business.', 'woocommerce-germanized' ) );
|
954 |
}
|
955 |
}
|
|
|
|
|
|
|
|
|
|
|
956 |
}
|
957 |
|
958 |
public function output_premium_section() {
|
294 |
'default' => __( 'plus {link}Shipping Costs{/link}', 'woocommerce-germanized' ),
|
295 |
),
|
296 |
|
297 |
+
array(
|
298 |
+
'title' => __( 'Free Shipping Text', 'woocommerce-germanized' ),
|
299 |
+
'desc' => __( 'This text will be used to inform the customer about free shipping. Leave empty to disable notice. Use {link}{/link} to insert link to shipping costs page.', 'woocommerce-germanized' ),
|
300 |
+
'desc_tip' => true,
|
301 |
+
'id' => 'woocommerce_gzd_free_shipping_text',
|
302 |
+
'type' => 'text',
|
303 |
+
'css' => 'min-width:300px;',
|
304 |
+
'default' => __( '', 'woocommerce-germanized' ),
|
305 |
+
),
|
306 |
+
|
307 |
array(
|
308 |
'title' => __( 'Shipping Costs Tax', 'woocommerce-germanized' ),
|
309 |
'desc' => __( 'Enable better taxation for shpping costs?', 'woocommerce-germanized' ),
|
816 |
'title' => __( 'Legal Digital Text', 'woocommerce-germanized' ),
|
817 |
'desc' => __( 'Choose a Plain Text which will be shown right above checkout submit button if a user has picked a digital product. See legal text option for possible placeholders.', 'woocommerce-germanized' ),
|
818 |
'desc_tip' => true,
|
819 |
+
'default' => __( 'For digital products: I strongly agree that the execution of the agreement starts before the revocation period has expired. I am aware that my right of withdrawal ceases with the beginning of the agreement.', 'woocommerce-germanized' ),
|
820 |
'css' => 'width:100%; height: 65px;',
|
821 |
'id' => 'woocommerce_gzd_checkout_legal_text_digital',
|
822 |
'type' => 'textarea',
|
963 |
WC_Admin_Settings::add_error( __( 'Sorry, but the new Virtual VAT rules cannot be applied to small business.', 'woocommerce-germanized' ) );
|
964 |
}
|
965 |
}
|
966 |
+
if ( 'yes' === get_option( 'woocommerce_gzd_enable_virtual_vat' ) ) {
|
967 |
+
// Make sure that tax based location is set to billing address
|
968 |
+
if ( 'base' === get_option( 'woocommerce_tax_based_on' ) )
|
969 |
+
update_option( 'woocommerce_tax_based_on', 'billing' );
|
970 |
+
}
|
971 |
}
|
972 |
|
973 |
public function output_premium_section() {
|
includes/admin/views/html-tour-display.php
CHANGED
@@ -93,7 +93,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
93 |
<h2>Einstellungen speichern</h2>
|
94 |
<p>Wenn du deine Einstellungen angepasst hast, dann speichere sie über diesen Button.
|
95 |
</p>
|
96 |
-
<a class="button button-primary" href="<?php echo
|
97 |
</li>
|
98 |
|
99 |
</ol>
|
93 |
<h2>Einstellungen speichern</h2>
|
94 |
<p>Wenn du deine Einstellungen angepasst hast, dann speichere sie über diesen Button.
|
95 |
</p>
|
96 |
+
<a class="button button-primary" href="<?php echo add_query_arg( array( 'section' => 'email' ), WC_GZD_Admin::instance()->disable_tour_link( 'display' ) ); ?>">Weiter zu den E-Mails</a>
|
97 |
</li>
|
98 |
|
99 |
</ol>
|
includes/admin/views/html-tour-general.php
CHANGED
@@ -117,7 +117,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
117 |
<h2>Einstellungen speichern</h2>
|
118 |
<p>Wenn du deine Einstellungen angepasst hast, dann speichere sie über diesen Button.
|
119 |
</p>
|
120 |
-
<a class="button button-primary" href="<?php echo
|
121 |
</li>
|
122 |
|
123 |
</ol>
|
117 |
<h2>Einstellungen speichern</h2>
|
118 |
<p>Wenn du deine Einstellungen angepasst hast, dann speichere sie über diesen Button.
|
119 |
</p>
|
120 |
+
<a class="button button-primary" href="<?php echo add_query_arg( array( 'section' => 'display' ), WC_GZD_Admin::instance()->disable_tour_link( 'general' ) ); ?>">Weiter zur Anzeige</a>
|
121 |
</li>
|
122 |
|
123 |
</ol>
|
includes/class-wc-gzd-cart-2-2.php
DELETED
@@ -1,352 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* WooCommerce GZD cart
|
4 |
-
*
|
5 |
-
* Extends WooCommerce default cart to implement vat exception for digital products (if customer is not from shop base country)
|
6 |
-
*
|
7 |
-
* @class WC_GZD_Cart
|
8 |
-
* @see WC_Cart
|
9 |
-
* @version 1.0.0
|
10 |
-
* @author Vendidero
|
11 |
-
*/
|
12 |
-
class WC_GZD_Cart extends WC_Cart {
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Reset cart totals and clear sessions.
|
16 |
-
*
|
17 |
-
* @access private
|
18 |
-
* @return void
|
19 |
-
*/
|
20 |
-
private function reset() {
|
21 |
-
foreach ( $this->cart_session_data as $key => $default ) {
|
22 |
-
$this->$key = $default;
|
23 |
-
unset( WC()->session->$key );
|
24 |
-
}
|
25 |
-
}
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Calculate totals for cart. Implements vat exception for digital products.
|
29 |
-
*/
|
30 |
-
public function calculate_totals() {
|
31 |
-
|
32 |
-
$this->reset();
|
33 |
-
|
34 |
-
do_action( 'woocommerce_before_calculate_totals', $this );
|
35 |
-
|
36 |
-
if ( sizeof( $this->get_cart() ) == 0 ) {
|
37 |
-
$this->set_session();
|
38 |
-
return;
|
39 |
-
}
|
40 |
-
|
41 |
-
$tax_rates = array();
|
42 |
-
$shop_tax_rates = array();
|
43 |
-
|
44 |
-
/**
|
45 |
-
* Calculate subtotals for items. This is done first so that discount logic can use the values.
|
46 |
-
*/
|
47 |
-
foreach ( $this->get_cart() as $cart_item_key => $values ) {
|
48 |
-
|
49 |
-
$_product = $values['data'];
|
50 |
-
|
51 |
-
// Count items + weight
|
52 |
-
$this->cart_contents_weight += $_product->get_weight() * $values['quantity'];
|
53 |
-
$this->cart_contents_count += $values['quantity'];
|
54 |
-
|
55 |
-
// Prices
|
56 |
-
$base_price = $_product->get_price();
|
57 |
-
$line_price = $_product->get_price() * $values['quantity'];
|
58 |
-
|
59 |
-
$line_subtotal = 0;
|
60 |
-
$line_subtotal_tax = 0;
|
61 |
-
|
62 |
-
/**
|
63 |
-
* No tax to calculate
|
64 |
-
*/
|
65 |
-
if ( ! $_product->is_taxable() ) {
|
66 |
-
|
67 |
-
// Subtotal is the undiscounted price
|
68 |
-
$this->subtotal += $line_price;
|
69 |
-
$this->subtotal_ex_tax += $line_price;
|
70 |
-
|
71 |
-
/**
|
72 |
-
* Prices include tax
|
73 |
-
*
|
74 |
-
* To prevent rounding issues we need to work with the inclusive price where possible
|
75 |
-
* otherwise we'll see errors such as when working with a 9.99 inc price, 20% VAT which would
|
76 |
-
* be 8.325 leading to totals being 1p off
|
77 |
-
*
|
78 |
-
* Pre tax coupons come off the price the customer thinks they are paying - tax is calculated
|
79 |
-
* afterwards.
|
80 |
-
*
|
81 |
-
* e.g. $100 bike with $10 coupon = customer pays $90 and tax worked backwards from that
|
82 |
-
*/
|
83 |
-
} elseif ( $this->prices_include_tax ) {
|
84 |
-
|
85 |
-
// Get base tax rates
|
86 |
-
if ( empty( $shop_tax_rates[ $_product->tax_class ] ) )
|
87 |
-
$shop_tax_rates[ $_product->tax_class ] = $this->tax->get_shop_base_rate( $_product->tax_class );
|
88 |
-
|
89 |
-
// Get item tax rates
|
90 |
-
if ( empty( $tax_rates[ $_product->get_tax_class() ] ) )
|
91 |
-
$tax_rates[ $_product->get_tax_class() ] = $this->tax->get_rates( $_product->get_tax_class() );
|
92 |
-
|
93 |
-
$base_tax_rates = $shop_tax_rates[ $_product->tax_class ];
|
94 |
-
$item_tax_rates = $tax_rates[ $_product->get_tax_class() ];
|
95 |
-
|
96 |
-
/**
|
97 |
-
* ADJUST TAX - Calculations when base tax is not equal to the item tax
|
98 |
-
*/
|
99 |
-
if ( $item_tax_rates !== $base_tax_rates ) {
|
100 |
-
|
101 |
-
// Work out a new base price without the shop's base tax
|
102 |
-
$taxes = $this->tax->calc_tax( $line_price, $base_tax_rates, true, true );
|
103 |
-
|
104 |
-
// Digital VAT exception
|
105 |
-
if ( $this->is_virtual_taxable() && $_product->gzd_product->is_virtual_vat_exception() )
|
106 |
-
$taxes = $this->tax->calc_tax( $line_price, $item_tax_rates, true, true );
|
107 |
-
|
108 |
-
// Now we have a new item price (excluding TAX)
|
109 |
-
$line_subtotal = $line_price - array_sum( $taxes );
|
110 |
-
|
111 |
-
// Now add modifed taxes
|
112 |
-
$tax_result = $this->tax->calc_tax( $line_subtotal, $item_tax_rates );
|
113 |
-
$line_subtotal_tax = array_sum( $tax_result );
|
114 |
-
|
115 |
-
/**
|
116 |
-
* Regular tax calculation (customer inside base and the tax class is unmodified
|
117 |
-
*/
|
118 |
-
} else {
|
119 |
-
|
120 |
-
// Calc tax normally
|
121 |
-
$taxes = $this->tax->calc_tax( $line_price, $item_tax_rates, true );
|
122 |
-
$line_subtotal_tax = array_sum( $taxes );
|
123 |
-
$line_subtotal = $line_price - array_sum( $taxes );
|
124 |
-
}
|
125 |
-
|
126 |
-
/**
|
127 |
-
* Prices exclude tax
|
128 |
-
*
|
129 |
-
* This calculation is simpler - work with the base, untaxed price.
|
130 |
-
*/
|
131 |
-
} else {
|
132 |
-
|
133 |
-
// Get item tax rates
|
134 |
-
if ( empty( $tax_rates[ $_product->get_tax_class() ] ) )
|
135 |
-
$tax_rates[ $_product->get_tax_class() ] = $this->tax->get_rates( $_product->get_tax_class() );
|
136 |
-
|
137 |
-
$item_tax_rates = $tax_rates[ $_product->get_tax_class() ];
|
138 |
-
|
139 |
-
// Base tax for line before discount - we will store this in the order data
|
140 |
-
$taxes = $this->tax->calc_tax( $line_price, $item_tax_rates );
|
141 |
-
$line_subtotal_tax = array_sum( $taxes );
|
142 |
-
$line_subtotal = $line_price;
|
143 |
-
}
|
144 |
-
|
145 |
-
// Add to main subtotal
|
146 |
-
$this->subtotal += $line_subtotal + $line_subtotal_tax;
|
147 |
-
$this->subtotal_ex_tax += $line_subtotal;
|
148 |
-
}
|
149 |
-
|
150 |
-
/**
|
151 |
-
* Calculate totals for items
|
152 |
-
*/
|
153 |
-
foreach ( $this->get_cart() as $cart_item_key => $values ) {
|
154 |
-
|
155 |
-
$_product = $values['data'];
|
156 |
-
|
157 |
-
// Prices
|
158 |
-
$base_price = $_product->get_price();
|
159 |
-
$line_price = $_product->get_price() * $values['quantity'];
|
160 |
-
|
161 |
-
// Tax data
|
162 |
-
$taxes = array();
|
163 |
-
$discounted_taxes = array();
|
164 |
-
|
165 |
-
/**
|
166 |
-
* No tax to calculate
|
167 |
-
*/
|
168 |
-
if ( ! $_product->is_taxable() ) {
|
169 |
-
|
170 |
-
// Discounted Price (price with any pre-tax discounts applied)
|
171 |
-
$discounted_price = $this->get_discounted_price( $values, $base_price, true );
|
172 |
-
$discounted_tax_amount = 0;
|
173 |
-
$tax_amount = 0;
|
174 |
-
$line_subtotal_tax = 0;
|
175 |
-
$line_subtotal = $line_price;
|
176 |
-
$line_tax = 0;
|
177 |
-
$line_total = $this->tax->round( $discounted_price * $values['quantity'] );
|
178 |
-
|
179 |
-
/**
|
180 |
-
* Prices include tax
|
181 |
-
*/
|
182 |
-
} elseif ( $this->prices_include_tax ) {
|
183 |
-
|
184 |
-
$base_tax_rates = $shop_tax_rates[ $_product->tax_class ];
|
185 |
-
$item_tax_rates = $tax_rates[ $_product->get_tax_class() ];
|
186 |
-
|
187 |
-
/**
|
188 |
-
* ADJUST TAX - Calculations when base tax is not equal to the item tax
|
189 |
-
*/
|
190 |
-
if ( $item_tax_rates !== $base_tax_rates ) {
|
191 |
-
|
192 |
-
// Work out a new base price without the shop's base tax
|
193 |
-
$taxes = $this->tax->calc_tax( $line_price, $base_tax_rates, true, true );
|
194 |
-
|
195 |
-
// Digital tax exception
|
196 |
-
if ( $this->is_virtual_taxable() && $_product->gzd_product->is_virtual_vat_exception() )
|
197 |
-
$taxes = $this->tax->calc_tax( $line_price, $item_tax_rates, true, true );
|
198 |
-
|
199 |
-
// Now we have a new item price (excluding TAX)
|
200 |
-
$line_subtotal = round( $line_price - array_sum( $taxes ), WC_ROUNDING_PRECISION );
|
201 |
-
|
202 |
-
// Now add modifed taxes
|
203 |
-
$taxes = $this->tax->calc_tax( $line_subtotal, $item_tax_rates );
|
204 |
-
$line_subtotal_tax = array_sum( $taxes );
|
205 |
-
|
206 |
-
// Adjusted price (this is the price including the new tax rate)
|
207 |
-
$adjusted_price = ( $line_subtotal + $line_subtotal_tax ) / $values['quantity'];
|
208 |
-
|
209 |
-
// Apply discounts
|
210 |
-
$discounted_price = $this->get_discounted_price( $values, $adjusted_price, true );
|
211 |
-
$discounted_taxes = $this->tax->calc_tax( $discounted_price * $values['quantity'], $item_tax_rates, true );
|
212 |
-
$line_tax = array_sum( $discounted_taxes );
|
213 |
-
$line_total = ( $discounted_price * $values['quantity'] ) - $line_tax;
|
214 |
-
|
215 |
-
/**
|
216 |
-
* Regular tax calculation (customer inside base and the tax class is unmodified
|
217 |
-
*/
|
218 |
-
} else {
|
219 |
-
|
220 |
-
// Work out a new base price without the shop's base tax
|
221 |
-
$taxes = $this->tax->calc_tax( $line_price, $item_tax_rates, true );
|
222 |
-
|
223 |
-
// Now we have a new item price (excluding TAX)
|
224 |
-
$line_subtotal = $line_price - array_sum( $taxes );
|
225 |
-
$line_subtotal_tax = array_sum( $taxes );
|
226 |
-
|
227 |
-
// Calc prices and tax (discounted)
|
228 |
-
$discounted_price = $this->get_discounted_price( $values, $base_price, true );
|
229 |
-
$discounted_taxes = $this->tax->calc_tax( $discounted_price * $values['quantity'], $item_tax_rates, true );
|
230 |
-
$line_tax = array_sum( $discounted_taxes );
|
231 |
-
$line_total = ( $discounted_price * $values['quantity'] ) - $line_tax;
|
232 |
-
}
|
233 |
-
|
234 |
-
// Tax rows - merge the totals we just got
|
235 |
-
foreach ( array_keys( $this->taxes + $discounted_taxes ) as $key ) {
|
236 |
-
$this->taxes[ $key ] = ( isset( $discounted_taxes[ $key ] ) ? $discounted_taxes[ $key ] : 0 ) + ( isset( $this->taxes[ $key ] ) ? $this->taxes[ $key ] : 0 );
|
237 |
-
}
|
238 |
-
|
239 |
-
/**
|
240 |
-
* Prices exclude tax
|
241 |
-
*/
|
242 |
-
} else {
|
243 |
-
|
244 |
-
$item_tax_rates = $tax_rates[ $_product->get_tax_class() ];
|
245 |
-
|
246 |
-
// Work out a new base price without the shop's base tax
|
247 |
-
$taxes = $this->tax->calc_tax( $line_price, $item_tax_rates );
|
248 |
-
|
249 |
-
// Now we have the item price (excluding TAX)
|
250 |
-
$line_subtotal = $line_price;
|
251 |
-
$line_subtotal_tax = array_sum( $taxes );
|
252 |
-
|
253 |
-
// Now calc product rates
|
254 |
-
$discounted_price = $this->get_discounted_price( $values, $base_price, true );
|
255 |
-
$discounted_taxes = $this->tax->calc_tax( $discounted_price * $values['quantity'], $item_tax_rates );
|
256 |
-
$discounted_tax_amount = array_sum( $discounted_taxes );
|
257 |
-
$line_tax = $discounted_tax_amount;
|
258 |
-
$line_total = $discounted_price * $values['quantity'];
|
259 |
-
|
260 |
-
// Tax rows - merge the totals we just got
|
261 |
-
foreach ( array_keys( $this->taxes + $discounted_taxes ) as $key ) {
|
262 |
-
$this->taxes[ $key ] = ( isset( $discounted_taxes[ $key ] ) ? $discounted_taxes[ $key ] : 0 ) + ( isset( $this->taxes[ $key ] ) ? $this->taxes[ $key ] : 0 );
|
263 |
-
}
|
264 |
-
}
|
265 |
-
|
266 |
-
// Add any product discounts (after tax)
|
267 |
-
$this->apply_product_discounts_after_tax( $values, $line_total + $line_tax );
|
268 |
-
|
269 |
-
// Cart contents total is based on discounted prices and is used for the final total calculation
|
270 |
-
$this->cart_contents_total += $line_total;
|
271 |
-
|
272 |
-
// Store costs + taxes for lines
|
273 |
-
$this->cart_contents[ $cart_item_key ]['line_total'] = $line_total;
|
274 |
-
$this->cart_contents[ $cart_item_key ]['line_tax'] = $line_tax;
|
275 |
-
$this->cart_contents[ $cart_item_key ]['line_subtotal'] = $line_subtotal;
|
276 |
-
$this->cart_contents[ $cart_item_key ]['line_subtotal_tax'] = $line_subtotal_tax;
|
277 |
-
|
278 |
-
// Store rates ID and costs - Since 2.2
|
279 |
-
$this->cart_contents[ $cart_item_key ]['line_tax_data'] = array( 'total' => $discounted_taxes, 'subtotal' => $taxes );
|
280 |
-
}
|
281 |
-
|
282 |
-
// Only calculate the grand total + shipping if on the cart/checkout
|
283 |
-
if ( is_checkout() || is_cart() || defined('WOOCOMMERCE_CHECKOUT') || defined('WOOCOMMERCE_CART') ) {
|
284 |
-
|
285 |
-
// Calculate the Shipping
|
286 |
-
$this->calculate_shipping();
|
287 |
-
|
288 |
-
// Trigger the fees API where developers can add fees to the cart
|
289 |
-
$this->calculate_fees();
|
290 |
-
|
291 |
-
// Total up/round taxes and shipping taxes
|
292 |
-
if ( $this->round_at_subtotal ) {
|
293 |
-
$this->tax_total = $this->tax->get_tax_total( $this->taxes );
|
294 |
-
$this->shipping_tax_total = $this->tax->get_tax_total( $this->shipping_taxes );
|
295 |
-
$this->taxes = array_map( array( $this->tax, 'round' ), $this->taxes );
|
296 |
-
$this->shipping_taxes = array_map( array( $this->tax, 'round' ), $this->shipping_taxes );
|
297 |
-
} else {
|
298 |
-
$this->tax_total = array_sum( $this->taxes );
|
299 |
-
$this->shipping_tax_total = array_sum( $this->shipping_taxes );
|
300 |
-
}
|
301 |
-
|
302 |
-
// VAT exemption done at this point - so all totals are correct before exemption
|
303 |
-
if ( WC()->customer->is_vat_exempt() ) {
|
304 |
-
$this->remove_taxes();
|
305 |
-
}
|
306 |
-
|
307 |
-
// Cart Discounts (after tax)
|
308 |
-
$this->apply_cart_discounts_after_tax();
|
309 |
-
|
310 |
-
// Allow plugins to hook and alter totals before final total is calculated
|
311 |
-
do_action( 'woocommerce_calculate_totals', $this );
|
312 |
-
|
313 |
-
// Grand Total - Discounted product prices, discounted tax, shipping cost + tax, and any discounts to be added after tax (e.g. store credit)
|
314 |
-
$this->total = max( 0, apply_filters( 'woocommerce_calculated_total', round( $this->cart_contents_total + $this->tax_total + $this->shipping_tax_total + $this->shipping_total - $this->discount_total + $this->fee_total, $this->dp ), $this ) );
|
315 |
-
|
316 |
-
} else {
|
317 |
-
|
318 |
-
// Set tax total to sum of all tax rows
|
319 |
-
$this->tax_total = $this->tax->get_tax_total( $this->taxes );
|
320 |
-
|
321 |
-
// VAT exemption done at this point - so all totals are correct before exemption
|
322 |
-
if ( WC()->customer->is_vat_exempt() ) {
|
323 |
-
$this->remove_taxes();
|
324 |
-
}
|
325 |
-
|
326 |
-
// Cart Discounts (after tax)
|
327 |
-
$this->apply_cart_discounts_after_tax();
|
328 |
-
}
|
329 |
-
|
330 |
-
$this->set_session();
|
331 |
-
}
|
332 |
-
|
333 |
-
/**
|
334 |
-
* Decides whether current cart (and customer) apply for a digital vat exception (checks whether customer is from EU and not from base country)
|
335 |
-
*
|
336 |
-
* @return boolean
|
337 |
-
*/
|
338 |
-
public function is_virtual_taxable() {
|
339 |
-
if ( get_option( 'woocommerce_gzd_enable_virtual_vat' ) != 'yes' )
|
340 |
-
return false;
|
341 |
-
if ( ( ! empty( WC()->customer ) ) && ( is_checkout() || defined('WOOCOMMERCE_CHECKOUT') ) ) {
|
342 |
-
$taxable_address = WC()->customer->get_taxable_address();
|
343 |
-
$base_country = WC()->countries->get_base_country();
|
344 |
-
if ( isset( $taxable_address[0] ) && $taxable_address[0] != $base_country && in_array( $taxable_address[0], WC()->countries->get_european_union_countries() ) )
|
345 |
-
return true;
|
346 |
-
}
|
347 |
-
return false;
|
348 |
-
}
|
349 |
-
|
350 |
-
}
|
351 |
-
|
352 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/class-wc-gzd-cart.php
DELETED
@@ -1,383 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* WooCommerce GZD cart
|
4 |
-
*
|
5 |
-
* Extends WooCommerce default cart to implement vat exception for digital products (if customer is not from shop base country)
|
6 |
-
*
|
7 |
-
* @class WC_GZD_Cart
|
8 |
-
* @see WC_Cart
|
9 |
-
* @version 1.0.0
|
10 |
-
* @author Vendidero
|
11 |
-
*/
|
12 |
-
class WC_GZD_Cart extends WC_Cart {
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Reset cart totals to the defaults. Useful before running calculations.
|
16 |
-
*
|
17 |
-
* @param bool $unset_session If true, the session data will be forced unset.
|
18 |
-
* @access private
|
19 |
-
*/
|
20 |
-
private function reset( $unset_session = false ) {
|
21 |
-
foreach ( $this->cart_session_data as $key => $default ) {
|
22 |
-
$this->$key = $default;
|
23 |
-
if ( $unset_session ) {
|
24 |
-
unset( WC()->session->$key );
|
25 |
-
}
|
26 |
-
}
|
27 |
-
do_action( 'woocommerce_cart_reset', $this, $unset_session );
|
28 |
-
}
|
29 |
-
|
30 |
-
/**
|
31 |
-
* Sort by subtotal
|
32 |
-
* @param array $a
|
33 |
-
* @param array $b
|
34 |
-
* @return int
|
35 |
-
*/
|
36 |
-
private function sort_by_subtotal( $a, $b ) {
|
37 |
-
$first_item_subtotal = isset( $a['line_subtotal'] ) ? $a['line_subtotal'] : 0;
|
38 |
-
$second_item_subtotal = isset( $b['line_subtotal'] ) ? $b['line_subtotal'] : 0;
|
39 |
-
if ( $first_item_subtotal === $second_item_subtotal ) {
|
40 |
-
return 0;
|
41 |
-
}
|
42 |
-
return ( $first_item_subtotal < $second_item_subtotal ) ? 1 : -1;
|
43 |
-
}
|
44 |
-
|
45 |
-
/**
|
46 |
-
* Calculate totals for cart. Implements vat exception for digital products.
|
47 |
-
*/
|
48 |
-
public function calculate_totals() {
|
49 |
-
|
50 |
-
$this->reset();
|
51 |
-
$this->coupons = $this->get_coupons();
|
52 |
-
|
53 |
-
do_action( 'woocommerce_before_calculate_totals', $this );
|
54 |
-
|
55 |
-
if ( sizeof( $this->get_cart() ) == 0 ) {
|
56 |
-
$this->set_session();
|
57 |
-
return;
|
58 |
-
}
|
59 |
-
|
60 |
-
$tax_rates = array();
|
61 |
-
$shop_tax_rates = array();
|
62 |
-
$cart = $this->get_cart();
|
63 |
-
|
64 |
-
/**
|
65 |
-
* Calculate subtotals for items. This is done first so that discount logic can use the values.
|
66 |
-
*/
|
67 |
-
foreach ( $cart as $cart_item_key => $values ) {
|
68 |
-
|
69 |
-
$_product = $values['data'];
|
70 |
-
|
71 |
-
// Count items + weight
|
72 |
-
$this->cart_contents_weight += $_product->get_weight() * $values['quantity'];
|
73 |
-
$this->cart_contents_count += $values['quantity'];
|
74 |
-
|
75 |
-
// Prices
|
76 |
-
$line_price = $_product->get_price() * $values['quantity'];
|
77 |
-
|
78 |
-
$line_subtotal = 0;
|
79 |
-
$line_subtotal_tax = 0;
|
80 |
-
|
81 |
-
/**
|
82 |
-
* No tax to calculate
|
83 |
-
*/
|
84 |
-
if ( ! $_product->is_taxable() ) {
|
85 |
-
|
86 |
-
// Subtotal is the undiscounted price
|
87 |
-
$this->subtotal += $line_price;
|
88 |
-
$this->subtotal_ex_tax += $line_price;
|
89 |
-
|
90 |
-
/**
|
91 |
-
* Prices include tax
|
92 |
-
*
|
93 |
-
* To prevent rounding issues we need to work with the inclusive price where possible
|
94 |
-
* otherwise we'll see errors such as when working with a 9.99 inc price, 20% VAT which would
|
95 |
-
* be 8.325 leading to totals being 1p off
|
96 |
-
*
|
97 |
-
* Pre tax coupons come off the price the customer thinks they are paying - tax is calculated
|
98 |
-
* afterwards.
|
99 |
-
*
|
100 |
-
* e.g. $100 bike with $10 coupon = customer pays $90 and tax worked backwards from that
|
101 |
-
*/
|
102 |
-
} elseif ( $this->prices_include_tax ) {
|
103 |
-
|
104 |
-
// Get base tax rates
|
105 |
-
if ( empty( $shop_tax_rates[ $_product->tax_class ] ) ) {
|
106 |
-
$shop_tax_rates[ $_product->tax_class ] = WC_Tax::get_base_tax_rates( $_product->tax_class );
|
107 |
-
}
|
108 |
-
|
109 |
-
// Get item tax rates
|
110 |
-
if ( empty( $tax_rates[ $_product->get_tax_class() ] ) ) {
|
111 |
-
$tax_rates[ $_product->get_tax_class() ] = WC_Tax::get_rates( $_product->get_tax_class() );
|
112 |
-
}
|
113 |
-
|
114 |
-
$base_tax_rates = $shop_tax_rates[ $_product->tax_class ];
|
115 |
-
$item_tax_rates = $tax_rates[ $_product->get_tax_class() ];
|
116 |
-
|
117 |
-
/**
|
118 |
-
* ADJUST TAX - Calculations when base tax is not equal to the item tax
|
119 |
-
*
|
120 |
-
* The woocommerce_adjust_non_base_location_prices filter can stop base taxes being taken off when dealing with out of base locations.
|
121 |
-
* e.g. If a product costs 10 including tax, all users will pay 10 regardless of location and taxes.
|
122 |
-
* This feature is experimental @since 2.4.7 and may change in the future. Use at your risk.
|
123 |
-
*/
|
124 |
-
if ( $item_tax_rates !== $base_tax_rates && apply_filters( 'woocommerce_adjust_non_base_location_prices', true ) ) {
|
125 |
-
|
126 |
-
// Work out a new base price without the shop's base tax
|
127 |
-
$taxes = WC_Tax::calc_tax( $line_price, $base_tax_rates, true, true );
|
128 |
-
|
129 |
-
// Digital VAT exception
|
130 |
-
if ( $this->is_virtual_taxable() && $_product->gzd_product->is_virtual_vat_exception() ) {
|
131 |
-
$taxes = WC_Tax::calc_tax( $line_price, $item_tax_rates, true, true );
|
132 |
-
}
|
133 |
-
|
134 |
-
// Now we have a new item price (excluding TAX)
|
135 |
-
$line_subtotal = $line_price - array_sum( $taxes );
|
136 |
-
|
137 |
-
// Now add modified taxes
|
138 |
-
$tax_result = WC_Tax::calc_tax( $line_subtotal, $item_tax_rates );
|
139 |
-
$line_subtotal_tax = array_sum( $tax_result );
|
140 |
-
|
141 |
-
/**
|
142 |
-
* Regular tax calculation (customer inside base and the tax class is unmodified
|
143 |
-
*/
|
144 |
-
} else {
|
145 |
-
|
146 |
-
// Calc tax normally
|
147 |
-
$taxes = WC_Tax::calc_tax( $line_price, $item_tax_rates, true );
|
148 |
-
$line_subtotal_tax = array_sum( $taxes );
|
149 |
-
$line_subtotal = $line_price - array_sum( $taxes );
|
150 |
-
}
|
151 |
-
|
152 |
-
/**
|
153 |
-
* Prices exclude tax
|
154 |
-
*
|
155 |
-
* This calculation is simpler - work with the base, untaxed price.
|
156 |
-
*/
|
157 |
-
} else {
|
158 |
-
|
159 |
-
// Get item tax rates
|
160 |
-
if ( empty( $tax_rates[ $_product->get_tax_class() ] ) ) {
|
161 |
-
$tax_rates[ $_product->get_tax_class() ] = WC_Tax::get_rates( $_product->get_tax_class() );
|
162 |
-
}
|
163 |
-
|
164 |
-
$item_tax_rates = $tax_rates[ $_product->get_tax_class() ];
|
165 |
-
|
166 |
-
// Base tax for line before discount - we will store this in the order data
|
167 |
-
$taxes = WC_Tax::calc_tax( $line_price, $item_tax_rates );
|
168 |
-
$line_subtotal_tax = array_sum( $taxes );
|
169 |
-
$line_subtotal = $line_price;
|
170 |
-
}
|
171 |
-
|
172 |
-
// Add to main subtotal
|
173 |
-
$this->subtotal += $line_subtotal + $line_subtotal_tax;
|
174 |
-
$this->subtotal_ex_tax += $line_subtotal;
|
175 |
-
}
|
176 |
-
|
177 |
-
// Order cart items by price so coupon logic is 'fair' for customers and not based on order added to cart.
|
178 |
-
uasort( $cart, array( $this, 'sort_by_subtotal' ) );
|
179 |
-
|
180 |
-
/**
|
181 |
-
* Calculate totals for items
|
182 |
-
*/
|
183 |
-
foreach ( $cart as $cart_item_key => $values ) {
|
184 |
-
|
185 |
-
$_product = $values['data'];
|
186 |
-
|
187 |
-
// Prices
|
188 |
-
$base_price = $_product->get_price();
|
189 |
-
$line_price = $_product->get_price() * $values['quantity'];
|
190 |
-
|
191 |
-
// Tax data
|
192 |
-
$taxes = array();
|
193 |
-
$discounted_taxes = array();
|
194 |
-
|
195 |
-
/**
|
196 |
-
* No tax to calculate
|
197 |
-
*/
|
198 |
-
if ( ! $_product->is_taxable() ) {
|
199 |
-
|
200 |
-
// Discounted Price (price with any pre-tax discounts applied)
|
201 |
-
$discounted_price = $this->get_discounted_price( $values, $base_price, true );
|
202 |
-
$line_subtotal_tax = 0;
|
203 |
-
$line_subtotal = $line_price;
|
204 |
-
$line_tax = 0;
|
205 |
-
$line_total = WC_Tax::round( $discounted_price * $values['quantity'] );
|
206 |
-
|
207 |
-
/**
|
208 |
-
* Prices include tax
|
209 |
-
*/
|
210 |
-
} elseif ( $this->prices_include_tax ) {
|
211 |
-
|
212 |
-
$base_tax_rates = $shop_tax_rates[ $_product->tax_class ];
|
213 |
-
$item_tax_rates = $tax_rates[ $_product->get_tax_class() ];
|
214 |
-
|
215 |
-
/**
|
216 |
-
* ADJUST TAX - Calculations when base tax is not equal to the item tax
|
217 |
-
*
|
218 |
-
* The woocommerce_adjust_non_base_location_prices filter can stop base taxes being taken off when dealing with out of base locations.
|
219 |
-
* e.g. If a product costs 10 including tax, all users will pay 10 regardless of location and taxes.
|
220 |
-
* This feature is experimental @since 2.4.7 and may change in the future. Use at your risk.
|
221 |
-
*/
|
222 |
-
if ( $item_tax_rates !== $base_tax_rates && apply_filters( 'woocommerce_adjust_non_base_location_prices', true ) ) {
|
223 |
-
|
224 |
-
// Work out a new base price without the shop's base tax
|
225 |
-
$taxes = WC_Tax::calc_tax( $line_price, $base_tax_rates, true, true );
|
226 |
-
|
227 |
-
// Digital tax exception
|
228 |
-
if ( $this->is_virtual_taxable() && $_product->gzd_product->is_virtual_vat_exception() )
|
229 |
-
$taxes = WC_Tax::calc_tax( $line_price, $item_tax_rates, true, true );
|
230 |
-
|
231 |
-
// Now we have a new item price (excluding TAX)
|
232 |
-
$line_subtotal = round( $line_price - array_sum( $taxes ), WC_ROUNDING_PRECISION );
|
233 |
-
|
234 |
-
$taxes = WC_Tax::calc_tax( $line_subtotal, $item_tax_rates );
|
235 |
-
$line_subtotal_tax = array_sum( $taxes );
|
236 |
-
|
237 |
-
// Adjusted price (this is the price including the new tax rate)
|
238 |
-
$adjusted_price = ( $line_subtotal + $line_subtotal_tax ) / $values['quantity'];
|
239 |
-
|
240 |
-
// Apply discounts
|
241 |
-
$discounted_price = $this->get_discounted_price( $values, $adjusted_price, true );
|
242 |
-
$discounted_taxes = WC_Tax::calc_tax( $discounted_price * $values['quantity'], $item_tax_rates, true );
|
243 |
-
$line_tax = array_sum( $discounted_taxes );
|
244 |
-
$line_total = ( $discounted_price * $values['quantity'] ) - $line_tax;
|
245 |
-
|
246 |
-
/**
|
247 |
-
* Regular tax calculation (customer inside base and the tax class is unmodified
|
248 |
-
*/
|
249 |
-
} else {
|
250 |
-
|
251 |
-
// Work out a new base price without the item tax
|
252 |
-
$taxes = WC_Tax::calc_tax( $line_price, $item_tax_rates, true );
|
253 |
-
|
254 |
-
// Now we have a new item price (excluding TAX)
|
255 |
-
$line_subtotal = $line_price - array_sum( $taxes );
|
256 |
-
$line_subtotal_tax = array_sum( $taxes );
|
257 |
-
|
258 |
-
// Calc prices and tax (discounted)
|
259 |
-
$discounted_price = $this->get_discounted_price( $values, $base_price, true );
|
260 |
-
$discounted_taxes = WC_Tax::calc_tax( $discounted_price * $values['quantity'], $item_tax_rates, true );
|
261 |
-
$line_tax = array_sum( $discounted_taxes );
|
262 |
-
$line_total = ( $discounted_price * $values['quantity'] ) - $line_tax;
|
263 |
-
}
|
264 |
-
|
265 |
-
// Tax rows - merge the totals we just got
|
266 |
-
foreach ( array_keys( $this->taxes + $discounted_taxes ) as $key ) {
|
267 |
-
$this->taxes[ $key ] = ( isset( $discounted_taxes[ $key ] ) ? $discounted_taxes[ $key ] : 0 ) + ( isset( $this->taxes[ $key ] ) ? $this->taxes[ $key ] : 0 );
|
268 |
-
}
|
269 |
-
|
270 |
-
/**
|
271 |
-
* Prices exclude tax
|
272 |
-
*/
|
273 |
-
} else {
|
274 |
-
|
275 |
-
$item_tax_rates = $tax_rates[ $_product->get_tax_class() ];
|
276 |
-
|
277 |
-
// Work out a new base price without the shop's base tax
|
278 |
-
$taxes = WC_Tax::calc_tax( $line_price, $item_tax_rates );
|
279 |
-
|
280 |
-
// Now we have the item price (excluding TAX)
|
281 |
-
$line_subtotal = $line_price;
|
282 |
-
$line_subtotal_tax = array_sum( $taxes );
|
283 |
-
|
284 |
-
// Now calc product rates
|
285 |
-
$discounted_price = $this->get_discounted_price( $values, $base_price, true );
|
286 |
-
$discounted_taxes = WC_Tax::calc_tax( $discounted_price * $values['quantity'], $item_tax_rates );
|
287 |
-
$discounted_tax_amount = array_sum( $discounted_taxes );
|
288 |
-
$line_tax = $discounted_tax_amount;
|
289 |
-
$line_total = $discounted_price * $values['quantity'];
|
290 |
-
|
291 |
-
// Tax rows - merge the totals we just got
|
292 |
-
foreach ( array_keys( $this->taxes + $discounted_taxes ) as $key ) {
|
293 |
-
$this->taxes[ $key ] = ( isset( $discounted_taxes[ $key ] ) ? $discounted_taxes[ $key ] : 0 ) + ( isset( $this->taxes[ $key ] ) ? $this->taxes[ $key ] : 0 );
|
294 |
-
}
|
295 |
-
}
|
296 |
-
|
297 |
-
// Cart contents total is based on discounted prices and is used for the final total calculation
|
298 |
-
$this->cart_contents_total += $line_total;
|
299 |
-
|
300 |
-
// Store costs + taxes for lines
|
301 |
-
$this->cart_contents[ $cart_item_key ]['line_total'] = $line_total;
|
302 |
-
$this->cart_contents[ $cart_item_key ]['line_tax'] = $line_tax;
|
303 |
-
$this->cart_contents[ $cart_item_key ]['line_subtotal'] = $line_subtotal;
|
304 |
-
$this->cart_contents[ $cart_item_key ]['line_subtotal_tax'] = $line_subtotal_tax;
|
305 |
-
|
306 |
-
// Store rates ID and costs - Since 2.2
|
307 |
-
$this->cart_contents[ $cart_item_key ]['line_tax_data'] = array( 'total' => $discounted_taxes, 'subtotal' => $taxes );
|
308 |
-
}
|
309 |
-
|
310 |
-
// Only calculate the grand total + shipping if on the cart/checkout
|
311 |
-
if ( is_checkout() || is_cart() || defined('WOOCOMMERCE_CHECKOUT') || defined('WOOCOMMERCE_CART') ) {
|
312 |
-
|
313 |
-
// Calculate the Shipping
|
314 |
-
$this->calculate_shipping();
|
315 |
-
|
316 |
-
// Trigger the fees API where developers can add fees to the cart
|
317 |
-
$this->calculate_fees();
|
318 |
-
|
319 |
-
// Total up/round taxes and shipping taxes
|
320 |
-
if ( $this->round_at_subtotal ) {
|
321 |
-
$this->tax_total = WC_Tax::get_tax_total( $this->taxes );
|
322 |
-
$this->shipping_tax_total = WC_Tax::get_tax_total( $this->shipping_taxes );
|
323 |
-
$this->taxes = array_map( array( 'WC_Tax', 'round' ), $this->taxes );
|
324 |
-
$this->shipping_taxes = array_map( array( 'WC_Tax', 'round' ), $this->shipping_taxes );
|
325 |
-
} else {
|
326 |
-
$this->tax_total = array_sum( $this->taxes );
|
327 |
-
$this->shipping_tax_total = array_sum( $this->shipping_taxes );
|
328 |
-
}
|
329 |
-
|
330 |
-
// VAT exemption done at this point - so all totals are correct before exemption
|
331 |
-
if ( WC()->customer->is_vat_exempt() ) {
|
332 |
-
$this->remove_taxes();
|
333 |
-
}
|
334 |
-
|
335 |
-
// Allow plugins to hook and alter totals before final total is calculated
|
336 |
-
do_action( 'woocommerce_calculate_totals', $this );
|
337 |
-
|
338 |
-
// Grand Total - Discounted product prices, discounted tax, shipping cost + tax
|
339 |
-
$this->total = max( 0, apply_filters( 'woocommerce_calculated_total', round( $this->cart_contents_total + $this->tax_total + $this->shipping_tax_total + $this->shipping_total + $this->fee_total, $this->dp ), $this ) );
|
340 |
-
|
341 |
-
} else {
|
342 |
-
|
343 |
-
// Set tax total to sum of all tax rows
|
344 |
-
$this->tax_total = WC_Tax::get_tax_total( $this->taxes );
|
345 |
-
|
346 |
-
// VAT exemption done at this point - so all totals are correct before exemption
|
347 |
-
if ( WC()->customer->is_vat_exempt() ) {
|
348 |
-
$this->remove_taxes();
|
349 |
-
}
|
350 |
-
|
351 |
-
}
|
352 |
-
|
353 |
-
do_action( 'woocommerce_after_calculate_totals', $this );
|
354 |
-
|
355 |
-
$this->set_session();
|
356 |
-
}
|
357 |
-
|
358 |
-
/**
|
359 |
-
* Decides whether current cart (and customer) apply for a digital vat exception (checks whether customer is from EU and not from base country)
|
360 |
-
*
|
361 |
-
* @return boolean
|
362 |
-
*/
|
363 |
-
public function is_virtual_taxable() {
|
364 |
-
|
365 |
-
$is_taxable = false;
|
366 |
-
|
367 |
-
if ( get_option( 'woocommerce_gzd_enable_virtual_vat' ) === 'yes' && ( ! empty( WC()->customer ) ) ) {
|
368 |
-
|
369 |
-
$taxable_address = WC()->customer->get_taxable_address();
|
370 |
-
$base_country = WC()->countries->get_base_country();
|
371 |
-
|
372 |
-
if ( isset( $taxable_address[0] ) && $taxable_address[0] != $base_country && in_array( $taxable_address[0], WC()->countries->get_european_union_countries() ) )
|
373 |
-
$is_taxable = true;
|
374 |
-
|
375 |
-
}
|
376 |
-
|
377 |
-
return apply_filters( 'woocommerce_gzd_is_virtual_taxable', $is_taxable, $this );
|
378 |
-
|
379 |
-
}
|
380 |
-
|
381 |
-
}
|
382 |
-
|
383 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/class-wc-gzd-checkout.php
CHANGED
@@ -146,7 +146,7 @@ class WC_GZD_Checkout {
|
|
146 |
'type' => 'select',
|
147 |
'required' => 1,
|
148 |
'label' => __( 'Title', 'woocommerce-germanized' ),
|
149 |
-
'options' => array( 1 => __( 'Sir', 'woocommerce-germanized' ), 2 => __( 'Madam', 'woocommerce-germanized' ) ),
|
150 |
'before' => 'first_name',
|
151 |
'group' => array( 'billing', 'shipping' ),
|
152 |
);
|
@@ -276,7 +276,7 @@ class WC_GZD_Checkout {
|
|
276 |
}
|
277 |
|
278 |
public function get_customer_title( $option = 1 ) {
|
279 |
-
return (
|
280 |
}
|
281 |
|
282 |
public function set_formatted_address( $placeholder, $args ) {
|
146 |
'type' => 'select',
|
147 |
'required' => 1,
|
148 |
'label' => __( 'Title', 'woocommerce-germanized' ),
|
149 |
+
'options' => apply_filters( 'woocommerce_gzd_title_options', array( 1 => __( 'Sir', 'woocommerce-germanized' ), 2 => __( 'Madam', 'woocommerce-germanized' ) ) ),
|
150 |
'before' => 'first_name',
|
151 |
'group' => array( 'billing', 'shipping' ),
|
152 |
);
|
276 |
}
|
277 |
|
278 |
public function get_customer_title( $option = 1 ) {
|
279 |
+
return ( 1 == $option ? __( 'Sir', 'woocommerce-germanized' ) : __( 'Madam', 'woocommerce-germanized' ) );
|
280 |
}
|
281 |
|
282 |
public function set_formatted_address( $placeholder, $args ) {
|
includes/class-wc-gzd-dependencies.php
CHANGED
@@ -70,9 +70,10 @@ class WC_GZD_Dependencies {
|
|
70 |
}
|
71 |
|
72 |
public function is_wpml_activated() {
|
73 |
-
return $this->is_plugin_activated( 'sitepress-multilingual-cms/sitepress.php' );
|
74 |
}
|
75 |
|
|
|
76 |
public function is_loadable() {
|
77 |
return $this->loadable;
|
78 |
}
|
70 |
}
|
71 |
|
72 |
public function is_wpml_activated() {
|
73 |
+
return ( $this->is_plugin_activated( 'sitepress-multilingual-cms/sitepress.php' ) && $this->is_plugin_activated( 'woocommerce-multilingual/wpml-woocommerce.php' ) );
|
74 |
}
|
75 |
|
76 |
+
|
77 |
public function is_loadable() {
|
78 |
return $this->loadable;
|
79 |
}
|
includes/class-wc-gzd-hook-priorities.php
CHANGED
@@ -75,6 +75,7 @@ class WC_GZD_Hook_Priorities {
|
|
75 |
'single_price_unit' => $this->get_priority( 'woocommerce_single_product_summary', 'woocommerce_template_single_price' ) + 1,
|
76 |
'single_legal_info' => $this->get_priority( 'woocommerce_single_product_summary', 'woocommerce_template_single_price' ) + 2,
|
77 |
'single_delivery_time_info' => 27,
|
|
|
78 |
'single_product_units' => 5,
|
79 |
'loop_price_unit' => 10,
|
80 |
'loop_tax_info' => 6,
|
75 |
'single_price_unit' => $this->get_priority( 'woocommerce_single_product_summary', 'woocommerce_template_single_price' ) + 1,
|
76 |
'single_legal_info' => $this->get_priority( 'woocommerce_single_product_summary', 'woocommerce_template_single_price' ) + 2,
|
77 |
'single_delivery_time_info' => 27,
|
78 |
+
'single_small_business_info' => 30,
|
79 |
'single_product_units' => 5,
|
80 |
'loop_price_unit' => 10,
|
81 |
'loop_tax_info' => 6,
|
includes/class-wc-gzd-install.php
CHANGED
@@ -16,7 +16,8 @@ class WC_GZD_Install {
|
|
16 |
/** @var array DB updates that need to be run */
|
17 |
private static $db_updates = array(
|
18 |
'1.0.4' => 'updates/woocommerce-gzd-update-1.0.4.php',
|
19 |
-
'1.4.2' => 'updates/woocommerce-gzd-update-1.4.2.php'
|
|
|
20 |
);
|
21 |
|
22 |
/**
|
@@ -143,6 +144,20 @@ class WC_GZD_Install {
|
|
143 |
// Queue upgrades
|
144 |
$current_version = get_option( 'woocommerce_gzd_version', null );
|
145 |
$current_db_version = get_option( 'woocommerce_gzd_db_version', null );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
|
147 |
if ( ! is_null( $current_db_version ) && version_compare( $current_db_version, max( array_keys( self::$db_updates ) ), '<' ) ) {
|
148 |
// Update
|
@@ -157,9 +172,7 @@ class WC_GZD_Install {
|
|
157 |
update_option( 'woocommerce_gzd_activation_date', date( 'Y-m-d' ) );
|
158 |
|
159 |
// Add theme compatibility check
|
160 |
-
delete_option( '_wc_gzd_hide_theme_notice' );
|
161 |
delete_option( '_wc_gzd_hide_review_notice' );
|
162 |
-
delete_option( '_wc_gzd_hide_pro_notice' );
|
163 |
|
164 |
// Check if pages are needed
|
165 |
if ( wc_get_page_id( 'revocation' ) < 1 ) {
|
16 |
/** @var array DB updates that need to be run */
|
17 |
private static $db_updates = array(
|
18 |
'1.0.4' => 'updates/woocommerce-gzd-update-1.0.4.php',
|
19 |
+
'1.4.2' => 'updates/woocommerce-gzd-update-1.4.2.php',
|
20 |
+
'1.4.6' => 'updates/woocommerce-gzd-update-1.4.6.php'
|
21 |
);
|
22 |
|
23 |
/**
|
144 |
// Queue upgrades
|
145 |
$current_version = get_option( 'woocommerce_gzd_version', null );
|
146 |
$current_db_version = get_option( 'woocommerce_gzd_db_version', null );
|
147 |
+
|
148 |
+
// Queue messages and notices
|
149 |
+
if ( ! is_null( $current_version ) ) {
|
150 |
+
|
151 |
+
$major_version = substr( $current_version, 0, 3 );
|
152 |
+
$new_major_version = substr( WC_germanized()->version, 0, 3 );
|
153 |
+
|
154 |
+
// Only on major update
|
155 |
+
if ( version_compare( $new_major_version, $major_version, ">" ) ) {
|
156 |
+
delete_option( '_wc_gzd_hide_theme_notice' );
|
157 |
+
delete_option( '_wc_gzd_hide_pro_notice' );
|
158 |
+
}
|
159 |
+
|
160 |
+
}
|
161 |
|
162 |
if ( ! is_null( $current_db_version ) && version_compare( $current_db_version, max( array_keys( self::$db_updates ) ), '<' ) ) {
|
163 |
// Update
|
172 |
update_option( 'woocommerce_gzd_activation_date', date( 'Y-m-d' ) );
|
173 |
|
174 |
// Add theme compatibility check
|
|
|
175 |
delete_option( '_wc_gzd_hide_review_notice' );
|
|
|
176 |
|
177 |
// Check if pages are needed
|
178 |
if ( wc_get_page_id( 'revocation' ) < 1 ) {
|
includes/class-wc-gzd-payment-gateways.php
CHANGED
@@ -30,15 +30,31 @@ class WC_GZD_Payment_Gateways {
|
|
30 |
* Manipulate payment gateway description if has a fee and init gateway title filter
|
31 |
*/
|
32 |
public function checkout() {
|
|
|
|
|
|
|
|
|
|
|
33 |
$gateways = WC()->payment_gateways->get_available_payment_gateways();
|
|
|
34 |
foreach( $gateways as $gateway ) {
|
|
|
35 |
if ( ! isset( $gateway->force_order_button_text ) || ! $gateway->force_order_button_text )
|
36 |
$gateway->order_button_text = __( get_option( 'woocommerce_gzd_order_submit_btn_text' ), 'woocommerce-germanized' );
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
}
|
|
|
41 |
}
|
|
|
42 |
}
|
43 |
|
44 |
/**
|
@@ -53,8 +69,8 @@ class WC_GZD_Payment_Gateways {
|
|
53 |
if ( $gateway->id != $id )
|
54 |
continue;
|
55 |
$title = $gateway->title;
|
56 |
-
if ( $gateway->get_option( 'fee' ) && ( is_checkout() || ( defined( 'DOING_AJAX' ) && isset( $_POST[ 'action' ] ) && $_POST[ 'action' ] == 'woocommerce_update_order_review' ) ) )
|
57 |
-
$title = $title . ' <span class="small">(' . sprintf( __( '
|
58 |
return $title;
|
59 |
}
|
60 |
}
|
@@ -77,6 +93,9 @@ class WC_GZD_Payment_Gateways {
|
|
77 |
* @param array $fields
|
78 |
*/
|
79 |
public function set_fields( $fields ) {
|
|
|
|
|
|
|
80 |
$fields[ 'fee' ] = array(
|
81 |
'title' => __( 'Fee', 'woocommerce-germanized' ),
|
82 |
'type' => 'decimal',
|
@@ -90,6 +109,19 @@ class WC_GZD_Payment_Gateways {
|
|
90 |
'label' => __( 'Check if fee is taxable.', 'woocommerce-germanized' ),
|
91 |
'default' => 'no',
|
92 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
return $fields;
|
94 |
}
|
95 |
|
30 |
* Manipulate payment gateway description if has a fee and init gateway title filter
|
31 |
*/
|
32 |
public function checkout() {
|
33 |
+
$this->manipulate_gateways();
|
34 |
+
}
|
35 |
+
|
36 |
+
public function manipulate_gateways() {
|
37 |
+
|
38 |
$gateways = WC()->payment_gateways->get_available_payment_gateways();
|
39 |
+
|
40 |
foreach( $gateways as $gateway ) {
|
41 |
+
|
42 |
if ( ! isset( $gateway->force_order_button_text ) || ! $gateway->force_order_button_text )
|
43 |
$gateway->order_button_text = __( get_option( 'woocommerce_gzd_order_submit_btn_text' ), 'woocommerce-germanized' );
|
44 |
+
|
45 |
+
if ( $gateway->get_option( 'fee' ) ) {
|
46 |
+
|
47 |
+
$desc = sprintf( __( '%s payment charge', 'woocommerce-germanized' ), wc_price( $gateway->get_option( 'fee' ) ) ) . '.';
|
48 |
+
|
49 |
+
if ( $gateway->get_option( 'forwarding_fee' ) )
|
50 |
+
$desc .= ' ' . sprintf( __( 'Plus %s forwarding fee (charged by the transport agent)', 'woocommerce-germanized' ), wc_price( $gateway->get_option( 'forwarding_fee' ) ) ) . '.';
|
51 |
+
|
52 |
+
$gateway->description .= apply_filters( 'woocommerce_gzd_payment_gateway_description', ' ' . $desc, $gateway );
|
53 |
+
|
54 |
}
|
55 |
+
|
56 |
}
|
57 |
+
|
58 |
}
|
59 |
|
60 |
/**
|
69 |
if ( $gateway->id != $id )
|
70 |
continue;
|
71 |
$title = $gateway->title;
|
72 |
+
if ( $gateway->get_option( 'fee' ) && ( is_payment_methods() || ( is_checkout() || ( defined( 'DOING_AJAX' ) && isset( $_POST[ 'action' ] ) && $_POST[ 'action' ] == 'woocommerce_update_order_review' ) ) ) )
|
73 |
+
$title = $title . ' <span class="small">(' . sprintf( __( '%s payment charge', 'woocommerce-germanized' ), wc_price( $gateway->get_option( 'fee' ) ) ) . ')</span>';
|
74 |
return $title;
|
75 |
}
|
76 |
}
|
93 |
* @param array $fields
|
94 |
*/
|
95 |
public function set_fields( $fields ) {
|
96 |
+
|
97 |
+
$gateway = isset( $_GET[ 'section' ] ) ? wc_clean( $_GET[ 'section' ] ) : '';
|
98 |
+
|
99 |
$fields[ 'fee' ] = array(
|
100 |
'title' => __( 'Fee', 'woocommerce-germanized' ),
|
101 |
'type' => 'decimal',
|
109 |
'label' => __( 'Check if fee is taxable.', 'woocommerce-germanized' ),
|
110 |
'default' => 'no',
|
111 |
);
|
112 |
+
|
113 |
+
if ( 'wc_gateway_cod' === $gateway ) {
|
114 |
+
|
115 |
+
$fields[ 'forwarding_fee' ] = array(
|
116 |
+
'title' => __( 'Forwarding Fee', 'woocommerce-germanized' ),
|
117 |
+
'type' => 'decimal',
|
118 |
+
'desc_tip' => true,
|
119 |
+
'description' => __( 'Forwarding fee will be charged by the transport agent in addition to the cash of delivery fee e.g. DHL - tax free.', 'woocommerce-germanized' ),
|
120 |
+
'default' => 0,
|
121 |
+
);
|
122 |
+
|
123 |
+
}
|
124 |
+
|
125 |
return $fields;
|
126 |
}
|
127 |
|
includes/class-wc-gzd-shortcodes.php
CHANGED
@@ -58,6 +58,8 @@ class WC_GZD_Shortcodes {
|
|
58 |
*/
|
59 |
public static function payment_methods_info( $atts ) {
|
60 |
|
|
|
|
|
61 |
ob_start();
|
62 |
wc_get_template( 'global/payment-methods.php' );
|
63 |
$return = '<div class="woocommerce woocommerce-gzd">' . ob_get_clean() . '</div>';
|
58 |
*/
|
59 |
public static function payment_methods_info( $atts ) {
|
60 |
|
61 |
+
WC_GZD_Payment_Gateways::instance()->manipulate_gateways();
|
62 |
+
|
63 |
ob_start();
|
64 |
wc_get_template( 'global/payment-methods.php' );
|
65 |
$return = '<div class="woocommerce woocommerce-gzd">' . ob_get_clean() . '</div>';
|
includes/class-wc-gzd-virtual-vat-helper.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Virtual VAT Helper
|
4 |
+
*
|
5 |
+
*
|
6 |
+
* @class WC_GZD_Virtual_VAT_Helper
|
7 |
+
* @category Class
|
8 |
+
* @author vendidero
|
9 |
+
*/
|
10 |
+
class WC_GZD_Virtual_VAT_Helper {
|
11 |
+
|
12 |
+
protected static $_instance = null;
|
13 |
+
|
14 |
+
public static function instance() {
|
15 |
+
if ( is_null( self::$_instance ) )
|
16 |
+
self::$_instance = new self();
|
17 |
+
return self::$_instance;
|
18 |
+
}
|
19 |
+
|
20 |
+
public function __construct() {
|
21 |
+
add_action( 'init', array( $this, 'init' ), 2 );
|
22 |
+
}
|
23 |
+
|
24 |
+
public function init() {
|
25 |
+
// Calculate taxes for virtual vat rates based on customer address if available
|
26 |
+
add_filter( 'woocommerce_base_tax_rates', array( $this, 'set_base_tax_rates' ), 10, 2 );
|
27 |
+
}
|
28 |
+
|
29 |
+
public function set_base_tax_rates( $rates, $tax_class ) {
|
30 |
+
|
31 |
+
$location = WC_Tax::get_tax_location( $tax_class );
|
32 |
+
|
33 |
+
if ( in_array( $tax_class, array( 'virtual-rate', 'virtual-reduced-rate' ) ) && isset( $location[0] ) && sizeof( $location ) === 4 && $location[0] !== WC()->countries->get_base_country() ) {
|
34 |
+
|
35 |
+
list( $country, $state, $postcode, $city ) = $location;
|
36 |
+
|
37 |
+
$rates = WC_Tax::find_rates( array(
|
38 |
+
'country' => $country,
|
39 |
+
'state' => $state,
|
40 |
+
'postcode' => $postcode,
|
41 |
+
'city' => $city,
|
42 |
+
'tax_class' => $tax_class
|
43 |
+
) );
|
44 |
+
|
45 |
+
}
|
46 |
+
|
47 |
+
return $rates;
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
}
|
52 |
+
|
53 |
+
return WC_GZD_Virtual_VAT_Helper::instance();
|
includes/class-wc-gzd-wpml-helper.php
CHANGED
@@ -11,6 +11,7 @@
|
|
11 |
class WC_GZD_WPML_Helper {
|
12 |
|
13 |
protected static $_instance = null;
|
|
|
14 |
|
15 |
public static function instance() {
|
16 |
if ( is_null( self::$_instance ) )
|
@@ -22,6 +23,8 @@ class WC_GZD_WPML_Helper {
|
|
22 |
|
23 |
if ( ! $this->is_activated() )
|
24 |
return;
|
|
|
|
|
25 |
|
26 |
$this->filter_page_ids();
|
27 |
}
|
@@ -30,6 +33,62 @@ class WC_GZD_WPML_Helper {
|
|
30 |
return WC_GZD_Dependencies::instance()->is_wpml_activated();
|
31 |
}
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
public function filter_page_ids() {
|
34 |
$woo_pages = array(
|
35 |
'revocation_page_id',
|
11 |
class WC_GZD_WPML_Helper {
|
12 |
|
13 |
protected static $_instance = null;
|
14 |
+
public $locale = false;
|
15 |
|
16 |
public static function instance() {
|
17 |
if ( is_null( self::$_instance ) )
|
23 |
|
24 |
if ( ! $this->is_activated() )
|
25 |
return;
|
26 |
+
|
27 |
+
add_action( 'init', array( $this, 'init' ), 5 );
|
28 |
|
29 |
$this->filter_page_ids();
|
30 |
}
|
33 |
return WC_GZD_Dependencies::instance()->is_wpml_activated();
|
34 |
}
|
35 |
|
36 |
+
public function init() {
|
37 |
+
// Observe order update and trigger hook
|
38 |
+
add_action( 'post_updated', array( $this, 'observe_order_update' ), 0, 3 );
|
39 |
+
}
|
40 |
+
|
41 |
+
public function observe_order_update( $post_id, $post_after, $post_before ) {
|
42 |
+
|
43 |
+
if ( 'shop_order' === $post_after->post_type ) {
|
44 |
+
|
45 |
+
do_action( 'woocommerce_gzd_before_order_post_status', $post_id );
|
46 |
+
|
47 |
+
$order = wc_get_order( $post_id );
|
48 |
+
$lang = null;
|
49 |
+
|
50 |
+
// Reset GZD Locale
|
51 |
+
if ( $lang = get_post_meta( $post_id, 'wpml_language', true ) ) {
|
52 |
+
$this->set_language( $lang );
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
}
|
57 |
+
|
58 |
+
public function set_language( $lang ) {
|
59 |
+
|
60 |
+
global $sitepress, $woocommerce;
|
61 |
+
|
62 |
+
$sitepress->switch_lang( $lang, true );
|
63 |
+
$this->locale = $sitepress->get_locale( $lang );
|
64 |
+
|
65 |
+
add_filter( 'plugin_locale', array( $this, 'set_locale' ), 10, 2 );
|
66 |
+
|
67 |
+
unload_textdomain( 'woocommerce' );
|
68 |
+
unload_textdomain( 'woocommerce-germanized' );
|
69 |
+
unload_textdomain( 'woocommerce-germanized-pro' );
|
70 |
+
unload_textdomain( 'default' );
|
71 |
+
|
72 |
+
$woocommerce->load_plugin_textdomain();
|
73 |
+
WC_germanized()->load_plugin_textdomain();
|
74 |
+
|
75 |
+
do_action( 'woocommerce_gzd_wpml_lang_changed', $lang );
|
76 |
+
|
77 |
+
load_default_textdomain();
|
78 |
+
global $wp_locale;
|
79 |
+
$wp_locale = new WP_Locale();
|
80 |
+
|
81 |
+
}
|
82 |
+
|
83 |
+
public function set_locale( $locale, $domain ) {
|
84 |
+
|
85 |
+
if( in_array( $domain, array( 'woocommerce', 'woocommerce-germanized', 'woocommerce-germanized-pro' ) ) && $this->locale ) {
|
86 |
+
$locale = $this->locale;
|
87 |
+
}
|
88 |
+
|
89 |
+
return $locale;
|
90 |
+
}
|
91 |
+
|
92 |
public function filter_page_ids() {
|
93 |
$woo_pages = array(
|
94 |
'revocation_page_id',
|
includes/updates/woocommerce-gzd-update-1.4.2.php
CHANGED
@@ -17,28 +17,4 @@ global $wpdb, $woocommerce_germanized;
|
|
17 |
if ( get_option( 'woocommerce_gzd_trusted_review_reminder_days' ) ) {
|
18 |
update_option( 'woocommerce_gzd_trusted_shops_review_reminder_days', get_option( 'woocommerce_gzd_trusted_review_reminder_days' ) );
|
19 |
delete_option( 'woocommerce_gzd_trusted_review_reminder_days' );
|
20 |
-
}
|
21 |
-
|
22 |
-
/*
|
23 |
-
$args = array(
|
24 |
-
'post_type' => array( 'product', 'product_variation' ),
|
25 |
-
'posts_per_page' => -1
|
26 |
-
);
|
27 |
-
|
28 |
-
$loop = new WP_Query( $args );
|
29 |
-
|
30 |
-
if ( $loop->have_posts() ) {
|
31 |
-
|
32 |
-
while ( $loop->have_posts() ) {
|
33 |
-
|
34 |
-
global $post;
|
35 |
-
$loop->the_post();
|
36 |
-
$product = wc_get_product();
|
37 |
-
|
38 |
-
if ( $product->gzd_product->has_unit() && $product->gzd_product->unit_base )
|
39 |
-
update_post_meta( ( $product->is_type( 'variation' ) ? $product->variation_id : $product->id ), '_unit_product', round( $product->gzd_product->unit_base * 100, wc_get_price_decimals() ) );
|
40 |
-
}
|
41 |
-
}
|
42 |
-
|
43 |
-
wp_reset_postdata();
|
44 |
-
*/
|
17 |
if ( get_option( 'woocommerce_gzd_trusted_review_reminder_days' ) ) {
|
18 |
update_option( 'woocommerce_gzd_trusted_shops_review_reminder_days', get_option( 'woocommerce_gzd_trusted_review_reminder_days' ) );
|
19 |
delete_option( 'woocommerce_gzd_trusted_review_reminder_days' );
|
20 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/updates/woocommerce-gzd-update-1.4.6.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Update Germanized to 1.4.6
|
4 |
+
*
|
5 |
+
* @author WooThemes
|
6 |
+
* @category Admin
|
7 |
+
* @package WooCommerce Germanized/Updates
|
8 |
+
* @version 1.4.6
|
9 |
+
*/
|
10 |
+
|
11 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
12 |
+
exit; // Exit if accessed directly
|
13 |
+
}
|
14 |
+
|
15 |
+
if ( 'yes' === get_option( 'woocommerce_gzd_enable_virtual_vat' ) && 'base' === get_option( 'woocommerce_tax_based_on' ) )
|
16 |
+
update_option( 'woocommerce_tax_based_on', 'billing' );
|
includes/wc-gzd-cart-functions.php
CHANGED
@@ -34,7 +34,7 @@ function wc_gzd_cart_product_item_desc( $title, $cart_item, $cart_item_key = ''
|
|
34 |
} else if ( isset( $cart_item[ 'item_desc' ] ) )
|
35 |
$product_desc = $cart_item[ 'item_desc' ];
|
36 |
if ( ! empty( $product_desc ) )
|
37 |
-
$title .= '<div class="wc-gzd-item-desc item-desc">' . $product_desc . '</div>';
|
38 |
return $title;
|
39 |
}
|
40 |
|
34 |
} else if ( isset( $cart_item[ 'item_desc' ] ) )
|
35 |
$product_desc = $cart_item[ 'item_desc' ];
|
36 |
if ( ! empty( $product_desc ) )
|
37 |
+
$title .= '<div class="wc-gzd-item-desc item-desc">' . do_shortcode( $product_desc ) . '</div>';
|
38 |
return $title;
|
39 |
}
|
40 |
|
includes/wc-gzd-core-functions.php
CHANGED
@@ -56,4 +56,15 @@ function wc_gzd_get_email_attachment_order() {
|
|
56 |
}
|
57 |
|
58 |
return $items;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
}
|
56 |
}
|
57 |
|
58 |
return $items;
|
59 |
+
}
|
60 |
+
|
61 |
+
if ( ! function_exists( 'is_payment_methods' ) ) {
|
62 |
+
|
63 |
+
/**
|
64 |
+
* is_checkout - Returns true when viewing the checkout page.
|
65 |
+
* @return bool
|
66 |
+
*/
|
67 |
+
function is_payment_methods() {
|
68 |
+
return is_page( wc_get_page_id( 'payment_methods' ) ) || apply_filters( 'woocommerce_gzd_is_payment_methods', false ) ? true : false;
|
69 |
+
}
|
70 |
}
|
includes/wc-gzd-order-functions.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Order Functions
|
4 |
+
*
|
5 |
+
* WC_GZD order functions.
|
6 |
+
*
|
7 |
+
* @author Vendidero
|
8 |
+
* @version 1.0.0
|
9 |
+
*/
|
10 |
+
|
11 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
12 |
+
|
13 |
+
function wc_gzd_cart_forwarding_fee_notice_filter( $total_rows, $order ) {
|
14 |
+
|
15 |
+
$gateways = WC()->payment_gateways()->get_available_payment_gateways();
|
16 |
+
$gateway = isset( $gateways[ $order->payment_method ] ) ? $gateways[ $order->payment_method ] : null;
|
17 |
+
|
18 |
+
if ( $gateway && $gateway->get_option( 'forwarding_fee' ) ) {
|
19 |
+
$total_rows['order_total_forwarding_fee'] = array(
|
20 |
+
'label' => '',
|
21 |
+
'value' => sprintf( __( 'Plus %s forwarding fee (charged by the transport agent)', 'woocommerce-germanized' ), wc_price( $gateway->get_option( 'forwarding_fee' ) ) ),
|
22 |
+
);
|
23 |
+
}
|
24 |
+
return $total_rows;
|
25 |
+
|
26 |
+
}
|
27 |
+
|
28 |
+
add_filter( 'woocommerce_get_order_item_totals', 'wc_gzd_cart_forwarding_fee_notice_filter', PHP_INT_MAX, 2 );
|
includes/wc-gzd-template-functions.php
CHANGED
@@ -437,4 +437,22 @@ if ( ! function_exists( 'woocommerce_gzd_template_customer_account_checkbox_erro
|
|
437 |
|
438 |
}
|
439 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
?>
|
437 |
|
438 |
}
|
439 |
|
440 |
+
if ( ! function_exists( 'woocommerce_gzd_template_checkout_forwarding_fee_notice' ) ) {
|
441 |
+
|
442 |
+
function woocommerce_gzd_template_checkout_forwarding_fee_notice() {
|
443 |
+
|
444 |
+
$gateways = WC()->payment_gateways()->get_available_payment_gateways();
|
445 |
+
|
446 |
+
if ( ! ( $key = WC()->session->get('chosen_payment_method') ) || ! isset( $gateways[ $key ] ) )
|
447 |
+
return;
|
448 |
+
|
449 |
+
$gateway = $gateways[ $key ];
|
450 |
+
|
451 |
+
if ( $gateway->get_option( 'forwarding_fee' ) )
|
452 |
+
echo apply_filters( 'woocommerce_gzd_forwarding_fee_checkout_text', '<tr><td colspan="2">' . sprintf( __( 'Plus %s forwarding fee (charged by the transport agent)', 'woocommerce-germanized' ), wc_price( $gateway->get_option( 'forwarding_fee' ) ) ) . '</td></tr>' );
|
453 |
+
|
454 |
+
}
|
455 |
+
|
456 |
+
}
|
457 |
+
|
458 |
?>
|
includes/wc-gzd-template-hooks.php
CHANGED
@@ -128,6 +128,9 @@ if ( get_option( 'woocommerce_gzd_display_checkout_back_to_cart_button' ) == 'ye
|
|
128 |
// Force order button text
|
129 |
add_filter( 'woocommerce_order_button_text', 'woocommerce_gzd_template_order_button_text', PHP_INT_MAX );
|
130 |
|
|
|
|
|
|
|
131 |
/**
|
132 |
* Checkout Validation
|
133 |
*/
|
128 |
// Force order button text
|
129 |
add_filter( 'woocommerce_order_button_text', 'woocommerce_gzd_template_order_button_text', PHP_INT_MAX );
|
130 |
|
131 |
+
// Forwarding fee
|
132 |
+
add_action( 'woocommerce_review_order_after_order_total', 'woocommerce_gzd_template_checkout_forwarding_fee_notice' );
|
133 |
+
|
134 |
/**
|
135 |
* Checkout Validation
|
136 |
*/
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: vendidero
|
|
3 |
Tags: woocommerce, german market, german, germany, deutsch, deutschland, de, de_DE, shop, commerce, e-commerce, ecommerce, woothemes, sepa, invoice
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=info@vendidero.de&item_name=Donation+for+WooCommerce+Germanized
|
5 |
Requires at least: 3.8
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 1.4.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -12,8 +12,6 @@ Extends WooCommerce to become a legally compliant shop for german market. WooCom
|
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
(see below for english version)
|
16 |
-
|
17 |
WooCommerce Germanized erweitert WooCommerce um alle technisch relevanten Funktionen für den Betrieb eines rechtssicheren Online-Shops mit WooCommerce in Deutschland. Das Ziel des Plugins ist es, WooCommerce optimal an die Bedürfnisse des deutschen Marktes anzupassen. WC Germanized wird von einem WordPress-erfahrenen, deutschen Team aktiv (weiter-)entwickelt - bei Updates von WooCommerce ziehen wir innerhalb kürzester Zeit mit.
|
18 |
|
19 |
Nutzer von [WooCommerce Germanized Pro](https://vendidero.de/woocommerce-germanized "WooCommerce optimiert für den deutschen Markt") profitieren von vielen weiterführenden Features z.B. PDF-Rechnungen, Mustertexte-Generator für AGB und Widerrufsbelehrung, Premium Support und vielem mehr!
|
@@ -49,14 +47,14 @@ Selbstverständlich können Trusted Shops Kunden mit nur wenigen Einstellungen d
|
|
49 |
Bei der Entwicklung von WC Germanized haben wir besonderes Augenmerk auf die nahtlose Integration in WooCommerce gelegt.
|
50 |
Die meisten Änderungen erfolgen über Hooks & Filter - nur im äußersten Notfall wird ein Template direkt überschrieben.
|
51 |
|
52 |
-
= SEPA Lastschrift & Kauf auf Rechnung =
|
53 |
Mit WooCommerce Germanized 1.4 kannst du deinen Kunden ganz einfach den Kauf per Bankeinzug und per Rechnung ermöglichen.
|
54 |
Beim SEPA Lastschriftverfahren werden entsprechende Felder für IBAN, BIC und Kontoinhaber zum Checkout hinzugefügt und überprüft.
|
55 |
Zudem kann der Kunde eine Vorschau des Mandates per Link abrufen und vor dem Kauf einsehen. Den Kauf auf Rechnung kannst du auf Wunsch
|
56 |
in den Einstellungen so einschränken, dass von dieser Zahlungsart nur Bestandskunden Gebrauch machen können.
|
57 |
|
58 |
-
= Pro: PDF Rechnungen & Lieferscheine =
|
59 |
-
Als Nutzer der Pro Version von
|
60 |
Lade beispielsweise einfach ein PDF-Template hoch, das als "Hintergrund" für deine Rechnungen fungiert. Mit wenigen Klicks exportierst du deine Rechnungen (CSV, zip) für deine Buchhaltung oder deinen Steuerberater.
|
61 |
Mehr Informationen? [PDF Rechnungen für WooCommerce](https://vendidero.de/woocommerce-germanized#accounting "WooCommerce PDF Rechnungen")
|
62 |
|
@@ -79,7 +77,7 @@ Aktuell unterstützt die Pro-Version folgende Themes:
|
|
79 |
Kunden von WC Germanized Pro genießen einen kompetenten Ticket-Support zu Fragen rund um WC Germanized. Natürlich versuchen wir über das WordPress Support-Forum auch einen guten Support zu gewährleisten.
|
80 |
Gerne übernehmen wir die von dir gewünschten Individualisierungen und Anpassungen an WordPress, WooCommerce und WC Germanized - und unterbreiten dir ein [individuelles Angebot](https://vendidero.de/individualisierung) basierend auf deinen Vorstellungen.
|
81 |
|
82 |
-
= Double Opt-In Verfahren für Benutzerkonten =
|
83 |
Ein Urteil des Amtsgerichts Berlin Pankow/Weißensee macht das Double Opt-In Verfahren für die Erstellung von Benutzerkonten in Online-Shops zur "Pflichtsache". In WC Germanized ist das kein Problem.
|
84 |
Nach Erstellung eines Kontos wird automatisch eine Bestätigungsmail mit Bestätigungslink an den Kunden versendet. Unaktivierte Konten können nach einem bestimmten Interval automatisch gelöscht werden.
|
85 |
|
@@ -176,6 +174,18 @@ Bugs sowie Hilfe bei der Arbeit an WooCommerce Germanized werden gerne über uns
|
|
176 |
|
177 |
== Changelog ==
|
178 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
= 1.4.5 =
|
180 |
* Feature - WC_GZD_Product_Variable object containing get_variation_unit_price with min max option
|
181 |
* Fix - virtual vat calculation (vat exempt compatibility)
|
3 |
Tags: woocommerce, german market, german, germany, deutsch, deutschland, de, de_DE, shop, commerce, e-commerce, ecommerce, woothemes, sepa, invoice
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=info@vendidero.de&item_name=Donation+for+WooCommerce+Germanized
|
5 |
Requires at least: 3.8
|
6 |
+
Tested up to: 4.4
|
7 |
+
Stable tag: 1.4.6
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
12 |
|
13 |
== Description ==
|
14 |
|
|
|
|
|
15 |
WooCommerce Germanized erweitert WooCommerce um alle technisch relevanten Funktionen für den Betrieb eines rechtssicheren Online-Shops mit WooCommerce in Deutschland. Das Ziel des Plugins ist es, WooCommerce optimal an die Bedürfnisse des deutschen Marktes anzupassen. WC Germanized wird von einem WordPress-erfahrenen, deutschen Team aktiv (weiter-)entwickelt - bei Updates von WooCommerce ziehen wir innerhalb kürzester Zeit mit.
|
16 |
|
17 |
Nutzer von [WooCommerce Germanized Pro](https://vendidero.de/woocommerce-germanized "WooCommerce optimiert für den deutschen Markt") profitieren von vielen weiterführenden Features z.B. PDF-Rechnungen, Mustertexte-Generator für AGB und Widerrufsbelehrung, Premium Support und vielem mehr!
|
47 |
Bei der Entwicklung von WC Germanized haben wir besonderes Augenmerk auf die nahtlose Integration in WooCommerce gelegt.
|
48 |
Die meisten Änderungen erfolgen über Hooks & Filter - nur im äußersten Notfall wird ein Template direkt überschrieben.
|
49 |
|
50 |
+
= SEPA Lastschrift & Kauf auf Rechnung für WooCommerce =
|
51 |
Mit WooCommerce Germanized 1.4 kannst du deinen Kunden ganz einfach den Kauf per Bankeinzug und per Rechnung ermöglichen.
|
52 |
Beim SEPA Lastschriftverfahren werden entsprechende Felder für IBAN, BIC und Kontoinhaber zum Checkout hinzugefügt und überprüft.
|
53 |
Zudem kann der Kunde eine Vorschau des Mandates per Link abrufen und vor dem Kauf einsehen. Den Kauf auf Rechnung kannst du auf Wunsch
|
54 |
in den Einstellungen so einschränken, dass von dieser Zahlungsart nur Bestandskunden Gebrauch machen können.
|
55 |
|
56 |
+
= Pro: WooCommerce PDF Rechnungen & Lieferscheine =
|
57 |
+
Als Nutzer der Pro Version von WC Germanized erstellst du automatisiert oder manuell PDF-Rechnungen und Lieferscheine zu deinen Bestellungen. Dabei hast du volle Kontrolle über das Layout deiner PDF-Dokumente.
|
58 |
Lade beispielsweise einfach ein PDF-Template hoch, das als "Hintergrund" für deine Rechnungen fungiert. Mit wenigen Klicks exportierst du deine Rechnungen (CSV, zip) für deine Buchhaltung oder deinen Steuerberater.
|
59 |
Mehr Informationen? [PDF Rechnungen für WooCommerce](https://vendidero.de/woocommerce-germanized#accounting "WooCommerce PDF Rechnungen")
|
60 |
|
77 |
Kunden von WC Germanized Pro genießen einen kompetenten Ticket-Support zu Fragen rund um WC Germanized. Natürlich versuchen wir über das WordPress Support-Forum auch einen guten Support zu gewährleisten.
|
78 |
Gerne übernehmen wir die von dir gewünschten Individualisierungen und Anpassungen an WordPress, WooCommerce und WC Germanized - und unterbreiten dir ein [individuelles Angebot](https://vendidero.de/individualisierung) basierend auf deinen Vorstellungen.
|
79 |
|
80 |
+
= Double Opt-In Verfahren für WooCommerce Benutzerkonten =
|
81 |
Ein Urteil des Amtsgerichts Berlin Pankow/Weißensee macht das Double Opt-In Verfahren für die Erstellung von Benutzerkonten in Online-Shops zur "Pflichtsache". In WC Germanized ist das kein Problem.
|
82 |
Nach Erstellung eines Kontos wird automatisch eine Bestätigungsmail mit Bestätigungslink an den Kunden versendet. Unaktivierte Konten können nach einem bestimmten Interval automatisch gelöscht werden.
|
83 |
|
174 |
|
175 |
== Changelog ==
|
176 |
|
177 |
+
= 1.4.6 =
|
178 |
+
* Feature - set free shipping option for products do disable "plus shipping costs" notice
|
179 |
+
* Feature - forwarding fee for cash on delivery
|
180 |
+
* Feature - better WPML compatibility
|
181 |
+
* Feature - better virtual vat calculation (if enabled)
|
182 |
+
* Fix - payment methods shortcode to include payment fees
|
183 |
+
* Fix - remove order total html for better compatibility
|
184 |
+
* Fix - show notices (theme, pro) in backend only after major releases
|
185 |
+
* Fix - clear cart after order (if customer cancellations of orders has been disabled)
|
186 |
+
* Fix - variable products delivery time removal (admin screen)
|
187 |
+
* Fix - tour hide referer improvement
|
188 |
+
|
189 |
= 1.4.5 =
|
190 |
* Feature - WC_GZD_Product_Variable object containing get_variation_unit_price with min max option
|
191 |
* Fix - virtual vat calculation (vat exempt compatibility)
|
templates/global/payment-methods.php
CHANGED
@@ -21,7 +21,7 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
21 |
<label for="payment_method_<?php echo $gateway->id; ?>"><?php echo $gateway->get_title(); ?> <?php echo $gateway->get_icon(); ?></label>
|
22 |
<?php if ( $gateway->has_fields() || $gateway->get_description() ) : ?>
|
23 |
<div class="payment_box payment_method_<?php echo $gateway->id; ?>">
|
24 |
-
|
25 |
</div>
|
26 |
<?php endif;?>
|
27 |
</li>
|
21 |
<label for="payment_method_<?php echo $gateway->id; ?>"><?php echo $gateway->get_title(); ?> <?php echo $gateway->get_icon(); ?></label>
|
22 |
<?php if ( $gateway->has_fields() || $gateway->get_description() ) : ?>
|
23 |
<div class="payment_box payment_method_<?php echo $gateway->id; ?>">
|
24 |
+
<p><?php echo $gateway->get_description(); ?></p>
|
25 |
</div>
|
26 |
<?php endif;?>
|
27 |
</li>
|
templates/single-product/legal-info.php
CHANGED
@@ -16,7 +16,7 @@ global $product;
|
|
16 |
<?php if ( $product->gzd_product->get_tax_info() && get_option( 'woocommerce_gzd_display_product_detail_tax_info' ) == 'yes' ) : ?>
|
17 |
<span class="wc-gzd-additional-info tax-info"><?php echo $product->gzd_product->get_tax_info(); ?></span>
|
18 |
<?php elseif ( ( get_option( 'woocommerce_gzd_small_enterprise' ) == 'yes' && get_option( 'woocommerce_gzd_display_product_detail_small_enterprise' ) == 'yes' ) ) : ?>
|
19 |
-
<span class="wc-gzd-additional-info small-business-info"><?php _e( 'VAT free based on §19 UStG', 'woocommerce-germanized' );?></span>
|
20 |
<?php endif; ?>
|
21 |
<?php if ( $product->gzd_product->get_shipping_costs_html() && get_option( 'woocommerce_gzd_display_product_detail_shipping_costs' ) == 'yes' ) : ?>
|
22 |
<span class="wc-gzd-additional-info shipping-costs-info"><?php echo $product->gzd_product->get_shipping_costs_html();?></span>
|
16 |
<?php if ( $product->gzd_product->get_tax_info() && get_option( 'woocommerce_gzd_display_product_detail_tax_info' ) == 'yes' ) : ?>
|
17 |
<span class="wc-gzd-additional-info tax-info"><?php echo $product->gzd_product->get_tax_info(); ?></span>
|
18 |
<?php elseif ( ( get_option( 'woocommerce_gzd_small_enterprise' ) == 'yes' && get_option( 'woocommerce_gzd_display_product_detail_small_enterprise' ) == 'yes' ) ) : ?>
|
19 |
+
<span class="wc-gzd-additional-info small-business-info"><?php _e( 'VAT free based on §19 UStG', 'woocommerce-germanized' );?></span>
|
20 |
<?php endif; ?>
|
21 |
<?php if ( $product->gzd_product->get_shipping_costs_html() && get_option( 'woocommerce_gzd_display_product_detail_shipping_costs' ) == 'yes' ) : ?>
|
22 |
<span class="wc-gzd-additional-info shipping-costs-info"><?php echo $product->gzd_product->get_shipping_costs_html();?></span>
|
woocommerce-germanized.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: WooCommerce Germanized
|
4 |
* Plugin URI: https://www.vendidero.de/woocommerce-germanized
|
5 |
* Description: Extends WooCommerce to become a legally compliant store for the german market.
|
6 |
-
* Version: 1.4.
|
7 |
* Author: Vendidero
|
8 |
* Author URI: https://vendidero.de
|
9 |
* Requires at least: 3.8
|
@@ -26,7 +26,7 @@ final class WooCommerce_Germanized {
|
|
26 |
*
|
27 |
* @var string
|
28 |
*/
|
29 |
-
public $version = '1.4.
|
30 |
|
31 |
/**
|
32 |
* Single instance of WooCommerce Germanized Main Class
|
@@ -129,7 +129,6 @@ final class WooCommerce_Germanized {
|
|
129 |
add_action( 'init', array( 'WC_GZD_Shortcodes', 'init' ), 2 );
|
130 |
add_action( 'widgets_init', array( $this, 'include_widgets' ), 25 );
|
131 |
add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) );
|
132 |
-
add_action( 'woocommerce_init', array( $this, 'replace_woocommerce_cart' ), 0 );
|
133 |
add_action( 'woocommerce_init', array( $this, 'replace_woocommerce_product_factory' ), PHP_INT_MAX );
|
134 |
|
135 |
// Loaded action
|
@@ -181,10 +180,6 @@ final class WooCommerce_Germanized {
|
|
181 |
add_filter( 'woocommerce_get_order_item_totals', array( $this, 'order_item_totals' ), 0, 2 );
|
182 |
// Unsure wether this could lead to future problems - tax classes with same name wont be merged anylonger
|
183 |
//add_filter( 'woocommerce_rate_code', array( $this, 'prevent_tax_name_merge' ), PHP_INT_MAX, 2 );
|
184 |
-
|
185 |
-
// Adjust virtual Product Price and tax class
|
186 |
-
add_filter( 'woocommerce_cart_product_subtotal', array( $this, 'set_virtual_cart_subtotal' ), 20, 4 );
|
187 |
-
add_filter( 'woocommerce_get_price_including_tax', array( $this, 'set_virtual_price_for_vat_exempts' ), 10, 3 );
|
188 |
|
189 |
// Fallback gzd_product injection if not using wc_get_product
|
190 |
add_filter( 'get_post_metadata', array( $this, 'inject_gzd_product' ), 0, 4 );
|
@@ -332,7 +327,9 @@ final class WooCommerce_Germanized {
|
|
332 |
|
333 |
include_once ( 'includes/class-wc-gzd-wpml-helper.php' );
|
334 |
include_once ( 'includes/wc-gzd-cart-functions.php' );
|
|
|
335 |
include_once ( 'includes/class-wc-gzd-checkout.php' );
|
|
|
336 |
|
337 |
$this->trusted_shops = new WC_GZD_Trusted_Shops();
|
338 |
$this->ekomi = new WC_GZD_Ekomi();
|
@@ -464,14 +461,6 @@ final class WooCommerce_Germanized {
|
|
464 |
return $metadata;
|
465 |
}
|
466 |
|
467 |
-
/**
|
468 |
-
* Replace the default WC_Cart by WC_GZD_Cart for EU virtual VAT rules.
|
469 |
-
*/
|
470 |
-
public function replace_woocommerce_cart() {
|
471 |
-
if ( get_option( 'woocommerce_gzd_enable_virtual_vat' ) == 'yes' && ( ! is_admin() || defined( 'DOING_AJAX' ) ) && ! defined( 'DOING_CRON' ) )
|
472 |
-
WC()->cart = new WC_GZD_Cart();
|
473 |
-
}
|
474 |
-
|
475 |
/**
|
476 |
* Overload product factory to inject gzd_product
|
477 |
*/
|
@@ -763,6 +752,10 @@ final class WooCommerce_Germanized {
|
|
763 |
if ( $new_order = $this->emails->get_email_instance_by_id( 'new_order' ) )
|
764 |
$new_order->trigger( $order->id );
|
765 |
|
|
|
|
|
|
|
|
|
766 |
do_action( 'woocommerce_germanized_order_confirmation_sent', $order->id );
|
767 |
|
768 |
return $result;
|
@@ -824,87 +817,6 @@ final class WooCommerce_Germanized {
|
|
824 |
return false;
|
825 |
}
|
826 |
|
827 |
-
/**
|
828 |
-
* Adjust line subtotal for virtual products
|
829 |
-
*/
|
830 |
-
public function set_virtual_cart_subtotal( $product_subtotal, $_product, $quantity, $cart ) {
|
831 |
-
|
832 |
-
if ( ! $_product->gzd_product->is_virtual_vat_exception() || ! $cart->is_virtual_taxable() )
|
833 |
-
return $product_subtotal;
|
834 |
-
|
835 |
-
if ( WC()->cart->prices_include_tax ) {
|
836 |
-
|
837 |
-
/**
|
838 |
-
* Calculate new net price based on item tax rates
|
839 |
-
*/
|
840 |
-
if ( WC()->customer && WC()->customer->is_vat_exempt() ) {
|
841 |
-
|
842 |
-
$tax_rates = array();
|
843 |
-
$shop_tax_rates = array();
|
844 |
-
|
845 |
-
// Get base tax rates
|
846 |
-
if ( empty( $shop_tax_rates[ $_product->tax_class ] ) ) {
|
847 |
-
$shop_tax_rates[ $_product->tax_class ] = WC_Tax::get_base_tax_rates( $_product->tax_class );
|
848 |
-
}
|
849 |
-
|
850 |
-
// Get item tax rates
|
851 |
-
if ( empty( $tax_rates[ $_product->get_tax_class() ] ) ) {
|
852 |
-
$tax_rates[ $_product->get_tax_class() ] = WC_Tax::get_rates( $_product->get_tax_class() );
|
853 |
-
}
|
854 |
-
|
855 |
-
$base_tax_rates = $shop_tax_rates[ $_product->tax_class ];
|
856 |
-
$item_tax_rates = $tax_rates[ $_product->get_tax_class() ];
|
857 |
-
|
858 |
-
$taxes = WC_Tax::calc_tax( $_product->get_price(), $item_tax_rates, true, true );
|
859 |
-
$product_subtotal = $_product->get_price() - array_sum( $taxes );
|
860 |
-
|
861 |
-
} else {
|
862 |
-
|
863 |
-
$product_subtotal = $_product->get_price() * $quantity;
|
864 |
-
|
865 |
-
}
|
866 |
-
|
867 |
-
}
|
868 |
-
|
869 |
-
return wc_price( $product_subtotal );
|
870 |
-
|
871 |
-
}
|
872 |
-
|
873 |
-
/**
|
874 |
-
* Adjust prices (including tax) for virtual products
|
875 |
-
*/
|
876 |
-
public function set_virtual_price_for_vat_exempts( $price, $qty, $product ) {
|
877 |
-
|
878 |
-
if ( $product->gzd_product && $product->gzd_product->is_virtual_vat_exception() && $product->is_taxable() ) {
|
879 |
-
|
880 |
-
if ( get_option( 'woocommerce_prices_include_tax' ) === 'yes' ) {
|
881 |
-
|
882 |
-
if ( ! empty( WC()->customer ) && WC()->customer->is_vat_exempt() ) {
|
883 |
-
|
884 |
-
$tax_rates = WC_Tax::get_rates( $product->get_tax_class() );
|
885 |
-
$base_tax_rates = WC_Tax::get_base_tax_rates( $product->tax_class );
|
886 |
-
|
887 |
-
// Add default rates to get original gross price
|
888 |
-
$base_taxes = WC_Tax::calc_tax( $price, $base_tax_rates );
|
889 |
-
$base_tax_amount = array_sum( $base_taxes );
|
890 |
-
$price = round( $price + $base_tax_amount, wc_get_price_decimals() );
|
891 |
-
|
892 |
-
// Substract product tax rates (e.g. 20 percent if customer is from AT)
|
893 |
-
$product_tax_rates = WC_Tax::get_rates( $product->get_tax_class() );
|
894 |
-
$product_taxes = WC_Tax::calc_tax( $price, $product_tax_rates, true, true );
|
895 |
-
$product_tax_amount = array_sum( $product_taxes );
|
896 |
-
$price = round( $price - $product_tax_amount, wc_get_price_decimals() );
|
897 |
-
|
898 |
-
}
|
899 |
-
|
900 |
-
}
|
901 |
-
|
902 |
-
}
|
903 |
-
|
904 |
-
return $price;
|
905 |
-
|
906 |
-
}
|
907 |
-
|
908 |
/**
|
909 |
* Improve tax display within order totals
|
910 |
*
|
@@ -941,8 +853,8 @@ final class WooCommerce_Germanized {
|
|
941 |
if ( ! empty( $tax_array ) ) {
|
942 |
foreach ( $tax_array as $tax ) {
|
943 |
$order_totals['tax_' . $tax['tax']->label] = array(
|
944 |
-
'label' =>
|
945 |
-
'value' =>
|
946 |
);
|
947 |
}
|
948 |
}
|
3 |
* Plugin Name: WooCommerce Germanized
|
4 |
* Plugin URI: https://www.vendidero.de/woocommerce-germanized
|
5 |
* Description: Extends WooCommerce to become a legally compliant store for the german market.
|
6 |
+
* Version: 1.4.6
|
7 |
* Author: Vendidero
|
8 |
* Author URI: https://vendidero.de
|
9 |
* Requires at least: 3.8
|
26 |
*
|
27 |
* @var string
|
28 |
*/
|
29 |
+
public $version = '1.4.6';
|
30 |
|
31 |
/**
|
32 |
* Single instance of WooCommerce Germanized Main Class
|
129 |
add_action( 'init', array( 'WC_GZD_Shortcodes', 'init' ), 2 );
|
130 |
add_action( 'widgets_init', array( $this, 'include_widgets' ), 25 );
|
131 |
add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) );
|
|
|
132 |
add_action( 'woocommerce_init', array( $this, 'replace_woocommerce_product_factory' ), PHP_INT_MAX );
|
133 |
|
134 |
// Loaded action
|
180 |
add_filter( 'woocommerce_get_order_item_totals', array( $this, 'order_item_totals' ), 0, 2 );
|
181 |
// Unsure wether this could lead to future problems - tax classes with same name wont be merged anylonger
|
182 |
//add_filter( 'woocommerce_rate_code', array( $this, 'prevent_tax_name_merge' ), PHP_INT_MAX, 2 );
|
|
|
|
|
|
|
|
|
183 |
|
184 |
// Fallback gzd_product injection if not using wc_get_product
|
185 |
add_filter( 'get_post_metadata', array( $this, 'inject_gzd_product' ), 0, 4 );
|
327 |
|
328 |
include_once ( 'includes/class-wc-gzd-wpml-helper.php' );
|
329 |
include_once ( 'includes/wc-gzd-cart-functions.php' );
|
330 |
+
include_once ( 'includes/wc-gzd-order-functions.php' );
|
331 |
include_once ( 'includes/class-wc-gzd-checkout.php' );
|
332 |
+
include_once ( 'includes/class-wc-gzd-virtual-vat-helper.php' );
|
333 |
|
334 |
$this->trusted_shops = new WC_GZD_Trusted_Shops();
|
335 |
$this->ekomi = new WC_GZD_Ekomi();
|
461 |
return $metadata;
|
462 |
}
|
463 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
464 |
/**
|
465 |
* Overload product factory to inject gzd_product
|
466 |
*/
|
752 |
if ( $new_order = $this->emails->get_email_instance_by_id( 'new_order' ) )
|
753 |
$new_order->trigger( $order->id );
|
754 |
|
755 |
+
// Always clear cart after order success
|
756 |
+
if ( get_option( 'woocommerce_gzd_checkout_stop_order_cancellation' ) === 'yes' )
|
757 |
+
WC()->cart->empty_cart();
|
758 |
+
|
759 |
do_action( 'woocommerce_germanized_order_confirmation_sent', $order->id );
|
760 |
|
761 |
return $result;
|
817 |
return false;
|
818 |
}
|
819 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
820 |
/**
|
821 |
* Improve tax display within order totals
|
822 |
*
|
853 |
if ( ! empty( $tax_array ) ) {
|
854 |
foreach ( $tax_array as $tax ) {
|
855 |
$order_totals['tax_' . $tax['tax']->label] = array(
|
856 |
+
'label' => ( get_option( 'woocommerce_tax_total_display' ) == 'itemized' ? sprintf( __( 'incl. %s%% VAT', 'woocommerce-germanized' ), wc_gzd_format_tax_rate_percentage( $tax[ 'tax' ]->rate ) ) : __( 'incl. VAT', 'woocommerce-germanized' ) ),
|
857 |
+
'value' => wc_price( $tax[ 'amount' ] )
|
858 |
);
|
859 |
}
|
860 |
}
|
wpml-config.xml
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<wpml-config>
|
2 |
<admin-texts>
|
3 |
<key name="woocommerce_gzd_shipping_costs_text" />
|
|
|
4 |
<key name="woocommerce_gzd_order_submit_btn_text" />
|
5 |
<key name="woocommerce_gzd_delivery_time_text" />
|
6 |
<key name="woocommerce_gzd_unit_price_text" />
|
1 |
<wpml-config>
|
2 |
<admin-texts>
|
3 |
<key name="woocommerce_gzd_shipping_costs_text" />
|
4 |
+
<key name="woocommerce_gzd_free_shipping_text" />
|
5 |
<key name="woocommerce_gzd_order_submit_btn_text" />
|
6 |
<key name="woocommerce_gzd_delivery_time_text" />
|
7 |
<key name="woocommerce_gzd_unit_price_text" />
|