Version Description
- Feature: Deutsche Post Internetmarke integration
- Feature: Packaging options for shipments
- Feature: Recalculate unit price via AJAX in case price HTML changes
- Improvement: Added gender neutral title option and empty option
- Improvement: Net price voucher tax calculation
- Improvement: Explicitly exclude admins from possible account cleanup
- Improvement: Make last parameter optional for BCC headers to prevent third party problems
- Improvement: Add to cart variation JS price detecting
- Fix: Use order total - refund total for SEPA Export
Download this release
Release Info
Developer | vendidero |
Plugin | WooCommerce Germanized |
Version | 3.3.0 |
Comparing to | |
See all releases |
Code changes from version 3.2.3 to 3.3.0
- assets/css/admin-activation.css +3 -1
- assets/css/admin-activation.min.css +1 -1
- assets/css/admin-activation.scss +2 -0
- assets/images/create-dp-label.png +0 -0
- assets/js/add-to-cart-variation.js +9 -9
- assets/js/add-to-cart-variation.min.js +1 -1
- assets/js/single-product.js +136 -0
- assets/js/single-product.min.js +1 -0
- i18n/languages/woocommerce-germanized-de_DE.mo +0 -0
- i18n/languages/woocommerce-germanized-de_DE.po +1367 -585
- i18n/languages/woocommerce-germanized-de_DE_formal.mo +0 -0
- i18n/languages/woocommerce-germanized-de_DE_formal.po +1345 -583
- includes/admin/class-wc-gzd-admin-notices.php +7 -5
- includes/admin/class-wc-gzd-admin-setup-wizard.php +34 -4
- includes/admin/class-wc-gzd-admin-welcome.php +35 -9
- includes/admin/class-wc-gzd-admin.php +39 -5
- includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php +1 -1
- includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php +59 -0
- includes/admin/notes/class-wc-gzd-admin-note.php +5 -1
- includes/admin/settings/class-wc-gzd-settings-tab-dhl.php +33 -6
- includes/admin/settings/class-wc-gzd-settings-tab-general.php +1 -1
- includes/admin/views/setup/dhl.php +2 -2
- includes/admin/views/setup/internetmarke.php +22 -0
- includes/class-wc-gzd-ajax.php +30 -0
- includes/class-wc-gzd-checkout.php +108 -241
- includes/class-wc-gzd-coupon-helper.php +7 -3
- includes/class-wc-gzd-customer-helper.php +16 -3
- includes/class-wc-gzd-dependencies.php +1 -1
- includes/class-wc-gzd-emails.php +23 -1
- includes/class-wc-gzd-install.php +8 -1
- includes/class-wc-gzd-legal-checkbox.php +14 -2
- includes/class-wc-gzd-order-helper.php +375 -0
- includes/class-wc-gzd-shortcodes.php +12 -2
- includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php +1 -1
- includes/wc-gzd-cart-functions.php +2 -3
- includes/wc-gzd-core-functions.php +26 -10
- packages/woocommerce-germanized-dhl/assets/css/admin.css +41 -1
- packages/woocommerce-germanized-dhl/assets/css/admin.min.css +1 -1
- packages/woocommerce-germanized-dhl/assets/css/admin.scss +63 -0
- packages/woocommerce-germanized-dhl/assets/img/wp-int-eu-preview.png +0 -0
- packages/woocommerce-germanized-dhl/assets/img/wp-int-preview.png +0 -0
- packages/woocommerce-germanized-dhl/assets/js/admin-deutsche-post-label.js +119 -0
- packages/woocommerce-germanized-dhl/assets/js/admin-deutsche-post-label.min.js +1 -0
- packages/woocommerce-germanized-dhl/assets/js/admin-internetmarke.js +266 -0
- packages/woocommerce-germanized-dhl/assets/js/admin-internetmarke.min.js +1 -0
- packages/woocommerce-germanized-dhl/includes/admin/views/html-deutsche-post-additional-services.php +28 -0
- packages/woocommerce-germanized-dhl/includes/admin/views/html-shipment-deutsche-post-label-backbone-form.php +78 -0
- packages/woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php +251 -251
- packages/woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php +42 -1
- packages/woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php +395 -20
- packages/woocommerce-germanized-dhl/src/Admin/Admin.php +85 -4
- packages/woocommerce-germanized-dhl/src/Admin/{Importer.php → Importer/DHL.php} +2 -2
- packages/woocommerce-germanized-dhl/src/Admin/Importer/Internetmarke.php +39 -0
- packages/woocommerce-germanized-dhl/src/Admin/Settings.php +318 -16
- packages/woocommerce-germanized-dhl/src/Ajax.php +87 -0
- packages/woocommerce-germanized-dhl/src/Api/ImProductList.php +486 -0
- packages/woocommerce-germanized-dhl/src/Api/ImProductsSoap.php +40 -0
- packages/woocommerce-germanized-dhl/src/Api/ImRefundSoap.php +93 -0
- packages/woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php +333 -0
- packages/woocommerce-germanized-dhl/src/Api/Internetmarke.php +785 -0
- packages/woocommerce-germanized-dhl/src/Api/LabelSoap.php +28 -49
- packages/woocommerce-germanized-dhl/src/Api/Paket.php +9 -1
- packages/woocommerce-germanized-dhl/src/Api/ParcelRest.php +1 -1
- packages/woocommerce-germanized-dhl/src/Api/Rest.php +58 -42
- packages/woocommerce-germanized-dhl/src/Api/ReturnRest.php +1 -1
- packages/woocommerce-germanized-dhl/src/Api/Soap.php +5 -0
- packages/woocommerce-germanized-dhl/src/Automation.php +11 -1
- packages/woocommerce-germanized-dhl/src/DataStores/Label.php +13 -4
- packages/woocommerce-germanized-dhl/src/DeutschePostLabel.php +138 -0
- packages/woocommerce-germanized-dhl/src/DeutschePostReturnLabel.php +20 -0
- packages/woocommerce-germanized-dhl/src/DownloadHandler.php +1 -2
- packages/woocommerce-germanized-dhl/src/Install.php +41 -0
- packages/woocommerce-germanized-dhl/src/Label.php +1 -3
- packages/woocommerce-germanized-dhl/src/LabelWatcher.php +38 -1
- packages/woocommerce-germanized-dhl/src/Package.php +166 -22
- packages/woocommerce-germanized-dhl/src/ParcelLocator.php +7 -5
- packages/woocommerce-germanized-dhl/src/ReturnLabel.php +7 -8
- packages/woocommerce-germanized-dhl/src/ShipmentLabelWatcher.php +61 -1
- packages/woocommerce-germanized-dhl/src/{ShippingProviderDHL.php → ShippingProvider/DHL.php} +8 -3
- packages/woocommerce-germanized-dhl/src/ShippingProvider/DeutschePost.php +89 -0
- packages/woocommerce-germanized-dhl/src/{ShippingProviderMethodDHL.php → ShippingProvider/MethodDHL.php} +9 -9
- packages/woocommerce-germanized-dhl/src/ShippingProvider/MethodDeutschePost.php +127 -0
- packages/woocommerce-germanized-dhl/woocommerce-germanized-dhl.php +1 -1
- packages/woocommerce-germanized-shipments/assets/css/admin.css +5 -1
- packages/woocommerce-germanized-shipments/assets/css/admin.min.css +1 -1
- packages/woocommerce-germanized-shipments/assets/css/admin.scss +6 -0
- packages/woocommerce-germanized-shipments/assets/js/admin-shipment.js +35 -0
- packages/woocommerce-germanized-shipments/assets/js/admin-shipment.min.js +1 -1
- packages/woocommerce-germanized-shipments/assets/js/admin-shipments.js +1 -0
- packages/woocommerce-germanized-shipments/assets/js/admin-shipments.min.js +1 -1
- packages/woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php +22 -11
- packages/woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-packaging-select.php +29 -0
- packages/woocommerce-germanized-shipments/includes/wc-gzd-packaging-functions.php +60 -0
- packages/woocommerce-germanized-shipments/src/Admin/Admin.php +189 -4
- packages/woocommerce-germanized-shipments/src/Admin/MetaBox.php +4 -0
- packages/woocommerce-germanized-shipments/src/Admin/Settings.php +27 -0
- packages/woocommerce-germanized-shipments/src/Ajax.php +76 -6
- packages/woocommerce-germanized-shipments/src/DataStores/Packaging.php +582 -0
- packages/woocommerce-germanized-shipments/src/DataStores/Shipment.php +4 -1
- packages/woocommerce-germanized-shipments/src/Install.php +93 -0
- packages/woocommerce-germanized-shipments/src/Interfaces/ShipmentLabel.php +0 -3
- packages/woocommerce-germanized-shipments/src/Interfaces/{ShipmenReturnLabel.php → ShipmentReturnLabel.php} +4 -3
- packages/woocommerce-germanized-shipments/src/Order.php +14 -0
- packages/woocommerce-germanized-shipments/src/Package.php +24 -1
- packages/woocommerce-germanized-shipments/src/Packaging.php +335 -0
- packages/woocommerce-germanized-shipments/src/PackagingFactory.php +65 -0
- packages/woocommerce-germanized-shipments/src/ReturnShipment.php +1 -2
- packages/woocommerce-germanized-shipments/src/Shipment.php +73 -5
- packages/woocommerce-germanized-shipments/src/ShippingProvider.php +7 -3
- packages/woocommerce-germanized-shipments/src/SimpleShipment.php +13 -1
- packages/woocommerce-germanized-shipments/woocommerce-germanized-shipments.php +1 -1
- packages/woocommerce-trusted-shops/src/Package.php +1 -1
- packages/woocommerce-trusted-shops/woocommerce-trusted-shops.php +1 -1
- readme.txt +17 -10
- templates/global/complaints.php +3 -1
- vendor/autoload.php +1 -1
- vendor/autoload_packages.php +6 -121
- vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php +300 -128
- vendor/automattic/jetpack-autoloader/src/AutoloadProcessor.php +180 -0
- vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php +84 -13
- vendor/automattic/jetpack-autoloader/src/ManifestGenerator.php +121 -0
- vendor/automattic/jetpack-autoloader/src/autoload.php +3 -116
- vendor/automattic/jetpack-autoloader/src/class-autoloader-handler.php +190 -0
- vendor/automattic/jetpack-autoloader/src/class-autoloader-locator.php +82 -0
- vendor/automattic/jetpack-autoloader/src/class-manifest-handler.php +99 -0
- vendor/automattic/jetpack-autoloader/src/class-plugins-handler.php +129 -0
- vendor/automattic/jetpack-autoloader/src/class-version-loader.php +156 -0
- vendor/automattic/jetpack-autoloader/src/class-version-selector.php +61 -0
- vendor/automattic/jetpack-autoloader/src/functions.php +66 -0
- vendor/{setasign/fpdi-fpdf/LICENSE.txt → baltpeter/internetmarke-php/LICENSE} +1 -1
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Address.php +133 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/AddressBinding.php +55 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/ApiResult.php +34 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/CompanyName.php +55 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/LabelCount.php +53 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/LabelSpacing.php +53 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Margin.php +93 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Name.php +57 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/NamedAddress.php +55 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/OrderItem.php +115 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PageFormat.php +155 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PageLayout.php +115 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PartnerInformation.php +93 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PersonName.php +93 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PortokasseCharge.php +107 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Position.php +73 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PublicGalleryItem.php +93 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Service.php +178 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Size.php +53 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/StampPngResult.php +75 -0
- vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/User.php +93 -0
- vendor/composer/ClassLoader.php +3 -3
- vendor/composer/InstalledVersions.php +317 -0
- vendor/composer/autoload_classmap.php +2 -0
- vendor/composer/autoload_classmap_package.php +0 -502
assets/css/admin-activation.css
CHANGED
@@ -77,10 +77,12 @@
|
|
77 |
.wc-gzd-actions a.button-primary, .wc-gzd-actions .woocommerce-gzd-message .button-primary {
|
78 |
background-color: #262626 !important;
|
79 |
border: 1px solid #000 !important;
|
80 |
-
text-shadow: none !important;
|
|
|
81 |
.wc-gzd-actions a.button-primary:hover, .wc-gzd-actions .woocommerce-gzd-message .button-primary:hover {
|
82 |
background-color: #363636 !important;
|
83 |
border: 1px solid #000 !important;
|
|
|
84 |
text-shadow: none !important; }
|
85 |
|
86 |
.woocommerce-gzd-message .form-table tr td, .woocommerce-gzd-message .form-table tr th {
|
77 |
.wc-gzd-actions a.button-primary, .wc-gzd-actions .woocommerce-gzd-message .button-primary {
|
78 |
background-color: #262626 !important;
|
79 |
border: 1px solid #000 !important;
|
80 |
+
text-shadow: none !important;
|
81 |
+
background-image: none !important; }
|
82 |
.wc-gzd-actions a.button-primary:hover, .wc-gzd-actions .woocommerce-gzd-message .button-primary:hover {
|
83 |
background-color: #363636 !important;
|
84 |
border: 1px solid #000 !important;
|
85 |
+
background-image: none !important;
|
86 |
text-shadow: none !important; }
|
87 |
|
88 |
.woocommerce-gzd-message .form-table tr td, .woocommerce-gzd-message .form-table tr th {
|
assets/css/admin-activation.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wc-gzd-news p{line-height:1.8;font-size:15px}.wc-gzd-news .about-logo-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start}.wc-gzd-news .about-logo-wrapper .wc-gzd-logo{display:inline-block!important;text-indent:-9999px;width:298px;vertical-align:top;margin-top:2rem;height:89px;background:url(../images/germanized.svg) no-repeat;background-size:298px auto}.wc-gzd-news .about-logo-wrapper .about-text{display:inline-block;padding:0;max-width:50%;width:50%;margin:0;margin-top:1rem;margin-left:3%}.wc-gzd-news .new-feature img{align-self:center}.wc-gzd-news p.price{font-size:.8em}.wc-gzd-news .columns{display:flex;flex-wrap:wrap;margin-left:-1em;margin-right:-1em}.wc-gzd-news .columns *{box-sizing:border-box}.wc-gzd-news .columns .col{margin-right:0;padding:0 1em;width:33.3333%;align-items:center;display:inline-flex;flex-wrap:wrap}.wc-gzd-news .columns .col h4 .dashicons{margin-right:5px}.wc-gzd-news .columns .col.align-center{display:inline-flex;align-self:center}.wc-gzd-news .columns.two-col .col{width:50%}.dashboard_page_wc-gzd-about h1{width:100%;margin-right:0}.dashboard_page_wc-gzd-about h3 .wc-gzd-pro{font-size:.7em;margin-left:5px;background:0 0;border:1px solid #000;color:#000}.dashboard_page_wc-gzd-about .changelog{margin-top:3em;border-top:1px solid #ccc;padding-top:0}.dashboard_page_wc-gzd-about .feature-section{border:none}.wc-gzd-actions a.button{margin-right:.5em}.wc-gzd-actions .woocommerce-gzd-message .button-primary,.wc-gzd-actions a.button-primary{background-color:#262626!important;border:1px solid #000!important;text-shadow:none!important}.wc-gzd-actions .woocommerce-gzd-message .button-primary:hover,.wc-gzd-actions a.button-primary:hover{background-color:#363636!important;border:1px solid #000!important;text-shadow:none!important}.woocommerce-gzd-message .form-table tr td,.woocommerce-gzd-message .form-table tr th{padding:.7rem 0;margin:0}.woocommerce-gzd-message a.wc-gzd-skip{opacity:.7}div.woocommerce-gzd-message{border-left:4px solid #bb2525!important}div.woocommerce-gzd-message p{max-width:100%!important}
|
1 |
+
.wc-gzd-news p{line-height:1.8;font-size:15px}.wc-gzd-news .about-logo-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start}.wc-gzd-news .about-logo-wrapper .wc-gzd-logo{display:inline-block!important;text-indent:-9999px;width:298px;vertical-align:top;margin-top:2rem;height:89px;background:url(../images/germanized.svg) no-repeat;background-size:298px auto}.wc-gzd-news .about-logo-wrapper .about-text{display:inline-block;padding:0;max-width:50%;width:50%;margin:0;margin-top:1rem;margin-left:3%}.wc-gzd-news .new-feature img{align-self:center}.wc-gzd-news p.price{font-size:.8em}.wc-gzd-news .columns{display:flex;flex-wrap:wrap;margin-left:-1em;margin-right:-1em}.wc-gzd-news .columns *{box-sizing:border-box}.wc-gzd-news .columns .col{margin-right:0;padding:0 1em;width:33.3333%;align-items:center;display:inline-flex;flex-wrap:wrap}.wc-gzd-news .columns .col h4 .dashicons{margin-right:5px}.wc-gzd-news .columns .col.align-center{display:inline-flex;align-self:center}.wc-gzd-news .columns.two-col .col{width:50%}.dashboard_page_wc-gzd-about h1{width:100%;margin-right:0}.dashboard_page_wc-gzd-about h3 .wc-gzd-pro{font-size:.7em;margin-left:5px;background:0 0;border:1px solid #000;color:#000}.dashboard_page_wc-gzd-about .changelog{margin-top:3em;border-top:1px solid #ccc;padding-top:0}.dashboard_page_wc-gzd-about .feature-section{border:none}.wc-gzd-actions a.button{margin-right:.5em}.wc-gzd-actions .woocommerce-gzd-message .button-primary,.wc-gzd-actions a.button-primary{background-color:#262626!important;border:1px solid #000!important;text-shadow:none!important;background-image:none!important}.wc-gzd-actions .woocommerce-gzd-message .button-primary:hover,.wc-gzd-actions a.button-primary:hover{background-color:#363636!important;border:1px solid #000!important;background-image:none!important;text-shadow:none!important}.woocommerce-gzd-message .form-table tr td,.woocommerce-gzd-message .form-table tr th{padding:.7rem 0;margin:0}.woocommerce-gzd-message a.wc-gzd-skip{opacity:.7}div.woocommerce-gzd-message{border-left:4px solid #bb2525!important}div.woocommerce-gzd-message p{max-width:100%!important}
|
assets/css/admin-activation.scss
CHANGED
@@ -107,10 +107,12 @@
|
|
107 |
background-color: #262626 !important;
|
108 |
border: 1px solid #000 !important;
|
109 |
text-shadow: none !important;
|
|
|
110 |
|
111 |
&:hover {
|
112 |
background-color: #363636 !important;
|
113 |
border: 1px solid #000 !important;
|
|
|
114 |
text-shadow: none !important;
|
115 |
}
|
116 |
}
|
107 |
background-color: #262626 !important;
|
108 |
border: 1px solid #000 !important;
|
109 |
text-shadow: none !important;
|
110 |
+
background-image: none !important;
|
111 |
|
112 |
&:hover {
|
113 |
background-color: #363636 !important;
|
114 |
border: 1px solid #000 !important;
|
115 |
+
background-image: none !important;
|
116 |
text-shadow: none !important;
|
117 |
}
|
118 |
}
|
assets/images/create-dp-label.png
ADDED
Binary file
|
assets/js/add-to-cart-variation.js
CHANGED
@@ -80,9 +80,9 @@
|
|
80 |
var form = event.data.GermanizedvariationForm,
|
81 |
$wrapper = form.$wrapper;
|
82 |
|
83 |
-
if ( ! $wrapper.find( wc_gzd_add_to_cart_variation_params.price_selector + ':first' ).hasClass( 'variation_modified' ) ) {
|
84 |
|
85 |
-
$wrapper.append( '<div class="org_price org_product_info">' + $wrapper.find( wc_gzd_add_to_cart_variation_params.price_selector + ':not(.price-unit):first' ).html() + '</div>' );
|
86 |
|
87 |
if ( $wrapper.find( '.delivery-time-info:first' ).length > 0 ) {
|
88 |
$wrapper.append( '<div class="org_delivery_time org_product_info">' + $wrapper.find( '.delivery-time-info:first' ).html() + '</div>' );
|
@@ -110,8 +110,8 @@
|
|
110 |
if ( variation.price_html !== '' ) {
|
111 |
form.$singleVariation.find( '.price' ).hide();
|
112 |
|
113 |
-
$wrapper.find( wc_gzd_add_to_cart_variation_params.price_selector + ':not(.price-unit):first' ).html( variation.price_html ).addClass( 'variation_modified' );
|
114 |
-
$wrapper.find( wc_gzd_add_to_cart_variation_params.price_selector + ':not(.price-unit):first' ).find( '.price' ).contents().unwrap();
|
115 |
}
|
116 |
|
117 |
$wrapper.find( '.delivery-time-info:first' ).hide();
|
@@ -121,7 +121,7 @@
|
|
121 |
$wrapper.find( '.product-units:first' ).hide();
|
122 |
|
123 |
if ( variation.delivery_time !== '' ) {
|
124 |
-
$wrapper.find( 'p.delivery-time-info:first' ).html( variation.delivery_time ).addClass('variation_modified').show();
|
125 |
}
|
126 |
|
127 |
if ( variation.tax_info !== '' ) {
|
@@ -136,20 +136,20 @@
|
|
136 |
|
137 |
// Check if unit price for variable product exists and replace instead of insert
|
138 |
if ( $wrapper.find( '.price-unit:first' ).length ) {
|
139 |
-
$wrapper.find( '.price-unit:first' ).html( variation.unit_price ).addClass('variation-modified').show();
|
140 |
} else {
|
141 |
$wrapper.find( '.price-unit:first' ).remove();
|
142 |
-
$wrapper.find( 'p.price:first' ).after('<p class="price price-unit smaller variation_modified">' + variation.unit_price + '</p>').show();
|
143 |
}
|
144 |
}
|
145 |
|
146 |
if ( variation.product_units !== '' ) {
|
147 |
// Check if product units for variable product exist and replace instead of insert
|
148 |
if ( $wrapper.find( '.product-units:first' ).length ) {
|
149 |
-
$wrapper.find( '.product-units:first' ).html( variation.product_units ).addClass('variation-modified').show();
|
150 |
} else {
|
151 |
$wrapper.find( '.product-units:first' ).remove();
|
152 |
-
$wrapper.find( '.product_meta:first' ).prepend('<p class="wc-gzd-additional-info product-units-wrapper product-units variation_modified">' + variation.product_units + '</p>').show();
|
153 |
}
|
154 |
}
|
155 |
|
80 |
var form = event.data.GermanizedvariationForm,
|
81 |
$wrapper = form.$wrapper;
|
82 |
|
83 |
+
if ( ! $wrapper.find( wc_gzd_add_to_cart_variation_params.price_selector + ':visible:first' ).hasClass( 'variation_modified' ) ) {
|
84 |
|
85 |
+
$wrapper.append( '<div class="org_price org_product_info">' + $wrapper.find( wc_gzd_add_to_cart_variation_params.price_selector + ':not(.price-unit):visible:first' ).html() + '</div>' );
|
86 |
|
87 |
if ( $wrapper.find( '.delivery-time-info:first' ).length > 0 ) {
|
88 |
$wrapper.append( '<div class="org_delivery_time org_product_info">' + $wrapper.find( '.delivery-time-info:first' ).html() + '</div>' );
|
110 |
if ( variation.price_html !== '' ) {
|
111 |
form.$singleVariation.find( '.price' ).hide();
|
112 |
|
113 |
+
$wrapper.find( wc_gzd_add_to_cart_variation_params.price_selector + ':not(.price-unit):visible:first' ).html( variation.price_html ).addClass( 'variation_modified' );
|
114 |
+
$wrapper.find( wc_gzd_add_to_cart_variation_params.price_selector + ':not(.price-unit):visible:first' ).find( '.price' ).contents().unwrap();
|
115 |
}
|
116 |
|
117 |
$wrapper.find( '.delivery-time-info:first' ).hide();
|
121 |
$wrapper.find( '.product-units:first' ).hide();
|
122 |
|
123 |
if ( variation.delivery_time !== '' ) {
|
124 |
+
$wrapper.find( 'p.delivery-time-info:first' ).html( variation.delivery_time ).addClass( 'variation_modified' ).show();
|
125 |
}
|
126 |
|
127 |
if ( variation.tax_info !== '' ) {
|
136 |
|
137 |
// Check if unit price for variable product exists and replace instead of insert
|
138 |
if ( $wrapper.find( '.price-unit:first' ).length ) {
|
139 |
+
$wrapper.find( '.price-unit:first' ).html( variation.unit_price ).addClass( 'variation-modified' ).show();
|
140 |
} else {
|
141 |
$wrapper.find( '.price-unit:first' ).remove();
|
142 |
+
$wrapper.find( 'p.price:first' ).after( '<p class="price price-unit smaller variation_modified">' + variation.unit_price + '</p>' ).show();
|
143 |
}
|
144 |
}
|
145 |
|
146 |
if ( variation.product_units !== '' ) {
|
147 |
// Check if product units for variable product exist and replace instead of insert
|
148 |
if ( $wrapper.find( '.product-units:first' ).length ) {
|
149 |
+
$wrapper.find( '.product-units:first' ).html( variation.product_units ).addClass( 'variation-modified' ).show();
|
150 |
} else {
|
151 |
$wrapper.find( '.product-units:first' ).remove();
|
152 |
+
$wrapper.find( '.product_meta:first' ).prepend( '<p class="wc-gzd-additional-info product-units-wrapper product-units variation_modified">' + variation.product_units + '</p>' ).show();
|
153 |
}
|
154 |
}
|
155 |
|
assets/js/add-to-cart-variation.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(i){function t(i){var t=this;t.$form=i,t.$wrapper=i.parents(wc_gzd_add_to_cart_variation_params.wrapper),t.$product=i.closest(".product"),t.variationData=i.data("product_variations"),t.$singleVariation=i.find(".single_variation"),t.$singleVariationWrap=i.find(".single_variation_wrap"),t.$resetVariations=i.find(".reset_variations"),t.$button=i.find(".single_add_to_cart_button"),t.$wrapper.length<=0&&(t.$wrapper=t.$product),i.on("click",".reset_variations",{GermanizedvariationForm:t},t.onReset),i.on("reset_data",{GermanizedvariationForm:t},t.onReset),i.on("show_variation",{GermanizedvariationForm:t},t.onShowVariation)}t.prototype.onReset=function(i){var t=i.data.GermanizedvariationForm.$wrapper;0<t.find(".org_price").length&&t.find(wc_gzd_add_to_cart_variation_params.price_selector+".variation_modified:not(.price-unit)").html(t.find(".org_price").html()).removeClass("variation_modified").show(),0<t.find(".org_delivery_time").length&&t.find(".delivery-time-info:first").html(t.find(".org_delivery_time").html()).removeClass("variation_modified").show(),0<t.find(".org_unit_price").length&&t.find(".price-unit:first").html(t.find(".org_unit_price").html()).removeClass("variation_modified").show(),0<t.find(".org_tax_info").length&&t.find(".tax-info:first").html(t.find(".org_tax_info").html()).removeClass("variation_modified").show(),0<t.find(".org_shipping_costs_info").length&&t.find(".shipping-costs-info:first").html(t.find(".org_shipping_costs_info").html()).removeClass("variation_modified").show(),0<t.find(".org_product_units").length&&t.find(".product-units:first").html(t.find(".org_product_units").html()).removeClass("variation_modified").show(),t.find(".org_product_info").remove(),t.find(".variation_modified").remove(),i.data.GermanizedvariationForm.$form.trigger("germanized_reset_data")},t.prototype.onUpdate=function(i){setTimeout(function(){void 0!==i.data&&i.data.hasOwnProperty("GermanizedvariationForm")&&void 0!==i.data.GermanizedvariationForm&&(i.data.GermanizedvariationForm.$button.is("[disabled]")||i.data.GermanizedvariationForm.$button.hasClass("disabled"))&&i.data.GermanizedvariationForm.onReset(i)},250)},t.prototype.onShowVariation=function(i,t,r){var n=i.data.GermanizedvariationForm,i=n.$wrapper;i.find(wc_gzd_add_to_cart_variation_params.price_selector+":first").hasClass("variation_modified")||(i.append('<div class="org_price org_product_info">'+i.find(wc_gzd_add_to_cart_variation_params.price_selector+":not(.price-unit):first").html()+"</div>"),0<i.find(".delivery-time-info:first").length&&i.append('<div class="org_delivery_time org_product_info">'+i.find(".delivery-time-info:first").html()+"</div>"),0<i.find(".tax-info:first").length&&i.append('<div class="org_tax_info org_product_info">'+i.find(".tax-info:first").html()+"</div>"),0<i.find(".shipping-costs-info:first").length&&i.append('<div class="org_shipping_costs_info org_product_info">'+i.find(".shipping-costs-info:first").html()+"</div>"),0<i.find(".price-unit:first").length&&i.append('<div class="org_unit_price org_product_info">'+i.find(".price-unit:first").html()+"</div>"),0<i.find(".product-units:first").length&&i.append('<div class="org_product_units org_product_info">'+i.find(".product-units:first").html()+"</div>"),i.find(".org_product_info").hide()),""!==t.price_html&&(n.$singleVariation.find(".price").hide(),i.find(wc_gzd_add_to_cart_variation_params.price_selector+":not(.price-unit):first").html(t.price_html).addClass("variation_modified"),i.find(wc_gzd_add_to_cart_variation_params.price_selector+":not(.price-unit):first").find(".price").contents().unwrap()),i.find(".delivery-time-info:first").hide(),i.find(".price-unit:first").hide(),i.find(".tax-info:first").hide(),i.find(".shipping-costs-info:first").hide(),i.find(".product-units:first").hide(),""!==t.delivery_time&&i.find("p.delivery-time-info:first").html(t.delivery_time).addClass("variation_modified").show(),""!==t.tax_info&&i.find(".tax-info:first").html(t.tax_info).addClass("variation_modified").show(),""!==t.shipping_costs_info&&i.find(".shipping-costs-info:first").html(t.shipping_costs_info).addClass("variation_modified").show(),""!==t.unit_price&&(i.find(".price-unit:first").length?i.find(".price-unit:first").html(t.unit_price).addClass("variation-modified").show():(i.find(".price-unit:first").remove(),i.find("p.price:first").after('<p class="price price-unit smaller variation_modified">'+t.unit_price+"</p>").show())),""!==t.product_units&&(i.find(".product-units:first").length?i.find(".product-units:first").html(t.product_units).addClass("variation-modified").show():(i.find(".product-units:first").remove(),i.find(".product_meta:first").prepend('<p class="wc-gzd-additional-info product-units-wrapper product-units variation_modified">'+t.product_units+"</p>").show())),n.$form.trigger("germanized_variation_data")},i.fn.wc_germanized_variation_form=function(){return new t(this),this},i(function(){"undefined"!=typeof wc_gzd_add_to_cart_variation_params&&i(".variations_form").each(function(){i(this).wc_germanized_variation_form()})})}(jQuery,(window,document));
|
1 |
+
!function(i){function t(i){var t=this;t.$form=i,t.$wrapper=i.parents(wc_gzd_add_to_cart_variation_params.wrapper),t.$product=i.closest(".product"),t.variationData=i.data("product_variations"),t.$singleVariation=i.find(".single_variation"),t.$singleVariationWrap=i.find(".single_variation_wrap"),t.$resetVariations=i.find(".reset_variations"),t.$button=i.find(".single_add_to_cart_button"),t.$wrapper.length<=0&&(t.$wrapper=t.$product),i.on("click",".reset_variations",{GermanizedvariationForm:t},t.onReset),i.on("reset_data",{GermanizedvariationForm:t},t.onReset),i.on("show_variation",{GermanizedvariationForm:t},t.onShowVariation)}t.prototype.onReset=function(i){var t=i.data.GermanizedvariationForm.$wrapper;0<t.find(".org_price").length&&t.find(wc_gzd_add_to_cart_variation_params.price_selector+".variation_modified:not(.price-unit)").html(t.find(".org_price").html()).removeClass("variation_modified").show(),0<t.find(".org_delivery_time").length&&t.find(".delivery-time-info:first").html(t.find(".org_delivery_time").html()).removeClass("variation_modified").show(),0<t.find(".org_unit_price").length&&t.find(".price-unit:first").html(t.find(".org_unit_price").html()).removeClass("variation_modified").show(),0<t.find(".org_tax_info").length&&t.find(".tax-info:first").html(t.find(".org_tax_info").html()).removeClass("variation_modified").show(),0<t.find(".org_shipping_costs_info").length&&t.find(".shipping-costs-info:first").html(t.find(".org_shipping_costs_info").html()).removeClass("variation_modified").show(),0<t.find(".org_product_units").length&&t.find(".product-units:first").html(t.find(".org_product_units").html()).removeClass("variation_modified").show(),t.find(".org_product_info").remove(),t.find(".variation_modified").remove(),i.data.GermanizedvariationForm.$form.trigger("germanized_reset_data")},t.prototype.onUpdate=function(i){setTimeout(function(){void 0!==i.data&&i.data.hasOwnProperty("GermanizedvariationForm")&&void 0!==i.data.GermanizedvariationForm&&(i.data.GermanizedvariationForm.$button.is("[disabled]")||i.data.GermanizedvariationForm.$button.hasClass("disabled"))&&i.data.GermanizedvariationForm.onReset(i)},250)},t.prototype.onShowVariation=function(i,t,r){var n=i.data.GermanizedvariationForm,i=n.$wrapper;i.find(wc_gzd_add_to_cart_variation_params.price_selector+":visible:first").hasClass("variation_modified")||(i.append('<div class="org_price org_product_info">'+i.find(wc_gzd_add_to_cart_variation_params.price_selector+":not(.price-unit):visible:first").html()+"</div>"),0<i.find(".delivery-time-info:first").length&&i.append('<div class="org_delivery_time org_product_info">'+i.find(".delivery-time-info:first").html()+"</div>"),0<i.find(".tax-info:first").length&&i.append('<div class="org_tax_info org_product_info">'+i.find(".tax-info:first").html()+"</div>"),0<i.find(".shipping-costs-info:first").length&&i.append('<div class="org_shipping_costs_info org_product_info">'+i.find(".shipping-costs-info:first").html()+"</div>"),0<i.find(".price-unit:first").length&&i.append('<div class="org_unit_price org_product_info">'+i.find(".price-unit:first").html()+"</div>"),0<i.find(".product-units:first").length&&i.append('<div class="org_product_units org_product_info">'+i.find(".product-units:first").html()+"</div>"),i.find(".org_product_info").hide()),""!==t.price_html&&(n.$singleVariation.find(".price").hide(),i.find(wc_gzd_add_to_cart_variation_params.price_selector+":not(.price-unit):visible:first").html(t.price_html).addClass("variation_modified"),i.find(wc_gzd_add_to_cart_variation_params.price_selector+":not(.price-unit):visible:first").find(".price").contents().unwrap()),i.find(".delivery-time-info:first").hide(),i.find(".price-unit:first").hide(),i.find(".tax-info:first").hide(),i.find(".shipping-costs-info:first").hide(),i.find(".product-units:first").hide(),""!==t.delivery_time&&i.find("p.delivery-time-info:first").html(t.delivery_time).addClass("variation_modified").show(),""!==t.tax_info&&i.find(".tax-info:first").html(t.tax_info).addClass("variation_modified").show(),""!==t.shipping_costs_info&&i.find(".shipping-costs-info:first").html(t.shipping_costs_info).addClass("variation_modified").show(),""!==t.unit_price&&(i.find(".price-unit:first").length?i.find(".price-unit:first").html(t.unit_price).addClass("variation-modified").show():(i.find(".price-unit:first").remove(),i.find("p.price:first").after('<p class="price price-unit smaller variation_modified">'+t.unit_price+"</p>").show())),""!==t.product_units&&(i.find(".product-units:first").length?i.find(".product-units:first").html(t.product_units).addClass("variation-modified").show():(i.find(".product-units:first").remove(),i.find(".product_meta:first").prepend('<p class="wc-gzd-additional-info product-units-wrapper product-units variation_modified">'+t.product_units+"</p>").show())),n.$form.trigger("germanized_variation_data")},i.fn.wc_germanized_variation_form=function(){return new t(this),this},i(function(){"undefined"!=typeof wc_gzd_add_to_cart_variation_params&&i(".variations_form").each(function(){i(this).wc_germanized_variation_form()})})}(jQuery,(window,document));
|
assets/js/single-product.js
ADDED
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
window.germanized = window.germanized || {};
|
2 |
+
|
3 |
+
( function( $, germanized ) {
|
4 |
+
|
5 |
+
germanized.single_product = {
|
6 |
+
|
7 |
+
params: {},
|
8 |
+
requests: [],
|
9 |
+
productId: 0,
|
10 |
+
variationId: 0,
|
11 |
+
|
12 |
+
init: function() {
|
13 |
+
var self = germanized.single_product;
|
14 |
+
|
15 |
+
self.params = wc_gzd_single_product_params;
|
16 |
+
self.productId = self.params.product_id;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Setup accounting jQuery script
|
20 |
+
*/
|
21 |
+
accounting.settings = {
|
22 |
+
currency: {
|
23 |
+
decimal : self.params.price_decimal_sep,
|
24 |
+
thousand: self.params.price_thousand_sep,
|
25 |
+
},
|
26 |
+
number: {
|
27 |
+
decimal : self.params.price_decimal_sep,
|
28 |
+
thousand: self.params.price_thousand_sep,
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
$( self.params.wrapper + ' ' + self.params.price_selector + ':not(.price-unit):visible' ).bind( 'DOMSubtreeModified', self.onChangePrice );
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Maybe update variationId to make sure we are transmitting the
|
36 |
+
* right product id to the AJAX call.
|
37 |
+
*/
|
38 |
+
if ( $( '.variations_form' ).length > 0 ) {
|
39 |
+
$( '.variations_form' ).each( function() {
|
40 |
+
var $form = $( this );
|
41 |
+
|
42 |
+
$form.on( 'reset_data', self.onResetVariation );
|
43 |
+
$form.on( 'found_variation.wc-variation-form', self.onFoundVariation );
|
44 |
+
});
|
45 |
+
}
|
46 |
+
},
|
47 |
+
|
48 |
+
onFoundVariation: function( event, variation ) {
|
49 |
+
var self = germanized.single_product;
|
50 |
+
|
51 |
+
if ( variation.hasOwnProperty( 'variation_id' ) ) {
|
52 |
+
self.variationId = variation.variation_id;
|
53 |
+
}
|
54 |
+
},
|
55 |
+
|
56 |
+
onResetVariation: function() {
|
57 |
+
var self = germanized.single_product;
|
58 |
+
|
59 |
+
self.variationId = 0;
|
60 |
+
},
|
61 |
+
|
62 |
+
onChangePrice: function( event ) {
|
63 |
+
/**
|
64 |
+
* Need to use a tweak here to make sure our variation listener
|
65 |
+
* has already adjusted the variationId (in case necessary).
|
66 |
+
*/
|
67 |
+
setTimeout(function() {
|
68 |
+
var self = germanized.single_product,
|
69 |
+
$price = $( self.params.wrapper + ' ' + self.params.price_selector + ':not(.price-unit):visible' );
|
70 |
+
|
71 |
+
event.preventDefault();
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Unbind the event because using :first selectors will trigger DOMSubtreeModified again (infinite loop)
|
75 |
+
*/
|
76 |
+
$( self.params.wrapper + ' ' + self.params.price_selector + ':not(.price-unit):visible' ).unbind( 'DOMSubtreeModified', self.onChangePrice );
|
77 |
+
|
78 |
+
var $unit_price = $price.parents( self.params.wrapper ).find( '.price-unit:first' ),
|
79 |
+
price = accounting.unformat( $price.find( '.amount:first' ).text() ),
|
80 |
+
sale_price = '';
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Is sale?
|
84 |
+
*/
|
85 |
+
if ( $price.find( '.amount' ).length > 1 ) {
|
86 |
+
sale_price = accounting.unformat( $price.find( '.amount:last' ).text() );
|
87 |
+
}
|
88 |
+
|
89 |
+
if ( $unit_price.length > 0 && price ) {
|
90 |
+
self.refreshUnitPrice( price, $unit_price, sale_price );
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Rebind the event
|
95 |
+
*/
|
96 |
+
$( self.params.wrapper + ' ' + self.params.price_selector + ':not(.price-unit):visible' ).bind( 'DOMSubtreeModified', self.onChangePrice );
|
97 |
+
}, 500 );
|
98 |
+
},
|
99 |
+
|
100 |
+
refreshUnitPrice: function( price, $unit_price, sale_price ) {
|
101 |
+
var self = germanized.single_product;
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Cancel requests
|
105 |
+
*/
|
106 |
+
if ( self.requests.length > 0 ) {
|
107 |
+
for ( var i = 0; i < self.requests.length; i++ ) {
|
108 |
+
self.requests[i].abort();
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
self.requests.push( $.ajax({
|
113 |
+
type: "POST",
|
114 |
+
url: self.params.wc_ajax_url.toString().replace( '%%endpoint%%', 'gzd_refresh_unit_price' ),
|
115 |
+
data: {
|
116 |
+
'security': self.params.refresh_unit_price_nonce,
|
117 |
+
'product_id': self.variationId > 0 ? self.variationId : self.productId,
|
118 |
+
'price': price,
|
119 |
+
'price_sale': sale_price
|
120 |
+
},
|
121 |
+
success: function( data ) {
|
122 |
+
if ( data.hasOwnProperty( 'unit_price_html' ) ) {
|
123 |
+
$unit_price.html( data.unit_price_html );
|
124 |
+
}
|
125 |
+
},
|
126 |
+
error: function( data ) {},
|
127 |
+
dataType: 'json'
|
128 |
+
} ) );
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
$( document ).ready( function() {
|
133 |
+
germanized.single_product.init();
|
134 |
+
});
|
135 |
+
|
136 |
+
})( jQuery, window.germanized );
|
assets/js/single-product.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
window.germanized=window.germanized||{},function(o,s){s.single_product={params:{},requests:[],productId:0,variationId:0,init:function(){var i=s.single_product;i.params=wc_gzd_single_product_params,i.productId=i.params.product_id,accounting.settings={currency:{decimal:i.params.price_decimal_sep,thousand:i.params.price_thousand_sep},number:{decimal:i.params.price_decimal_sep,thousand:i.params.price_thousand_sep}},o(i.params.wrapper+" "+i.params.price_selector+":not(.price-unit):visible").bind("DOMSubtreeModified",i.onChangePrice),0<o(".variations_form").length&&o(".variations_form").each(function(){var r=o(this);r.on("reset_data",i.onResetVariation),r.on("found_variation.wc-variation-form",i.onFoundVariation)})},onFoundVariation:function(r,i){var e=s.single_product;i.hasOwnProperty("variation_id")&&(e.variationId=i.variation_id)},onResetVariation:function(){s.single_product.variationId=0},onChangePrice:function(t){setTimeout(function(){var r=s.single_product,i=o(r.params.wrapper+" "+r.params.price_selector+":not(.price-unit):visible");t.preventDefault(),o(r.params.wrapper+" "+r.params.price_selector+":not(.price-unit):visible").unbind("DOMSubtreeModified",r.onChangePrice);var e=i.parents(r.params.wrapper).find(".price-unit:first"),n=accounting.unformat(i.find(".amount:first").text()),a="";1<i.find(".amount").length&&(a=accounting.unformat(i.find(".amount:last").text())),0<e.length&&n&&r.refreshUnitPrice(n,e,a),o(r.params.wrapper+" "+r.params.price_selector+":not(.price-unit):visible").bind("DOMSubtreeModified",r.onChangePrice)},500)},refreshUnitPrice:function(r,i,e){var n=s.single_product;if(0<n.requests.length)for(var a=0;a<n.requests.length;a++)n.requests[a].abort();n.requests.push(o.ajax({type:"POST",url:n.params.wc_ajax_url.toString().replace("%%endpoint%%","gzd_refresh_unit_price"),data:{security:n.params.refresh_unit_price_nonce,product_id:0<n.variationId?n.variationId:n.productId,price:r,price_sale:e},success:function(r){r.hasOwnProperty("unit_price_html")&&i.html(r.unit_price_html)},error:function(r){},dataType:"json"}))}},o(document).ready(function(){s.single_product.init()})}(jQuery,window.germanized);
|
i18n/languages/woocommerce-germanized-de_DE.mo
CHANGED
Binary file
|
i18n/languages/woocommerce-germanized-de_DE.po
CHANGED
@@ -2,8 +2,8 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce Germanized\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2020-
|
6 |
-
"PO-Revision-Date: 2020-
|
7 |
"Last-Translator: holzhannes <holzhannes@posteo.de>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: de_DE\n"
|
@@ -11,7 +11,7 @@ msgstr ""
|
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
-
"X-Generator: Poedit 2.4.
|
15 |
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
17 |
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
|
@@ -39,6 +39,36 @@ msgstr ""
|
|
39 |
"X-Poedit-SearchPathExcluded-12: woocommerce-trusted-shops/build\n"
|
40 |
"X-Poedit-SearchPathExcluded-13: woocommerce-germanized/assets\n"
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
# @ woocommerce-germanized
|
43 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:18
|
44 |
msgctxt "dhl"
|
@@ -56,8 +86,8 @@ msgid "Duties"
|
|
56 |
msgstr "Zollabgabe"
|
57 |
|
58 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:65
|
59 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
60 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
61 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:29
|
62 |
msgctxt "dhl"
|
63 |
msgid "Preferred Day"
|
@@ -71,15 +101,15 @@ msgstr "Wunschzeit"
|
|
71 |
|
72 |
# @ woocommerce-germanized
|
73 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:87
|
74 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
75 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
76 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:43
|
77 |
msgctxt "dhl"
|
78 |
msgid "Preferred Location"
|
79 |
msgstr "Wunschort"
|
80 |
|
81 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:98
|
82 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
83 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:48
|
84 |
msgctxt "dhl"
|
85 |
msgid "Preferred Neighbor"
|
@@ -92,24 +122,24 @@ msgstr "Beilage-Retourenlabel erstellen"
|
|
92 |
|
93 |
# @ woocommerce-germanized
|
94 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:121
|
95 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
96 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
97 |
msgctxt "dhl"
|
98 |
msgid "Name"
|
99 |
msgstr "Name"
|
100 |
|
101 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:130
|
102 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
103 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
104 |
msgctxt "dhl"
|
105 |
msgid "Company"
|
106 |
msgstr "Firma"
|
107 |
|
108 |
# @ woocommerce-germanized
|
109 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:139
|
110 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
111 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
112 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
113 |
msgctxt "dhl"
|
114 |
msgid "Street"
|
115 |
msgstr "Straße"
|
@@ -122,9 +152,9 @@ msgstr "Hausnummer"
|
|
122 |
|
123 |
# @ woocommerce-germanized
|
124 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:159
|
125 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
126 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
127 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
128 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:27
|
129 |
msgctxt "dhl"
|
130 |
msgid "Postcode"
|
@@ -132,24 +162,24 @@ msgstr "Postleitzahl"
|
|
132 |
|
133 |
# @ woocommerce-germanized
|
134 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:168
|
135 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
136 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
137 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
138 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:30
|
139 |
msgctxt "dhl"
|
140 |
msgid "City"
|
141 |
msgstr "Stadt"
|
142 |
|
143 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:179
|
144 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
145 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
146 |
msgctxt "dhl"
|
147 |
msgid "Phone"
|
148 |
msgstr "Telefon"
|
149 |
|
150 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:188
|
151 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
152 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
153 |
msgctxt "dhl"
|
154 |
msgid "Email"
|
155 |
msgstr "E-Mail"
|
@@ -177,7 +207,7 @@ msgstr "Alterssichtprüfung"
|
|
177 |
|
178 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:228
|
179 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:331
|
180 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
181 |
msgctxt "dhl"
|
182 |
msgid "GoGreen"
|
183 |
msgstr "GoGreen"
|
@@ -199,7 +229,7 @@ msgid "No neighbor"
|
|
199 |
msgstr "Keine Nachbarschaftszustellung"
|
200 |
|
201 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:272
|
202 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
203 |
msgctxt "dhl"
|
204 |
msgid "Named person only"
|
205 |
msgstr "Persönliche Übergabe"
|
@@ -226,7 +256,7 @@ msgid "Minimum age"
|
|
226 |
msgstr "Mindestalter"
|
227 |
|
228 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:322
|
229 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
230 |
msgctxt "dhl"
|
231 |
msgid "Premium"
|
232 |
msgstr "Premium"
|
@@ -238,6 +268,7 @@ msgid "Receiver"
|
|
238 |
msgstr "Empfänger"
|
239 |
|
240 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:15
|
|
|
241 |
msgctxt "dhl"
|
242 |
msgid "DHL Labels"
|
243 |
msgstr "DHL Labels"
|
@@ -270,11 +301,13 @@ msgstr ""
|
|
270 |
|
271 |
# @ woocommerce-germanized
|
272 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:41
|
|
|
273 |
msgctxt "dhl"
|
274 |
-
msgid "
|
275 |
-
msgstr "
|
276 |
|
277 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:44
|
|
|
278 |
#, php-format
|
279 |
msgctxt "dhl"
|
280 |
msgid ""
|
@@ -314,138 +347,182 @@ msgstr ""
|
|
314 |
"überschreiben die <a href=\"%s\">globalen Einstellungen</a>."
|
315 |
|
316 |
# @ woocommerce-germanized
|
317 |
-
#: woocommerce-germanized-dhl/includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
msgctxt "dhl time context"
|
319 |
msgid "None"
|
320 |
msgstr "Keine"
|
321 |
|
322 |
# @ woocommerce-germanized
|
323 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
324 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
325 |
msgctxt "dhl day context"
|
326 |
msgid "None"
|
327 |
msgstr "Keiner"
|
328 |
|
329 |
# @ woocommerce-germanized
|
330 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
331 |
msgctxt "dhl"
|
332 |
msgid "Delivery Duty Unpaid"
|
333 |
msgstr "Delivery Duty Unpaid"
|
334 |
|
335 |
# @ woocommerce-germanized
|
336 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
337 |
msgctxt "dhl"
|
338 |
msgid "Delivery Duty Paid"
|
339 |
msgstr "Delivery Duty Paid"
|
340 |
|
341 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
342 |
msgctxt "dhl"
|
343 |
msgid "Delivery Duty Paid (excl. VAT )"
|
344 |
msgstr "Delivered Duty Paid (exkl. MwSt.)"
|
345 |
|
346 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
347 |
msgctxt "dhl"
|
348 |
msgid "Delivery Duty Paid (excl. Duties, taxes and VAT)"
|
349 |
msgstr "Delivery Duty Paid (exkl. Zölle, Steuern und MwSt.)"
|
350 |
|
351 |
# @ woocommerce-germanized
|
352 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
353 |
msgctxt "age context"
|
354 |
msgid "None"
|
355 |
msgstr "Keine"
|
356 |
|
357 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
358 |
msgctxt "dhl"
|
359 |
msgid "Minimum age of 16"
|
360 |
msgstr "Mindestens 16 Jahre"
|
361 |
|
362 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
363 |
msgctxt "dhl"
|
364 |
msgid "Minimum age of 18"
|
365 |
msgstr "Mindestens 18 Jahre"
|
366 |
|
367 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
368 |
msgctxt "dhl"
|
369 |
msgid "Shipment #{shipment_id} to order {order_id}"
|
370 |
msgstr "Sendung #{shipment_id} zur Bestellung {order_id}"
|
371 |
|
372 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
373 |
msgctxt "dhl"
|
374 |
msgid "Return #{shipment_id} to order {order_id}"
|
375 |
msgstr "Retoure #{shipment_id} zur Bestellung {order_id}"
|
376 |
|
377 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
378 |
msgctxt "dhl"
|
379 |
msgid "Return shipment #{shipment_id} to order #{order_id}"
|
380 |
msgstr "Retourensendung #{shipment_id} zur Bestellung #{order_id}"
|
381 |
|
382 |
# @ woocommerce-germanized
|
383 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
384 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
385 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
386 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
387 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:38
|
388 |
msgctxt "dhl"
|
389 |
msgid "Packstation"
|
390 |
msgstr "Packstation"
|
391 |
|
392 |
# @ woocommerce-germanized
|
393 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
394 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
395 |
msgctxt "dhl"
|
396 |
msgid "Postfiliale"
|
397 |
msgstr "Postfiliale"
|
398 |
|
399 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
400 |
msgctxt "dhl"
|
401 |
msgid "Receiver is missing or does not exist."
|
402 |
msgstr "Empfänger fehlt oder existiert nicht."
|
403 |
|
404 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
|
|
405 |
#, php-format
|
406 |
msgctxt "dhl"
|
407 |
msgid "Shipment order #%s does not exist"
|
408 |
msgstr "Bestellung zur Sendung #%s existiert nicht"
|
409 |
|
410 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
411 |
#, php-format
|
412 |
msgctxt "dhl"
|
413 |
msgid "%s of the return address is a mandatory field."
|
414 |
msgstr "%s der Rücksendeadresse ist ein Pflichtfeld."
|
415 |
|
416 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
417 |
msgctxt "dhl"
|
418 |
msgid "Please either add a return company or name."
|
419 |
msgstr ""
|
420 |
"Bitte gib entweder einen Firmennamen oder Namen für die Rücksendeadresse an."
|
421 |
|
422 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
423 |
msgctxt "dhl"
|
424 |
msgid "Error while parsing preferred day."
|
425 |
msgstr "Fehler beim Einlesen des Wunschtags."
|
426 |
|
427 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
428 |
msgctxt "dhl"
|
429 |
msgid "Error while parsing preferred time."
|
430 |
msgstr "Fehler beim Einlesen der Wunschzeit."
|
431 |
|
432 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
433 |
msgctxt "dhl"
|
434 |
msgid "The visual min age check is invalid."
|
435 |
msgstr "Das Alter der Alterssichtprüfung ist ungültig."
|
436 |
|
437 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
438 |
msgctxt "dhl"
|
439 |
msgid "The ident min age check is invalid."
|
440 |
msgstr "Das Alter des Ident-Checks ist ungültig."
|
441 |
|
442 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
443 |
msgctxt "dhl"
|
444 |
msgid "There was an error parsing the date of birth for the identity check."
|
445 |
msgstr ""
|
446 |
"Beim Einlesen des Geburtsdatums für den Ident-Check trat ein Problem auf."
|
447 |
|
448 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
449 |
msgctxt "dhl"
|
450 |
msgid ""
|
451 |
"Either a minimum age or a date of birth must be added to the ident check."
|
@@ -454,156 +531,174 @@ msgstr ""
|
|
454 |
"hinzugefügt werden."
|
455 |
|
456 |
# @ woocommerce-germanized
|
457 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
458 |
#, php-format
|
459 |
msgctxt "dhl"
|
460 |
msgid "%s duties element does not exist."
|
461 |
msgstr "%s Zollabgabe existiert nicht."
|
462 |
|
463 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
464 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
465 |
msgctxt "dhl"
|
466 |
msgid "Invalid shipment"
|
467 |
msgstr "Ungültige Sendung"
|
468 |
|
469 |
# @ woocommerce-germanized
|
470 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
471 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
472 |
msgctxt "dhl"
|
473 |
msgid "Order does not exist"
|
474 |
msgstr "Bestellung existiert nicht"
|
475 |
|
476 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
477 |
msgctxt "dhl"
|
478 |
msgid "Error while creating the label instance"
|
479 |
msgstr "Fehler beim Erstellen der Label-Instanz"
|
480 |
|
481 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
482 |
msgctxt "dhl"
|
483 |
msgid "Invalid label"
|
484 |
msgstr "Ungültiges Label"
|
485 |
|
486 |
# @ woocommerce-germanized
|
487 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
488 |
msgctxt "dhl"
|
489 |
msgid "DHL Retoure International A"
|
490 |
msgstr "DHL Retoure International A"
|
491 |
|
492 |
# @ woocommerce-germanized
|
493 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
494 |
msgctxt "dhl"
|
495 |
msgid "DHL Retoure International B"
|
496 |
msgstr "DHL Retoure International B"
|
497 |
|
498 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
499 |
msgctxt "dhl"
|
500 |
msgid "DHL Retoure Online"
|
501 |
msgstr "DHL Retoure Online"
|
502 |
|
503 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
504 |
msgctxt "dhl"
|
505 |
msgid "DHL Paket Connect"
|
506 |
msgstr "DHL Paket Connect"
|
507 |
|
508 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
509 |
msgctxt "dhl"
|
510 |
msgid "DHL Europaket (B2B)"
|
511 |
msgstr "DHL Europaket (B2B)"
|
512 |
|
513 |
# @ woocommerce-germanized
|
514 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
515 |
msgctxt "dhl"
|
516 |
msgid "DHL Paket International"
|
517 |
msgstr "DHL Paket International"
|
518 |
|
519 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
520 |
msgctxt "dhl"
|
521 |
msgid "DHL Paket"
|
522 |
msgstr "DHL Paket"
|
523 |
|
524 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
525 |
msgctxt "dhl"
|
526 |
msgid "DHL Paket PRIO"
|
527 |
msgstr "DHL Paket PRIO"
|
528 |
|
529 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
530 |
msgctxt "dhl"
|
531 |
msgid "DHL Paket Taggleich"
|
532 |
msgstr "DHL Paket Taggleich"
|
533 |
|
534 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
535 |
msgctxt "dhl"
|
536 |
-
msgid "Warenpost"
|
537 |
-
msgstr "Warenpost"
|
538 |
|
539 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
540 |
msgctxt "dhl"
|
541 |
msgid "Error while uploading label."
|
542 |
msgstr "Fehler beim Hochladen des Labels."
|
543 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
544 |
# @ woocommerce-germanized
|
545 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
546 |
msgctxt "dhl"
|
547 |
msgid "Receiver Ids"
|
548 |
msgstr "Empfänger IDs"
|
549 |
|
550 |
# @ woocommerce-germanized
|
551 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
552 |
msgctxt "dhl"
|
553 |
msgid "Receiver Id"
|
554 |
msgstr "Empfänger ID"
|
555 |
|
556 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
557 |
msgctxt "dhl"
|
558 |
msgid "Find your Receiver Ids within your DHL contract data."
|
559 |
msgstr "Die Empfänger IDs findest du im DHL Geschäftskundenportal."
|
560 |
|
561 |
# @ woocommerce-germanized
|
562 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
563 |
msgctxt "dhl"
|
564 |
msgid "Country Code"
|
565 |
msgstr "Ländercode"
|
566 |
|
567 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
568 |
msgctxt "dhl"
|
569 |
msgid "Leave empty to use the Receiver Id as fallback."
|
570 |
msgstr "Leer lassen, um diese Empfänger ID als Fallback zu verwenden."
|
571 |
|
572 |
# @ woocommerce-germanized
|
573 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
574 |
msgctxt "dhl"
|
575 |
msgid "+ Add receiver"
|
576 |
msgstr "+ Empfänger hinzufügen"
|
577 |
|
578 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
579 |
msgctxt "dhl"
|
580 |
msgid "Remove selected receiver(s)"
|
581 |
msgstr "Ausgewählte Empfänger löschen"
|
582 |
|
583 |
# @ woocommerce-germanized
|
584 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
585 |
msgctxt "dhl"
|
586 |
msgid "Select a country"
|
587 |
msgstr "Land auswählen"
|
588 |
|
589 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
590 |
msgctxt "dhl"
|
591 |
-
msgid "
|
592 |
-
msgstr "
|
593 |
|
594 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
595 |
msgctxt "dhl"
|
596 |
-
msgid "
|
|
|
|
|
597 |
msgstr ""
|
598 |
-
"
|
599 |
-
"
|
|
|
600 |
|
601 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
602 |
msgctxt "dhl"
|
603 |
msgid "Country of manufacture (DHL)"
|
604 |
msgstr "Herstellungsland (DHL)"
|
605 |
|
606 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
607 |
msgctxt "dhl"
|
608 |
msgid ""
|
609 |
"The country of manufacture is needed for customs of international shipping."
|
@@ -611,7 +706,7 @@ msgstr ""
|
|
611 |
"Das Herstellungsland wird für die Zollabwicklung bei internationalen "
|
612 |
"Sendungen benötigt."
|
613 |
|
614 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
615 |
#, php-format
|
616 |
msgctxt "dhl"
|
617 |
msgid ""
|
@@ -621,18 +716,19 @@ msgstr ""
|
|
621 |
"Das Verzeichnis zum Speichern von DHL Labels fehlt. Bitte erstelle den "
|
622 |
"Ordner %s manuell und stelle sicher, dass der Ordner beschreibbar ist."
|
623 |
|
624 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
625 |
-
#: woocommerce-germanized-dhl/src/
|
|
|
626 |
msgctxt "dhl"
|
627 |
msgid "DHL"
|
628 |
msgstr "DHL"
|
629 |
|
630 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
631 |
msgctxt "dhl"
|
632 |
msgid "DHL Label"
|
633 |
msgstr "DHL Label"
|
634 |
|
635 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
636 |
msgctxt "dhl"
|
637 |
msgid ""
|
638 |
"This label has been generated by the DHL for WooCommerce Plugin and is shown "
|
@@ -642,17 +738,17 @@ msgstr ""
|
|
642 |
"Kompatibilitäts-Gründen angezeigt."
|
643 |
|
644 |
# @ woocommerce-germanized
|
645 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
646 |
msgctxt "dhl"
|
647 |
msgid "Download label"
|
648 |
msgstr "Label downloaden"
|
649 |
|
650 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
651 |
msgctxt "dhl"
|
652 |
msgid "Enable DHL"
|
653 |
msgstr "DHL aktivieren"
|
654 |
|
655 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
656 |
msgctxt "dhl"
|
657 |
msgid ""
|
658 |
"If you want to ship your shipments via DHL and create labels to your "
|
@@ -661,12 +757,12 @@ msgstr ""
|
|
661 |
"Wenn du deine Sendungen mit DHL verschicken und Labels zu deinen Sendungen "
|
662 |
"erzeugen möchtest, aktiviere die DHL Integration."
|
663 |
|
664 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
665 |
msgctxt "dhl"
|
666 |
msgid "Customer Number"
|
667 |
msgstr "Kundennummer"
|
668 |
|
669 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
670 |
msgctxt "dhl"
|
671 |
msgid ""
|
672 |
"Insert your DHL business customer number (EKP) here. If you are not yet a "
|
@@ -675,12 +771,12 @@ msgstr ""
|
|
675 |
"Füge hier deine DHL Kundennummer (EKP) ein. Wenn du noch kein Geschäftskunde "
|
676 |
"bist, solltest du dich zuerst als Geschäftskunde bei DHL registrieren."
|
677 |
|
678 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
679 |
msgctxt "dhl"
|
680 |
msgid "API Access"
|
681 |
msgstr "API Zugriff"
|
682 |
|
683 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
684 |
msgctxt "dhl"
|
685 |
msgid ""
|
686 |
"To create labels and embed DHL services, our software needs access to the "
|
@@ -690,14 +786,14 @@ msgstr ""
|
|
690 |
"Software Zugang zur API. Du solltest hier deine Zugangsdaten zum DHL "
|
691 |
"Geschäftskundenportal eingeben."
|
692 |
|
693 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
694 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
695 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
696 |
msgctxt "dhl"
|
697 |
msgid "Inlay Returns"
|
698 |
msgstr "Beilageretouren"
|
699 |
|
700 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
701 |
msgctxt "dhl"
|
702 |
msgid ""
|
703 |
"If you want to provide your customers with inlay return labels for your "
|
@@ -706,14 +802,14 @@ msgstr ""
|
|
706 |
"Wenn du Beilageretouren-Labels zu deinen Sendungen hinzufügen möchtest, "
|
707 |
"solltest du diese Funktion standardmäßig aktivieren."
|
708 |
|
709 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
710 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
711 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
712 |
msgctxt "dhl"
|
713 |
msgid "Retoure"
|
714 |
msgstr "Retoure"
|
715 |
|
716 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
717 |
msgctxt "dhl"
|
718 |
msgid ""
|
719 |
"If you want to create DHL labels to returns you should activate this "
|
@@ -724,12 +820,12 @@ msgstr ""
|
|
724 |
"aktivieren. Stelle sicher, dass DHL Online Retoure in deinem Vertrag "
|
725 |
"freigeschaltet ist."
|
726 |
|
727 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
728 |
msgctxt "dhl"
|
729 |
msgid "Age verification"
|
730 |
msgstr "Altersverifikation"
|
731 |
|
732 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
733 |
msgctxt "dhl"
|
734 |
msgid ""
|
735 |
"Use this feature to sync the Germanized age verification checkbox with the "
|
@@ -742,13 +838,14 @@ msgstr ""
|
|
742 |
"„Alterssichtprüfung“ von DHL automatisch aktiviert."
|
743 |
|
744 |
# @ woocommerce-germanized
|
745 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
746 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
747 |
msgctxt "dhl"
|
748 |
msgid "Automation"
|
749 |
msgstr "Automatisierung"
|
750 |
|
751 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
752 |
msgctxt "dhl"
|
753 |
msgid ""
|
754 |
"You might want to save some time and let Germanized generate labels "
|
@@ -758,7 +855,7 @@ msgstr ""
|
|
758 |
"automatisch erzeugen lassen, sobald eine Sendung in einen bestimmten Status "
|
759 |
"wechselt."
|
760 |
|
761 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
762 |
msgctxt "dhl"
|
763 |
msgid ""
|
764 |
"Let your customers choose a preferred day (if the service is available at "
|
@@ -768,13 +865,13 @@ msgstr ""
|
|
768 |
"zur Verfügung steht) für die Lieferung in der Kasse auswählen."
|
769 |
|
770 |
# @ woocommerce-germanized
|
771 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
772 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
773 |
msgctxt "dhl"
|
774 |
msgid "Fee"
|
775 |
msgstr "Gebühr"
|
776 |
|
777 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
778 |
msgctxt "dhl"
|
779 |
msgid ""
|
780 |
"Optionally charge your customers an additional fee for preferred services "
|
@@ -783,7 +880,7 @@ msgstr ""
|
|
783 |
"Optional kannst du die Gebühr für die Auswahl des Wunschtags oder anderer "
|
784 |
"Wunschpaket-Services an deine Kunden weiterreichen."
|
785 |
|
786 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
787 |
msgctxt "dhl"
|
788 |
msgid ""
|
789 |
"Allow your customers to send their parcels to a preferred location e.g. a "
|
@@ -792,7 +889,7 @@ msgstr ""
|
|
792 |
"Lasse deine Kunden einen Wunschort für die Abgabe ihres Pakets in der Kasse "
|
793 |
"auswählen. Dieser Service wird von DHL nicht zusätzlich berechnet."
|
794 |
|
795 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
796 |
msgctxt "dhl"
|
797 |
msgid ""
|
798 |
"Allow your customers to choose packstation (and/or other DHL location types "
|
@@ -801,13 +898,13 @@ msgstr ""
|
|
801 |
"Lasse deine Kunden eine Packstation (und/oder andere DHL Standorte, wie im "
|
802 |
"Folgenden konfiguriert) als Lieferadresse auswählen."
|
803 |
|
804 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
805 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
806 |
msgctxt "dhl"
|
807 |
msgid "Map"
|
808 |
msgstr "Karte"
|
809 |
|
810 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
811 |
msgctxt "dhl"
|
812 |
msgid ""
|
813 |
"This option adds a map overlay view to let your customers choose a DHL "
|
@@ -818,24 +915,25 @@ msgstr ""
|
|
818 |
"DHL Standortes in der Nähe noch einfacher zu machen. Du benötigst für die "
|
819 |
"Kartenansicht einen gültigen Google Maps API Schlüssel."
|
820 |
|
821 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
822 |
msgctxt "dhl"
|
823 |
msgid "Enable"
|
824 |
msgstr "Aktivieren"
|
825 |
|
826 |
# @ woocommerce-germanized
|
827 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
828 |
msgctxt "dhl"
|
829 |
msgid "Enable DHL integration."
|
830 |
msgstr "DHL Integration aktivieren."
|
831 |
|
832 |
# @ woocommerce-germanized
|
833 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
834 |
msgctxt "dhl"
|
835 |
msgid "Customer Number (EKP)"
|
836 |
msgstr "Kundennummer (EKP)"
|
837 |
|
838 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
839 |
#, php-format
|
840 |
msgctxt "dhl"
|
841 |
msgid ""
|
@@ -845,33 +943,33 @@ msgstr ""
|
|
845 |
"Deine 10-stellige DHL Kundennummer (EKP). Finde deine %s im DHL "
|
846 |
"Geschäftskundenportal."
|
847 |
|
848 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
849 |
msgctxt "dhl"
|
850 |
msgid "customer number"
|
851 |
msgstr "Kundennummer"
|
852 |
|
853 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
854 |
msgctxt "dhl"
|
855 |
msgid "API"
|
856 |
msgstr "API"
|
857 |
|
858 |
# @ woocommerce-germanized
|
859 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
860 |
msgctxt "dhl"
|
861 |
msgid "Enable Sandbox"
|
862 |
msgstr "Sandbox aktivieren"
|
863 |
|
864 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
865 |
msgctxt "dhl"
|
866 |
msgid "Activate Sandbox mode for testing purposes."
|
867 |
msgstr "Aktiviere den Sandbox Modus."
|
868 |
|
869 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
870 |
msgctxt "dhl"
|
871 |
msgid "Live Username"
|
872 |
msgstr "Benutzer"
|
873 |
|
874 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
875 |
#, php-format
|
876 |
msgctxt "dhl"
|
877 |
msgid ""
|
@@ -881,22 +979,22 @@ msgstr ""
|
|
881 |
"Dein Benutzername zum DHL Geschäftskundenportal. Bitte beachte die "
|
882 |
"Kleinschreibung und teste deine Zugangsdaten vorab %s."
|
883 |
|
884 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
885 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
886 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
887 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
888 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
889 |
msgctxt "dhl"
|
890 |
msgid "here"
|
891 |
msgstr "hier"
|
892 |
|
893 |
# @ woocommerce-germanized
|
894 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
895 |
msgctxt "dhl"
|
896 |
msgid "Live Password"
|
897 |
msgstr "Passwort"
|
898 |
|
899 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
900 |
#, php-format
|
901 |
msgctxt "dhl"
|
902 |
msgid ""
|
@@ -908,12 +1006,12 @@ msgstr ""
|
|
908 |
"Gültigkeit des Passworts nach 3 (Standard-Benutzer) bzw. 12 (System-"
|
909 |
"Benutzer) Monaten und teste deine Zugangsdaten vorab %s."
|
910 |
|
911 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
912 |
msgctxt "dhl"
|
913 |
msgid "Sandbox Username"
|
914 |
msgstr "Sandbox Benutzername"
|
915 |
|
916 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
917 |
#, php-format
|
918 |
msgctxt "dhl"
|
919 |
msgid ""
|
@@ -923,12 +1021,12 @@ msgstr ""
|
|
923 |
"Dein Benutzername zum DHL Entwicklerportal. Bitte beachte die "
|
924 |
"Kleinschreibung und teste deine Zugangsdaten vorab %s."
|
925 |
|
926 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
927 |
msgctxt "dhl"
|
928 |
msgid "Sandbox Password"
|
929 |
msgstr "Sandbox Passwort"
|
930 |
|
931 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
932 |
#, php-format
|
933 |
msgctxt "dhl"
|
934 |
msgid ""
|
@@ -938,13 +1036,13 @@ msgstr ""
|
|
938 |
"Dein Passwort zum DHL Entwicklerportal. Bitte teste deine Zugangsdaten vorab "
|
939 |
"%s."
|
940 |
|
941 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
942 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
943 |
msgctxt "dhl"
|
944 |
msgid "Products and Participation Numbers"
|
945 |
msgstr "Produkte und Teilnahmenummern"
|
946 |
|
947 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
948 |
#, php-format
|
949 |
msgctxt "dhl"
|
950 |
msgid ""
|
@@ -954,7 +1052,7 @@ msgstr ""
|
|
954 |
"Bitte füge deine Teilnahmenummer für das dazugehörige Produkt ein. Du kannst "
|
955 |
"die anderen Teilnahmenummern später %s anpassen."
|
956 |
|
957 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
958 |
#, php-format
|
959 |
msgctxt "dhl"
|
960 |
msgid ""
|
@@ -968,17 +1066,18 @@ msgstr ""
|
|
968 |
"Zeichen der dazugehörigen Abrechnungsnummer, die du in deinem %s findest (z."
|
969 |
"B.: 01)."
|
970 |
|
971 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
972 |
msgctxt "dhl"
|
973 |
msgid "contract data"
|
974 |
msgstr "Vertragsdaten"
|
975 |
|
976 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
977 |
msgctxt "dhl"
|
978 |
msgid "Domestic Default Service"
|
979 |
-
msgstr "
|
980 |
|
981 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
982 |
msgctxt "dhl"
|
983 |
msgid ""
|
984 |
"Please select your default DHL shipping service for domestic shipments that "
|
@@ -989,12 +1088,13 @@ msgstr ""
|
|
989 |
"deine Kunden anbietest (du kannst das Produkt für jede einzelne Sendung "
|
990 |
"nachträglich ändern)."
|
991 |
|
992 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
993 |
msgctxt "dhl"
|
994 |
msgid "Int. Default Service"
|
995 |
-
msgstr "
|
996 |
|
997 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
998 |
msgctxt "dhl"
|
999 |
msgid ""
|
1000 |
"Please select your default DHL shipping service for cross-border shipments "
|
@@ -1006,27 +1106,27 @@ msgstr ""
|
|
1006 |
"nachträglich ändern)."
|
1007 |
|
1008 |
# @ woocommerce-germanized
|
1009 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1010 |
msgctxt "dhl"
|
1011 |
msgid "Default Duty"
|
1012 |
msgstr "Standard Zoll"
|
1013 |
|
1014 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1015 |
msgctxt "dhl"
|
1016 |
msgid "Please select a default duty type."
|
1017 |
msgstr "Bitte wähle eine Standard-Zollabrechnung aus."
|
1018 |
|
1019 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1020 |
msgctxt "dhl"
|
1021 |
msgid "Codeable"
|
1022 |
msgstr "Leitcodierbar"
|
1023 |
|
1024 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1025 |
msgctxt "dhl"
|
1026 |
msgid "Generate label only if address can be automatically retrieved DHL."
|
1027 |
msgstr "Erzeuge Labels nur dann, wenn die Adresse von DHL erkannt wird."
|
1028 |
|
1029 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1030 |
msgctxt "dhl"
|
1031 |
msgid ""
|
1032 |
"Choose this option if you want to make sure that by default labels are only "
|
@@ -1037,12 +1137,12 @@ msgstr ""
|
|
1037 |
"ist."
|
1038 |
|
1039 |
# @ woocommerce-germanized
|
1040 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1041 |
msgctxt "dhl"
|
1042 |
msgid "Default weight (kg)"
|
1043 |
msgstr "Standardgewicht (kg)"
|
1044 |
|
1045 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1046 |
msgctxt "dhl"
|
1047 |
msgid ""
|
1048 |
"Choose a default shipment weight to be used for labels if no weight has been "
|
@@ -1051,12 +1151,12 @@ msgstr ""
|
|
1051 |
"Wähle ein Standard Sendungsgewicht aus, das für Labels verwendet wird, für "
|
1052 |
"die das Gewicht nicht automatisch bestimmt werden kann."
|
1053 |
|
1054 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1055 |
msgctxt "dhl"
|
1056 |
msgid "Minimum weight (kg)"
|
1057 |
msgstr "Mindestgewicht (kg)"
|
1058 |
|
1059 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1060 |
msgctxt "dhl"
|
1061 |
msgid ""
|
1062 |
"Choose a minimum weight to be used for labels e.g. to prevent low shipment "
|
@@ -1066,17 +1166,17 @@ msgstr ""
|
|
1066 |
"eines zu geringen Gewichts Fehler zurückgibt."
|
1067 |
|
1068 |
# @ woocommerce-germanized
|
1069 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1070 |
msgctxt "dhl"
|
1071 |
msgid "Force email"
|
1072 |
msgstr "E-Mail übertragen"
|
1073 |
|
1074 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1075 |
msgctxt "dhl"
|
1076 |
msgid "Force transferring customer email to DHL."
|
1077 |
msgstr "E-Mail-Adresse des Kunden immer an DHL übertragen."
|
1078 |
|
1079 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1080 |
msgctxt "dhl"
|
1081 |
msgid ""
|
1082 |
"By default the customer email address is only transferred in case explicit "
|
@@ -1093,12 +1193,12 @@ msgstr ""
|
|
1093 |
"diese Option aktivierst."
|
1094 |
|
1095 |
# @ woocommerce-germanized
|
1096 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1097 |
msgctxt "dhl"
|
1098 |
msgid "Street number"
|
1099 |
msgstr "Hausnummer"
|
1100 |
|
1101 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1102 |
msgctxt "dhl"
|
1103 |
msgid ""
|
1104 |
"Force existence of a street number within the first address field during "
|
@@ -1107,7 +1207,7 @@ msgstr ""
|
|
1107 |
"Hausnummer im ersten Adressfeld verpflichtend abfragen, falls es sich um ein "
|
1108 |
"EU-Land handelt."
|
1109 |
|
1110 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1111 |
msgctxt "dhl"
|
1112 |
msgid ""
|
1113 |
"Enabling this option will force a street number to be provided during "
|
@@ -1118,7 +1218,7 @@ msgstr ""
|
|
1118 |
"Adressfeld in der Kasse abgefragt wird. Damit verhinderst du fehlende oder "
|
1119 |
"falsche Datensätze."
|
1120 |
|
1121 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1122 |
msgctxt "dhl"
|
1123 |
msgid ""
|
1124 |
"Additionally create inlay return labels for shipments that support returns."
|
@@ -1126,81 +1226,70 @@ msgstr ""
|
|
1126 |
"Erzeuge zusätzlich Beilage-Retourenlabels für Sendungen die Retouren "
|
1127 |
"unterstützen."
|
1128 |
|
1129 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1130 |
msgctxt "dhl"
|
1131 |
msgid "Enable delivery to Packstation."
|
1132 |
msgstr "Aktiviere den Versand an Packstationen."
|
1133 |
|
1134 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1135 |
msgctxt "dhl"
|
1136 |
msgid "Let customers choose a Packstation as delivery address."
|
1137 |
msgstr "Kunden eine Packstation als Lieferadresse auswählen lassen."
|
1138 |
|
1139 |
# @ woocommerce-germanized
|
1140 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1141 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:50
|
1142 |
msgctxt "dhl"
|
1143 |
msgid "Postoffice"
|
1144 |
msgstr "Postfiliale"
|
1145 |
|
1146 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1147 |
msgctxt "dhl"
|
1148 |
msgid "Enable delivery to Post Offices."
|
1149 |
msgstr "Aktiviere den Versand an Postfilialen."
|
1150 |
|
1151 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1152 |
msgctxt "dhl"
|
1153 |
msgid "Let customers choose a Post Office as delivery address."
|
1154 |
msgstr "Kunden eine Postfiliale als Lieferadresse auswählen lassen."
|
1155 |
|
1156 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1157 |
msgctxt "dhl"
|
1158 |
msgid "Parcel Shop"
|
1159 |
msgstr "Paketshop"
|
1160 |
|
1161 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1162 |
msgctxt "dhl"
|
1163 |
msgid "Enable delivery to Parcel Shops."
|
1164 |
msgstr "Lieferung an Paketshops aktivieren."
|
1165 |
|
1166 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1167 |
msgctxt "dhl"
|
1168 |
msgid "Let customers choose a Parcel Shop as delivery address."
|
1169 |
msgstr "Kunden einen Paketshop als Lieferadresse auswählen lassen."
|
1170 |
|
1171 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:530
|
1172 |
-
msgctxt "dhl"
|
1173 |
-
msgid "Visual minimum age"
|
1174 |
-
msgstr "Alterssichtprüfung"
|
1175 |
-
|
1176 |
#: woocommerce-germanized-dhl/src/Admin/Settings.php:535
|
1177 |
msgctxt "dhl"
|
1178 |
-
msgid "Choose this option if you want to let DHL check your customer's age."
|
1179 |
-
msgstr ""
|
1180 |
-
"Wähle diese Option aus, wenn du das Alter durch DHL prüfen lassen möchtest."
|
1181 |
-
|
1182 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:539
|
1183 |
-
msgctxt "dhl"
|
1184 |
msgid "Enable the GoGreen Service by default."
|
1185 |
msgstr "Buche den GoGreen Service hinzu."
|
1186 |
|
1187 |
# @ woocommerce-germanized
|
1188 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1189 |
msgctxt "dhl"
|
1190 |
msgid "Additional Insurance"
|
1191 |
msgstr "Transportversicherung"
|
1192 |
|
1193 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1194 |
msgctxt "dhl"
|
1195 |
msgid "Add an additional insurance to labels."
|
1196 |
msgstr "Füge eine Transportversicherung zur Sendung hinzu."
|
1197 |
|
1198 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1199 |
msgctxt "dhl"
|
1200 |
msgid "Retail Outlet Routing"
|
1201 |
msgstr "Filialrouting"
|
1202 |
|
1203 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1204 |
msgctxt "dhl"
|
1205 |
msgid ""
|
1206 |
"Send undeliverable items to nearest retail outlet instead of immediate "
|
@@ -1209,46 +1298,57 @@ msgstr ""
|
|
1209 |
"Sende unzustellbare Sendungen in die nächstgelegene Filiale zur Abholung "
|
1210 |
"anstelle diese direkt zurückzusenden."
|
1211 |
|
1212 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1213 |
msgctxt "dhl"
|
1214 |
msgid "No Neighbor"
|
1215 |
msgstr "Keine Nachbarschaftszustellung"
|
1216 |
|
1217 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1218 |
msgctxt "dhl"
|
1219 |
msgid "Do not deliver to neighbors."
|
1220 |
msgstr "Schließe eine Ersatzzustellung beim Nachbarn aus."
|
1221 |
|
1222 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1223 |
msgctxt "dhl"
|
1224 |
msgid "Do only delivery to named person."
|
1225 |
msgstr ""
|
1226 |
"Lasse Pakete nur an den Empfänger persönlich oder an eine bevollmächtigte "
|
1227 |
"Person übergeben."
|
1228 |
|
1229 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1230 |
msgctxt "dhl"
|
1231 |
msgid "Bulky Goods"
|
1232 |
msgstr "Sperrgut"
|
1233 |
|
1234 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1235 |
msgctxt "dhl"
|
1236 |
msgid "Deliver as bulky goods."
|
1237 |
msgstr "Sende Pakete als Sperrgut."
|
1238 |
|
1239 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1240 |
msgctxt "dhl"
|
1241 |
-
msgid "
|
1242 |
-
msgstr "
|
1243 |
|
1244 |
#: woocommerce-germanized-dhl/src/Admin/Settings.php:581
|
1245 |
msgctxt "dhl"
|
1246 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1247 |
msgstr ""
|
1248 |
"Aktiviere die Alterssichtprüfung, falls die Sendung zu prüfende Positionen "
|
1249 |
"beinhaltet."
|
1250 |
|
1251 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1252 |
#, php-format
|
1253 |
msgctxt "dhl"
|
1254 |
msgid ""
|
@@ -1261,65 +1361,111 @@ msgstr ""
|
|
1261 |
"Alterssichtprüfung automatisch aktiviert, falls eine Sendung zu prüfenden "
|
1262 |
"Produkte beinhaltet."
|
1263 |
|
1264 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1265 |
msgctxt "dhl"
|
1266 |
msgid "age verification checkbox"
|
1267 |
msgstr "Checkbox zur Altersprüfung"
|
1268 |
|
1269 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1270 |
msgctxt "dhl"
|
1271 |
msgid "Premium delivery for international shipments."
|
1272 |
msgstr "Premium Lieferung für internationale Sendungen."
|
1273 |
|
1274 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1275 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1276 |
msgctxt "dhl"
|
1277 |
msgid "Labels"
|
1278 |
msgstr "Labels"
|
1279 |
|
1280 |
# @ woocommerce-germanized
|
1281 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1282 |
msgctxt "dhl"
|
1283 |
msgid "Automatically create labels for shipments."
|
1284 |
msgstr "Automatisch Labels zu Sendungen erstellen."
|
1285 |
|
1286 |
# @ woocommerce-germanized
|
1287 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1288 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1289 |
msgctxt "dhl"
|
1290 |
msgid "Status"
|
1291 |
msgstr "Status"
|
1292 |
|
1293 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1294 |
msgctxt "dhl"
|
1295 |
msgid "Choose a shipment status which should trigger generation of a label."
|
1296 |
msgstr ""
|
1297 |
"Wähle einen Sendungsstatus aus, der die Erzeugung eines Labels auslösen soll."
|
1298 |
|
1299 |
# @ woocommerce-germanized
|
1300 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1301 |
msgctxt "dhl"
|
1302 |
msgid "Shipment Status"
|
1303 |
msgstr "Sendungsstatus"
|
1304 |
|
1305 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1306 |
msgctxt "dhl"
|
1307 |
msgid "Mark shipment as shipped after label has been created successfully."
|
1308 |
msgstr ""
|
1309 |
"Sendung als versandt markieren, sobald ein Label erfolgreich erstellt wurde."
|
1310 |
|
1311 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1312 |
msgctxt "dhl"
|
1313 |
msgid "Returns"
|
1314 |
msgstr "Retouren"
|
1315 |
|
1316 |
# @ woocommerce-germanized
|
1317 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1318 |
msgctxt "dhl"
|
1319 |
msgid "Automatically create labels for returns."
|
1320 |
msgstr "Automatisch Retourenlabels zu Retourensendungen erstellen."
|
1321 |
|
1322 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1323 |
msgctxt "dhl"
|
1324 |
msgid ""
|
1325 |
"Choose a shipment status which should trigger generation of a return label."
|
@@ -1327,7 +1473,7 @@ msgstr ""
|
|
1327 |
"Wähle einen Sendungsstatus aus, der die Erzeugung eines Retourenlabels "
|
1328 |
"auslösen soll."
|
1329 |
|
1330 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1331 |
#, php-format
|
1332 |
msgctxt "dhl"
|
1333 |
msgid ""
|
@@ -1338,12 +1484,12 @@ msgstr ""
|
|
1338 |
"können von abweichenden Einstellungen der %s überschrieben werden."
|
1339 |
|
1340 |
# @ woocommerce-germanized
|
1341 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1342 |
msgctxt "dhl"
|
1343 |
msgid "shipping method"
|
1344 |
msgstr "Versandmethode"
|
1345 |
|
1346 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1347 |
#, php-format
|
1348 |
msgctxt "dhl"
|
1349 |
msgid ""
|
@@ -1354,18 +1500,18 @@ msgstr ""
|
|
1354 |
"an. Stelle sicher, dass dein %s DHL Retoure Online enthält."
|
1355 |
|
1356 |
# @ woocommerce-germanized
|
1357 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1358 |
msgctxt "dhl"
|
1359 |
msgid "contract"
|
1360 |
msgstr "Vertrag"
|
1361 |
|
1362 |
# @ woocommerce-germanized
|
1363 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1364 |
msgctxt "dhl"
|
1365 |
msgid "Default Services"
|
1366 |
msgstr "Standard-Services"
|
1367 |
|
1368 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1369 |
#, php-format
|
1370 |
msgctxt "dhl"
|
1371 |
msgid ""
|
@@ -1375,12 +1521,12 @@ msgstr ""
|
|
1375 |
"Passe hier an, welche der Services als Standard für deine Labels gebucht "
|
1376 |
"werden sollen. Finde mehr über diese %s heraus."
|
1377 |
|
1378 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1379 |
msgctxt "dhl"
|
1380 |
msgid "nationwide services"
|
1381 |
msgstr "nationalen Services"
|
1382 |
|
1383 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1384 |
msgctxt "dhl"
|
1385 |
msgid ""
|
1386 |
"Choose whether and under which conditions labels for your shipments shall be "
|
@@ -1390,38 +1536,38 @@ msgstr ""
|
|
1390 |
"erzeugt werden sollen."
|
1391 |
|
1392 |
# @ woocommerce-germanized
|
1393 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1394 |
msgctxt "dhl"
|
1395 |
msgid "Shipper Address"
|
1396 |
msgstr "Absenderadresse"
|
1397 |
|
1398 |
# @ woocommerce-germanized
|
1399 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1400 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1401 |
msgctxt "dhl"
|
1402 |
msgid "Street Number"
|
1403 |
msgstr "Hausnummer"
|
1404 |
|
1405 |
# @ woocommerce-germanized
|
1406 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1407 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1408 |
msgctxt "dhl"
|
1409 |
msgid "Country"
|
1410 |
msgstr "Land"
|
1411 |
|
1412 |
# @ woocommerce-germanized
|
1413 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1414 |
msgctxt "dhl"
|
1415 |
msgid "Inlay Return Address"
|
1416 |
msgstr "Beilageretouren Adresse"
|
1417 |
|
1418 |
# @ woocommerce-germanized
|
1419 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1420 |
msgctxt "dhl"
|
1421 |
msgid "Bank Account"
|
1422 |
msgstr "Bankkonto"
|
1423 |
|
1424 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1425 |
msgctxt "dhl"
|
1426 |
msgid "Enter your bank details needed for services that use COD."
|
1427 |
msgstr ""
|
@@ -1429,36 +1575,36 @@ msgstr ""
|
|
1429 |
"werden sollen."
|
1430 |
|
1431 |
# @ woocommerce-germanized
|
1432 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1433 |
msgctxt "dhl"
|
1434 |
msgid "Holder"
|
1435 |
msgstr "Kontoinhaber"
|
1436 |
|
1437 |
# @ woocommerce-germanized
|
1438 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1439 |
msgctxt "dhl"
|
1440 |
msgid "Bank Name"
|
1441 |
msgstr "Name der Bank"
|
1442 |
|
1443 |
# @ woocommerce-germanized
|
1444 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1445 |
msgctxt "dhl"
|
1446 |
msgid "IBAN"
|
1447 |
msgstr "IBAN"
|
1448 |
|
1449 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1450 |
msgctxt "dhl"
|
1451 |
msgid "BIC"
|
1452 |
msgstr "BIC"
|
1453 |
|
1454 |
# @ woocommerce-germanized
|
1455 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1456 |
msgctxt "dhl"
|
1457 |
msgid "Payment Reference"
|
1458 |
msgstr "Zahlungsreferenz"
|
1459 |
|
1460 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1461 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1462 |
#, php-format
|
1463 |
msgctxt "dhl"
|
1464 |
msgid ""
|
@@ -1469,18 +1615,18 @@ msgstr ""
|
|
1469 |
"%s. Der Text ist auf 35 Zeichen begrenzt."
|
1470 |
|
1471 |
# @ woocommerce-germanized
|
1472 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1473 |
msgctxt "dhl"
|
1474 |
msgid "Payment Reference 2"
|
1475 |
msgstr "Zahlungsreferenz 2"
|
1476 |
|
1477 |
# @ woocommerce-germanized
|
1478 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1479 |
msgctxt "dhl"
|
1480 |
msgid "Enable creating labels for return shipments."
|
1481 |
msgstr "Automatisch Retourenlabels zu Retourensendungen erstellen."
|
1482 |
|
1483 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1484 |
msgctxt "dhl"
|
1485 |
msgid ""
|
1486 |
"By enabling this option you might generate retoure labels for return "
|
@@ -1489,12 +1635,12 @@ msgstr ""
|
|
1489 |
"Mit der Aktivierung dieser Option kannst du Retourenlabels zu "
|
1490 |
"Retourensendungen erstellen und diese per E-Mail an den Kunden weiterleiten."
|
1491 |
|
1492 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1493 |
msgctxt "dhl"
|
1494 |
msgid "Enable preferred day delivery."
|
1495 |
msgstr "Aktiviere die Lieferung am Wunschtag."
|
1496 |
|
1497 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1498 |
msgctxt "dhl"
|
1499 |
msgid ""
|
1500 |
"Enabling this option will display options for the user to select their "
|
@@ -1503,7 +1649,7 @@ msgstr ""
|
|
1503 |
"Diese Option aktiviert die Auswahl eines Wunschtags durch den Kunden in der "
|
1504 |
"Kasse."
|
1505 |
|
1506 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1507 |
msgctxt "dhl"
|
1508 |
msgid ""
|
1509 |
"Insert gross value as surcharge for preferred day delivery. Insert 0 to "
|
@@ -1513,12 +1659,12 @@ msgstr ""
|
|
1513 |
"Setze den Wert auf 0 um den Service kostenlos anzubieten."
|
1514 |
|
1515 |
# @ woocommerce-germanized
|
1516 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1517 |
msgctxt "dhl"
|
1518 |
msgid "Enable preferred location delivery."
|
1519 |
msgstr "Lieferung an einen Wunschort aktivieren."
|
1520 |
|
1521 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1522 |
msgctxt "dhl"
|
1523 |
msgid ""
|
1524 |
"Enabling this option will display options for the user to select their "
|
@@ -1527,12 +1673,12 @@ msgstr ""
|
|
1527 |
"Diese Option aktiviert die Auswahl eines Wunschorts durch den Kunden in der "
|
1528 |
"Kasse ."
|
1529 |
|
1530 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1531 |
msgctxt "dhl"
|
1532 |
msgid "Enable preferred neighbor delivery."
|
1533 |
msgstr "Aktiviere die Lieferung an einen Wunschnachbarn."
|
1534 |
|
1535 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1536 |
msgctxt "dhl"
|
1537 |
msgid ""
|
1538 |
"Enabling this option will display options for the user to deliver to their "
|
@@ -1541,12 +1687,12 @@ msgstr ""
|
|
1541 |
"Diese Option aktiviert die Auswahl eines Wunschnachbarn durch den Kunden in "
|
1542 |
"der Kasse."
|
1543 |
|
1544 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1545 |
msgctxt "dhl"
|
1546 |
msgid "Cut-off time"
|
1547 |
msgstr "Cut-off-Zeit"
|
1548 |
|
1549 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1550 |
msgctxt "dhl"
|
1551 |
msgid ""
|
1552 |
"The cut-off time is the latest possible order time up to which the minimum "
|
@@ -1559,12 +1705,12 @@ msgstr ""
|
|
1559 |
"Nach Überschreitung dieses Zeitpunktes, wird der früheste verfügbare "
|
1560 |
"Wunschtag in der Kasse um einen Tag erhöht (Tag der Bestellung + 3 Werktage)."
|
1561 |
|
1562 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1563 |
msgctxt "dhl"
|
1564 |
msgid "Preparation days"
|
1565 |
msgstr "Bearbeitungstage"
|
1566 |
|
1567 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1568 |
msgctxt "dhl"
|
1569 |
msgid ""
|
1570 |
"If you need more time to prepare your shipments you might want to add a "
|
@@ -1575,71 +1721,71 @@ msgstr ""
|
|
1575 |
"hier eine statische Anzahl an Tagen hinterlegen, die zum frühesten "
|
1576 |
"auswählbaren Wunschtag hinzugefügt werden."
|
1577 |
|
1578 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1579 |
msgctxt "dhl"
|
1580 |
msgid "Exclude days of transfer"
|
1581 |
msgstr "Übergabetage ausschließen"
|
1582 |
|
1583 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1584 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:31
|
1585 |
msgctxt "dhl"
|
1586 |
msgid "Monday"
|
1587 |
msgstr "Montag"
|
1588 |
|
1589 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1590 |
msgctxt "dhl"
|
1591 |
msgid "Exclude days from transferring shipments to DHL."
|
1592 |
msgstr "Schließe bestimmte Wochentage für die Übergabe an DHL aus."
|
1593 |
|
1594 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1595 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:32
|
1596 |
msgctxt "dhl"
|
1597 |
msgid "Tuesday"
|
1598 |
msgstr "Dienstag"
|
1599 |
|
1600 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1601 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:33
|
1602 |
msgctxt "dhl"
|
1603 |
msgid "Wednesday"
|
1604 |
msgstr "Mittwoch"
|
1605 |
|
1606 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1607 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:34
|
1608 |
msgctxt "dhl"
|
1609 |
msgid "Thursday"
|
1610 |
msgstr "Donnerstag"
|
1611 |
|
1612 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1613 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:35
|
1614 |
msgctxt "dhl"
|
1615 |
msgid "Friday"
|
1616 |
msgstr "Freitag"
|
1617 |
|
1618 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1619 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:36
|
1620 |
msgctxt "dhl"
|
1621 |
msgid "Saturday"
|
1622 |
msgstr "Samstag"
|
1623 |
|
1624 |
# @ woocommerce-germanized
|
1625 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1626 |
msgctxt "dhl"
|
1627 |
msgid "Exclude gateways"
|
1628 |
msgstr "Zahlungsarten ausschließen"
|
1629 |
|
1630 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1631 |
msgctxt "dhl"
|
1632 |
msgid "Select payment gateways to be excluded from showing preferred services."
|
1633 |
msgstr ""
|
1634 |
"Wähle Zahlungsarten aus, für die die Wunschpaket-Services nicht zur "
|
1635 |
"Verfügung stehen sollen."
|
1636 |
|
1637 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1638 |
msgctxt "dhl"
|
1639 |
msgid "Let customers find a DHL location on a map."
|
1640 |
msgstr "Lasse Kunden einen DHL Standort auf der Karte auswählen."
|
1641 |
|
1642 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1643 |
msgctxt "dhl"
|
1644 |
msgid ""
|
1645 |
"Enable this option to let your customers choose a pickup option from a map "
|
@@ -1650,12 +1796,12 @@ msgstr ""
|
|
1650 |
"einer Karten in der Kasse zu ermöglichen. Wenn diese Option deaktiviert ist, "
|
1651 |
"wird stattdessen auf die DHL Website verwiesen."
|
1652 |
|
1653 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1654 |
msgctxt "dhl"
|
1655 |
msgid "Google Maps Key"
|
1656 |
msgstr "Google Maps Schlüssel"
|
1657 |
|
1658 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1659 |
#, php-format
|
1660 |
msgctxt "dhl"
|
1661 |
msgid ""
|
@@ -1665,33 +1811,172 @@ msgstr ""
|
|
1665 |
"Um eine Karte integrieren zu können, benötigst du einen gültigen API-"
|
1666 |
"Schlüssel für Google Maps. Du kannst %s."
|
1667 |
|
1668 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1669 |
msgctxt "dhl"
|
1670 |
msgid "retrieve a new one"
|
1671 |
msgstr "hier einen neuen erstellen"
|
1672 |
|
1673 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1674 |
msgctxt "dhl"
|
1675 |
msgid "Limit results"
|
1676 |
msgstr "Suchergebnisse begrenzen"
|
1677 |
|
1678 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1679 |
msgctxt "dhl"
|
1680 |
msgid "Limit the number of DHL locations shown on the map"
|
1681 |
msgstr "Begrenzt die Anzahl der angezeigten DHL Standorte auf der Karte"
|
1682 |
|
1683 |
# @ woocommerce-germanized
|
1684 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1685 |
msgctxt "dhl"
|
1686 |
-
msgid "
|
1687 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1688 |
|
1689 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1690 |
msgctxt "dhl"
|
1691 |
msgid "Preferred Services"
|
1692 |
msgstr "Wunschpaket"
|
1693 |
|
1694 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1695 |
msgctxt "dhl"
|
1696 |
msgid "Parcel Pickup"
|
1697 |
msgstr "Standorte"
|
@@ -1713,6 +1998,198 @@ msgctxt "dhl location name"
|
|
1713 |
msgid "%s %s"
|
1714 |
msgstr "%s %s"
|
1715 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1716 |
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:99
|
1717 |
msgctxt "dhl"
|
1718 |
msgid ""
|
@@ -1721,13 +2198,24 @@ msgstr ""
|
|
1721 |
"Deine DHL API Zugangsdaten scheinen fehlerhaft zu sein. Bitte prüfe deine "
|
1722 |
"DHL Einstellungen."
|
1723 |
|
1724 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1725 |
#, php-format
|
1726 |
msgctxt "dhl"
|
1727 |
msgid "There was an error contacting the DHL API: %s."
|
1728 |
msgstr "Beim Aufruf der DHL API gab es einen Fehler: %s."
|
1729 |
|
1730 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1731 |
msgctxt "dhl"
|
1732 |
msgid ""
|
1733 |
"An error ocurred while contacting the DHL API. Please consider enabling the "
|
@@ -1736,7 +2224,7 @@ msgstr ""
|
|
1736 |
"Beim Aufruf der DHL API ist ein Fehler aufgetreten. Bitte erwäge den Wechsel "
|
1737 |
"in den Sandbox-Modus."
|
1738 |
|
1739 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1740 |
msgctxt "dhl"
|
1741 |
msgid ""
|
1742 |
"There was an error generating the label. Please try again or consider "
|
@@ -1745,32 +2233,25 @@ msgstr ""
|
|
1745 |
"Beim Erzeugen des Labels gab es einen Fehler. Bitte versuche es erneut oder "
|
1746 |
"erwäge den Wechsel in den Sandbox-Modus."
|
1747 |
|
1748 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1749 |
-
#: woocommerce-germanized-dhl/src/Api/ReturnRest.php:
|
1750 |
msgctxt "dhl"
|
1751 |
msgid "Error while creating and uploading the label"
|
1752 |
msgstr "Fehler beim Erstellen und hochladen des Labels"
|
1753 |
|
1754 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1755 |
#, php-format
|
1756 |
msgctxt "dhl"
|
1757 |
msgid "Could not delete label - %s"
|
1758 |
msgstr "Das Label konnte nicht gelöscht werden - %s"
|
1759 |
|
1760 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1761 |
msgctxt "dhl"
|
1762 |
msgid "Could not create account number - no product number."
|
1763 |
msgstr ""
|
1764 |
"Die Abrechnungsnummer konnte nicht erzeugt werden. Die Teilnahmenummer fehlt."
|
1765 |
|
1766 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1767 |
-
#: woocommerce-germanized-dhl/src/Api/ReturnRest.php:34
|
1768 |
-
#, php-format
|
1769 |
-
msgctxt "dhl"
|
1770 |
-
msgid "Could not fetch shipment %d."
|
1771 |
-
msgstr "Sendung %d konnte nicht gefunden werden."
|
1772 |
-
|
1773 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:644
|
1774 |
#, php-format
|
1775 |
msgctxt "dhl"
|
1776 |
msgid "Only %s shipment items can be processed, your shipment has %s items."
|
@@ -1779,60 +2260,67 @@ msgstr ""
|
|
1779 |
"Sendung beinhaltet %s Positionen."
|
1780 |
|
1781 |
# @ woocommerce-germanized
|
1782 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1783 |
msgctxt "dhl"
|
1784 |
msgid "Label API not available"
|
1785 |
msgstr "Label API ist nicht erreichbar"
|
1786 |
|
1787 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1788 |
msgctxt "dhl"
|
1789 |
msgid "Parcel Finder API not available"
|
1790 |
msgstr "API der Standortsuche ist nicht verfügbar"
|
1791 |
|
1792 |
# @ woocommerce-germanized
|
1793 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1794 |
msgctxt "dhl"
|
1795 |
msgid "Return API not available"
|
1796 |
msgstr "Retoure API ist nicht erreichbar"
|
1797 |
|
1798 |
# @ woocommerce-germanized
|
1799 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1800 |
msgctxt "dhl"
|
1801 |
msgid "Parcel API not available"
|
1802 |
msgstr "Paket API ist nicht erreichbar"
|
1803 |
|
1804 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1805 |
msgctxt "dhl"
|
1806 |
msgid "Mon"
|
1807 |
msgstr "Mo"
|
1808 |
|
1809 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1810 |
msgctxt "dhl"
|
1811 |
msgid "Tue"
|
1812 |
msgstr "Di"
|
1813 |
|
1814 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1815 |
msgctxt "dhl"
|
1816 |
msgid "Wed"
|
1817 |
msgstr "Mi"
|
1818 |
|
1819 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1820 |
msgctxt "dhl"
|
1821 |
msgid "Thu"
|
1822 |
msgstr "Do"
|
1823 |
|
1824 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1825 |
msgctxt "dhl"
|
1826 |
msgid "Fri"
|
1827 |
msgstr "Fr"
|
1828 |
|
1829 |
# @ woocommerce-germanized
|
1830 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1831 |
msgctxt "dhl"
|
1832 |
msgid "Sat"
|
1833 |
msgstr "Sa"
|
1834 |
|
1835 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1836 |
msgctxt "dhl"
|
1837 |
msgid "Sun"
|
1838 |
msgstr "So"
|
@@ -1853,44 +2341,44 @@ msgctxt "dhl"
|
|
1853 |
msgid "Please provide the shipment start date."
|
1854 |
msgstr "Bitte gib das Startdatum der Sendung an."
|
1855 |
|
1856 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1857 |
msgctxt "dhl"
|
1858 |
msgid "400 - "
|
1859 |
msgstr "400 - "
|
1860 |
|
1861 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1862 |
msgctxt "dhl"
|
1863 |
msgid ""
|
1864 |
"401 - Unauthorized Access - Invalid token or Authentication Header parameter"
|
1865 |
msgstr ""
|
1866 |
"401 - Unauthorized Access - Invalid token or Authentication Header parameter"
|
1867 |
|
1868 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1869 |
msgctxt "dhl"
|
1870 |
msgid "408 - Request Timeout"
|
1871 |
msgstr "408 - Request Timeout"
|
1872 |
|
1873 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1874 |
msgctxt "dhl"
|
1875 |
msgid "429 - Too many requests in given amount of time"
|
1876 |
msgstr "429 - Too many requests in given amount of time"
|
1877 |
|
1878 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1879 |
msgctxt "dhl"
|
1880 |
msgid "503 - Service Unavailable"
|
1881 |
msgstr "503 - Service Unavailable"
|
1882 |
|
1883 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1884 |
msgctxt "dhl"
|
1885 |
msgid "GET error or timeout occured. Please try again later."
|
1886 |
msgstr "GET Fehler oder Zeitüberschreitung. Bitte später erneut versuchen."
|
1887 |
|
1888 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1889 |
msgctxt "dhl"
|
1890 |
msgid "POST error or timeout occured. Please try again later."
|
1891 |
msgstr "POST Fehler oder Zeitüberschreitung. Bitte später erneut versuchen."
|
1892 |
|
1893 |
-
#: woocommerce-germanized-dhl/src/DataStores/Label.php:
|
1894 |
msgctxt "dhl"
|
1895 |
msgid "Invalid label."
|
1896 |
msgstr "Ungültiges Label."
|
@@ -1902,7 +2390,7 @@ msgctxt "dhl time-span"
|
|
1902 |
msgid "%s-%s"
|
1903 |
msgstr "%s-%s"
|
1904 |
|
1905 |
-
#: woocommerce-germanized-dhl/src/Package.php:
|
1906 |
msgctxt "dhl"
|
1907 |
msgid ""
|
1908 |
"Please check the street field and make sure to provide a valid street number."
|
@@ -1911,30 +2399,30 @@ msgstr ""
|
|
1911 |
"angibst."
|
1912 |
|
1913 |
# @ woocommerce-germanized
|
1914 |
-
#: woocommerce-germanized-dhl/src/Package.php:
|
1915 |
msgctxt "dhl"
|
1916 |
msgid "Germany"
|
1917 |
msgstr "Deutschland"
|
1918 |
|
1919 |
# @ woocommerce-germanized
|
1920 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1921 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1922 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1923 |
msgctxt "dhl"
|
1924 |
msgid "Address Type"
|
1925 |
msgstr "Adresstyp"
|
1926 |
|
1927 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1928 |
msgctxt "dhl"
|
1929 |
msgid "Select whether delivery to DHL locations should be enabled."
|
1930 |
msgstr "Wähle aus, ob die Lieferung an DHL Standorte aktiviert werden soll."
|
1931 |
|
1932 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1933 |
msgctxt "dhl"
|
1934 |
msgid "Postnumber"
|
1935 |
msgstr "Postnummer"
|
1936 |
|
1937 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1938 |
msgctxt "dhl"
|
1939 |
msgid ""
|
1940 |
"In case delivery to packstation is selected please fill in the corresponding "
|
@@ -1943,31 +2431,31 @@ msgstr ""
|
|
1943 |
"Insofern die Lieferung an eine Packstation erfolgt, bitte die Postnummer "
|
1944 |
"eintragen."
|
1945 |
|
1946 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1947 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1948 |
msgctxt "dhl"
|
1949 |
msgid "Invalid address type."
|
1950 |
msgstr "Ungültiger Adresstyp."
|
1951 |
|
1952 |
# @ woocommerce-germanized
|
1953 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1954 |
msgctxt "dhl"
|
1955 |
msgid "Sorry, but delivery to packstation is not available."
|
1956 |
msgstr ""
|
1957 |
"Entschuldigung, die Lieferung an eine Packstation steht nicht zur Verfügung."
|
1958 |
|
1959 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1960 |
msgctxt "dhl"
|
1961 |
msgid "Sorry, but delivery to parcel shops is not available."
|
1962 |
msgstr ""
|
1963 |
"Entschuldigung, die Lieferung an einen Paketshop steht nicht zur Verfügung."
|
1964 |
|
1965 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1966 |
msgctxt "dhl"
|
1967 |
msgid "Sorry, but delivery to post offices is not available."
|
1968 |
msgstr "Entschuldigung, die Lieferung an Postfilialen ist nicht verfügbar."
|
1969 |
|
1970 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1971 |
#, php-format
|
1972 |
msgctxt "dhl"
|
1973 |
msgid "Please indicate shipment to %s by one of the following values: %s."
|
@@ -1975,7 +2463,7 @@ msgstr ""
|
|
1975 |
"Bitte identifiziere die Lieferung an %s durch die Eingabe einer der "
|
1976 |
"folgenden Werte: %s."
|
1977 |
|
1978 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1979 |
msgctxt "dhl"
|
1980 |
msgid ""
|
1981 |
"Your DHL customer number (Post number) is not valid. Please check your "
|
@@ -1984,7 +2472,7 @@ msgstr ""
|
|
1984 |
"Deine DHL Kundennummer (Postnummer) ist nicht gültig. Bitte überprüfe deine "
|
1985 |
"Eingabe."
|
1986 |
|
1987 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1988 |
msgctxt "dhl"
|
1989 |
msgid ""
|
1990 |
"Your DHL customer number (Post number) is needed to ship to a packstation."
|
@@ -1992,64 +2480,64 @@ msgstr ""
|
|
1992 |
"Deine DHL Kundennummer (Postnummer) wird für den Versand an eine Packstation "
|
1993 |
"benötigt."
|
1994 |
|
1995 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1996 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1997 |
msgctxt "dhl"
|
1998 |
msgid "Branch"
|
1999 |
msgstr "Filiale"
|
2000 |
|
2001 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2002 |
msgctxt "dhl"
|
2003 |
msgid "Postnumber "
|
2004 |
msgstr "Postnummer "
|
2005 |
|
2006 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2007 |
#, php-format
|
2008 |
msgctxt "dhl"
|
2009 |
msgid "e.g. %s 456"
|
2010 |
msgstr "z.B. %s 456"
|
2011 |
|
2012 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2013 |
msgctxt "dhl"
|
2014 |
msgid "Branches"
|
2015 |
msgstr "Filialen"
|
2016 |
|
2017 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2018 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2019 |
msgctxt "dhl"
|
2020 |
msgid "DHL customer number (Post number)"
|
2021 |
msgstr "DHL Kundennummer (Postnummer)"
|
2022 |
|
2023 |
# @ woocommerce-germanized
|
2024 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2025 |
msgctxt "dhl"
|
2026 |
msgid "Regular Address"
|
2027 |
msgstr "Normale Adresse"
|
2028 |
|
2029 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2030 |
msgctxt "dhl"
|
2031 |
msgid "Not yet a DHL customer?"
|
2032 |
msgstr "Noch kein DHL Kunde?"
|
2033 |
|
2034 |
# @ woocommerce-germanized
|
2035 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2036 |
msgctxt "dhl"
|
2037 |
msgid "Register now"
|
2038 |
msgstr "Jetzt registrieren"
|
2039 |
|
2040 |
# @ woocommerce-germanized
|
2041 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2042 |
#, php-format
|
2043 |
msgctxt "dhl"
|
2044 |
msgid "Search %s"
|
2045 |
msgstr "%s suchen"
|
2046 |
|
2047 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2048 |
msgctxt "dhl"
|
2049 |
msgid "No DHL locations found"
|
2050 |
msgstr "Keine DHL Standorte gefunden"
|
2051 |
|
2052 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2053 |
#, php-format
|
2054 |
msgctxt "dhl"
|
2055 |
msgid ""
|
@@ -2060,12 +2548,12 @@ msgstr ""
|
|
2060 |
"%s oder %s."
|
2061 |
|
2062 |
# @ woocommerce-germanized
|
2063 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2064 |
msgctxt "dhl"
|
2065 |
msgid "DHL location"
|
2066 |
msgstr "DHL Standort"
|
2067 |
|
2068 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2069 |
msgctxt "dhl"
|
2070 |
msgid "retry"
|
2071 |
msgstr "Erneut versuchen"
|
@@ -2093,14 +2581,14 @@ msgctxt "dhl"
|
|
2093 |
msgid "Please choose name and address of your preferred neighbor."
|
2094 |
msgstr "Bitte wähle einen Namen und die Adresse deines Wunschnachbars."
|
2095 |
|
2096 |
-
#: woocommerce-germanized-dhl/src/ReturnLabel.php:
|
2097 |
#: woocommerce-germanized-dhl/src/SimpleLabel.php:86
|
2098 |
#, php-format
|
2099 |
msgctxt "dhl full name"
|
2100 |
msgid "%1$s"
|
2101 |
msgstr "%1$s"
|
2102 |
|
2103 |
-
#: woocommerce-germanized-dhl/src/
|
2104 |
msgctxt "dhl"
|
2105 |
msgid ""
|
2106 |
"Complete DHL integration supporting labels, preferred services and "
|
@@ -2109,6 +2597,16 @@ msgstr ""
|
|
2109 |
"DHL Integration die das Erzeugen von Labels, Wunsch-Services und Lieferung "
|
2110 |
"an Packstationen unterstützt."
|
2111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2112 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder-result.php:31
|
2113 |
msgctxt "dhl"
|
2114 |
msgid "Opening Times"
|
@@ -2280,25 +2778,32 @@ msgstr ""
|
|
2280 |
"Deine Installation des Germanized DHL Plugins ist unvollständig. Bitte führe "
|
2281 |
"%1$s im %2$s Verzeichnis aus."
|
2282 |
|
2283 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2284 |
#, php-format
|
2285 |
msgctxt "shipments"
|
2286 |
-
msgid "
|
2287 |
-
msgstr "
|
2288 |
|
2289 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2290 |
#, php-format
|
2291 |
msgctxt "shipments"
|
2292 |
msgid "Dimensions (%s)"
|
2293 |
msgstr "Abmessungen (%s)"
|
2294 |
|
2295 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2296 |
msgctxt "shipments"
|
2297 |
msgid "LxWxH in decimal form."
|
2298 |
msgstr "LxBxH in dezimaler Form."
|
2299 |
|
2300 |
# @ woocommerce-germanized
|
2301 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2302 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1027
|
2303 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:24
|
2304 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:688
|
@@ -2307,52 +2812,52 @@ msgid "Status"
|
|
2307 |
msgstr "Status"
|
2308 |
|
2309 |
# @ woocommerce-germanized
|
2310 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2311 |
msgctxt "shipments"
|
2312 |
msgid "Shipping method"
|
2313 |
msgstr "Versandmethode"
|
2314 |
|
2315 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2316 |
msgctxt "shipments"
|
2317 |
msgid "Shipping provider"
|
2318 |
msgstr "Versanddienstleister"
|
2319 |
|
2320 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2321 |
msgctxt "shipments"
|
2322 |
msgid "Tracking Number"
|
2323 |
msgstr "Sendungsnummer"
|
2324 |
|
2325 |
# @ woocommerce-germanized
|
2326 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2327 |
msgctxt "shipments"
|
2328 |
msgid "Add item"
|
2329 |
msgstr "Position hinzufügen"
|
2330 |
|
2331 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2332 |
msgctxt "shipments"
|
2333 |
msgid "Automatically adjust items and quantities based on order item data."
|
2334 |
msgstr "Bestimmt Positionen und Anzahlen automatisch anhand der Bestelldaten."
|
2335 |
|
2336 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2337 |
msgctxt "shipments"
|
2338 |
msgid "Sync items"
|
2339 |
msgstr "Positionen synchronisieren"
|
2340 |
|
2341 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2342 |
msgctxt "shipments"
|
2343 |
msgid "Add Item"
|
2344 |
msgstr "Position hinzufügen"
|
2345 |
|
2346 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2347 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:45
|
2348 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2349 |
msgctxt "shipments"
|
2350 |
msgid "Item"
|
2351 |
msgstr "Position"
|
2352 |
|
2353 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2354 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:46
|
2355 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2356 |
#: woocommerce-germanized-shipments/templates/emails/email-shipment-details.php:55
|
2357 |
#: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:37
|
2358 |
#: woocommerce-germanized-shipments/templates/shipment/shipment-details.php:60
|
@@ -2360,13 +2865,13 @@ msgctxt "shipments"
|
|
2360 |
msgid "Quantity"
|
2361 |
msgstr "Anzahl"
|
2362 |
|
2363 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2364 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:55
|
2365 |
msgctxt "shipments"
|
2366 |
msgid "Add"
|
2367 |
msgstr "Hinzufügen"
|
2368 |
|
2369 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2370 |
msgctxt "shipments"
|
2371 |
msgid ""
|
2372 |
"Send return instructions to your customer via email including return label "
|
@@ -2375,17 +2880,17 @@ msgstr ""
|
|
2375 |
"Sende Informationen zur Rücksendung inkl. Label, falls verfügbar an deinen "
|
2376 |
"Kunden via E-Mail."
|
2377 |
|
2378 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2379 |
msgctxt "shipments"
|
2380 |
msgid "Resend notification"
|
2381 |
msgstr "Benachrichtigung erneut versenden"
|
2382 |
|
2383 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2384 |
msgctxt "shipments"
|
2385 |
msgid "Notify customer"
|
2386 |
msgstr "Kunde benachrichtigen"
|
2387 |
|
2388 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2389 |
msgctxt "shipments"
|
2390 |
msgid ""
|
2391 |
"Confirm the return request to the customer. The customer receives an email "
|
@@ -2395,13 +2900,13 @@ msgstr ""
|
|
2395 |
"Benachrichtigung, die möglicherweise Anweisungen zur Rücksendung enthält."
|
2396 |
|
2397 |
# @ woocommerce-germanized
|
2398 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2399 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:66
|
2400 |
msgctxt "shipments"
|
2401 |
msgid "Confirm return request"
|
2402 |
msgstr "Rücksendeantrag bestätigen"
|
2403 |
|
2404 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2405 |
#, php-format
|
2406 |
msgctxt "shipments"
|
2407 |
msgid "Delete %s"
|
@@ -2432,9 +2937,9 @@ msgstr "Löschen"
|
|
2432 |
|
2433 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-list.php:22
|
2434 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:76
|
2435 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2436 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2437 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2438 |
#: woocommerce-germanized-shipments/src/Admin/Settings.php:80
|
2439 |
#: woocommerce-germanized-shipments/src/Admin/Settings.php:177
|
2440 |
#: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:36
|
@@ -2442,6 +2947,19 @@ msgctxt "shipments"
|
|
2442 |
msgid "Returns"
|
2443 |
msgstr "Retouren"
|
2444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2445 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment.php:16
|
2446 |
#, php-format
|
2447 |
msgctxt "shipment admin title"
|
@@ -2451,10 +2969,10 @@ msgstr "%s #%s"
|
|
2451 |
# @ woocommerce-germanized
|
2452 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:19
|
2453 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:69
|
2454 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2455 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2456 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2457 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2458 |
#: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:20
|
2459 |
msgctxt "shipments"
|
2460 |
msgid "Shipments"
|
@@ -2485,14 +3003,15 @@ msgstr "Speichern"
|
|
2485 |
#: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:11
|
2486 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:22
|
2487 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:686
|
2488 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
2489 |
msgctxt "shipments"
|
2490 |
msgid "Title"
|
2491 |
msgstr "Titel"
|
2492 |
|
2493 |
# @ woocommerce-germanized
|
2494 |
#: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:12
|
2495 |
-
#: woocommerce-germanized-shipments/src/
|
|
|
2496 |
msgctxt "shipments"
|
2497 |
msgid "Description"
|
2498 |
msgstr "Beschreibung"
|
@@ -2548,7 +3067,7 @@ msgid "Download"
|
|
2548 |
msgstr "Download"
|
2549 |
|
2550 |
#: woocommerce-germanized-shipments/includes/admin/views/label/html-shipment-label.php:39
|
2551 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2552 |
msgctxt "shipments"
|
2553 |
msgid "Create new label"
|
2554 |
msgstr "Neues Label erstellen"
|
@@ -2768,6 +3287,16 @@ msgctxt "shipments"
|
|
2768 |
msgid "Enter recipients (comma separated) for this email. Defaults to %s."
|
2769 |
msgstr "Füge Empfänger (kommasepariert) für diese E-Mail ein. Standard: %s."
|
2770 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2771 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:68
|
2772 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1025
|
2773 |
msgctxt "shipments"
|
@@ -2857,9 +3386,9 @@ msgstr "Fehler beim Erstellen der Sendungsinstanz"
|
|
2857 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:413
|
2858 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:417
|
2859 |
#: woocommerce-germanized-shipments/src/ReturnShipment.php:420
|
2860 |
-
#: woocommerce-germanized-shipments/src/ReturnShipment.php:
|
2861 |
#: woocommerce-germanized-shipments/src/SimpleShipment.php:118
|
2862 |
-
#: woocommerce-germanized-shipments/src/SimpleShipment.php:
|
2863 |
msgctxt "shipments"
|
2864 |
msgid "Invalid shipment order"
|
2865 |
msgstr "Ungültige Bestellung zur Sendung"
|
@@ -2901,7 +3430,7 @@ msgstr "Sendungsverfolgung"
|
|
2901 |
|
2902 |
# @ woocommerce-germanized
|
2903 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1029
|
2904 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2905 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:30
|
2906 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:694
|
2907 |
msgctxt "shipments"
|
@@ -2916,7 +3445,7 @@ msgstr "Anzeigen"
|
|
2916 |
# @ woocommerce-germanized
|
2917 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1272
|
2918 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:865
|
2919 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
2920 |
msgctxt "shipments"
|
2921 |
msgid "Download label"
|
2922 |
msgstr "Label downloaden"
|
@@ -2930,7 +3459,7 @@ msgid "My account"
|
|
2930 |
msgstr "Mein Konto"
|
2931 |
|
2932 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipments-template-functions.php:115
|
2933 |
-
#: woocommerce-germanized-shipments/src/DataStores/Shipment.php:
|
2934 |
msgctxt "shipments"
|
2935 |
msgid "Invalid shipment."
|
2936 |
msgstr "Ungültige Sendung."
|
@@ -2953,25 +3482,25 @@ msgid "View order"
|
|
2953 |
msgstr "Bestellung ansehen"
|
2954 |
|
2955 |
# @ woocommerce-germanized
|
2956 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2957 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2958 |
#: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:36
|
2959 |
msgctxt "shipments"
|
2960 |
msgid "Reason"
|
2961 |
msgstr "Rücksendegrund"
|
2962 |
|
2963 |
# @ woocommerce-germanized
|
2964 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2965 |
msgctxt "shipments"
|
2966 |
msgid "Return reasons"
|
2967 |
msgstr "Rücksendegründe"
|
2968 |
|
2969 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2970 |
msgctxt "shipments"
|
2971 |
msgid "Reason code"
|
2972 |
msgstr "Rücksendegrund (Code)"
|
2973 |
|
2974 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2975 |
msgctxt "shipments"
|
2976 |
msgid "The reason code is used to identify the reason."
|
2977 |
msgstr ""
|
@@ -2979,56 +3508,131 @@ msgstr ""
|
|
2979 |
"identifizieren zu können."
|
2980 |
|
2981 |
# @ woocommerce-germanized
|
2982 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2983 |
msgctxt "shipments"
|
2984 |
msgid "Choose a reason text."
|
2985 |
msgstr "Beschreibung für den Grund."
|
2986 |
|
2987 |
# @ woocommerce-germanized
|
2988 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2989 |
msgctxt "shipments"
|
2990 |
msgid "+ Add reason"
|
2991 |
msgstr "+ Grund hinzufügen"
|
2992 |
|
2993 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2994 |
msgctxt "shipments"
|
2995 |
msgid "Remove selected reason(s)"
|
2996 |
msgstr "Ausgewählte Gründe löschen"
|
2997 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2998 |
# @ woocommerce-germanized
|
2999 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3000 |
msgctxt "shipments"
|
3001 |
msgid "Create shipments"
|
3002 |
msgstr "Sendungen erstellen"
|
3003 |
|
3004 |
# @ woocommerce-germanized
|
3005 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3006 |
msgctxt "shipments"
|
3007 |
msgid "Search shipments"
|
3008 |
msgstr "Sendungen suchen"
|
3009 |
|
3010 |
# @ woocommerce-germanized
|
3011 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3012 |
msgctxt "shipments"
|
3013 |
msgid "Search returns"
|
3014 |
msgstr "Retouren suchen"
|
3015 |
|
3016 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3017 |
msgctxt "shipments"
|
3018 |
msgid "Do you really want to delete the shipment?"
|
3019 |
msgstr "Möchtest du die Sendung wirklich löschen?"
|
3020 |
|
3021 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3022 |
msgctxt "shipments"
|
3023 |
msgid "Do you really want to delete the label?"
|
3024 |
msgstr "Möchtest du das Label wirklich löschen?"
|
3025 |
|
3026 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3027 |
msgctxt "shipments"
|
3028 |
msgid "Please save the shipment before creating a new label"
|
3029 |
msgstr "Bitte speichere die Sendung bevor du ein neues Label erzeugst"
|
3030 |
|
3031 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3032 |
msgctxt "shipments"
|
3033 |
msgid ""
|
3034 |
"Do you really want to delete the shipping provider? Some of your existing "
|
@@ -3434,29 +4038,44 @@ msgctxt "shipments"
|
|
3434 |
msgid "List shipments on customer account order screen."
|
3435 |
msgstr "Liste Sendungen im Kundenkonto in den Bestelldetails auf."
|
3436 |
|
3437 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3438 |
msgctxt "shipments"
|
3439 |
msgid "New provider"
|
3440 |
msgstr "Neuer Dienstleister"
|
3441 |
|
3442 |
# @ woocommerce-germanized
|
3443 |
-
#: woocommerce-germanized-shipments/src/Admin/Settings.php:
|
3444 |
msgctxt "shipments"
|
3445 |
msgid "Additional settings"
|
3446 |
msgstr "Weiterführende Einstellungen"
|
3447 |
|
3448 |
-
#: woocommerce-germanized-shipments/src/Admin/Settings.php:
|
3449 |
msgctxt "shipments"
|
3450 |
msgid "Add provider"
|
3451 |
msgstr "Dienstleister hinzufügen"
|
3452 |
|
3453 |
# @ woocommerce-germanized
|
3454 |
-
#: woocommerce-germanized-shipments/src/Admin/Settings.php:
|
3455 |
msgctxt "shipments"
|
3456 |
msgid "General"
|
3457 |
msgstr "Allgemein"
|
3458 |
|
3459 |
-
#: woocommerce-germanized-shipments/src/Admin/Settings.php:
|
3460 |
#: woocommerce-germanized-shipments/src/ShippingProviderMethod.php:56
|
3461 |
msgctxt "shipments"
|
3462 |
msgid "Shipping Provider"
|
@@ -3527,7 +4146,7 @@ msgstr "Filtern"
|
|
3527 |
|
3528 |
# @ woocommerce-germanized
|
3529 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:664
|
3530 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3531 |
#, php-format
|
3532 |
msgctxt "shipments"
|
3533 |
msgid "Order #%s"
|
@@ -3612,85 +4231,86 @@ msgctxt "shipments"
|
|
3612 |
msgid "Generate and download labels"
|
3613 |
msgstr "Labels erstellen und downloaden"
|
3614 |
|
3615 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3616 |
msgctxt "shipments"
|
3617 |
msgid "Notification successfully sent to customer."
|
3618 |
msgstr "Kunde erfolgreich benachrichtigt."
|
3619 |
|
3620 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3621 |
msgctxt "shipments"
|
3622 |
msgid "There was an error while sending the notification."
|
3623 |
msgstr "Beim Versendes der Benachrichtigung ist ein Fehler aufgetreten."
|
3624 |
|
3625 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3626 |
msgctxt "shipments"
|
3627 |
msgid "Return request confirmed successfully."
|
3628 |
msgstr "Rücksendeantrag erfolgreich bestätigt."
|
3629 |
|
3630 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3631 |
msgctxt "shipments"
|
3632 |
msgid "There was an error while confirming the request."
|
3633 |
msgstr "Bei der Bestätigung des Antrags ist ein Fehler aufgetreten."
|
3634 |
|
3635 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3636 |
msgctxt "shipments"
|
3637 |
msgid "There was an error creating the label."
|
3638 |
msgstr "Beim Erstellen des Labels ist ein Fehler aufgetreten."
|
3639 |
|
3640 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3641 |
msgctxt "shipments"
|
3642 |
msgid "There was an error deleting the label."
|
3643 |
msgstr "Beim Löschen des Labels ist ein Fehler aufgetreten."
|
3644 |
|
3645 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3646 |
msgctxt "shipments"
|
3647 |
msgid "There was an error processing the label."
|
3648 |
msgstr "Bei der Verarbeitung des Labels ist ein Fehler aufgetreten."
|
3649 |
|
3650 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3651 |
msgctxt "shipments"
|
3652 |
msgid "There was an error while trying to save the shipping provider status."
|
3653 |
msgstr ""
|
3654 |
"Beim Speichern des Status des Versanddienstleisters trat ein Fehler auf."
|
3655 |
|
3656 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3657 |
msgctxt "shipments"
|
3658 |
msgid "There was an error while trying to delete the shipping provider."
|
3659 |
msgstr "Beim Löschen des Versanddienstleisters trat ein Fehler auf."
|
3660 |
|
3661 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3662 |
msgctxt "shipments"
|
3663 |
msgid "There was an error while bulk processing shipments."
|
3664 |
msgstr ""
|
3665 |
"Bei der Verarbeitung der Mehrfachaktionen von Sendungen trat ein Fehler auf."
|
3666 |
|
3667 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3668 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3669 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3670 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3671 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3672 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3673 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3674 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3675 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3676 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3677 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3678 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
|
|
3679 |
msgctxt "shipments"
|
3680 |
msgid "There was an error processing the shipment"
|
3681 |
msgstr "Fehler bei der Verarbeitung der Sendung"
|
3682 |
|
3683 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3684 |
msgctxt "shipments"
|
3685 |
msgid "There was an error while adding the shipment"
|
3686 |
msgstr "Beim Hinzufügen der Sendung ist ein Fehler aufgetreten"
|
3687 |
|
3688 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3689 |
msgctxt "shipments"
|
3690 |
msgid "This order contains enough shipments already."
|
3691 |
msgstr "Diese Bestellung beinhaltet bereits genug Sendungen."
|
3692 |
|
3693 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3694 |
msgctxt "shipments"
|
3695 |
msgid "This order contains enough returns already."
|
3696 |
msgstr "Diese Bestellung beinhaltet bereits genügend Retouren."
|
@@ -3887,11 +4507,16 @@ msgid "Quantity."
|
|
3887 |
msgstr "Anzahl."
|
3888 |
|
3889 |
# @ woocommerce-germanized
|
3890 |
-
#: woocommerce-germanized-shipments/src/Automation.php:
|
3891 |
msgctxt "shipments"
|
3892 |
msgid "Order is fully shipped."
|
3893 |
msgstr "Bestellung ist vollständig versandt."
|
3894 |
|
|
|
|
|
|
|
|
|
|
|
3895 |
#: woocommerce-germanized-shipments/src/DataStores/ShipmentItem.php:195
|
3896 |
msgctxt "shipments"
|
3897 |
msgid "Invalid shipment item."
|
@@ -3995,35 +4620,66 @@ msgstr ""
|
|
3995 |
"Es gab ein Problem beim Erstellen der Rücksendung. Bitte kontaktiere uns für "
|
3996 |
"weitere Informationen."
|
3997 |
|
3998 |
-
#: woocommerce-germanized-shipments/src/Install.php:
|
3999 |
msgctxt "shipments"
|
4000 |
msgid "Wrong product or size ordered"
|
4001 |
msgstr "Falsches Produkt oder Größe bestellt"
|
4002 |
|
4003 |
-
#: woocommerce-germanized-shipments/src/Install.php:
|
4004 |
msgctxt "shipments"
|
4005 |
msgid "Product no longer needed"
|
4006 |
msgstr "Produkt wird nicht länger benötigt"
|
4007 |
|
4008 |
-
#: woocommerce-germanized-shipments/src/Install.php:
|
4009 |
msgctxt "shipments"
|
4010 |
msgid "Don't like the look"
|
4011 |
msgstr "Optik nicht wie erwartet"
|
4012 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4013 |
# @ woocommerce-germanized
|
4014 |
-
#: woocommerce-germanized-shipments/src/Package.php:
|
4015 |
msgctxt "shipments"
|
4016 |
msgid "Sorry, this order is invalid and cannot be returned."
|
4017 |
msgstr "Sorry, diese Bestellung existiert nicht."
|
4018 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4019 |
#: woocommerce-germanized-shipments/src/ReturnShipment.php:356
|
4020 |
-
#: woocommerce-germanized-shipments/src/Shipment.php:
|
4021 |
#, php-format
|
4022 |
msgctxt "full name"
|
4023 |
msgid "%1$s %2$s"
|
4024 |
msgstr "%1$s %2$s"
|
4025 |
|
4026 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4027 |
msgctxt "shipments"
|
4028 |
msgid ""
|
4029 |
"Your shipment is being processed by {shipping_provider}. If you want to "
|
@@ -4037,34 +4693,34 @@ msgstr ""
|
|
4037 |
"die Paketverfolgungsdaten zum Zeitpunkt des Erhalts dieser E-Mail noch nicht "
|
4038 |
"den neuesten Stand wiedergeben."
|
4039 |
|
4040 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4041 |
#, php-format
|
4042 |
msgctxt "shipments"
|
4043 |
msgid "%s supports many more options. Explore %s."
|
4044 |
msgstr "%s unterstützt viele weitere Einstellungen. Schau dir %s an."
|
4045 |
|
4046 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4047 |
#, php-format
|
4048 |
msgctxt "shipments"
|
4049 |
msgid "%s specific settings"
|
4050 |
msgstr "%s spezifische Einstellungen"
|
4051 |
|
4052 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4053 |
msgctxt "shipments"
|
4054 |
msgid "Choose a title for the shipping provider."
|
4055 |
msgstr "Wähle einen Titel für den Versanddienstleister."
|
4056 |
|
4057 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4058 |
msgctxt "shipments"
|
4059 |
msgid "Choose a description for the shipping provider."
|
4060 |
msgstr "Wähle eine Beschreibung für den Versanddienstleister."
|
4061 |
|
4062 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4063 |
msgctxt "shipments"
|
4064 |
msgid "Tracking URL"
|
4065 |
msgstr "Sendungsverfolgung URL"
|
4066 |
|
4067 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4068 |
#, php-format
|
4069 |
msgctxt "shipments"
|
4070 |
msgid ""
|
@@ -4078,12 +4734,12 @@ msgstr ""
|
|
4078 |
"einzufügen: %s"
|
4079 |
|
4080 |
# @ woocommerce-germanized
|
4081 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4082 |
msgctxt "shipments"
|
4083 |
msgid "Tracking description"
|
4084 |
msgstr "Sendungsverfolgung Hinweis"
|
4085 |
|
4086 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4087 |
#, php-format
|
4088 |
msgctxt "shipments"
|
4089 |
msgid ""
|
@@ -4098,17 +4754,17 @@ msgstr ""
|
|
4098 |
"einzufügen: %s"
|
4099 |
|
4100 |
# @ woocommerce-germanized
|
4101 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4102 |
msgctxt "shipments"
|
4103 |
msgid "Customer returns"
|
4104 |
msgstr "Rücksendungen"
|
4105 |
|
4106 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4107 |
msgctxt "shipments"
|
4108 |
msgid "Allow customers to submit return requests to shipments."
|
4109 |
msgstr "Erlaube Kunden eine Rücksendung zu einer Sendung zu beantragen."
|
4110 |
|
4111 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4112 |
#, php-format
|
4113 |
msgctxt "shipments"
|
4114 |
msgid ""
|
@@ -4122,27 +4778,27 @@ msgstr ""
|
|
4122 |
"Gästen zu erfahren, lese bitte die %s."
|
4123 |
|
4124 |
# @ woocommerce-germanized
|
4125 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4126 |
msgctxt "shipments"
|
4127 |
msgid "Return Dashboard"
|
4128 |
msgstr "Retouren-Dashboard"
|
4129 |
|
4130 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4131 |
msgctxt "shipments"
|
4132 |
msgid "docs"
|
4133 |
msgstr "Dokumentation"
|
4134 |
|
4135 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4136 |
msgctxt "shipments"
|
4137 |
msgid "Guest returns"
|
4138 |
msgstr "Retouren für Gäste"
|
4139 |
|
4140 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4141 |
msgctxt "shipments"
|
4142 |
msgid "Allow guests to submit return requests to shipments."
|
4143 |
msgstr "Erlaube Gästen Rücksendeanträge zu Bestellungen zu beantragen."
|
4144 |
|
4145 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4146 |
#, php-format
|
4147 |
msgctxt "shipments"
|
4148 |
msgid ""
|
@@ -4156,18 +4812,18 @@ msgstr ""
|
|
4156 |
"Rücksende-Formular für Gäste auf deiner Seite zu platzieren."
|
4157 |
|
4158 |
# @ woocommerce-germanized
|
4159 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4160 |
msgctxt "shipments"
|
4161 |
msgid "Manual confirmation"
|
4162 |
msgstr "Manuelle Bestätigung"
|
4163 |
|
4164 |
# @ woocommerce-germanized
|
4165 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4166 |
msgctxt "shipments"
|
4167 |
msgid "Return requests need manual confirmation."
|
4168 |
msgstr "Rücksendeanträge benötigen eine manuelle Bestätigung."
|
4169 |
|
4170 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4171 |
msgctxt "shipments"
|
4172 |
msgid ""
|
4173 |
"By default return request need manual confirmation e.g. a shop manager needs "
|
@@ -4184,12 +4840,12 @@ msgstr ""
|
|
4184 |
"Mail-Bestätigung samt Retouren-Label."
|
4185 |
|
4186 |
# @ woocommerce-germanized
|
4187 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4188 |
msgctxt "shipments"
|
4189 |
msgid "Return instructions"
|
4190 |
msgstr "Rücksende-Anweisungen"
|
4191 |
|
4192 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4193 |
msgctxt "shipments"
|
4194 |
msgid ""
|
4195 |
"Provide your customer with instructions on how to return the shipment after "
|
@@ -4569,7 +5225,7 @@ msgstr "l"
|
|
4569 |
# @ woocommerce-germanized
|
4570 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:549
|
4571 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:559
|
4572 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
4573 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:546
|
4574 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:554
|
4575 |
msgid "incl. VAT"
|
@@ -4582,7 +5238,7 @@ msgstr "exkl. MwSt."
|
|
4582 |
|
4583 |
# @ woocommerce-germanized
|
4584 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:551
|
4585 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
4586 |
#, php-format
|
4587 |
msgid "incl. %s%% VAT"
|
4588 |
msgstr "inkl. %s %% MwSt."
|
@@ -4824,9 +5480,9 @@ msgstr "Germanize"
|
|
4824 |
# @ woocommerce-germanized
|
4825 |
# @ woocommerce
|
4826 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:73
|
4827 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4828 |
#: woocommerce-germanized/includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:79
|
4829 |
-
#: woocommerce-germanized/woocommerce-germanized.php:
|
4830 |
msgid "Settings"
|
4831 |
msgstr "Einstellungen"
|
4832 |
|
@@ -4843,66 +5499,71 @@ msgid "Start tutorial"
|
|
4843 |
msgstr "Tutorial starten"
|
4844 |
|
4845 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:92
|
4846 |
-
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:33
|
4847 |
#: woocommerce-germanized/includes/admin/views/setup/dhl.php:10
|
4848 |
msgid "DHL"
|
4849 |
msgstr "DHL"
|
4850 |
|
4851 |
# @ woocommerce-germanized
|
4852 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:100
|
|
|
4853 |
msgid "Import settings"
|
4854 |
msgstr "Einstellungen importieren"
|
4855 |
|
|
|
|
|
|
|
|
|
|
|
4856 |
# @ woocommerce-germanized
|
4857 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4858 |
msgid "Pages"
|
4859 |
msgstr "Rechtlich relevante Seiten"
|
4860 |
|
4861 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4862 |
msgid "Create legal pages placeholders e.g. terms & conditions."
|
4863 |
msgstr "Lege rechtlich relevante Seiten an, z.B. AGB."
|
4864 |
|
4865 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4866 |
msgid "Germanize WooCommerce settings (e.g. currency, tax display)."
|
4867 |
msgstr "WooCommerce Einstellungen eindeutschen (z.B. Währung)"
|
4868 |
|
4869 |
# @ woocommerce-germanized
|
4870 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4871 |
msgctxt "install"
|
4872 |
msgid "VAT"
|
4873 |
msgstr "USt."
|
4874 |
|
4875 |
# @ woocommerce-germanized
|
4876 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4877 |
msgid "Let Germanized insert EU VAT rates."
|
4878 |
msgstr "Lasse Germanized EU-Steuersätze importieren."
|
4879 |
|
4880 |
# @ woocommerce-germanized
|
4881 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4882 |
msgctxt "install"
|
4883 |
msgid "Virtual VAT"
|
4884 |
msgstr "Virtuelle USt."
|
4885 |
|
4886 |
# @ woocommerce-germanized
|
4887 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4888 |
msgid "Let Germanized insert virtual EU VAT rates."
|
4889 |
msgstr "Lasse Germanized virtuelle EU-Steuersätze importieren."
|
4890 |
|
4891 |
# @ woocommerce-germanized
|
4892 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4893 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:202
|
4894 |
#: woocommerce-germanized/includes/admin/views/html-page-status-germanized.php:43
|
4895 |
msgid "Small-Enterprise-Regulation"
|
4896 |
msgstr "Kleinunternehmerregelung"
|
4897 |
|
4898 |
# @ woocommerce-germanized
|
4899 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4900 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:203
|
4901 |
msgid "VAT based on §19 UStG"
|
4902 |
msgstr "Umsatzsteuerbefreit nach §19 UStG"
|
4903 |
|
4904 |
# @ woocommerce-germanized
|
4905 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4906 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:203
|
4907 |
#, php-format
|
4908 |
msgid ""
|
@@ -4914,18 +5575,18 @@ msgstr ""
|
|
4914 |
"Gebrauch machen willst."
|
4915 |
|
4916 |
# @ woocommerce-germanized
|
4917 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4918 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:21
|
4919 |
msgid "Double Opt In"
|
4920 |
msgstr "Double-Opt-In"
|
4921 |
|
4922 |
# @ woocommerce-germanized
|
4923 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4924 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:38
|
4925 |
msgid "Enable customer double opt in during registration."
|
4926 |
msgstr "Double-Opt-In Verfahren für Kundenkonten aktivieren."
|
4927 |
|
4928 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4929 |
#, php-format
|
4930 |
msgid ""
|
4931 |
"Sends an email to the customer after registration to verify his account. "
|
@@ -4939,25 +5600,25 @@ msgstr ""
|
|
4939 |
"\">Einstellungen</a> können nachträglich angepasst werden."
|
4940 |
|
4941 |
# @ woocommerce-germanized
|
4942 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4943 |
msgid "Setup"
|
4944 |
msgstr "Setup"
|
4945 |
|
4946 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4947 |
msgid "Germanized › Setup Wizard"
|
4948 |
msgstr "Germanized › Setup"
|
4949 |
|
4950 |
# @ woocommerce-germanized
|
4951 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4952 |
msgid "Skip Step"
|
4953 |
msgstr "Schritt überspringen"
|
4954 |
|
4955 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4956 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4957 |
msgid "Continue"
|
4958 |
msgstr "Weiter"
|
4959 |
|
4960 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4961 |
msgid "Return to WP Admin"
|
4962 |
msgstr "Zurück zu WP Admin"
|
4963 |
|
@@ -5006,7 +5667,7 @@ msgid "Welcome to Germanized"
|
|
5006 |
msgstr "Willkommen bei Germanized"
|
5007 |
|
5008 |
# @ woocommerce-germanized
|
5009 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-welcome.php:
|
5010 |
msgid "Go to Germanized Settings"
|
5011 |
msgstr "Germanized Einstellungen"
|
5012 |
|
@@ -5024,6 +5685,8 @@ msgstr "Germanized Einstellungen"
|
|
5024 |
#: woocommerce-germanized/includes/class-wc-gzd-dependencies.php:65
|
5025 |
#: woocommerce-germanized/includes/class-wc-gzd-hook-priorities.php:35
|
5026 |
#: woocommerce-germanized/includes/class-wc-gzd-hook-priorities.php:44
|
|
|
|
|
5027 |
#: woocommerce-germanized/includes/class-wc-gzd-product-attribute-helper.php:21
|
5028 |
#: woocommerce-germanized/includes/class-wc-gzd-product-attribute-helper.php:30
|
5029 |
#: woocommerce-germanized/includes/export/class-wc-gzd-product-export.php:23
|
@@ -5035,54 +5698,56 @@ msgstr "Germanized Einstellungen"
|
|
5035 |
msgid "Cheatin’ huh?"
|
5036 |
msgstr "So geht das leider nicht.."
|
5037 |
|
5038 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
|
|
5039 |
msgctxt "dhl"
|
5040 |
msgid "Action failed. Please refresh the page and retry."
|
5041 |
msgstr ""
|
5042 |
"Aktion fehlgeschlagen. Bitte aktualisiere die Seite und versuchen es erneut."
|
5043 |
|
5044 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
|
|
5045 |
msgctxt "dhl"
|
5046 |
msgid "You don't have permission to do this."
|
5047 |
msgstr "Du bist leider nicht berechtigt, diese Aktion durchzuführen."
|
5048 |
|
5049 |
# @ woocommerce-germanized
|
5050 |
#. Plugin Name of the plugin/theme
|
5051 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5052 |
msgid "Germanized for WooCommerce"
|
5053 |
msgstr "Germanized für WooCommerce"
|
5054 |
|
5055 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5056 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:45
|
5057 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:58
|
5058 |
msgid "Yes"
|
5059 |
msgstr "Ja"
|
5060 |
|
5061 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5062 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:58
|
5063 |
msgid "No"
|
5064 |
msgstr "Nein"
|
5065 |
|
5066 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5067 |
msgid "Paid for order notification manually sent to customer."
|
5068 |
msgstr "Bestellung bezahlt manuell an den Kunden versendet."
|
5069 |
|
5070 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5071 |
msgid "Order confirmation manually sent to customer."
|
5072 |
msgstr "Bestellbestätigung manuell an den Kunden versendet."
|
5073 |
|
5074 |
# @ woocommerce-germanized
|
5075 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5076 |
msgid "Resend order confirmation"
|
5077 |
msgstr "Bestellbestätigung erneut versenden"
|
5078 |
|
5079 |
# @ woocommerce-germanized
|
5080 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5081 |
msgid "Send paid for order notification"
|
5082 |
msgstr "Bestellung bezahlt manuell versenden"
|
5083 |
|
5084 |
# @ woocommerce-germanized
|
5085 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5086 |
#: woocommerce-germanized/includes/admin/settings/abstract-wc-gzd-settings-tab.php:114
|
5087 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-germanized.php:23
|
5088 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:9
|
@@ -5090,38 +5755,38 @@ msgstr "Bestellung bezahlt manuell versenden"
|
|
5090 |
msgid "Germanized"
|
5091 |
msgstr "Germanized"
|
5092 |
|
5093 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5094 |
msgid "Parcel Delivery Data Transfer:"
|
5095 |
msgstr "Paketdienstleister Datenweitergabe:"
|
5096 |
|
5097 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5098 |
msgid "allowed"
|
5099 |
msgstr "akzeptiert"
|
5100 |
|
5101 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5102 |
msgid "not allowed"
|
5103 |
msgstr "nicht akzeptiert"
|
5104 |
|
5105 |
# @ woocommerce-germanized
|
5106 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5107 |
msgid "Optional Email Content"
|
5108 |
msgstr "Optionaler E-Mail Inhalt"
|
5109 |
|
5110 |
# @ woocommerce-germanized
|
5111 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5112 |
msgid "Add content which will be replacing default page content within emails."
|
5113 |
msgstr ""
|
5114 |
"Fülle dieses Feld aus um einen abweichenden E-Mail Anhangstext für diese "
|
5115 |
"Seite zu bestimmen."
|
5116 |
|
5117 |
# @ woocommerce-germanized
|
5118 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5119 |
#: woocommerce-germanized/includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:152
|
5120 |
msgid "Optional Mini Description"
|
5121 |
msgstr "Warenkorb Kurzbeschreibung"
|
5122 |
|
5123 |
# @ woocommerce-germanized
|
5124 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5125 |
msgid ""
|
5126 |
"This content will be shown as short product description within checkout and "
|
5127 |
"emails."
|
@@ -5343,6 +6008,7 @@ msgstr ""
|
|
5343 |
"lasse Germanized einfach deine bestehenden Einstellungen importieren."
|
5344 |
|
5345 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:35
|
|
|
5346 |
msgctxt "dhl"
|
5347 |
msgid "No need to use an external plugin which might lead to incompatibilities"
|
5348 |
msgstr ""
|
@@ -5350,6 +6016,7 @@ msgstr ""
|
|
5350 |
"bessere Performance"
|
5351 |
|
5352 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:36
|
|
|
5353 |
#, php-format
|
5354 |
msgctxt "dhl"
|
5355 |
msgid ""
|
@@ -5360,6 +6027,7 @@ msgstr ""
|
|
5360 |
"Services pro Versandart und %s"
|
5361 |
|
5362 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:36
|
|
|
5363 |
msgctxt "dhl"
|
5364 |
msgid "many more"
|
5365 |
msgstr "und viele mehr"
|
@@ -5373,15 +6041,46 @@ msgstr ""
|
|
5373 |
"Sendungen und Retouren"
|
5374 |
|
5375 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:47
|
|
|
5376 |
msgctxt "dhl"
|
5377 |
msgid "Import settings and activate"
|
5378 |
msgstr "Einstellungen importieren und loslegen"
|
5379 |
|
5380 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:53
|
|
|
5381 |
msgctxt "dhl"
|
5382 |
msgid "Learn more"
|
5383 |
msgstr "Mehr erfahren"
|
5384 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5385 |
# @ woocommerce-germanized
|
5386 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-pro.php:23
|
5387 |
msgid "For professionals: Upgrade to Pro-Version"
|
@@ -5536,11 +6235,11 @@ msgstr ""
|
|
5536 |
msgid "Run the updater"
|
5537 |
msgstr "Update starten"
|
5538 |
|
5539 |
-
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note.php:
|
5540 |
msgid "Not now"
|
5541 |
msgstr "Nicht jetzt"
|
5542 |
|
5543 |
-
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note.php:
|
5544 |
msgctxt "woocommerce-germanized"
|
5545 |
msgid "Deactivate"
|
5546 |
msgstr "Deaktivieren"
|
@@ -5577,6 +6276,7 @@ msgid "Upgrade now"
|
|
5577 |
msgstr "Jetzt upgraden"
|
5578 |
|
5579 |
#: woocommerce-germanized/includes/admin/settings/abstract-wc-gzd-settings-tab.php:152
|
|
|
5580 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-invoices.php:61
|
5581 |
msgid "Learn more"
|
5582 |
msgstr "Mehr erfahren"
|
@@ -5597,7 +6297,7 @@ msgstr ""
|
|
5597 |
|
5598 |
# @ woocommerce-germanized
|
5599 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-pointers.php:92
|
5600 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
5601 |
msgid "Status"
|
5602 |
msgstr "Status"
|
5603 |
|
@@ -5881,7 +6581,7 @@ msgstr ""
|
|
5881 |
"Checkbox bearbeiten indem du auf den Link klickst."
|
5882 |
|
5883 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-checkboxes.php:62
|
5884 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
5885 |
msgid "Label"
|
5886 |
msgstr "Beschriftung"
|
5887 |
|
@@ -5951,17 +6651,14 @@ msgid "pro"
|
|
5951 |
msgstr "Pro"
|
5952 |
|
5953 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:19
|
5954 |
-
msgid ""
|
5955 |
-
"Integrate DHL Services such as Labels for Shipments and Returns and Delivery "
|
5956 |
-
"to Packstations."
|
5957 |
msgstr ""
|
5958 |
-
"Erzeuge bequem DHL Labels
|
5959 |
-
"
|
5960 |
|
5961 |
-
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:
|
5962 |
-
|
5963 |
-
|
5964 |
-
msgstr "Noch kein Geschäftskunde?"
|
5965 |
|
5966 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:17
|
5967 |
msgid "Extend the WooCommerce registration process with a double opt in."
|
@@ -6115,8 +6812,8 @@ msgstr ""
|
|
6115 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-customers-controller.php:144
|
6116 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-orders-controller.php:138
|
6117 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-orders-controller.php:145
|
6118 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
6119 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
6120 |
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:131
|
6121 |
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:139
|
6122 |
msgid "Title"
|
@@ -6582,7 +7279,7 @@ msgstr ""
|
|
6582 |
"Platzhalter für den höchsten Preis."
|
6583 |
|
6584 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:294
|
6585 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
6586 |
msgid "{min_price} – {max_price}"
|
6587 |
msgstr "{min_price} – {max_price}"
|
6588 |
|
@@ -7201,6 +7898,7 @@ msgstr "Steuern"
|
|
7201 |
|
7202 |
# @ woocommerce-germanized
|
7203 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-taxes.php:30
|
|
|
7204 |
msgid "VAT"
|
7205 |
msgstr "Umsatzsteuer"
|
7206 |
|
@@ -7455,14 +8153,14 @@ msgstr ""
|
|
7455 |
# @ woocommerce-germanized
|
7456 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:11
|
7457 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:27
|
7458 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
7459 |
msgid "Name"
|
7460 |
msgstr "Name"
|
7461 |
|
7462 |
# @ woocommerce-germanized
|
7463 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:12
|
7464 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:29
|
7465 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
7466 |
#: woocommerce-germanized/includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php:888
|
7467 |
#: woocommerce-germanized/includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:124
|
7468 |
msgid "Description"
|
@@ -7475,7 +8173,7 @@ msgstr "Aktiviert"
|
|
7475 |
|
7476 |
# @ woocommerce-germanized
|
7477 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:14
|
7478 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
7479 |
msgid "Mandatory"
|
7480 |
msgstr "Pflichtfeld"
|
7481 |
|
@@ -7850,6 +8548,26 @@ msgid "Let Germanized help you to adjust your WooCommerce settings for %s."
|
|
7850 |
msgstr ""
|
7851 |
"Lasse Germanized deine WooCommerce-Einstellungen speziell für %s anpassen."
|
7852 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7853 |
# @ woocommerce-germanized
|
7854 |
#: woocommerce-germanized/includes/admin/views/setup/settings.php:7
|
7855 |
msgid "Adjust Germanized"
|
@@ -8100,31 +8818,31 @@ msgid "Number of published products for the resource."
|
|
8100 |
msgstr "Anzahl der veröffentlichten Produkte für die Ressource."
|
8101 |
|
8102 |
# @ woocommerce-germanized
|
8103 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8104 |
#, php-format
|
8105 |
msgid "%s [new]"
|
8106 |
msgstr "%s [neu]"
|
8107 |
|
8108 |
# @ woocommerce-germanized
|
8109 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8110 |
msgctxt "revocation-form"
|
8111 |
msgid "is not a valid email address."
|
8112 |
msgstr "ist leider keine valide E-Mail Adresse."
|
8113 |
|
8114 |
# @ woocommerce-germanized
|
8115 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8116 |
msgctxt "revocation-form"
|
8117 |
msgid "Please enter a valid postcode/ZIP"
|
8118 |
msgstr "Bitte gib eine echte Postleitzahl ein"
|
8119 |
|
8120 |
# @ woocommerce-germanized
|
8121 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8122 |
msgctxt "revocation-form"
|
8123 |
msgid "is not valid."
|
8124 |
msgstr "ist leider nicht korrekt."
|
8125 |
|
8126 |
# @ woocommerce-germanized
|
8127 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8128 |
msgctxt "revocation-form"
|
8129 |
msgid ""
|
8130 |
"Thank you. We have received your Revocation Request. You will receive a "
|
@@ -8133,7 +8851,7 @@ msgstr ""
|
|
8133 |
"Vielen Dank. Wir haben deinen Widerruf erhalten. Du bekommst in Kürze eine E-"
|
8134 |
"Mail mit deinen Daten als Bestätigung."
|
8135 |
|
8136 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
8137 |
msgid ""
|
8138 |
"Sorry, but differential taxed products cannot be purchased with normal "
|
8139 |
"products at the same time."
|
@@ -8141,7 +8859,7 @@ msgstr ""
|
|
8141 |
"Entschuldigung, differenzbesteuerte Produkte können nicht gemeinsam mit "
|
8142 |
"normalen Produkten gekauft werden."
|
8143 |
|
8144 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
8145 |
msgid ""
|
8146 |
"Sorry, but normal products cannot be purchased together with differential "
|
8147 |
"taxed products at the same time."
|
@@ -8150,23 +8868,23 @@ msgstr ""
|
|
8150 |
"differenzbesteuerten Produkten gekauft werden."
|
8151 |
|
8152 |
# @ woocommerce-germanized
|
8153 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
8154 |
#: woocommerce-germanized/includes/class-wc-gzd-revocation.php:52
|
8155 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
8156 |
msgid "Mr."
|
8157 |
msgstr "Herr"
|
8158 |
|
8159 |
# @ woocommerce-germanized
|
8160 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
8161 |
msgctxt "customer-title-male-address"
|
8162 |
msgid "Mr."
|
8163 |
msgstr "Herrn"
|
8164 |
|
8165 |
-
#: woocommerce-germanized/includes/class-wc-gzd-coupon-helper.php:
|
8166 |
msgid "Is voucher?"
|
8167 |
msgstr "Wertgutschein?"
|
8168 |
|
8169 |
-
#: woocommerce-germanized/includes/class-wc-gzd-coupon-helper.php:
|
8170 |
#, php-format
|
8171 |
msgid ""
|
8172 |
"Whether or not this coupon is a voucher which has been sold to a customer "
|
@@ -8215,28 +8933,28 @@ msgstr "Sorry, dieser Aktivierungscode ist uns leider nicht bekannt."
|
|
8215 |
msgid "Thank you. You have successfully activated your account."
|
8216 |
msgstr "Vielen Dank. Dein Benutzerkonto wurde erfolgreich aktiviert."
|
8217 |
|
8218 |
-
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:
|
8219 |
msgid "Expired activation key"
|
8220 |
msgstr "Abgelaufener Aktivierungscode"
|
8221 |
|
8222 |
-
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:
|
8223 |
msgid "Invalid activation key"
|
8224 |
msgstr "Aktivierungscode ungültig"
|
8225 |
|
8226 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8227 |
msgid "BCC recipients"
|
8228 |
msgstr "BCC Empfänger"
|
8229 |
|
8230 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8231 |
msgid "Enter blind-copy recipients (comma separated) for this email."
|
8232 |
msgstr "Füge Empfänger (kommasepariert) einer Blindkopie für diese E-Mail ein."
|
8233 |
|
8234 |
# @ woocommerce-germanized
|
8235 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8236 |
msgid "Confirmation text"
|
8237 |
msgstr "Bestätigung Text"
|
8238 |
|
8239 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8240 |
msgid ""
|
8241 |
"Your order has been received and is now being processed. Your order details "
|
8242 |
"are shown below for your reference:"
|
@@ -8245,7 +8963,7 @@ msgstr ""
|
|
8245 |
"deiner Bestellung kannst du der nachfolgenden Tabelle entnehmen:"
|
8246 |
|
8247 |
# @ woocommerce-germanized
|
8248 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8249 |
msgid ""
|
8250 |
"This text will be inserted within the order confirmation email. Use "
|
8251 |
"{order_number}, {site_title} or {order_date} as placeholder."
|
@@ -8253,7 +8971,7 @@ msgstr ""
|
|
8253 |
"Dieser Text wird in die Bestellbestätigung eingefügt. Verwende "
|
8254 |
"{order_number}, {site_title} oder {order_date} als Platzhalter."
|
8255 |
|
8256 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8257 |
msgid ""
|
8258 |
"Your order has been received and is now being processed. Your order details "
|
8259 |
"are shown below for your reference."
|
@@ -8261,18 +8979,18 @@ msgstr ""
|
|
8261 |
"Deine Bestellung ist eingegangen und wird nun bearbeitet. Die Einzelheiten "
|
8262 |
"deiner Bestellung kannst du der nachfolgenden Tabelle entnehmen."
|
8263 |
|
8264 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8265 |
msgid "Someone requested a password reset for your account."
|
8266 |
msgstr ""
|
8267 |
"Jemand hat das Zurücksetzen des Passworts für deinen Account beantragt."
|
8268 |
|
8269 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8270 |
#, php-format
|
8271 |
msgid "Thanks for creating an account on %s."
|
8272 |
msgstr "Danke, dass du ein Konto bei %s erstellt hast."
|
8273 |
|
8274 |
# @ woocommerce-germanized
|
8275 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8276 |
msgctxt "revocation-form"
|
8277 |
msgid "Forward your Revocation online"
|
8278 |
msgstr "Deinen Widerruf online erklären"
|
@@ -8287,85 +9005,85 @@ msgstr ""
|
|
8287 |
"Bitte installiere <a href=\"%s\" target=\"_blank\">WooCommerce</a> bevor du "
|
8288 |
"WooCommerce Germanized installierst. Vielen Dank!"
|
8289 |
|
8290 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8291 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8292 |
msgid "Reduced rate"
|
8293 |
msgstr "Ermäßigter Steuersatz"
|
8294 |
|
8295 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8296 |
#, php-format
|
8297 |
msgctxt "vat-rate-import"
|
8298 |
msgid "VAT %s"
|
8299 |
msgstr "MwSt. %s"
|
8300 |
|
8301 |
# @ woocommerce-germanized
|
8302 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8303 |
msgctxt "Page slug"
|
8304 |
msgid "data-security"
|
8305 |
msgstr "datenschutzerklaerung"
|
8306 |
|
8307 |
# @ woocommerce-germanized
|
8308 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8309 |
msgctxt "Page title"
|
8310 |
msgid "Data Security Statement"
|
8311 |
msgstr "Datenschutzerklärung"
|
8312 |
|
8313 |
# @ woocommerce-germanized
|
8314 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8315 |
msgctxt "Page slug"
|
8316 |
msgid "imprint"
|
8317 |
msgstr "impressum"
|
8318 |
|
8319 |
# @ woocommerce-germanized
|
8320 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8321 |
msgctxt "Page title"
|
8322 |
msgid "Imprint"
|
8323 |
msgstr "Impressum"
|
8324 |
|
8325 |
# @ woocommerce-germanized
|
8326 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8327 |
msgctxt "Page slug"
|
8328 |
msgid "terms"
|
8329 |
msgstr "agb"
|
8330 |
|
8331 |
# @ woocommerce-germanized
|
8332 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8333 |
msgctxt "Page title"
|
8334 |
msgid "Terms & Conditions"
|
8335 |
msgstr "AGB"
|
8336 |
|
8337 |
# @ woocommerce-germanized
|
8338 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8339 |
msgctxt "Page slug"
|
8340 |
msgid "revocation"
|
8341 |
msgstr "widerrufsbelehrung"
|
8342 |
|
8343 |
# @ woocommerce-germanized
|
8344 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8345 |
msgctxt "Page title"
|
8346 |
msgid "Power of Revocation"
|
8347 |
msgstr "Widerrufsbelehrung"
|
8348 |
|
8349 |
# @ woocommerce-germanized
|
8350 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8351 |
msgctxt "Page slug"
|
8352 |
msgid "shipping-methods"
|
8353 |
msgstr "versandarten"
|
8354 |
|
8355 |
# @ woocommerce-germanized
|
8356 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8357 |
msgctxt "Page title"
|
8358 |
msgid "Shipping Methods"
|
8359 |
msgstr "Versandarten"
|
8360 |
|
8361 |
# @ woocommerce-germanized
|
8362 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8363 |
msgctxt "Page slug"
|
8364 |
msgid "payment-methods"
|
8365 |
msgstr "bezahlmoeglichkeiten"
|
8366 |
|
8367 |
# @ woocommerce-germanized
|
8368 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8369 |
msgctxt "Page title"
|
8370 |
msgid "Payment Methods"
|
8371 |
msgstr "Zahlungsarten"
|
@@ -8583,12 +9301,18 @@ msgstr "Kontrolliere bitte %s. Hier fehlt eine Einwilligung."
|
|
8583 |
msgid "Checkbox with name %s does already exist."
|
8584 |
msgstr "Eine Checkbox mit dem Namen %s existiert bereits."
|
8585 |
|
|
|
|
|
|
|
|
|
|
|
|
|
8586 |
# @ woocommerce-germanized
|
8587 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8588 |
msgid "Enable checkbox"
|
8589 |
msgstr "Checkbox aktivieren"
|
8590 |
|
8591 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8592 |
msgid ""
|
8593 |
"Choose a name to identify your checkbox. Upon creating a new checkbox, this "
|
8594 |
"value is being used to generate the Id."
|
@@ -8596,11 +9320,11 @@ msgstr ""
|
|
8596 |
"Wähle einen Namen aus, um deine Checkbox zu identifizieren. Bei Erstellung "
|
8597 |
"einer neuen Checkbox wird dieser Wert verwendet um eine Id zu erstellen."
|
8598 |
|
8599 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8600 |
msgid "Id"
|
8601 |
msgstr "Id"
|
8602 |
|
8603 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8604 |
msgid ""
|
8605 |
"The checkbox Id is the unique indentifier which is used to identify the "
|
8606 |
"checkbox within the code. Cannot be edited after creating the checkbox."
|
@@ -8609,25 +9333,25 @@ msgstr ""
|
|
8609 |
"Code heraus zugreifbar zu machen. Kann nach dem Erstellen einer Checkbox "
|
8610 |
"nicht mehr verändert werden."
|
8611 |
|
8612 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8613 |
msgid "Describe the use case of your checkbox."
|
8614 |
msgstr "Beschreibe hier den Use-Case deiner Checkbox."
|
8615 |
|
8616 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8617 |
msgid "Choose a label to be inserted next to the checkbox."
|
8618 |
msgstr "Wähle eine Beschriftung aus, die neben der Checkbox platziert wird."
|
8619 |
|
8620 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8621 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8622 |
#, php-format
|
8623 |
msgid "You may use one of the following placeholders within the text: %s"
|
8624 |
msgstr "Du kannst einen der folgenden Platzhalter in deinem Text verwenden: %s"
|
8625 |
|
8626 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8627 |
msgid "Error Message"
|
8628 |
msgstr "Fehlermeldung"
|
8629 |
|
8630 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8631 |
msgid ""
|
8632 |
"Choose an error message to be shown when the user has not confirmed the "
|
8633 |
"checkbox."
|
@@ -8636,25 +9360,25 @@ msgstr ""
|
|
8636 |
"die Checkbox nicht bestätigt hat."
|
8637 |
|
8638 |
# @ woocommerce-germanized
|
8639 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8640 |
msgid "Hide input"
|
8641 |
msgstr "Ausblenden"
|
8642 |
|
8643 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8644 |
msgid "Do only show a label and hide the actual checkbox."
|
8645 |
msgstr ""
|
8646 |
"Zeige lediglich die Beschriftung und entferne die eigentliche Checkbox."
|
8647 |
|
8648 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8649 |
msgid "Mark the checkbox as mandatory."
|
8650 |
msgstr "Checkbox zum Pflichtfeld machen."
|
8651 |
|
8652 |
# @ woocommerce-germanized
|
8653 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8654 |
msgid "Locations"
|
8655 |
msgstr "Orte"
|
8656 |
|
8657 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8658 |
msgid "Choose where to display your checkbox."
|
8659 |
msgstr "Wähle einen Ort aus, an dem die Checkbox platziert werden soll."
|
8660 |
|
@@ -8931,8 +9655,8 @@ msgstr "Anrede"
|
|
8931 |
|
8932 |
# @ woocommerce-germanized
|
8933 |
#: woocommerce-germanized/includes/class-wc-gzd-revocation.php:53
|
8934 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
8935 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
8936 |
msgid "Ms."
|
8937 |
msgstr "Frau"
|
8938 |
|
@@ -9791,6 +10515,24 @@ msgstr "Widerrufsrecht"
|
|
9791 |
msgid "Data Security"
|
9792 |
msgstr "Datenschutzerklärung"
|
9793 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9794 |
# @ woocommerce-germanized
|
9795 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:225
|
9796 |
#: woocommerce-germanized/templates/checkout/edit-data-notice.php:25
|
@@ -10142,7 +10884,7 @@ msgctxt "revocation-form"
|
|
10142 |
msgid "Forward Revocation"
|
10143 |
msgstr "Widerruf erklären"
|
10144 |
|
10145 |
-
#: woocommerce-germanized/templates/global/complaints.php:
|
10146 |
msgid ""
|
10147 |
"Alternative Dispute Resolution in accordance with Art. 14 (1) ODR-VO and § "
|
10148 |
"36 VSBG:"
|
@@ -10164,7 +10906,7 @@ msgstr "Germanized benötigt mindestens PHP 5.6. Bitte %s deine PHP-Version."
|
|
10164 |
msgid "upgrade"
|
10165 |
msgstr "Upgrade"
|
10166 |
|
10167 |
-
#: woocommerce-germanized/woocommerce-germanized.php:
|
10168 |
#, php-format
|
10169 |
msgid ""
|
10170 |
"This version of the Corona Helper Plugin includes a bug which could lead to "
|
@@ -11412,6 +12154,50 @@ msgstr "vendidero"
|
|
11412 |
msgid "https://vendidero.de"
|
11413 |
msgstr "https://vendidero.de"
|
11414 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11415 |
#~ msgid "PDF Layout"
|
11416 |
#~ msgstr "PDF Layout"
|
11417 |
|
@@ -11656,10 +12442,6 @@ msgstr "https://vendidero.de"
|
|
11656 |
#~ msgid "Invalid shipment"
|
11657 |
#~ msgstr "Ungültige Sendung"
|
11658 |
|
11659 |
-
#~ msgctxt "dhl"
|
11660 |
-
#~ msgid "Tracking"
|
11661 |
-
#~ msgstr "Sendungsverfolgung"
|
11662 |
-
|
11663 |
#, php-format
|
11664 |
#~ msgctxt "dhl"
|
11665 |
#~ msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce Germanized\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2020-12-07 11:55+0100\n"
|
6 |
+
"PO-Revision-Date: 2020-12-07 11:56+0100\n"
|
7 |
"Last-Translator: holzhannes <holzhannes@posteo.de>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: de_DE\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
14 |
+
"X-Generator: Poedit 2.4.2\n"
|
15 |
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
17 |
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
|
39 |
"X-Poedit-SearchPathExcluded-12: woocommerce-trusted-shops/build\n"
|
40 |
"X-Poedit-SearchPathExcluded-13: woocommerce-germanized/assets\n"
|
41 |
|
42 |
+
# @ woocommerce-germanized
|
43 |
+
#: woocommerce-germanized-dhl/includes/admin/views/html-deutsche-post-additional-services.php:14
|
44 |
+
msgctxt "dhl"
|
45 |
+
msgid "Additional Services"
|
46 |
+
msgstr "Zusätzliche Leistungen"
|
47 |
+
|
48 |
+
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-deutsche-post-label-backbone-form.php:30
|
49 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:494
|
50 |
+
#, php-format
|
51 |
+
msgid ""
|
52 |
+
"Sorry but none of your selected <a href=\"%s\">Deutsche Post Products</a> is "
|
53 |
+
"available for this shipment. Please verify your shipment data (e.g. weight) "
|
54 |
+
"and try again."
|
55 |
+
msgstr ""
|
56 |
+
"Leider sind keine der von dir ausgewählten <a href=\"%s\">Deutsche Post "
|
57 |
+
"Produkte</a> verfügbar für diese Sendung. Bitte prüfe die Sendungsdaten (z."
|
58 |
+
"B. Gewicht) und versuche es erneut."
|
59 |
+
|
60 |
+
# @ woocommerce-germanized
|
61 |
+
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-deutsche-post-label-backbone-form.php:37
|
62 |
+
msgctxt "dhl"
|
63 |
+
msgid "Product"
|
64 |
+
msgstr "Produkt"
|
65 |
+
|
66 |
+
# @ woocommerce-germanized
|
67 |
+
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-deutsche-post-label-backbone-form.php:55
|
68 |
+
msgctxt "dhl"
|
69 |
+
msgid "Page Format"
|
70 |
+
msgstr "Seitenformat"
|
71 |
+
|
72 |
# @ woocommerce-germanized
|
73 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:18
|
74 |
msgctxt "dhl"
|
86 |
msgstr "Zollabgabe"
|
87 |
|
88 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:65
|
89 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:141
|
90 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:974
|
91 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:29
|
92 |
msgctxt "dhl"
|
93 |
msgid "Preferred Day"
|
101 |
|
102 |
# @ woocommerce-germanized
|
103 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:87
|
104 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:169
|
105 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:994
|
106 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:43
|
107 |
msgctxt "dhl"
|
108 |
msgid "Preferred Location"
|
109 |
msgstr "Wunschort"
|
110 |
|
111 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:98
|
112 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1002
|
113 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:48
|
114 |
msgctxt "dhl"
|
115 |
msgid "Preferred Neighbor"
|
122 |
|
123 |
# @ woocommerce-germanized
|
124 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:121
|
125 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:761
|
126 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:830
|
127 |
msgctxt "dhl"
|
128 |
msgid "Name"
|
129 |
msgstr "Name"
|
130 |
|
131 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:130
|
132 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:768
|
133 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:837
|
134 |
msgctxt "dhl"
|
135 |
msgid "Company"
|
136 |
msgstr "Firma"
|
137 |
|
138 |
# @ woocommerce-germanized
|
139 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:139
|
140 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:590
|
141 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:775
|
142 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:844
|
143 |
msgctxt "dhl"
|
144 |
msgid "Street"
|
145 |
msgstr "Straße"
|
152 |
|
153 |
# @ woocommerce-germanized
|
154 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:159
|
155 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:591
|
156 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:796
|
157 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:865
|
158 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:27
|
159 |
msgctxt "dhl"
|
160 |
msgid "Postcode"
|
162 |
|
163 |
# @ woocommerce-germanized
|
164 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:168
|
165 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:592
|
166 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:789
|
167 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:858
|
168 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:30
|
169 |
msgctxt "dhl"
|
170 |
msgid "City"
|
171 |
msgstr "Stadt"
|
172 |
|
173 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:179
|
174 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:812
|
175 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:881
|
176 |
msgctxt "dhl"
|
177 |
msgid "Phone"
|
178 |
msgstr "Telefon"
|
179 |
|
180 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:188
|
181 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:819
|
182 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:888
|
183 |
msgctxt "dhl"
|
184 |
msgid "Email"
|
185 |
msgstr "E-Mail"
|
207 |
|
208 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:228
|
209 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:331
|
210 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:534
|
211 |
msgctxt "dhl"
|
212 |
msgid "GoGreen"
|
213 |
msgstr "GoGreen"
|
229 |
msgstr "Keine Nachbarschaftszustellung"
|
230 |
|
231 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:272
|
232 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:562
|
233 |
msgctxt "dhl"
|
234 |
msgid "Named person only"
|
235 |
msgstr "Persönliche Übergabe"
|
256 |
msgstr "Mindestalter"
|
257 |
|
258 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:322
|
259 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:606
|
260 |
msgctxt "dhl"
|
261 |
msgid "Premium"
|
262 |
msgstr "Premium"
|
268 |
msgstr "Empfänger"
|
269 |
|
270 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:15
|
271 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1461
|
272 |
msgctxt "dhl"
|
273 |
msgid "DHL Labels"
|
274 |
msgstr "DHL Labels"
|
301 |
|
302 |
# @ woocommerce-germanized
|
303 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:41
|
304 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:106
|
305 |
msgctxt "dhl"
|
306 |
+
msgid "Label Automation"
|
307 |
+
msgstr "Label Automatisierung"
|
308 |
|
309 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:44
|
310 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:109
|
311 |
#, php-format
|
312 |
msgctxt "dhl"
|
313 |
msgid ""
|
347 |
"überschreiben die <a href=\"%s\">globalen Einstellungen</a>."
|
348 |
|
349 |
# @ woocommerce-germanized
|
350 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:81
|
351 |
+
msgctxt "dhl"
|
352 |
+
msgid "Deutsche Post Labels"
|
353 |
+
msgstr "Deutsche Post Labels"
|
354 |
+
|
355 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:84
|
356 |
+
#, php-format
|
357 |
+
msgctxt "dhl"
|
358 |
+
msgid ""
|
359 |
+
"Adjust Deutsche Post label settings. Changes override <a href=\"%s\">global "
|
360 |
+
"settings</a>."
|
361 |
+
msgstr ""
|
362 |
+
"Deutsche Post Label Einstellungen anpassen. Änderungen überschreiben die <a "
|
363 |
+
"href=\"%s\">globalen Einstellungen</a>."
|
364 |
+
|
365 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:94
|
366 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1352
|
367 |
+
msgctxt "dhl"
|
368 |
+
msgid "Printing"
|
369 |
+
msgstr "Druck"
|
370 |
+
|
371 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:97
|
372 |
+
#, php-format
|
373 |
+
msgctxt "dhl"
|
374 |
+
msgid ""
|
375 |
+
"Adjust label printing settings. Changes override <a href=\"%s\">global "
|
376 |
+
"settings</a>."
|
377 |
+
msgstr ""
|
378 |
+
"Druck-Einstellungen für Label anpassen. Änderungen überschreiben die <a href="
|
379 |
+
"\"%s\">globalen Einstellungen</a>."
|
380 |
+
|
381 |
+
# @ woocommerce-germanized
|
382 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:160
|
383 |
msgctxt "dhl time context"
|
384 |
msgid "None"
|
385 |
msgstr "Keine"
|
386 |
|
387 |
# @ woocommerce-germanized
|
388 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:170
|
389 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:280
|
390 |
msgctxt "dhl day context"
|
391 |
msgid "None"
|
392 |
msgstr "Keiner"
|
393 |
|
394 |
# @ woocommerce-germanized
|
395 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:195
|
396 |
msgctxt "dhl"
|
397 |
msgid "Delivery Duty Unpaid"
|
398 |
msgstr "Delivery Duty Unpaid"
|
399 |
|
400 |
# @ woocommerce-germanized
|
401 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:196
|
402 |
msgctxt "dhl"
|
403 |
msgid "Delivery Duty Paid"
|
404 |
msgstr "Delivery Duty Paid"
|
405 |
|
406 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:197
|
407 |
msgctxt "dhl"
|
408 |
msgid "Delivery Duty Paid (excl. VAT )"
|
409 |
msgstr "Delivered Duty Paid (exkl. MwSt.)"
|
410 |
|
411 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:198
|
412 |
msgctxt "dhl"
|
413 |
msgid "Delivery Duty Paid (excl. Duties, taxes and VAT)"
|
414 |
msgstr "Delivery Duty Paid (exkl. Zölle, Steuern und MwSt.)"
|
415 |
|
416 |
# @ woocommerce-germanized
|
417 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:226
|
418 |
msgctxt "age context"
|
419 |
msgid "None"
|
420 |
msgstr "Keine"
|
421 |
|
422 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:227
|
423 |
msgctxt "dhl"
|
424 |
msgid "Minimum age of 16"
|
425 |
msgstr "Mindestens 16 Jahre"
|
426 |
|
427 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:228
|
428 |
msgctxt "dhl"
|
429 |
msgid "Minimum age of 18"
|
430 |
msgstr "Mindestens 18 Jahre"
|
431 |
|
432 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:253
|
433 |
msgctxt "dhl"
|
434 |
msgid "Shipment #{shipment_id} to order {order_id}"
|
435 |
msgstr "Sendung #{shipment_id} zur Bestellung {order_id}"
|
436 |
|
437 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:269
|
438 |
msgctxt "dhl"
|
439 |
msgid "Return #{shipment_id} to order {order_id}"
|
440 |
msgstr "Retoure #{shipment_id} zur Bestellung {order_id}"
|
441 |
|
442 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:285
|
443 |
msgctxt "dhl"
|
444 |
msgid "Return shipment #{shipment_id} to order #{order_id}"
|
445 |
msgstr "Retourensendung #{shipment_id} zur Bestellung #{order_id}"
|
446 |
|
447 |
# @ woocommerce-germanized
|
448 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:365
|
449 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:188
|
450 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:496
|
451 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:836
|
452 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:38
|
453 |
msgctxt "dhl"
|
454 |
msgid "Packstation"
|
455 |
msgstr "Packstation"
|
456 |
|
457 |
# @ woocommerce-germanized
|
458 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:366
|
459 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:367
|
460 |
msgctxt "dhl"
|
461 |
msgid "Postfiliale"
|
462 |
msgstr "Postfiliale"
|
463 |
|
464 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:451
|
465 |
msgctxt "dhl"
|
466 |
msgid "Receiver is missing or does not exist."
|
467 |
msgstr "Empfänger fehlt oder existiert nicht."
|
468 |
|
469 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:470
|
470 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:555
|
471 |
#, php-format
|
472 |
msgctxt "dhl"
|
473 |
msgid "Shipment order #%s does not exist"
|
474 |
msgstr "Bestellung zur Sendung #%s existiert nicht"
|
475 |
|
476 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:481
|
477 |
+
msgctxt "dhl"
|
478 |
+
msgid "The services chosen are not available for the current product."
|
479 |
+
msgstr "Die ausgewählten Services sind für dieses Produkt nicht verfügbar."
|
480 |
+
|
481 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:521
|
482 |
+
#, php-format
|
483 |
+
msgctxt "dhl"
|
484 |
+
msgid "Deutsche Post product is missing for %s."
|
485 |
+
msgstr "Deutsche Post Produkt fehlt oder ist nicht verfügbar für %s."
|
486 |
+
|
487 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:597
|
488 |
#, php-format
|
489 |
msgctxt "dhl"
|
490 |
msgid "%s of the return address is a mandatory field."
|
491 |
msgstr "%s der Rücksendeadresse ist ein Pflichtfeld."
|
492 |
|
493 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:602
|
494 |
msgctxt "dhl"
|
495 |
msgid "Please either add a return company or name."
|
496 |
msgstr ""
|
497 |
"Bitte gib entweder einen Firmennamen oder Namen für die Rücksendeadresse an."
|
498 |
|
499 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:621
|
500 |
msgctxt "dhl"
|
501 |
msgid "Error while parsing preferred day."
|
502 |
msgstr "Fehler beim Einlesen des Wunschtags."
|
503 |
|
504 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:632
|
505 |
msgctxt "dhl"
|
506 |
msgid "Error while parsing preferred time."
|
507 |
msgstr "Fehler beim Einlesen der Wunschzeit."
|
508 |
|
509 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:657
|
510 |
msgctxt "dhl"
|
511 |
msgid "The visual min age check is invalid."
|
512 |
msgstr "Das Alter der Alterssichtprüfung ist ungültig."
|
513 |
|
514 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:681
|
515 |
msgctxt "dhl"
|
516 |
msgid "The ident min age check is invalid."
|
517 |
msgstr "Das Alter des Ident-Checks ist ungültig."
|
518 |
|
519 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:688
|
520 |
msgctxt "dhl"
|
521 |
msgid "There was an error parsing the date of birth for the identity check."
|
522 |
msgstr ""
|
523 |
"Beim Einlesen des Geburtsdatums für den Ident-Check trat ein Problem auf."
|
524 |
|
525 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:693
|
526 |
msgctxt "dhl"
|
527 |
msgid ""
|
528 |
"Either a minimum age or a date of birth must be added to the ident check."
|
531 |
"hinzugefügt werden."
|
532 |
|
533 |
# @ woocommerce-germanized
|
534 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:707
|
535 |
#, php-format
|
536 |
msgctxt "dhl"
|
537 |
msgid "%s duties element does not exist."
|
538 |
msgstr "%s Zollabgabe existiert nicht."
|
539 |
|
540 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1299
|
541 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1383
|
542 |
msgctxt "dhl"
|
543 |
msgid "Invalid shipment"
|
544 |
msgstr "Ungültige Sendung"
|
545 |
|
546 |
# @ woocommerce-germanized
|
547 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1303
|
548 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1387
|
549 |
msgctxt "dhl"
|
550 |
msgid "Order does not exist"
|
551 |
msgstr "Bestellung existiert nicht"
|
552 |
|
553 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1335
|
554 |
msgctxt "dhl"
|
555 |
msgid "Error while creating the label instance"
|
556 |
msgstr "Fehler beim Erstellen der Label-Instanz"
|
557 |
|
558 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1455
|
559 |
msgctxt "dhl"
|
560 |
msgid "Invalid label"
|
561 |
msgstr "Ungültiges Label"
|
562 |
|
563 |
# @ woocommerce-germanized
|
564 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1543
|
565 |
msgctxt "dhl"
|
566 |
msgid "DHL Retoure International A"
|
567 |
msgstr "DHL Retoure International A"
|
568 |
|
569 |
# @ woocommerce-germanized
|
570 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1544
|
571 |
msgctxt "dhl"
|
572 |
msgid "DHL Retoure International B"
|
573 |
msgstr "DHL Retoure International B"
|
574 |
|
575 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1553
|
576 |
msgctxt "dhl"
|
577 |
msgid "DHL Retoure Online"
|
578 |
msgstr "DHL Retoure Online"
|
579 |
|
580 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1570
|
581 |
msgctxt "dhl"
|
582 |
msgid "DHL Paket Connect"
|
583 |
msgstr "DHL Paket Connect"
|
584 |
|
585 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1571
|
586 |
msgctxt "dhl"
|
587 |
msgid "DHL Europaket (B2B)"
|
588 |
msgstr "DHL Europaket (B2B)"
|
589 |
|
590 |
# @ woocommerce-germanized
|
591 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1572
|
592 |
msgctxt "dhl"
|
593 |
msgid "DHL Paket International"
|
594 |
msgstr "DHL Paket International"
|
595 |
|
596 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1647
|
597 |
msgctxt "dhl"
|
598 |
msgid "DHL Paket"
|
599 |
msgstr "DHL Paket"
|
600 |
|
601 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1648
|
602 |
msgctxt "dhl"
|
603 |
msgid "DHL Paket PRIO"
|
604 |
msgstr "DHL Paket PRIO"
|
605 |
|
606 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1649
|
607 |
msgctxt "dhl"
|
608 |
msgid "DHL Paket Taggleich"
|
609 |
msgstr "DHL Paket Taggleich"
|
610 |
|
611 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1650
|
612 |
msgctxt "dhl"
|
613 |
+
msgid "DHL Warenpost"
|
614 |
+
msgstr "DHL Warenpost"
|
615 |
|
616 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1737
|
617 |
msgctxt "dhl"
|
618 |
msgid "Error while uploading label."
|
619 |
msgstr "Fehler beim Hochladen des Labels."
|
620 |
|
621 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:57
|
622 |
+
msgctxt "dhl"
|
623 |
+
msgid "Refreshed data successfully."
|
624 |
+
msgstr "Daten erfolgreich aktualisiert."
|
625 |
+
|
626 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:57
|
627 |
+
#, php-format
|
628 |
+
msgctxt "dhl"
|
629 |
+
msgid ""
|
630 |
+
"Error while refreshing data. Please check your Internetmarke <a href=\"%s"
|
631 |
+
"\">logs</a>."
|
632 |
+
msgstr ""
|
633 |
+
"Fehler beim Datenabruf. Bitte prüfe deine Internetmarke <a href=\"%s\">Logs</"
|
634 |
+
"a>."
|
635 |
+
|
636 |
# @ woocommerce-germanized
|
637 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:174
|
638 |
msgctxt "dhl"
|
639 |
msgid "Receiver Ids"
|
640 |
msgstr "Empfänger IDs"
|
641 |
|
642 |
# @ woocommerce-germanized
|
643 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:181
|
644 |
msgctxt "dhl"
|
645 |
msgid "Receiver Id"
|
646 |
msgstr "Empfänger ID"
|
647 |
|
648 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:181
|
649 |
msgctxt "dhl"
|
650 |
msgid "Find your Receiver Ids within your DHL contract data."
|
651 |
msgstr "Die Empfänger IDs findest du im DHL Geschäftskundenportal."
|
652 |
|
653 |
# @ woocommerce-germanized
|
654 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:182
|
655 |
msgctxt "dhl"
|
656 |
msgid "Country Code"
|
657 |
msgstr "Ländercode"
|
658 |
|
659 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:182
|
660 |
msgctxt "dhl"
|
661 |
msgid "Leave empty to use the Receiver Id as fallback."
|
662 |
msgstr "Leer lassen, um diese Empfänger ID als Fallback zu verwenden."
|
663 |
|
664 |
# @ woocommerce-germanized
|
665 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:202
|
666 |
msgctxt "dhl"
|
667 |
msgid "+ Add receiver"
|
668 |
msgstr "+ Empfänger hinzufügen"
|
669 |
|
670 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:202
|
671 |
msgctxt "dhl"
|
672 |
msgid "Remove selected receiver(s)"
|
673 |
msgstr "Ausgewählte Empfänger löschen"
|
674 |
|
675 |
# @ woocommerce-germanized
|
676 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:238
|
677 |
msgctxt "dhl"
|
678 |
msgid "Select a country"
|
679 |
msgstr "Land auswählen"
|
680 |
|
681 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:240
|
682 |
msgctxt "dhl"
|
683 |
+
msgid "HS-Code (DHL)"
|
684 |
+
msgstr "Zolltarifnummer (HS-Code, DHL)"
|
685 |
|
686 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:240
|
687 |
msgctxt "dhl"
|
688 |
+
msgid ""
|
689 |
+
"The HS Code is a number assigned to every possible commodity that can be "
|
690 |
+
"imported or exported from any country."
|
691 |
msgstr ""
|
692 |
+
"Das Harmonisierte System (HS) der Zollnomenklatur ist ein international "
|
693 |
+
"standardisiertes System von Namen und Nummern zur Klassifizierung "
|
694 |
+
"gehandelter Produkte."
|
695 |
|
696 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:241
|
697 |
msgctxt "dhl"
|
698 |
msgid "Country of manufacture (DHL)"
|
699 |
msgstr "Herstellungsland (DHL)"
|
700 |
|
701 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:241
|
702 |
msgctxt "dhl"
|
703 |
msgid ""
|
704 |
"The country of manufacture is needed for customs of international shipping."
|
706 |
"Das Herstellungsland wird für die Zollabwicklung bei internationalen "
|
707 |
"Sendungen benötigt."
|
708 |
|
709 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:262
|
710 |
#, php-format
|
711 |
msgctxt "dhl"
|
712 |
msgid ""
|
716 |
"Das Verzeichnis zum Speichern von DHL Labels fehlt. Bitte erstelle den "
|
717 |
"Ordner %s manuell und stelle sicher, dass der Ordner beschreibbar ist."
|
718 |
|
719 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:269
|
720 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1460
|
721 |
+
#: woocommerce-germanized-dhl/src/ShippingProvider/DHL.php:39
|
722 |
msgctxt "dhl"
|
723 |
msgid "DHL"
|
724 |
msgstr "DHL"
|
725 |
|
726 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:284
|
727 |
msgctxt "dhl"
|
728 |
msgid "DHL Label"
|
729 |
msgstr "DHL Label"
|
730 |
|
731 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:296
|
732 |
msgctxt "dhl"
|
733 |
msgid ""
|
734 |
"This label has been generated by the DHL for WooCommerce Plugin and is shown "
|
738 |
"Kompatibilitäts-Gründen angezeigt."
|
739 |
|
740 |
# @ woocommerce-germanized
|
741 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:297
|
742 |
msgctxt "dhl"
|
743 |
msgid "Download label"
|
744 |
msgstr "Label downloaden"
|
745 |
|
746 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:33
|
747 |
msgctxt "dhl"
|
748 |
msgid "Enable DHL"
|
749 |
msgstr "DHL aktivieren"
|
750 |
|
751 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:34
|
752 |
msgctxt "dhl"
|
753 |
msgid ""
|
754 |
"If you want to ship your shipments via DHL and create labels to your "
|
757 |
"Wenn du deine Sendungen mit DHL verschicken und Labels zu deinen Sendungen "
|
758 |
"erzeugen möchtest, aktiviere die DHL Integration."
|
759 |
|
760 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:47
|
761 |
msgctxt "dhl"
|
762 |
msgid "Customer Number"
|
763 |
msgstr "Kundennummer"
|
764 |
|
765 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:48
|
766 |
msgctxt "dhl"
|
767 |
msgid ""
|
768 |
"Insert your DHL business customer number (EKP) here. If you are not yet a "
|
771 |
"Füge hier deine DHL Kundennummer (EKP) ein. Wenn du noch kein Geschäftskunde "
|
772 |
"bist, solltest du dich zuerst als Geschäftskunde bei DHL registrieren."
|
773 |
|
774 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:61
|
775 |
msgctxt "dhl"
|
776 |
msgid "API Access"
|
777 |
msgstr "API Zugriff"
|
778 |
|
779 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:62
|
780 |
msgctxt "dhl"
|
781 |
msgid ""
|
782 |
"To create labels and embed DHL services, our software needs access to the "
|
786 |
"Software Zugang zur API. Du solltest hier deine Zugangsdaten zum DHL "
|
787 |
"Geschäftskundenportal eingeben."
|
788 |
|
789 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:80
|
790 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:328
|
791 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:477
|
792 |
msgctxt "dhl"
|
793 |
msgid "Inlay Returns"
|
794 |
msgstr "Beilageretouren"
|
795 |
|
796 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:81
|
797 |
msgctxt "dhl"
|
798 |
msgid ""
|
799 |
"If you want to provide your customers with inlay return labels for your "
|
802 |
"Wenn du Beilageretouren-Labels zu deinen Sendungen hinzufügen möchtest, "
|
803 |
"solltest du diese Funktion standardmäßig aktivieren."
|
804 |
|
805 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:94
|
806 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:723
|
807 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:953
|
808 |
msgctxt "dhl"
|
809 |
msgid "Retoure"
|
810 |
msgstr "Retoure"
|
811 |
|
812 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:95
|
813 |
msgctxt "dhl"
|
814 |
msgid ""
|
815 |
"If you want to create DHL labels to returns you should activate this "
|
820 |
"aktivieren. Stelle sicher, dass DHL Online Retoure in deinem Vertrag "
|
821 |
"freigeschaltet ist."
|
822 |
|
823 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:108
|
824 |
msgctxt "dhl"
|
825 |
msgid "Age verification"
|
826 |
msgstr "Altersverifikation"
|
827 |
|
828 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:109
|
829 |
msgctxt "dhl"
|
830 |
msgid ""
|
831 |
"Use this feature to sync the Germanized age verification checkbox with the "
|
838 |
"„Alterssichtprüfung“ von DHL automatisch aktiviert."
|
839 |
|
840 |
# @ woocommerce-germanized
|
841 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:122
|
842 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:747
|
843 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1369
|
844 |
msgctxt "dhl"
|
845 |
msgid "Automation"
|
846 |
msgstr "Automatisierung"
|
847 |
|
848 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:123
|
849 |
msgctxt "dhl"
|
850 |
msgid ""
|
851 |
"You might want to save some time and let Germanized generate labels "
|
855 |
"automatisch erzeugen lassen, sobald eine Sendung in einen bestimmten Status "
|
856 |
"wechselt."
|
857 |
|
858 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:142
|
859 |
msgctxt "dhl"
|
860 |
msgid ""
|
861 |
"Let your customers choose a preferred day (if the service is available at "
|
865 |
"zur Verfügung steht) für die Lieferung in der Kasse auswählen."
|
866 |
|
867 |
# @ woocommerce-germanized
|
868 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:155
|
869 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:982
|
870 |
msgctxt "dhl"
|
871 |
msgid "Fee"
|
872 |
msgstr "Gebühr"
|
873 |
|
874 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:156
|
875 |
msgctxt "dhl"
|
876 |
msgid ""
|
877 |
"Optionally charge your customers an additional fee for preferred services "
|
880 |
"Optional kannst du die Gebühr für die Auswahl des Wunschtags oder anderer "
|
881 |
"Wunschpaket-Services an deine Kunden weiterreichen."
|
882 |
|
883 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:170
|
884 |
msgctxt "dhl"
|
885 |
msgid ""
|
886 |
"Allow your customers to send their parcels to a preferred location e.g. a "
|
889 |
"Lasse deine Kunden einen Wunschort für die Abgabe ihres Pakets in der Kasse "
|
890 |
"auswählen. Dieser Service wird von DHL nicht zusätzlich berechnet."
|
891 |
|
892 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:189
|
893 |
msgctxt "dhl"
|
894 |
msgid ""
|
895 |
"Allow your customers to choose packstation (and/or other DHL location types "
|
898 |
"Lasse deine Kunden eine Packstation (und/oder andere DHL Standorte, wie im "
|
899 |
"Folgenden konfiguriert) als Lieferadresse auswählen."
|
900 |
|
901 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:202
|
902 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1130
|
903 |
msgctxt "dhl"
|
904 |
msgid "Map"
|
905 |
msgstr "Karte"
|
906 |
|
907 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:203
|
908 |
msgctxt "dhl"
|
909 |
msgid ""
|
910 |
"This option adds a map overlay view to let your customers choose a DHL "
|
915 |
"DHL Standortes in der Nähe noch einfacher zu machen. Du benötigst für die "
|
916 |
"Kartenansicht einen gültigen Google Maps API Schlüssel."
|
917 |
|
918 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:223
|
919 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1167
|
920 |
msgctxt "dhl"
|
921 |
msgid "Enable"
|
922 |
msgstr "Aktivieren"
|
923 |
|
924 |
# @ woocommerce-germanized
|
925 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:224
|
926 |
msgctxt "dhl"
|
927 |
msgid "Enable DHL integration."
|
928 |
msgstr "DHL Integration aktivieren."
|
929 |
|
930 |
# @ woocommerce-germanized
|
931 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:231
|
932 |
msgctxt "dhl"
|
933 |
msgid "Customer Number (EKP)"
|
934 |
msgstr "Kundennummer (EKP)"
|
935 |
|
936 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:233
|
937 |
#, php-format
|
938 |
msgctxt "dhl"
|
939 |
msgid ""
|
943 |
"Deine 10-stellige DHL Kundennummer (EKP). Finde deine %s im DHL "
|
944 |
"Geschäftskundenportal."
|
945 |
|
946 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:233
|
947 |
msgctxt "dhl"
|
948 |
msgid "customer number"
|
949 |
msgstr "Kundennummer"
|
950 |
|
951 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:242
|
952 |
msgctxt "dhl"
|
953 |
msgid "API"
|
954 |
msgstr "API"
|
955 |
|
956 |
# @ woocommerce-germanized
|
957 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:245
|
958 |
msgctxt "dhl"
|
959 |
msgid "Enable Sandbox"
|
960 |
msgstr "Sandbox aktivieren"
|
961 |
|
962 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:246
|
963 |
msgctxt "dhl"
|
964 |
msgid "Activate Sandbox mode for testing purposes."
|
965 |
msgstr "Aktiviere den Sandbox Modus."
|
966 |
|
967 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:253
|
968 |
msgctxt "dhl"
|
969 |
msgid "Live Username"
|
970 |
msgstr "Benutzer"
|
971 |
|
972 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:255
|
973 |
#, php-format
|
974 |
msgctxt "dhl"
|
975 |
msgid ""
|
979 |
"Dein Benutzername zum DHL Geschäftskundenportal. Bitte beachte die "
|
980 |
"Kleinschreibung und teste deine Zugangsdaten vorab %s."
|
981 |
|
982 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:255
|
983 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:264
|
984 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:273
|
985 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:282
|
986 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:299
|
987 |
msgctxt "dhl"
|
988 |
msgid "here"
|
989 |
msgstr "hier"
|
990 |
|
991 |
# @ woocommerce-germanized
|
992 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:262
|
993 |
msgctxt "dhl"
|
994 |
msgid "Live Password"
|
995 |
msgstr "Passwort"
|
996 |
|
997 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:264
|
998 |
#, php-format
|
999 |
msgctxt "dhl"
|
1000 |
msgid ""
|
1006 |
"Gültigkeit des Passworts nach 3 (Standard-Benutzer) bzw. 12 (System-"
|
1007 |
"Benutzer) Monaten und teste deine Zugangsdaten vorab %s."
|
1008 |
|
1009 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:271
|
1010 |
msgctxt "dhl"
|
1011 |
msgid "Sandbox Username"
|
1012 |
msgstr "Sandbox Benutzername"
|
1013 |
|
1014 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:273
|
1015 |
#, php-format
|
1016 |
msgctxt "dhl"
|
1017 |
msgid ""
|
1021 |
"Dein Benutzername zum DHL Entwicklerportal. Bitte beachte die "
|
1022 |
"Kleinschreibung und teste deine Zugangsdaten vorab %s."
|
1023 |
|
1024 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:280
|
1025 |
msgctxt "dhl"
|
1026 |
msgid "Sandbox Password"
|
1027 |
msgstr "Sandbox Passwort"
|
1028 |
|
1029 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:282
|
1030 |
#, php-format
|
1031 |
msgctxt "dhl"
|
1032 |
msgid ""
|
1036 |
"Dein Passwort zum DHL Entwicklerportal. Bitte teste deine Zugangsdaten vorab "
|
1037 |
"%s."
|
1038 |
|
1039 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:295
|
1040 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:338
|
1041 |
msgctxt "dhl"
|
1042 |
msgid "Products and Participation Numbers"
|
1043 |
msgstr "Produkte und Teilnahmenummern"
|
1044 |
|
1045 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:299
|
1046 |
#, php-format
|
1047 |
msgctxt "dhl"
|
1048 |
msgid ""
|
1052 |
"Bitte füge deine Teilnahmenummer für das dazugehörige Produkt ein. Du kannst "
|
1053 |
"die anderen Teilnahmenummern später %s anpassen."
|
1054 |
|
1055 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:338
|
1056 |
#, php-format
|
1057 |
msgctxt "dhl"
|
1058 |
msgid ""
|
1066 |
"Zeichen der dazugehörigen Abrechnungsnummer, die du in deinem %s findest (z."
|
1067 |
"B.: 01)."
|
1068 |
|
1069 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:338
|
1070 |
msgctxt "dhl"
|
1071 |
msgid "contract data"
|
1072 |
msgstr "Vertragsdaten"
|
1073 |
|
1074 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:392
|
1075 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1200
|
1076 |
msgctxt "dhl"
|
1077 |
msgid "Domestic Default Service"
|
1078 |
+
msgstr "Standard Service (national)"
|
1079 |
|
1080 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:396
|
1081 |
msgctxt "dhl"
|
1082 |
msgid ""
|
1083 |
"Please select your default DHL shipping service for domestic shipments that "
|
1088 |
"deine Kunden anbietest (du kannst das Produkt für jede einzelne Sendung "
|
1089 |
"nachträglich ändern)."
|
1090 |
|
1091 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:402
|
1092 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1220
|
1093 |
msgctxt "dhl"
|
1094 |
msgid "Int. Default Service"
|
1095 |
+
msgstr "Standard Service (Int.)"
|
1096 |
|
1097 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:406
|
1098 |
msgctxt "dhl"
|
1099 |
msgid ""
|
1100 |
"Please select your default DHL shipping service for cross-border shipments "
|
1106 |
"nachträglich ändern)."
|
1107 |
|
1108 |
# @ woocommerce-germanized
|
1109 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:412
|
1110 |
msgctxt "dhl"
|
1111 |
msgid "Default Duty"
|
1112 |
msgstr "Standard Zoll"
|
1113 |
|
1114 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:416
|
1115 |
msgctxt "dhl"
|
1116 |
msgid "Please select a default duty type."
|
1117 |
msgstr "Bitte wähle eine Standard-Zollabrechnung aus."
|
1118 |
|
1119 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:423
|
1120 |
msgctxt "dhl"
|
1121 |
msgid "Codeable"
|
1122 |
msgstr "Leitcodierbar"
|
1123 |
|
1124 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:424
|
1125 |
msgctxt "dhl"
|
1126 |
msgid "Generate label only if address can be automatically retrieved DHL."
|
1127 |
msgstr "Erzeuge Labels nur dann, wenn die Adresse von DHL erkannt wird."
|
1128 |
|
1129 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:428
|
1130 |
msgctxt "dhl"
|
1131 |
msgid ""
|
1132 |
"Choose this option if you want to make sure that by default labels are only "
|
1137 |
"ist."
|
1138 |
|
1139 |
# @ woocommerce-germanized
|
1140 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:432
|
1141 |
msgctxt "dhl"
|
1142 |
msgid "Default weight (kg)"
|
1143 |
msgstr "Standardgewicht (kg)"
|
1144 |
|
1145 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:434
|
1146 |
msgctxt "dhl"
|
1147 |
msgid ""
|
1148 |
"Choose a default shipment weight to be used for labels if no weight has been "
|
1151 |
"Wähle ein Standard Sendungsgewicht aus, das für Labels verwendet wird, für "
|
1152 |
"die das Gewicht nicht automatisch bestimmt werden kann."
|
1153 |
|
1154 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:443
|
1155 |
msgctxt "dhl"
|
1156 |
msgid "Minimum weight (kg)"
|
1157 |
msgstr "Mindestgewicht (kg)"
|
1158 |
|
1159 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:445
|
1160 |
msgctxt "dhl"
|
1161 |
msgid ""
|
1162 |
"Choose a minimum weight to be used for labels e.g. to prevent low shipment "
|
1166 |
"eines zu geringen Gewichts Fehler zurückgibt."
|
1167 |
|
1168 |
# @ woocommerce-germanized
|
1169 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:457
|
1170 |
msgctxt "dhl"
|
1171 |
msgid "Force email"
|
1172 |
msgstr "E-Mail übertragen"
|
1173 |
|
1174 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:458
|
1175 |
msgctxt "dhl"
|
1176 |
msgid "Force transferring customer email to DHL."
|
1177 |
msgstr "E-Mail-Adresse des Kunden immer an DHL übertragen."
|
1178 |
|
1179 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:458
|
1180 |
msgctxt "dhl"
|
1181 |
msgid ""
|
1182 |
"By default the customer email address is only transferred in case explicit "
|
1193 |
"diese Option aktivierst."
|
1194 |
|
1195 |
# @ woocommerce-germanized
|
1196 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:464
|
1197 |
msgctxt "dhl"
|
1198 |
msgid "Street number"
|
1199 |
msgstr "Hausnummer"
|
1200 |
|
1201 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:465
|
1202 |
msgctxt "dhl"
|
1203 |
msgid ""
|
1204 |
"Force existence of a street number within the first address field during "
|
1207 |
"Hausnummer im ersten Adressfeld verpflichtend abfragen, falls es sich um ein "
|
1208 |
"EU-Land handelt."
|
1209 |
|
1210 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:466
|
1211 |
msgctxt "dhl"
|
1212 |
msgid ""
|
1213 |
"Enabling this option will force a street number to be provided during "
|
1218 |
"Adressfeld in der Kasse abgefragt wird. Damit verhinderst du fehlende oder "
|
1219 |
"falsche Datensätze."
|
1220 |
|
1221 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:478
|
1222 |
msgctxt "dhl"
|
1223 |
msgid ""
|
1224 |
"Additionally create inlay return labels for shipments that support returns."
|
1226 |
"Erzeuge zusätzlich Beilage-Retourenlabels für Sendungen die Retouren "
|
1227 |
"unterstützen."
|
1228 |
|
1229 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:497
|
1230 |
msgctxt "dhl"
|
1231 |
msgid "Enable delivery to Packstation."
|
1232 |
msgstr "Aktiviere den Versand an Packstationen."
|
1233 |
|
1234 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:498
|
1235 |
msgctxt "dhl"
|
1236 |
msgid "Let customers choose a Packstation as delivery address."
|
1237 |
msgstr "Kunden eine Packstation als Lieferadresse auswählen lassen."
|
1238 |
|
1239 |
# @ woocommerce-germanized
|
1240 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:505
|
1241 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:50
|
1242 |
msgctxt "dhl"
|
1243 |
msgid "Postoffice"
|
1244 |
msgstr "Postfiliale"
|
1245 |
|
1246 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:506
|
1247 |
msgctxt "dhl"
|
1248 |
msgid "Enable delivery to Post Offices."
|
1249 |
msgstr "Aktiviere den Versand an Postfilialen."
|
1250 |
|
1251 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:507
|
1252 |
msgctxt "dhl"
|
1253 |
msgid "Let customers choose a Post Office as delivery address."
|
1254 |
msgstr "Kunden eine Postfiliale als Lieferadresse auswählen lassen."
|
1255 |
|
1256 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:514
|
1257 |
msgctxt "dhl"
|
1258 |
msgid "Parcel Shop"
|
1259 |
msgstr "Paketshop"
|
1260 |
|
1261 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:515
|
1262 |
msgctxt "dhl"
|
1263 |
msgid "Enable delivery to Parcel Shops."
|
1264 |
msgstr "Lieferung an Paketshops aktivieren."
|
1265 |
|
1266 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:516
|
1267 |
msgctxt "dhl"
|
1268 |
msgid "Let customers choose a Parcel Shop as delivery address."
|
1269 |
msgstr "Kunden einen Paketshop als Lieferadresse auswählen lassen."
|
1270 |
|
|
|
|
|
|
|
|
|
|
|
1271 |
#: woocommerce-germanized-dhl/src/Admin/Settings.php:535
|
1272 |
msgctxt "dhl"
|
|
|
|
|
|
|
|
|
|
|
|
|
1273 |
msgid "Enable the GoGreen Service by default."
|
1274 |
msgstr "Buche den GoGreen Service hinzu."
|
1275 |
|
1276 |
# @ woocommerce-germanized
|
1277 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:541
|
1278 |
msgctxt "dhl"
|
1279 |
msgid "Additional Insurance"
|
1280 |
msgstr "Transportversicherung"
|
1281 |
|
1282 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:542
|
1283 |
msgctxt "dhl"
|
1284 |
msgid "Add an additional insurance to labels."
|
1285 |
msgstr "Füge eine Transportversicherung zur Sendung hinzu."
|
1286 |
|
1287 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:548
|
1288 |
msgctxt "dhl"
|
1289 |
msgid "Retail Outlet Routing"
|
1290 |
msgstr "Filialrouting"
|
1291 |
|
1292 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:549
|
1293 |
msgctxt "dhl"
|
1294 |
msgid ""
|
1295 |
"Send undeliverable items to nearest retail outlet instead of immediate "
|
1298 |
"Sende unzustellbare Sendungen in die nächstgelegene Filiale zur Abholung "
|
1299 |
"anstelle diese direkt zurückzusenden."
|
1300 |
|
1301 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:555
|
1302 |
msgctxt "dhl"
|
1303 |
msgid "No Neighbor"
|
1304 |
msgstr "Keine Nachbarschaftszustellung"
|
1305 |
|
1306 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:556
|
1307 |
msgctxt "dhl"
|
1308 |
msgid "Do not deliver to neighbors."
|
1309 |
msgstr "Schließe eine Ersatzzustellung beim Nachbarn aus."
|
1310 |
|
1311 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:563
|
1312 |
msgctxt "dhl"
|
1313 |
msgid "Do only delivery to named person."
|
1314 |
msgstr ""
|
1315 |
"Lasse Pakete nur an den Empfänger persönlich oder an eine bevollmächtigte "
|
1316 |
"Person übergeben."
|
1317 |
|
1318 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:569
|
1319 |
msgctxt "dhl"
|
1320 |
msgid "Bulky Goods"
|
1321 |
msgstr "Sperrgut"
|
1322 |
|
1323 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:570
|
1324 |
msgctxt "dhl"
|
1325 |
msgid "Deliver as bulky goods."
|
1326 |
msgstr "Sende Pakete als Sperrgut."
|
1327 |
|
1328 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:576
|
1329 |
msgctxt "dhl"
|
1330 |
+
msgid "Minimum age (Visual check)"
|
1331 |
+
msgstr "Mindestalter (Visuell)"
|
1332 |
|
1333 |
#: woocommerce-germanized-dhl/src/Admin/Settings.php:581
|
1334 |
msgctxt "dhl"
|
1335 |
+
msgid "Choose this option if you want to let DHL check your customer's age."
|
1336 |
+
msgstr ""
|
1337 |
+
"Wähle diese Option aus, wenn du das Alter durch DHL prüfen lassen möchtest."
|
1338 |
+
|
1339 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:584
|
1340 |
+
msgctxt "dhl"
|
1341 |
+
msgid "Sync (Visual Check)"
|
1342 |
+
msgstr "Synchronisation (Visuell)"
|
1343 |
+
|
1344 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:585
|
1345 |
+
msgctxt "dhl"
|
1346 |
+
msgid "Visually verify age if shipment contains applicable items."
|
1347 |
msgstr ""
|
1348 |
"Aktiviere die Alterssichtprüfung, falls die Sendung zu prüfende Positionen "
|
1349 |
"beinhaltet."
|
1350 |
|
1351 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:585
|
1352 |
#, php-format
|
1353 |
msgctxt "dhl"
|
1354 |
msgid ""
|
1361 |
"Alterssichtprüfung automatisch aktiviert, falls eine Sendung zu prüfenden "
|
1362 |
"Produkte beinhaltet."
|
1363 |
|
1364 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:585
|
1365 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:600
|
1366 |
msgctxt "dhl"
|
1367 |
msgid "age verification checkbox"
|
1368 |
msgstr "Checkbox zur Altersprüfung"
|
1369 |
|
1370 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:591
|
1371 |
+
msgctxt "dhl"
|
1372 |
+
msgid "Minimum age (Ident check)"
|
1373 |
+
msgstr "Mindestalter (Identität)"
|
1374 |
+
|
1375 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:596
|
1376 |
+
msgctxt "dhl"
|
1377 |
+
msgid ""
|
1378 |
+
"Choose this option if you want to let DHL check your customer's identity and "
|
1379 |
+
"age."
|
1380 |
+
msgstr ""
|
1381 |
+
"Wähle diese Option aus, wenn du das Alter und die Identität durch DHL prüfen "
|
1382 |
+
"lassen möchtest."
|
1383 |
+
|
1384 |
+
# @ woocommerce-germanized
|
1385 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:599
|
1386 |
+
msgctxt "dhl"
|
1387 |
+
msgid "Sync (Ident Check)"
|
1388 |
+
msgstr "Synchronisation (Identität)"
|
1389 |
+
|
1390 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:600
|
1391 |
+
msgctxt "dhl"
|
1392 |
+
msgid "Verify identity and age if shipment contains applicable items."
|
1393 |
+
msgstr ""
|
1394 |
+
"Aktiviere die Identitätsprüfung, falls die Sendung zu prüfende Positionen "
|
1395 |
+
"beinhaltet."
|
1396 |
+
|
1397 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:600
|
1398 |
+
#, php-format
|
1399 |
+
msgctxt "dhl"
|
1400 |
+
msgid ""
|
1401 |
+
"Germanized offers an %s to be enabled for certain products and/or product "
|
1402 |
+
"categories. By checking this option labels for shipments with applicable "
|
1403 |
+
"items will automatically have the identity check service enabled."
|
1404 |
+
msgstr ""
|
1405 |
+
"Germanized bietet eine %s an, die für spezielle Produkte aktiviert werden "
|
1406 |
+
"kann. Nach Aktivierung dieser Option, wird der Service für die "
|
1407 |
+
"Identitätsprüfung automatisch aktiviert, falls eine Sendung zu prüfenden "
|
1408 |
+
"Produkte beinhaltet."
|
1409 |
+
|
1410 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:607
|
1411 |
msgctxt "dhl"
|
1412 |
msgid "Premium delivery for international shipments."
|
1413 |
msgstr "Premium Lieferung für internationale Sendungen."
|
1414 |
|
1415 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:626
|
1416 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1242
|
1417 |
msgctxt "dhl"
|
1418 |
msgid "Labels"
|
1419 |
msgstr "Labels"
|
1420 |
|
1421 |
# @ woocommerce-germanized
|
1422 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:627
|
1423 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1243
|
1424 |
msgctxt "dhl"
|
1425 |
msgid "Automatically create labels for shipments."
|
1426 |
msgstr "Automatisch Labels zu Sendungen erstellen."
|
1427 |
|
1428 |
# @ woocommerce-germanized
|
1429 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:634
|
1430 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:661
|
1431 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1250
|
1432 |
msgctxt "dhl"
|
1433 |
msgid "Status"
|
1434 |
msgstr "Status"
|
1435 |
|
1436 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:638
|
1437 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1254
|
1438 |
msgctxt "dhl"
|
1439 |
msgid "Choose a shipment status which should trigger generation of a label."
|
1440 |
msgstr ""
|
1441 |
"Wähle einen Sendungsstatus aus, der die Erzeugung eines Labels auslösen soll."
|
1442 |
|
1443 |
# @ woocommerce-germanized
|
1444 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:645
|
1445 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1261
|
1446 |
msgctxt "dhl"
|
1447 |
msgid "Shipment Status"
|
1448 |
msgstr "Sendungsstatus"
|
1449 |
|
1450 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:646
|
1451 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1262
|
1452 |
msgctxt "dhl"
|
1453 |
msgid "Mark shipment as shipped after label has been created successfully."
|
1454 |
msgstr ""
|
1455 |
"Sendung als versandt markieren, sobald ein Label erfolgreich erstellt wurde."
|
1456 |
|
1457 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:653
|
1458 |
msgctxt "dhl"
|
1459 |
msgid "Returns"
|
1460 |
msgstr "Retouren"
|
1461 |
|
1462 |
# @ woocommerce-germanized
|
1463 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:654
|
1464 |
msgctxt "dhl"
|
1465 |
msgid "Automatically create labels for returns."
|
1466 |
msgstr "Automatisch Retourenlabels zu Retourensendungen erstellen."
|
1467 |
|
1468 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:665
|
1469 |
msgctxt "dhl"
|
1470 |
msgid ""
|
1471 |
"Choose a shipment status which should trigger generation of a return label."
|
1473 |
"Wähle einen Sendungsstatus aus, der die Erzeugung eines Retourenlabels "
|
1474 |
"auslösen soll."
|
1475 |
|
1476 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:713
|
1477 |
#, php-format
|
1478 |
msgctxt "dhl"
|
1479 |
msgid ""
|
1484 |
"können von abweichenden Einstellungen der %s überschrieben werden."
|
1485 |
|
1486 |
# @ woocommerce-germanized
|
1487 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:713
|
1488 |
msgctxt "dhl"
|
1489 |
msgid "shipping method"
|
1490 |
msgstr "Versandmethode"
|
1491 |
|
1492 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:723
|
1493 |
#, php-format
|
1494 |
msgctxt "dhl"
|
1495 |
msgid ""
|
1500 |
"an. Stelle sicher, dass dein %s DHL Retoure Online enthält."
|
1501 |
|
1502 |
# @ woocommerce-germanized
|
1503 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:723
|
1504 |
msgctxt "dhl"
|
1505 |
msgid "contract"
|
1506 |
msgstr "Vertrag"
|
1507 |
|
1508 |
# @ woocommerce-germanized
|
1509 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:735
|
1510 |
msgctxt "dhl"
|
1511 |
msgid "Default Services"
|
1512 |
msgstr "Standard-Services"
|
1513 |
|
1514 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:735
|
1515 |
#, php-format
|
1516 |
msgctxt "dhl"
|
1517 |
msgid ""
|
1521 |
"Passe hier an, welche der Services als Standard für deine Labels gebucht "
|
1522 |
"werden sollen. Finde mehr über diese %s heraus."
|
1523 |
|
1524 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:735
|
1525 |
msgctxt "dhl"
|
1526 |
msgid "nationwide services"
|
1527 |
msgstr "nationalen Services"
|
1528 |
|
1529 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:747
|
1530 |
msgctxt "dhl"
|
1531 |
msgid ""
|
1532 |
"Choose whether and under which conditions labels for your shipments shall be "
|
1536 |
"erzeugt werden sollen."
|
1537 |
|
1538 |
# @ woocommerce-germanized
|
1539 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:758
|
1540 |
msgctxt "dhl"
|
1541 |
msgid "Shipper Address"
|
1542 |
msgstr "Absenderadresse"
|
1543 |
|
1544 |
# @ woocommerce-germanized
|
1545 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:782
|
1546 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:851
|
1547 |
msgctxt "dhl"
|
1548 |
msgid "Street Number"
|
1549 |
msgstr "Hausnummer"
|
1550 |
|
1551 |
# @ woocommerce-germanized
|
1552 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:803
|
1553 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:872
|
1554 |
msgctxt "dhl"
|
1555 |
msgid "Country"
|
1556 |
msgstr "Land"
|
1557 |
|
1558 |
# @ woocommerce-germanized
|
1559 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:827
|
1560 |
msgctxt "dhl"
|
1561 |
msgid "Inlay Return Address"
|
1562 |
msgstr "Beilageretouren Adresse"
|
1563 |
|
1564 |
# @ woocommerce-germanized
|
1565 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:896
|
1566 |
msgctxt "dhl"
|
1567 |
msgid "Bank Account"
|
1568 |
msgstr "Bankkonto"
|
1569 |
|
1570 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:896
|
1571 |
msgctxt "dhl"
|
1572 |
msgid "Enter your bank details needed for services that use COD."
|
1573 |
msgstr ""
|
1575 |
"werden sollen."
|
1576 |
|
1577 |
# @ woocommerce-germanized
|
1578 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:899
|
1579 |
msgctxt "dhl"
|
1580 |
msgid "Holder"
|
1581 |
msgstr "Kontoinhaber"
|
1582 |
|
1583 |
# @ woocommerce-germanized
|
1584 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:906
|
1585 |
msgctxt "dhl"
|
1586 |
msgid "Bank Name"
|
1587 |
msgstr "Name der Bank"
|
1588 |
|
1589 |
# @ woocommerce-germanized
|
1590 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:913
|
1591 |
msgctxt "dhl"
|
1592 |
msgid "IBAN"
|
1593 |
msgstr "IBAN"
|
1594 |
|
1595 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:920
|
1596 |
msgctxt "dhl"
|
1597 |
msgid "BIC"
|
1598 |
msgstr "BIC"
|
1599 |
|
1600 |
# @ woocommerce-germanized
|
1601 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:927
|
1602 |
msgctxt "dhl"
|
1603 |
msgid "Payment Reference"
|
1604 |
msgstr "Zahlungsreferenz"
|
1605 |
|
1606 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:931
|
1607 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:940
|
1608 |
#, php-format
|
1609 |
msgctxt "dhl"
|
1610 |
msgid ""
|
1615 |
"%s. Der Text ist auf 35 Zeichen begrenzt."
|
1616 |
|
1617 |
# @ woocommerce-germanized
|
1618 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:936
|
1619 |
msgctxt "dhl"
|
1620 |
msgid "Payment Reference 2"
|
1621 |
msgstr "Zahlungsreferenz 2"
|
1622 |
|
1623 |
# @ woocommerce-germanized
|
1624 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:954
|
1625 |
msgctxt "dhl"
|
1626 |
msgid "Enable creating labels for return shipments."
|
1627 |
msgstr "Automatisch Retourenlabels zu Retourensendungen erstellen."
|
1628 |
|
1629 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:954
|
1630 |
msgctxt "dhl"
|
1631 |
msgid ""
|
1632 |
"By enabling this option you might generate retoure labels for return "
|
1635 |
"Mit der Aktivierung dieser Option kannst du Retourenlabels zu "
|
1636 |
"Retourensendungen erstellen und diese per E-Mail an den Kunden weiterleiten."
|
1637 |
|
1638 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:975
|
1639 |
msgctxt "dhl"
|
1640 |
msgid "Enable preferred day delivery."
|
1641 |
msgstr "Aktiviere die Lieferung am Wunschtag."
|
1642 |
|
1643 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:975
|
1644 |
msgctxt "dhl"
|
1645 |
msgid ""
|
1646 |
"Enabling this option will display options for the user to select their "
|
1649 |
"Diese Option aktiviert die Auswahl eines Wunschtags durch den Kunden in der "
|
1650 |
"Kasse."
|
1651 |
|
1652 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:984
|
1653 |
msgctxt "dhl"
|
1654 |
msgid ""
|
1655 |
"Insert gross value as surcharge for preferred day delivery. Insert 0 to "
|
1659 |
"Setze den Wert auf 0 um den Service kostenlos anzubieten."
|
1660 |
|
1661 |
# @ woocommerce-germanized
|
1662 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:995
|
1663 |
msgctxt "dhl"
|
1664 |
msgid "Enable preferred location delivery."
|
1665 |
msgstr "Lieferung an einen Wunschort aktivieren."
|
1666 |
|
1667 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:995
|
1668 |
msgctxt "dhl"
|
1669 |
msgid ""
|
1670 |
"Enabling this option will display options for the user to select their "
|
1673 |
"Diese Option aktiviert die Auswahl eines Wunschorts durch den Kunden in der "
|
1674 |
"Kasse ."
|
1675 |
|
1676 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1003
|
1677 |
msgctxt "dhl"
|
1678 |
msgid "Enable preferred neighbor delivery."
|
1679 |
msgstr "Aktiviere die Lieferung an einen Wunschnachbarn."
|
1680 |
|
1681 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1003
|
1682 |
msgctxt "dhl"
|
1683 |
msgid ""
|
1684 |
"Enabling this option will display options for the user to deliver to their "
|
1687 |
"Diese Option aktiviert die Auswahl eines Wunschnachbarn durch den Kunden in "
|
1688 |
"der Kasse."
|
1689 |
|
1690 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1029
|
1691 |
msgctxt "dhl"
|
1692 |
msgid "Cut-off time"
|
1693 |
msgstr "Cut-off-Zeit"
|
1694 |
|
1695 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1032
|
1696 |
msgctxt "dhl"
|
1697 |
msgid ""
|
1698 |
"The cut-off time is the latest possible order time up to which the minimum "
|
1705 |
"Nach Überschreitung dieses Zeitpunktes, wird der früheste verfügbare "
|
1706 |
"Wunschtag in der Kasse um einen Tag erhöht (Tag der Bestellung + 3 Werktage)."
|
1707 |
|
1708 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1038
|
1709 |
msgctxt "dhl"
|
1710 |
msgid "Preparation days"
|
1711 |
msgstr "Bearbeitungstage"
|
1712 |
|
1713 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1041
|
1714 |
msgctxt "dhl"
|
1715 |
msgid ""
|
1716 |
"If you need more time to prepare your shipments you might want to add a "
|
1721 |
"hier eine statische Anzahl an Tagen hinterlegen, die zum frühesten "
|
1722 |
"auswählbaren Wunschtag hinzugefügt werden."
|
1723 |
|
1724 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1048
|
1725 |
msgctxt "dhl"
|
1726 |
msgid "Exclude days of transfer"
|
1727 |
msgstr "Übergabetage ausschließen"
|
1728 |
|
1729 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1049
|
1730 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:31
|
1731 |
msgctxt "dhl"
|
1732 |
msgid "Monday"
|
1733 |
msgstr "Montag"
|
1734 |
|
1735 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1050
|
1736 |
msgctxt "dhl"
|
1737 |
msgid "Exclude days from transferring shipments to DHL."
|
1738 |
msgstr "Schließe bestimmte Wochentage für die Übergabe an DHL aus."
|
1739 |
|
1740 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1059
|
1741 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:32
|
1742 |
msgctxt "dhl"
|
1743 |
msgid "Tuesday"
|
1744 |
msgstr "Dienstag"
|
1745 |
|
1746 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1068
|
1747 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:33
|
1748 |
msgctxt "dhl"
|
1749 |
msgid "Wednesday"
|
1750 |
msgstr "Mittwoch"
|
1751 |
|
1752 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1077
|
1753 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:34
|
1754 |
msgctxt "dhl"
|
1755 |
msgid "Thursday"
|
1756 |
msgstr "Donnerstag"
|
1757 |
|
1758 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1086
|
1759 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:35
|
1760 |
msgctxt "dhl"
|
1761 |
msgid "Friday"
|
1762 |
msgstr "Freitag"
|
1763 |
|
1764 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1095
|
1765 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:36
|
1766 |
msgctxt "dhl"
|
1767 |
msgid "Saturday"
|
1768 |
msgstr "Samstag"
|
1769 |
|
1770 |
# @ woocommerce-germanized
|
1771 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1104
|
1772 |
msgctxt "dhl"
|
1773 |
msgid "Exclude gateways"
|
1774 |
msgstr "Zahlungsarten ausschließen"
|
1775 |
|
1776 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1106
|
1777 |
msgctxt "dhl"
|
1778 |
msgid "Select payment gateways to be excluded from showing preferred services."
|
1779 |
msgstr ""
|
1780 |
"Wähle Zahlungsarten aus, für die die Wunschpaket-Services nicht zur "
|
1781 |
"Verfügung stehen sollen."
|
1782 |
|
1783 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1131
|
1784 |
msgctxt "dhl"
|
1785 |
msgid "Let customers find a DHL location on a map."
|
1786 |
msgstr "Lasse Kunden einen DHL Standort auf der Karte auswählen."
|
1787 |
|
1788 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1131
|
1789 |
msgctxt "dhl"
|
1790 |
msgid ""
|
1791 |
"Enable this option to let your customers choose a pickup option from a map "
|
1796 |
"einer Karten in der Kasse zu ermöglichen. Wenn diese Option deaktiviert ist, "
|
1797 |
"wird stattdessen auf die DHL Website verwiesen."
|
1798 |
|
1799 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1138
|
1800 |
msgctxt "dhl"
|
1801 |
msgid "Google Maps Key"
|
1802 |
msgstr "Google Maps Schlüssel"
|
1803 |
|
1804 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1142
|
1805 |
#, php-format
|
1806 |
msgctxt "dhl"
|
1807 |
msgid ""
|
1811 |
"Um eine Karte integrieren zu können, benötigst du einen gültigen API-"
|
1812 |
"Schlüssel für Google Maps. Du kannst %s."
|
1813 |
|
1814 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1142
|
1815 |
msgctxt "dhl"
|
1816 |
msgid "retrieve a new one"
|
1817 |
msgstr "hier einen neuen erstellen"
|
1818 |
|
1819 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1147
|
1820 |
msgctxt "dhl"
|
1821 |
msgid "Limit results"
|
1822 |
msgstr "Suchergebnisse begrenzen"
|
1823 |
|
1824 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1151
|
1825 |
msgctxt "dhl"
|
1826 |
msgid "Limit the number of DHL locations shown on the map"
|
1827 |
msgstr "Begrenzt die Anzahl der angezeigten DHL Standorte auf der Karte"
|
1828 |
|
1829 |
# @ woocommerce-germanized
|
1830 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1168
|
1831 |
msgctxt "dhl"
|
1832 |
+
msgid "Enable Internetmarke integration."
|
1833 |
+
msgstr "Internetmarke Integration aktivieren."
|
1834 |
+
|
1835 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1175
|
1836 |
+
msgctxt "dhl"
|
1837 |
+
msgid "Username"
|
1838 |
+
msgstr "Benutzer"
|
1839 |
+
|
1840 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1177
|
1841 |
+
#, php-format
|
1842 |
+
msgctxt "dhl"
|
1843 |
+
msgid ""
|
1844 |
+
"Your credentials to the <a href=\"%s\" target=\"_blank\">Portokasse</a>. "
|
1845 |
+
"Please test your credentials before connecting."
|
1846 |
+
msgstr ""
|
1847 |
+
"Deine Zugangsdaten zur <a href=\"%s\" target=\"_blank\">Portokasse</a>. "
|
1848 |
+
"Bitte teste deine Zugangsdaten bevor du eine Verbindung aufbaust."
|
1849 |
+
|
1850 |
+
# @ woocommerce-germanized
|
1851 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1184
|
1852 |
+
msgctxt "dhl"
|
1853 |
+
msgid "Password"
|
1854 |
+
msgstr "Passwort"
|
1855 |
|
1856 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1204
|
1857 |
+
msgctxt "dhl"
|
1858 |
+
msgid ""
|
1859 |
+
"Please select your default shipping service for domestic shipments that you "
|
1860 |
+
"want to offer to your customers (you can always change this within each "
|
1861 |
+
"individual shipment afterwards)."
|
1862 |
+
msgstr ""
|
1863 |
+
"Bitte wähle das Standard-Produkt für nationale Sendungen aus, das du für "
|
1864 |
+
"deine Kunden anbietest."
|
1865 |
+
|
1866 |
+
# @ woocommerce-germanized
|
1867 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1210
|
1868 |
+
msgctxt "dhl"
|
1869 |
+
msgid "EU Default Service"
|
1870 |
+
msgstr "Standard Service (EU)"
|
1871 |
+
|
1872 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1214
|
1873 |
+
msgctxt "dhl"
|
1874 |
+
msgid ""
|
1875 |
+
"Please select your default shipping service for EU shipments that you want "
|
1876 |
+
"to offer to your customers."
|
1877 |
+
msgstr ""
|
1878 |
+
"Bitte wähle das Standard-Produkt für EU Sendungen aus, das du für deine "
|
1879 |
+
"Kunden anbietest."
|
1880 |
+
|
1881 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1224
|
1882 |
+
msgctxt "dhl"
|
1883 |
+
msgid ""
|
1884 |
+
"Please select your default shipping service for cross-border shipments that "
|
1885 |
+
"you want to offer to your customers."
|
1886 |
+
msgstr ""
|
1887 |
+
"Bitte wähle das Standard-Produkt für internationale Sendungen aus, das du "
|
1888 |
+
"für deine Kunden anbietest."
|
1889 |
+
|
1890 |
+
# @ woocommerce-germanized
|
1891 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1281
|
1892 |
+
msgctxt "dhl"
|
1893 |
+
msgid "Default Format"
|
1894 |
+
msgstr "Standardformat"
|
1895 |
+
|
1896 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1284
|
1897 |
+
#, php-format
|
1898 |
+
msgctxt "dhl"
|
1899 |
+
msgid ""
|
1900 |
+
"Choose a print format which will be selected by default when creating "
|
1901 |
+
"labels. Manually <a href=\"%s\">refresh</a> available print formats to make "
|
1902 |
+
"sure the list is up-to-date."
|
1903 |
+
msgstr ""
|
1904 |
+
"Wähle ein Seitenformat aus, das für den Druck der Labels standardmäßig "
|
1905 |
+
"verwendet wird. Du kannst die Liste auch manuell <a href=\"%s"
|
1906 |
+
"\">aktualisieren</a>, falls notwendig."
|
1907 |
+
|
1908 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1311
|
1909 |
+
msgctxt "dhl"
|
1910 |
+
msgid "Portokasse"
|
1911 |
+
msgstr "Portokasse"
|
1912 |
+
|
1913 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1314
|
1914 |
+
msgctxt "dhl"
|
1915 |
+
msgid "Balance"
|
1916 |
+
msgstr "Guthaben"
|
1917 |
+
|
1918 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1321
|
1919 |
+
msgctxt "dhl"
|
1920 |
+
msgid "Charge (€)"
|
1921 |
+
msgstr "Aufladen (€)"
|
1922 |
+
|
1923 |
+
# @ woocommerce-germanized
|
1924 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1331
|
1925 |
+
msgctxt "dhl"
|
1926 |
+
msgid "Products"
|
1927 |
+
msgstr "Produkte"
|
1928 |
+
|
1929 |
+
# @ woocommerce-germanized
|
1930 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1334
|
1931 |
+
msgctxt "dhl"
|
1932 |
+
msgid "Available Products"
|
1933 |
+
msgstr "Verfügbare Produkte"
|
1934 |
+
|
1935 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1337
|
1936 |
+
#, php-format
|
1937 |
+
msgctxt "dhl"
|
1938 |
+
msgid ""
|
1939 |
+
"Choose the products you want to be available for your shipments from the "
|
1940 |
+
"list above. Manually <a href=\"%s\">refresh</a> the product list to make "
|
1941 |
+
"sure it is up-to-date."
|
1942 |
+
msgstr ""
|
1943 |
+
"Wähle die Produkte aus die beim Erzeugen der Labels zur Verfügung stehen "
|
1944 |
+
"sollen. Du kannst die Produktliste auch manuell <a href=\"%s"
|
1945 |
+
"\">aktualisieren</a>, falls notwendig."
|
1946 |
+
|
1947 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1362
|
1948 |
+
msgctxt "dhl"
|
1949 |
+
msgid "API Error"
|
1950 |
+
msgstr "API Fehler"
|
1951 |
+
|
1952 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1421
|
1953 |
+
msgctxt "dhl"
|
1954 |
+
msgid "Charge Portokasse"
|
1955 |
+
msgstr "Portokasse aufladen"
|
1956 |
+
|
1957 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1422
|
1958 |
+
#, php-format
|
1959 |
+
msgctxt "dhl"
|
1960 |
+
msgid "The minimum amount is %s"
|
1961 |
+
msgstr "Der Minimalbetrag beträgt %s"
|
1962 |
+
|
1963 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1432
|
1964 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1434
|
1965 |
+
msgctxt "dhl"
|
1966 |
+
msgid "Not yet a customer?"
|
1967 |
+
msgstr "Noch kein Geschäftskunde?"
|
1968 |
+
|
1969 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1462
|
1970 |
+
msgctxt "dhl"
|
1971 |
+
msgid "Internetmarke"
|
1972 |
+
msgstr "Internetmarke"
|
1973 |
+
|
1974 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1463
|
1975 |
msgctxt "dhl"
|
1976 |
msgid "Preferred Services"
|
1977 |
msgstr "Wunschpaket"
|
1978 |
|
1979 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1464
|
1980 |
msgctxt "dhl"
|
1981 |
msgid "Parcel Pickup"
|
1982 |
msgstr "Standorte"
|
1998 |
msgid "%s %s"
|
1999 |
msgstr "%s %s"
|
2000 |
|
2001 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:280
|
2002 |
+
msgctxt "dhl"
|
2003 |
+
msgid "PRIO"
|
2004 |
+
msgstr "PRIO"
|
2005 |
+
|
2006 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:281
|
2007 |
+
msgctxt "dhl"
|
2008 |
+
msgid "Einschreiben (Einwurf)"
|
2009 |
+
msgstr "Einschreiben (Einwurf)"
|
2010 |
+
|
2011 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:282
|
2012 |
+
msgctxt "dhl"
|
2013 |
+
msgid "Einschreiben"
|
2014 |
+
msgstr "Einschreiben"
|
2015 |
+
|
2016 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:283
|
2017 |
+
msgctxt "dhl"
|
2018 |
+
msgid "Einschreiben (Eigenhändig)"
|
2019 |
+
msgstr "Einschreiben (Eigenhändig)"
|
2020 |
+
|
2021 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:284
|
2022 |
+
msgctxt "dhl"
|
2023 |
+
msgid "Alterssichtprüfung 16"
|
2024 |
+
msgstr "Alterssichtprüfung 16"
|
2025 |
+
|
2026 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:285
|
2027 |
+
msgctxt "dhl"
|
2028 |
+
msgid "Alterssichtprüfung 18"
|
2029 |
+
msgstr "Alterssichtprüfung 18"
|
2030 |
+
|
2031 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:286
|
2032 |
+
msgctxt "dhl"
|
2033 |
+
msgid "Zusatzentgelt MBf"
|
2034 |
+
msgstr "Zusatzentgelt MBf"
|
2035 |
+
|
2036 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:287
|
2037 |
+
msgctxt "dhl"
|
2038 |
+
msgid "Unterschrift"
|
2039 |
+
msgstr "Unterschrift"
|
2040 |
+
|
2041 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:288
|
2042 |
+
msgctxt "dhl"
|
2043 |
+
msgid "Tracked"
|
2044 |
+
msgstr "Tracked"
|
2045 |
+
|
2046 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:43
|
2047 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:52
|
2048 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:484
|
2049 |
+
msgctxt "dhl"
|
2050 |
+
msgid "Error while fetching label PDF"
|
2051 |
+
msgstr "Fehler beim Download des PDF Labels"
|
2052 |
+
|
2053 |
+
# @ woocommerce-germanized
|
2054 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:77
|
2055 |
+
msgctxt "dhl"
|
2056 |
+
msgid "Missing shipment"
|
2057 |
+
msgstr "Fehlende Sendung"
|
2058 |
+
|
2059 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:168
|
2060 |
+
msgctxt "dhl"
|
2061 |
+
msgid "Invalid API response"
|
2062 |
+
msgstr "Fehlerhafte API Rückmeldung"
|
2063 |
+
|
2064 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:192
|
2065 |
+
msgctxt "dhl"
|
2066 |
+
msgid "Error while authenticating user."
|
2067 |
+
msgstr "Fehler beim Autorisieren des Benutzers."
|
2068 |
+
|
2069 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:278
|
2070 |
+
msgctxt "dhl"
|
2071 |
+
msgid "Error during Warenpost International request."
|
2072 |
+
msgstr "Fehler beim Aufruf der Warenpost International API."
|
2073 |
+
|
2074 |
+
# @ woocommerce-germanized
|
2075 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:296
|
2076 |
+
#, php-format
|
2077 |
+
msgctxt "dhl"
|
2078 |
+
msgid "Error during request: %s"
|
2079 |
+
msgstr "Fehler beim API Zugriff: %s"
|
2080 |
+
|
2081 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:64
|
2082 |
+
#: woocommerce-germanized-dhl/src/Api/Soap.php:54
|
2083 |
+
#: woocommerce-germanized-dhl/src/Package.php:84
|
2084 |
+
#, php-format
|
2085 |
+
msgctxt "dhl"
|
2086 |
+
msgid ""
|
2087 |
+
"To enable communication between your shop and DHL, the PHP <a href=\"%s"
|
2088 |
+
"\">SOAPClient</a> is required. Please contact your host and make sure that "
|
2089 |
+
"SOAPClient is <a href=\"%s\">installed</a>."
|
2090 |
+
msgstr ""
|
2091 |
+
"Um die Kommunikation zwischen DHL und deinem Shop zu ermöglichen, ist der "
|
2092 |
+
"PHP <a href=\"%s\">SOAPClient</a> notwendig. Bitte kontaktiere dazu im "
|
2093 |
+
"Zweifel deinen Hoster und stelle sicher, dass der SOAPClient <a href=\"%s"
|
2094 |
+
"\">installiert</a> ist."
|
2095 |
+
|
2096 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:69
|
2097 |
+
#, php-format
|
2098 |
+
msgctxt "dhl"
|
2099 |
+
msgid "Error while instantiating main Internetmarke API: %s"
|
2100 |
+
msgstr "Fehler beim Aufruf der Internetmarke API: %s"
|
2101 |
+
|
2102 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:73
|
2103 |
+
msgctxt "dhl"
|
2104 |
+
msgid "Internetmarke is disabled. Please enable Internetmarke."
|
2105 |
+
msgstr "Internetmarke ist deaktiviert. Bitte aktiviere die Internetmarke."
|
2106 |
+
|
2107 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:84
|
2108 |
+
msgctxt "dhl"
|
2109 |
+
msgid "Wrong username or password"
|
2110 |
+
msgstr "Falscher Benutzername oder Passwort"
|
2111 |
+
|
2112 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:246
|
2113 |
+
#, php-format
|
2114 |
+
msgctxt "dhl"
|
2115 |
+
msgid "until %s"
|
2116 |
+
msgstr "bis %s"
|
2117 |
+
|
2118 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:331
|
2119 |
+
#, php-format
|
2120 |
+
msgctxt "dhl"
|
2121 |
+
msgid "Length: %s"
|
2122 |
+
msgstr "Länge: %s"
|
2123 |
+
|
2124 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:335
|
2125 |
+
#, php-format
|
2126 |
+
msgctxt "dhl"
|
2127 |
+
msgid "Width: %s"
|
2128 |
+
msgstr "Breite: %s"
|
2129 |
+
|
2130 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:339
|
2131 |
+
#, php-format
|
2132 |
+
msgctxt "dhl"
|
2133 |
+
msgid "Height: %s"
|
2134 |
+
msgstr "Höhe: %s"
|
2135 |
+
|
2136 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:343
|
2137 |
+
#, php-format
|
2138 |
+
msgctxt "dhl"
|
2139 |
+
msgid "Weight: %s"
|
2140 |
+
msgstr "Gewicht: %s"
|
2141 |
+
|
2142 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:348
|
2143 |
+
msgctxt "dhl"
|
2144 |
+
msgid "Total"
|
2145 |
+
msgstr "Gesamt"
|
2146 |
+
|
2147 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:538
|
2148 |
+
#, php-format
|
2149 |
+
msgctxt "dhl"
|
2150 |
+
msgid "Could not refund post label: %s"
|
2151 |
+
msgstr "Deutsche Post Label konnte nicht rückerstattet werden: %s"
|
2152 |
+
|
2153 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:552
|
2154 |
+
msgctxt "dhl"
|
2155 |
+
msgid "Refund API could not be instantiated"
|
2156 |
+
msgstr "Die API für Rückerstattungen konnte nicht initialisiert werden"
|
2157 |
+
|
2158 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:641
|
2159 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:379
|
2160 |
+
#: woocommerce-germanized-dhl/src/Api/ReturnRest.php:34
|
2161 |
+
#, php-format
|
2162 |
+
msgctxt "dhl"
|
2163 |
+
msgid "Could not fetch shipment %d."
|
2164 |
+
msgstr "Sendung %d konnte nicht gefunden werden."
|
2165 |
+
|
2166 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:681
|
2167 |
+
msgctxt "dhl"
|
2168 |
+
msgid "Error while generating shop order id."
|
2169 |
+
msgstr "Fehler beim Erzeugen der Shop Order Id."
|
2170 |
+
|
2171 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:691
|
2172 |
+
#, php-format
|
2173 |
+
msgctxt "dhl"
|
2174 |
+
msgid ""
|
2175 |
+
"Error while trying to purchase the stamp. Please manually <a href=\"%s"
|
2176 |
+
"\">refresh</a> your product database and try again."
|
2177 |
+
msgstr ""
|
2178 |
+
"Fehler beim Kauf des Labels. Bitte <a href=\"%s\">aktualisiere</a>die "
|
2179 |
+
"Produktliste manuell und versuche es erneut."
|
2180 |
+
|
2181 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:734
|
2182 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:741
|
2183 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:769
|
2184 |
+
msgctxt "dhl"
|
2185 |
+
msgid "Error while downloading the PDF stamp."
|
2186 |
+
msgstr "Fehler beim Download des PDF Labels."
|
2187 |
+
|
2188 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:776
|
2189 |
+
msgctxt "dhl"
|
2190 |
+
msgid "Invalid stamp response."
|
2191 |
+
msgstr "Fehlerhafte Label Rückmeldung."
|
2192 |
+
|
2193 |
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:99
|
2194 |
msgctxt "dhl"
|
2195 |
msgid ""
|
2198 |
"Deine DHL API Zugangsdaten scheinen fehlerhaft zu sein. Bitte prüfe deine "
|
2199 |
"DHL Einstellungen."
|
2200 |
|
2201 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:103
|
2202 |
+
msgctxt "dhl"
|
2203 |
+
msgid ""
|
2204 |
+
"Your products are missing data relevant for custom declarations. Please "
|
2205 |
+
"provide missing DHL fields (country of origin, HS code) in your product data "
|
2206 |
+
"> shipping tab."
|
2207 |
+
msgstr ""
|
2208 |
+
"Deinen Produkten fehlen Daten, die für die Zollerklärung relevant sind. "
|
2209 |
+
"Bitte fülle die fehlenden DHL Felder (HS Code, Herstellerland) in deinen "
|
2210 |
+
"Produktdaten unter Versand aus."
|
2211 |
+
|
2212 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:113
|
2213 |
#, php-format
|
2214 |
msgctxt "dhl"
|
2215 |
msgid "There was an error contacting the DHL API: %s."
|
2216 |
msgstr "Beim Aufruf der DHL API gab es einen Fehler: %s."
|
2217 |
|
2218 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:116
|
2219 |
msgctxt "dhl"
|
2220 |
msgid ""
|
2221 |
"An error ocurred while contacting the DHL API. Please consider enabling the "
|
2224 |
"Beim Aufruf der DHL API ist ein Fehler aufgetreten. Bitte erwäge den Wechsel "
|
2225 |
"in den Sandbox-Modus."
|
2226 |
|
2227 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:138
|
2228 |
msgctxt "dhl"
|
2229 |
msgid ""
|
2230 |
"There was an error generating the label. Please try again or consider "
|
2233 |
"Beim Erzeugen des Labels gab es einen Fehler. Bitte versuche es erneut oder "
|
2234 |
"erwäge den Wechsel in den Sandbox-Modus."
|
2235 |
|
2236 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:241
|
2237 |
+
#: woocommerce-germanized-dhl/src/Api/ReturnRest.php:156
|
2238 |
msgctxt "dhl"
|
2239 |
msgid "Error while creating and uploading the label"
|
2240 |
msgstr "Fehler beim Erstellen und hochladen des Labels"
|
2241 |
|
2242 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:327
|
2243 |
#, php-format
|
2244 |
msgctxt "dhl"
|
2245 |
msgid "Could not delete label - %s"
|
2246 |
msgstr "Das Label konnte nicht gelöscht werden - %s"
|
2247 |
|
2248 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:358
|
2249 |
msgctxt "dhl"
|
2250 |
msgid "Could not create account number - no product number."
|
2251 |
msgstr ""
|
2252 |
"Die Abrechnungsnummer konnte nicht erzeugt werden. Die Teilnahmenummer fehlt."
|
2253 |
|
2254 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:648
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2255 |
#, php-format
|
2256 |
msgctxt "dhl"
|
2257 |
msgid "Only %s shipment items can be processed, your shipment has %s items."
|
2260 |
"Sendung beinhaltet %s Positionen."
|
2261 |
|
2262 |
# @ woocommerce-germanized
|
2263 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:61
|
2264 |
+
#, php-format
|
2265 |
+
msgctxt "dhl"
|
2266 |
+
msgid "Label API not available: %s"
|
2267 |
+
msgstr "Label API ist nicht erreichbar: %s"
|
2268 |
+
|
2269 |
+
# @ woocommerce-germanized
|
2270 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:63
|
2271 |
msgctxt "dhl"
|
2272 |
msgid "Label API not available"
|
2273 |
msgstr "Label API ist nicht erreichbar"
|
2274 |
|
2275 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:80
|
2276 |
msgctxt "dhl"
|
2277 |
msgid "Parcel Finder API not available"
|
2278 |
msgstr "API der Standortsuche ist nicht verfügbar"
|
2279 |
|
2280 |
# @ woocommerce-germanized
|
2281 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:96
|
2282 |
msgctxt "dhl"
|
2283 |
msgid "Return API not available"
|
2284 |
msgstr "Retoure API ist nicht erreichbar"
|
2285 |
|
2286 |
# @ woocommerce-germanized
|
2287 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:112
|
2288 |
msgctxt "dhl"
|
2289 |
msgid "Parcel API not available"
|
2290 |
msgstr "Paket API ist nicht erreichbar"
|
2291 |
|
2292 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:258
|
2293 |
msgctxt "dhl"
|
2294 |
msgid "Mon"
|
2295 |
msgstr "Mo"
|
2296 |
|
2297 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:259
|
2298 |
msgctxt "dhl"
|
2299 |
msgid "Tue"
|
2300 |
msgstr "Di"
|
2301 |
|
2302 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:260
|
2303 |
msgctxt "dhl"
|
2304 |
msgid "Wed"
|
2305 |
msgstr "Mi"
|
2306 |
|
2307 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:261
|
2308 |
msgctxt "dhl"
|
2309 |
msgid "Thu"
|
2310 |
msgstr "Do"
|
2311 |
|
2312 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:262
|
2313 |
msgctxt "dhl"
|
2314 |
msgid "Fri"
|
2315 |
msgstr "Fr"
|
2316 |
|
2317 |
# @ woocommerce-germanized
|
2318 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:263
|
2319 |
msgctxt "dhl"
|
2320 |
msgid "Sat"
|
2321 |
msgstr "Sa"
|
2322 |
|
2323 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:264
|
2324 |
msgctxt "dhl"
|
2325 |
msgid "Sun"
|
2326 |
msgstr "So"
|
2341 |
msgid "Please provide the shipment start date."
|
2342 |
msgstr "Bitte gib das Startdatum der Sendung an."
|
2343 |
|
2344 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:101
|
2345 |
msgctxt "dhl"
|
2346 |
msgid "400 - "
|
2347 |
msgstr "400 - "
|
2348 |
|
2349 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:104
|
2350 |
msgctxt "dhl"
|
2351 |
msgid ""
|
2352 |
"401 - Unauthorized Access - Invalid token or Authentication Header parameter"
|
2353 |
msgstr ""
|
2354 |
"401 - Unauthorized Access - Invalid token or Authentication Header parameter"
|
2355 |
|
2356 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:107
|
2357 |
msgctxt "dhl"
|
2358 |
msgid "408 - Request Timeout"
|
2359 |
msgstr "408 - Request Timeout"
|
2360 |
|
2361 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:110
|
2362 |
msgctxt "dhl"
|
2363 |
msgid "429 - Too many requests in given amount of time"
|
2364 |
msgstr "429 - Too many requests in given amount of time"
|
2365 |
|
2366 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:113
|
2367 |
msgctxt "dhl"
|
2368 |
msgid "503 - Service Unavailable"
|
2369 |
msgstr "503 - Service Unavailable"
|
2370 |
|
2371 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:117
|
2372 |
msgctxt "dhl"
|
2373 |
msgid "GET error or timeout occured. Please try again later."
|
2374 |
msgstr "GET Fehler oder Zeitüberschreitung. Bitte später erneut versuchen."
|
2375 |
|
2376 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:170
|
2377 |
msgctxt "dhl"
|
2378 |
msgid "POST error or timeout occured. Please try again later."
|
2379 |
msgstr "POST Fehler oder Zeitüberschreitung. Bitte später erneut versuchen."
|
2380 |
|
2381 |
+
#: woocommerce-germanized-dhl/src/DataStores/Label.php:316
|
2382 |
msgctxt "dhl"
|
2383 |
msgid "Invalid label."
|
2384 |
msgstr "Ungültiges Label."
|
2390 |
msgid "%s-%s"
|
2391 |
msgstr "%s-%s"
|
2392 |
|
2393 |
+
#: woocommerce-germanized-dhl/src/Package.php:274
|
2394 |
msgctxt "dhl"
|
2395 |
msgid ""
|
2396 |
"Please check the street field and make sure to provide a valid street number."
|
2399 |
"angibst."
|
2400 |
|
2401 |
# @ woocommerce-germanized
|
2402 |
+
#: woocommerce-germanized-dhl/src/Package.php:961
|
2403 |
msgctxt "dhl"
|
2404 |
msgid "Germany"
|
2405 |
msgstr "Deutschland"
|
2406 |
|
2407 |
# @ woocommerce-germanized
|
2408 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:90
|
2409 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:849
|
2410 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:878
|
2411 |
msgctxt "dhl"
|
2412 |
msgid "Address Type"
|
2413 |
msgstr "Adresstyp"
|
2414 |
|
2415 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:93
|
2416 |
msgctxt "dhl"
|
2417 |
msgid "Select whether delivery to DHL locations should be enabled."
|
2418 |
msgstr "Wähle aus, ob die Lieferung an DHL Standorte aktiviert werden soll."
|
2419 |
|
2420 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:98
|
2421 |
msgctxt "dhl"
|
2422 |
msgid "Postnumber"
|
2423 |
msgstr "Postnummer"
|
2424 |
|
2425 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:100
|
2426 |
msgctxt "dhl"
|
2427 |
msgid ""
|
2428 |
"In case delivery to packstation is selected please fill in the corresponding "
|
2431 |
"Insofern die Lieferung an eine Packstation erfolgt, bitte die Postnummer "
|
2432 |
"eintragen."
|
2433 |
|
2434 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:186
|
2435 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:565
|
2436 |
msgctxt "dhl"
|
2437 |
msgid "Invalid address type."
|
2438 |
msgstr "Ungültiger Adresstyp."
|
2439 |
|
2440 |
# @ woocommerce-germanized
|
2441 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:637
|
2442 |
msgctxt "dhl"
|
2443 |
msgid "Sorry, but delivery to packstation is not available."
|
2444 |
msgstr ""
|
2445 |
"Entschuldigung, die Lieferung an eine Packstation steht nicht zur Verfügung."
|
2446 |
|
2447 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:642
|
2448 |
msgctxt "dhl"
|
2449 |
msgid "Sorry, but delivery to parcel shops is not available."
|
2450 |
msgstr ""
|
2451 |
"Entschuldigung, die Lieferung an einen Paketshop steht nicht zur Verfügung."
|
2452 |
|
2453 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:646
|
2454 |
msgctxt "dhl"
|
2455 |
msgid "Sorry, but delivery to post offices is not available."
|
2456 |
msgstr "Entschuldigung, die Lieferung an Postfilialen ist nicht verfügbar."
|
2457 |
|
2458 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:653
|
2459 |
#, php-format
|
2460 |
msgctxt "dhl"
|
2461 |
msgid "Please indicate shipment to %s by one of the following values: %s."
|
2463 |
"Bitte identifiziere die Lieferung an %s durch die Eingabe einer der "
|
2464 |
"folgenden Werte: %s."
|
2465 |
|
2466 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:661
|
2467 |
msgctxt "dhl"
|
2468 |
msgid ""
|
2469 |
"Your DHL customer number (Post number) is not valid. Please check your "
|
2472 |
"Deine DHL Kundennummer (Postnummer) ist nicht gültig. Bitte überprüfe deine "
|
2473 |
"Eingabe."
|
2474 |
|
2475 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:664
|
2476 |
msgctxt "dhl"
|
2477 |
msgid ""
|
2478 |
"Your DHL customer number (Post number) is needed to ship to a packstation."
|
2480 |
"Deine DHL Kundennummer (Postnummer) wird für den Versand an eine Packstation "
|
2481 |
"benötigt."
|
2482 |
|
2483 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:713
|
2484 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:840
|
2485 |
msgctxt "dhl"
|
2486 |
msgid "Branch"
|
2487 |
msgstr "Filiale"
|
2488 |
|
2489 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:714
|
2490 |
msgctxt "dhl"
|
2491 |
msgid "Postnumber "
|
2492 |
msgstr "Postnummer "
|
2493 |
|
2494 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:815
|
2495 |
#, php-format
|
2496 |
msgctxt "dhl"
|
2497 |
msgid "e.g. %s 456"
|
2498 |
msgstr "z.B. %s 456"
|
2499 |
|
2500 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:840
|
2501 |
msgctxt "dhl"
|
2502 |
msgid "Branches"
|
2503 |
msgstr "Filialen"
|
2504 |
|
2505 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:856
|
2506 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:889
|
2507 |
msgctxt "dhl"
|
2508 |
msgid "DHL customer number (Post number)"
|
2509 |
msgstr "DHL Kundennummer (Postnummer)"
|
2510 |
|
2511 |
# @ woocommerce-germanized
|
2512 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:866
|
2513 |
msgctxt "dhl"
|
2514 |
msgid "Regular Address"
|
2515 |
msgstr "Normale Adresse"
|
2516 |
|
2517 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:893
|
2518 |
msgctxt "dhl"
|
2519 |
msgid "Not yet a DHL customer?"
|
2520 |
msgstr "Noch kein DHL Kunde?"
|
2521 |
|
2522 |
# @ woocommerce-germanized
|
2523 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:893
|
2524 |
msgctxt "dhl"
|
2525 |
msgid "Register now"
|
2526 |
msgstr "Jetzt registrieren"
|
2527 |
|
2528 |
# @ woocommerce-germanized
|
2529 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:942
|
2530 |
#, php-format
|
2531 |
msgctxt "dhl"
|
2532 |
msgid "Search %s"
|
2533 |
msgstr "%s suchen"
|
2534 |
|
2535 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:1047
|
2536 |
msgctxt "dhl"
|
2537 |
msgid "No DHL locations found"
|
2538 |
msgstr "Keine DHL Standorte gefunden"
|
2539 |
|
2540 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:1062
|
2541 |
#, php-format
|
2542 |
msgctxt "dhl"
|
2543 |
msgid ""
|
2548 |
"%s oder %s."
|
2549 |
|
2550 |
# @ woocommerce-germanized
|
2551 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:1062
|
2552 |
msgctxt "dhl"
|
2553 |
msgid "DHL location"
|
2554 |
msgstr "DHL Standort"
|
2555 |
|
2556 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:1062
|
2557 |
msgctxt "dhl"
|
2558 |
msgid "retry"
|
2559 |
msgstr "Erneut versuchen"
|
2581 |
msgid "Please choose name and address of your preferred neighbor."
|
2582 |
msgstr "Bitte wähle einen Namen und die Adresse deines Wunschnachbars."
|
2583 |
|
2584 |
+
#: woocommerce-germanized-dhl/src/ReturnLabel.php:124
|
2585 |
#: woocommerce-germanized-dhl/src/SimpleLabel.php:86
|
2586 |
#, php-format
|
2587 |
msgctxt "dhl full name"
|
2588 |
msgid "%1$s"
|
2589 |
msgstr "%1$s"
|
2590 |
|
2591 |
+
#: woocommerce-germanized-dhl/src/ShippingProvider/DHL.php:47
|
2592 |
msgctxt "dhl"
|
2593 |
msgid ""
|
2594 |
"Complete DHL integration supporting labels, preferred services and "
|
2597 |
"DHL Integration die das Erzeugen von Labels, Wunsch-Services und Lieferung "
|
2598 |
"an Packstationen unterstützt."
|
2599 |
|
2600 |
+
#: woocommerce-germanized-dhl/src/ShippingProvider/DeutschePost.php:31
|
2601 |
+
msgctxt "dhl"
|
2602 |
+
msgid "Deutsche Post"
|
2603 |
+
msgstr "Deutsche Post"
|
2604 |
+
|
2605 |
+
#: woocommerce-germanized-dhl/src/ShippingProvider/DeutschePost.php:39
|
2606 |
+
msgctxt "dhl"
|
2607 |
+
msgid "Integration for products of the Deutsche Post through Internetmarke."
|
2608 |
+
msgstr "Integration von Produkten der Deutschen Post über die Internetmarke."
|
2609 |
+
|
2610 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder-result.php:31
|
2611 |
msgctxt "dhl"
|
2612 |
msgid "Opening Times"
|
2778 |
"Deine Installation des Germanized DHL Plugins ist unvollständig. Bitte führe "
|
2779 |
"%1$s im %2$s Verzeichnis aus."
|
2780 |
|
2781 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:32
|
2782 |
#, php-format
|
2783 |
msgctxt "shipments"
|
2784 |
+
msgid "Content (%s)"
|
2785 |
+
msgstr "Inhalt (%s)"
|
2786 |
|
2787 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:38
|
2788 |
#, php-format
|
2789 |
msgctxt "shipments"
|
2790 |
msgid "Dimensions (%s)"
|
2791 |
msgstr "Abmessungen (%s)"
|
2792 |
|
2793 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:38
|
2794 |
msgctxt "shipments"
|
2795 |
msgid "LxWxH in decimal form."
|
2796 |
msgstr "LxBxH in dezimaler Form."
|
2797 |
|
2798 |
# @ woocommerce-germanized
|
2799 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:50
|
2800 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:424
|
2801 |
+
msgctxt "shipments"
|
2802 |
+
msgid "Packaging"
|
2803 |
+
msgstr "Verpackung"
|
2804 |
+
|
2805 |
+
# @ woocommerce-germanized
|
2806 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:58
|
2807 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1027
|
2808 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:24
|
2809 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:688
|
2812 |
msgstr "Status"
|
2813 |
|
2814 |
# @ woocommerce-germanized
|
2815 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:68
|
2816 |
msgctxt "shipments"
|
2817 |
msgid "Shipping method"
|
2818 |
msgstr "Versandmethode"
|
2819 |
|
2820 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:78
|
2821 |
msgctxt "shipments"
|
2822 |
msgid "Shipping provider"
|
2823 |
msgstr "Versanddienstleister"
|
2824 |
|
2825 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:89
|
2826 |
msgctxt "shipments"
|
2827 |
msgid "Tracking Number"
|
2828 |
msgstr "Sendungsnummer"
|
2829 |
|
2830 |
# @ woocommerce-germanized
|
2831 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:155
|
2832 |
msgctxt "shipments"
|
2833 |
msgid "Add item"
|
2834 |
msgstr "Position hinzufügen"
|
2835 |
|
2836 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:159
|
2837 |
msgctxt "shipments"
|
2838 |
msgid "Automatically adjust items and quantities based on order item data."
|
2839 |
msgstr "Bestimmt Positionen und Anzahlen automatisch anhand der Bestelldaten."
|
2840 |
|
2841 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:159
|
2842 |
msgctxt "shipments"
|
2843 |
msgid "Sync items"
|
2844 |
msgstr "Positionen synchronisieren"
|
2845 |
|
2846 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:179
|
2847 |
msgctxt "shipments"
|
2848 |
msgid "Add Item"
|
2849 |
msgstr "Position hinzufügen"
|
2850 |
|
2851 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:189
|
2852 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:45
|
2853 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:88
|
2854 |
msgctxt "shipments"
|
2855 |
msgid "Item"
|
2856 |
msgstr "Position"
|
2857 |
|
2858 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:190
|
2859 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:46
|
2860 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:93
|
2861 |
#: woocommerce-germanized-shipments/templates/emails/email-shipment-details.php:55
|
2862 |
#: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:37
|
2863 |
#: woocommerce-germanized-shipments/templates/shipment/shipment-details.php:60
|
2865 |
msgid "Quantity"
|
2866 |
msgstr "Anzahl"
|
2867 |
|
2868 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:208
|
2869 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:55
|
2870 |
msgctxt "shipments"
|
2871 |
msgid "Add"
|
2872 |
msgstr "Hinzufügen"
|
2873 |
|
2874 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:232
|
2875 |
msgctxt "shipments"
|
2876 |
msgid ""
|
2877 |
"Send return instructions to your customer via email including return label "
|
2880 |
"Sende Informationen zur Rücksendung inkl. Label, falls verfügbar an deinen "
|
2881 |
"Kunden via E-Mail."
|
2882 |
|
2883 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:232
|
2884 |
msgctxt "shipments"
|
2885 |
msgid "Resend notification"
|
2886 |
msgstr "Benachrichtigung erneut versenden"
|
2887 |
|
2888 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:232
|
2889 |
msgctxt "shipments"
|
2890 |
msgid "Notify customer"
|
2891 |
msgstr "Kunde benachrichtigen"
|
2892 |
|
2893 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:234
|
2894 |
msgctxt "shipments"
|
2895 |
msgid ""
|
2896 |
"Confirm the return request to the customer. The customer receives an email "
|
2900 |
"Benachrichtigung, die möglicherweise Anweisungen zur Rücksendung enthält."
|
2901 |
|
2902 |
# @ woocommerce-germanized
|
2903 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:234
|
2904 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:66
|
2905 |
msgctxt "shipments"
|
2906 |
msgid "Confirm return request"
|
2907 |
msgstr "Rücksendeantrag bestätigen"
|
2908 |
|
2909 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:238
|
2910 |
#, php-format
|
2911 |
msgctxt "shipments"
|
2912 |
msgid "Delete %s"
|
2937 |
|
2938 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-list.php:22
|
2939 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:76
|
2940 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:75
|
2941 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:509
|
2942 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:630
|
2943 |
#: woocommerce-germanized-shipments/src/Admin/Settings.php:80
|
2944 |
#: woocommerce-germanized-shipments/src/Admin/Settings.php:177
|
2945 |
#: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:36
|
2947 |
msgid "Returns"
|
2948 |
msgstr "Retouren"
|
2949 |
|
2950 |
+
# @ woocommerce-germanized
|
2951 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-packaging-select.php:17
|
2952 |
+
#: woocommerce-germanized-shipments/includes/wc-gzd-packaging-functions.php:52
|
2953 |
+
msgctxt "shipments-packaging"
|
2954 |
+
msgid "None"
|
2955 |
+
msgstr "Keine"
|
2956 |
+
|
2957 |
+
# @ woocommerce-germanized
|
2958 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-packaging-select.php:27
|
2959 |
+
msgctxt "shipments"
|
2960 |
+
msgid "Does not fit"
|
2961 |
+
msgstr "Passt nicht"
|
2962 |
+
|
2963 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment.php:16
|
2964 |
#, php-format
|
2965 |
msgctxt "shipment admin title"
|
2969 |
# @ woocommerce-germanized
|
2970 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:19
|
2971 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:69
|
2972 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:439
|
2973 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:508
|
2974 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:596
|
2975 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:663
|
2976 |
#: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:20
|
2977 |
msgctxt "shipments"
|
2978 |
msgid "Shipments"
|
3003 |
#: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:11
|
3004 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:22
|
3005 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:686
|
3006 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:555
|
3007 |
msgctxt "shipments"
|
3008 |
msgid "Title"
|
3009 |
msgstr "Titel"
|
3010 |
|
3011 |
# @ woocommerce-germanized
|
3012 |
#: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:12
|
3013 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:316
|
3014 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:564
|
3015 |
msgctxt "shipments"
|
3016 |
msgid "Description"
|
3017 |
msgstr "Beschreibung"
|
3067 |
msgstr "Download"
|
3068 |
|
3069 |
#: woocommerce-germanized-shipments/includes/admin/views/label/html-shipment-label.php:39
|
3070 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:722
|
3071 |
msgctxt "shipments"
|
3072 |
msgid "Create new label"
|
3073 |
msgstr "Neues Label erstellen"
|
3287 |
msgid "Enter recipients (comma separated) for this email. Defaults to %s."
|
3288 |
msgstr "Füge Empfänger (kommasepariert) für diese E-Mail ein. Standard: %s."
|
3289 |
|
3290 |
+
#: woocommerce-germanized-shipments/includes/wc-gzd-packaging-functions.php:24
|
3291 |
+
msgctxt "shipments"
|
3292 |
+
msgid "Cardboard"
|
3293 |
+
msgstr "Karton"
|
3294 |
+
|
3295 |
+
#: woocommerce-germanized-shipments/includes/wc-gzd-packaging-functions.php:25
|
3296 |
+
msgctxt "shipments"
|
3297 |
+
msgid "Letter"
|
3298 |
+
msgstr "Brief"
|
3299 |
+
|
3300 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:68
|
3301 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1025
|
3302 |
msgctxt "shipments"
|
3386 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:413
|
3387 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:417
|
3388 |
#: woocommerce-germanized-shipments/src/ReturnShipment.php:420
|
3389 |
+
#: woocommerce-germanized-shipments/src/ReturnShipment.php:479
|
3390 |
#: woocommerce-germanized-shipments/src/SimpleShipment.php:118
|
3391 |
+
#: woocommerce-germanized-shipments/src/SimpleShipment.php:214
|
3392 |
msgctxt "shipments"
|
3393 |
msgid "Invalid shipment order"
|
3394 |
msgstr "Ungültige Bestellung zur Sendung"
|
3430 |
|
3431 |
# @ woocommerce-germanized
|
3432 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1029
|
3433 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:98
|
3434 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:30
|
3435 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:694
|
3436 |
msgctxt "shipments"
|
3445 |
# @ woocommerce-germanized
|
3446 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1272
|
3447 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:865
|
3448 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:337
|
3449 |
msgctxt "shipments"
|
3450 |
msgid "Download label"
|
3451 |
msgstr "Label downloaden"
|
3459 |
msgstr "Mein Konto"
|
3460 |
|
3461 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipments-template-functions.php:115
|
3462 |
+
#: woocommerce-germanized-shipments/src/DataStores/Shipment.php:354
|
3463 |
msgctxt "shipments"
|
3464 |
msgid "Invalid shipment."
|
3465 |
msgstr "Ungültige Sendung."
|
3482 |
msgstr "Bestellung ansehen"
|
3483 |
|
3484 |
# @ woocommerce-germanized
|
3485 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:106
|
3486 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:241
|
3487 |
#: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:36
|
3488 |
msgctxt "shipments"
|
3489 |
msgid "Reason"
|
3490 |
msgstr "Rücksendegrund"
|
3491 |
|
3492 |
# @ woocommerce-germanized
|
3493 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:233
|
3494 |
msgctxt "shipments"
|
3495 |
msgid "Return reasons"
|
3496 |
msgstr "Rücksendegründe"
|
3497 |
|
3498 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:240
|
3499 |
msgctxt "shipments"
|
3500 |
msgid "Reason code"
|
3501 |
msgstr "Rücksendegrund (Code)"
|
3502 |
|
3503 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:240
|
3504 |
msgctxt "shipments"
|
3505 |
msgid "The reason code is used to identify the reason."
|
3506 |
msgstr ""
|
3508 |
"identifizieren zu können."
|
3509 |
|
3510 |
# @ woocommerce-germanized
|
3511 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:241
|
3512 |
msgctxt "shipments"
|
3513 |
msgid "Choose a reason text."
|
3514 |
msgstr "Beschreibung für den Grund."
|
3515 |
|
3516 |
# @ woocommerce-germanized
|
3517 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:260
|
3518 |
msgctxt "shipments"
|
3519 |
msgid "+ Add reason"
|
3520 |
msgstr "+ Grund hinzufügen"
|
3521 |
|
3522 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:260
|
3523 |
msgctxt "shipments"
|
3524 |
msgid "Remove selected reason(s)"
|
3525 |
msgstr "Ausgewählte Gründe löschen"
|
3526 |
|
3527 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:293
|
3528 |
+
msgctxt "shipments"
|
3529 |
+
msgid "Available Packaging"
|
3530 |
+
msgstr "Verfügbare Verpackungen"
|
3531 |
+
|
3532 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:316
|
3533 |
+
msgctxt "shipments"
|
3534 |
+
msgid "A description to help you identify the packaging."
|
3535 |
+
msgstr "Eine Beschreibung die dir dabei hilft Verpackungen zu identifizieren."
|
3536 |
+
|
3537 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:317
|
3538 |
+
msgctxt "shipments"
|
3539 |
+
msgid "Type"
|
3540 |
+
msgstr "Typ"
|
3541 |
+
|
3542 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:318
|
3543 |
+
#, php-format
|
3544 |
+
msgctxt "shipments"
|
3545 |
+
msgid "Weight (%s)"
|
3546 |
+
msgstr "Gewicht (%s)"
|
3547 |
+
|
3548 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:318
|
3549 |
+
msgctxt "shipments"
|
3550 |
+
msgid "The weight of the packaging."
|
3551 |
+
msgstr "Das Gewicht der Verpackung."
|
3552 |
+
|
3553 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:319
|
3554 |
+
#, php-format
|
3555 |
+
msgctxt "shipments"
|
3556 |
+
msgid "Dimensions (LxWxH, %s)"
|
3557 |
+
msgstr "Abmessungen (LxBxH, %s)"
|
3558 |
+
|
3559 |
+
# @ woocommerce-germanized
|
3560 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:320
|
3561 |
+
msgctxt "shipments"
|
3562 |
+
msgid "Max weight (kg)"
|
3563 |
+
msgstr "Max. Gewicht (kg)"
|
3564 |
+
|
3565 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:320
|
3566 |
+
msgctxt "shipments"
|
3567 |
+
msgid ""
|
3568 |
+
"The maximum weight this packaging can hold. Leave empty to not restrict "
|
3569 |
+
"maximum weight."
|
3570 |
+
msgstr ""
|
3571 |
+
"Das maximale Gewicht, das diese Verpackung tragen kann. Leer lassen um das "
|
3572 |
+
"Gewicht nicht zu begrenzen."
|
3573 |
+
|
3574 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:345
|
3575 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:386
|
3576 |
+
msgctxt "shipments"
|
3577 |
+
msgid "Length"
|
3578 |
+
msgstr "Länge"
|
3579 |
+
|
3580 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:346
|
3581 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:387
|
3582 |
+
msgctxt "shipments"
|
3583 |
+
msgid "Width"
|
3584 |
+
msgstr "Breite"
|
3585 |
+
|
3586 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:347
|
3587 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:388
|
3588 |
+
msgctxt "shipments"
|
3589 |
+
msgid "Height"
|
3590 |
+
msgstr "Höhe"
|
3591 |
+
|
3592 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:360
|
3593 |
+
msgctxt "shipments"
|
3594 |
+
msgid "+ Add packaging"
|
3595 |
+
msgstr "+ Verpackung hinzufügen"
|
3596 |
+
|
3597 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:360
|
3598 |
+
msgctxt "shipments"
|
3599 |
+
msgid "Remove selected packaging"
|
3600 |
+
msgstr "Ausgewählte Verpackung löschen"
|
3601 |
+
|
3602 |
# @ woocommerce-germanized
|
3603 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:493
|
3604 |
msgctxt "shipments"
|
3605 |
msgid "Create shipments"
|
3606 |
msgstr "Sendungen erstellen"
|
3607 |
|
3608 |
# @ woocommerce-germanized
|
3609 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:608
|
3610 |
msgctxt "shipments"
|
3611 |
msgid "Search shipments"
|
3612 |
msgstr "Sendungen suchen"
|
3613 |
|
3614 |
# @ woocommerce-germanized
|
3615 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:642
|
3616 |
msgctxt "shipments"
|
3617 |
msgid "Search returns"
|
3618 |
msgstr "Retouren suchen"
|
3619 |
|
3620 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:715
|
3621 |
msgctxt "shipments"
|
3622 |
msgid "Do you really want to delete the shipment?"
|
3623 |
msgstr "Möchtest du die Sendung wirklich löschen?"
|
3624 |
|
3625 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:721
|
3626 |
msgctxt "shipments"
|
3627 |
msgid "Do you really want to delete the label?"
|
3628 |
msgstr "Möchtest du das Label wirklich löschen?"
|
3629 |
|
3630 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:723
|
3631 |
msgctxt "shipments"
|
3632 |
msgid "Please save the shipment before creating a new label"
|
3633 |
msgstr "Bitte speichere die Sendung bevor du ein neues Label erzeugst"
|
3634 |
|
3635 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:773
|
3636 |
msgctxt "shipments"
|
3637 |
msgid ""
|
3638 |
"Do you really want to delete the shipping provider? Some of your existing "
|
4038 |
msgid "List shipments on customer account order screen."
|
4039 |
msgstr "Liste Sendungen im Kundenkonto in den Bestelldetails auf."
|
4040 |
|
4041 |
+
# @ woocommerce-germanized
|
4042 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:280
|
4043 |
+
msgctxt "shipments"
|
4044 |
+
msgid "Default packaging"
|
4045 |
+
msgstr "Standard-Verpackung"
|
4046 |
+
|
4047 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:281
|
4048 |
+
msgctxt "shipments"
|
4049 |
+
msgid ""
|
4050 |
+
"Choose a packaging which serves as fallback or default in case no suitable "
|
4051 |
+
"packaging could be matched for a certain shipment."
|
4052 |
+
msgstr ""
|
4053 |
+
"Wähle eine Verpackung aus, die im Zweifel für die Sendung verwendet wird, "
|
4054 |
+
"wenn keine passende Verpackung gefunden werden konnte."
|
4055 |
+
|
4056 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:379
|
4057 |
msgctxt "shipments"
|
4058 |
msgid "New provider"
|
4059 |
msgstr "Neuer Dienstleister"
|
4060 |
|
4061 |
# @ woocommerce-germanized
|
4062 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:389
|
4063 |
msgctxt "shipments"
|
4064 |
msgid "Additional settings"
|
4065 |
msgstr "Weiterführende Einstellungen"
|
4066 |
|
4067 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:415
|
4068 |
msgctxt "shipments"
|
4069 |
msgid "Add provider"
|
4070 |
msgstr "Dienstleister hinzufügen"
|
4071 |
|
4072 |
# @ woocommerce-germanized
|
4073 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:423
|
4074 |
msgctxt "shipments"
|
4075 |
msgid "General"
|
4076 |
msgstr "Allgemein"
|
4077 |
|
4078 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:425
|
4079 |
#: woocommerce-germanized-shipments/src/ShippingProviderMethod.php:56
|
4080 |
msgctxt "shipments"
|
4081 |
msgid "Shipping Provider"
|
4146 |
|
4147 |
# @ woocommerce-germanized
|
4148 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:664
|
4149 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:816
|
4150 |
#, php-format
|
4151 |
msgctxt "shipments"
|
4152 |
msgid "Order #%s"
|
4231 |
msgid "Generate and download labels"
|
4232 |
msgstr "Labels erstellen und downloaden"
|
4233 |
|
4234 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:95
|
4235 |
msgctxt "shipments"
|
4236 |
msgid "Notification successfully sent to customer."
|
4237 |
msgstr "Kunde erfolgreich benachrichtigt."
|
4238 |
|
4239 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:102
|
4240 |
msgctxt "shipments"
|
4241 |
msgid "There was an error while sending the notification."
|
4242 |
msgstr "Beim Versendes der Benachrichtigung ist ein Fehler aufgetreten."
|
4243 |
|
4244 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:142
|
4245 |
msgctxt "shipments"
|
4246 |
msgid "Return request confirmed successfully."
|
4247 |
msgstr "Rücksendeantrag erfolgreich bestätigt."
|
4248 |
|
4249 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:154
|
4250 |
msgctxt "shipments"
|
4251 |
msgid "There was an error while confirming the request."
|
4252 |
msgstr "Bei der Bestätigung des Antrags ist ein Fehler aufgetreten."
|
4253 |
|
4254 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:174
|
4255 |
msgctxt "shipments"
|
4256 |
msgid "There was an error creating the label."
|
4257 |
msgstr "Beim Erstellen des Labels ist ein Fehler aufgetreten."
|
4258 |
|
4259 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:210
|
4260 |
msgctxt "shipments"
|
4261 |
msgid "There was an error deleting the label."
|
4262 |
msgstr "Beim Löschen des Labels ist ein Fehler aufgetreten."
|
4263 |
|
4264 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:251
|
4265 |
msgctxt "shipments"
|
4266 |
msgid "There was an error processing the label."
|
4267 |
msgstr "Bei der Verarbeitung des Labels ist ein Fehler aufgetreten."
|
4268 |
|
4269 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:349
|
4270 |
msgctxt "shipments"
|
4271 |
msgid "There was an error while trying to save the shipping provider status."
|
4272 |
msgstr ""
|
4273 |
"Beim Speichern des Status des Versanddienstleisters trat ein Fehler auf."
|
4274 |
|
4275 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:387
|
4276 |
msgctxt "shipments"
|
4277 |
msgid "There was an error while trying to delete the shipping provider."
|
4278 |
msgstr "Beim Löschen des Versanddienstleisters trat ein Fehler auf."
|
4279 |
|
4280 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:420
|
4281 |
msgctxt "shipments"
|
4282 |
msgid "There was an error while bulk processing shipments."
|
4283 |
msgstr ""
|
4284 |
"Bei der Verarbeitung der Mehrfachaktionen von Sendungen trat ein Fehler auf."
|
4285 |
|
4286 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:532
|
4287 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:633
|
4288 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:690
|
4289 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:727
|
4290 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:854
|
4291 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:915
|
4292 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:982
|
4293 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1015
|
4294 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1064
|
4295 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1132
|
4296 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1173
|
4297 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1228
|
4298 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1272
|
4299 |
msgctxt "shipments"
|
4300 |
msgid "There was an error processing the shipment"
|
4301 |
msgstr "Fehler bei der Verarbeitung der Sendung"
|
4302 |
|
4303 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:574
|
4304 |
msgctxt "shipments"
|
4305 |
msgid "There was an error while adding the shipment"
|
4306 |
msgstr "Beim Hinzufügen der Sendung ist ein Fehler aufgetreten"
|
4307 |
|
4308 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:595
|
4309 |
msgctxt "shipments"
|
4310 |
msgid "This order contains enough shipments already."
|
4311 |
msgstr "Diese Bestellung beinhaltet bereits genug Sendungen."
|
4312 |
|
4313 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:652
|
4314 |
msgctxt "shipments"
|
4315 |
msgid "This order contains enough returns already."
|
4316 |
msgstr "Diese Bestellung beinhaltet bereits genügend Retouren."
|
4507 |
msgstr "Anzahl."
|
4508 |
|
4509 |
# @ woocommerce-germanized
|
4510 |
+
#: woocommerce-germanized-shipments/src/Automation.php:127
|
4511 |
msgctxt "shipments"
|
4512 |
msgid "Order is fully shipped."
|
4513 |
msgstr "Bestellung ist vollständig versandt."
|
4514 |
|
4515 |
+
#: woocommerce-germanized-shipments/src/DataStores/Packaging.php:236
|
4516 |
+
msgctxt "shipments"
|
4517 |
+
msgid "Invalid packaging."
|
4518 |
+
msgstr "Verpackung nicht verfügbar."
|
4519 |
+
|
4520 |
#: woocommerce-germanized-shipments/src/DataStores/ShipmentItem.php:195
|
4521 |
msgctxt "shipments"
|
4522 |
msgid "Invalid shipment item."
|
4620 |
"Es gab ein Problem beim Erstellen der Rücksendung. Bitte kontaktiere uns für "
|
4621 |
"weitere Informationen."
|
4622 |
|
4623 |
+
#: woocommerce-germanized-shipments/src/Install.php:31
|
4624 |
msgctxt "shipments"
|
4625 |
msgid "Wrong product or size ordered"
|
4626 |
msgstr "Falsches Produkt oder Größe bestellt"
|
4627 |
|
4628 |
+
#: woocommerce-germanized-shipments/src/Install.php:36
|
4629 |
msgctxt "shipments"
|
4630 |
msgid "Product no longer needed"
|
4631 |
msgstr "Produkt wird nicht länger benötigt"
|
4632 |
|
4633 |
+
#: woocommerce-germanized-shipments/src/Install.php:41
|
4634 |
msgctxt "shipments"
|
4635 |
msgid "Don't like the look"
|
4636 |
msgstr "Optik nicht wie erwartet"
|
4637 |
|
4638 |
+
#: woocommerce-germanized-shipments/src/Install.php:60
|
4639 |
+
msgctxt "shipments"
|
4640 |
+
msgid "Cardboard S"
|
4641 |
+
msgstr "Karton S"
|
4642 |
+
|
4643 |
+
#: woocommerce-germanized-shipments/src/Install.php:69
|
4644 |
+
msgctxt "shipments"
|
4645 |
+
msgid "Cardboard M"
|
4646 |
+
msgstr "Karton M"
|
4647 |
+
|
4648 |
+
#: woocommerce-germanized-shipments/src/Install.php:78
|
4649 |
+
msgctxt "shipments"
|
4650 |
+
msgid "Cardboard L"
|
4651 |
+
msgstr "Karton L"
|
4652 |
+
|
4653 |
+
#: woocommerce-germanized-shipments/src/Install.php:87
|
4654 |
+
msgctxt "shipments"
|
4655 |
+
msgid "Letter C5/6"
|
4656 |
+
msgstr "Brief C5/6"
|
4657 |
+
|
4658 |
+
#: woocommerce-germanized-shipments/src/Install.php:96
|
4659 |
+
msgctxt "shipments"
|
4660 |
+
msgid "Letter C4"
|
4661 |
+
msgstr "Brief C4"
|
4662 |
+
|
4663 |
# @ woocommerce-germanized
|
4664 |
+
#: woocommerce-germanized-shipments/src/Package.php:97
|
4665 |
msgctxt "shipments"
|
4666 |
msgid "Sorry, this order is invalid and cannot be returned."
|
4667 |
msgstr "Sorry, diese Bestellung existiert nicht."
|
4668 |
|
4669 |
+
#: woocommerce-germanized-shipments/src/Packaging.php:266
|
4670 |
+
#, php-format
|
4671 |
+
msgctxt "shipments-packaging-title"
|
4672 |
+
msgid "%1$s (%2$s, %3$s)"
|
4673 |
+
msgstr "%1$s (%2$s, %3$s)"
|
4674 |
+
|
4675 |
#: woocommerce-germanized-shipments/src/ReturnShipment.php:356
|
4676 |
+
#: woocommerce-germanized-shipments/src/Shipment.php:882
|
4677 |
#, php-format
|
4678 |
msgctxt "full name"
|
4679 |
msgid "%1$s %2$s"
|
4680 |
msgstr "%1$s %2$s"
|
4681 |
|
4682 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:270
|
4683 |
msgctxt "shipments"
|
4684 |
msgid ""
|
4685 |
"Your shipment is being processed by {shipping_provider}. If you want to "
|
4693 |
"die Paketverfolgungsdaten zum Zeitpunkt des Erhalts dieser E-Mail noch nicht "
|
4694 |
"den neuesten Stand wiedergeben."
|
4695 |
|
4696 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:543
|
4697 |
#, php-format
|
4698 |
msgctxt "shipments"
|
4699 |
msgid "%s supports many more options. Explore %s."
|
4700 |
msgstr "%s unterstützt viele weitere Einstellungen. Schau dir %s an."
|
4701 |
|
4702 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:543
|
4703 |
#, php-format
|
4704 |
msgctxt "shipments"
|
4705 |
msgid "%s specific settings"
|
4706 |
msgstr "%s spezifische Einstellungen"
|
4707 |
|
4708 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:556
|
4709 |
msgctxt "shipments"
|
4710 |
msgid "Choose a title for the shipping provider."
|
4711 |
msgstr "Wähle einen Titel für den Versanddienstleister."
|
4712 |
|
4713 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:565
|
4714 |
msgctxt "shipments"
|
4715 |
msgid "Choose a description for the shipping provider."
|
4716 |
msgstr "Wähle eine Beschreibung für den Versanddienstleister."
|
4717 |
|
4718 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:579
|
4719 |
msgctxt "shipments"
|
4720 |
msgid "Tracking URL"
|
4721 |
msgstr "Sendungsverfolgung URL"
|
4722 |
|
4723 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:580
|
4724 |
#, php-format
|
4725 |
msgctxt "shipments"
|
4726 |
msgid ""
|
4734 |
"einzufügen: %s"
|
4735 |
|
4736 |
# @ woocommerce-germanized
|
4737 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:590
|
4738 |
msgctxt "shipments"
|
4739 |
msgid "Tracking description"
|
4740 |
msgstr "Sendungsverfolgung Hinweis"
|
4741 |
|
4742 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:591
|
4743 |
#, php-format
|
4744 |
msgctxt "shipments"
|
4745 |
msgid ""
|
4754 |
"einzufügen: %s"
|
4755 |
|
4756 |
# @ woocommerce-germanized
|
4757 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:604
|
4758 |
msgctxt "shipments"
|
4759 |
msgid "Customer returns"
|
4760 |
msgstr "Rücksendungen"
|
4761 |
|
4762 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:605
|
4763 |
msgctxt "shipments"
|
4764 |
msgid "Allow customers to submit return requests to shipments."
|
4765 |
msgstr "Erlaube Kunden eine Rücksendung zu einer Sendung zu beantragen."
|
4766 |
|
4767 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:605
|
4768 |
#, php-format
|
4769 |
msgctxt "shipments"
|
4770 |
msgid ""
|
4778 |
"Gästen zu erfahren, lese bitte die %s."
|
4779 |
|
4780 |
# @ woocommerce-germanized
|
4781 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:605
|
4782 |
msgctxt "shipments"
|
4783 |
msgid "Return Dashboard"
|
4784 |
msgstr "Retouren-Dashboard"
|
4785 |
|
4786 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:605
|
4787 |
msgctxt "shipments"
|
4788 |
msgid "docs"
|
4789 |
msgstr "Dokumentation"
|
4790 |
|
4791 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:614
|
4792 |
msgctxt "shipments"
|
4793 |
msgid "Guest returns"
|
4794 |
msgstr "Retouren für Gäste"
|
4795 |
|
4796 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:615
|
4797 |
msgctxt "shipments"
|
4798 |
msgid "Allow guests to submit return requests to shipments."
|
4799 |
msgstr "Erlaube Gästen Rücksendeanträge zu Bestellungen zu beantragen."
|
4800 |
|
4801 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:615
|
4802 |
#, php-format
|
4803 |
msgctxt "shipments"
|
4804 |
msgid ""
|
4812 |
"Rücksende-Formular für Gäste auf deiner Seite zu platzieren."
|
4813 |
|
4814 |
# @ woocommerce-germanized
|
4815 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:626
|
4816 |
msgctxt "shipments"
|
4817 |
msgid "Manual confirmation"
|
4818 |
msgstr "Manuelle Bestätigung"
|
4819 |
|
4820 |
# @ woocommerce-germanized
|
4821 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:627
|
4822 |
msgctxt "shipments"
|
4823 |
msgid "Return requests need manual confirmation."
|
4824 |
msgstr "Rücksendeanträge benötigen eine manuelle Bestätigung."
|
4825 |
|
4826 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:627
|
4827 |
msgctxt "shipments"
|
4828 |
msgid ""
|
4829 |
"By default return request need manual confirmation e.g. a shop manager needs "
|
4840 |
"Mail-Bestätigung samt Retouren-Label."
|
4841 |
|
4842 |
# @ woocommerce-germanized
|
4843 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:639
|
4844 |
msgctxt "shipments"
|
4845 |
msgid "Return instructions"
|
4846 |
msgstr "Rücksende-Anweisungen"
|
4847 |
|
4848 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:640
|
4849 |
msgctxt "shipments"
|
4850 |
msgid ""
|
4851 |
"Provide your customer with instructions on how to return the shipment after "
|
5225 |
# @ woocommerce-germanized
|
5226 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:549
|
5227 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:559
|
5228 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:449
|
5229 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:546
|
5230 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:554
|
5231 |
msgid "incl. VAT"
|
5238 |
|
5239 |
# @ woocommerce-germanized
|
5240 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:551
|
5241 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:449
|
5242 |
#, php-format
|
5243 |
msgid "incl. %s%% VAT"
|
5244 |
msgstr "inkl. %s %% MwSt."
|
5480 |
# @ woocommerce-germanized
|
5481 |
# @ woocommerce
|
5482 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:73
|
5483 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:153
|
5484 |
#: woocommerce-germanized/includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:79
|
5485 |
+
#: woocommerce-germanized/woocommerce-germanized.php:816
|
5486 |
msgid "Settings"
|
5487 |
msgstr "Einstellungen"
|
5488 |
|
5499 |
msgstr "Tutorial starten"
|
5500 |
|
5501 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:92
|
|
|
5502 |
#: woocommerce-germanized/includes/admin/views/setup/dhl.php:10
|
5503 |
msgid "DHL"
|
5504 |
msgstr "DHL"
|
5505 |
|
5506 |
# @ woocommerce-germanized
|
5507 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:100
|
5508 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:112
|
5509 |
msgid "Import settings"
|
5510 |
msgstr "Einstellungen importieren"
|
5511 |
|
5512 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:104
|
5513 |
+
#: woocommerce-germanized/includes/admin/views/setup/internetmarke.php:10
|
5514 |
+
msgid "Internetmarke"
|
5515 |
+
msgstr "Internetmarke"
|
5516 |
+
|
5517 |
# @ woocommerce-germanized
|
5518 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:143
|
5519 |
msgid "Pages"
|
5520 |
msgstr "Rechtlich relevante Seiten"
|
5521 |
|
5522 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:144
|
5523 |
msgid "Create legal pages placeholders e.g. terms & conditions."
|
5524 |
msgstr "Lege rechtlich relevante Seiten an, z.B. AGB."
|
5525 |
|
5526 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:154
|
5527 |
msgid "Germanize WooCommerce settings (e.g. currency, tax display)."
|
5528 |
msgstr "WooCommerce Einstellungen eindeutschen (z.B. Währung)"
|
5529 |
|
5530 |
# @ woocommerce-germanized
|
5531 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:161
|
5532 |
msgctxt "install"
|
5533 |
msgid "VAT"
|
5534 |
msgstr "USt."
|
5535 |
|
5536 |
# @ woocommerce-germanized
|
5537 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:162
|
5538 |
msgid "Let Germanized insert EU VAT rates."
|
5539 |
msgstr "Lasse Germanized EU-Steuersätze importieren."
|
5540 |
|
5541 |
# @ woocommerce-germanized
|
5542 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:168
|
5543 |
msgctxt "install"
|
5544 |
msgid "Virtual VAT"
|
5545 |
msgstr "Virtuelle USt."
|
5546 |
|
5547 |
# @ woocommerce-germanized
|
5548 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:169
|
5549 |
msgid "Let Germanized insert virtual EU VAT rates."
|
5550 |
msgstr "Lasse Germanized virtuelle EU-Steuersätze importieren."
|
5551 |
|
5552 |
# @ woocommerce-germanized
|
5553 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:180
|
5554 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:202
|
5555 |
#: woocommerce-germanized/includes/admin/views/html-page-status-germanized.php:43
|
5556 |
msgid "Small-Enterprise-Regulation"
|
5557 |
msgstr "Kleinunternehmerregelung"
|
5558 |
|
5559 |
# @ woocommerce-germanized
|
5560 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:181
|
5561 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:203
|
5562 |
msgid "VAT based on §19 UStG"
|
5563 |
msgstr "Umsatzsteuerbefreit nach §19 UStG"
|
5564 |
|
5565 |
# @ woocommerce-germanized
|
5566 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:181
|
5567 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:203
|
5568 |
#, php-format
|
5569 |
msgid ""
|
5575 |
"Gebrauch machen willst."
|
5576 |
|
5577 |
# @ woocommerce-germanized
|
5578 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:187
|
5579 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:21
|
5580 |
msgid "Double Opt In"
|
5581 |
msgstr "Double-Opt-In"
|
5582 |
|
5583 |
# @ woocommerce-germanized
|
5584 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:188
|
5585 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:38
|
5586 |
msgid "Enable customer double opt in during registration."
|
5587 |
msgstr "Double-Opt-In Verfahren für Kundenkonten aktivieren."
|
5588 |
|
5589 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:188
|
5590 |
#, php-format
|
5591 |
msgid ""
|
5592 |
"Sends an email to the customer after registration to verify his account. "
|
5600 |
"\">Einstellungen</a> können nachträglich angepasst werden."
|
5601 |
|
5602 |
# @ woocommerce-germanized
|
5603 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:208
|
5604 |
msgid "Setup"
|
5605 |
msgstr "Setup"
|
5606 |
|
5607 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:306
|
5608 |
msgid "Germanized › Setup Wizard"
|
5609 |
msgstr "Germanized › Setup"
|
5610 |
|
5611 |
# @ woocommerce-germanized
|
5612 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:375
|
5613 |
msgid "Skip Step"
|
5614 |
msgstr "Schritt überspringen"
|
5615 |
|
5616 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:379
|
5617 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:381
|
5618 |
msgid "Continue"
|
5619 |
msgstr "Weiter"
|
5620 |
|
5621 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:387
|
5622 |
msgid "Return to WP Admin"
|
5623 |
msgstr "Zurück zu WP Admin"
|
5624 |
|
5667 |
msgstr "Willkommen bei Germanized"
|
5668 |
|
5669 |
# @ woocommerce-germanized
|
5670 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-welcome.php:290
|
5671 |
msgid "Go to Germanized Settings"
|
5672 |
msgstr "Germanized Einstellungen"
|
5673 |
|
5685 |
#: woocommerce-germanized/includes/class-wc-gzd-dependencies.php:65
|
5686 |
#: woocommerce-germanized/includes/class-wc-gzd-hook-priorities.php:35
|
5687 |
#: woocommerce-germanized/includes/class-wc-gzd-hook-priorities.php:44
|
5688 |
+
#: woocommerce-germanized/includes/class-wc-gzd-order-helper.php:21
|
5689 |
+
#: woocommerce-germanized/includes/class-wc-gzd-order-helper.php:30
|
5690 |
#: woocommerce-germanized/includes/class-wc-gzd-product-attribute-helper.php:21
|
5691 |
#: woocommerce-germanized/includes/class-wc-gzd-product-attribute-helper.php:30
|
5692 |
#: woocommerce-germanized/includes/export/class-wc-gzd-product-export.php:23
|
5698 |
msgid "Cheatin’ huh?"
|
5699 |
msgstr "So geht das leider nicht.."
|
5700 |
|
5701 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:114
|
5702 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:148
|
5703 |
msgctxt "dhl"
|
5704 |
msgid "Action failed. Please refresh the page and retry."
|
5705 |
msgstr ""
|
5706 |
"Aktion fehlgeschlagen. Bitte aktualisiere die Seite und versuchen es erneut."
|
5707 |
|
5708 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:118
|
5709 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:152
|
5710 |
msgctxt "dhl"
|
5711 |
msgid "You don't have permission to do this."
|
5712 |
msgstr "Du bist leider nicht berechtigt, diese Aktion durchzuführen."
|
5713 |
|
5714 |
# @ woocommerce-germanized
|
5715 |
#. Plugin Name of the plugin/theme
|
5716 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:228
|
5717 |
msgid "Germanized for WooCommerce"
|
5718 |
msgstr "Germanized für WooCommerce"
|
5719 |
|
5720 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:338
|
5721 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:45
|
5722 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:58
|
5723 |
msgid "Yes"
|
5724 |
msgstr "Ja"
|
5725 |
|
5726 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:338
|
5727 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:58
|
5728 |
msgid "No"
|
5729 |
msgstr "Nein"
|
5730 |
|
5731 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:410
|
5732 |
msgid "Paid for order notification manually sent to customer."
|
5733 |
msgstr "Bestellung bezahlt manuell an den Kunden versendet."
|
5734 |
|
5735 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:430
|
5736 |
msgid "Order confirmation manually sent to customer."
|
5737 |
msgstr "Bestellbestätigung manuell an den Kunden versendet."
|
5738 |
|
5739 |
# @ woocommerce-germanized
|
5740 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:450
|
5741 |
msgid "Resend order confirmation"
|
5742 |
msgstr "Bestellbestätigung erneut versenden"
|
5743 |
|
5744 |
# @ woocommerce-germanized
|
5745 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:451
|
5746 |
msgid "Send paid for order notification"
|
5747 |
msgstr "Bestellung bezahlt manuell versenden"
|
5748 |
|
5749 |
# @ woocommerce-germanized
|
5750 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:461
|
5751 |
#: woocommerce-germanized/includes/admin/settings/abstract-wc-gzd-settings-tab.php:114
|
5752 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-germanized.php:23
|
5753 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:9
|
5755 |
msgid "Germanized"
|
5756 |
msgstr "Germanized"
|
5757 |
|
5758 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:475
|
5759 |
msgid "Parcel Delivery Data Transfer:"
|
5760 |
msgstr "Paketdienstleister Datenweitergabe:"
|
5761 |
|
5762 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:476
|
5763 |
msgid "allowed"
|
5764 |
msgstr "akzeptiert"
|
5765 |
|
5766 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:476
|
5767 |
msgid "not allowed"
|
5768 |
msgstr "nicht akzeptiert"
|
5769 |
|
5770 |
# @ woocommerce-germanized
|
5771 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:559
|
5772 |
msgid "Optional Email Content"
|
5773 |
msgstr "Optionaler E-Mail Inhalt"
|
5774 |
|
5775 |
# @ woocommerce-germanized
|
5776 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:577
|
5777 |
msgid "Add content which will be replacing default page content within emails."
|
5778 |
msgstr ""
|
5779 |
"Fülle dieses Feld aus um einen abweichenden E-Mail Anhangstext für diese "
|
5780 |
"Seite zu bestimmen."
|
5781 |
|
5782 |
# @ woocommerce-germanized
|
5783 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:591
|
5784 |
#: woocommerce-germanized/includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:152
|
5785 |
msgid "Optional Mini Description"
|
5786 |
msgstr "Warenkorb Kurzbeschreibung"
|
5787 |
|
5788 |
# @ woocommerce-germanized
|
5789 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:613
|
5790 |
msgid ""
|
5791 |
"This content will be shown as short product description within checkout and "
|
5792 |
"emails."
|
6008 |
"lasse Germanized einfach deine bestehenden Einstellungen importieren."
|
6009 |
|
6010 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:35
|
6011 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:35
|
6012 |
msgctxt "dhl"
|
6013 |
msgid "No need to use an external plugin which might lead to incompatibilities"
|
6014 |
msgstr ""
|
6016 |
"bessere Performance"
|
6017 |
|
6018 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:36
|
6019 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:36
|
6020 |
#, php-format
|
6021 |
msgctxt "dhl"
|
6022 |
msgid ""
|
6027 |
"Services pro Versandart und %s"
|
6028 |
|
6029 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:36
|
6030 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:36
|
6031 |
msgctxt "dhl"
|
6032 |
msgid "many more"
|
6033 |
msgstr "und viele mehr"
|
6041 |
"Sendungen und Retouren"
|
6042 |
|
6043 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:47
|
6044 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:47
|
6045 |
msgctxt "dhl"
|
6046 |
msgid "Import settings and activate"
|
6047 |
msgstr "Einstellungen importieren und loslegen"
|
6048 |
|
6049 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:53
|
6050 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:53
|
6051 |
msgctxt "dhl"
|
6052 |
msgid "Learn more"
|
6053 |
msgstr "Mehr erfahren"
|
6054 |
|
6055 |
+
# @ woocommerce-germanized
|
6056 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:29
|
6057 |
+
msgctxt "dhl"
|
6058 |
+
msgid "Internetmarke built-in Integration"
|
6059 |
+
msgstr "Internetmarke Integration"
|
6060 |
+
|
6061 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:33
|
6062 |
+
msgctxt "dhl"
|
6063 |
+
msgid ""
|
6064 |
+
"It seems like you are currently using the Deutsche Post Internetmarke "
|
6065 |
+
"plugin. Germanized does now fully integrate Internetmarke and switching is "
|
6066 |
+
"as simple as can be. Check your advantages by using the Internetmarke "
|
6067 |
+
"integration in Germanized and let Germanized import your current settings "
|
6068 |
+
"for you."
|
6069 |
+
msgstr ""
|
6070 |
+
"Es scheint als würdest du aktuell bereits das Deutsche Post Internetmarke "
|
6071 |
+
"Plugin nutzen. Germanized bietet nun eine eigene, verbesserte Integration "
|
6072 |
+
"der Internetmarke an. Den Wechsel haben wir dir so einfach wie möglich "
|
6073 |
+
"gemacht. Schau dir deine Vorteile bei der Nutzung der Germanized "
|
6074 |
+
"Internetmarke Integration an und lasse Germanized einfach deine bestehenden "
|
6075 |
+
"Einstellungen importieren."
|
6076 |
+
|
6077 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:37
|
6078 |
+
msgctxt "dhl"
|
6079 |
+
msgid ""
|
6080 |
+
"Perfectly integrated in Germanized – easily create stamps for shipments"
|
6081 |
+
msgstr ""
|
6082 |
+
"Perfekt integriert in Germanized – erzeuge einfach Labels für Sendungen"
|
6083 |
+
|
6084 |
# @ woocommerce-germanized
|
6085 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-pro.php:23
|
6086 |
msgid "For professionals: Upgrade to Pro-Version"
|
6235 |
msgid "Run the updater"
|
6236 |
msgstr "Update starten"
|
6237 |
|
6238 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note.php:178
|
6239 |
msgid "Not now"
|
6240 |
msgstr "Nicht jetzt"
|
6241 |
|
6242 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note.php:182
|
6243 |
msgctxt "woocommerce-germanized"
|
6244 |
msgid "Deactivate"
|
6245 |
msgstr "Deaktivieren"
|
6276 |
msgstr "Jetzt upgraden"
|
6277 |
|
6278 |
#: woocommerce-germanized/includes/admin/settings/abstract-wc-gzd-settings-tab.php:152
|
6279 |
+
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:35
|
6280 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-invoices.php:61
|
6281 |
msgid "Learn more"
|
6282 |
msgstr "Mehr erfahren"
|
6297 |
|
6298 |
# @ woocommerce-germanized
|
6299 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-pointers.php:92
|
6300 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:785
|
6301 |
msgid "Status"
|
6302 |
msgstr "Status"
|
6303 |
|
6581 |
"Checkbox bearbeiten indem du auf den Link klickst."
|
6582 |
|
6583 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-checkboxes.php:62
|
6584 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:821
|
6585 |
msgid "Label"
|
6586 |
msgstr "Beschriftung"
|
6587 |
|
6651 |
msgstr "Pro"
|
6652 |
|
6653 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:19
|
6654 |
+
msgid "Integrate Post & DHL Services such as Labels for Shipments and Returns."
|
|
|
|
|
6655 |
msgstr ""
|
6656 |
+
"Erzeuge bequem Post & DHL Labels zu Sendungen und Retouren über dein Admin-"
|
6657 |
+
"Panel."
|
6658 |
|
6659 |
+
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:44
|
6660 |
+
msgid "Post & DHL"
|
6661 |
+
msgstr "Post & DHL"
|
|
|
6662 |
|
6663 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:17
|
6664 |
msgid "Extend the WooCommerce registration process with a double opt in."
|
6812 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-customers-controller.php:144
|
6813 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-orders-controller.php:138
|
6814 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-orders-controller.php:145
|
6815 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:553
|
6816 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:566
|
6817 |
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:131
|
6818 |
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:139
|
6819 |
msgid "Title"
|
7279 |
"Platzhalter für den höchsten Preis."
|
7280 |
|
7281 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:294
|
7282 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:861
|
7283 |
msgid "{min_price} – {max_price}"
|
7284 |
msgstr "{min_price} – {max_price}"
|
7285 |
|
7898 |
|
7899 |
# @ woocommerce-germanized
|
7900 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-taxes.php:30
|
7901 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:451
|
7902 |
msgid "VAT"
|
7903 |
msgstr "Umsatzsteuer"
|
7904 |
|
8153 |
# @ woocommerce-germanized
|
8154 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:11
|
8155 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:27
|
8156 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:793
|
8157 |
msgid "Name"
|
8158 |
msgstr "Name"
|
8159 |
|
8160 |
# @ woocommerce-germanized
|
8161 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:12
|
8162 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:29
|
8163 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:812
|
8164 |
#: woocommerce-germanized/includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php:888
|
8165 |
#: woocommerce-germanized/includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:124
|
8166 |
msgid "Description"
|
8173 |
|
8174 |
# @ woocommerce-germanized
|
8175 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:14
|
8176 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:849
|
8177 |
msgid "Mandatory"
|
8178 |
msgstr "Pflichtfeld"
|
8179 |
|
8548 |
msgstr ""
|
8549 |
"Lasse Germanized deine WooCommerce-Einstellungen speziell für %s anpassen."
|
8550 |
|
8551 |
+
#: woocommerce-germanized/includes/admin/views/setup/internetmarke.php:12
|
8552 |
+
msgid ""
|
8553 |
+
"Want to easily ship your orders via Deutsche Post? Enable our Internetmarke "
|
8554 |
+
"integration and start generating labels for shipments comfortably via your "
|
8555 |
+
"admin panel."
|
8556 |
+
msgstr ""
|
8557 |
+
"Du möchtest deine Bestellung mit der Deutschen Post versenden? Aktiviere "
|
8558 |
+
"unsere Integration der Internetmarke und erzeuge bequem Labels zu Sendungen "
|
8559 |
+
"über dein Admin-Panel."
|
8560 |
+
|
8561 |
+
#: woocommerce-germanized/includes/admin/views/setup/internetmarke.php:17
|
8562 |
+
msgid ""
|
8563 |
+
"We've found out that you have been using the Internetmarke standalone Plugin "
|
8564 |
+
"already. We will automatically import your settings and you can start using "
|
8565 |
+
"our integration instead."
|
8566 |
+
msgstr ""
|
8567 |
+
"Wir haben herausgefunden, dass du bereits das Plugin Deutsche Post "
|
8568 |
+
"Internetmarke verwendest. Wir importieren deine Einstellungen automatisch, "
|
8569 |
+
"damit du schnell und einfach unsere Integration nutzen kannst."
|
8570 |
+
|
8571 |
# @ woocommerce-germanized
|
8572 |
#: woocommerce-germanized/includes/admin/views/setup/settings.php:7
|
8573 |
msgid "Adjust Germanized"
|
8818 |
msgstr "Anzahl der veröffentlichten Produkte für die Ressource."
|
8819 |
|
8820 |
# @ woocommerce-germanized
|
8821 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:189
|
8822 |
#, php-format
|
8823 |
msgid "%s [new]"
|
8824 |
msgstr "%s [neu]"
|
8825 |
|
8826 |
# @ woocommerce-germanized
|
8827 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:245
|
8828 |
msgctxt "revocation-form"
|
8829 |
msgid "is not a valid email address."
|
8830 |
msgstr "ist leider keine valide E-Mail Adresse."
|
8831 |
|
8832 |
# @ woocommerce-germanized
|
8833 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:249
|
8834 |
msgctxt "revocation-form"
|
8835 |
msgid "Please enter a valid postcode/ZIP"
|
8836 |
msgstr "Bitte gib eine echte Postleitzahl ein"
|
8837 |
|
8838 |
# @ woocommerce-germanized
|
8839 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:257
|
8840 |
msgctxt "revocation-form"
|
8841 |
msgid "is not valid."
|
8842 |
msgstr "ist leider nicht korrekt."
|
8843 |
|
8844 |
# @ woocommerce-germanized
|
8845 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:278
|
8846 |
msgctxt "revocation-form"
|
8847 |
msgid ""
|
8848 |
"Thank you. We have received your Revocation Request. You will receive a "
|
8851 |
"Vielen Dank. Wir haben deinen Widerruf erhalten. Du bekommst in Kürze eine E-"
|
8852 |
"Mail mit deinen Daten als Bestätigung."
|
8853 |
|
8854 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:227
|
8855 |
msgid ""
|
8856 |
"Sorry, but differential taxed products cannot be purchased with normal "
|
8857 |
"products at the same time."
|
8859 |
"Entschuldigung, differenzbesteuerte Produkte können nicht gemeinsam mit "
|
8860 |
"normalen Produkten gekauft werden."
|
8861 |
|
8862 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:233
|
8863 |
msgid ""
|
8864 |
"Sorry, but normal products cannot be purchased together with differential "
|
8865 |
"taxed products at the same time."
|
8868 |
"differenzbesteuerten Produkten gekauft werden."
|
8869 |
|
8870 |
# @ woocommerce-germanized
|
8871 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:790
|
8872 |
#: woocommerce-germanized/includes/class-wc-gzd-revocation.php:52
|
8873 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:604
|
8874 |
msgid "Mr."
|
8875 |
msgstr "Herr"
|
8876 |
|
8877 |
# @ woocommerce-germanized
|
8878 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:791
|
8879 |
msgctxt "customer-title-male-address"
|
8880 |
msgid "Mr."
|
8881 |
msgstr "Herrn"
|
8882 |
|
8883 |
+
#: woocommerce-germanized/includes/class-wc-gzd-coupon-helper.php:318
|
8884 |
msgid "Is voucher?"
|
8885 |
msgstr "Wertgutschein?"
|
8886 |
|
8887 |
+
#: woocommerce-germanized/includes/class-wc-gzd-coupon-helper.php:319
|
8888 |
#, php-format
|
8889 |
msgid ""
|
8890 |
"Whether or not this coupon is a voucher which has been sold to a customer "
|
8933 |
msgid "Thank you. You have successfully activated your account."
|
8934 |
msgstr "Vielen Dank. Dein Benutzerkonto wurde erfolgreich aktiviert."
|
8935 |
|
8936 |
+
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:574
|
8937 |
msgid "Expired activation key"
|
8938 |
msgstr "Abgelaufener Aktivierungscode"
|
8939 |
|
8940 |
+
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:579
|
8941 |
msgid "Invalid activation key"
|
8942 |
msgstr "Aktivierungscode ungültig"
|
8943 |
|
8944 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:186
|
8945 |
msgid "BCC recipients"
|
8946 |
msgstr "BCC Empfänger"
|
8947 |
|
8948 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:188
|
8949 |
msgid "Enter blind-copy recipients (comma separated) for this email."
|
8950 |
msgstr "Füge Empfänger (kommasepariert) einer Blindkopie für diese E-Mail ein."
|
8951 |
|
8952 |
# @ woocommerce-germanized
|
8953 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:227
|
8954 |
msgid "Confirmation text"
|
8955 |
msgstr "Bestätigung Text"
|
8956 |
|
8957 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:228
|
8958 |
msgid ""
|
8959 |
"Your order has been received and is now being processed. Your order details "
|
8960 |
"are shown below for your reference:"
|
8963 |
"deiner Bestellung kannst du der nachfolgenden Tabelle entnehmen:"
|
8964 |
|
8965 |
# @ woocommerce-germanized
|
8966 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:229
|
8967 |
msgid ""
|
8968 |
"This text will be inserted within the order confirmation email. Use "
|
8969 |
"{order_number}, {site_title} or {order_date} as placeholder."
|
8971 |
"Dieser Text wird in die Bestellbestätigung eingefügt. Verwende "
|
8972 |
"{order_number}, {site_title} oder {order_date} als Platzhalter."
|
8973 |
|
8974 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:347
|
8975 |
msgid ""
|
8976 |
"Your order has been received and is now being processed. Your order details "
|
8977 |
"are shown below for your reference."
|
8979 |
"Deine Bestellung ist eingegangen und wird nun bearbeitet. Die Einzelheiten "
|
8980 |
"deiner Bestellung kannst du der nachfolgenden Tabelle entnehmen."
|
8981 |
|
8982 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:395
|
8983 |
msgid "Someone requested a password reset for your account."
|
8984 |
msgstr ""
|
8985 |
"Jemand hat das Zurücksetzen des Passworts für deinen Account beantragt."
|
8986 |
|
8987 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:410
|
8988 |
#, php-format
|
8989 |
msgid "Thanks for creating an account on %s."
|
8990 |
msgstr "Danke, dass du ein Konto bei %s erstellt hast."
|
8991 |
|
8992 |
# @ woocommerce-germanized
|
8993 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:1114
|
8994 |
msgctxt "revocation-form"
|
8995 |
msgid "Forward your Revocation online"
|
8996 |
msgstr "Deinen Widerruf online erklären"
|
9005 |
"Bitte installiere <a href=\"%s\" target=\"_blank\">WooCommerce</a> bevor du "
|
9006 |
"WooCommerce Germanized installierst. Vielen Dank!"
|
9007 |
|
9008 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:486
|
9009 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:500
|
9010 |
msgid "Reduced rate"
|
9011 |
msgstr "Ermäßigter Steuersatz"
|
9012 |
|
9013 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:542
|
9014 |
#, php-format
|
9015 |
msgctxt "vat-rate-import"
|
9016 |
msgid "VAT %s"
|
9017 |
msgstr "MwSt. %s"
|
9018 |
|
9019 |
# @ woocommerce-germanized
|
9020 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:657
|
9021 |
msgctxt "Page slug"
|
9022 |
msgid "data-security"
|
9023 |
msgstr "datenschutzerklaerung"
|
9024 |
|
9025 |
# @ woocommerce-germanized
|
9026 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:658
|
9027 |
msgctxt "Page title"
|
9028 |
msgid "Data Security Statement"
|
9029 |
msgstr "Datenschutzerklärung"
|
9030 |
|
9031 |
# @ woocommerce-germanized
|
9032 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:662
|
9033 |
msgctxt "Page slug"
|
9034 |
msgid "imprint"
|
9035 |
msgstr "impressum"
|
9036 |
|
9037 |
# @ woocommerce-germanized
|
9038 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:663
|
9039 |
msgctxt "Page title"
|
9040 |
msgid "Imprint"
|
9041 |
msgstr "Impressum"
|
9042 |
|
9043 |
# @ woocommerce-germanized
|
9044 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:667
|
9045 |
msgctxt "Page slug"
|
9046 |
msgid "terms"
|
9047 |
msgstr "agb"
|
9048 |
|
9049 |
# @ woocommerce-germanized
|
9050 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:668
|
9051 |
msgctxt "Page title"
|
9052 |
msgid "Terms & Conditions"
|
9053 |
msgstr "AGB"
|
9054 |
|
9055 |
# @ woocommerce-germanized
|
9056 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:672
|
9057 |
msgctxt "Page slug"
|
9058 |
msgid "revocation"
|
9059 |
msgstr "widerrufsbelehrung"
|
9060 |
|
9061 |
# @ woocommerce-germanized
|
9062 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:673
|
9063 |
msgctxt "Page title"
|
9064 |
msgid "Power of Revocation"
|
9065 |
msgstr "Widerrufsbelehrung"
|
9066 |
|
9067 |
# @ woocommerce-germanized
|
9068 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:677
|
9069 |
msgctxt "Page slug"
|
9070 |
msgid "shipping-methods"
|
9071 |
msgstr "versandarten"
|
9072 |
|
9073 |
# @ woocommerce-germanized
|
9074 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:678
|
9075 |
msgctxt "Page title"
|
9076 |
msgid "Shipping Methods"
|
9077 |
msgstr "Versandarten"
|
9078 |
|
9079 |
# @ woocommerce-germanized
|
9080 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:682
|
9081 |
msgctxt "Page slug"
|
9082 |
msgid "payment-methods"
|
9083 |
msgstr "bezahlmoeglichkeiten"
|
9084 |
|
9085 |
# @ woocommerce-germanized
|
9086 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:683
|
9087 |
msgctxt "Page title"
|
9088 |
msgid "Payment Methods"
|
9089 |
msgstr "Zahlungsarten"
|
9301 |
msgid "Checkbox with name %s does already exist."
|
9302 |
msgstr "Eine Checkbox mit dem Namen %s existiert bereits."
|
9303 |
|
9304 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:344
|
9305 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:364
|
9306 |
+
#, php-format
|
9307 |
+
msgid "%s is a mandatory field."
|
9308 |
+
msgstr "%s ist ein Pflichtfeld."
|
9309 |
+
|
9310 |
# @ woocommerce-germanized
|
9311 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:788
|
9312 |
msgid "Enable checkbox"
|
9313 |
msgstr "Checkbox aktivieren"
|
9314 |
|
9315 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:797
|
9316 |
msgid ""
|
9317 |
"Choose a name to identify your checkbox. Upon creating a new checkbox, this "
|
9318 |
"value is being used to generate the Id."
|
9320 |
"Wähle einen Namen aus, um deine Checkbox zu identifizieren. Bei Erstellung "
|
9321 |
"einer neuen Checkbox wird dieser Wert verwendet um eine Id zu erstellen."
|
9322 |
|
9323 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:802
|
9324 |
msgid "Id"
|
9325 |
msgstr "Id"
|
9326 |
|
9327 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:806
|
9328 |
msgid ""
|
9329 |
"The checkbox Id is the unique indentifier which is used to identify the "
|
9330 |
"checkbox within the code. Cannot be edited after creating the checkbox."
|
9333 |
"Code heraus zugreifbar zu machen. Kann nach dem Erstellen einer Checkbox "
|
9334 |
"nicht mehr verändert werden."
|
9335 |
|
9336 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:815
|
9337 |
msgid "Describe the use case of your checkbox."
|
9338 |
msgstr "Beschreibe hier den Use-Case deiner Checkbox."
|
9339 |
|
9340 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:825
|
9341 |
msgid "Choose a label to be inserted next to the checkbox."
|
9342 |
msgstr "Wähle eine Beschriftung aus, die neben der Checkbox platziert wird."
|
9343 |
|
9344 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:826
|
9345 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:836
|
9346 |
#, php-format
|
9347 |
msgid "You may use one of the following placeholders within the text: %s"
|
9348 |
msgstr "Du kannst einen der folgenden Platzhalter in deinem Text verwenden: %s"
|
9349 |
|
9350 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:831
|
9351 |
msgid "Error Message"
|
9352 |
msgstr "Fehlermeldung"
|
9353 |
|
9354 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:835
|
9355 |
msgid ""
|
9356 |
"Choose an error message to be shown when the user has not confirmed the "
|
9357 |
"checkbox."
|
9360 |
"die Checkbox nicht bestätigt hat."
|
9361 |
|
9362 |
# @ woocommerce-germanized
|
9363 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:841
|
9364 |
msgid "Hide input"
|
9365 |
msgstr "Ausblenden"
|
9366 |
|
9367 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:844
|
9368 |
msgid "Do only show a label and hide the actual checkbox."
|
9369 |
msgstr ""
|
9370 |
"Zeige lediglich die Beschriftung und entferne die eigentliche Checkbox."
|
9371 |
|
9372 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:852
|
9373 |
msgid "Mark the checkbox as mandatory."
|
9374 |
msgstr "Checkbox zum Pflichtfeld machen."
|
9375 |
|
9376 |
# @ woocommerce-germanized
|
9377 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:857
|
9378 |
msgid "Locations"
|
9379 |
msgstr "Orte"
|
9380 |
|
9381 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:861
|
9382 |
msgid "Choose where to display your checkbox."
|
9383 |
msgstr "Wähle einen Ort aus, an dem die Checkbox platziert werden soll."
|
9384 |
|
9655 |
|
9656 |
# @ woocommerce-germanized
|
9657 |
#: woocommerce-germanized/includes/class-wc-gzd-revocation.php:53
|
9658 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:605
|
9659 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:623
|
9660 |
msgid "Ms."
|
9661 |
msgstr "Frau"
|
9662 |
|
10515 |
msgid "Data Security"
|
10516 |
msgstr "Datenschutzerklärung"
|
10517 |
|
10518 |
+
# @ woocommerce-germanized
|
10519 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:451
|
10520 |
+
#, php-format
|
10521 |
+
msgid "%s%% VAT"
|
10522 |
+
msgstr "%s %% MwSt."
|
10523 |
+
|
10524 |
+
# @ woocommerce-germanized
|
10525 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:603
|
10526 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:630
|
10527 |
+
msgctxt "title-option"
|
10528 |
+
msgid "None"
|
10529 |
+
msgstr "Keine"
|
10530 |
+
|
10531 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:606
|
10532 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:630
|
10533 |
+
msgid "Mx"
|
10534 |
+
msgstr "Divers"
|
10535 |
+
|
10536 |
# @ woocommerce-germanized
|
10537 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:225
|
10538 |
#: woocommerce-germanized/templates/checkout/edit-data-notice.php:25
|
10884 |
msgid "Forward Revocation"
|
10885 |
msgstr "Widerruf erklären"
|
10886 |
|
10887 |
+
#: woocommerce-germanized/templates/global/complaints.php:22
|
10888 |
msgid ""
|
10889 |
"Alternative Dispute Resolution in accordance with Art. 14 (1) ODR-VO and § "
|
10890 |
"36 VSBG:"
|
10906 |
msgid "upgrade"
|
10907 |
msgstr "Upgrade"
|
10908 |
|
10909 |
+
#: woocommerce-germanized/woocommerce-germanized.php:317
|
10910 |
#, php-format
|
10911 |
msgid ""
|
10912 |
"This version of the Corona Helper Plugin includes a bug which could lead to "
|
12154 |
msgid "https://vendidero.de"
|
12155 |
msgstr "https://vendidero.de"
|
12156 |
|
12157 |
+
# @ woocommerce-germanized
|
12158 |
+
#~ msgctxt "dhl"
|
12159 |
+
#~ msgid "General"
|
12160 |
+
#~ msgstr "Allgemein"
|
12161 |
+
|
12162 |
+
#, fuzzy
|
12163 |
+
#~| msgctxt "dhl"
|
12164 |
+
#~| msgid ""
|
12165 |
+
#~| "Please select your default DHL shipping service for domestic shipments "
|
12166 |
+
#~| "that you want to offer to your customers (you can always change this "
|
12167 |
+
#~| "within each individual shipment afterwards)."
|
12168 |
+
#~ msgctxt "dhl"
|
12169 |
+
#~ msgid ""
|
12170 |
+
#~ "Please select your default Deutsche Post shipping service for domestic "
|
12171 |
+
#~ "shipments that you want to offer to your customers (you can always change "
|
12172 |
+
#~ "this within each individual shipment afterwards)."
|
12173 |
+
#~ msgstr ""
|
12174 |
+
#~ "Bitte wähle das Standard-Produkt für nationale Sendungen aus, das du für "
|
12175 |
+
#~ "deine Kunden anbietest (du kannst das Produkt für jede einzelne Sendung "
|
12176 |
+
#~ "nachträglich ändern)."
|
12177 |
+
|
12178 |
+
#, fuzzy
|
12179 |
+
#~ msgctxt "dhl"
|
12180 |
+
#~ msgid "Error while during request."
|
12181 |
+
#~ msgstr "Fehler beim Einlesen der Wunschzeit."
|
12182 |
+
|
12183 |
+
#~ msgctxt "dhl"
|
12184 |
+
#~ msgid "Harmonized Tariff Schedule (DHL)"
|
12185 |
+
#~ msgstr "Harmonized Tariff Schedule (DHL)"
|
12186 |
+
|
12187 |
+
#~ msgctxt "dhl"
|
12188 |
+
#~ msgid "This code is needed for customs of international shipping."
|
12189 |
+
#~ msgstr ""
|
12190 |
+
#~ "Dieser Code wird für die Zollabwicklung bei internationalen Sendungen "
|
12191 |
+
#~ "benötigt."
|
12192 |
+
|
12193 |
+
#~ msgctxt "dhl"
|
12194 |
+
#~ msgid "Visual minimum age"
|
12195 |
+
#~ msgstr "Alterssichtprüfung"
|
12196 |
+
|
12197 |
+
#~ msgctxt "dhl"
|
12198 |
+
#~ msgid "Age Verification"
|
12199 |
+
#~ msgstr "Alterssichtprüfung"
|
12200 |
+
|
12201 |
#~ msgid "PDF Layout"
|
12202 |
#~ msgstr "PDF Layout"
|
12203 |
|
12442 |
#~ msgid "Invalid shipment"
|
12443 |
#~ msgstr "Ungültige Sendung"
|
12444 |
|
|
|
|
|
|
|
|
|
12445 |
#, php-format
|
12446 |
#~ msgctxt "dhl"
|
12447 |
#~ msgid ""
|
i18n/languages/woocommerce-germanized-de_DE_formal.mo
CHANGED
Binary file
|
i18n/languages/woocommerce-germanized-de_DE_formal.po
CHANGED
@@ -2,8 +2,8 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce Germanized\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2020-
|
6 |
-
"PO-Revision-Date: 2020-
|
7 |
"Last-Translator: holzhannes <holzhannes@posteo.de>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: de_DE@formal\n"
|
@@ -11,7 +11,7 @@ msgstr ""
|
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
14 |
-
"X-Generator: Poedit 2.4.
|
15 |
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
17 |
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
|
@@ -39,6 +39,36 @@ msgstr ""
|
|
39 |
"X-Poedit-SearchPathExcluded-12: woocommerce-trusted-shops/build\n"
|
40 |
"X-Poedit-SearchPathExcluded-13: woocommerce-germanized/assets\n"
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
# @ woocommerce-germanized
|
43 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:18
|
44 |
msgctxt "dhl"
|
@@ -56,8 +86,8 @@ msgid "Duties"
|
|
56 |
msgstr "Zollabgabe"
|
57 |
|
58 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:65
|
59 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
60 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
61 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:29
|
62 |
msgctxt "dhl"
|
63 |
msgid "Preferred Day"
|
@@ -71,15 +101,15 @@ msgstr "Wunschzeit"
|
|
71 |
|
72 |
# @ woocommerce-germanized
|
73 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:87
|
74 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
75 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
76 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:43
|
77 |
msgctxt "dhl"
|
78 |
msgid "Preferred Location"
|
79 |
msgstr "Wunschort"
|
80 |
|
81 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:98
|
82 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
83 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:48
|
84 |
msgctxt "dhl"
|
85 |
msgid "Preferred Neighbor"
|
@@ -92,24 +122,24 @@ msgstr "Beilage-Retourenlabel erstellen"
|
|
92 |
|
93 |
# @ woocommerce-germanized
|
94 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:121
|
95 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
96 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
97 |
msgctxt "dhl"
|
98 |
msgid "Name"
|
99 |
msgstr "Name"
|
100 |
|
101 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:130
|
102 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
103 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
104 |
msgctxt "dhl"
|
105 |
msgid "Company"
|
106 |
msgstr "Firma"
|
107 |
|
108 |
# @ woocommerce-germanized
|
109 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:139
|
110 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
111 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
112 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
113 |
msgctxt "dhl"
|
114 |
msgid "Street"
|
115 |
msgstr "Straße"
|
@@ -122,9 +152,9 @@ msgstr "Hausnummer"
|
|
122 |
|
123 |
# @ woocommerce-germanized
|
124 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:159
|
125 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
126 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
127 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
128 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:27
|
129 |
msgctxt "dhl"
|
130 |
msgid "Postcode"
|
@@ -132,24 +162,24 @@ msgstr "Postleitzahl"
|
|
132 |
|
133 |
# @ woocommerce-germanized
|
134 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:168
|
135 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
136 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
137 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
138 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:30
|
139 |
msgctxt "dhl"
|
140 |
msgid "City"
|
141 |
msgstr "Stadt"
|
142 |
|
143 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:179
|
144 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
145 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
146 |
msgctxt "dhl"
|
147 |
msgid "Phone"
|
148 |
msgstr "Telefon"
|
149 |
|
150 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:188
|
151 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
152 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
153 |
msgctxt "dhl"
|
154 |
msgid "Email"
|
155 |
msgstr "E-Mail"
|
@@ -177,7 +207,7 @@ msgstr "Alterssichtprüfung"
|
|
177 |
|
178 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:228
|
179 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:331
|
180 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
181 |
msgctxt "dhl"
|
182 |
msgid "GoGreen"
|
183 |
msgstr "GoGreen"
|
@@ -199,7 +229,7 @@ msgid "No neighbor"
|
|
199 |
msgstr "Keine Nachbarschaftszustellung"
|
200 |
|
201 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:272
|
202 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
203 |
msgctxt "dhl"
|
204 |
msgid "Named person only"
|
205 |
msgstr "Persönliche Übergabe"
|
@@ -226,7 +256,7 @@ msgid "Minimum age"
|
|
226 |
msgstr "Mindestalter"
|
227 |
|
228 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:322
|
229 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
230 |
msgctxt "dhl"
|
231 |
msgid "Premium"
|
232 |
msgstr "Premium"
|
@@ -238,6 +268,7 @@ msgid "Receiver"
|
|
238 |
msgstr "Empfänger"
|
239 |
|
240 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:15
|
|
|
241 |
msgctxt "dhl"
|
242 |
msgid "DHL Labels"
|
243 |
msgstr "DHL Labels"
|
@@ -270,11 +301,13 @@ msgstr ""
|
|
270 |
|
271 |
# @ woocommerce-germanized
|
272 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:41
|
|
|
273 |
msgctxt "dhl"
|
274 |
-
msgid "
|
275 |
-
msgstr "
|
276 |
|
277 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:44
|
|
|
278 |
#, php-format
|
279 |
msgctxt "dhl"
|
280 |
msgid ""
|
@@ -314,139 +347,183 @@ msgstr ""
|
|
314 |
"überschreiben die <a href=\"%s\">globalen Einstellungen</a>."
|
315 |
|
316 |
# @ woocommerce-germanized
|
317 |
-
#: woocommerce-germanized-dhl/includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
msgctxt "dhl time context"
|
319 |
msgid "None"
|
320 |
msgstr "Keine"
|
321 |
|
322 |
# @ woocommerce-germanized
|
323 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
324 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
325 |
msgctxt "dhl day context"
|
326 |
msgid "None"
|
327 |
msgstr "Keiner"
|
328 |
|
329 |
# @ woocommerce-germanized
|
330 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
331 |
msgctxt "dhl"
|
332 |
msgid "Delivery Duty Unpaid"
|
333 |
msgstr "Delivery Duty Unpaid"
|
334 |
|
335 |
# @ woocommerce-germanized
|
336 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
337 |
msgctxt "dhl"
|
338 |
msgid "Delivery Duty Paid"
|
339 |
msgstr "Delivery Duty Paid"
|
340 |
|
341 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
342 |
msgctxt "dhl"
|
343 |
msgid "Delivery Duty Paid (excl. VAT )"
|
344 |
msgstr "Delivered Duty Paid (exkl. MwSt.)"
|
345 |
|
346 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
347 |
msgctxt "dhl"
|
348 |
msgid "Delivery Duty Paid (excl. Duties, taxes and VAT)"
|
349 |
msgstr "Delivery Duty Paid (exkl. Zölle, Steuern und MwSt.)"
|
350 |
|
351 |
# @ woocommerce-germanized
|
352 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
353 |
msgctxt "age context"
|
354 |
msgid "None"
|
355 |
msgstr "Keine"
|
356 |
|
357 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
358 |
msgctxt "dhl"
|
359 |
msgid "Minimum age of 16"
|
360 |
msgstr "Mindestens 16 Jahre"
|
361 |
|
362 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
363 |
msgctxt "dhl"
|
364 |
msgid "Minimum age of 18"
|
365 |
msgstr "Mindestens 18 Jahre"
|
366 |
|
367 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
368 |
msgctxt "dhl"
|
369 |
msgid "Shipment #{shipment_id} to order {order_id}"
|
370 |
msgstr "Sendung #{shipment_id} zur Bestellung {order_id}"
|
371 |
|
372 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
373 |
msgctxt "dhl"
|
374 |
msgid "Return #{shipment_id} to order {order_id}"
|
375 |
msgstr "Retoure #{shipment_id} zur Bestellung {order_id}"
|
376 |
|
377 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
378 |
msgctxt "dhl"
|
379 |
msgid "Return shipment #{shipment_id} to order #{order_id}"
|
380 |
msgstr "Retourensendung #{shipment_id} zur Bestellung #{order_id}"
|
381 |
|
382 |
# @ woocommerce-germanized
|
383 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
384 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
385 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
386 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
387 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:38
|
388 |
msgctxt "dhl"
|
389 |
msgid "Packstation"
|
390 |
msgstr "Packstation"
|
391 |
|
392 |
# @ woocommerce-germanized
|
393 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
394 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
395 |
msgctxt "dhl"
|
396 |
msgid "Postfiliale"
|
397 |
msgstr "Postfiliale"
|
398 |
|
399 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
400 |
msgctxt "dhl"
|
401 |
msgid "Receiver is missing or does not exist."
|
402 |
msgstr "Empfänger fehlt oder existiert nicht."
|
403 |
|
404 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
|
|
405 |
#, php-format
|
406 |
msgctxt "dhl"
|
407 |
msgid "Shipment order #%s does not exist"
|
408 |
msgstr "Bestellung zur Sendung #%s existiert nicht"
|
409 |
|
410 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
411 |
#, php-format
|
412 |
msgctxt "dhl"
|
413 |
msgid "%s of the return address is a mandatory field."
|
414 |
msgstr "%s der Rücksendeadresse ist ein Pflichtfeld."
|
415 |
|
416 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
417 |
msgctxt "dhl"
|
418 |
msgid "Please either add a return company or name."
|
419 |
msgstr ""
|
420 |
"Bitte geben Sie entweder einen Firmennamen oder Namen für die "
|
421 |
"Rücksendeadresse an."
|
422 |
|
423 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
424 |
msgctxt "dhl"
|
425 |
msgid "Error while parsing preferred day."
|
426 |
msgstr "Fehler beim Einlesen des Wunschtags."
|
427 |
|
428 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
429 |
msgctxt "dhl"
|
430 |
msgid "Error while parsing preferred time."
|
431 |
msgstr "Fehler beim Einlesen der Wunschzeit."
|
432 |
|
433 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
434 |
msgctxt "dhl"
|
435 |
msgid "The visual min age check is invalid."
|
436 |
msgstr "Das Alter der Alterssichtprüfung ist ungültig."
|
437 |
|
438 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
439 |
msgctxt "dhl"
|
440 |
msgid "The ident min age check is invalid."
|
441 |
msgstr "Das Alter des Ident-Checks ist ungültig."
|
442 |
|
443 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
444 |
msgctxt "dhl"
|
445 |
msgid "There was an error parsing the date of birth for the identity check."
|
446 |
msgstr ""
|
447 |
"Beim Einlesen des Geburtsdatums für den Ident-Check trat ein Problem auf."
|
448 |
|
449 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
450 |
msgctxt "dhl"
|
451 |
msgid ""
|
452 |
"Either a minimum age or a date of birth must be added to the ident check."
|
@@ -455,156 +532,174 @@ msgstr ""
|
|
455 |
"hinzugefügt werden."
|
456 |
|
457 |
# @ woocommerce-germanized
|
458 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
459 |
#, php-format
|
460 |
msgctxt "dhl"
|
461 |
msgid "%s duties element does not exist."
|
462 |
msgstr "%s Zollabgabe existiert nicht."
|
463 |
|
464 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
465 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
466 |
msgctxt "dhl"
|
467 |
msgid "Invalid shipment"
|
468 |
msgstr "Ungültige Sendung"
|
469 |
|
470 |
# @ woocommerce-germanized
|
471 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
472 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
473 |
msgctxt "dhl"
|
474 |
msgid "Order does not exist"
|
475 |
msgstr "Bestellung existiert nicht"
|
476 |
|
477 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
478 |
msgctxt "dhl"
|
479 |
msgid "Error while creating the label instance"
|
480 |
msgstr "Fehler beim Erstellen der Label-Instanz"
|
481 |
|
482 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
483 |
msgctxt "dhl"
|
484 |
msgid "Invalid label"
|
485 |
msgstr "Ungültiges Label"
|
486 |
|
487 |
# @ woocommerce-germanized
|
488 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
489 |
msgctxt "dhl"
|
490 |
msgid "DHL Retoure International A"
|
491 |
msgstr "DHL Retoure International A"
|
492 |
|
493 |
# @ woocommerce-germanized
|
494 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
495 |
msgctxt "dhl"
|
496 |
msgid "DHL Retoure International B"
|
497 |
msgstr "DHL Retoure International B"
|
498 |
|
499 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
500 |
msgctxt "dhl"
|
501 |
msgid "DHL Retoure Online"
|
502 |
msgstr "DHL Retoure Online"
|
503 |
|
504 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
505 |
msgctxt "dhl"
|
506 |
msgid "DHL Paket Connect"
|
507 |
msgstr "DHL Paket Connect"
|
508 |
|
509 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
510 |
msgctxt "dhl"
|
511 |
msgid "DHL Europaket (B2B)"
|
512 |
msgstr "DHL Europaket (B2B)"
|
513 |
|
514 |
# @ woocommerce-germanized
|
515 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
516 |
msgctxt "dhl"
|
517 |
msgid "DHL Paket International"
|
518 |
msgstr "DHL Paket International"
|
519 |
|
520 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
521 |
msgctxt "dhl"
|
522 |
msgid "DHL Paket"
|
523 |
msgstr "DHL Paket"
|
524 |
|
525 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
526 |
msgctxt "dhl"
|
527 |
msgid "DHL Paket PRIO"
|
528 |
msgstr "DHL Paket PRIO"
|
529 |
|
530 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
531 |
msgctxt "dhl"
|
532 |
msgid "DHL Paket Taggleich"
|
533 |
msgstr "DHL Paket Taggleich"
|
534 |
|
535 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
536 |
msgctxt "dhl"
|
537 |
-
msgid "Warenpost"
|
538 |
-
msgstr "Warenpost"
|
539 |
|
540 |
-
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:
|
541 |
msgctxt "dhl"
|
542 |
msgid "Error while uploading label."
|
543 |
msgstr "Fehler beim Hochladen des Labels."
|
544 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
545 |
# @ woocommerce-germanized
|
546 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
547 |
msgctxt "dhl"
|
548 |
msgid "Receiver Ids"
|
549 |
msgstr "Empfänger IDs"
|
550 |
|
551 |
# @ woocommerce-germanized
|
552 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
553 |
msgctxt "dhl"
|
554 |
msgid "Receiver Id"
|
555 |
msgstr "Empfänger ID"
|
556 |
|
557 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
558 |
msgctxt "dhl"
|
559 |
msgid "Find your Receiver Ids within your DHL contract data."
|
560 |
msgstr "Die Empfänger IDs finden Sie im DHL Geschäftskundenportal."
|
561 |
|
562 |
# @ woocommerce-germanized
|
563 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
564 |
msgctxt "dhl"
|
565 |
msgid "Country Code"
|
566 |
msgstr "Ländercode"
|
567 |
|
568 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
569 |
msgctxt "dhl"
|
570 |
msgid "Leave empty to use the Receiver Id as fallback."
|
571 |
msgstr "Leer lassen, um diese Empfänger ID als Fallback zu verwenden."
|
572 |
|
573 |
# @ woocommerce-germanized
|
574 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
575 |
msgctxt "dhl"
|
576 |
msgid "+ Add receiver"
|
577 |
msgstr "+ Empfänger hinzufügen"
|
578 |
|
579 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
580 |
msgctxt "dhl"
|
581 |
msgid "Remove selected receiver(s)"
|
582 |
msgstr "Ausgewählte Empfänger löschen"
|
583 |
|
584 |
# @ woocommerce-germanized
|
585 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
586 |
msgctxt "dhl"
|
587 |
msgid "Select a country"
|
588 |
msgstr "Land auswählen"
|
589 |
|
590 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
591 |
msgctxt "dhl"
|
592 |
-
msgid "
|
593 |
-
msgstr "
|
594 |
|
595 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
596 |
msgctxt "dhl"
|
597 |
-
msgid "
|
|
|
|
|
598 |
msgstr ""
|
599 |
-
"
|
600 |
-
"
|
|
|
601 |
|
602 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
603 |
msgctxt "dhl"
|
604 |
msgid "Country of manufacture (DHL)"
|
605 |
msgstr "Herstellungsland (DHL)"
|
606 |
|
607 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
608 |
msgctxt "dhl"
|
609 |
msgid ""
|
610 |
"The country of manufacture is needed for customs of international shipping."
|
@@ -612,7 +707,7 @@ msgstr ""
|
|
612 |
"Das Herstellungsland wird für die Zollabwicklung bei internationalen "
|
613 |
"Sendungen benötigt."
|
614 |
|
615 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
616 |
#, php-format
|
617 |
msgctxt "dhl"
|
618 |
msgid ""
|
@@ -622,18 +717,19 @@ msgstr ""
|
|
622 |
"Das Verzeichnis zum Speichern von DHL Labels fehlt. Bitte erstellen Sie den "
|
623 |
"Ordner %s manuell und stellen Sie sicher, dass der Ordner beschreibbar ist."
|
624 |
|
625 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
626 |
-
#: woocommerce-germanized-dhl/src/
|
|
|
627 |
msgctxt "dhl"
|
628 |
msgid "DHL"
|
629 |
msgstr "DHL"
|
630 |
|
631 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
632 |
msgctxt "dhl"
|
633 |
msgid "DHL Label"
|
634 |
msgstr "DHL Label"
|
635 |
|
636 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
637 |
msgctxt "dhl"
|
638 |
msgid ""
|
639 |
"This label has been generated by the DHL for WooCommerce Plugin and is shown "
|
@@ -643,17 +739,17 @@ msgstr ""
|
|
643 |
"Kompatibilitäts-Gründen angezeigt."
|
644 |
|
645 |
# @ woocommerce-germanized
|
646 |
-
#: woocommerce-germanized-dhl/src/Admin/Admin.php:
|
647 |
msgctxt "dhl"
|
648 |
msgid "Download label"
|
649 |
msgstr "Label downloaden"
|
650 |
|
651 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
652 |
msgctxt "dhl"
|
653 |
msgid "Enable DHL"
|
654 |
msgstr "DHL aktivieren"
|
655 |
|
656 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
657 |
msgctxt "dhl"
|
658 |
msgid ""
|
659 |
"If you want to ship your shipments via DHL and create labels to your "
|
@@ -662,12 +758,12 @@ msgstr ""
|
|
662 |
"Wenn Sie Ihre Sendungen mit DHL verschicken und Labels zu Ihren Sendungen "
|
663 |
"erzeugen möchten, aktivieren Sie die DHL Integration."
|
664 |
|
665 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
666 |
msgctxt "dhl"
|
667 |
msgid "Customer Number"
|
668 |
msgstr "Kundennummer"
|
669 |
|
670 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
671 |
msgctxt "dhl"
|
672 |
msgid ""
|
673 |
"Insert your DHL business customer number (EKP) here. If you are not yet a "
|
@@ -677,12 +773,12 @@ msgstr ""
|
|
677 |
"Geschäftskunde sind, sollten Sie sich zuerst als Geschäftskunde bei DHL "
|
678 |
"registrieren."
|
679 |
|
680 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
681 |
msgctxt "dhl"
|
682 |
msgid "API Access"
|
683 |
msgstr "API Versionen"
|
684 |
|
685 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
686 |
msgctxt "dhl"
|
687 |
msgid ""
|
688 |
"To create labels and embed DHL services, our software needs access to the "
|
@@ -692,14 +788,14 @@ msgstr ""
|
|
692 |
"Software Zugang zur API. Sie sollten hier Ihre Zugangsdaten zum DHL "
|
693 |
"Geschäftskundenportal eingeben."
|
694 |
|
695 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
696 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
697 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
698 |
msgctxt "dhl"
|
699 |
msgid "Inlay Returns"
|
700 |
msgstr "Beilageretouren"
|
701 |
|
702 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
703 |
msgctxt "dhl"
|
704 |
msgid ""
|
705 |
"If you want to provide your customers with inlay return labels for your "
|
@@ -708,14 +804,14 @@ msgstr ""
|
|
708 |
"Wenn Sie Beilageretouren-Labels zu Ihren Sendungen hinzufügen möchten, "
|
709 |
"sollten Sie diese Funktion standardmäßig aktivieren."
|
710 |
|
711 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
712 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
713 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
714 |
msgctxt "dhl"
|
715 |
msgid "Retoure"
|
716 |
msgstr "Retoure"
|
717 |
|
718 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
719 |
msgctxt "dhl"
|
720 |
msgid ""
|
721 |
"If you want to create DHL labels to returns you should activate this "
|
@@ -726,12 +822,12 @@ msgstr ""
|
|
726 |
"aktivieren. Stellen Sie sicher, dass DHL Online Retoure in Ihrem Vertrag "
|
727 |
"freigeschaltet ist."
|
728 |
|
729 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
730 |
msgctxt "dhl"
|
731 |
msgid "Age verification"
|
732 |
msgstr "Altersverifikation"
|
733 |
|
734 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
735 |
msgctxt "dhl"
|
736 |
msgid ""
|
737 |
"Use this feature to sync the Germanized age verification checkbox with the "
|
@@ -744,13 +840,14 @@ msgstr ""
|
|
744 |
"„Alterssichtprüfung“ von DHL automatisch aktiviert."
|
745 |
|
746 |
# @ woocommerce-germanized
|
747 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
748 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
749 |
msgctxt "dhl"
|
750 |
msgid "Automation"
|
751 |
msgstr "Automatisierung"
|
752 |
|
753 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
754 |
msgctxt "dhl"
|
755 |
msgid ""
|
756 |
"You might want to save some time and let Germanized generate labels "
|
@@ -760,7 +857,7 @@ msgstr ""
|
|
760 |
"automatisch erzeugen lassen, sobald eine Sendung in einen bestimmten Status "
|
761 |
"wechselt."
|
762 |
|
763 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
764 |
msgctxt "dhl"
|
765 |
msgid ""
|
766 |
"Let your customers choose a preferred day (if the service is available at "
|
@@ -770,13 +867,13 @@ msgstr ""
|
|
770 |
"Kundenadresse zur Verfügung steht) für die Lieferung in der Kasse auswählen."
|
771 |
|
772 |
# @ woocommerce-germanized
|
773 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
774 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
775 |
msgctxt "dhl"
|
776 |
msgid "Fee"
|
777 |
msgstr "Gebühr"
|
778 |
|
779 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
780 |
msgctxt "dhl"
|
781 |
msgid ""
|
782 |
"Optionally charge your customers an additional fee for preferred services "
|
@@ -785,7 +882,7 @@ msgstr ""
|
|
785 |
"Optional können Sie die Gebühr für die Auswahl des Wunschtags oder anderer "
|
786 |
"Wunschpaket-Services an Ihre Kunden weiterreichen."
|
787 |
|
788 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
789 |
msgctxt "dhl"
|
790 |
msgid ""
|
791 |
"Allow your customers to send their parcels to a preferred location e.g. a "
|
@@ -794,7 +891,7 @@ msgstr ""
|
|
794 |
"Lassen Sie Ihre Kunden einen Wunschort für die Abgabe ihres Pakets in der "
|
795 |
"Kasse auswählen. Dieser Service wird von DHL nicht zusätzlich berechnet."
|
796 |
|
797 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
798 |
msgctxt "dhl"
|
799 |
msgid ""
|
800 |
"Allow your customers to choose packstation (and/or other DHL location types "
|
@@ -803,13 +900,13 @@ msgstr ""
|
|
803 |
"Lassen Sie Ihre Kunden eine Packstation (und/oder andere DHL Standorte, wie "
|
804 |
"im Folgenden konfiguriert) als Lieferadresse auswählen."
|
805 |
|
806 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
807 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
808 |
msgctxt "dhl"
|
809 |
msgid "Map"
|
810 |
msgstr "Karte"
|
811 |
|
812 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
813 |
msgctxt "dhl"
|
814 |
msgid ""
|
815 |
"This option adds a map overlay view to let your customers choose a DHL "
|
@@ -820,24 +917,25 @@ msgstr ""
|
|
820 |
"DHL Standortes in der Nähe noch einfacher zu machen. Sie benötigen für die "
|
821 |
"Kartenansicht einen gültigen Google Maps API Schlüssel."
|
822 |
|
823 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
824 |
msgctxt "dhl"
|
825 |
msgid "Enable"
|
826 |
msgstr "Aktivieren"
|
827 |
|
828 |
# @ woocommerce-germanized
|
829 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
830 |
msgctxt "dhl"
|
831 |
msgid "Enable DHL integration."
|
832 |
msgstr "DHL Integration aktivieren."
|
833 |
|
834 |
# @ woocommerce-germanized
|
835 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
836 |
msgctxt "dhl"
|
837 |
msgid "Customer Number (EKP)"
|
838 |
msgstr "Kundennummer (EKP)"
|
839 |
|
840 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
841 |
#, php-format
|
842 |
msgctxt "dhl"
|
843 |
msgid ""
|
@@ -847,33 +945,33 @@ msgstr ""
|
|
847 |
"Ihre 10-stellige DHL Kundennummer (EKP). Finden Sie Ihre %s im DHL "
|
848 |
"Geschäftskundenportal."
|
849 |
|
850 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
851 |
msgctxt "dhl"
|
852 |
msgid "customer number"
|
853 |
msgstr "Kundennummer"
|
854 |
|
855 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
856 |
msgctxt "dhl"
|
857 |
msgid "API"
|
858 |
msgstr "API"
|
859 |
|
860 |
# @ woocommerce-germanized
|
861 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
862 |
msgctxt "dhl"
|
863 |
msgid "Enable Sandbox"
|
864 |
msgstr "Sandbox aktivieren"
|
865 |
|
866 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
867 |
msgctxt "dhl"
|
868 |
msgid "Activate Sandbox mode for testing purposes."
|
869 |
msgstr "Aktiviere den Sandbox Modus."
|
870 |
|
871 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
872 |
msgctxt "dhl"
|
873 |
msgid "Live Username"
|
874 |
msgstr "Benutzer"
|
875 |
|
876 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
877 |
#, php-format
|
878 |
msgctxt "dhl"
|
879 |
msgid ""
|
@@ -883,22 +981,22 @@ msgstr ""
|
|
883 |
"Ihr Benutzername zum DHL Geschäftskundenportal. Bitte beachten Sie die "
|
884 |
"Kleinschreibung und testen Sie Ihre Zugangsdaten vorab %s."
|
885 |
|
886 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
887 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
888 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
889 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
890 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
891 |
msgctxt "dhl"
|
892 |
msgid "here"
|
893 |
msgstr "hier"
|
894 |
|
895 |
# @ woocommerce-germanized
|
896 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
897 |
msgctxt "dhl"
|
898 |
msgid "Live Password"
|
899 |
msgstr "Passwort"
|
900 |
|
901 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
902 |
#, php-format
|
903 |
msgctxt "dhl"
|
904 |
msgid ""
|
@@ -910,12 +1008,12 @@ msgstr ""
|
|
910 |
"der Gültigkeit des Passworts nach 3 (Standard-Benutzer) bzw. 12 (System-"
|
911 |
"Benutzer) Monaten und testen Sie Ihre Zugangsdaten vorab %s."
|
912 |
|
913 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
914 |
msgctxt "dhl"
|
915 |
msgid "Sandbox Username"
|
916 |
msgstr "Sandbox Benutzername"
|
917 |
|
918 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
919 |
#, php-format
|
920 |
msgctxt "dhl"
|
921 |
msgid ""
|
@@ -925,12 +1023,12 @@ msgstr ""
|
|
925 |
"Ihr Benutzername zum DHL Entwicklerportal. Bitte beachten Sie die "
|
926 |
"Kleinschreibung und testen Sie Ihre Zugangsdaten vorab %s."
|
927 |
|
928 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
929 |
msgctxt "dhl"
|
930 |
msgid "Sandbox Password"
|
931 |
msgstr "Sandbox Passwort"
|
932 |
|
933 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
934 |
#, php-format
|
935 |
msgctxt "dhl"
|
936 |
msgid ""
|
@@ -940,13 +1038,13 @@ msgstr ""
|
|
940 |
"Ihr Passwort zum DHL Entwicklerportal. Bitte testen Sie Ihre Zugangsdaten "
|
941 |
"vorab %s."
|
942 |
|
943 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
944 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
945 |
msgctxt "dhl"
|
946 |
msgid "Products and Participation Numbers"
|
947 |
msgstr "Produkte und Teilnahmenummern"
|
948 |
|
949 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
950 |
#, php-format
|
951 |
msgctxt "dhl"
|
952 |
msgid ""
|
@@ -956,7 +1054,7 @@ msgstr ""
|
|
956 |
"Bitte fügen Sie Ihre Teilnahmenummer für das dazugehörige Produkt ein. Sie "
|
957 |
"können die anderen Teilnahmenummern später %s anpassen."
|
958 |
|
959 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
960 |
#, php-format
|
961 |
msgctxt "dhl"
|
962 |
msgid ""
|
@@ -970,17 +1068,18 @@ msgstr ""
|
|
970 |
"letzten beiden Zeichen der dazugehörigen Abrechnungsnummer, die Sie in Ihren "
|
971 |
"%s finden (z.B.: 01)."
|
972 |
|
973 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
974 |
msgctxt "dhl"
|
975 |
msgid "contract data"
|
976 |
msgstr "Vertragsdaten"
|
977 |
|
978 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
979 |
msgctxt "dhl"
|
980 |
msgid "Domestic Default Service"
|
981 |
msgstr "Nationaler Standard Service"
|
982 |
|
983 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
984 |
msgctxt "dhl"
|
985 |
msgid ""
|
986 |
"Please select your default DHL shipping service for domestic shipments that "
|
@@ -991,12 +1090,13 @@ msgstr ""
|
|
991 |
"für Ihre Kunden anbieten (Sie können das Produkt für jede einzelne Sendung "
|
992 |
"nachträglich ändern)."
|
993 |
|
994 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
995 |
msgctxt "dhl"
|
996 |
msgid "Int. Default Service"
|
997 |
msgstr "Internationaler Standard Service"
|
998 |
|
999 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1000 |
msgctxt "dhl"
|
1001 |
msgid ""
|
1002 |
"Please select your default DHL shipping service for cross-border shipments "
|
@@ -1008,27 +1108,27 @@ msgstr ""
|
|
1008 |
"Sendung nachträglich ändern)."
|
1009 |
|
1010 |
# @ woocommerce-germanized
|
1011 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1012 |
msgctxt "dhl"
|
1013 |
msgid "Default Duty"
|
1014 |
msgstr "Standard Zoll"
|
1015 |
|
1016 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1017 |
msgctxt "dhl"
|
1018 |
msgid "Please select a default duty type."
|
1019 |
msgstr "Bitte wählen Sie eine Standard-Zollabrechnung aus."
|
1020 |
|
1021 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1022 |
msgctxt "dhl"
|
1023 |
msgid "Codeable"
|
1024 |
msgstr "Leitcodierbar"
|
1025 |
|
1026 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1027 |
msgctxt "dhl"
|
1028 |
msgid "Generate label only if address can be automatically retrieved DHL."
|
1029 |
msgstr "Erzeuge Labels nur dann, wenn die Adresse von DHL erkannt wird."
|
1030 |
|
1031 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1032 |
msgctxt "dhl"
|
1033 |
msgid ""
|
1034 |
"Choose this option if you want to make sure that by default labels are only "
|
@@ -1039,12 +1139,12 @@ msgstr ""
|
|
1039 |
"ist."
|
1040 |
|
1041 |
# @ woocommerce-germanized
|
1042 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1043 |
msgctxt "dhl"
|
1044 |
msgid "Default weight (kg)"
|
1045 |
msgstr "Standardgewicht (kg)"
|
1046 |
|
1047 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1048 |
msgctxt "dhl"
|
1049 |
msgid ""
|
1050 |
"Choose a default shipment weight to be used for labels if no weight has been "
|
@@ -1053,12 +1153,12 @@ msgstr ""
|
|
1053 |
"Wählen Sie ein Standard Sendungsgewicht aus das für Labels verwendet wird, "
|
1054 |
"für die das Gewicht nicht automatisch bestimmt werden kann."
|
1055 |
|
1056 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1057 |
msgctxt "dhl"
|
1058 |
msgid "Minimum weight (kg)"
|
1059 |
msgstr "Mindestgewicht (kg)"
|
1060 |
|
1061 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1062 |
msgctxt "dhl"
|
1063 |
msgid ""
|
1064 |
"Choose a minimum weight to be used for labels e.g. to prevent low shipment "
|
@@ -1068,17 +1168,17 @@ msgstr ""
|
|
1068 |
"wegen eines zu geringen Gewichts Fehler zurückgibt."
|
1069 |
|
1070 |
# @ woocommerce-germanized
|
1071 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1072 |
msgctxt "dhl"
|
1073 |
msgid "Force email"
|
1074 |
msgstr "E-Mail übertragen"
|
1075 |
|
1076 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1077 |
msgctxt "dhl"
|
1078 |
msgid "Force transferring customer email to DHL."
|
1079 |
msgstr "E-Mail-Adresse des Kunden immer an DHL übertragen."
|
1080 |
|
1081 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1082 |
msgctxt "dhl"
|
1083 |
msgid ""
|
1084 |
"By default the customer email address is only transferred in case explicit "
|
@@ -1095,12 +1195,12 @@ msgstr ""
|
|
1095 |
"bevor Sie diese Option aktivieren."
|
1096 |
|
1097 |
# @ woocommerce-germanized
|
1098 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1099 |
msgctxt "dhl"
|
1100 |
msgid "Street number"
|
1101 |
msgstr "Hausnummer"
|
1102 |
|
1103 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1104 |
msgctxt "dhl"
|
1105 |
msgid ""
|
1106 |
"Force existence of a street number within the first address field during "
|
@@ -1109,7 +1209,7 @@ msgstr ""
|
|
1109 |
"Hausnummer im ersten Adressfeld verpflichtend abfragen, falls es sich um ein "
|
1110 |
"EU-Land handelt."
|
1111 |
|
1112 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1113 |
msgctxt "dhl"
|
1114 |
msgid ""
|
1115 |
"Enabling this option will force a street number to be provided during "
|
@@ -1120,7 +1220,7 @@ msgstr ""
|
|
1120 |
"Adressfeld in der Kasse abgefragt wird. Damit verhindern Sie fehlende oder "
|
1121 |
"falsche Datensätze."
|
1122 |
|
1123 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1124 |
msgctxt "dhl"
|
1125 |
msgid ""
|
1126 |
"Additionally create inlay return labels for shipments that support returns."
|
@@ -1128,82 +1228,70 @@ msgstr ""
|
|
1128 |
"Erzeuge zusätzlich Beilage-Retourenlabels für Sendungen die Retouren "
|
1129 |
"unterstützen."
|
1130 |
|
1131 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1132 |
msgctxt "dhl"
|
1133 |
msgid "Enable delivery to Packstation."
|
1134 |
msgstr "Aktiviere den Versand an Packstationen."
|
1135 |
|
1136 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1137 |
msgctxt "dhl"
|
1138 |
msgid "Let customers choose a Packstation as delivery address."
|
1139 |
msgstr "Kunden eine Packstation als Lieferadresse auswählen lassen."
|
1140 |
|
1141 |
# @ woocommerce-germanized
|
1142 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1143 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:50
|
1144 |
msgctxt "dhl"
|
1145 |
msgid "Postoffice"
|
1146 |
msgstr "Postfiliale"
|
1147 |
|
1148 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1149 |
msgctxt "dhl"
|
1150 |
msgid "Enable delivery to Post Offices."
|
1151 |
msgstr "Aktiviere den Versand an Postfilialen."
|
1152 |
|
1153 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1154 |
msgctxt "dhl"
|
1155 |
msgid "Let customers choose a Post Office as delivery address."
|
1156 |
msgstr "Kunden eine Postfiliale als Lieferadresse auswählen lassen."
|
1157 |
|
1158 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1159 |
msgctxt "dhl"
|
1160 |
msgid "Parcel Shop"
|
1161 |
msgstr "Paketshop"
|
1162 |
|
1163 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1164 |
msgctxt "dhl"
|
1165 |
msgid "Enable delivery to Parcel Shops."
|
1166 |
msgstr "Lieferung an Paketshops aktivieren."
|
1167 |
|
1168 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1169 |
msgctxt "dhl"
|
1170 |
msgid "Let customers choose a Parcel Shop as delivery address."
|
1171 |
msgstr "Kunden einen Paketshop als Lieferadresse auswählen lassen."
|
1172 |
|
1173 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:530
|
1174 |
-
msgctxt "dhl"
|
1175 |
-
msgid "Visual minimum age"
|
1176 |
-
msgstr "Alterssichtprüfung"
|
1177 |
-
|
1178 |
#: woocommerce-germanized-dhl/src/Admin/Settings.php:535
|
1179 |
msgctxt "dhl"
|
1180 |
-
msgid "Choose this option if you want to let DHL check your customer's age."
|
1181 |
-
msgstr ""
|
1182 |
-
"Wählen Sie diese Option aus, wenn Sie das Alter durch DHL prüfen lassen "
|
1183 |
-
"möchten."
|
1184 |
-
|
1185 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:539
|
1186 |
-
msgctxt "dhl"
|
1187 |
msgid "Enable the GoGreen Service by default."
|
1188 |
msgstr "Buche den GoGreen Service hinzu."
|
1189 |
|
1190 |
# @ woocommerce-germanized
|
1191 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1192 |
msgctxt "dhl"
|
1193 |
msgid "Additional Insurance"
|
1194 |
msgstr "Transportversicherung"
|
1195 |
|
1196 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1197 |
msgctxt "dhl"
|
1198 |
msgid "Add an additional insurance to labels."
|
1199 |
msgstr "Füge eine Transportversicherung zur Sendung hinzu."
|
1200 |
|
1201 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1202 |
msgctxt "dhl"
|
1203 |
msgid "Retail Outlet Routing"
|
1204 |
msgstr "Filialrouting"
|
1205 |
|
1206 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1207 |
msgctxt "dhl"
|
1208 |
msgid ""
|
1209 |
"Send undeliverable items to nearest retail outlet instead of immediate "
|
@@ -1212,46 +1300,58 @@ msgstr ""
|
|
1212 |
"Sende unzustellbare Sendungen in die nächstgelegene Filiale zur Abholung "
|
1213 |
"anstelle diese direkt zurückzusenden."
|
1214 |
|
1215 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1216 |
msgctxt "dhl"
|
1217 |
msgid "No Neighbor"
|
1218 |
msgstr "Keine Nachbarschaftszustellung"
|
1219 |
|
1220 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1221 |
msgctxt "dhl"
|
1222 |
msgid "Do not deliver to neighbors."
|
1223 |
msgstr "Schließe eine Ersatzzustellung beim Nachbarn aus."
|
1224 |
|
1225 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1226 |
msgctxt "dhl"
|
1227 |
msgid "Do only delivery to named person."
|
1228 |
msgstr ""
|
1229 |
"Lasse Pakete nur an den Empfänger persönlich oder an eine bevollmächtigte "
|
1230 |
"Person übergeben."
|
1231 |
|
1232 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1233 |
msgctxt "dhl"
|
1234 |
msgid "Bulky Goods"
|
1235 |
msgstr "Sperrgut"
|
1236 |
|
1237 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1238 |
msgctxt "dhl"
|
1239 |
msgid "Deliver as bulky goods."
|
1240 |
msgstr "Sende Pakete als Sperrgut."
|
1241 |
|
1242 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1243 |
msgctxt "dhl"
|
1244 |
-
msgid "
|
1245 |
-
msgstr "
|
1246 |
|
1247 |
#: woocommerce-germanized-dhl/src/Admin/Settings.php:581
|
1248 |
msgctxt "dhl"
|
1249 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1250 |
msgstr ""
|
1251 |
"Aktiviere die Alterssichtprüfung, falls die Sendung zu prüfende Positionen "
|
1252 |
"beinhaltet."
|
1253 |
|
1254 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1255 |
#, php-format
|
1256 |
msgctxt "dhl"
|
1257 |
msgid ""
|
@@ -1264,36 +1364,80 @@ msgstr ""
|
|
1264 |
"Alterssichtprüfung automatisch aktiviert, falls eine Sendung zu prüfenden "
|
1265 |
"Produkte beinhaltet."
|
1266 |
|
1267 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1268 |
msgctxt "dhl"
|
1269 |
msgid "age verification checkbox"
|
1270 |
msgstr "Checkbox zur Altersprüfung"
|
1271 |
|
1272 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1273 |
msgctxt "dhl"
|
1274 |
msgid "Premium delivery for international shipments."
|
1275 |
msgstr "Premium Lieferung für internationale Sendungen."
|
1276 |
|
1277 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1278 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1279 |
msgctxt "dhl"
|
1280 |
msgid "Labels"
|
1281 |
msgstr "Labels"
|
1282 |
|
1283 |
# @ woocommerce-germanized
|
1284 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1285 |
msgctxt "dhl"
|
1286 |
msgid "Automatically create labels for shipments."
|
1287 |
msgstr "Automatisch Labels zu Sendungen erstellen."
|
1288 |
|
1289 |
# @ woocommerce-germanized
|
1290 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1291 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1292 |
msgctxt "dhl"
|
1293 |
msgid "Status"
|
1294 |
msgstr "Status"
|
1295 |
|
1296 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1297 |
msgctxt "dhl"
|
1298 |
msgid "Choose a shipment status which should trigger generation of a label."
|
1299 |
msgstr ""
|
@@ -1301,29 +1445,31 @@ msgstr ""
|
|
1301 |
"soll."
|
1302 |
|
1303 |
# @ woocommerce-germanized
|
1304 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1305 |
msgctxt "dhl"
|
1306 |
msgid "Shipment Status"
|
1307 |
msgstr "Sendungsstatus"
|
1308 |
|
1309 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
1310 |
msgctxt "dhl"
|
1311 |
msgid "Mark shipment as shipped after label has been created successfully."
|
1312 |
msgstr ""
|
1313 |
"Sendung als versandt markieren, sobald ein Label erfolgreich erstellt wurde."
|
1314 |
|
1315 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1316 |
msgctxt "dhl"
|
1317 |
msgid "Returns"
|
1318 |
msgstr "Retouren"
|
1319 |
|
1320 |
# @ woocommerce-germanized
|
1321 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1322 |
msgctxt "dhl"
|
1323 |
msgid "Automatically create labels for returns."
|
1324 |
msgstr "Automatisch Retourenlabels zu Retourensendungen erstellen."
|
1325 |
|
1326 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1327 |
msgctxt "dhl"
|
1328 |
msgid ""
|
1329 |
"Choose a shipment status which should trigger generation of a return label."
|
@@ -1331,7 +1477,7 @@ msgstr ""
|
|
1331 |
"Wählen Sie einen Sendungsstatus aus, der die Erzeugung eines Retourenlabels "
|
1332 |
"auslösen soll."
|
1333 |
|
1334 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1335 |
#, php-format
|
1336 |
msgctxt "dhl"
|
1337 |
msgid ""
|
@@ -1343,12 +1489,12 @@ msgstr ""
|
|
1343 |
"werden."
|
1344 |
|
1345 |
# @ woocommerce-germanized
|
1346 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1347 |
msgctxt "dhl"
|
1348 |
msgid "shipping method"
|
1349 |
msgstr "Versandmethode"
|
1350 |
|
1351 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1352 |
#, php-format
|
1353 |
msgctxt "dhl"
|
1354 |
msgid ""
|
@@ -1359,18 +1505,18 @@ msgstr ""
|
|
1359 |
"API an. Stellen Sie sicher, dass Ihr %s DHL Retoure Online enthält."
|
1360 |
|
1361 |
# @ woocommerce-germanized
|
1362 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1363 |
msgctxt "dhl"
|
1364 |
msgid "contract"
|
1365 |
msgstr "Vertrag"
|
1366 |
|
1367 |
# @ woocommerce-germanized
|
1368 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1369 |
msgctxt "dhl"
|
1370 |
msgid "Default Services"
|
1371 |
msgstr "Standard-Services"
|
1372 |
|
1373 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1374 |
#, php-format
|
1375 |
msgctxt "dhl"
|
1376 |
msgid ""
|
@@ -1380,12 +1526,12 @@ msgstr ""
|
|
1380 |
"Passen Sie hier an, welche der Services als Standard für Ihre Labels gebucht "
|
1381 |
"werden sollen. Finden Sie mehr über diese %s heraus."
|
1382 |
|
1383 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1384 |
msgctxt "dhl"
|
1385 |
msgid "nationwide services"
|
1386 |
msgstr "nationalen Services"
|
1387 |
|
1388 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1389 |
msgctxt "dhl"
|
1390 |
msgid ""
|
1391 |
"Choose whether and under which conditions labels for your shipments shall be "
|
@@ -1395,38 +1541,38 @@ msgstr ""
|
|
1395 |
"automatisch erzeugt werden sollen."
|
1396 |
|
1397 |
# @ woocommerce-germanized
|
1398 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1399 |
msgctxt "dhl"
|
1400 |
msgid "Shipper Address"
|
1401 |
msgstr "Absenderadresse"
|
1402 |
|
1403 |
# @ woocommerce-germanized
|
1404 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1405 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1406 |
msgctxt "dhl"
|
1407 |
msgid "Street Number"
|
1408 |
msgstr "Hausnummer"
|
1409 |
|
1410 |
# @ woocommerce-germanized
|
1411 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1412 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1413 |
msgctxt "dhl"
|
1414 |
msgid "Country"
|
1415 |
msgstr "Land"
|
1416 |
|
1417 |
# @ woocommerce-germanized
|
1418 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1419 |
msgctxt "dhl"
|
1420 |
msgid "Inlay Return Address"
|
1421 |
msgstr "Beilageretouren Adresse"
|
1422 |
|
1423 |
# @ woocommerce-germanized
|
1424 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1425 |
msgctxt "dhl"
|
1426 |
msgid "Bank Account"
|
1427 |
msgstr "Bankkonto"
|
1428 |
|
1429 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1430 |
msgctxt "dhl"
|
1431 |
msgid "Enter your bank details needed for services that use COD."
|
1432 |
msgstr ""
|
@@ -1434,36 +1580,36 @@ msgstr ""
|
|
1434 |
"verwendet werden sollen."
|
1435 |
|
1436 |
# @ woocommerce-germanized
|
1437 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1438 |
msgctxt "dhl"
|
1439 |
msgid "Holder"
|
1440 |
msgstr "Kontoinhaber"
|
1441 |
|
1442 |
# @ woocommerce-germanized
|
1443 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1444 |
msgctxt "dhl"
|
1445 |
msgid "Bank Name"
|
1446 |
msgstr "Name der Bank"
|
1447 |
|
1448 |
# @ woocommerce-germanized
|
1449 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1450 |
msgctxt "dhl"
|
1451 |
msgid "IBAN"
|
1452 |
msgstr "IBAN"
|
1453 |
|
1454 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1455 |
msgctxt "dhl"
|
1456 |
msgid "BIC"
|
1457 |
msgstr "BIC"
|
1458 |
|
1459 |
# @ woocommerce-germanized
|
1460 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1461 |
msgctxt "dhl"
|
1462 |
msgid "Payment Reference"
|
1463 |
msgstr "Zahlungsreferenz"
|
1464 |
|
1465 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1466 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1467 |
#, php-format
|
1468 |
msgctxt "dhl"
|
1469 |
msgid ""
|
@@ -1474,18 +1620,18 @@ msgstr ""
|
|
1474 |
"hinzufügen: %s. Der Text ist auf 35 Zeichen begrenzt."
|
1475 |
|
1476 |
# @ woocommerce-germanized
|
1477 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1478 |
msgctxt "dhl"
|
1479 |
msgid "Payment Reference 2"
|
1480 |
msgstr "Zahlungsreferenz 2"
|
1481 |
|
1482 |
# @ woocommerce-germanized
|
1483 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1484 |
msgctxt "dhl"
|
1485 |
msgid "Enable creating labels for return shipments."
|
1486 |
msgstr "Automatisch Retourenlabels zu Retourensendungen erstellen."
|
1487 |
|
1488 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1489 |
msgctxt "dhl"
|
1490 |
msgid ""
|
1491 |
"By enabling this option you might generate retoure labels for return "
|
@@ -1494,12 +1640,12 @@ msgstr ""
|
|
1494 |
"Mit der Aktivierung dieser Option können Sie Retourenlabels zu "
|
1495 |
"Retourensendungen erstellen und diese per E-Mail an den Kunden weiterleiten."
|
1496 |
|
1497 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1498 |
msgctxt "dhl"
|
1499 |
msgid "Enable preferred day delivery."
|
1500 |
msgstr "Aktiviere die Lieferung am Wunschtag."
|
1501 |
|
1502 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1503 |
msgctxt "dhl"
|
1504 |
msgid ""
|
1505 |
"Enabling this option will display options for the user to select their "
|
@@ -1508,7 +1654,7 @@ msgstr ""
|
|
1508 |
"Diese Option aktiviert die Auswahl eines Wunschtags durch den Kunden in der "
|
1509 |
"Kasse."
|
1510 |
|
1511 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1512 |
msgctxt "dhl"
|
1513 |
msgid ""
|
1514 |
"Insert gross value as surcharge for preferred day delivery. Insert 0 to "
|
@@ -1518,12 +1664,12 @@ msgstr ""
|
|
1518 |
"Setzen Sie den Wert auf 0 um den Service kostenlos anzubieten."
|
1519 |
|
1520 |
# @ woocommerce-germanized
|
1521 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1522 |
msgctxt "dhl"
|
1523 |
msgid "Enable preferred location delivery."
|
1524 |
msgstr "Lieferung an einen Wunschort aktivieren."
|
1525 |
|
1526 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1527 |
msgctxt "dhl"
|
1528 |
msgid ""
|
1529 |
"Enabling this option will display options for the user to select their "
|
@@ -1532,12 +1678,12 @@ msgstr ""
|
|
1532 |
"Diese Option aktiviert die Auswahl eines Wunschorts durch den Kunden in der "
|
1533 |
"Kasse ."
|
1534 |
|
1535 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1536 |
msgctxt "dhl"
|
1537 |
msgid "Enable preferred neighbor delivery."
|
1538 |
msgstr "Aktiviere die Lieferung an einen Wunschnachbarn."
|
1539 |
|
1540 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1541 |
msgctxt "dhl"
|
1542 |
msgid ""
|
1543 |
"Enabling this option will display options for the user to deliver to their "
|
@@ -1546,12 +1692,12 @@ msgstr ""
|
|
1546 |
"Diese Option aktiviert die Auswahl eines Wunschnachbarn durch den Kunden in "
|
1547 |
"der Kasse."
|
1548 |
|
1549 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1550 |
msgctxt "dhl"
|
1551 |
msgid "Cut-off time"
|
1552 |
msgstr "Cut-off-Zeit"
|
1553 |
|
1554 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1555 |
msgctxt "dhl"
|
1556 |
msgid ""
|
1557 |
"The cut-off time is the latest possible order time up to which the minimum "
|
@@ -1564,12 +1710,12 @@ msgstr ""
|
|
1564 |
"Nach Überschreitung dieses Zeitpunktes, wird der früheste verfügbare "
|
1565 |
"Wunschtag in der Kasse um einen Tag erhöht (Tag der Bestellung + 3 Werktage)."
|
1566 |
|
1567 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1568 |
msgctxt "dhl"
|
1569 |
msgid "Preparation days"
|
1570 |
msgstr "Bearbeitungstage"
|
1571 |
|
1572 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1573 |
msgctxt "dhl"
|
1574 |
msgid ""
|
1575 |
"If you need more time to prepare your shipments you might want to add a "
|
@@ -1580,71 +1726,71 @@ msgstr ""
|
|
1580 |
"hier eine statische Anzahl an Tagen hinterlegen, die zum frühesten "
|
1581 |
"auswählbaren Wunschtag hinzugefügt werden."
|
1582 |
|
1583 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1584 |
msgctxt "dhl"
|
1585 |
msgid "Exclude days of transfer"
|
1586 |
msgstr "Übergabetage ausschließen"
|
1587 |
|
1588 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1589 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:31
|
1590 |
msgctxt "dhl"
|
1591 |
msgid "Monday"
|
1592 |
msgstr "Montag"
|
1593 |
|
1594 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1595 |
msgctxt "dhl"
|
1596 |
msgid "Exclude days from transferring shipments to DHL."
|
1597 |
msgstr "Schließen Sie bestimmte Wochentage für die Übergabe an DHL aus."
|
1598 |
|
1599 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1600 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:32
|
1601 |
msgctxt "dhl"
|
1602 |
msgid "Tuesday"
|
1603 |
msgstr "Dienstag"
|
1604 |
|
1605 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1606 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:33
|
1607 |
msgctxt "dhl"
|
1608 |
msgid "Wednesday"
|
1609 |
msgstr "Mittwoch"
|
1610 |
|
1611 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1612 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:34
|
1613 |
msgctxt "dhl"
|
1614 |
msgid "Thursday"
|
1615 |
msgstr "Donnerstag"
|
1616 |
|
1617 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1618 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:35
|
1619 |
msgctxt "dhl"
|
1620 |
msgid "Friday"
|
1621 |
msgstr "Freitag"
|
1622 |
|
1623 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1624 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:36
|
1625 |
msgctxt "dhl"
|
1626 |
msgid "Saturday"
|
1627 |
msgstr "Samstag"
|
1628 |
|
1629 |
# @ woocommerce-germanized
|
1630 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1631 |
msgctxt "dhl"
|
1632 |
msgid "Exclude gateways"
|
1633 |
msgstr "Zahlungsarten ausschließen"
|
1634 |
|
1635 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1636 |
msgctxt "dhl"
|
1637 |
msgid "Select payment gateways to be excluded from showing preferred services."
|
1638 |
msgstr ""
|
1639 |
"Wählen Sie Zahlungsarten aus, für die die Wunschpaket-Services nicht zur "
|
1640 |
"Verfügung stehen sollen."
|
1641 |
|
1642 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1643 |
msgctxt "dhl"
|
1644 |
msgid "Let customers find a DHL location on a map."
|
1645 |
msgstr "Lasse Kunden einen DHL Standort auf der Karte auswählen."
|
1646 |
|
1647 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1648 |
msgctxt "dhl"
|
1649 |
msgid ""
|
1650 |
"Enable this option to let your customers choose a pickup option from a map "
|
@@ -1655,12 +1801,12 @@ msgstr ""
|
|
1655 |
"anhand einer Karten in der Kasse zu ermöglichen. Wenn diese Option "
|
1656 |
"deaktiviert ist, wird stattdessen auf die DHL Website verwiesen."
|
1657 |
|
1658 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1659 |
msgctxt "dhl"
|
1660 |
msgid "Google Maps Key"
|
1661 |
msgstr "Google Maps Schlüssel"
|
1662 |
|
1663 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1664 |
#, php-format
|
1665 |
msgctxt "dhl"
|
1666 |
msgid ""
|
@@ -1670,33 +1816,171 @@ msgstr ""
|
|
1670 |
"Um eine Karte integrieren zu können, benötigen Siee du einen gültigen API-"
|
1671 |
"Schlüssel für Google Maps. Sie können %s."
|
1672 |
|
1673 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1674 |
msgctxt "dhl"
|
1675 |
msgid "retrieve a new one"
|
1676 |
msgstr "hier einen neuen erstellen"
|
1677 |
|
1678 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1679 |
msgctxt "dhl"
|
1680 |
msgid "Limit results"
|
1681 |
msgstr "Suchergebnisse begrenzen"
|
1682 |
|
1683 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1684 |
msgctxt "dhl"
|
1685 |
msgid "Limit the number of DHL locations shown on the map"
|
1686 |
msgstr "Begrenzt die Anzahl der angezeigten DHL Standorte auf der Karte"
|
1687 |
|
1688 |
# @ woocommerce-germanized
|
1689 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1690 |
msgctxt "dhl"
|
1691 |
-
msgid "
|
1692 |
-
msgstr "
|
1693 |
|
1694 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1695 |
msgctxt "dhl"
|
1696 |
msgid "Preferred Services"
|
1697 |
msgstr "Wunschpaket"
|
1698 |
|
1699 |
-
#: woocommerce-germanized-dhl/src/Admin/Settings.php:
|
1700 |
msgctxt "dhl"
|
1701 |
msgid "Parcel Pickup"
|
1702 |
msgstr "Standorte"
|
@@ -1718,6 +2002,198 @@ msgctxt "dhl location name"
|
|
1718 |
msgid "%s %s"
|
1719 |
msgstr "%s %s"
|
1720 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1721 |
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:99
|
1722 |
msgctxt "dhl"
|
1723 |
msgid ""
|
@@ -1726,13 +2202,24 @@ msgstr ""
|
|
1726 |
"Ihre DHL API Zugangsdaten scheinen fehlerhaft zu sein. Bitte prüfen Sie Ihre "
|
1727 |
"DHL Einstellungen."
|
1728 |
|
1729 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1730 |
#, php-format
|
1731 |
msgctxt "dhl"
|
1732 |
msgid "There was an error contacting the DHL API: %s."
|
1733 |
msgstr "Beim Aufruf der DHL API gab es einen Fehler: %s."
|
1734 |
|
1735 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1736 |
msgctxt "dhl"
|
1737 |
msgid ""
|
1738 |
"An error ocurred while contacting the DHL API. Please consider enabling the "
|
@@ -1741,7 +2228,7 @@ msgstr ""
|
|
1741 |
"Beim Aufruf der DHL API ist ein Fehler aufgetreten. Bitte erwägen Sie den "
|
1742 |
"Wechsel in den Sandbox-Modus."
|
1743 |
|
1744 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1745 |
msgctxt "dhl"
|
1746 |
msgid ""
|
1747 |
"There was an error generating the label. Please try again or consider "
|
@@ -1750,32 +2237,25 @@ msgstr ""
|
|
1750 |
"Beim Erzeugen des Labels gab es einen Fehler. Bitte versuchen Sie es erneut "
|
1751 |
"oder erwägen Sie den Wechsel in den Sandbox-Modus."
|
1752 |
|
1753 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1754 |
-
#: woocommerce-germanized-dhl/src/Api/ReturnRest.php:
|
1755 |
msgctxt "dhl"
|
1756 |
msgid "Error while creating and uploading the label"
|
1757 |
msgstr "Fehler beim Erstellen und hochladen des Labels"
|
1758 |
|
1759 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1760 |
#, php-format
|
1761 |
msgctxt "dhl"
|
1762 |
msgid "Could not delete label - %s"
|
1763 |
msgstr "Das Label konnte nicht gelöscht werden - %s"
|
1764 |
|
1765 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1766 |
msgctxt "dhl"
|
1767 |
msgid "Could not create account number - no product number."
|
1768 |
msgstr ""
|
1769 |
"Die Abrechnungsnummer konnte nicht erzeugt werden. Die Teilnahmenummer fehlt."
|
1770 |
|
1771 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:
|
1772 |
-
#: woocommerce-germanized-dhl/src/Api/ReturnRest.php:34
|
1773 |
-
#, php-format
|
1774 |
-
msgctxt "dhl"
|
1775 |
-
msgid "Could not fetch shipment %d."
|
1776 |
-
msgstr "Sendung %d konnte nicht gefunden werden."
|
1777 |
-
|
1778 |
-
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:644
|
1779 |
#, php-format
|
1780 |
msgctxt "dhl"
|
1781 |
msgid "Only %s shipment items can be processed, your shipment has %s items."
|
@@ -1784,60 +2264,67 @@ msgstr ""
|
|
1784 |
"Sendung beinhaltet %s Positionen."
|
1785 |
|
1786 |
# @ woocommerce-germanized
|
1787 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1788 |
msgctxt "dhl"
|
1789 |
msgid "Label API not available"
|
1790 |
msgstr "Label API ist nicht erreichbar"
|
1791 |
|
1792 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1793 |
msgctxt "dhl"
|
1794 |
msgid "Parcel Finder API not available"
|
1795 |
msgstr "API der Standortsuche ist nicht verfügbar"
|
1796 |
|
1797 |
# @ woocommerce-germanized
|
1798 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1799 |
msgctxt "dhl"
|
1800 |
msgid "Return API not available"
|
1801 |
msgstr "Retoure API ist nicht erreichbar"
|
1802 |
|
1803 |
# @ woocommerce-germanized
|
1804 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1805 |
msgctxt "dhl"
|
1806 |
msgid "Parcel API not available"
|
1807 |
msgstr "Paket API ist nicht erreichbar"
|
1808 |
|
1809 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1810 |
msgctxt "dhl"
|
1811 |
msgid "Mon"
|
1812 |
msgstr "Mo"
|
1813 |
|
1814 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1815 |
msgctxt "dhl"
|
1816 |
msgid "Tue"
|
1817 |
msgstr "Di"
|
1818 |
|
1819 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1820 |
msgctxt "dhl"
|
1821 |
msgid "Wed"
|
1822 |
msgstr "Mi"
|
1823 |
|
1824 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1825 |
msgctxt "dhl"
|
1826 |
msgid "Thu"
|
1827 |
msgstr "Do"
|
1828 |
|
1829 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1830 |
msgctxt "dhl"
|
1831 |
msgid "Fri"
|
1832 |
msgstr "Fr"
|
1833 |
|
1834 |
# @ woocommerce-germanized
|
1835 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1836 |
msgctxt "dhl"
|
1837 |
msgid "Sat"
|
1838 |
msgstr "Sa"
|
1839 |
|
1840 |
-
#: woocommerce-germanized-dhl/src/Api/Paket.php:
|
1841 |
msgctxt "dhl"
|
1842 |
msgid "Sun"
|
1843 |
msgstr "So"
|
@@ -1858,44 +2345,44 @@ msgctxt "dhl"
|
|
1858 |
msgid "Please provide the shipment start date."
|
1859 |
msgstr "Bitte geben Sie das Startdatum der Sendung an."
|
1860 |
|
1861 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1862 |
msgctxt "dhl"
|
1863 |
msgid "400 - "
|
1864 |
msgstr "400 - "
|
1865 |
|
1866 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1867 |
msgctxt "dhl"
|
1868 |
msgid ""
|
1869 |
"401 - Unauthorized Access - Invalid token or Authentication Header parameter"
|
1870 |
msgstr ""
|
1871 |
"401 - Unauthorized Access - Invalid token or Authentication Header parameter"
|
1872 |
|
1873 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1874 |
msgctxt "dhl"
|
1875 |
msgid "408 - Request Timeout"
|
1876 |
msgstr "408 - Request Timeout"
|
1877 |
|
1878 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1879 |
msgctxt "dhl"
|
1880 |
msgid "429 - Too many requests in given amount of time"
|
1881 |
msgstr "429 - Too many requests in given amount of time"
|
1882 |
|
1883 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1884 |
msgctxt "dhl"
|
1885 |
msgid "503 - Service Unavailable"
|
1886 |
msgstr "503 - Service Unavailable"
|
1887 |
|
1888 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1889 |
msgctxt "dhl"
|
1890 |
msgid "GET error or timeout occured. Please try again later."
|
1891 |
msgstr "GET Fehler oder Zeitüberschreitung. Bitte später erneut versuchen."
|
1892 |
|
1893 |
-
#: woocommerce-germanized-dhl/src/Api/Rest.php:
|
1894 |
msgctxt "dhl"
|
1895 |
msgid "POST error or timeout occured. Please try again later."
|
1896 |
msgstr "POST Fehler oder Zeitüberschreitung. Bitte später erneut versuchen."
|
1897 |
|
1898 |
-
#: woocommerce-germanized-dhl/src/DataStores/Label.php:
|
1899 |
msgctxt "dhl"
|
1900 |
msgid "Invalid label."
|
1901 |
msgstr "Ungültiges Label."
|
@@ -1907,7 +2394,7 @@ msgctxt "dhl time-span"
|
|
1907 |
msgid "%s-%s"
|
1908 |
msgstr "%s-%s"
|
1909 |
|
1910 |
-
#: woocommerce-germanized-dhl/src/Package.php:
|
1911 |
msgctxt "dhl"
|
1912 |
msgid ""
|
1913 |
"Please check the street field and make sure to provide a valid street number."
|
@@ -1916,31 +2403,31 @@ msgstr ""
|
|
1916 |
"angegeben wurde."
|
1917 |
|
1918 |
# @ woocommerce-germanized
|
1919 |
-
#: woocommerce-germanized-dhl/src/Package.php:
|
1920 |
msgctxt "dhl"
|
1921 |
msgid "Germany"
|
1922 |
msgstr "Deutschland"
|
1923 |
|
1924 |
# @ woocommerce-germanized
|
1925 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1926 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1927 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1928 |
msgctxt "dhl"
|
1929 |
msgid "Address Type"
|
1930 |
msgstr "Adresstyp"
|
1931 |
|
1932 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1933 |
msgctxt "dhl"
|
1934 |
msgid "Select whether delivery to DHL locations should be enabled."
|
1935 |
msgstr ""
|
1936 |
"Wählen Sie aus, ob die Lieferung an DHL Standorte aktiviert werden soll."
|
1937 |
|
1938 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1939 |
msgctxt "dhl"
|
1940 |
msgid "Postnumber"
|
1941 |
msgstr "Postnummer"
|
1942 |
|
1943 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1944 |
msgctxt "dhl"
|
1945 |
msgid ""
|
1946 |
"In case delivery to packstation is selected please fill in the corresponding "
|
@@ -1949,31 +2436,31 @@ msgstr ""
|
|
1949 |
"Insofern die Lieferung an eine Packstation erfolgt, bitte die Postnummer "
|
1950 |
"eintragen."
|
1951 |
|
1952 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1953 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1954 |
msgctxt "dhl"
|
1955 |
msgid "Invalid address type."
|
1956 |
msgstr "Ungültiger Adresstyp."
|
1957 |
|
1958 |
# @ woocommerce-germanized
|
1959 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1960 |
msgctxt "dhl"
|
1961 |
msgid "Sorry, but delivery to packstation is not available."
|
1962 |
msgstr ""
|
1963 |
"Entschuldigung, die Lieferung an eine Packstation steht nicht zur Verfügung."
|
1964 |
|
1965 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1966 |
msgctxt "dhl"
|
1967 |
msgid "Sorry, but delivery to parcel shops is not available."
|
1968 |
msgstr ""
|
1969 |
"Entschuldigung, die Lieferung an einen Paketshop steht nicht zur Verfügung."
|
1970 |
|
1971 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1972 |
msgctxt "dhl"
|
1973 |
msgid "Sorry, but delivery to post offices is not available."
|
1974 |
msgstr "Entschuldigung, die Lieferung an Postfilialen ist nicht verfügbar."
|
1975 |
|
1976 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1977 |
#, php-format
|
1978 |
msgctxt "dhl"
|
1979 |
msgid "Please indicate shipment to %s by one of the following values: %s."
|
@@ -1981,7 +2468,7 @@ msgstr ""
|
|
1981 |
"Bitte identifizieren Sie die Lieferung an %s durch die Eingabe einer der "
|
1982 |
"folgenden Werte: %s."
|
1983 |
|
1984 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1985 |
msgctxt "dhl"
|
1986 |
msgid ""
|
1987 |
"Your DHL customer number (Post number) is not valid. Please check your "
|
@@ -1990,7 +2477,7 @@ msgstr ""
|
|
1990 |
"Ihre DHL Kundennummer (Postnummer) ist nicht gültig. Bitte überprüfen Sie "
|
1991 |
"Ihre Eingabe."
|
1992 |
|
1993 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
1994 |
msgctxt "dhl"
|
1995 |
msgid ""
|
1996 |
"Your DHL customer number (Post number) is needed to ship to a packstation."
|
@@ -1998,64 +2485,64 @@ msgstr ""
|
|
1998 |
"Ihre DHL Kundennummer (Postnummer) wird für den Versand an eine Packstation "
|
1999 |
"benötigt."
|
2000 |
|
2001 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2002 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2003 |
msgctxt "dhl"
|
2004 |
msgid "Branch"
|
2005 |
msgstr "Filiale"
|
2006 |
|
2007 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2008 |
msgctxt "dhl"
|
2009 |
msgid "Postnumber "
|
2010 |
msgstr "Postnummer "
|
2011 |
|
2012 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2013 |
#, php-format
|
2014 |
msgctxt "dhl"
|
2015 |
msgid "e.g. %s 456"
|
2016 |
msgstr "z.B. %s 456"
|
2017 |
|
2018 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2019 |
msgctxt "dhl"
|
2020 |
msgid "Branches"
|
2021 |
msgstr "Filialen"
|
2022 |
|
2023 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2024 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2025 |
msgctxt "dhl"
|
2026 |
msgid "DHL customer number (Post number)"
|
2027 |
msgstr "DHL Kundennummer (Postnummer)"
|
2028 |
|
2029 |
# @ woocommerce-germanized
|
2030 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2031 |
msgctxt "dhl"
|
2032 |
msgid "Regular Address"
|
2033 |
msgstr "Normale Adresse"
|
2034 |
|
2035 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2036 |
msgctxt "dhl"
|
2037 |
msgid "Not yet a DHL customer?"
|
2038 |
msgstr "Noch kein DHL Kunde?"
|
2039 |
|
2040 |
# @ woocommerce-germanized
|
2041 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2042 |
msgctxt "dhl"
|
2043 |
msgid "Register now"
|
2044 |
msgstr "Jetzt registrieren"
|
2045 |
|
2046 |
# @ woocommerce-germanized
|
2047 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2048 |
#, php-format
|
2049 |
msgctxt "dhl"
|
2050 |
msgid "Search %s"
|
2051 |
msgstr "%s suchen"
|
2052 |
|
2053 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2054 |
msgctxt "dhl"
|
2055 |
msgid "No DHL locations found"
|
2056 |
msgstr "Keine DHL Standorte gefunden"
|
2057 |
|
2058 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2059 |
#, php-format
|
2060 |
msgctxt "dhl"
|
2061 |
msgid ""
|
@@ -2066,12 +2553,12 @@ msgstr ""
|
|
2066 |
"einen %s oder %s."
|
2067 |
|
2068 |
# @ woocommerce-germanized
|
2069 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2070 |
msgctxt "dhl"
|
2071 |
msgid "DHL location"
|
2072 |
msgstr "DHL Standort"
|
2073 |
|
2074 |
-
#: woocommerce-germanized-dhl/src/ParcelLocator.php:
|
2075 |
msgctxt "dhl"
|
2076 |
msgid "retry"
|
2077 |
msgstr "Erneut versuchen"
|
@@ -2099,14 +2586,14 @@ msgctxt "dhl"
|
|
2099 |
msgid "Please choose name and address of your preferred neighbor."
|
2100 |
msgstr "Bitte wählen Sie einen Namen und die Adresse Ihres Wunschnachbars."
|
2101 |
|
2102 |
-
#: woocommerce-germanized-dhl/src/ReturnLabel.php:
|
2103 |
#: woocommerce-germanized-dhl/src/SimpleLabel.php:86
|
2104 |
#, php-format
|
2105 |
msgctxt "dhl full name"
|
2106 |
msgid "%1$s"
|
2107 |
msgstr "%1$s"
|
2108 |
|
2109 |
-
#: woocommerce-germanized-dhl/src/
|
2110 |
msgctxt "dhl"
|
2111 |
msgid ""
|
2112 |
"Complete DHL integration supporting labels, preferred services and "
|
@@ -2115,6 +2602,16 @@ msgstr ""
|
|
2115 |
"DHL Integration die das Erzeugen von Labels, Wunsch-Services und Lieferung "
|
2116 |
"an Packstationen unterstützt."
|
2117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2118 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder-result.php:31
|
2119 |
msgctxt "dhl"
|
2120 |
msgid "Opening Times"
|
@@ -2286,25 +2783,32 @@ msgstr ""
|
|
2286 |
"Ihre Installation des Germanized DHL Plugins ist unvollständig. Bitte führen "
|
2287 |
"Sie %1$s im %2$s Verzeichnis aus."
|
2288 |
|
2289 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2290 |
#, php-format
|
2291 |
msgctxt "shipments"
|
2292 |
-
msgid "
|
2293 |
-
msgstr "
|
2294 |
|
2295 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2296 |
#, php-format
|
2297 |
msgctxt "shipments"
|
2298 |
msgid "Dimensions (%s)"
|
2299 |
msgstr "Abmessungen (%s)"
|
2300 |
|
2301 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2302 |
msgctxt "shipments"
|
2303 |
msgid "LxWxH in decimal form."
|
2304 |
msgstr "LxBxH in dezimaler Form."
|
2305 |
|
2306 |
# @ woocommerce-germanized
|
2307 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2308 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1027
|
2309 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:24
|
2310 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:688
|
@@ -2313,52 +2817,52 @@ msgid "Status"
|
|
2313 |
msgstr "Status"
|
2314 |
|
2315 |
# @ woocommerce-germanized
|
2316 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2317 |
msgctxt "shipments"
|
2318 |
msgid "Shipping method"
|
2319 |
msgstr "Versandmethode"
|
2320 |
|
2321 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2322 |
msgctxt "shipments"
|
2323 |
msgid "Shipping provider"
|
2324 |
msgstr "Versanddienstleister"
|
2325 |
|
2326 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2327 |
msgctxt "shipments"
|
2328 |
msgid "Tracking Number"
|
2329 |
msgstr "Sendungsnummer"
|
2330 |
|
2331 |
# @ woocommerce-germanized
|
2332 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2333 |
msgctxt "shipments"
|
2334 |
msgid "Add item"
|
2335 |
msgstr "Position hinzufügen"
|
2336 |
|
2337 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2338 |
msgctxt "shipments"
|
2339 |
msgid "Automatically adjust items and quantities based on order item data."
|
2340 |
msgstr "Bestimmt Positionen und Anzahlen automatisch anhand der Bestelldaten."
|
2341 |
|
2342 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2343 |
msgctxt "shipments"
|
2344 |
msgid "Sync items"
|
2345 |
msgstr "Positionen synchronisieren"
|
2346 |
|
2347 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2348 |
msgctxt "shipments"
|
2349 |
msgid "Add Item"
|
2350 |
msgstr "Position hinzufügen"
|
2351 |
|
2352 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2353 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:45
|
2354 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2355 |
msgctxt "shipments"
|
2356 |
msgid "Item"
|
2357 |
msgstr "Position"
|
2358 |
|
2359 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2360 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:46
|
2361 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2362 |
#: woocommerce-germanized-shipments/templates/emails/email-shipment-details.php:55
|
2363 |
#: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:37
|
2364 |
#: woocommerce-germanized-shipments/templates/shipment/shipment-details.php:60
|
@@ -2366,13 +2870,13 @@ msgctxt "shipments"
|
|
2366 |
msgid "Quantity"
|
2367 |
msgstr "Anzahl"
|
2368 |
|
2369 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2370 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:55
|
2371 |
msgctxt "shipments"
|
2372 |
msgid "Add"
|
2373 |
msgstr "Hinzufügen"
|
2374 |
|
2375 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2376 |
msgctxt "shipments"
|
2377 |
msgid ""
|
2378 |
"Send return instructions to your customer via email including return label "
|
@@ -2381,17 +2885,17 @@ msgstr ""
|
|
2381 |
"Informationen zur Rücksendung inkl. Label, falls verfügbar an Kunden via E-"
|
2382 |
"Mail senden."
|
2383 |
|
2384 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2385 |
msgctxt "shipments"
|
2386 |
msgid "Resend notification"
|
2387 |
msgstr "Benachrichtigung erneut versenden"
|
2388 |
|
2389 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2390 |
msgctxt "shipments"
|
2391 |
msgid "Notify customer"
|
2392 |
msgstr "Notify customer"
|
2393 |
|
2394 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2395 |
msgctxt "shipments"
|
2396 |
msgid ""
|
2397 |
"Confirm the return request to the customer. The customer receives an email "
|
@@ -2402,13 +2906,13 @@ msgstr ""
|
|
2402 |
"enthält."
|
2403 |
|
2404 |
# @ woocommerce-germanized
|
2405 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2406 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:66
|
2407 |
msgctxt "shipments"
|
2408 |
msgid "Confirm return request"
|
2409 |
msgstr "Rücksendeantrag bestätigen"
|
2410 |
|
2411 |
-
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:
|
2412 |
#, php-format
|
2413 |
msgctxt "shipments"
|
2414 |
msgid "Delete %s"
|
@@ -2438,9 +2942,9 @@ msgstr "Löschen"
|
|
2438 |
|
2439 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-list.php:22
|
2440 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:76
|
2441 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2442 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2443 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2444 |
#: woocommerce-germanized-shipments/src/Admin/Settings.php:80
|
2445 |
#: woocommerce-germanized-shipments/src/Admin/Settings.php:177
|
2446 |
#: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:36
|
@@ -2448,6 +2952,19 @@ msgctxt "shipments"
|
|
2448 |
msgid "Returns"
|
2449 |
msgstr "Retouren"
|
2450 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2451 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment.php:16
|
2452 |
#, php-format
|
2453 |
msgctxt "shipment admin title"
|
@@ -2457,10 +2974,10 @@ msgstr "%s #%s"
|
|
2457 |
# @ woocommerce-germanized
|
2458 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:19
|
2459 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:69
|
2460 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2461 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2462 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2463 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2464 |
#: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:20
|
2465 |
msgctxt "shipments"
|
2466 |
msgid "Shipments"
|
@@ -2491,14 +3008,15 @@ msgstr "Speichern"
|
|
2491 |
#: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:11
|
2492 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:22
|
2493 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:686
|
2494 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
2495 |
msgctxt "shipments"
|
2496 |
msgid "Title"
|
2497 |
msgstr "Titel"
|
2498 |
|
2499 |
# @ woocommerce-germanized
|
2500 |
#: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:12
|
2501 |
-
#: woocommerce-germanized-shipments/src/
|
|
|
2502 |
msgctxt "shipments"
|
2503 |
msgid "Description"
|
2504 |
msgstr "Beschreibung"
|
@@ -2554,7 +3072,7 @@ msgid "Download"
|
|
2554 |
msgstr "Download"
|
2555 |
|
2556 |
#: woocommerce-germanized-shipments/includes/admin/views/label/html-shipment-label.php:39
|
2557 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2558 |
msgctxt "shipments"
|
2559 |
msgid "Create new label"
|
2560 |
msgstr "Neues Label erstellen"
|
@@ -2775,6 +3293,16 @@ msgid "Enter recipients (comma separated) for this email. Defaults to %s."
|
|
2775 |
msgstr ""
|
2776 |
"Fügen Sie Empfänger (kommasepariert) für diese E-Mail ein. Standard: %s."
|
2777 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2778 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:68
|
2779 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1025
|
2780 |
msgctxt "shipments"
|
@@ -2863,9 +3391,9 @@ msgstr "Fehler beim Erstellen der Sendungsinstanz"
|
|
2863 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:413
|
2864 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:417
|
2865 |
#: woocommerce-germanized-shipments/src/ReturnShipment.php:420
|
2866 |
-
#: woocommerce-germanized-shipments/src/ReturnShipment.php:
|
2867 |
#: woocommerce-germanized-shipments/src/SimpleShipment.php:118
|
2868 |
-
#: woocommerce-germanized-shipments/src/SimpleShipment.php:
|
2869 |
msgctxt "shipments"
|
2870 |
msgid "Invalid shipment order"
|
2871 |
msgstr "Ungültige Bestellung zur Sendung"
|
@@ -2907,7 +3435,7 @@ msgstr "Sendungsverfolgung"
|
|
2907 |
|
2908 |
# @ woocommerce-germanized
|
2909 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1029
|
2910 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2911 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:30
|
2912 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:694
|
2913 |
msgctxt "shipments"
|
@@ -2922,7 +3450,7 @@ msgstr "Anzeigen"
|
|
2922 |
# @ woocommerce-germanized
|
2923 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1272
|
2924 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:865
|
2925 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
2926 |
msgctxt "shipments"
|
2927 |
msgid "Download label"
|
2928 |
msgstr "Label downloaden"
|
@@ -2936,7 +3464,7 @@ msgid "My account"
|
|
2936 |
msgstr "Mein Konto"
|
2937 |
|
2938 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipments-template-functions.php:115
|
2939 |
-
#: woocommerce-germanized-shipments/src/DataStores/Shipment.php:
|
2940 |
msgctxt "shipments"
|
2941 |
msgid "Invalid shipment."
|
2942 |
msgstr "Ungültige Sendung."
|
@@ -2959,25 +3487,25 @@ msgid "View order"
|
|
2959 |
msgstr "Bestellung ansehen"
|
2960 |
|
2961 |
# @ woocommerce-germanized
|
2962 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2963 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2964 |
#: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:36
|
2965 |
msgctxt "shipments"
|
2966 |
msgid "Reason"
|
2967 |
msgstr "Rücksendegrund"
|
2968 |
|
2969 |
# @ woocommerce-germanized
|
2970 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2971 |
msgctxt "shipments"
|
2972 |
msgid "Return reasons"
|
2973 |
msgstr "Rücksendegründe"
|
2974 |
|
2975 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2976 |
msgctxt "shipments"
|
2977 |
msgid "Reason code"
|
2978 |
msgstr "Rücksendegrund (Code)"
|
2979 |
|
2980 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2981 |
msgctxt "shipments"
|
2982 |
msgid "The reason code is used to identify the reason."
|
2983 |
msgstr ""
|
@@ -2985,56 +3513,132 @@ msgstr ""
|
|
2985 |
"identifizieren zu können."
|
2986 |
|
2987 |
# @ woocommerce-germanized
|
2988 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2989 |
msgctxt "shipments"
|
2990 |
msgid "Choose a reason text."
|
2991 |
msgstr "Beschreibung für den Grund."
|
2992 |
|
2993 |
# @ woocommerce-germanized
|
2994 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
2995 |
msgctxt "shipments"
|
2996 |
msgid "+ Add reason"
|
2997 |
msgstr "+ Grund hinzufügen"
|
2998 |
|
2999 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3000 |
msgctxt "shipments"
|
3001 |
msgid "Remove selected reason(s)"
|
3002 |
msgstr "Ausgewählte Gründe löschen"
|
3003 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3004 |
# @ woocommerce-germanized
|
3005 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3006 |
msgctxt "shipments"
|
3007 |
msgid "Create shipments"
|
3008 |
msgstr "Sendungen erstellen"
|
3009 |
|
3010 |
# @ woocommerce-germanized
|
3011 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3012 |
msgctxt "shipments"
|
3013 |
msgid "Search shipments"
|
3014 |
msgstr "Sendungen suchen"
|
3015 |
|
3016 |
# @ woocommerce-germanized
|
3017 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3018 |
msgctxt "shipments"
|
3019 |
msgid "Search returns"
|
3020 |
msgstr "Retouren suchen"
|
3021 |
|
3022 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3023 |
msgctxt "shipments"
|
3024 |
msgid "Do you really want to delete the shipment?"
|
3025 |
msgstr "Möchten Sie die Sendung wirklich löschen?"
|
3026 |
|
3027 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3028 |
msgctxt "shipments"
|
3029 |
msgid "Do you really want to delete the label?"
|
3030 |
msgstr "Möchten Sie das Label wirklich löschen?"
|
3031 |
|
3032 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3033 |
msgctxt "shipments"
|
3034 |
msgid "Please save the shipment before creating a new label"
|
3035 |
msgstr "Bitte speichern Sie die Sendung bevor Sie ein neues Label erstellen"
|
3036 |
|
3037 |
-
#: woocommerce-germanized-shipments/src/Admin/Admin.php:
|
3038 |
msgctxt "shipments"
|
3039 |
msgid ""
|
3040 |
"Do you really want to delete the shipping provider? Some of your existing "
|
@@ -3436,29 +4040,44 @@ msgctxt "shipments"
|
|
3436 |
msgid "List shipments on customer account order screen."
|
3437 |
msgstr "Liste Sendungen im Kundenkonto in den Bestelldetails auf."
|
3438 |
|
3439 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3440 |
msgctxt "shipments"
|
3441 |
msgid "New provider"
|
3442 |
msgstr "Neuer Dienstleister"
|
3443 |
|
3444 |
# @ woocommerce-germanized
|
3445 |
-
#: woocommerce-germanized-shipments/src/Admin/Settings.php:
|
3446 |
msgctxt "shipments"
|
3447 |
msgid "Additional settings"
|
3448 |
msgstr "Weiterführende Einstellungen"
|
3449 |
|
3450 |
-
#: woocommerce-germanized-shipments/src/Admin/Settings.php:
|
3451 |
msgctxt "shipments"
|
3452 |
msgid "Add provider"
|
3453 |
msgstr "Dienstleister hinzufügen"
|
3454 |
|
3455 |
# @ woocommerce-germanized
|
3456 |
-
#: woocommerce-germanized-shipments/src/Admin/Settings.php:
|
3457 |
msgctxt "shipments"
|
3458 |
msgid "General"
|
3459 |
msgstr "Allgemein"
|
3460 |
|
3461 |
-
#: woocommerce-germanized-shipments/src/Admin/Settings.php:
|
3462 |
#: woocommerce-germanized-shipments/src/ShippingProviderMethod.php:56
|
3463 |
msgctxt "shipments"
|
3464 |
msgid "Shipping Provider"
|
@@ -3529,7 +4148,7 @@ msgstr "Filtern"
|
|
3529 |
|
3530 |
# @ woocommerce-germanized
|
3531 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:664
|
3532 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3533 |
#, php-format
|
3534 |
msgctxt "shipments"
|
3535 |
msgid "Order #%s"
|
@@ -3614,85 +4233,86 @@ msgctxt "shipments"
|
|
3614 |
msgid "Generate and download labels"
|
3615 |
msgstr "Labels erstellen und downloaden"
|
3616 |
|
3617 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3618 |
msgctxt "shipments"
|
3619 |
msgid "Notification successfully sent to customer."
|
3620 |
msgstr "Kunde erfolgreich benachrichtigt."
|
3621 |
|
3622 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3623 |
msgctxt "shipments"
|
3624 |
msgid "There was an error while sending the notification."
|
3625 |
msgstr "Beim Versendes der Benachrichtigung ist ein Fehler aufgetreten."
|
3626 |
|
3627 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3628 |
msgctxt "shipments"
|
3629 |
msgid "Return request confirmed successfully."
|
3630 |
msgstr "Rücksendeantrag erfolgreich bestätigt."
|
3631 |
|
3632 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3633 |
msgctxt "shipments"
|
3634 |
msgid "There was an error while confirming the request."
|
3635 |
msgstr "Bei der Bestätigung des Antrags ist ein Fehler aufgetreten."
|
3636 |
|
3637 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3638 |
msgctxt "shipments"
|
3639 |
msgid "There was an error creating the label."
|
3640 |
msgstr "Beim Erstellen des Labels ist ein Fehler aufgetreten."
|
3641 |
|
3642 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3643 |
msgctxt "shipments"
|
3644 |
msgid "There was an error deleting the label."
|
3645 |
msgstr "Beim Löschen des Labels ist ein Fehler aufgetreten."
|
3646 |
|
3647 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3648 |
msgctxt "shipments"
|
3649 |
msgid "There was an error processing the label."
|
3650 |
msgstr "Bei der Verarbeitung des Labels ist ein Fehler aufgetreten."
|
3651 |
|
3652 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3653 |
msgctxt "shipments"
|
3654 |
msgid "There was an error while trying to save the shipping provider status."
|
3655 |
msgstr ""
|
3656 |
"Beim Speichern des Status des Versanddienstleisters trat ein Fehler auf."
|
3657 |
|
3658 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3659 |
msgctxt "shipments"
|
3660 |
msgid "There was an error while trying to delete the shipping provider."
|
3661 |
msgstr "Beim Löschen des Versanddienstleisters trat ein Fehler auf."
|
3662 |
|
3663 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3664 |
msgctxt "shipments"
|
3665 |
msgid "There was an error while bulk processing shipments."
|
3666 |
msgstr ""
|
3667 |
"Bei der Verarbeitung der Mehrfachaktionen von Sendungen trat ein Fehler auf."
|
3668 |
|
3669 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3670 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3671 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3672 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3673 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3674 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3675 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3676 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3677 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3678 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3679 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3680 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
|
|
3681 |
msgctxt "shipments"
|
3682 |
msgid "There was an error processing the shipment"
|
3683 |
msgstr "Fehler bei der Verarbeitung der Sendung"
|
3684 |
|
3685 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3686 |
msgctxt "shipments"
|
3687 |
msgid "There was an error while adding the shipment"
|
3688 |
msgstr "Beim Hinzufügen der Sendung ist ein Fehler aufgetreten"
|
3689 |
|
3690 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3691 |
msgctxt "shipments"
|
3692 |
msgid "This order contains enough shipments already."
|
3693 |
msgstr "Diese Bestellung beinhaltet bereits genug Sendungen."
|
3694 |
|
3695 |
-
#: woocommerce-germanized-shipments/src/Ajax.php:
|
3696 |
msgctxt "shipments"
|
3697 |
msgid "This order contains enough returns already."
|
3698 |
msgstr "Diese Bestellung beinhaltet bereits genügend Retouren."
|
@@ -3879,11 +4499,16 @@ msgid "Quantity."
|
|
3879 |
msgstr "Anzahl."
|
3880 |
|
3881 |
# @ woocommerce-germanized
|
3882 |
-
#: woocommerce-germanized-shipments/src/Automation.php:
|
3883 |
msgctxt "shipments"
|
3884 |
msgid "Order is fully shipped."
|
3885 |
msgstr "Bestellung ist vollständig versandt."
|
3886 |
|
|
|
|
|
|
|
|
|
|
|
3887 |
#: woocommerce-germanized-shipments/src/DataStores/ShipmentItem.php:195
|
3888 |
msgctxt "shipments"
|
3889 |
msgid "Invalid shipment item."
|
@@ -3989,35 +4614,66 @@ msgstr ""
|
|
3989 |
"Es gab ein Problem beim Erstellen der Rücksendung. Bitte kontaktieren Sie "
|
3990 |
"uns für weitere Informationen."
|
3991 |
|
3992 |
-
#: woocommerce-germanized-shipments/src/Install.php:
|
3993 |
msgctxt "shipments"
|
3994 |
msgid "Wrong product or size ordered"
|
3995 |
msgstr "Falsches Produkt oder Größe bestellt"
|
3996 |
|
3997 |
-
#: woocommerce-germanized-shipments/src/Install.php:
|
3998 |
msgctxt "shipments"
|
3999 |
msgid "Product no longer needed"
|
4000 |
msgstr "Produkt wird nicht länger benötigt"
|
4001 |
|
4002 |
-
#: woocommerce-germanized-shipments/src/Install.php:
|
4003 |
msgctxt "shipments"
|
4004 |
msgid "Don't like the look"
|
4005 |
msgstr "Optik nicht wie erwartet"
|
4006 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4007 |
# @ woocommerce-germanized
|
4008 |
-
#: woocommerce-germanized-shipments/src/Package.php:
|
4009 |
msgctxt "shipments"
|
4010 |
msgid "Sorry, this order is invalid and cannot be returned."
|
4011 |
msgstr "Sorry, diese Bestellung existiert nicht."
|
4012 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4013 |
#: woocommerce-germanized-shipments/src/ReturnShipment.php:356
|
4014 |
-
#: woocommerce-germanized-shipments/src/Shipment.php:
|
4015 |
#, php-format
|
4016 |
msgctxt "full name"
|
4017 |
msgid "%1$s %2$s"
|
4018 |
msgstr "%1$s %2$s"
|
4019 |
|
4020 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4021 |
msgctxt "shipments"
|
4022 |
msgid ""
|
4023 |
"Your shipment is being processed by {shipping_provider}. If you want to "
|
@@ -4031,34 +4687,34 @@ msgstr ""
|
|
4031 |
"die Paketverfolgungsdaten zum Zeitpunkt des Erhalts dieser E-Mail noch nicht "
|
4032 |
"den neuesten Stand wiedergeben."
|
4033 |
|
4034 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4035 |
#, php-format
|
4036 |
msgctxt "shipments"
|
4037 |
msgid "%s supports many more options. Explore %s."
|
4038 |
msgstr "%s unterstützt viele weitere Einstellungen. Schauen Sie sich %s an."
|
4039 |
|
4040 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4041 |
#, php-format
|
4042 |
msgctxt "shipments"
|
4043 |
msgid "%s specific settings"
|
4044 |
msgstr "%s spezifische Einstellungen"
|
4045 |
|
4046 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4047 |
msgctxt "shipments"
|
4048 |
msgid "Choose a title for the shipping provider."
|
4049 |
msgstr "Wählen Sie einen Titel für den Versanddienstleister."
|
4050 |
|
4051 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4052 |
msgctxt "shipments"
|
4053 |
msgid "Choose a description for the shipping provider."
|
4054 |
msgstr "Wählen Sie eine Beschreibung für den Versanddienstleister."
|
4055 |
|
4056 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4057 |
msgctxt "shipments"
|
4058 |
msgid "Tracking URL"
|
4059 |
msgstr "Sendungsverfolgung URL"
|
4060 |
|
4061 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4062 |
#, php-format
|
4063 |
msgctxt "shipments"
|
4064 |
msgid ""
|
@@ -4072,12 +4728,12 @@ msgstr ""
|
|
4072 |
"einzufügen: %s"
|
4073 |
|
4074 |
# @ woocommerce-germanized
|
4075 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4076 |
msgctxt "shipments"
|
4077 |
msgid "Tracking description"
|
4078 |
msgstr "Sendungsverfolgung Hinweis"
|
4079 |
|
4080 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4081 |
#, php-format
|
4082 |
msgctxt "shipments"
|
4083 |
msgid ""
|
@@ -4092,17 +4748,17 @@ msgstr ""
|
|
4092 |
"dynamische Daten einzufügen: %s"
|
4093 |
|
4094 |
# @ woocommerce-germanized
|
4095 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4096 |
msgctxt "shipments"
|
4097 |
msgid "Customer returns"
|
4098 |
msgstr "Rücksendungen"
|
4099 |
|
4100 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4101 |
msgctxt "shipments"
|
4102 |
msgid "Allow customers to submit return requests to shipments."
|
4103 |
msgstr "Erlauben Sie Kunden eine Rücksendung zu einer Sendung zu beantragen."
|
4104 |
|
4105 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4106 |
#, php-format
|
4107 |
msgctxt "shipments"
|
4108 |
msgid ""
|
@@ -4116,27 +4772,27 @@ msgstr ""
|
|
4116 |
"Gästen zu erfahren, lesen Sie bitte die %s."
|
4117 |
|
4118 |
# @ woocommerce-germanized
|
4119 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4120 |
msgctxt "shipments"
|
4121 |
msgid "Return Dashboard"
|
4122 |
msgstr "Retouren-Dashboard"
|
4123 |
|
4124 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4125 |
msgctxt "shipments"
|
4126 |
msgid "docs"
|
4127 |
msgstr "Dokumentation"
|
4128 |
|
4129 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4130 |
msgctxt "shipments"
|
4131 |
msgid "Guest returns"
|
4132 |
msgstr "Retouren für Gäste"
|
4133 |
|
4134 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4135 |
msgctxt "shipments"
|
4136 |
msgid "Allow guests to submit return requests to shipments."
|
4137 |
msgstr "Erlauben Sie Gästen Rücksendeanträge zu Bestellungen zu beantragen."
|
4138 |
|
4139 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4140 |
#, php-format
|
4141 |
msgctxt "shipments"
|
4142 |
msgid ""
|
@@ -4150,18 +4806,18 @@ msgstr ""
|
|
4150 |
"Rücksende-Formular für Gäste auf Ihrer Seite zu platzieren."
|
4151 |
|
4152 |
# @ woocommerce-germanized
|
4153 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4154 |
msgctxt "shipments"
|
4155 |
msgid "Manual confirmation"
|
4156 |
msgstr "Manuelle Bestätigung"
|
4157 |
|
4158 |
# @ woocommerce-germanized
|
4159 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4160 |
msgctxt "shipments"
|
4161 |
msgid "Return requests need manual confirmation."
|
4162 |
msgstr "Rücksendeanträge benötigen eine manuelle Bestätigung."
|
4163 |
|
4164 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4165 |
msgctxt "shipments"
|
4166 |
msgid ""
|
4167 |
"By default return request need manual confirmation e.g. a shop manager needs "
|
@@ -4178,12 +4834,12 @@ msgstr ""
|
|
4178 |
"Mail-Bestätigung samt Retouren-Label."
|
4179 |
|
4180 |
# @ woocommerce-germanized
|
4181 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4182 |
msgctxt "shipments"
|
4183 |
msgid "Return instructions"
|
4184 |
msgstr "Rücksende-Anweisungen"
|
4185 |
|
4186 |
-
#: woocommerce-germanized-shipments/src/ShippingProvider.php:
|
4187 |
msgctxt "shipments"
|
4188 |
msgid ""
|
4189 |
"Provide your customer with instructions on how to return the shipment after "
|
@@ -4561,7 +5217,7 @@ msgstr "l"
|
|
4561 |
# @ woocommerce-germanized
|
4562 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:549
|
4563 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:559
|
4564 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
4565 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:546
|
4566 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:554
|
4567 |
msgid "incl. VAT"
|
@@ -4574,7 +5230,7 @@ msgstr "exkl. MwSt."
|
|
4574 |
|
4575 |
# @ woocommerce-germanized
|
4576 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:551
|
4577 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
4578 |
#, php-format
|
4579 |
msgid "incl. %s%% VAT"
|
4580 |
msgstr "inkl. %s %% MwSt."
|
@@ -4816,9 +5472,9 @@ msgstr "Germanize"
|
|
4816 |
# @ woocommerce-germanized
|
4817 |
# @ woocommerce
|
4818 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:73
|
4819 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4820 |
#: woocommerce-germanized/includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:79
|
4821 |
-
#: woocommerce-germanized/woocommerce-germanized.php:
|
4822 |
msgid "Settings"
|
4823 |
msgstr "Einstellungen"
|
4824 |
|
@@ -4835,66 +5491,71 @@ msgid "Start tutorial"
|
|
4835 |
msgstr "Tutorial starten"
|
4836 |
|
4837 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:92
|
4838 |
-
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:33
|
4839 |
#: woocommerce-germanized/includes/admin/views/setup/dhl.php:10
|
4840 |
msgid "DHL"
|
4841 |
msgstr "DHL"
|
4842 |
|
4843 |
# @ woocommerce-germanized
|
4844 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:100
|
|
|
4845 |
msgid "Import settings"
|
4846 |
msgstr "Einstellungen importieren"
|
4847 |
|
|
|
|
|
|
|
|
|
|
|
4848 |
# @ woocommerce-germanized
|
4849 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4850 |
msgid "Pages"
|
4851 |
msgstr "Rechtlich relevante Seiten"
|
4852 |
|
4853 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4854 |
msgid "Create legal pages placeholders e.g. terms & conditions."
|
4855 |
msgstr "Legen Sie rechtlich relevante Seiten an, z.B. AGB."
|
4856 |
|
4857 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4858 |
msgid "Germanize WooCommerce settings (e.g. currency, tax display)."
|
4859 |
msgstr "WooCommerce Einstellungen eindeutschen (z.B. Währung)"
|
4860 |
|
4861 |
# @ woocommerce-germanized
|
4862 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4863 |
msgctxt "install"
|
4864 |
msgid "VAT"
|
4865 |
msgstr "USt."
|
4866 |
|
4867 |
# @ woocommerce-germanized
|
4868 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4869 |
msgid "Let Germanized insert EU VAT rates."
|
4870 |
msgstr "Lassen Sie Germanized EU-Steuersätze importieren."
|
4871 |
|
4872 |
# @ woocommerce-germanized
|
4873 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4874 |
msgctxt "install"
|
4875 |
msgid "Virtual VAT"
|
4876 |
msgstr "Virtuelle USt."
|
4877 |
|
4878 |
# @ woocommerce-germanized
|
4879 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4880 |
msgid "Let Germanized insert virtual EU VAT rates."
|
4881 |
msgstr "Lassen Sie Germanized virtuelle EU-Steuersätze importieren."
|
4882 |
|
4883 |
# @ woocommerce-germanized
|
4884 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4885 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:202
|
4886 |
#: woocommerce-germanized/includes/admin/views/html-page-status-germanized.php:43
|
4887 |
msgid "Small-Enterprise-Regulation"
|
4888 |
msgstr "Kleinunternehmerregelung"
|
4889 |
|
4890 |
# @ woocommerce-germanized
|
4891 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4892 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:203
|
4893 |
msgid "VAT based on §19 UStG"
|
4894 |
msgstr "Umsatzsteuerbefreit nach §19 UStG"
|
4895 |
|
4896 |
# @ woocommerce-germanized
|
4897 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4898 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:203
|
4899 |
#, php-format
|
4900 |
msgid ""
|
@@ -4906,18 +5567,18 @@ msgstr ""
|
|
4906 |
"Gebrauch machen wollen."
|
4907 |
|
4908 |
# @ woocommerce-germanized
|
4909 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4910 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:21
|
4911 |
msgid "Double Opt In"
|
4912 |
msgstr "Double-Opt-In"
|
4913 |
|
4914 |
# @ woocommerce-germanized
|
4915 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4916 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:38
|
4917 |
msgid "Enable customer double opt in during registration."
|
4918 |
msgstr "Double-Opt-In Verfahren für Kundenkonten aktivieren."
|
4919 |
|
4920 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4921 |
#, php-format
|
4922 |
msgid ""
|
4923 |
"Sends an email to the customer after registration to verify his account. "
|
@@ -4931,25 +5592,25 @@ msgstr ""
|
|
4931 |
"\">Einstellungen</a> können nachträglich angepasst werden."
|
4932 |
|
4933 |
# @ woocommerce-germanized
|
4934 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4935 |
msgid "Setup"
|
4936 |
msgstr "Setup"
|
4937 |
|
4938 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4939 |
msgid "Germanized › Setup Wizard"
|
4940 |
msgstr "Germanized › Setup"
|
4941 |
|
4942 |
# @ woocommerce-germanized
|
4943 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4944 |
msgid "Skip Step"
|
4945 |
msgstr "Schritt überspringen"
|
4946 |
|
4947 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4948 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4949 |
msgid "Continue"
|
4950 |
msgstr "Weiter"
|
4951 |
|
4952 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:
|
4953 |
msgid "Return to WP Admin"
|
4954 |
msgstr "Zurück zu WP Admin"
|
4955 |
|
@@ -4998,7 +5659,7 @@ msgid "Welcome to Germanized"
|
|
4998 |
msgstr "Willkommen bei Germanized"
|
4999 |
|
5000 |
# @ woocommerce-germanized
|
5001 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-welcome.php:
|
5002 |
msgid "Go to Germanized Settings"
|
5003 |
msgstr "Germanized Einstellungen"
|
5004 |
|
@@ -5016,6 +5677,8 @@ msgstr "Germanized Einstellungen"
|
|
5016 |
#: woocommerce-germanized/includes/class-wc-gzd-dependencies.php:65
|
5017 |
#: woocommerce-germanized/includes/class-wc-gzd-hook-priorities.php:35
|
5018 |
#: woocommerce-germanized/includes/class-wc-gzd-hook-priorities.php:44
|
|
|
|
|
5019 |
#: woocommerce-germanized/includes/class-wc-gzd-product-attribute-helper.php:21
|
5020 |
#: woocommerce-germanized/includes/class-wc-gzd-product-attribute-helper.php:30
|
5021 |
#: woocommerce-germanized/includes/export/class-wc-gzd-product-export.php:23
|
@@ -5027,55 +5690,57 @@ msgstr "Germanized Einstellungen"
|
|
5027 |
msgid "Cheatin’ huh?"
|
5028 |
msgstr "So geht das leider nicht.."
|
5029 |
|
5030 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
|
|
5031 |
msgctxt "dhl"
|
5032 |
msgid "Action failed. Please refresh the page and retry."
|
5033 |
msgstr ""
|
5034 |
"Aktion fehlgeschlagen. Bitte aktualisieren Sie die Seite und versuchen es "
|
5035 |
"erneut."
|
5036 |
|
5037 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
|
|
5038 |
msgctxt "dhl"
|
5039 |
msgid "You don't have permission to do this."
|
5040 |
msgstr "Sie sind leider nicht berechtigt, diese Aktion durchzuführen."
|
5041 |
|
5042 |
# @ woocommerce-germanized
|
5043 |
#. Plugin Name of the plugin/theme
|
5044 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5045 |
msgid "Germanized for WooCommerce"
|
5046 |
msgstr "Germanized für WooCommerce"
|
5047 |
|
5048 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5049 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:45
|
5050 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:58
|
5051 |
msgid "Yes"
|
5052 |
msgstr "Ja"
|
5053 |
|
5054 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5055 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:58
|
5056 |
msgid "No"
|
5057 |
msgstr "Nein"
|
5058 |
|
5059 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5060 |
msgid "Paid for order notification manually sent to customer."
|
5061 |
msgstr "Bestellung bezahlt manuell an den Kunden versendet."
|
5062 |
|
5063 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5064 |
msgid "Order confirmation manually sent to customer."
|
5065 |
msgstr "Bestellbestätigung manuell an den Kunden versendet."
|
5066 |
|
5067 |
# @ woocommerce-germanized
|
5068 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5069 |
msgid "Resend order confirmation"
|
5070 |
msgstr "Bestellbestätigung erneut versenden"
|
5071 |
|
5072 |
# @ woocommerce-germanized
|
5073 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5074 |
msgid "Send paid for order notification"
|
5075 |
msgstr "Bestellung bezahlt manuell versenden"
|
5076 |
|
5077 |
# @ woocommerce-germanized
|
5078 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5079 |
#: woocommerce-germanized/includes/admin/settings/abstract-wc-gzd-settings-tab.php:114
|
5080 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-germanized.php:23
|
5081 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:9
|
@@ -5083,38 +5748,38 @@ msgstr "Bestellung bezahlt manuell versenden"
|
|
5083 |
msgid "Germanized"
|
5084 |
msgstr "Germanized"
|
5085 |
|
5086 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5087 |
msgid "Parcel Delivery Data Transfer:"
|
5088 |
msgstr "Paketdienstleister Datenweitergabe:"
|
5089 |
|
5090 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5091 |
msgid "allowed"
|
5092 |
msgstr "akzeptiert"
|
5093 |
|
5094 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5095 |
msgid "not allowed"
|
5096 |
msgstr "nicht akzeptiert"
|
5097 |
|
5098 |
# @ woocommerce-germanized
|
5099 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5100 |
msgid "Optional Email Content"
|
5101 |
msgstr "Optionaler E-Mail Inhalt"
|
5102 |
|
5103 |
# @ woocommerce-germanized
|
5104 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5105 |
msgid "Add content which will be replacing default page content within emails."
|
5106 |
msgstr ""
|
5107 |
"Füllen Sie dieses Feld aus um einen abweichenden E-Mail Anhangstext für "
|
5108 |
"diese Seite zu bestimmen."
|
5109 |
|
5110 |
# @ woocommerce-germanized
|
5111 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5112 |
#: woocommerce-germanized/includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:152
|
5113 |
msgid "Optional Mini Description"
|
5114 |
msgstr "Warenkorb Kurzbeschreibung"
|
5115 |
|
5116 |
# @ woocommerce-germanized
|
5117 |
-
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:
|
5118 |
msgid ""
|
5119 |
"This content will be shown as short product description within checkout and "
|
5120 |
"emails."
|
@@ -5337,6 +6002,7 @@ msgstr ""
|
|
5337 |
"Einstellungen importieren."
|
5338 |
|
5339 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:35
|
|
|
5340 |
msgctxt "dhl"
|
5341 |
msgid "No need to use an external plugin which might lead to incompatibilities"
|
5342 |
msgstr ""
|
@@ -5344,6 +6010,7 @@ msgstr ""
|
|
5344 |
"bessere Performance"
|
5345 |
|
5346 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:36
|
|
|
5347 |
#, php-format
|
5348 |
msgctxt "dhl"
|
5349 |
msgid ""
|
@@ -5354,6 +6021,7 @@ msgstr ""
|
|
5354 |
"Services pro Versandart und %s"
|
5355 |
|
5356 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:36
|
|
|
5357 |
msgctxt "dhl"
|
5358 |
msgid "many more"
|
5359 |
msgstr "und viele mehr"
|
@@ -5367,15 +6035,47 @@ msgstr ""
|
|
5367 |
"für Sendungen und Retouren"
|
5368 |
|
5369 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:47
|
|
|
5370 |
msgctxt "dhl"
|
5371 |
msgid "Import settings and activate"
|
5372 |
msgstr "Einstellungen importieren und loslegen"
|
5373 |
|
5374 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:53
|
|
|
5375 |
msgctxt "dhl"
|
5376 |
msgid "Learn more"
|
5377 |
msgstr "Mehr erfahren"
|
5378 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5379 |
# @ woocommerce-germanized
|
5380 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-pro.php:23
|
5381 |
msgid "For professionals: Upgrade to Pro-Version"
|
@@ -5530,11 +6230,11 @@ msgstr ""
|
|
5530 |
msgid "Run the updater"
|
5531 |
msgstr "Update starten"
|
5532 |
|
5533 |
-
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note.php:
|
5534 |
msgid "Not now"
|
5535 |
msgstr "Nicht jetzt"
|
5536 |
|
5537 |
-
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note.php:
|
5538 |
msgctxt "woocommerce-germanized"
|
5539 |
msgid "Deactivate"
|
5540 |
msgstr "Deaktivieren"
|
@@ -5571,6 +6271,7 @@ msgid "Upgrade now"
|
|
5571 |
msgstr "Jetzt upgraden"
|
5572 |
|
5573 |
#: woocommerce-germanized/includes/admin/settings/abstract-wc-gzd-settings-tab.php:152
|
|
|
5574 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-invoices.php:61
|
5575 |
msgid "Learn more"
|
5576 |
msgstr "Mehr erfahren"
|
@@ -5591,7 +6292,7 @@ msgstr ""
|
|
5591 |
|
5592 |
# @ woocommerce-germanized
|
5593 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-pointers.php:92
|
5594 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
5595 |
msgid "Status"
|
5596 |
msgstr "Status"
|
5597 |
|
@@ -5875,7 +6576,7 @@ msgstr ""
|
|
5875 |
"Checkbox bearbeiten indem Sie auf den Link klicken."
|
5876 |
|
5877 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-checkboxes.php:62
|
5878 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
5879 |
msgid "Label"
|
5880 |
msgstr "Beschriftung"
|
5881 |
|
@@ -5945,17 +6646,14 @@ msgid "pro"
|
|
5945 |
msgstr "pro"
|
5946 |
|
5947 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:19
|
5948 |
-
msgid ""
|
5949 |
-
"Integrate DHL Services such as Labels for Shipments and Returns and Delivery "
|
5950 |
-
"to Packstations."
|
5951 |
msgstr ""
|
5952 |
-
"
|
5953 |
"Admin-Panel."
|
5954 |
|
5955 |
-
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:
|
5956 |
-
|
5957 |
-
|
5958 |
-
msgstr "Noch kein Geschäftskunde?"
|
5959 |
|
5960 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:17
|
5961 |
msgid "Extend the WooCommerce registration process with a double opt in."
|
@@ -6109,8 +6807,8 @@ msgstr ""
|
|
6109 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-customers-controller.php:144
|
6110 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-orders-controller.php:138
|
6111 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-orders-controller.php:145
|
6112 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
6113 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
6114 |
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:131
|
6115 |
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:139
|
6116 |
msgid "Title"
|
@@ -6578,7 +7276,7 @@ msgstr ""
|
|
6578 |
"Platzhalter für den höchsten Preis."
|
6579 |
|
6580 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:294
|
6581 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
6582 |
msgid "{min_price} – {max_price}"
|
6583 |
msgstr "{min_price} – {max_price}"
|
6584 |
|
@@ -7199,6 +7897,7 @@ msgstr "Steuern"
|
|
7199 |
|
7200 |
# @ woocommerce-germanized
|
7201 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-taxes.php:30
|
|
|
7202 |
msgid "VAT"
|
7203 |
msgstr "Umsatzsteuer"
|
7204 |
|
@@ -7453,14 +8152,14 @@ msgstr ""
|
|
7453 |
# @ woocommerce-germanized
|
7454 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:11
|
7455 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:27
|
7456 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
7457 |
msgid "Name"
|
7458 |
msgstr "Name"
|
7459 |
|
7460 |
# @ woocommerce-germanized
|
7461 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:12
|
7462 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:29
|
7463 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
7464 |
#: woocommerce-germanized/includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php:888
|
7465 |
#: woocommerce-germanized/includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:124
|
7466 |
msgid "Description"
|
@@ -7473,7 +8172,7 @@ msgstr "Aktiviert"
|
|
7473 |
|
7474 |
# @ woocommerce-germanized
|
7475 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:14
|
7476 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
7477 |
msgid "Mandatory"
|
7478 |
msgstr "Pflichtfeld"
|
7479 |
|
@@ -7849,6 +8548,26 @@ msgstr ""
|
|
7849 |
"Lassen Sie Germanized Ihre WooCommerce-Einstellungen speziell für %s "
|
7850 |
"anpassen."
|
7851 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7852 |
# @ woocommerce-germanized
|
7853 |
#: woocommerce-germanized/includes/admin/views/setup/settings.php:7
|
7854 |
msgid "Adjust Germanized"
|
@@ -8099,31 +8818,31 @@ msgid "Number of published products for the resource."
|
|
8099 |
msgstr "Anzahl der veröffentlichten Produkte für die Ressource."
|
8100 |
|
8101 |
# @ woocommerce-germanized
|
8102 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8103 |
#, php-format
|
8104 |
msgid "%s [new]"
|
8105 |
msgstr "%s [neu]"
|
8106 |
|
8107 |
# @ woocommerce-germanized
|
8108 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8109 |
msgctxt "revocation-form"
|
8110 |
msgid "is not a valid email address."
|
8111 |
msgstr "ist leider keine valide E-Mail Adresse."
|
8112 |
|
8113 |
# @ woocommerce-germanized
|
8114 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8115 |
msgctxt "revocation-form"
|
8116 |
msgid "Please enter a valid postcode/ZIP"
|
8117 |
msgstr "Bitte geben Sie eine echte Postleitzahl ein"
|
8118 |
|
8119 |
# @ woocommerce-germanized
|
8120 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8121 |
msgctxt "revocation-form"
|
8122 |
msgid "is not valid."
|
8123 |
msgstr "ist leider nicht korrekt."
|
8124 |
|
8125 |
# @ woocommerce-germanized
|
8126 |
-
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:
|
8127 |
msgctxt "revocation-form"
|
8128 |
msgid ""
|
8129 |
"Thank you. We have received your Revocation Request. You will receive a "
|
@@ -8132,7 +8851,7 @@ msgstr ""
|
|
8132 |
"Vielen Dank. Wir haben Ihren Widerruf erhalten. Sie bekommen in Kürze eine E-"
|
8133 |
"Mail mit Ihren Daten als Bestätigung."
|
8134 |
|
8135 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
8136 |
msgid ""
|
8137 |
"Sorry, but differential taxed products cannot be purchased with normal "
|
8138 |
"products at the same time."
|
@@ -8140,7 +8859,7 @@ msgstr ""
|
|
8140 |
"Entschuldigung, differenzbesteuerte Produkte können nicht gemeinsam mit "
|
8141 |
"normalen Produkten gekauft werden."
|
8142 |
|
8143 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
8144 |
msgid ""
|
8145 |
"Sorry, but normal products cannot be purchased together with differential "
|
8146 |
"taxed products at the same time."
|
@@ -8149,23 +8868,23 @@ msgstr ""
|
|
8149 |
"differenzbesteuerten Produkten gekauft werden."
|
8150 |
|
8151 |
# @ woocommerce-germanized
|
8152 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
8153 |
#: woocommerce-germanized/includes/class-wc-gzd-revocation.php:52
|
8154 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
8155 |
msgid "Mr."
|
8156 |
msgstr "Herr"
|
8157 |
|
8158 |
# @ woocommerce-germanized
|
8159 |
-
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:
|
8160 |
msgctxt "customer-title-male-address"
|
8161 |
msgid "Mr."
|
8162 |
msgstr "Herrn"
|
8163 |
|
8164 |
-
#: woocommerce-germanized/includes/class-wc-gzd-coupon-helper.php:
|
8165 |
msgid "Is voucher?"
|
8166 |
msgstr "Wertgutschein?"
|
8167 |
|
8168 |
-
#: woocommerce-germanized/includes/class-wc-gzd-coupon-helper.php:
|
8169 |
#, php-format
|
8170 |
msgid ""
|
8171 |
"Whether or not this coupon is a voucher which has been sold to a customer "
|
@@ -8216,29 +8935,29 @@ msgstr "Sorry, dieser Aktivierungscode ist uns leider nicht bekannt."
|
|
8216 |
msgid "Thank you. You have successfully activated your account."
|
8217 |
msgstr "Vielen Dank. Ihr Benutzerkonto wurde erfolgreich aktiviert."
|
8218 |
|
8219 |
-
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:
|
8220 |
msgid "Expired activation key"
|
8221 |
msgstr "Abgelaufener Aktivierungscode"
|
8222 |
|
8223 |
-
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:
|
8224 |
msgid "Invalid activation key"
|
8225 |
msgstr "Aktivierungscode ungültig"
|
8226 |
|
8227 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8228 |
msgid "BCC recipients"
|
8229 |
msgstr "BCC Empfänger"
|
8230 |
|
8231 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8232 |
msgid "Enter blind-copy recipients (comma separated) for this email."
|
8233 |
msgstr ""
|
8234 |
"Fügen Sie Empfänger (kommasepariert) einer Blindkopie für diese E-Mail ein."
|
8235 |
|
8236 |
# @ woocommerce-germanized
|
8237 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8238 |
msgid "Confirmation text"
|
8239 |
msgstr "Bestätigung Text"
|
8240 |
|
8241 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8242 |
msgid ""
|
8243 |
"Your order has been received and is now being processed. Your order details "
|
8244 |
"are shown below for your reference:"
|
@@ -8247,7 +8966,7 @@ msgstr ""
|
|
8247 |
"Ihrer Bestellung können Sie der nachfolgenden Tabelle entnehmen:"
|
8248 |
|
8249 |
# @ woocommerce-germanized
|
8250 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8251 |
msgid ""
|
8252 |
"This text will be inserted within the order confirmation email. Use "
|
8253 |
"{order_number}, {site_title} or {order_date} as placeholder."
|
@@ -8255,7 +8974,7 @@ msgstr ""
|
|
8255 |
"Dieser Text wird in die Bestellbestätigung eingefügt. Verwenden Sie "
|
8256 |
"{order_number}, {site_title} oder {order_date} als Platzhalter."
|
8257 |
|
8258 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8259 |
msgid ""
|
8260 |
"Your order has been received and is now being processed. Your order details "
|
8261 |
"are shown below for your reference."
|
@@ -8263,17 +8982,17 @@ msgstr ""
|
|
8263 |
"Ihre Bestellung ist eingegangen und wird nun bearbeitet. Die Einzelheiten "
|
8264 |
"Ihrer Bestellung können Sie der nachfolgenden Tabelle entnehmen."
|
8265 |
|
8266 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8267 |
msgid "Someone requested a password reset for your account."
|
8268 |
msgstr "Jemand hat das Zurücksetzen des Passworts für Ihren Account beantragt."
|
8269 |
|
8270 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8271 |
#, php-format
|
8272 |
msgid "Thanks for creating an account on %s."
|
8273 |
msgstr "Danke, dass Sie ein Konto bei %s erstellt haben."
|
8274 |
|
8275 |
# @ woocommerce-germanized
|
8276 |
-
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:
|
8277 |
msgctxt "revocation-form"
|
8278 |
msgid "Forward your Revocation online"
|
8279 |
msgstr "Widerruf online erklären"
|
@@ -8288,85 +9007,85 @@ msgstr ""
|
|
8288 |
"Bitte installieren Sie <a href=\"%s\" target=\"_blank\">WooCommerce</a> "
|
8289 |
"bevor Sie WooCommerce Germanized installieren. Vielen Dank!"
|
8290 |
|
8291 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8292 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8293 |
msgid "Reduced rate"
|
8294 |
msgstr "Ermäßigter Steuersatz"
|
8295 |
|
8296 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8297 |
#, php-format
|
8298 |
msgctxt "vat-rate-import"
|
8299 |
msgid "VAT %s"
|
8300 |
msgstr "MwSt. %s"
|
8301 |
|
8302 |
# @ woocommerce-germanized
|
8303 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8304 |
msgctxt "Page slug"
|
8305 |
msgid "data-security"
|
8306 |
msgstr "datenschutzerklaerung"
|
8307 |
|
8308 |
# @ woocommerce-germanized
|
8309 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8310 |
msgctxt "Page title"
|
8311 |
msgid "Data Security Statement"
|
8312 |
msgstr "Datenschutzerklärung"
|
8313 |
|
8314 |
# @ woocommerce-germanized
|
8315 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8316 |
msgctxt "Page slug"
|
8317 |
msgid "imprint"
|
8318 |
msgstr "impressum"
|
8319 |
|
8320 |
# @ woocommerce-germanized
|
8321 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8322 |
msgctxt "Page title"
|
8323 |
msgid "Imprint"
|
8324 |
msgstr "Impressum"
|
8325 |
|
8326 |
# @ woocommerce-germanized
|
8327 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8328 |
msgctxt "Page slug"
|
8329 |
msgid "terms"
|
8330 |
msgstr "agb"
|
8331 |
|
8332 |
# @ woocommerce-germanized
|
8333 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8334 |
msgctxt "Page title"
|
8335 |
msgid "Terms & Conditions"
|
8336 |
msgstr "AGB"
|
8337 |
|
8338 |
# @ woocommerce-germanized
|
8339 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8340 |
msgctxt "Page slug"
|
8341 |
msgid "revocation"
|
8342 |
msgstr "widerrufsbelehrung"
|
8343 |
|
8344 |
# @ woocommerce-germanized
|
8345 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8346 |
msgctxt "Page title"
|
8347 |
msgid "Power of Revocation"
|
8348 |
msgstr "Widerrufsbelehrung"
|
8349 |
|
8350 |
# @ woocommerce-germanized
|
8351 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8352 |
msgctxt "Page slug"
|
8353 |
msgid "shipping-methods"
|
8354 |
msgstr "versandarten"
|
8355 |
|
8356 |
# @ woocommerce-germanized
|
8357 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8358 |
msgctxt "Page title"
|
8359 |
msgid "Shipping Methods"
|
8360 |
msgstr "Versandarten"
|
8361 |
|
8362 |
# @ woocommerce-germanized
|
8363 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8364 |
msgctxt "Page slug"
|
8365 |
msgid "payment-methods"
|
8366 |
msgstr "bezahlmoeglichkeiten"
|
8367 |
|
8368 |
# @ woocommerce-germanized
|
8369 |
-
#: woocommerce-germanized/includes/class-wc-gzd-install.php:
|
8370 |
msgctxt "Page title"
|
8371 |
msgid "Payment Methods"
|
8372 |
msgstr "Zahlungsarten"
|
@@ -8585,12 +9304,18 @@ msgstr "Kontrollieren Sie bitte %s. Hier fehlt eine Einwilligung."
|
|
8585 |
msgid "Checkbox with name %s does already exist."
|
8586 |
msgstr "Eine Checkbox mit dem Namen %s existiert bereits."
|
8587 |
|
|
|
|
|
|
|
|
|
|
|
|
|
8588 |
# @ woocommerce-germanized
|
8589 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8590 |
msgid "Enable checkbox"
|
8591 |
msgstr "Checkbox aktivieren"
|
8592 |
|
8593 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8594 |
msgid ""
|
8595 |
"Choose a name to identify your checkbox. Upon creating a new checkbox, this "
|
8596 |
"value is being used to generate the Id."
|
@@ -8598,11 +9323,11 @@ msgstr ""
|
|
8598 |
"Wähle einen Namen um die Checkbox zu identifizieren. Bei Erstellung einer "
|
8599 |
"neuen Checkbox wird dieser Wert verwendet um eine Id zu erstellen."
|
8600 |
|
8601 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8602 |
msgid "Id"
|
8603 |
msgstr "Id"
|
8604 |
|
8605 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8606 |
msgid ""
|
8607 |
"The checkbox Id is the unique indentifier which is used to identify the "
|
8608 |
"checkbox within the code. Cannot be edited after creating the checkbox."
|
@@ -8611,26 +9336,26 @@ msgstr ""
|
|
8611 |
"Code heraus zugreifbar zu machen. Kann nach dem Erstellen einer Checkbox "
|
8612 |
"nicht mehr verändert werden."
|
8613 |
|
8614 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8615 |
msgid "Describe the use case of your checkbox."
|
8616 |
msgstr "Beschreibe hier den Use-Case der Checkbox."
|
8617 |
|
8618 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8619 |
msgid "Choose a label to be inserted next to the checkbox."
|
8620 |
msgstr ""
|
8621 |
"Wählen Sie eine Beschriftung aus, die neben der Checkbox platziert wird."
|
8622 |
|
8623 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8624 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8625 |
#, php-format
|
8626 |
msgid "You may use one of the following placeholders within the text: %s"
|
8627 |
msgstr "Sie können einen der folgenden Platzhalter im Text verwenden: %s"
|
8628 |
|
8629 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8630 |
msgid "Error Message"
|
8631 |
msgstr "Fehlermeldung"
|
8632 |
|
8633 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8634 |
msgid ""
|
8635 |
"Choose an error message to be shown when the user has not confirmed the "
|
8636 |
"checkbox."
|
@@ -8639,25 +9364,25 @@ msgstr ""
|
|
8639 |
"Nutzer die Checkbox nicht bestätigt hat."
|
8640 |
|
8641 |
# @ woocommerce-germanized
|
8642 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8643 |
msgid "Hide input"
|
8644 |
msgstr "Ausblenden"
|
8645 |
|
8646 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8647 |
msgid "Do only show a label and hide the actual checkbox."
|
8648 |
msgstr ""
|
8649 |
"Zeige lediglich die Beschriftung und entferne die eigentliche Checkbox."
|
8650 |
|
8651 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8652 |
msgid "Mark the checkbox as mandatory."
|
8653 |
msgstr "Checkbox zum Pflichtfeld machen."
|
8654 |
|
8655 |
# @ woocommerce-germanized
|
8656 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8657 |
msgid "Locations"
|
8658 |
msgstr "Orte"
|
8659 |
|
8660 |
-
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:
|
8661 |
msgid "Choose where to display your checkbox."
|
8662 |
msgstr "Wählen Sie einen Ort aus, an dem die Checkbox platziert werden soll."
|
8663 |
|
@@ -8934,8 +9659,8 @@ msgstr "Anrede"
|
|
8934 |
|
8935 |
# @ woocommerce-germanized
|
8936 |
#: woocommerce-germanized/includes/class-wc-gzd-revocation.php:53
|
8937 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
8938 |
-
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:
|
8939 |
msgid "Ms."
|
8940 |
msgstr "Frau"
|
8941 |
|
@@ -9796,6 +10521,24 @@ msgstr "Widerrufsrecht"
|
|
9796 |
msgid "Data Security"
|
9797 |
msgstr "Datenschutzerklärung"
|
9798 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9799 |
# @ woocommerce-germanized
|
9800 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:225
|
9801 |
#: woocommerce-germanized/templates/checkout/edit-data-notice.php:25
|
@@ -10149,7 +10892,7 @@ msgctxt "revocation-form"
|
|
10149 |
msgid "Forward Revocation"
|
10150 |
msgstr "Widerruf erklären"
|
10151 |
|
10152 |
-
#: woocommerce-germanized/templates/global/complaints.php:
|
10153 |
msgid ""
|
10154 |
"Alternative Dispute Resolution in accordance with Art. 14 (1) ODR-VO and § "
|
10155 |
"36 VSBG:"
|
@@ -10171,7 +10914,7 @@ msgstr "Germanized benötigt mindestens PHP 5.6. Bitte %s Sie Ihre PHP-Version."
|
|
10171 |
msgid "upgrade"
|
10172 |
msgstr "aktualisieren"
|
10173 |
|
10174 |
-
#: woocommerce-germanized/woocommerce-germanized.php:
|
10175 |
#, php-format
|
10176 |
msgid ""
|
10177 |
"This version of the Corona Helper Plugin includes a bug which could lead to "
|
@@ -11425,6 +12168,29 @@ msgstr "vendidero"
|
|
11425 |
msgid "https://vendidero.de"
|
11426 |
msgstr "https://vendidero.de"
|
11427 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11428 |
#~ msgid "PDF Layout"
|
11429 |
#~ msgstr "PDF Layout"
|
11430 |
|
@@ -11677,10 +12443,6 @@ msgstr "https://vendidero.de"
|
|
11677 |
#~ msgid "Invalid shipment"
|
11678 |
#~ msgstr "Ungültige Sendung"
|
11679 |
|
11680 |
-
#~ msgctxt "dhl"
|
11681 |
-
#~ msgid "Tracking"
|
11682 |
-
#~ msgstr "Sendungsverfolgung"
|
11683 |
-
|
11684 |
#, php-format
|
11685 |
#~ msgctxt "dhl"
|
11686 |
#~ msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: WooCommerce Germanized\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2020-12-07 11:56+0100\n"
|
6 |
+
"PO-Revision-Date: 2020-12-07 11:56+0100\n"
|
7 |
"Last-Translator: holzhannes <holzhannes@posteo.de>\n"
|
8 |
"Language-Team: \n"
|
9 |
"Language: de_DE@formal\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
14 |
+
"X-Generator: Poedit 2.4.2\n"
|
15 |
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
17 |
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
|
39 |
"X-Poedit-SearchPathExcluded-12: woocommerce-trusted-shops/build\n"
|
40 |
"X-Poedit-SearchPathExcluded-13: woocommerce-germanized/assets\n"
|
41 |
|
42 |
+
# @ woocommerce-germanized
|
43 |
+
#: woocommerce-germanized-dhl/includes/admin/views/html-deutsche-post-additional-services.php:14
|
44 |
+
msgctxt "dhl"
|
45 |
+
msgid "Additional Services"
|
46 |
+
msgstr "Zusätzliche Leistungen"
|
47 |
+
|
48 |
+
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-deutsche-post-label-backbone-form.php:30
|
49 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:494
|
50 |
+
#, php-format
|
51 |
+
msgid ""
|
52 |
+
"Sorry but none of your selected <a href=\"%s\">Deutsche Post Products</a> is "
|
53 |
+
"available for this shipment. Please verify your shipment data (e.g. weight) "
|
54 |
+
"and try again."
|
55 |
+
msgstr ""
|
56 |
+
"Leider sind keine der von Ihnen ausgewählten <a href=\"%s\">Deutsche Post "
|
57 |
+
"Produkte</a> verfügbar für diese Sendung. Bitte prüfen Sie die Sendungsdaten "
|
58 |
+
"(z.B. Gewicht) und versuchen Sie es erneut."
|
59 |
+
|
60 |
+
# @ woocommerce-germanized
|
61 |
+
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-deutsche-post-label-backbone-form.php:37
|
62 |
+
msgctxt "dhl"
|
63 |
+
msgid "Product"
|
64 |
+
msgstr "Produkt"
|
65 |
+
|
66 |
+
# @ woocommerce-germanized
|
67 |
+
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-deutsche-post-label-backbone-form.php:55
|
68 |
+
msgctxt "dhl"
|
69 |
+
msgid "Page Format"
|
70 |
+
msgstr "Seitenformat"
|
71 |
+
|
72 |
# @ woocommerce-germanized
|
73 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:18
|
74 |
msgctxt "dhl"
|
86 |
msgstr "Zollabgabe"
|
87 |
|
88 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:65
|
89 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:141
|
90 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:974
|
91 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:29
|
92 |
msgctxt "dhl"
|
93 |
msgid "Preferred Day"
|
101 |
|
102 |
# @ woocommerce-germanized
|
103 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:87
|
104 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:169
|
105 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:994
|
106 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:43
|
107 |
msgctxt "dhl"
|
108 |
msgid "Preferred Location"
|
109 |
msgstr "Wunschort"
|
110 |
|
111 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:98
|
112 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1002
|
113 |
#: woocommerce-germanized-dhl/src/ParcelServices.php:48
|
114 |
msgctxt "dhl"
|
115 |
msgid "Preferred Neighbor"
|
122 |
|
123 |
# @ woocommerce-germanized
|
124 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:121
|
125 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:761
|
126 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:830
|
127 |
msgctxt "dhl"
|
128 |
msgid "Name"
|
129 |
msgstr "Name"
|
130 |
|
131 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:130
|
132 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:768
|
133 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:837
|
134 |
msgctxt "dhl"
|
135 |
msgid "Company"
|
136 |
msgstr "Firma"
|
137 |
|
138 |
# @ woocommerce-germanized
|
139 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:139
|
140 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:590
|
141 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:775
|
142 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:844
|
143 |
msgctxt "dhl"
|
144 |
msgid "Street"
|
145 |
msgstr "Straße"
|
152 |
|
153 |
# @ woocommerce-germanized
|
154 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:159
|
155 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:591
|
156 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:796
|
157 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:865
|
158 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:27
|
159 |
msgctxt "dhl"
|
160 |
msgid "Postcode"
|
162 |
|
163 |
# @ woocommerce-germanized
|
164 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:168
|
165 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:592
|
166 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:789
|
167 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:858
|
168 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:30
|
169 |
msgctxt "dhl"
|
170 |
msgid "City"
|
171 |
msgstr "Stadt"
|
172 |
|
173 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:179
|
174 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:812
|
175 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:881
|
176 |
msgctxt "dhl"
|
177 |
msgid "Phone"
|
178 |
msgstr "Telefon"
|
179 |
|
180 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:188
|
181 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:819
|
182 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:888
|
183 |
msgctxt "dhl"
|
184 |
msgid "Email"
|
185 |
msgstr "E-Mail"
|
207 |
|
208 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:228
|
209 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:331
|
210 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:534
|
211 |
msgctxt "dhl"
|
212 |
msgid "GoGreen"
|
213 |
msgstr "GoGreen"
|
229 |
msgstr "Keine Nachbarschaftszustellung"
|
230 |
|
231 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:272
|
232 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:562
|
233 |
msgctxt "dhl"
|
234 |
msgid "Named person only"
|
235 |
msgstr "Persönliche Übergabe"
|
256 |
msgstr "Mindestalter"
|
257 |
|
258 |
#: woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php:322
|
259 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:606
|
260 |
msgctxt "dhl"
|
261 |
msgid "Premium"
|
262 |
msgstr "Premium"
|
268 |
msgstr "Empfänger"
|
269 |
|
270 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:15
|
271 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1461
|
272 |
msgctxt "dhl"
|
273 |
msgid "DHL Labels"
|
274 |
msgstr "DHL Labels"
|
301 |
|
302 |
# @ woocommerce-germanized
|
303 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:41
|
304 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:106
|
305 |
msgctxt "dhl"
|
306 |
+
msgid "Label Automation"
|
307 |
+
msgstr "Label Automatisierung"
|
308 |
|
309 |
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:44
|
310 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:109
|
311 |
#, php-format
|
312 |
msgctxt "dhl"
|
313 |
msgid ""
|
347 |
"überschreiben die <a href=\"%s\">globalen Einstellungen</a>."
|
348 |
|
349 |
# @ woocommerce-germanized
|
350 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:81
|
351 |
+
msgctxt "dhl"
|
352 |
+
msgid "Deutsche Post Labels"
|
353 |
+
msgstr "Deutsche Post Labels"
|
354 |
+
|
355 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:84
|
356 |
+
#, php-format
|
357 |
+
msgctxt "dhl"
|
358 |
+
msgid ""
|
359 |
+
"Adjust Deutsche Post label settings. Changes override <a href=\"%s\">global "
|
360 |
+
"settings</a>."
|
361 |
+
msgstr ""
|
362 |
+
"Deutsche Post Label Einstellungen anpassen. Änderungen überschreiben die <a "
|
363 |
+
"href=\"%s\">globalen Einstellungen</a>."
|
364 |
+
|
365 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:94
|
366 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1352
|
367 |
+
msgctxt "dhl"
|
368 |
+
msgid "Printing"
|
369 |
+
msgstr "Druck"
|
370 |
+
|
371 |
+
#: woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php:97
|
372 |
+
#, php-format
|
373 |
+
msgctxt "dhl"
|
374 |
+
msgid ""
|
375 |
+
"Adjust label printing settings. Changes override <a href=\"%s\">global "
|
376 |
+
"settings</a>."
|
377 |
+
msgstr ""
|
378 |
+
"Druck-Einstellungen für Label anpassen. Änderungen überschreiben die <a href="
|
379 |
+
"\"%s\">globalen Einstellungen</a>."
|
380 |
+
|
381 |
+
# @ woocommerce-germanized
|
382 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:160
|
383 |
msgctxt "dhl time context"
|
384 |
msgid "None"
|
385 |
msgstr "Keine"
|
386 |
|
387 |
# @ woocommerce-germanized
|
388 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:170
|
389 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:280
|
390 |
msgctxt "dhl day context"
|
391 |
msgid "None"
|
392 |
msgstr "Keiner"
|
393 |
|
394 |
# @ woocommerce-germanized
|
395 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:195
|
396 |
msgctxt "dhl"
|
397 |
msgid "Delivery Duty Unpaid"
|
398 |
msgstr "Delivery Duty Unpaid"
|
399 |
|
400 |
# @ woocommerce-germanized
|
401 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:196
|
402 |
msgctxt "dhl"
|
403 |
msgid "Delivery Duty Paid"
|
404 |
msgstr "Delivery Duty Paid"
|
405 |
|
406 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:197
|
407 |
msgctxt "dhl"
|
408 |
msgid "Delivery Duty Paid (excl. VAT )"
|
409 |
msgstr "Delivered Duty Paid (exkl. MwSt.)"
|
410 |
|
411 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:198
|
412 |
msgctxt "dhl"
|
413 |
msgid "Delivery Duty Paid (excl. Duties, taxes and VAT)"
|
414 |
msgstr "Delivery Duty Paid (exkl. Zölle, Steuern und MwSt.)"
|
415 |
|
416 |
# @ woocommerce-germanized
|
417 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:226
|
418 |
msgctxt "age context"
|
419 |
msgid "None"
|
420 |
msgstr "Keine"
|
421 |
|
422 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:227
|
423 |
msgctxt "dhl"
|
424 |
msgid "Minimum age of 16"
|
425 |
msgstr "Mindestens 16 Jahre"
|
426 |
|
427 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:228
|
428 |
msgctxt "dhl"
|
429 |
msgid "Minimum age of 18"
|
430 |
msgstr "Mindestens 18 Jahre"
|
431 |
|
432 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:253
|
433 |
msgctxt "dhl"
|
434 |
msgid "Shipment #{shipment_id} to order {order_id}"
|
435 |
msgstr "Sendung #{shipment_id} zur Bestellung {order_id}"
|
436 |
|
437 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:269
|
438 |
msgctxt "dhl"
|
439 |
msgid "Return #{shipment_id} to order {order_id}"
|
440 |
msgstr "Retoure #{shipment_id} zur Bestellung {order_id}"
|
441 |
|
442 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:285
|
443 |
msgctxt "dhl"
|
444 |
msgid "Return shipment #{shipment_id} to order #{order_id}"
|
445 |
msgstr "Retourensendung #{shipment_id} zur Bestellung #{order_id}"
|
446 |
|
447 |
# @ woocommerce-germanized
|
448 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:365
|
449 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:188
|
450 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:496
|
451 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:836
|
452 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:38
|
453 |
msgctxt "dhl"
|
454 |
msgid "Packstation"
|
455 |
msgstr "Packstation"
|
456 |
|
457 |
# @ woocommerce-germanized
|
458 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:366
|
459 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:367
|
460 |
msgctxt "dhl"
|
461 |
msgid "Postfiliale"
|
462 |
msgstr "Postfiliale"
|
463 |
|
464 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:451
|
465 |
msgctxt "dhl"
|
466 |
msgid "Receiver is missing or does not exist."
|
467 |
msgstr "Empfänger fehlt oder existiert nicht."
|
468 |
|
469 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:470
|
470 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:555
|
471 |
#, php-format
|
472 |
msgctxt "dhl"
|
473 |
msgid "Shipment order #%s does not exist"
|
474 |
msgstr "Bestellung zur Sendung #%s existiert nicht"
|
475 |
|
476 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:481
|
477 |
+
msgctxt "dhl"
|
478 |
+
msgid "The services chosen are not available for the current product."
|
479 |
+
msgstr "Die ausgewählten Services sind für dieses Produkt nicht verfügbar."
|
480 |
+
|
481 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:521
|
482 |
+
#, php-format
|
483 |
+
msgctxt "dhl"
|
484 |
+
msgid "Deutsche Post product is missing for %s."
|
485 |
+
msgstr "Deutsche Post Produkt fehlt oder ist nicht verfügbar für %s."
|
486 |
+
|
487 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:597
|
488 |
#, php-format
|
489 |
msgctxt "dhl"
|
490 |
msgid "%s of the return address is a mandatory field."
|
491 |
msgstr "%s der Rücksendeadresse ist ein Pflichtfeld."
|
492 |
|
493 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:602
|
494 |
msgctxt "dhl"
|
495 |
msgid "Please either add a return company or name."
|
496 |
msgstr ""
|
497 |
"Bitte geben Sie entweder einen Firmennamen oder Namen für die "
|
498 |
"Rücksendeadresse an."
|
499 |
|
500 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:621
|
501 |
msgctxt "dhl"
|
502 |
msgid "Error while parsing preferred day."
|
503 |
msgstr "Fehler beim Einlesen des Wunschtags."
|
504 |
|
505 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:632
|
506 |
msgctxt "dhl"
|
507 |
msgid "Error while parsing preferred time."
|
508 |
msgstr "Fehler beim Einlesen der Wunschzeit."
|
509 |
|
510 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:657
|
511 |
msgctxt "dhl"
|
512 |
msgid "The visual min age check is invalid."
|
513 |
msgstr "Das Alter der Alterssichtprüfung ist ungültig."
|
514 |
|
515 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:681
|
516 |
msgctxt "dhl"
|
517 |
msgid "The ident min age check is invalid."
|
518 |
msgstr "Das Alter des Ident-Checks ist ungültig."
|
519 |
|
520 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:688
|
521 |
msgctxt "dhl"
|
522 |
msgid "There was an error parsing the date of birth for the identity check."
|
523 |
msgstr ""
|
524 |
"Beim Einlesen des Geburtsdatums für den Ident-Check trat ein Problem auf."
|
525 |
|
526 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:693
|
527 |
msgctxt "dhl"
|
528 |
msgid ""
|
529 |
"Either a minimum age or a date of birth must be added to the ident check."
|
532 |
"hinzugefügt werden."
|
533 |
|
534 |
# @ woocommerce-germanized
|
535 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:707
|
536 |
#, php-format
|
537 |
msgctxt "dhl"
|
538 |
msgid "%s duties element does not exist."
|
539 |
msgstr "%s Zollabgabe existiert nicht."
|
540 |
|
541 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1299
|
542 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1383
|
543 |
msgctxt "dhl"
|
544 |
msgid "Invalid shipment"
|
545 |
msgstr "Ungültige Sendung"
|
546 |
|
547 |
# @ woocommerce-germanized
|
548 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1303
|
549 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1387
|
550 |
msgctxt "dhl"
|
551 |
msgid "Order does not exist"
|
552 |
msgstr "Bestellung existiert nicht"
|
553 |
|
554 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1335
|
555 |
msgctxt "dhl"
|
556 |
msgid "Error while creating the label instance"
|
557 |
msgstr "Fehler beim Erstellen der Label-Instanz"
|
558 |
|
559 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1455
|
560 |
msgctxt "dhl"
|
561 |
msgid "Invalid label"
|
562 |
msgstr "Ungültiges Label"
|
563 |
|
564 |
# @ woocommerce-germanized
|
565 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1543
|
566 |
msgctxt "dhl"
|
567 |
msgid "DHL Retoure International A"
|
568 |
msgstr "DHL Retoure International A"
|
569 |
|
570 |
# @ woocommerce-germanized
|
571 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1544
|
572 |
msgctxt "dhl"
|
573 |
msgid "DHL Retoure International B"
|
574 |
msgstr "DHL Retoure International B"
|
575 |
|
576 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1553
|
577 |
msgctxt "dhl"
|
578 |
msgid "DHL Retoure Online"
|
579 |
msgstr "DHL Retoure Online"
|
580 |
|
581 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1570
|
582 |
msgctxt "dhl"
|
583 |
msgid "DHL Paket Connect"
|
584 |
msgstr "DHL Paket Connect"
|
585 |
|
586 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1571
|
587 |
msgctxt "dhl"
|
588 |
msgid "DHL Europaket (B2B)"
|
589 |
msgstr "DHL Europaket (B2B)"
|
590 |
|
591 |
# @ woocommerce-germanized
|
592 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1572
|
593 |
msgctxt "dhl"
|
594 |
msgid "DHL Paket International"
|
595 |
msgstr "DHL Paket International"
|
596 |
|
597 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1647
|
598 |
msgctxt "dhl"
|
599 |
msgid "DHL Paket"
|
600 |
msgstr "DHL Paket"
|
601 |
|
602 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1648
|
603 |
msgctxt "dhl"
|
604 |
msgid "DHL Paket PRIO"
|
605 |
msgstr "DHL Paket PRIO"
|
606 |
|
607 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1649
|
608 |
msgctxt "dhl"
|
609 |
msgid "DHL Paket Taggleich"
|
610 |
msgstr "DHL Paket Taggleich"
|
611 |
|
612 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1650
|
613 |
msgctxt "dhl"
|
614 |
+
msgid "DHL Warenpost"
|
615 |
+
msgstr "DHL Warenpost"
|
616 |
|
617 |
+
#: woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php:1737
|
618 |
msgctxt "dhl"
|
619 |
msgid "Error while uploading label."
|
620 |
msgstr "Fehler beim Hochladen des Labels."
|
621 |
|
622 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:57
|
623 |
+
msgctxt "dhl"
|
624 |
+
msgid "Refreshed data successfully."
|
625 |
+
msgstr "Daten erfolgreich aktualisiert."
|
626 |
+
|
627 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:57
|
628 |
+
#, php-format
|
629 |
+
msgctxt "dhl"
|
630 |
+
msgid ""
|
631 |
+
"Error while refreshing data. Please check your Internetmarke <a href=\"%s"
|
632 |
+
"\">logs</a>."
|
633 |
+
msgstr ""
|
634 |
+
"Fehler beim Datenabruf. Bitte prüfen Sie Ihre Internetmarke <a href=\"%s"
|
635 |
+
"\">Logs</a>."
|
636 |
+
|
637 |
# @ woocommerce-germanized
|
638 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:174
|
639 |
msgctxt "dhl"
|
640 |
msgid "Receiver Ids"
|
641 |
msgstr "Empfänger IDs"
|
642 |
|
643 |
# @ woocommerce-germanized
|
644 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:181
|
645 |
msgctxt "dhl"
|
646 |
msgid "Receiver Id"
|
647 |
msgstr "Empfänger ID"
|
648 |
|
649 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:181
|
650 |
msgctxt "dhl"
|
651 |
msgid "Find your Receiver Ids within your DHL contract data."
|
652 |
msgstr "Die Empfänger IDs finden Sie im DHL Geschäftskundenportal."
|
653 |
|
654 |
# @ woocommerce-germanized
|
655 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:182
|
656 |
msgctxt "dhl"
|
657 |
msgid "Country Code"
|
658 |
msgstr "Ländercode"
|
659 |
|
660 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:182
|
661 |
msgctxt "dhl"
|
662 |
msgid "Leave empty to use the Receiver Id as fallback."
|
663 |
msgstr "Leer lassen, um diese Empfänger ID als Fallback zu verwenden."
|
664 |
|
665 |
# @ woocommerce-germanized
|
666 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:202
|
667 |
msgctxt "dhl"
|
668 |
msgid "+ Add receiver"
|
669 |
msgstr "+ Empfänger hinzufügen"
|
670 |
|
671 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:202
|
672 |
msgctxt "dhl"
|
673 |
msgid "Remove selected receiver(s)"
|
674 |
msgstr "Ausgewählte Empfänger löschen"
|
675 |
|
676 |
# @ woocommerce-germanized
|
677 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:238
|
678 |
msgctxt "dhl"
|
679 |
msgid "Select a country"
|
680 |
msgstr "Land auswählen"
|
681 |
|
682 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:240
|
683 |
msgctxt "dhl"
|
684 |
+
msgid "HS-Code (DHL)"
|
685 |
+
msgstr "Zolltarifnummer (HS-Code, DHL)"
|
686 |
|
687 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:240
|
688 |
msgctxt "dhl"
|
689 |
+
msgid ""
|
690 |
+
"The HS Code is a number assigned to every possible commodity that can be "
|
691 |
+
"imported or exported from any country."
|
692 |
msgstr ""
|
693 |
+
"Das Harmonisierte System (HS) der Zollnomenklatur ist ein international "
|
694 |
+
"standardisiertes System von Namen und Nummern zur Klassifizierung "
|
695 |
+
"gehandelter Produkte."
|
696 |
|
697 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:241
|
698 |
msgctxt "dhl"
|
699 |
msgid "Country of manufacture (DHL)"
|
700 |
msgstr "Herstellungsland (DHL)"
|
701 |
|
702 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:241
|
703 |
msgctxt "dhl"
|
704 |
msgid ""
|
705 |
"The country of manufacture is needed for customs of international shipping."
|
707 |
"Das Herstellungsland wird für die Zollabwicklung bei internationalen "
|
708 |
"Sendungen benötigt."
|
709 |
|
710 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:262
|
711 |
#, php-format
|
712 |
msgctxt "dhl"
|
713 |
msgid ""
|
717 |
"Das Verzeichnis zum Speichern von DHL Labels fehlt. Bitte erstellen Sie den "
|
718 |
"Ordner %s manuell und stellen Sie sicher, dass der Ordner beschreibbar ist."
|
719 |
|
720 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:269
|
721 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1460
|
722 |
+
#: woocommerce-germanized-dhl/src/ShippingProvider/DHL.php:39
|
723 |
msgctxt "dhl"
|
724 |
msgid "DHL"
|
725 |
msgstr "DHL"
|
726 |
|
727 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:284
|
728 |
msgctxt "dhl"
|
729 |
msgid "DHL Label"
|
730 |
msgstr "DHL Label"
|
731 |
|
732 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:296
|
733 |
msgctxt "dhl"
|
734 |
msgid ""
|
735 |
"This label has been generated by the DHL for WooCommerce Plugin and is shown "
|
739 |
"Kompatibilitäts-Gründen angezeigt."
|
740 |
|
741 |
# @ woocommerce-germanized
|
742 |
+
#: woocommerce-germanized-dhl/src/Admin/Admin.php:297
|
743 |
msgctxt "dhl"
|
744 |
msgid "Download label"
|
745 |
msgstr "Label downloaden"
|
746 |
|
747 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:33
|
748 |
msgctxt "dhl"
|
749 |
msgid "Enable DHL"
|
750 |
msgstr "DHL aktivieren"
|
751 |
|
752 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:34
|
753 |
msgctxt "dhl"
|
754 |
msgid ""
|
755 |
"If you want to ship your shipments via DHL and create labels to your "
|
758 |
"Wenn Sie Ihre Sendungen mit DHL verschicken und Labels zu Ihren Sendungen "
|
759 |
"erzeugen möchten, aktivieren Sie die DHL Integration."
|
760 |
|
761 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:47
|
762 |
msgctxt "dhl"
|
763 |
msgid "Customer Number"
|
764 |
msgstr "Kundennummer"
|
765 |
|
766 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:48
|
767 |
msgctxt "dhl"
|
768 |
msgid ""
|
769 |
"Insert your DHL business customer number (EKP) here. If you are not yet a "
|
773 |
"Geschäftskunde sind, sollten Sie sich zuerst als Geschäftskunde bei DHL "
|
774 |
"registrieren."
|
775 |
|
776 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:61
|
777 |
msgctxt "dhl"
|
778 |
msgid "API Access"
|
779 |
msgstr "API Versionen"
|
780 |
|
781 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:62
|
782 |
msgctxt "dhl"
|
783 |
msgid ""
|
784 |
"To create labels and embed DHL services, our software needs access to the "
|
788 |
"Software Zugang zur API. Sie sollten hier Ihre Zugangsdaten zum DHL "
|
789 |
"Geschäftskundenportal eingeben."
|
790 |
|
791 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:80
|
792 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:328
|
793 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:477
|
794 |
msgctxt "dhl"
|
795 |
msgid "Inlay Returns"
|
796 |
msgstr "Beilageretouren"
|
797 |
|
798 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:81
|
799 |
msgctxt "dhl"
|
800 |
msgid ""
|
801 |
"If you want to provide your customers with inlay return labels for your "
|
804 |
"Wenn Sie Beilageretouren-Labels zu Ihren Sendungen hinzufügen möchten, "
|
805 |
"sollten Sie diese Funktion standardmäßig aktivieren."
|
806 |
|
807 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:94
|
808 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:723
|
809 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:953
|
810 |
msgctxt "dhl"
|
811 |
msgid "Retoure"
|
812 |
msgstr "Retoure"
|
813 |
|
814 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:95
|
815 |
msgctxt "dhl"
|
816 |
msgid ""
|
817 |
"If you want to create DHL labels to returns you should activate this "
|
822 |
"aktivieren. Stellen Sie sicher, dass DHL Online Retoure in Ihrem Vertrag "
|
823 |
"freigeschaltet ist."
|
824 |
|
825 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:108
|
826 |
msgctxt "dhl"
|
827 |
msgid "Age verification"
|
828 |
msgstr "Altersverifikation"
|
829 |
|
830 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:109
|
831 |
msgctxt "dhl"
|
832 |
msgid ""
|
833 |
"Use this feature to sync the Germanized age verification checkbox with the "
|
840 |
"„Alterssichtprüfung“ von DHL automatisch aktiviert."
|
841 |
|
842 |
# @ woocommerce-germanized
|
843 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:122
|
844 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:747
|
845 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1369
|
846 |
msgctxt "dhl"
|
847 |
msgid "Automation"
|
848 |
msgstr "Automatisierung"
|
849 |
|
850 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:123
|
851 |
msgctxt "dhl"
|
852 |
msgid ""
|
853 |
"You might want to save some time and let Germanized generate labels "
|
857 |
"automatisch erzeugen lassen, sobald eine Sendung in einen bestimmten Status "
|
858 |
"wechselt."
|
859 |
|
860 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:142
|
861 |
msgctxt "dhl"
|
862 |
msgid ""
|
863 |
"Let your customers choose a preferred day (if the service is available at "
|
867 |
"Kundenadresse zur Verfügung steht) für die Lieferung in der Kasse auswählen."
|
868 |
|
869 |
# @ woocommerce-germanized
|
870 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:155
|
871 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:982
|
872 |
msgctxt "dhl"
|
873 |
msgid "Fee"
|
874 |
msgstr "Gebühr"
|
875 |
|
876 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:156
|
877 |
msgctxt "dhl"
|
878 |
msgid ""
|
879 |
"Optionally charge your customers an additional fee for preferred services "
|
882 |
"Optional können Sie die Gebühr für die Auswahl des Wunschtags oder anderer "
|
883 |
"Wunschpaket-Services an Ihre Kunden weiterreichen."
|
884 |
|
885 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:170
|
886 |
msgctxt "dhl"
|
887 |
msgid ""
|
888 |
"Allow your customers to send their parcels to a preferred location e.g. a "
|
891 |
"Lassen Sie Ihre Kunden einen Wunschort für die Abgabe ihres Pakets in der "
|
892 |
"Kasse auswählen. Dieser Service wird von DHL nicht zusätzlich berechnet."
|
893 |
|
894 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:189
|
895 |
msgctxt "dhl"
|
896 |
msgid ""
|
897 |
"Allow your customers to choose packstation (and/or other DHL location types "
|
900 |
"Lassen Sie Ihre Kunden eine Packstation (und/oder andere DHL Standorte, wie "
|
901 |
"im Folgenden konfiguriert) als Lieferadresse auswählen."
|
902 |
|
903 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:202
|
904 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1130
|
905 |
msgctxt "dhl"
|
906 |
msgid "Map"
|
907 |
msgstr "Karte"
|
908 |
|
909 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:203
|
910 |
msgctxt "dhl"
|
911 |
msgid ""
|
912 |
"This option adds a map overlay view to let your customers choose a DHL "
|
917 |
"DHL Standortes in der Nähe noch einfacher zu machen. Sie benötigen für die "
|
918 |
"Kartenansicht einen gültigen Google Maps API Schlüssel."
|
919 |
|
920 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:223
|
921 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1167
|
922 |
msgctxt "dhl"
|
923 |
msgid "Enable"
|
924 |
msgstr "Aktivieren"
|
925 |
|
926 |
# @ woocommerce-germanized
|
927 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:224
|
928 |
msgctxt "dhl"
|
929 |
msgid "Enable DHL integration."
|
930 |
msgstr "DHL Integration aktivieren."
|
931 |
|
932 |
# @ woocommerce-germanized
|
933 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:231
|
934 |
msgctxt "dhl"
|
935 |
msgid "Customer Number (EKP)"
|
936 |
msgstr "Kundennummer (EKP)"
|
937 |
|
938 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:233
|
939 |
#, php-format
|
940 |
msgctxt "dhl"
|
941 |
msgid ""
|
945 |
"Ihre 10-stellige DHL Kundennummer (EKP). Finden Sie Ihre %s im DHL "
|
946 |
"Geschäftskundenportal."
|
947 |
|
948 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:233
|
949 |
msgctxt "dhl"
|
950 |
msgid "customer number"
|
951 |
msgstr "Kundennummer"
|
952 |
|
953 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:242
|
954 |
msgctxt "dhl"
|
955 |
msgid "API"
|
956 |
msgstr "API"
|
957 |
|
958 |
# @ woocommerce-germanized
|
959 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:245
|
960 |
msgctxt "dhl"
|
961 |
msgid "Enable Sandbox"
|
962 |
msgstr "Sandbox aktivieren"
|
963 |
|
964 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:246
|
965 |
msgctxt "dhl"
|
966 |
msgid "Activate Sandbox mode for testing purposes."
|
967 |
msgstr "Aktiviere den Sandbox Modus."
|
968 |
|
969 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:253
|
970 |
msgctxt "dhl"
|
971 |
msgid "Live Username"
|
972 |
msgstr "Benutzer"
|
973 |
|
974 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:255
|
975 |
#, php-format
|
976 |
msgctxt "dhl"
|
977 |
msgid ""
|
981 |
"Ihr Benutzername zum DHL Geschäftskundenportal. Bitte beachten Sie die "
|
982 |
"Kleinschreibung und testen Sie Ihre Zugangsdaten vorab %s."
|
983 |
|
984 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:255
|
985 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:264
|
986 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:273
|
987 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:282
|
988 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:299
|
989 |
msgctxt "dhl"
|
990 |
msgid "here"
|
991 |
msgstr "hier"
|
992 |
|
993 |
# @ woocommerce-germanized
|
994 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:262
|
995 |
msgctxt "dhl"
|
996 |
msgid "Live Password"
|
997 |
msgstr "Passwort"
|
998 |
|
999 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:264
|
1000 |
#, php-format
|
1001 |
msgctxt "dhl"
|
1002 |
msgid ""
|
1008 |
"der Gültigkeit des Passworts nach 3 (Standard-Benutzer) bzw. 12 (System-"
|
1009 |
"Benutzer) Monaten und testen Sie Ihre Zugangsdaten vorab %s."
|
1010 |
|
1011 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:271
|
1012 |
msgctxt "dhl"
|
1013 |
msgid "Sandbox Username"
|
1014 |
msgstr "Sandbox Benutzername"
|
1015 |
|
1016 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:273
|
1017 |
#, php-format
|
1018 |
msgctxt "dhl"
|
1019 |
msgid ""
|
1023 |
"Ihr Benutzername zum DHL Entwicklerportal. Bitte beachten Sie die "
|
1024 |
"Kleinschreibung und testen Sie Ihre Zugangsdaten vorab %s."
|
1025 |
|
1026 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:280
|
1027 |
msgctxt "dhl"
|
1028 |
msgid "Sandbox Password"
|
1029 |
msgstr "Sandbox Passwort"
|
1030 |
|
1031 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:282
|
1032 |
#, php-format
|
1033 |
msgctxt "dhl"
|
1034 |
msgid ""
|
1038 |
"Ihr Passwort zum DHL Entwicklerportal. Bitte testen Sie Ihre Zugangsdaten "
|
1039 |
"vorab %s."
|
1040 |
|
1041 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:295
|
1042 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:338
|
1043 |
msgctxt "dhl"
|
1044 |
msgid "Products and Participation Numbers"
|
1045 |
msgstr "Produkte und Teilnahmenummern"
|
1046 |
|
1047 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:299
|
1048 |
#, php-format
|
1049 |
msgctxt "dhl"
|
1050 |
msgid ""
|
1054 |
"Bitte fügen Sie Ihre Teilnahmenummer für das dazugehörige Produkt ein. Sie "
|
1055 |
"können die anderen Teilnahmenummern später %s anpassen."
|
1056 |
|
1057 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:338
|
1058 |
#, php-format
|
1059 |
msgctxt "dhl"
|
1060 |
msgid ""
|
1068 |
"letzten beiden Zeichen der dazugehörigen Abrechnungsnummer, die Sie in Ihren "
|
1069 |
"%s finden (z.B.: 01)."
|
1070 |
|
1071 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:338
|
1072 |
msgctxt "dhl"
|
1073 |
msgid "contract data"
|
1074 |
msgstr "Vertragsdaten"
|
1075 |
|
1076 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:392
|
1077 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1200
|
1078 |
msgctxt "dhl"
|
1079 |
msgid "Domestic Default Service"
|
1080 |
msgstr "Nationaler Standard Service"
|
1081 |
|
1082 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:396
|
1083 |
msgctxt "dhl"
|
1084 |
msgid ""
|
1085 |
"Please select your default DHL shipping service for domestic shipments that "
|
1090 |
"für Ihre Kunden anbieten (Sie können das Produkt für jede einzelne Sendung "
|
1091 |
"nachträglich ändern)."
|
1092 |
|
1093 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:402
|
1094 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1220
|
1095 |
msgctxt "dhl"
|
1096 |
msgid "Int. Default Service"
|
1097 |
msgstr "Internationaler Standard Service"
|
1098 |
|
1099 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:406
|
1100 |
msgctxt "dhl"
|
1101 |
msgid ""
|
1102 |
"Please select your default DHL shipping service for cross-border shipments "
|
1108 |
"Sendung nachträglich ändern)."
|
1109 |
|
1110 |
# @ woocommerce-germanized
|
1111 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:412
|
1112 |
msgctxt "dhl"
|
1113 |
msgid "Default Duty"
|
1114 |
msgstr "Standard Zoll"
|
1115 |
|
1116 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:416
|
1117 |
msgctxt "dhl"
|
1118 |
msgid "Please select a default duty type."
|
1119 |
msgstr "Bitte wählen Sie eine Standard-Zollabrechnung aus."
|
1120 |
|
1121 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:423
|
1122 |
msgctxt "dhl"
|
1123 |
msgid "Codeable"
|
1124 |
msgstr "Leitcodierbar"
|
1125 |
|
1126 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:424
|
1127 |
msgctxt "dhl"
|
1128 |
msgid "Generate label only if address can be automatically retrieved DHL."
|
1129 |
msgstr "Erzeuge Labels nur dann, wenn die Adresse von DHL erkannt wird."
|
1130 |
|
1131 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:428
|
1132 |
msgctxt "dhl"
|
1133 |
msgid ""
|
1134 |
"Choose this option if you want to make sure that by default labels are only "
|
1139 |
"ist."
|
1140 |
|
1141 |
# @ woocommerce-germanized
|
1142 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:432
|
1143 |
msgctxt "dhl"
|
1144 |
msgid "Default weight (kg)"
|
1145 |
msgstr "Standardgewicht (kg)"
|
1146 |
|
1147 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:434
|
1148 |
msgctxt "dhl"
|
1149 |
msgid ""
|
1150 |
"Choose a default shipment weight to be used for labels if no weight has been "
|
1153 |
"Wählen Sie ein Standard Sendungsgewicht aus das für Labels verwendet wird, "
|
1154 |
"für die das Gewicht nicht automatisch bestimmt werden kann."
|
1155 |
|
1156 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:443
|
1157 |
msgctxt "dhl"
|
1158 |
msgid "Minimum weight (kg)"
|
1159 |
msgstr "Mindestgewicht (kg)"
|
1160 |
|
1161 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:445
|
1162 |
msgctxt "dhl"
|
1163 |
msgid ""
|
1164 |
"Choose a minimum weight to be used for labels e.g. to prevent low shipment "
|
1168 |
"wegen eines zu geringen Gewichts Fehler zurückgibt."
|
1169 |
|
1170 |
# @ woocommerce-germanized
|
1171 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:457
|
1172 |
msgctxt "dhl"
|
1173 |
msgid "Force email"
|
1174 |
msgstr "E-Mail übertragen"
|
1175 |
|
1176 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:458
|
1177 |
msgctxt "dhl"
|
1178 |
msgid "Force transferring customer email to DHL."
|
1179 |
msgstr "E-Mail-Adresse des Kunden immer an DHL übertragen."
|
1180 |
|
1181 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:458
|
1182 |
msgctxt "dhl"
|
1183 |
msgid ""
|
1184 |
"By default the customer email address is only transferred in case explicit "
|
1195 |
"bevor Sie diese Option aktivieren."
|
1196 |
|
1197 |
# @ woocommerce-germanized
|
1198 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:464
|
1199 |
msgctxt "dhl"
|
1200 |
msgid "Street number"
|
1201 |
msgstr "Hausnummer"
|
1202 |
|
1203 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:465
|
1204 |
msgctxt "dhl"
|
1205 |
msgid ""
|
1206 |
"Force existence of a street number within the first address field during "
|
1209 |
"Hausnummer im ersten Adressfeld verpflichtend abfragen, falls es sich um ein "
|
1210 |
"EU-Land handelt."
|
1211 |
|
1212 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:466
|
1213 |
msgctxt "dhl"
|
1214 |
msgid ""
|
1215 |
"Enabling this option will force a street number to be provided during "
|
1220 |
"Adressfeld in der Kasse abgefragt wird. Damit verhindern Sie fehlende oder "
|
1221 |
"falsche Datensätze."
|
1222 |
|
1223 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:478
|
1224 |
msgctxt "dhl"
|
1225 |
msgid ""
|
1226 |
"Additionally create inlay return labels for shipments that support returns."
|
1228 |
"Erzeuge zusätzlich Beilage-Retourenlabels für Sendungen die Retouren "
|
1229 |
"unterstützen."
|
1230 |
|
1231 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:497
|
1232 |
msgctxt "dhl"
|
1233 |
msgid "Enable delivery to Packstation."
|
1234 |
msgstr "Aktiviere den Versand an Packstationen."
|
1235 |
|
1236 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:498
|
1237 |
msgctxt "dhl"
|
1238 |
msgid "Let customers choose a Packstation as delivery address."
|
1239 |
msgstr "Kunden eine Packstation als Lieferadresse auswählen lassen."
|
1240 |
|
1241 |
# @ woocommerce-germanized
|
1242 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:505
|
1243 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder.php:50
|
1244 |
msgctxt "dhl"
|
1245 |
msgid "Postoffice"
|
1246 |
msgstr "Postfiliale"
|
1247 |
|
1248 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:506
|
1249 |
msgctxt "dhl"
|
1250 |
msgid "Enable delivery to Post Offices."
|
1251 |
msgstr "Aktiviere den Versand an Postfilialen."
|
1252 |
|
1253 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:507
|
1254 |
msgctxt "dhl"
|
1255 |
msgid "Let customers choose a Post Office as delivery address."
|
1256 |
msgstr "Kunden eine Postfiliale als Lieferadresse auswählen lassen."
|
1257 |
|
1258 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:514
|
1259 |
msgctxt "dhl"
|
1260 |
msgid "Parcel Shop"
|
1261 |
msgstr "Paketshop"
|
1262 |
|
1263 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:515
|
1264 |
msgctxt "dhl"
|
1265 |
msgid "Enable delivery to Parcel Shops."
|
1266 |
msgstr "Lieferung an Paketshops aktivieren."
|
1267 |
|
1268 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:516
|
1269 |
msgctxt "dhl"
|
1270 |
msgid "Let customers choose a Parcel Shop as delivery address."
|
1271 |
msgstr "Kunden einen Paketshop als Lieferadresse auswählen lassen."
|
1272 |
|
|
|
|
|
|
|
|
|
|
|
1273 |
#: woocommerce-germanized-dhl/src/Admin/Settings.php:535
|
1274 |
msgctxt "dhl"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1275 |
msgid "Enable the GoGreen Service by default."
|
1276 |
msgstr "Buche den GoGreen Service hinzu."
|
1277 |
|
1278 |
# @ woocommerce-germanized
|
1279 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:541
|
1280 |
msgctxt "dhl"
|
1281 |
msgid "Additional Insurance"
|
1282 |
msgstr "Transportversicherung"
|
1283 |
|
1284 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:542
|
1285 |
msgctxt "dhl"
|
1286 |
msgid "Add an additional insurance to labels."
|
1287 |
msgstr "Füge eine Transportversicherung zur Sendung hinzu."
|
1288 |
|
1289 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:548
|
1290 |
msgctxt "dhl"
|
1291 |
msgid "Retail Outlet Routing"
|
1292 |
msgstr "Filialrouting"
|
1293 |
|
1294 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:549
|
1295 |
msgctxt "dhl"
|
1296 |
msgid ""
|
1297 |
"Send undeliverable items to nearest retail outlet instead of immediate "
|
1300 |
"Sende unzustellbare Sendungen in die nächstgelegene Filiale zur Abholung "
|
1301 |
"anstelle diese direkt zurückzusenden."
|
1302 |
|
1303 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:555
|
1304 |
msgctxt "dhl"
|
1305 |
msgid "No Neighbor"
|
1306 |
msgstr "Keine Nachbarschaftszustellung"
|
1307 |
|
1308 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:556
|
1309 |
msgctxt "dhl"
|
1310 |
msgid "Do not deliver to neighbors."
|
1311 |
msgstr "Schließe eine Ersatzzustellung beim Nachbarn aus."
|
1312 |
|
1313 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:563
|
1314 |
msgctxt "dhl"
|
1315 |
msgid "Do only delivery to named person."
|
1316 |
msgstr ""
|
1317 |
"Lasse Pakete nur an den Empfänger persönlich oder an eine bevollmächtigte "
|
1318 |
"Person übergeben."
|
1319 |
|
1320 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:569
|
1321 |
msgctxt "dhl"
|
1322 |
msgid "Bulky Goods"
|
1323 |
msgstr "Sperrgut"
|
1324 |
|
1325 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:570
|
1326 |
msgctxt "dhl"
|
1327 |
msgid "Deliver as bulky goods."
|
1328 |
msgstr "Sende Pakete als Sperrgut."
|
1329 |
|
1330 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:576
|
1331 |
msgctxt "dhl"
|
1332 |
+
msgid "Minimum age (Visual check)"
|
1333 |
+
msgstr "Mindestalter (Visuell)"
|
1334 |
|
1335 |
#: woocommerce-germanized-dhl/src/Admin/Settings.php:581
|
1336 |
msgctxt "dhl"
|
1337 |
+
msgid "Choose this option if you want to let DHL check your customer's age."
|
1338 |
+
msgstr ""
|
1339 |
+
"Wählen Sie diese Option aus, wenn Sie das Alter durch DHL prüfen lassen "
|
1340 |
+
"möchten."
|
1341 |
+
|
1342 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:584
|
1343 |
+
msgctxt "dhl"
|
1344 |
+
msgid "Sync (Visual Check)"
|
1345 |
+
msgstr "Synchronisation (Visuell)"
|
1346 |
+
|
1347 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:585
|
1348 |
+
msgctxt "dhl"
|
1349 |
+
msgid "Visually verify age if shipment contains applicable items."
|
1350 |
msgstr ""
|
1351 |
"Aktiviere die Alterssichtprüfung, falls die Sendung zu prüfende Positionen "
|
1352 |
"beinhaltet."
|
1353 |
|
1354 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:585
|
1355 |
#, php-format
|
1356 |
msgctxt "dhl"
|
1357 |
msgid ""
|
1364 |
"Alterssichtprüfung automatisch aktiviert, falls eine Sendung zu prüfenden "
|
1365 |
"Produkte beinhaltet."
|
1366 |
|
1367 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:585
|
1368 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:600
|
1369 |
msgctxt "dhl"
|
1370 |
msgid "age verification checkbox"
|
1371 |
msgstr "Checkbox zur Altersprüfung"
|
1372 |
|
1373 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:591
|
1374 |
+
msgctxt "dhl"
|
1375 |
+
msgid "Minimum age (Ident check)"
|
1376 |
+
msgstr "Mindestalter (Identität)"
|
1377 |
+
|
1378 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:596
|
1379 |
+
msgctxt "dhl"
|
1380 |
+
msgid ""
|
1381 |
+
"Choose this option if you want to let DHL check your customer's identity and "
|
1382 |
+
"age."
|
1383 |
+
msgstr ""
|
1384 |
+
"Wählen Sie diese Option aus, wenn Sie die Identität und das Alter durch DHL "
|
1385 |
+
"prüfen lassen möchten."
|
1386 |
+
|
1387 |
+
# @ woocommerce-germanized
|
1388 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:599
|
1389 |
+
msgctxt "dhl"
|
1390 |
+
msgid "Sync (Ident Check)"
|
1391 |
+
msgstr "Synchronisation (Identität)"
|
1392 |
+
|
1393 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:600
|
1394 |
+
msgctxt "dhl"
|
1395 |
+
msgid "Verify identity and age if shipment contains applicable items."
|
1396 |
+
msgstr ""
|
1397 |
+
"Aktiviere die Identitätsprüfung, falls die Sendung zu prüfende Positionen "
|
1398 |
+
"beinhaltet."
|
1399 |
+
|
1400 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:600
|
1401 |
+
#, php-format
|
1402 |
+
msgctxt "dhl"
|
1403 |
+
msgid ""
|
1404 |
+
"Germanized offers an %s to be enabled for certain products and/or product "
|
1405 |
+
"categories. By checking this option labels for shipments with applicable "
|
1406 |
+
"items will automatically have the identity check service enabled."
|
1407 |
+
msgstr ""
|
1408 |
+
"Germanized bietet eine %s an, die für spezielle Produkte aktiviert werden "
|
1409 |
+
"kann. Nach Aktivierung dieser Option, wird der Service für die "
|
1410 |
+
"Identitätsprüfung automatisch aktiviert, falls eine Sendung zu prüfenden "
|
1411 |
+
"Produkte beinhaltet."
|
1412 |
+
|
1413 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:607
|
1414 |
msgctxt "dhl"
|
1415 |
msgid "Premium delivery for international shipments."
|
1416 |
msgstr "Premium Lieferung für internationale Sendungen."
|
1417 |
|
1418 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:626
|
1419 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1242
|
1420 |
msgctxt "dhl"
|
1421 |
msgid "Labels"
|
1422 |
msgstr "Labels"
|
1423 |
|
1424 |
# @ woocommerce-germanized
|
1425 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:627
|
1426 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1243
|
1427 |
msgctxt "dhl"
|
1428 |
msgid "Automatically create labels for shipments."
|
1429 |
msgstr "Automatisch Labels zu Sendungen erstellen."
|
1430 |
|
1431 |
# @ woocommerce-germanized
|
1432 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:634
|
1433 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:661
|
1434 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1250
|
1435 |
msgctxt "dhl"
|
1436 |
msgid "Status"
|
1437 |
msgstr "Status"
|
1438 |
|
1439 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:638
|
1440 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1254
|
1441 |
msgctxt "dhl"
|
1442 |
msgid "Choose a shipment status which should trigger generation of a label."
|
1443 |
msgstr ""
|
1445 |
"soll."
|
1446 |
|
1447 |
# @ woocommerce-germanized
|
1448 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:645
|
1449 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1261
|
1450 |
msgctxt "dhl"
|
1451 |
msgid "Shipment Status"
|
1452 |
msgstr "Sendungsstatus"
|
1453 |
|
1454 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:646
|
1455 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1262
|
1456 |
msgctxt "dhl"
|
1457 |
msgid "Mark shipment as shipped after label has been created successfully."
|
1458 |
msgstr ""
|
1459 |
"Sendung als versandt markieren, sobald ein Label erfolgreich erstellt wurde."
|
1460 |
|
1461 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:653
|
1462 |
msgctxt "dhl"
|
1463 |
msgid "Returns"
|
1464 |
msgstr "Retouren"
|
1465 |
|
1466 |
# @ woocommerce-germanized
|
1467 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:654
|
1468 |
msgctxt "dhl"
|
1469 |
msgid "Automatically create labels for returns."
|
1470 |
msgstr "Automatisch Retourenlabels zu Retourensendungen erstellen."
|
1471 |
|
1472 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:665
|
1473 |
msgctxt "dhl"
|
1474 |
msgid ""
|
1475 |
"Choose a shipment status which should trigger generation of a return label."
|
1477 |
"Wählen Sie einen Sendungsstatus aus, der die Erzeugung eines Retourenlabels "
|
1478 |
"auslösen soll."
|
1479 |
|
1480 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:713
|
1481 |
#, php-format
|
1482 |
msgctxt "dhl"
|
1483 |
msgid ""
|
1489 |
"werden."
|
1490 |
|
1491 |
# @ woocommerce-germanized
|
1492 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:713
|
1493 |
msgctxt "dhl"
|
1494 |
msgid "shipping method"
|
1495 |
msgstr "Versandmethode"
|
1496 |
|
1497 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:723
|
1498 |
#, php-format
|
1499 |
msgctxt "dhl"
|
1500 |
msgid ""
|
1505 |
"API an. Stellen Sie sicher, dass Ihr %s DHL Retoure Online enthält."
|
1506 |
|
1507 |
# @ woocommerce-germanized
|
1508 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:723
|
1509 |
msgctxt "dhl"
|
1510 |
msgid "contract"
|
1511 |
msgstr "Vertrag"
|
1512 |
|
1513 |
# @ woocommerce-germanized
|
1514 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:735
|
1515 |
msgctxt "dhl"
|
1516 |
msgid "Default Services"
|
1517 |
msgstr "Standard-Services"
|
1518 |
|
1519 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:735
|
1520 |
#, php-format
|
1521 |
msgctxt "dhl"
|
1522 |
msgid ""
|
1526 |
"Passen Sie hier an, welche der Services als Standard für Ihre Labels gebucht "
|
1527 |
"werden sollen. Finden Sie mehr über diese %s heraus."
|
1528 |
|
1529 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:735
|
1530 |
msgctxt "dhl"
|
1531 |
msgid "nationwide services"
|
1532 |
msgstr "nationalen Services"
|
1533 |
|
1534 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:747
|
1535 |
msgctxt "dhl"
|
1536 |
msgid ""
|
1537 |
"Choose whether and under which conditions labels for your shipments shall be "
|
1541 |
"automatisch erzeugt werden sollen."
|
1542 |
|
1543 |
# @ woocommerce-germanized
|
1544 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:758
|
1545 |
msgctxt "dhl"
|
1546 |
msgid "Shipper Address"
|
1547 |
msgstr "Absenderadresse"
|
1548 |
|
1549 |
# @ woocommerce-germanized
|
1550 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:782
|
1551 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:851
|
1552 |
msgctxt "dhl"
|
1553 |
msgid "Street Number"
|
1554 |
msgstr "Hausnummer"
|
1555 |
|
1556 |
# @ woocommerce-germanized
|
1557 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:803
|
1558 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:872
|
1559 |
msgctxt "dhl"
|
1560 |
msgid "Country"
|
1561 |
msgstr "Land"
|
1562 |
|
1563 |
# @ woocommerce-germanized
|
1564 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:827
|
1565 |
msgctxt "dhl"
|
1566 |
msgid "Inlay Return Address"
|
1567 |
msgstr "Beilageretouren Adresse"
|
1568 |
|
1569 |
# @ woocommerce-germanized
|
1570 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:896
|
1571 |
msgctxt "dhl"
|
1572 |
msgid "Bank Account"
|
1573 |
msgstr "Bankkonto"
|
1574 |
|
1575 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:896
|
1576 |
msgctxt "dhl"
|
1577 |
msgid "Enter your bank details needed for services that use COD."
|
1578 |
msgstr ""
|
1580 |
"verwendet werden sollen."
|
1581 |
|
1582 |
# @ woocommerce-germanized
|
1583 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:899
|
1584 |
msgctxt "dhl"
|
1585 |
msgid "Holder"
|
1586 |
msgstr "Kontoinhaber"
|
1587 |
|
1588 |
# @ woocommerce-germanized
|
1589 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:906
|
1590 |
msgctxt "dhl"
|
1591 |
msgid "Bank Name"
|
1592 |
msgstr "Name der Bank"
|
1593 |
|
1594 |
# @ woocommerce-germanized
|
1595 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:913
|
1596 |
msgctxt "dhl"
|
1597 |
msgid "IBAN"
|
1598 |
msgstr "IBAN"
|
1599 |
|
1600 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:920
|
1601 |
msgctxt "dhl"
|
1602 |
msgid "BIC"
|
1603 |
msgstr "BIC"
|
1604 |
|
1605 |
# @ woocommerce-germanized
|
1606 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:927
|
1607 |
msgctxt "dhl"
|
1608 |
msgid "Payment Reference"
|
1609 |
msgstr "Zahlungsreferenz"
|
1610 |
|
1611 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:931
|
1612 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:940
|
1613 |
#, php-format
|
1614 |
msgctxt "dhl"
|
1615 |
msgid ""
|
1620 |
"hinzufügen: %s. Der Text ist auf 35 Zeichen begrenzt."
|
1621 |
|
1622 |
# @ woocommerce-germanized
|
1623 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:936
|
1624 |
msgctxt "dhl"
|
1625 |
msgid "Payment Reference 2"
|
1626 |
msgstr "Zahlungsreferenz 2"
|
1627 |
|
1628 |
# @ woocommerce-germanized
|
1629 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:954
|
1630 |
msgctxt "dhl"
|
1631 |
msgid "Enable creating labels for return shipments."
|
1632 |
msgstr "Automatisch Retourenlabels zu Retourensendungen erstellen."
|
1633 |
|
1634 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:954
|
1635 |
msgctxt "dhl"
|
1636 |
msgid ""
|
1637 |
"By enabling this option you might generate retoure labels for return "
|
1640 |
"Mit der Aktivierung dieser Option können Sie Retourenlabels zu "
|
1641 |
"Retourensendungen erstellen und diese per E-Mail an den Kunden weiterleiten."
|
1642 |
|
1643 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:975
|
1644 |
msgctxt "dhl"
|
1645 |
msgid "Enable preferred day delivery."
|
1646 |
msgstr "Aktiviere die Lieferung am Wunschtag."
|
1647 |
|
1648 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:975
|
1649 |
msgctxt "dhl"
|
1650 |
msgid ""
|
1651 |
"Enabling this option will display options for the user to select their "
|
1654 |
"Diese Option aktiviert die Auswahl eines Wunschtags durch den Kunden in der "
|
1655 |
"Kasse."
|
1656 |
|
1657 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:984
|
1658 |
msgctxt "dhl"
|
1659 |
msgid ""
|
1660 |
"Insert gross value as surcharge for preferred day delivery. Insert 0 to "
|
1664 |
"Setzen Sie den Wert auf 0 um den Service kostenlos anzubieten."
|
1665 |
|
1666 |
# @ woocommerce-germanized
|
1667 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:995
|
1668 |
msgctxt "dhl"
|
1669 |
msgid "Enable preferred location delivery."
|
1670 |
msgstr "Lieferung an einen Wunschort aktivieren."
|
1671 |
|
1672 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:995
|
1673 |
msgctxt "dhl"
|
1674 |
msgid ""
|
1675 |
"Enabling this option will display options for the user to select their "
|
1678 |
"Diese Option aktiviert die Auswahl eines Wunschorts durch den Kunden in der "
|
1679 |
"Kasse ."
|
1680 |
|
1681 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1003
|
1682 |
msgctxt "dhl"
|
1683 |
msgid "Enable preferred neighbor delivery."
|
1684 |
msgstr "Aktiviere die Lieferung an einen Wunschnachbarn."
|
1685 |
|
1686 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1003
|
1687 |
msgctxt "dhl"
|
1688 |
msgid ""
|
1689 |
"Enabling this option will display options for the user to deliver to their "
|
1692 |
"Diese Option aktiviert die Auswahl eines Wunschnachbarn durch den Kunden in "
|
1693 |
"der Kasse."
|
1694 |
|
1695 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1029
|
1696 |
msgctxt "dhl"
|
1697 |
msgid "Cut-off time"
|
1698 |
msgstr "Cut-off-Zeit"
|
1699 |
|
1700 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1032
|
1701 |
msgctxt "dhl"
|
1702 |
msgid ""
|
1703 |
"The cut-off time is the latest possible order time up to which the minimum "
|
1710 |
"Nach Überschreitung dieses Zeitpunktes, wird der früheste verfügbare "
|
1711 |
"Wunschtag in der Kasse um einen Tag erhöht (Tag der Bestellung + 3 Werktage)."
|
1712 |
|
1713 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1038
|
1714 |
msgctxt "dhl"
|
1715 |
msgid "Preparation days"
|
1716 |
msgstr "Bearbeitungstage"
|
1717 |
|
1718 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1041
|
1719 |
msgctxt "dhl"
|
1720 |
msgid ""
|
1721 |
"If you need more time to prepare your shipments you might want to add a "
|
1726 |
"hier eine statische Anzahl an Tagen hinterlegen, die zum frühesten "
|
1727 |
"auswählbaren Wunschtag hinzugefügt werden."
|
1728 |
|
1729 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1048
|
1730 |
msgctxt "dhl"
|
1731 |
msgid "Exclude days of transfer"
|
1732 |
msgstr "Übergabetage ausschließen"
|
1733 |
|
1734 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1049
|
1735 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:31
|
1736 |
msgctxt "dhl"
|
1737 |
msgid "Monday"
|
1738 |
msgstr "Montag"
|
1739 |
|
1740 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1050
|
1741 |
msgctxt "dhl"
|
1742 |
msgid "Exclude days from transferring shipments to DHL."
|
1743 |
msgstr "Schließen Sie bestimmte Wochentage für die Übergabe an DHL aus."
|
1744 |
|
1745 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1059
|
1746 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:32
|
1747 |
msgctxt "dhl"
|
1748 |
msgid "Tuesday"
|
1749 |
msgstr "Dienstag"
|
1750 |
|
1751 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1068
|
1752 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:33
|
1753 |
msgctxt "dhl"
|
1754 |
msgid "Wednesday"
|
1755 |
msgstr "Mittwoch"
|
1756 |
|
1757 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1077
|
1758 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:34
|
1759 |
msgctxt "dhl"
|
1760 |
msgid "Thursday"
|
1761 |
msgstr "Donnerstag"
|
1762 |
|
1763 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1086
|
1764 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:35
|
1765 |
msgctxt "dhl"
|
1766 |
msgid "Friday"
|
1767 |
msgstr "Freitag"
|
1768 |
|
1769 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1095
|
1770 |
#: woocommerce-germanized-dhl/src/Api/FinderSoap.php:36
|
1771 |
msgctxt "dhl"
|
1772 |
msgid "Saturday"
|
1773 |
msgstr "Samstag"
|
1774 |
|
1775 |
# @ woocommerce-germanized
|
1776 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1104
|
1777 |
msgctxt "dhl"
|
1778 |
msgid "Exclude gateways"
|
1779 |
msgstr "Zahlungsarten ausschließen"
|
1780 |
|
1781 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1106
|
1782 |
msgctxt "dhl"
|
1783 |
msgid "Select payment gateways to be excluded from showing preferred services."
|
1784 |
msgstr ""
|
1785 |
"Wählen Sie Zahlungsarten aus, für die die Wunschpaket-Services nicht zur "
|
1786 |
"Verfügung stehen sollen."
|
1787 |
|
1788 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1131
|
1789 |
msgctxt "dhl"
|
1790 |
msgid "Let customers find a DHL location on a map."
|
1791 |
msgstr "Lasse Kunden einen DHL Standort auf der Karte auswählen."
|
1792 |
|
1793 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1131
|
1794 |
msgctxt "dhl"
|
1795 |
msgid ""
|
1796 |
"Enable this option to let your customers choose a pickup option from a map "
|
1801 |
"anhand einer Karten in der Kasse zu ermöglichen. Wenn diese Option "
|
1802 |
"deaktiviert ist, wird stattdessen auf die DHL Website verwiesen."
|
1803 |
|
1804 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1138
|
1805 |
msgctxt "dhl"
|
1806 |
msgid "Google Maps Key"
|
1807 |
msgstr "Google Maps Schlüssel"
|
1808 |
|
1809 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1142
|
1810 |
#, php-format
|
1811 |
msgctxt "dhl"
|
1812 |
msgid ""
|
1816 |
"Um eine Karte integrieren zu können, benötigen Siee du einen gültigen API-"
|
1817 |
"Schlüssel für Google Maps. Sie können %s."
|
1818 |
|
1819 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1142
|
1820 |
msgctxt "dhl"
|
1821 |
msgid "retrieve a new one"
|
1822 |
msgstr "hier einen neuen erstellen"
|
1823 |
|
1824 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1147
|
1825 |
msgctxt "dhl"
|
1826 |
msgid "Limit results"
|
1827 |
msgstr "Suchergebnisse begrenzen"
|
1828 |
|
1829 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1151
|
1830 |
msgctxt "dhl"
|
1831 |
msgid "Limit the number of DHL locations shown on the map"
|
1832 |
msgstr "Begrenzt die Anzahl der angezeigten DHL Standorte auf der Karte"
|
1833 |
|
1834 |
# @ woocommerce-germanized
|
1835 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1168
|
1836 |
msgctxt "dhl"
|
1837 |
+
msgid "Enable Internetmarke integration."
|
1838 |
+
msgstr "Internetmarke Integration aktivieren."
|
1839 |
|
1840 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1175
|
1841 |
+
msgctxt "dhl"
|
1842 |
+
msgid "Username"
|
1843 |
+
msgstr "Benutzer"
|
1844 |
+
|
1845 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1177
|
1846 |
+
#, php-format
|
1847 |
+
msgctxt "dhl"
|
1848 |
+
msgid ""
|
1849 |
+
"Your credentials to the <a href=\"%s\" target=\"_blank\">Portokasse</a>. "
|
1850 |
+
"Please test your credentials before connecting."
|
1851 |
+
msgstr ""
|
1852 |
+
"Ihre Zugangsdaten zur <a href=\"%s\" target=\"_blank\">Portokasse</a>. Bitte "
|
1853 |
+
"testen Sie Ihre Zugangsdaten bevor Sie eine Verbindung aufbauen."
|
1854 |
+
|
1855 |
+
# @ woocommerce-germanized
|
1856 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1184
|
1857 |
+
msgctxt "dhl"
|
1858 |
+
msgid "Password"
|
1859 |
+
msgstr "Passwort"
|
1860 |
+
|
1861 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1204
|
1862 |
+
msgctxt "dhl"
|
1863 |
+
msgid ""
|
1864 |
+
"Please select your default shipping service for domestic shipments that you "
|
1865 |
+
"want to offer to your customers (you can always change this within each "
|
1866 |
+
"individual shipment afterwards)."
|
1867 |
+
msgstr ""
|
1868 |
+
"Bitte wählen Sie das Standard-Produkt für nationale Sendungen aus, das Sie "
|
1869 |
+
"für Ihre Kunden anbieten."
|
1870 |
+
|
1871 |
+
# @ woocommerce-germanized
|
1872 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1210
|
1873 |
+
msgctxt "dhl"
|
1874 |
+
msgid "EU Default Service"
|
1875 |
+
msgstr "Standard Service (EU)"
|
1876 |
+
|
1877 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1214
|
1878 |
+
msgctxt "dhl"
|
1879 |
+
msgid ""
|
1880 |
+
"Please select your default shipping service for EU shipments that you want "
|
1881 |
+
"to offer to your customers."
|
1882 |
+
msgstr ""
|
1883 |
+
"Bitte wählen Sie das Standard-Produkt für EU Sendungen aus, das Sie für Ihre "
|
1884 |
+
"Kunden anbieten."
|
1885 |
+
|
1886 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1224
|
1887 |
+
msgctxt "dhl"
|
1888 |
+
msgid ""
|
1889 |
+
"Please select your default shipping service for cross-border shipments that "
|
1890 |
+
"you want to offer to your customers."
|
1891 |
+
msgstr ""
|
1892 |
+
"Bitte wählen Sie das Standard-Produkt für internationale Sendungen aus, das "
|
1893 |
+
"Sie für Ihre Kunden anbieten."
|
1894 |
+
|
1895 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1281
|
1896 |
+
msgctxt "dhl"
|
1897 |
+
msgid "Default Format"
|
1898 |
+
msgstr "Standardformat"
|
1899 |
+
|
1900 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1284
|
1901 |
+
#, php-format
|
1902 |
+
msgctxt "dhl"
|
1903 |
+
msgid ""
|
1904 |
+
"Choose a print format which will be selected by default when creating "
|
1905 |
+
"labels. Manually <a href=\"%s\">refresh</a> available print formats to make "
|
1906 |
+
"sure the list is up-to-date."
|
1907 |
+
msgstr ""
|
1908 |
+
"Wählen Sie ein Seitenformat aus, das für den Druck der Labels standardmäßig "
|
1909 |
+
"verwendet wird. Sie können die Liste auch manuell <a href=\"%s"
|
1910 |
+
"\">aktualisieren</a>, falls notwendig."
|
1911 |
+
|
1912 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1311
|
1913 |
+
msgctxt "dhl"
|
1914 |
+
msgid "Portokasse"
|
1915 |
+
msgstr "Portokasse"
|
1916 |
+
|
1917 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1314
|
1918 |
+
msgctxt "dhl"
|
1919 |
+
msgid "Balance"
|
1920 |
+
msgstr "Guthaben"
|
1921 |
+
|
1922 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1321
|
1923 |
+
msgctxt "dhl"
|
1924 |
+
msgid "Charge (€)"
|
1925 |
+
msgstr "Aufladen (€)"
|
1926 |
+
|
1927 |
+
# @ woocommerce-germanized
|
1928 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1331
|
1929 |
+
msgctxt "dhl"
|
1930 |
+
msgid "Products"
|
1931 |
+
msgstr "Produkte"
|
1932 |
+
|
1933 |
+
# @ woocommerce-germanized
|
1934 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1334
|
1935 |
+
msgctxt "dhl"
|
1936 |
+
msgid "Available Products"
|
1937 |
+
msgstr "Verfügbare Produkte"
|
1938 |
+
|
1939 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1337
|
1940 |
+
#, php-format
|
1941 |
+
msgctxt "dhl"
|
1942 |
+
msgid ""
|
1943 |
+
"Choose the products you want to be available for your shipments from the "
|
1944 |
+
"list above. Manually <a href=\"%s\">refresh</a> the product list to make "
|
1945 |
+
"sure it is up-to-date."
|
1946 |
+
msgstr ""
|
1947 |
+
"Wählen Sie die Produkte aus die beim Erzeugen der Labels zur Verfügung "
|
1948 |
+
"stehen sollen. Sie können die Produktliste auch manuell <a href=\"%s"
|
1949 |
+
"\">aktualisieren</a>, falls notwendig."
|
1950 |
+
|
1951 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1362
|
1952 |
+
msgctxt "dhl"
|
1953 |
+
msgid "API Error"
|
1954 |
+
msgstr "API Fehler"
|
1955 |
+
|
1956 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1421
|
1957 |
+
msgctxt "dhl"
|
1958 |
+
msgid "Charge Portokasse"
|
1959 |
+
msgstr "Portokasse aufladen"
|
1960 |
+
|
1961 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1422
|
1962 |
+
#, php-format
|
1963 |
+
msgctxt "dhl"
|
1964 |
+
msgid "The minimum amount is %s"
|
1965 |
+
msgstr "Der Minimalbetrag beträgt %s"
|
1966 |
+
|
1967 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1432
|
1968 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1434
|
1969 |
+
msgctxt "dhl"
|
1970 |
+
msgid "Not yet a customer?"
|
1971 |
+
msgstr "Noch kein Geschäftskunde?"
|
1972 |
+
|
1973 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1462
|
1974 |
+
msgctxt "dhl"
|
1975 |
+
msgid "Internetmarke"
|
1976 |
+
msgstr "Internetmarke"
|
1977 |
+
|
1978 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1463
|
1979 |
msgctxt "dhl"
|
1980 |
msgid "Preferred Services"
|
1981 |
msgstr "Wunschpaket"
|
1982 |
|
1983 |
+
#: woocommerce-germanized-dhl/src/Admin/Settings.php:1464
|
1984 |
msgctxt "dhl"
|
1985 |
msgid "Parcel Pickup"
|
1986 |
msgstr "Standorte"
|
2002 |
msgid "%s %s"
|
2003 |
msgstr "%s %s"
|
2004 |
|
2005 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:280
|
2006 |
+
msgctxt "dhl"
|
2007 |
+
msgid "PRIO"
|
2008 |
+
msgstr "PRIO"
|
2009 |
+
|
2010 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:281
|
2011 |
+
msgctxt "dhl"
|
2012 |
+
msgid "Einschreiben (Einwurf)"
|
2013 |
+
msgstr "Einschreiben (Einwurf)"
|
2014 |
+
|
2015 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:282
|
2016 |
+
msgctxt "dhl"
|
2017 |
+
msgid "Einschreiben"
|
2018 |
+
msgstr "Einschreiben"
|
2019 |
+
|
2020 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:283
|
2021 |
+
msgctxt "dhl"
|
2022 |
+
msgid "Einschreiben (Eigenhändig)"
|
2023 |
+
msgstr "Einschreiben (Eigenhändig)"
|
2024 |
+
|
2025 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:284
|
2026 |
+
msgctxt "dhl"
|
2027 |
+
msgid "Alterssichtprüfung 16"
|
2028 |
+
msgstr "Alterssichtprüfung 16"
|
2029 |
+
|
2030 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:285
|
2031 |
+
msgctxt "dhl"
|
2032 |
+
msgid "Alterssichtprüfung 18"
|
2033 |
+
msgstr "Alterssichtprüfung 18"
|
2034 |
+
|
2035 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:286
|
2036 |
+
msgctxt "dhl"
|
2037 |
+
msgid "Zusatzentgelt MBf"
|
2038 |
+
msgstr "Zusatzentgelt MBf"
|
2039 |
+
|
2040 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:287
|
2041 |
+
msgctxt "dhl"
|
2042 |
+
msgid "Unterschrift"
|
2043 |
+
msgstr "Unterschrift"
|
2044 |
+
|
2045 |
+
#: woocommerce-germanized-dhl/src/Api/ImProductList.php:288
|
2046 |
+
msgctxt "dhl"
|
2047 |
+
msgid "Tracked"
|
2048 |
+
msgstr "Tracked"
|
2049 |
+
|
2050 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:43
|
2051 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:52
|
2052 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:484
|
2053 |
+
msgctxt "dhl"
|
2054 |
+
msgid "Error while fetching label PDF"
|
2055 |
+
msgstr "Fehler beim Download des PDF Labels"
|
2056 |
+
|
2057 |
+
# @ woocommerce-germanized
|
2058 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:77
|
2059 |
+
msgctxt "dhl"
|
2060 |
+
msgid "Missing shipment"
|
2061 |
+
msgstr "Fehlende Sendung"
|
2062 |
+
|
2063 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:168
|
2064 |
+
msgctxt "dhl"
|
2065 |
+
msgid "Invalid API response"
|
2066 |
+
msgstr "Fehlerhafte API Rückmeldung"
|
2067 |
+
|
2068 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:192
|
2069 |
+
msgctxt "dhl"
|
2070 |
+
msgid "Error while authenticating user."
|
2071 |
+
msgstr "Fehler beim Autorisieren des Benutzers."
|
2072 |
+
|
2073 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:278
|
2074 |
+
msgctxt "dhl"
|
2075 |
+
msgid "Error during Warenpost International request."
|
2076 |
+
msgstr "Fehler beim Aufruf der Warenpost International API."
|
2077 |
+
|
2078 |
+
# @ woocommerce-germanized
|
2079 |
+
#: woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php:296
|
2080 |
+
#, php-format
|
2081 |
+
msgctxt "dhl"
|
2082 |
+
msgid "Error during request: %s"
|
2083 |
+
msgstr "Fehler beim API Zugriff: %s"
|
2084 |
+
|
2085 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:64
|
2086 |
+
#: woocommerce-germanized-dhl/src/Api/Soap.php:54
|
2087 |
+
#: woocommerce-germanized-dhl/src/Package.php:84
|
2088 |
+
#, php-format
|
2089 |
+
msgctxt "dhl"
|
2090 |
+
msgid ""
|
2091 |
+
"To enable communication between your shop and DHL, the PHP <a href=\"%s"
|
2092 |
+
"\">SOAPClient</a> is required. Please contact your host and make sure that "
|
2093 |
+
"SOAPClient is <a href=\"%s\">installed</a>."
|
2094 |
+
msgstr ""
|
2095 |
+
"Um die Kommunikation zwischen DHL und Ihrem Shop zu ermöglichen, ist der PHP "
|
2096 |
+
"<a href=\"%s\">SOAPClient</a> notwendig. Bitte kontaktieren Sie dazu im "
|
2097 |
+
"Zweifel Ihren Hoster und stellen Sie sicher, dass der SOAPClient <a href=\"%s"
|
2098 |
+
"\">installiert</a> ist."
|
2099 |
+
|
2100 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:69
|
2101 |
+
#, php-format
|
2102 |
+
msgctxt "dhl"
|
2103 |
+
msgid "Error while instantiating main Internetmarke API: %s"
|
2104 |
+
msgstr "Fehler beim Aufruf der Internetmarke API: %s"
|
2105 |
+
|
2106 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:73
|
2107 |
+
msgctxt "dhl"
|
2108 |
+
msgid "Internetmarke is disabled. Please enable Internetmarke."
|
2109 |
+
msgstr "Internetmarke ist deaktiviert. Bitte aktivieren Sie die Internetmarke."
|
2110 |
+
|
2111 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:84
|
2112 |
+
msgctxt "dhl"
|
2113 |
+
msgid "Wrong username or password"
|
2114 |
+
msgstr "Falscher Benutzername oder Passwort"
|
2115 |
+
|
2116 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:246
|
2117 |
+
#, php-format
|
2118 |
+
msgctxt "dhl"
|
2119 |
+
msgid "until %s"
|
2120 |
+
msgstr "bis %s"
|
2121 |
+
|
2122 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:331
|
2123 |
+
#, php-format
|
2124 |
+
msgctxt "dhl"
|
2125 |
+
msgid "Length: %s"
|
2126 |
+
msgstr "Länge: %s"
|
2127 |
+
|
2128 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:335
|
2129 |
+
#, php-format
|
2130 |
+
msgctxt "dhl"
|
2131 |
+
msgid "Width: %s"
|
2132 |
+
msgstr "Breite: %s"
|
2133 |
+
|
2134 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:339
|
2135 |
+
#, php-format
|
2136 |
+
msgctxt "dhl"
|
2137 |
+
msgid "Height: %s"
|
2138 |
+
msgstr "Höhe: %s"
|
2139 |
+
|
2140 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:343
|
2141 |
+
#, php-format
|
2142 |
+
msgctxt "dhl"
|
2143 |
+
msgid "Weight: %s"
|
2144 |
+
msgstr "Gewicht: %s"
|
2145 |
+
|
2146 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:348
|
2147 |
+
msgctxt "dhl"
|
2148 |
+
msgid "Total"
|
2149 |
+
msgstr "Gesamt"
|
2150 |
+
|
2151 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:538
|
2152 |
+
#, php-format
|
2153 |
+
msgctxt "dhl"
|
2154 |
+
msgid "Could not refund post label: %s"
|
2155 |
+
msgstr "Deutsche Post Label konnte nicht rückerstattet werden: %s"
|
2156 |
+
|
2157 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:552
|
2158 |
+
msgctxt "dhl"
|
2159 |
+
msgid "Refund API could not be instantiated"
|
2160 |
+
msgstr "Die API für Rückerstattungen konnte nicht initialisiert werden"
|
2161 |
+
|
2162 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:641
|
2163 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:379
|
2164 |
+
#: woocommerce-germanized-dhl/src/Api/ReturnRest.php:34
|
2165 |
+
#, php-format
|
2166 |
+
msgctxt "dhl"
|
2167 |
+
msgid "Could not fetch shipment %d."
|
2168 |
+
msgstr "Sendung %d konnte nicht gefunden werden."
|
2169 |
+
|
2170 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:681
|
2171 |
+
msgctxt "dhl"
|
2172 |
+
msgid "Error while generating shop order id."
|
2173 |
+
msgstr "Fehler beim Erzeugen der Shop Order Id."
|
2174 |
+
|
2175 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:691
|
2176 |
+
#, php-format
|
2177 |
+
msgctxt "dhl"
|
2178 |
+
msgid ""
|
2179 |
+
"Error while trying to purchase the stamp. Please manually <a href=\"%s"
|
2180 |
+
"\">refresh</a> your product database and try again."
|
2181 |
+
msgstr ""
|
2182 |
+
"Fehler beim Kauf des Labels. Bitte <a href=\"%s\">aktualisieren</a>Sie die "
|
2183 |
+
"Produktliste manuell und versuchen Sie es erneut."
|
2184 |
+
|
2185 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:734
|
2186 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:741
|
2187 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:769
|
2188 |
+
msgctxt "dhl"
|
2189 |
+
msgid "Error while downloading the PDF stamp."
|
2190 |
+
msgstr "Fehler beim Download des PDF Labels."
|
2191 |
+
|
2192 |
+
#: woocommerce-germanized-dhl/src/Api/Internetmarke.php:776
|
2193 |
+
msgctxt "dhl"
|
2194 |
+
msgid "Invalid stamp response."
|
2195 |
+
msgstr "Fehlerhafte Label Rückmeldung."
|
2196 |
+
|
2197 |
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:99
|
2198 |
msgctxt "dhl"
|
2199 |
msgid ""
|
2202 |
"Ihre DHL API Zugangsdaten scheinen fehlerhaft zu sein. Bitte prüfen Sie Ihre "
|
2203 |
"DHL Einstellungen."
|
2204 |
|
2205 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:103
|
2206 |
+
msgctxt "dhl"
|
2207 |
+
msgid ""
|
2208 |
+
"Your products are missing data relevant for custom declarations. Please "
|
2209 |
+
"provide missing DHL fields (country of origin, HS code) in your product data "
|
2210 |
+
"> shipping tab."
|
2211 |
+
msgstr ""
|
2212 |
+
"Ihren Produkten fehlen Daten, die für die Zollerklärung relevant sind. Bitte "
|
2213 |
+
"füllen Sie die fehlenden DHL Felder (HS Code, Herstellerland) in Ihren "
|
2214 |
+
"Produktdaten unter Versand aus."
|
2215 |
+
|
2216 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:113
|
2217 |
#, php-format
|
2218 |
msgctxt "dhl"
|
2219 |
msgid "There was an error contacting the DHL API: %s."
|
2220 |
msgstr "Beim Aufruf der DHL API gab es einen Fehler: %s."
|
2221 |
|
2222 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:116
|
2223 |
msgctxt "dhl"
|
2224 |
msgid ""
|
2225 |
"An error ocurred while contacting the DHL API. Please consider enabling the "
|
2228 |
"Beim Aufruf der DHL API ist ein Fehler aufgetreten. Bitte erwägen Sie den "
|
2229 |
"Wechsel in den Sandbox-Modus."
|
2230 |
|
2231 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:138
|
2232 |
msgctxt "dhl"
|
2233 |
msgid ""
|
2234 |
"There was an error generating the label. Please try again or consider "
|
2237 |
"Beim Erzeugen des Labels gab es einen Fehler. Bitte versuchen Sie es erneut "
|
2238 |
"oder erwägen Sie den Wechsel in den Sandbox-Modus."
|
2239 |
|
2240 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:241
|
2241 |
+
#: woocommerce-germanized-dhl/src/Api/ReturnRest.php:156
|
2242 |
msgctxt "dhl"
|
2243 |
msgid "Error while creating and uploading the label"
|
2244 |
msgstr "Fehler beim Erstellen und hochladen des Labels"
|
2245 |
|
2246 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:327
|
2247 |
#, php-format
|
2248 |
msgctxt "dhl"
|
2249 |
msgid "Could not delete label - %s"
|
2250 |
msgstr "Das Label konnte nicht gelöscht werden - %s"
|
2251 |
|
2252 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:358
|
2253 |
msgctxt "dhl"
|
2254 |
msgid "Could not create account number - no product number."
|
2255 |
msgstr ""
|
2256 |
"Die Abrechnungsnummer konnte nicht erzeugt werden. Die Teilnahmenummer fehlt."
|
2257 |
|
2258 |
+
#: woocommerce-germanized-dhl/src/Api/LabelSoap.php:648
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2259 |
#, php-format
|
2260 |
msgctxt "dhl"
|
2261 |
msgid "Only %s shipment items can be processed, your shipment has %s items."
|
2264 |
"Sendung beinhaltet %s Positionen."
|
2265 |
|
2266 |
# @ woocommerce-germanized
|
2267 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:61
|
2268 |
+
#, php-format
|
2269 |
+
msgctxt "dhl"
|
2270 |
+
msgid "Label API not available: %s"
|
2271 |
+
msgstr "Label API ist nicht erreichbar: %s"
|
2272 |
+
|
2273 |
+
# @ woocommerce-germanized
|
2274 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:63
|
2275 |
msgctxt "dhl"
|
2276 |
msgid "Label API not available"
|
2277 |
msgstr "Label API ist nicht erreichbar"
|
2278 |
|
2279 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:80
|
2280 |
msgctxt "dhl"
|
2281 |
msgid "Parcel Finder API not available"
|
2282 |
msgstr "API der Standortsuche ist nicht verfügbar"
|
2283 |
|
2284 |
# @ woocommerce-germanized
|
2285 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:96
|
2286 |
msgctxt "dhl"
|
2287 |
msgid "Return API not available"
|
2288 |
msgstr "Retoure API ist nicht erreichbar"
|
2289 |
|
2290 |
# @ woocommerce-germanized
|
2291 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:112
|
2292 |
msgctxt "dhl"
|
2293 |
msgid "Parcel API not available"
|
2294 |
msgstr "Paket API ist nicht erreichbar"
|
2295 |
|
2296 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:258
|
2297 |
msgctxt "dhl"
|
2298 |
msgid "Mon"
|
2299 |
msgstr "Mo"
|
2300 |
|
2301 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:259
|
2302 |
msgctxt "dhl"
|
2303 |
msgid "Tue"
|
2304 |
msgstr "Di"
|
2305 |
|
2306 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:260
|
2307 |
msgctxt "dhl"
|
2308 |
msgid "Wed"
|
2309 |
msgstr "Mi"
|
2310 |
|
2311 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:261
|
2312 |
msgctxt "dhl"
|
2313 |
msgid "Thu"
|
2314 |
msgstr "Do"
|
2315 |
|
2316 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:262
|
2317 |
msgctxt "dhl"
|
2318 |
msgid "Fri"
|
2319 |
msgstr "Fr"
|
2320 |
|
2321 |
# @ woocommerce-germanized
|
2322 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:263
|
2323 |
msgctxt "dhl"
|
2324 |
msgid "Sat"
|
2325 |
msgstr "Sa"
|
2326 |
|
2327 |
+
#: woocommerce-germanized-dhl/src/Api/Paket.php:264
|
2328 |
msgctxt "dhl"
|
2329 |
msgid "Sun"
|
2330 |
msgstr "So"
|
2345 |
msgid "Please provide the shipment start date."
|
2346 |
msgstr "Bitte geben Sie das Startdatum der Sendung an."
|
2347 |
|
2348 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:101
|
2349 |
msgctxt "dhl"
|
2350 |
msgid "400 - "
|
2351 |
msgstr "400 - "
|
2352 |
|
2353 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:104
|
2354 |
msgctxt "dhl"
|
2355 |
msgid ""
|
2356 |
"401 - Unauthorized Access - Invalid token or Authentication Header parameter"
|
2357 |
msgstr ""
|
2358 |
"401 - Unauthorized Access - Invalid token or Authentication Header parameter"
|
2359 |
|
2360 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:107
|
2361 |
msgctxt "dhl"
|
2362 |
msgid "408 - Request Timeout"
|
2363 |
msgstr "408 - Request Timeout"
|
2364 |
|
2365 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:110
|
2366 |
msgctxt "dhl"
|
2367 |
msgid "429 - Too many requests in given amount of time"
|
2368 |
msgstr "429 - Too many requests in given amount of time"
|
2369 |
|
2370 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:113
|
2371 |
msgctxt "dhl"
|
2372 |
msgid "503 - Service Unavailable"
|
2373 |
msgstr "503 - Service Unavailable"
|
2374 |
|
2375 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:117
|
2376 |
msgctxt "dhl"
|
2377 |
msgid "GET error or timeout occured. Please try again later."
|
2378 |
msgstr "GET Fehler oder Zeitüberschreitung. Bitte später erneut versuchen."
|
2379 |
|
2380 |
+
#: woocommerce-germanized-dhl/src/Api/Rest.php:170
|
2381 |
msgctxt "dhl"
|
2382 |
msgid "POST error or timeout occured. Please try again later."
|
2383 |
msgstr "POST Fehler oder Zeitüberschreitung. Bitte später erneut versuchen."
|
2384 |
|
2385 |
+
#: woocommerce-germanized-dhl/src/DataStores/Label.php:316
|
2386 |
msgctxt "dhl"
|
2387 |
msgid "Invalid label."
|
2388 |
msgstr "Ungültiges Label."
|
2394 |
msgid "%s-%s"
|
2395 |
msgstr "%s-%s"
|
2396 |
|
2397 |
+
#: woocommerce-germanized-dhl/src/Package.php:274
|
2398 |
msgctxt "dhl"
|
2399 |
msgid ""
|
2400 |
"Please check the street field and make sure to provide a valid street number."
|
2403 |
"angegeben wurde."
|
2404 |
|
2405 |
# @ woocommerce-germanized
|
2406 |
+
#: woocommerce-germanized-dhl/src/Package.php:961
|
2407 |
msgctxt "dhl"
|
2408 |
msgid "Germany"
|
2409 |
msgstr "Deutschland"
|
2410 |
|
2411 |
# @ woocommerce-germanized
|
2412 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:90
|
2413 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:849
|
2414 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:878
|
2415 |
msgctxt "dhl"
|
2416 |
msgid "Address Type"
|
2417 |
msgstr "Adresstyp"
|
2418 |
|
2419 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:93
|
2420 |
msgctxt "dhl"
|
2421 |
msgid "Select whether delivery to DHL locations should be enabled."
|
2422 |
msgstr ""
|
2423 |
"Wählen Sie aus, ob die Lieferung an DHL Standorte aktiviert werden soll."
|
2424 |
|
2425 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:98
|
2426 |
msgctxt "dhl"
|
2427 |
msgid "Postnumber"
|
2428 |
msgstr "Postnummer"
|
2429 |
|
2430 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:100
|
2431 |
msgctxt "dhl"
|
2432 |
msgid ""
|
2433 |
"In case delivery to packstation is selected please fill in the corresponding "
|
2436 |
"Insofern die Lieferung an eine Packstation erfolgt, bitte die Postnummer "
|
2437 |
"eintragen."
|
2438 |
|
2439 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:186
|
2440 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:565
|
2441 |
msgctxt "dhl"
|
2442 |
msgid "Invalid address type."
|
2443 |
msgstr "Ungültiger Adresstyp."
|
2444 |
|
2445 |
# @ woocommerce-germanized
|
2446 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:637
|
2447 |
msgctxt "dhl"
|
2448 |
msgid "Sorry, but delivery to packstation is not available."
|
2449 |
msgstr ""
|
2450 |
"Entschuldigung, die Lieferung an eine Packstation steht nicht zur Verfügung."
|
2451 |
|
2452 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:642
|
2453 |
msgctxt "dhl"
|
2454 |
msgid "Sorry, but delivery to parcel shops is not available."
|
2455 |
msgstr ""
|
2456 |
"Entschuldigung, die Lieferung an einen Paketshop steht nicht zur Verfügung."
|
2457 |
|
2458 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:646
|
2459 |
msgctxt "dhl"
|
2460 |
msgid "Sorry, but delivery to post offices is not available."
|
2461 |
msgstr "Entschuldigung, die Lieferung an Postfilialen ist nicht verfügbar."
|
2462 |
|
2463 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:653
|
2464 |
#, php-format
|
2465 |
msgctxt "dhl"
|
2466 |
msgid "Please indicate shipment to %s by one of the following values: %s."
|
2468 |
"Bitte identifizieren Sie die Lieferung an %s durch die Eingabe einer der "
|
2469 |
"folgenden Werte: %s."
|
2470 |
|
2471 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:661
|
2472 |
msgctxt "dhl"
|
2473 |
msgid ""
|
2474 |
"Your DHL customer number (Post number) is not valid. Please check your "
|
2477 |
"Ihre DHL Kundennummer (Postnummer) ist nicht gültig. Bitte überprüfen Sie "
|
2478 |
"Ihre Eingabe."
|
2479 |
|
2480 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:664
|
2481 |
msgctxt "dhl"
|
2482 |
msgid ""
|
2483 |
"Your DHL customer number (Post number) is needed to ship to a packstation."
|
2485 |
"Ihre DHL Kundennummer (Postnummer) wird für den Versand an eine Packstation "
|
2486 |
"benötigt."
|
2487 |
|
2488 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:713
|
2489 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:840
|
2490 |
msgctxt "dhl"
|
2491 |
msgid "Branch"
|
2492 |
msgstr "Filiale"
|
2493 |
|
2494 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:714
|
2495 |
msgctxt "dhl"
|
2496 |
msgid "Postnumber "
|
2497 |
msgstr "Postnummer "
|
2498 |
|
2499 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:815
|
2500 |
#, php-format
|
2501 |
msgctxt "dhl"
|
2502 |
msgid "e.g. %s 456"
|
2503 |
msgstr "z.B. %s 456"
|
2504 |
|
2505 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:840
|
2506 |
msgctxt "dhl"
|
2507 |
msgid "Branches"
|
2508 |
msgstr "Filialen"
|
2509 |
|
2510 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:856
|
2511 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:889
|
2512 |
msgctxt "dhl"
|
2513 |
msgid "DHL customer number (Post number)"
|
2514 |
msgstr "DHL Kundennummer (Postnummer)"
|
2515 |
|
2516 |
# @ woocommerce-germanized
|
2517 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:866
|
2518 |
msgctxt "dhl"
|
2519 |
msgid "Regular Address"
|
2520 |
msgstr "Normale Adresse"
|
2521 |
|
2522 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:893
|
2523 |
msgctxt "dhl"
|
2524 |
msgid "Not yet a DHL customer?"
|
2525 |
msgstr "Noch kein DHL Kunde?"
|
2526 |
|
2527 |
# @ woocommerce-germanized
|
2528 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:893
|
2529 |
msgctxt "dhl"
|
2530 |
msgid "Register now"
|
2531 |
msgstr "Jetzt registrieren"
|
2532 |
|
2533 |
# @ woocommerce-germanized
|
2534 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:942
|
2535 |
#, php-format
|
2536 |
msgctxt "dhl"
|
2537 |
msgid "Search %s"
|
2538 |
msgstr "%s suchen"
|
2539 |
|
2540 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:1047
|
2541 |
msgctxt "dhl"
|
2542 |
msgid "No DHL locations found"
|
2543 |
msgstr "Keine DHL Standorte gefunden"
|
2544 |
|
2545 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:1062
|
2546 |
#, php-format
|
2547 |
msgctxt "dhl"
|
2548 |
msgid ""
|
2553 |
"einen %s oder %s."
|
2554 |
|
2555 |
# @ woocommerce-germanized
|
2556 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:1062
|
2557 |
msgctxt "dhl"
|
2558 |
msgid "DHL location"
|
2559 |
msgstr "DHL Standort"
|
2560 |
|
2561 |
+
#: woocommerce-germanized-dhl/src/ParcelLocator.php:1062
|
2562 |
msgctxt "dhl"
|
2563 |
msgid "retry"
|
2564 |
msgstr "Erneut versuchen"
|
2586 |
msgid "Please choose name and address of your preferred neighbor."
|
2587 |
msgstr "Bitte wählen Sie einen Namen und die Adresse Ihres Wunschnachbars."
|
2588 |
|
2589 |
+
#: woocommerce-germanized-dhl/src/ReturnLabel.php:124
|
2590 |
#: woocommerce-germanized-dhl/src/SimpleLabel.php:86
|
2591 |
#, php-format
|
2592 |
msgctxt "dhl full name"
|
2593 |
msgid "%1$s"
|
2594 |
msgstr "%1$s"
|
2595 |
|
2596 |
+
#: woocommerce-germanized-dhl/src/ShippingProvider/DHL.php:47
|
2597 |
msgctxt "dhl"
|
2598 |
msgid ""
|
2599 |
"Complete DHL integration supporting labels, preferred services and "
|
2602 |
"DHL Integration die das Erzeugen von Labels, Wunsch-Services und Lieferung "
|
2603 |
"an Packstationen unterstützt."
|
2604 |
|
2605 |
+
#: woocommerce-germanized-dhl/src/ShippingProvider/DeutschePost.php:31
|
2606 |
+
msgctxt "dhl"
|
2607 |
+
msgid "Deutsche Post"
|
2608 |
+
msgstr "Deutsche Post"
|
2609 |
+
|
2610 |
+
#: woocommerce-germanized-dhl/src/ShippingProvider/DeutschePost.php:39
|
2611 |
+
msgctxt "dhl"
|
2612 |
+
msgid "Integration for products of the Deutsche Post through Internetmarke."
|
2613 |
+
msgstr "Integration von Produkten der Deutschen Post über die Internetmarke."
|
2614 |
+
|
2615 |
#: woocommerce-germanized-dhl/templates/checkout/dhl/parcel-finder-result.php:31
|
2616 |
msgctxt "dhl"
|
2617 |
msgid "Opening Times"
|
2783 |
"Ihre Installation des Germanized DHL Plugins ist unvollständig. Bitte führen "
|
2784 |
"Sie %1$s im %2$s Verzeichnis aus."
|
2785 |
|
2786 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:32
|
2787 |
#, php-format
|
2788 |
msgctxt "shipments"
|
2789 |
+
msgid "Content (%s)"
|
2790 |
+
msgstr "Inhalt (%s)"
|
2791 |
|
2792 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:38
|
2793 |
#, php-format
|
2794 |
msgctxt "shipments"
|
2795 |
msgid "Dimensions (%s)"
|
2796 |
msgstr "Abmessungen (%s)"
|
2797 |
|
2798 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:38
|
2799 |
msgctxt "shipments"
|
2800 |
msgid "LxWxH in decimal form."
|
2801 |
msgstr "LxBxH in dezimaler Form."
|
2802 |
|
2803 |
# @ woocommerce-germanized
|
2804 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:50
|
2805 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:424
|
2806 |
+
msgctxt "shipments"
|
2807 |
+
msgid "Packaging"
|
2808 |
+
msgstr "Verpackung"
|
2809 |
+
|
2810 |
+
# @ woocommerce-germanized
|
2811 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:58
|
2812 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1027
|
2813 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:24
|
2814 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:688
|
2817 |
msgstr "Status"
|
2818 |
|
2819 |
# @ woocommerce-germanized
|
2820 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:68
|
2821 |
msgctxt "shipments"
|
2822 |
msgid "Shipping method"
|
2823 |
msgstr "Versandmethode"
|
2824 |
|
2825 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:78
|
2826 |
msgctxt "shipments"
|
2827 |
msgid "Shipping provider"
|
2828 |
msgstr "Versanddienstleister"
|
2829 |
|
2830 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:89
|
2831 |
msgctxt "shipments"
|
2832 |
msgid "Tracking Number"
|
2833 |
msgstr "Sendungsnummer"
|
2834 |
|
2835 |
# @ woocommerce-germanized
|
2836 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:155
|
2837 |
msgctxt "shipments"
|
2838 |
msgid "Add item"
|
2839 |
msgstr "Position hinzufügen"
|
2840 |
|
2841 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:159
|
2842 |
msgctxt "shipments"
|
2843 |
msgid "Automatically adjust items and quantities based on order item data."
|
2844 |
msgstr "Bestimmt Positionen und Anzahlen automatisch anhand der Bestelldaten."
|
2845 |
|
2846 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:159
|
2847 |
msgctxt "shipments"
|
2848 |
msgid "Sync items"
|
2849 |
msgstr "Positionen synchronisieren"
|
2850 |
|
2851 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:179
|
2852 |
msgctxt "shipments"
|
2853 |
msgid "Add Item"
|
2854 |
msgstr "Position hinzufügen"
|
2855 |
|
2856 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:189
|
2857 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:45
|
2858 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:88
|
2859 |
msgctxt "shipments"
|
2860 |
msgid "Item"
|
2861 |
msgstr "Position"
|
2862 |
|
2863 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:190
|
2864 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:46
|
2865 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:93
|
2866 |
#: woocommerce-germanized-shipments/templates/emails/email-shipment-details.php:55
|
2867 |
#: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:37
|
2868 |
#: woocommerce-germanized-shipments/templates/shipment/shipment-details.php:60
|
2870 |
msgid "Quantity"
|
2871 |
msgstr "Anzahl"
|
2872 |
|
2873 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:208
|
2874 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:55
|
2875 |
msgctxt "shipments"
|
2876 |
msgid "Add"
|
2877 |
msgstr "Hinzufügen"
|
2878 |
|
2879 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:232
|
2880 |
msgctxt "shipments"
|
2881 |
msgid ""
|
2882 |
"Send return instructions to your customer via email including return label "
|
2885 |
"Informationen zur Rücksendung inkl. Label, falls verfügbar an Kunden via E-"
|
2886 |
"Mail senden."
|
2887 |
|
2888 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:232
|
2889 |
msgctxt "shipments"
|
2890 |
msgid "Resend notification"
|
2891 |
msgstr "Benachrichtigung erneut versenden"
|
2892 |
|
2893 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:232
|
2894 |
msgctxt "shipments"
|
2895 |
msgid "Notify customer"
|
2896 |
msgstr "Notify customer"
|
2897 |
|
2898 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:234
|
2899 |
msgctxt "shipments"
|
2900 |
msgid ""
|
2901 |
"Confirm the return request to the customer. The customer receives an email "
|
2906 |
"enthält."
|
2907 |
|
2908 |
# @ woocommerce-germanized
|
2909 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:234
|
2910 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:66
|
2911 |
msgctxt "shipments"
|
2912 |
msgid "Confirm return request"
|
2913 |
msgstr "Rücksendeantrag bestätigen"
|
2914 |
|
2915 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:238
|
2916 |
#, php-format
|
2917 |
msgctxt "shipments"
|
2918 |
msgid "Delete %s"
|
2942 |
|
2943 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-list.php:22
|
2944 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:76
|
2945 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:75
|
2946 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:509
|
2947 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:630
|
2948 |
#: woocommerce-germanized-shipments/src/Admin/Settings.php:80
|
2949 |
#: woocommerce-germanized-shipments/src/Admin/Settings.php:177
|
2950 |
#: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:36
|
2952 |
msgid "Returns"
|
2953 |
msgstr "Retouren"
|
2954 |
|
2955 |
+
# @ woocommerce-germanized
|
2956 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-packaging-select.php:17
|
2957 |
+
#: woocommerce-germanized-shipments/includes/wc-gzd-packaging-functions.php:52
|
2958 |
+
msgctxt "shipments-packaging"
|
2959 |
+
msgid "None"
|
2960 |
+
msgstr "Keine"
|
2961 |
+
|
2962 |
+
# @ woocommerce-germanized
|
2963 |
+
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-packaging-select.php:27
|
2964 |
+
msgctxt "shipments"
|
2965 |
+
msgid "Does not fit"
|
2966 |
+
msgstr "Passt nicht"
|
2967 |
+
|
2968 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment.php:16
|
2969 |
#, php-format
|
2970 |
msgctxt "shipment admin title"
|
2974 |
# @ woocommerce-germanized
|
2975 |
#: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:19
|
2976 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:69
|
2977 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:439
|
2978 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:508
|
2979 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:596
|
2980 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:663
|
2981 |
#: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:20
|
2982 |
msgctxt "shipments"
|
2983 |
msgid "Shipments"
|
3008 |
#: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:11
|
3009 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:22
|
3010 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:686
|
3011 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:555
|
3012 |
msgctxt "shipments"
|
3013 |
msgid "Title"
|
3014 |
msgstr "Titel"
|
3015 |
|
3016 |
# @ woocommerce-germanized
|
3017 |
#: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:12
|
3018 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:316
|
3019 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:564
|
3020 |
msgctxt "shipments"
|
3021 |
msgid "Description"
|
3022 |
msgstr "Beschreibung"
|
3072 |
msgstr "Download"
|
3073 |
|
3074 |
#: woocommerce-germanized-shipments/includes/admin/views/label/html-shipment-label.php:39
|
3075 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:722
|
3076 |
msgctxt "shipments"
|
3077 |
msgid "Create new label"
|
3078 |
msgstr "Neues Label erstellen"
|
3293 |
msgstr ""
|
3294 |
"Fügen Sie Empfänger (kommasepariert) für diese E-Mail ein. Standard: %s."
|
3295 |
|
3296 |
+
#: woocommerce-germanized-shipments/includes/wc-gzd-packaging-functions.php:24
|
3297 |
+
msgctxt "shipments"
|
3298 |
+
msgid "Cardboard"
|
3299 |
+
msgstr "Karton"
|
3300 |
+
|
3301 |
+
#: woocommerce-germanized-shipments/includes/wc-gzd-packaging-functions.php:25
|
3302 |
+
msgctxt "shipments"
|
3303 |
+
msgid "Letter"
|
3304 |
+
msgstr "Brief"
|
3305 |
+
|
3306 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:68
|
3307 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1025
|
3308 |
msgctxt "shipments"
|
3391 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:413
|
3392 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:417
|
3393 |
#: woocommerce-germanized-shipments/src/ReturnShipment.php:420
|
3394 |
+
#: woocommerce-germanized-shipments/src/ReturnShipment.php:479
|
3395 |
#: woocommerce-germanized-shipments/src/SimpleShipment.php:118
|
3396 |
+
#: woocommerce-germanized-shipments/src/SimpleShipment.php:214
|
3397 |
msgctxt "shipments"
|
3398 |
msgid "Invalid shipment order"
|
3399 |
msgstr "Ungültige Bestellung zur Sendung"
|
3435 |
|
3436 |
# @ woocommerce-germanized
|
3437 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1029
|
3438 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:98
|
3439 |
#: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:30
|
3440 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:694
|
3441 |
msgctxt "shipments"
|
3450 |
# @ woocommerce-germanized
|
3451 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1272
|
3452 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:865
|
3453 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:337
|
3454 |
msgctxt "shipments"
|
3455 |
msgid "Download label"
|
3456 |
msgstr "Label downloaden"
|
3464 |
msgstr "Mein Konto"
|
3465 |
|
3466 |
#: woocommerce-germanized-shipments/includes/wc-gzd-shipments-template-functions.php:115
|
3467 |
+
#: woocommerce-germanized-shipments/src/DataStores/Shipment.php:354
|
3468 |
msgctxt "shipments"
|
3469 |
msgid "Invalid shipment."
|
3470 |
msgstr "Ungültige Sendung."
|
3487 |
msgstr "Bestellung ansehen"
|
3488 |
|
3489 |
# @ woocommerce-germanized
|
3490 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:106
|
3491 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:241
|
3492 |
#: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:36
|
3493 |
msgctxt "shipments"
|
3494 |
msgid "Reason"
|
3495 |
msgstr "Rücksendegrund"
|
3496 |
|
3497 |
# @ woocommerce-germanized
|
3498 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:233
|
3499 |
msgctxt "shipments"
|
3500 |
msgid "Return reasons"
|
3501 |
msgstr "Rücksendegründe"
|
3502 |
|
3503 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:240
|
3504 |
msgctxt "shipments"
|
3505 |
msgid "Reason code"
|
3506 |
msgstr "Rücksendegrund (Code)"
|
3507 |
|
3508 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:240
|
3509 |
msgctxt "shipments"
|
3510 |
msgid "The reason code is used to identify the reason."
|
3511 |
msgstr ""
|
3513 |
"identifizieren zu können."
|
3514 |
|
3515 |
# @ woocommerce-germanized
|
3516 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:241
|
3517 |
msgctxt "shipments"
|
3518 |
msgid "Choose a reason text."
|
3519 |
msgstr "Beschreibung für den Grund."
|
3520 |
|
3521 |
# @ woocommerce-germanized
|
3522 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:260
|
3523 |
msgctxt "shipments"
|
3524 |
msgid "+ Add reason"
|
3525 |
msgstr "+ Grund hinzufügen"
|
3526 |
|
3527 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:260
|
3528 |
msgctxt "shipments"
|
3529 |
msgid "Remove selected reason(s)"
|
3530 |
msgstr "Ausgewählte Gründe löschen"
|
3531 |
|
3532 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:293
|
3533 |
+
msgctxt "shipments"
|
3534 |
+
msgid "Available Packaging"
|
3535 |
+
msgstr "Verfügbare Verpackungen"
|
3536 |
+
|
3537 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:316
|
3538 |
+
msgctxt "shipments"
|
3539 |
+
msgid "A description to help you identify the packaging."
|
3540 |
+
msgstr ""
|
3541 |
+
"Eine Beschreibung die Ihnen dabei hilft Verpackungen zu identifizieren."
|
3542 |
+
|
3543 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:317
|
3544 |
+
msgctxt "shipments"
|
3545 |
+
msgid "Type"
|
3546 |
+
msgstr "Typ"
|
3547 |
+
|
3548 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:318
|
3549 |
+
#, php-format
|
3550 |
+
msgctxt "shipments"
|
3551 |
+
msgid "Weight (%s)"
|
3552 |
+
msgstr "Gewicht (%s)"
|
3553 |
+
|
3554 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:318
|
3555 |
+
msgctxt "shipments"
|
3556 |
+
msgid "The weight of the packaging."
|
3557 |
+
msgstr "Das Gewicht der Verpackung."
|
3558 |
+
|
3559 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:319
|
3560 |
+
#, php-format
|
3561 |
+
msgctxt "shipments"
|
3562 |
+
msgid "Dimensions (LxWxH, %s)"
|
3563 |
+
msgstr "Abmessungen (LxBxH, %s)"
|
3564 |
+
|
3565 |
+
# @ woocommerce-germanized
|
3566 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:320
|
3567 |
+
msgctxt "shipments"
|
3568 |
+
msgid "Max weight (kg)"
|
3569 |
+
msgstr "Max. Gewicht (kg)"
|
3570 |
+
|
3571 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:320
|
3572 |
+
msgctxt "shipments"
|
3573 |
+
msgid ""
|
3574 |
+
"The maximum weight this packaging can hold. Leave empty to not restrict "
|
3575 |
+
"maximum weight."
|
3576 |
+
msgstr ""
|
3577 |
+
"Das maximale Gewicht, das diese Verpackung tragen kann. Leer lassen um das "
|
3578 |
+
"Gewicht nicht zu begrenzen."
|
3579 |
+
|
3580 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:345
|
3581 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:386
|
3582 |
+
msgctxt "shipments"
|
3583 |
+
msgid "Length"
|
3584 |
+
msgstr "Länge"
|
3585 |
+
|
3586 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:346
|
3587 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:387
|
3588 |
+
msgctxt "shipments"
|
3589 |
+
msgid "Width"
|
3590 |
+
msgstr "Breite"
|
3591 |
+
|
3592 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:347
|
3593 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:388
|
3594 |
+
msgctxt "shipments"
|
3595 |
+
msgid "Height"
|
3596 |
+
msgstr "Höhe"
|
3597 |
+
|
3598 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:360
|
3599 |
+
msgctxt "shipments"
|
3600 |
+
msgid "+ Add packaging"
|
3601 |
+
msgstr "+ Verpackung hinzufügen"
|
3602 |
+
|
3603 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:360
|
3604 |
+
msgctxt "shipments"
|
3605 |
+
msgid "Remove selected packaging"
|
3606 |
+
msgstr "Ausgewählte Verpackung löschen"
|
3607 |
+
|
3608 |
# @ woocommerce-germanized
|
3609 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:493
|
3610 |
msgctxt "shipments"
|
3611 |
msgid "Create shipments"
|
3612 |
msgstr "Sendungen erstellen"
|
3613 |
|
3614 |
# @ woocommerce-germanized
|
3615 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:608
|
3616 |
msgctxt "shipments"
|
3617 |
msgid "Search shipments"
|
3618 |
msgstr "Sendungen suchen"
|
3619 |
|
3620 |
# @ woocommerce-germanized
|
3621 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:642
|
3622 |
msgctxt "shipments"
|
3623 |
msgid "Search returns"
|
3624 |
msgstr "Retouren suchen"
|
3625 |
|
3626 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:715
|
3627 |
msgctxt "shipments"
|
3628 |
msgid "Do you really want to delete the shipment?"
|
3629 |
msgstr "Möchten Sie die Sendung wirklich löschen?"
|
3630 |
|
3631 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:721
|
3632 |
msgctxt "shipments"
|
3633 |
msgid "Do you really want to delete the label?"
|
3634 |
msgstr "Möchten Sie das Label wirklich löschen?"
|
3635 |
|
3636 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:723
|
3637 |
msgctxt "shipments"
|
3638 |
msgid "Please save the shipment before creating a new label"
|
3639 |
msgstr "Bitte speichern Sie die Sendung bevor Sie ein neues Label erstellen"
|
3640 |
|
3641 |
+
#: woocommerce-germanized-shipments/src/Admin/Admin.php:773
|
3642 |
msgctxt "shipments"
|
3643 |
msgid ""
|
3644 |
"Do you really want to delete the shipping provider? Some of your existing "
|
4040 |
msgid "List shipments on customer account order screen."
|
4041 |
msgstr "Liste Sendungen im Kundenkonto in den Bestelldetails auf."
|
4042 |
|
4043 |
+
# @ woocommerce-germanized
|
4044 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:280
|
4045 |
+
msgctxt "shipments"
|
4046 |
+
msgid "Default packaging"
|
4047 |
+
msgstr "Standard-Verpackung"
|
4048 |
+
|
4049 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:281
|
4050 |
+
msgctxt "shipments"
|
4051 |
+
msgid ""
|
4052 |
+
"Choose a packaging which serves as fallback or default in case no suitable "
|
4053 |
+
"packaging could be matched for a certain shipment."
|
4054 |
+
msgstr ""
|
4055 |
+
"Wählen Sie eine Verpackung aus, die im Zweifel für die Sendung verwendet "
|
4056 |
+
"wird, wenn keine passende Verpackung gefunden werden konnte."
|
4057 |
+
|
4058 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:379
|
4059 |
msgctxt "shipments"
|
4060 |
msgid "New provider"
|
4061 |
msgstr "Neuer Dienstleister"
|
4062 |
|
4063 |
# @ woocommerce-germanized
|
4064 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:389
|
4065 |
msgctxt "shipments"
|
4066 |
msgid "Additional settings"
|
4067 |
msgstr "Weiterführende Einstellungen"
|
4068 |
|
4069 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:415
|
4070 |
msgctxt "shipments"
|
4071 |
msgid "Add provider"
|
4072 |
msgstr "Dienstleister hinzufügen"
|
4073 |
|
4074 |
# @ woocommerce-germanized
|
4075 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:423
|
4076 |
msgctxt "shipments"
|
4077 |
msgid "General"
|
4078 |
msgstr "Allgemein"
|
4079 |
|
4080 |
+
#: woocommerce-germanized-shipments/src/Admin/Settings.php:425
|
4081 |
#: woocommerce-germanized-shipments/src/ShippingProviderMethod.php:56
|
4082 |
msgctxt "shipments"
|
4083 |
msgid "Shipping Provider"
|
4148 |
|
4149 |
# @ woocommerce-germanized
|
4150 |
#: woocommerce-germanized-shipments/src/Admin/Table.php:664
|
4151 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:816
|
4152 |
#, php-format
|
4153 |
msgctxt "shipments"
|
4154 |
msgid "Order #%s"
|
4233 |
msgid "Generate and download labels"
|
4234 |
msgstr "Labels erstellen und downloaden"
|
4235 |
|
4236 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:95
|
4237 |
msgctxt "shipments"
|
4238 |
msgid "Notification successfully sent to customer."
|
4239 |
msgstr "Kunde erfolgreich benachrichtigt."
|
4240 |
|
4241 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:102
|
4242 |
msgctxt "shipments"
|
4243 |
msgid "There was an error while sending the notification."
|
4244 |
msgstr "Beim Versendes der Benachrichtigung ist ein Fehler aufgetreten."
|
4245 |
|
4246 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:142
|
4247 |
msgctxt "shipments"
|
4248 |
msgid "Return request confirmed successfully."
|
4249 |
msgstr "Rücksendeantrag erfolgreich bestätigt."
|
4250 |
|
4251 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:154
|
4252 |
msgctxt "shipments"
|
4253 |
msgid "There was an error while confirming the request."
|
4254 |
msgstr "Bei der Bestätigung des Antrags ist ein Fehler aufgetreten."
|
4255 |
|
4256 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:174
|
4257 |
msgctxt "shipments"
|
4258 |
msgid "There was an error creating the label."
|
4259 |
msgstr "Beim Erstellen des Labels ist ein Fehler aufgetreten."
|
4260 |
|
4261 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:210
|
4262 |
msgctxt "shipments"
|
4263 |
msgid "There was an error deleting the label."
|
4264 |
msgstr "Beim Löschen des Labels ist ein Fehler aufgetreten."
|
4265 |
|
4266 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:251
|
4267 |
msgctxt "shipments"
|
4268 |
msgid "There was an error processing the label."
|
4269 |
msgstr "Bei der Verarbeitung des Labels ist ein Fehler aufgetreten."
|
4270 |
|
4271 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:349
|
4272 |
msgctxt "shipments"
|
4273 |
msgid "There was an error while trying to save the shipping provider status."
|
4274 |
msgstr ""
|
4275 |
"Beim Speichern des Status des Versanddienstleisters trat ein Fehler auf."
|
4276 |
|
4277 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:387
|
4278 |
msgctxt "shipments"
|
4279 |
msgid "There was an error while trying to delete the shipping provider."
|
4280 |
msgstr "Beim Löschen des Versanddienstleisters trat ein Fehler auf."
|
4281 |
|
4282 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:420
|
4283 |
msgctxt "shipments"
|
4284 |
msgid "There was an error while bulk processing shipments."
|
4285 |
msgstr ""
|
4286 |
"Bei der Verarbeitung der Mehrfachaktionen von Sendungen trat ein Fehler auf."
|
4287 |
|
4288 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:532
|
4289 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:633
|
4290 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:690
|
4291 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:727
|
4292 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:854
|
4293 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:915
|
4294 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:982
|
4295 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1015
|
4296 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1064
|
4297 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1132
|
4298 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1173
|
4299 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1228
|
4300 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:1272
|
4301 |
msgctxt "shipments"
|
4302 |
msgid "There was an error processing the shipment"
|
4303 |
msgstr "Fehler bei der Verarbeitung der Sendung"
|
4304 |
|
4305 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:574
|
4306 |
msgctxt "shipments"
|
4307 |
msgid "There was an error while adding the shipment"
|
4308 |
msgstr "Beim Hinzufügen der Sendung ist ein Fehler aufgetreten"
|
4309 |
|
4310 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:595
|
4311 |
msgctxt "shipments"
|
4312 |
msgid "This order contains enough shipments already."
|
4313 |
msgstr "Diese Bestellung beinhaltet bereits genug Sendungen."
|
4314 |
|
4315 |
+
#: woocommerce-germanized-shipments/src/Ajax.php:652
|
4316 |
msgctxt "shipments"
|
4317 |
msgid "This order contains enough returns already."
|
4318 |
msgstr "Diese Bestellung beinhaltet bereits genügend Retouren."
|
4499 |
msgstr "Anzahl."
|
4500 |
|
4501 |
# @ woocommerce-germanized
|
4502 |
+
#: woocommerce-germanized-shipments/src/Automation.php:127
|
4503 |
msgctxt "shipments"
|
4504 |
msgid "Order is fully shipped."
|
4505 |
msgstr "Bestellung ist vollständig versandt."
|
4506 |
|
4507 |
+
#: woocommerce-germanized-shipments/src/DataStores/Packaging.php:236
|
4508 |
+
msgctxt "shipments"
|
4509 |
+
msgid "Invalid packaging."
|
4510 |
+
msgstr "Verpackung nicht verfügbar."
|
4511 |
+
|
4512 |
#: woocommerce-germanized-shipments/src/DataStores/ShipmentItem.php:195
|
4513 |
msgctxt "shipments"
|
4514 |
msgid "Invalid shipment item."
|
4614 |
"Es gab ein Problem beim Erstellen der Rücksendung. Bitte kontaktieren Sie "
|
4615 |
"uns für weitere Informationen."
|
4616 |
|
4617 |
+
#: woocommerce-germanized-shipments/src/Install.php:31
|
4618 |
msgctxt "shipments"
|
4619 |
msgid "Wrong product or size ordered"
|
4620 |
msgstr "Falsches Produkt oder Größe bestellt"
|
4621 |
|
4622 |
+
#: woocommerce-germanized-shipments/src/Install.php:36
|
4623 |
msgctxt "shipments"
|
4624 |
msgid "Product no longer needed"
|
4625 |
msgstr "Produkt wird nicht länger benötigt"
|
4626 |
|
4627 |
+
#: woocommerce-germanized-shipments/src/Install.php:41
|
4628 |
msgctxt "shipments"
|
4629 |
msgid "Don't like the look"
|
4630 |
msgstr "Optik nicht wie erwartet"
|
4631 |
|
4632 |
+
#: woocommerce-germanized-shipments/src/Install.php:60
|
4633 |
+
msgctxt "shipments"
|
4634 |
+
msgid "Cardboard S"
|
4635 |
+
msgstr "Karton S"
|
4636 |
+
|
4637 |
+
#: woocommerce-germanized-shipments/src/Install.php:69
|
4638 |
+
msgctxt "shipments"
|
4639 |
+
msgid "Cardboard M"
|
4640 |
+
msgstr "Karton M"
|
4641 |
+
|
4642 |
+
#: woocommerce-germanized-shipments/src/Install.php:78
|
4643 |
+
msgctxt "shipments"
|
4644 |
+
msgid "Cardboard L"
|
4645 |
+
msgstr "Karton L"
|
4646 |
+
|
4647 |
+
#: woocommerce-germanized-shipments/src/Install.php:87
|
4648 |
+
msgctxt "shipments"
|
4649 |
+
msgid "Letter C5/6"
|
4650 |
+
msgstr "Brief C5/6"
|
4651 |
+
|
4652 |
+
#: woocommerce-germanized-shipments/src/Install.php:96
|
4653 |
+
msgctxt "shipments"
|
4654 |
+
msgid "Letter C4"
|
4655 |
+
msgstr "Brief C4"
|
4656 |
+
|
4657 |
# @ woocommerce-germanized
|
4658 |
+
#: woocommerce-germanized-shipments/src/Package.php:97
|
4659 |
msgctxt "shipments"
|
4660 |
msgid "Sorry, this order is invalid and cannot be returned."
|
4661 |
msgstr "Sorry, diese Bestellung existiert nicht."
|
4662 |
|
4663 |
+
#: woocommerce-germanized-shipments/src/Packaging.php:266
|
4664 |
+
#, php-format
|
4665 |
+
msgctxt "shipments-packaging-title"
|
4666 |
+
msgid "%1$s (%2$s, %3$s)"
|
4667 |
+
msgstr "%1$s (%2$s, %3$s)"
|
4668 |
+
|
4669 |
#: woocommerce-germanized-shipments/src/ReturnShipment.php:356
|
4670 |
+
#: woocommerce-germanized-shipments/src/Shipment.php:882
|
4671 |
#, php-format
|
4672 |
msgctxt "full name"
|
4673 |
msgid "%1$s %2$s"
|
4674 |
msgstr "%1$s %2$s"
|
4675 |
|
4676 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:270
|
4677 |
msgctxt "shipments"
|
4678 |
msgid ""
|
4679 |
"Your shipment is being processed by {shipping_provider}. If you want to "
|
4687 |
"die Paketverfolgungsdaten zum Zeitpunkt des Erhalts dieser E-Mail noch nicht "
|
4688 |
"den neuesten Stand wiedergeben."
|
4689 |
|
4690 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:543
|
4691 |
#, php-format
|
4692 |
msgctxt "shipments"
|
4693 |
msgid "%s supports many more options. Explore %s."
|
4694 |
msgstr "%s unterstützt viele weitere Einstellungen. Schauen Sie sich %s an."
|
4695 |
|
4696 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:543
|
4697 |
#, php-format
|
4698 |
msgctxt "shipments"
|
4699 |
msgid "%s specific settings"
|
4700 |
msgstr "%s spezifische Einstellungen"
|
4701 |
|
4702 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:556
|
4703 |
msgctxt "shipments"
|
4704 |
msgid "Choose a title for the shipping provider."
|
4705 |
msgstr "Wählen Sie einen Titel für den Versanddienstleister."
|
4706 |
|
4707 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:565
|
4708 |
msgctxt "shipments"
|
4709 |
msgid "Choose a description for the shipping provider."
|
4710 |
msgstr "Wählen Sie eine Beschreibung für den Versanddienstleister."
|
4711 |
|
4712 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:579
|
4713 |
msgctxt "shipments"
|
4714 |
msgid "Tracking URL"
|
4715 |
msgstr "Sendungsverfolgung URL"
|
4716 |
|
4717 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:580
|
4718 |
#, php-format
|
4719 |
msgctxt "shipments"
|
4720 |
msgid ""
|
4728 |
"einzufügen: %s"
|
4729 |
|
4730 |
# @ woocommerce-germanized
|
4731 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:590
|
4732 |
msgctxt "shipments"
|
4733 |
msgid "Tracking description"
|
4734 |
msgstr "Sendungsverfolgung Hinweis"
|
4735 |
|
4736 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:591
|
4737 |
#, php-format
|
4738 |
msgctxt "shipments"
|
4739 |
msgid ""
|
4748 |
"dynamische Daten einzufügen: %s"
|
4749 |
|
4750 |
# @ woocommerce-germanized
|
4751 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:604
|
4752 |
msgctxt "shipments"
|
4753 |
msgid "Customer returns"
|
4754 |
msgstr "Rücksendungen"
|
4755 |
|
4756 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:605
|
4757 |
msgctxt "shipments"
|
4758 |
msgid "Allow customers to submit return requests to shipments."
|
4759 |
msgstr "Erlauben Sie Kunden eine Rücksendung zu einer Sendung zu beantragen."
|
4760 |
|
4761 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:605
|
4762 |
#, php-format
|
4763 |
msgctxt "shipments"
|
4764 |
msgid ""
|
4772 |
"Gästen zu erfahren, lesen Sie bitte die %s."
|
4773 |
|
4774 |
# @ woocommerce-germanized
|
4775 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:605
|
4776 |
msgctxt "shipments"
|
4777 |
msgid "Return Dashboard"
|
4778 |
msgstr "Retouren-Dashboard"
|
4779 |
|
4780 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:605
|
4781 |
msgctxt "shipments"
|
4782 |
msgid "docs"
|
4783 |
msgstr "Dokumentation"
|
4784 |
|
4785 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:614
|
4786 |
msgctxt "shipments"
|
4787 |
msgid "Guest returns"
|
4788 |
msgstr "Retouren für Gäste"
|
4789 |
|
4790 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:615
|
4791 |
msgctxt "shipments"
|
4792 |
msgid "Allow guests to submit return requests to shipments."
|
4793 |
msgstr "Erlauben Sie Gästen Rücksendeanträge zu Bestellungen zu beantragen."
|
4794 |
|
4795 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:615
|
4796 |
#, php-format
|
4797 |
msgctxt "shipments"
|
4798 |
msgid ""
|
4806 |
"Rücksende-Formular für Gäste auf Ihrer Seite zu platzieren."
|
4807 |
|
4808 |
# @ woocommerce-germanized
|
4809 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:626
|
4810 |
msgctxt "shipments"
|
4811 |
msgid "Manual confirmation"
|
4812 |
msgstr "Manuelle Bestätigung"
|
4813 |
|
4814 |
# @ woocommerce-germanized
|
4815 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:627
|
4816 |
msgctxt "shipments"
|
4817 |
msgid "Return requests need manual confirmation."
|
4818 |
msgstr "Rücksendeanträge benötigen eine manuelle Bestätigung."
|
4819 |
|
4820 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:627
|
4821 |
msgctxt "shipments"
|
4822 |
msgid ""
|
4823 |
"By default return request need manual confirmation e.g. a shop manager needs "
|
4834 |
"Mail-Bestätigung samt Retouren-Label."
|
4835 |
|
4836 |
# @ woocommerce-germanized
|
4837 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:639
|
4838 |
msgctxt "shipments"
|
4839 |
msgid "Return instructions"
|
4840 |
msgstr "Rücksende-Anweisungen"
|
4841 |
|
4842 |
+
#: woocommerce-germanized-shipments/src/ShippingProvider.php:640
|
4843 |
msgctxt "shipments"
|
4844 |
msgid ""
|
4845 |
"Provide your customer with instructions on how to return the shipment after "
|
5217 |
# @ woocommerce-germanized
|
5218 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:549
|
5219 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:559
|
5220 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:449
|
5221 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:546
|
5222 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:554
|
5223 |
msgid "incl. VAT"
|
5230 |
|
5231 |
# @ woocommerce-germanized
|
5232 |
#: woocommerce-germanized/includes/abstracts/abstract-wc-gzd-product.php:551
|
5233 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:449
|
5234 |
#, php-format
|
5235 |
msgid "incl. %s%% VAT"
|
5236 |
msgstr "inkl. %s %% MwSt."
|
5472 |
# @ woocommerce-germanized
|
5473 |
# @ woocommerce
|
5474 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:73
|
5475 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:153
|
5476 |
#: woocommerce-germanized/includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:79
|
5477 |
+
#: woocommerce-germanized/woocommerce-germanized.php:816
|
5478 |
msgid "Settings"
|
5479 |
msgstr "Einstellungen"
|
5480 |
|
5491 |
msgstr "Tutorial starten"
|
5492 |
|
5493 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:92
|
|
|
5494 |
#: woocommerce-germanized/includes/admin/views/setup/dhl.php:10
|
5495 |
msgid "DHL"
|
5496 |
msgstr "DHL"
|
5497 |
|
5498 |
# @ woocommerce-germanized
|
5499 |
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:100
|
5500 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:112
|
5501 |
msgid "Import settings"
|
5502 |
msgstr "Einstellungen importieren"
|
5503 |
|
5504 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:104
|
5505 |
+
#: woocommerce-germanized/includes/admin/views/setup/internetmarke.php:10
|
5506 |
+
msgid "Internetmarke"
|
5507 |
+
msgstr "Internetmarke"
|
5508 |
+
|
5509 |
# @ woocommerce-germanized
|
5510 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:143
|
5511 |
msgid "Pages"
|
5512 |
msgstr "Rechtlich relevante Seiten"
|
5513 |
|
5514 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:144
|
5515 |
msgid "Create legal pages placeholders e.g. terms & conditions."
|
5516 |
msgstr "Legen Sie rechtlich relevante Seiten an, z.B. AGB."
|
5517 |
|
5518 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:154
|
5519 |
msgid "Germanize WooCommerce settings (e.g. currency, tax display)."
|
5520 |
msgstr "WooCommerce Einstellungen eindeutschen (z.B. Währung)"
|
5521 |
|
5522 |
# @ woocommerce-germanized
|
5523 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:161
|
5524 |
msgctxt "install"
|
5525 |
msgid "VAT"
|
5526 |
msgstr "USt."
|
5527 |
|
5528 |
# @ woocommerce-germanized
|
5529 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:162
|
5530 |
msgid "Let Germanized insert EU VAT rates."
|
5531 |
msgstr "Lassen Sie Germanized EU-Steuersätze importieren."
|
5532 |
|
5533 |
# @ woocommerce-germanized
|
5534 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:168
|
5535 |
msgctxt "install"
|
5536 |
msgid "Virtual VAT"
|
5537 |
msgstr "Virtuelle USt."
|
5538 |
|
5539 |
# @ woocommerce-germanized
|
5540 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:169
|
5541 |
msgid "Let Germanized insert virtual EU VAT rates."
|
5542 |
msgstr "Lassen Sie Germanized virtuelle EU-Steuersätze importieren."
|
5543 |
|
5544 |
# @ woocommerce-germanized
|
5545 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:180
|
5546 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:202
|
5547 |
#: woocommerce-germanized/includes/admin/views/html-page-status-germanized.php:43
|
5548 |
msgid "Small-Enterprise-Regulation"
|
5549 |
msgstr "Kleinunternehmerregelung"
|
5550 |
|
5551 |
# @ woocommerce-germanized
|
5552 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:181
|
5553 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:203
|
5554 |
msgid "VAT based on §19 UStG"
|
5555 |
msgstr "Umsatzsteuerbefreit nach §19 UStG"
|
5556 |
|
5557 |
# @ woocommerce-germanized
|
5558 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:181
|
5559 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:203
|
5560 |
#, php-format
|
5561 |
msgid ""
|
5567 |
"Gebrauch machen wollen."
|
5568 |
|
5569 |
# @ woocommerce-germanized
|
5570 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:187
|
5571 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:21
|
5572 |
msgid "Double Opt In"
|
5573 |
msgstr "Double-Opt-In"
|
5574 |
|
5575 |
# @ woocommerce-germanized
|
5576 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:188
|
5577 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:38
|
5578 |
msgid "Enable customer double opt in during registration."
|
5579 |
msgstr "Double-Opt-In Verfahren für Kundenkonten aktivieren."
|
5580 |
|
5581 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:188
|
5582 |
#, php-format
|
5583 |
msgid ""
|
5584 |
"Sends an email to the customer after registration to verify his account. "
|
5592 |
"\">Einstellungen</a> können nachträglich angepasst werden."
|
5593 |
|
5594 |
# @ woocommerce-germanized
|
5595 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:208
|
5596 |
msgid "Setup"
|
5597 |
msgstr "Setup"
|
5598 |
|
5599 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:306
|
5600 |
msgid "Germanized › Setup Wizard"
|
5601 |
msgstr "Germanized › Setup"
|
5602 |
|
5603 |
# @ woocommerce-germanized
|
5604 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:375
|
5605 |
msgid "Skip Step"
|
5606 |
msgstr "Schritt überspringen"
|
5607 |
|
5608 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:379
|
5609 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:381
|
5610 |
msgid "Continue"
|
5611 |
msgstr "Weiter"
|
5612 |
|
5613 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-setup-wizard.php:387
|
5614 |
msgid "Return to WP Admin"
|
5615 |
msgstr "Zurück zu WP Admin"
|
5616 |
|
5659 |
msgstr "Willkommen bei Germanized"
|
5660 |
|
5661 |
# @ woocommerce-germanized
|
5662 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin-welcome.php:290
|
5663 |
msgid "Go to Germanized Settings"
|
5664 |
msgstr "Germanized Einstellungen"
|
5665 |
|
5677 |
#: woocommerce-germanized/includes/class-wc-gzd-dependencies.php:65
|
5678 |
#: woocommerce-germanized/includes/class-wc-gzd-hook-priorities.php:35
|
5679 |
#: woocommerce-germanized/includes/class-wc-gzd-hook-priorities.php:44
|
5680 |
+
#: woocommerce-germanized/includes/class-wc-gzd-order-helper.php:21
|
5681 |
+
#: woocommerce-germanized/includes/class-wc-gzd-order-helper.php:30
|
5682 |
#: woocommerce-germanized/includes/class-wc-gzd-product-attribute-helper.php:21
|
5683 |
#: woocommerce-germanized/includes/class-wc-gzd-product-attribute-helper.php:30
|
5684 |
#: woocommerce-germanized/includes/export/class-wc-gzd-product-export.php:23
|
5690 |
msgid "Cheatin’ huh?"
|
5691 |
msgstr "So geht das leider nicht.."
|
5692 |
|
5693 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:114
|
5694 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:148
|
5695 |
msgctxt "dhl"
|
5696 |
msgid "Action failed. Please refresh the page and retry."
|
5697 |
msgstr ""
|
5698 |
"Aktion fehlgeschlagen. Bitte aktualisieren Sie die Seite und versuchen es "
|
5699 |
"erneut."
|
5700 |
|
5701 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:118
|
5702 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:152
|
5703 |
msgctxt "dhl"
|
5704 |
msgid "You don't have permission to do this."
|
5705 |
msgstr "Sie sind leider nicht berechtigt, diese Aktion durchzuführen."
|
5706 |
|
5707 |
# @ woocommerce-germanized
|
5708 |
#. Plugin Name of the plugin/theme
|
5709 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:228
|
5710 |
msgid "Germanized for WooCommerce"
|
5711 |
msgstr "Germanized für WooCommerce"
|
5712 |
|
5713 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:338
|
5714 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:45
|
5715 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:58
|
5716 |
msgid "Yes"
|
5717 |
msgstr "Ja"
|
5718 |
|
5719 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:338
|
5720 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:58
|
5721 |
msgid "No"
|
5722 |
msgstr "Nein"
|
5723 |
|
5724 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:410
|
5725 |
msgid "Paid for order notification manually sent to customer."
|
5726 |
msgstr "Bestellung bezahlt manuell an den Kunden versendet."
|
5727 |
|
5728 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:430
|
5729 |
msgid "Order confirmation manually sent to customer."
|
5730 |
msgstr "Bestellbestätigung manuell an den Kunden versendet."
|
5731 |
|
5732 |
# @ woocommerce-germanized
|
5733 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:450
|
5734 |
msgid "Resend order confirmation"
|
5735 |
msgstr "Bestellbestätigung erneut versenden"
|
5736 |
|
5737 |
# @ woocommerce-germanized
|
5738 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:451
|
5739 |
msgid "Send paid for order notification"
|
5740 |
msgstr "Bestellung bezahlt manuell versenden"
|
5741 |
|
5742 |
# @ woocommerce-germanized
|
5743 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:461
|
5744 |
#: woocommerce-germanized/includes/admin/settings/abstract-wc-gzd-settings-tab.php:114
|
5745 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-germanized.php:23
|
5746 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:9
|
5748 |
msgid "Germanized"
|
5749 |
msgstr "Germanized"
|
5750 |
|
5751 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:475
|
5752 |
msgid "Parcel Delivery Data Transfer:"
|
5753 |
msgstr "Paketdienstleister Datenweitergabe:"
|
5754 |
|
5755 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:476
|
5756 |
msgid "allowed"
|
5757 |
msgstr "akzeptiert"
|
5758 |
|
5759 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:476
|
5760 |
msgid "not allowed"
|
5761 |
msgstr "nicht akzeptiert"
|
5762 |
|
5763 |
# @ woocommerce-germanized
|
5764 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:559
|
5765 |
msgid "Optional Email Content"
|
5766 |
msgstr "Optionaler E-Mail Inhalt"
|
5767 |
|
5768 |
# @ woocommerce-germanized
|
5769 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:577
|
5770 |
msgid "Add content which will be replacing default page content within emails."
|
5771 |
msgstr ""
|
5772 |
"Füllen Sie dieses Feld aus um einen abweichenden E-Mail Anhangstext für "
|
5773 |
"diese Seite zu bestimmen."
|
5774 |
|
5775 |
# @ woocommerce-germanized
|
5776 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:591
|
5777 |
#: woocommerce-germanized/includes/admin/meta-boxes/class-wc-gzd-meta-box-product-data-variable.php:152
|
5778 |
msgid "Optional Mini Description"
|
5779 |
msgstr "Warenkorb Kurzbeschreibung"
|
5780 |
|
5781 |
# @ woocommerce-germanized
|
5782 |
+
#: woocommerce-germanized/includes/admin/class-wc-gzd-admin.php:613
|
5783 |
msgid ""
|
5784 |
"This content will be shown as short product description within checkout and "
|
5785 |
"emails."
|
6002 |
"Einstellungen importieren."
|
6003 |
|
6004 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:35
|
6005 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:35
|
6006 |
msgctxt "dhl"
|
6007 |
msgid "No need to use an external plugin which might lead to incompatibilities"
|
6008 |
msgstr ""
|
6010 |
"bessere Performance"
|
6011 |
|
6012 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:36
|
6013 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:36
|
6014 |
#, php-format
|
6015 |
msgctxt "dhl"
|
6016 |
msgid ""
|
6021 |
"Services pro Versandart und %s"
|
6022 |
|
6023 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:36
|
6024 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:36
|
6025 |
msgctxt "dhl"
|
6026 |
msgid "many more"
|
6027 |
msgstr "und viele mehr"
|
6035 |
"für Sendungen und Retouren"
|
6036 |
|
6037 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:47
|
6038 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:47
|
6039 |
msgctxt "dhl"
|
6040 |
msgid "Import settings and activate"
|
6041 |
msgstr "Einstellungen importieren und loslegen"
|
6042 |
|
6043 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php:53
|
6044 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:53
|
6045 |
msgctxt "dhl"
|
6046 |
msgid "Learn more"
|
6047 |
msgstr "Mehr erfahren"
|
6048 |
|
6049 |
+
# @ woocommerce-germanized
|
6050 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:29
|
6051 |
+
msgctxt "dhl"
|
6052 |
+
msgid "Internetmarke built-in Integration"
|
6053 |
+
msgstr "Internetmarke Integration"
|
6054 |
+
|
6055 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:33
|
6056 |
+
msgctxt "dhl"
|
6057 |
+
msgid ""
|
6058 |
+
"It seems like you are currently using the Deutsche Post Internetmarke "
|
6059 |
+
"plugin. Germanized does now fully integrate Internetmarke and switching is "
|
6060 |
+
"as simple as can be. Check your advantages by using the Internetmarke "
|
6061 |
+
"integration in Germanized and let Germanized import your current settings "
|
6062 |
+
"for you."
|
6063 |
+
msgstr ""
|
6064 |
+
"Es scheint als würden Sie aktuell bereits das Deutsche Post Internetmarke "
|
6065 |
+
"Plugin nutzen. Germanized bietet nun eine eigene, verbesserte Integration "
|
6066 |
+
"der Internetmarke an. Den Wechsel haben wir Ihnen so einfach wie möglich "
|
6067 |
+
"gemacht. Schauen Sie sich Ihre Vorteile bei der Nutzung der Germanized "
|
6068 |
+
"Internetmarke Integration an und lassen Sie Germanized einfach Ihre "
|
6069 |
+
"bestehenden Einstellungen importieren."
|
6070 |
+
|
6071 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php:37
|
6072 |
+
msgctxt "dhl"
|
6073 |
+
msgid ""
|
6074 |
+
"Perfectly integrated in Germanized – easily create stamps for shipments"
|
6075 |
+
msgstr ""
|
6076 |
+
"Perfekt integriert in Germanized – erzeugen Sie einfach Labels für "
|
6077 |
+
"Sendungen"
|
6078 |
+
|
6079 |
# @ woocommerce-germanized
|
6080 |
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note-pro.php:23
|
6081 |
msgid "For professionals: Upgrade to Pro-Version"
|
6230 |
msgid "Run the updater"
|
6231 |
msgstr "Update starten"
|
6232 |
|
6233 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note.php:178
|
6234 |
msgid "Not now"
|
6235 |
msgstr "Nicht jetzt"
|
6236 |
|
6237 |
+
#: woocommerce-germanized/includes/admin/notes/class-wc-gzd-admin-note.php:182
|
6238 |
msgctxt "woocommerce-germanized"
|
6239 |
msgid "Deactivate"
|
6240 |
msgstr "Deaktivieren"
|
6271 |
msgstr "Jetzt upgraden"
|
6272 |
|
6273 |
#: woocommerce-germanized/includes/admin/settings/abstract-wc-gzd-settings-tab.php:152
|
6274 |
+
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:35
|
6275 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-invoices.php:61
|
6276 |
msgid "Learn more"
|
6277 |
msgstr "Mehr erfahren"
|
6292 |
|
6293 |
# @ woocommerce-germanized
|
6294 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-pointers.php:92
|
6295 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:785
|
6296 |
msgid "Status"
|
6297 |
msgstr "Status"
|
6298 |
|
6576 |
"Checkbox bearbeiten indem Sie auf den Link klicken."
|
6577 |
|
6578 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-checkboxes.php:62
|
6579 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:821
|
6580 |
msgid "Label"
|
6581 |
msgstr "Beschriftung"
|
6582 |
|
6646 |
msgstr "pro"
|
6647 |
|
6648 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:19
|
6649 |
+
msgid "Integrate Post & DHL Services such as Labels for Shipments and Returns."
|
|
|
|
|
6650 |
msgstr ""
|
6651 |
+
"Erzeugen Sie bequem Post & DHL Labels zu Sendungen und Retouren über Ihr "
|
6652 |
"Admin-Panel."
|
6653 |
|
6654 |
+
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-dhl.php:44
|
6655 |
+
msgid "Post & DHL"
|
6656 |
+
msgstr "Post & DHL"
|
|
|
6657 |
|
6658 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-doi.php:17
|
6659 |
msgid "Extend the WooCommerce registration process with a double opt in."
|
6807 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-customers-controller.php:144
|
6808 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-orders-controller.php:138
|
6809 |
#: woocommerce-germanized/includes/api/class-wc-gzd-rest-orders-controller.php:145
|
6810 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:553
|
6811 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:566
|
6812 |
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:131
|
6813 |
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:139
|
6814 |
msgid "Title"
|
7276 |
"Platzhalter für den höchsten Preis."
|
7277 |
|
7278 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-general.php:294
|
7279 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:861
|
7280 |
msgid "{min_price} – {max_price}"
|
7281 |
msgstr "{min_price} – {max_price}"
|
7282 |
|
7897 |
|
7898 |
# @ woocommerce-germanized
|
7899 |
#: woocommerce-germanized/includes/admin/settings/class-wc-gzd-settings-tab-taxes.php:30
|
7900 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:451
|
7901 |
msgid "VAT"
|
7902 |
msgstr "Umsatzsteuer"
|
7903 |
|
8152 |
# @ woocommerce-germanized
|
8153 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:11
|
8154 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:27
|
8155 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:793
|
8156 |
msgid "Name"
|
8157 |
msgstr "Name"
|
8158 |
|
8159 |
# @ woocommerce-germanized
|
8160 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:12
|
8161 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-settings-tabs.php:29
|
8162 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:812
|
8163 |
#: woocommerce-germanized/includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php:888
|
8164 |
#: woocommerce-germanized/includes/gateways/invoice/class-wc-gzd-gateway-invoice.php:124
|
8165 |
msgid "Description"
|
8172 |
|
8173 |
# @ woocommerce-germanized
|
8174 |
#: woocommerce-germanized/includes/admin/settings/views/html-admin-page-checkboxes.php:14
|
8175 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:849
|
8176 |
msgid "Mandatory"
|
8177 |
msgstr "Pflichtfeld"
|
8178 |
|
8548 |
"Lassen Sie Germanized Ihre WooCommerce-Einstellungen speziell für %s "
|
8549 |
"anpassen."
|
8550 |
|
8551 |
+
#: woocommerce-germanized/includes/admin/views/setup/internetmarke.php:12
|
8552 |
+
msgid ""
|
8553 |
+
"Want to easily ship your orders via Deutsche Post? Enable our Internetmarke "
|
8554 |
+
"integration and start generating labels for shipments comfortably via your "
|
8555 |
+
"admin panel."
|
8556 |
+
msgstr ""
|
8557 |
+
"Sie möchten Ihre Bestellung mit der Deutschen Post versenden? Aktivieren Sie "
|
8558 |
+
"unsere Integration der Internetmarke und erzeugen Sie bequem Labels zu "
|
8559 |
+
"Sendungen über Ihr Admin-Panel."
|
8560 |
+
|
8561 |
+
#: woocommerce-germanized/includes/admin/views/setup/internetmarke.php:17
|
8562 |
+
msgid ""
|
8563 |
+
"We've found out that you have been using the Internetmarke standalone Plugin "
|
8564 |
+
"already. We will automatically import your settings and you can start using "
|
8565 |
+
"our integration instead."
|
8566 |
+
msgstr ""
|
8567 |
+
"Wir haben herausgefunden, dass Sie bereits das Plugin Deutsche Post "
|
8568 |
+
"Internetmarke verwenden. Wir importieren Ihre Einstellungen automatisch, "
|
8569 |
+
"damit Sie schnell und einfach unsere Integration nutzen können."
|
8570 |
+
|
8571 |
# @ woocommerce-germanized
|
8572 |
#: woocommerce-germanized/includes/admin/views/setup/settings.php:7
|
8573 |
msgid "Adjust Germanized"
|
8818 |
msgstr "Anzahl der veröffentlichten Produkte für die Ressource."
|
8819 |
|
8820 |
# @ woocommerce-germanized
|
8821 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:189
|
8822 |
#, php-format
|
8823 |
msgid "%s [new]"
|
8824 |
msgstr "%s [neu]"
|
8825 |
|
8826 |
# @ woocommerce-germanized
|
8827 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:245
|
8828 |
msgctxt "revocation-form"
|
8829 |
msgid "is not a valid email address."
|
8830 |
msgstr "ist leider keine valide E-Mail Adresse."
|
8831 |
|
8832 |
# @ woocommerce-germanized
|
8833 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:249
|
8834 |
msgctxt "revocation-form"
|
8835 |
msgid "Please enter a valid postcode/ZIP"
|
8836 |
msgstr "Bitte geben Sie eine echte Postleitzahl ein"
|
8837 |
|
8838 |
# @ woocommerce-germanized
|
8839 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:257
|
8840 |
msgctxt "revocation-form"
|
8841 |
msgid "is not valid."
|
8842 |
msgstr "ist leider nicht korrekt."
|
8843 |
|
8844 |
# @ woocommerce-germanized
|
8845 |
+
#: woocommerce-germanized/includes/class-wc-gzd-ajax.php:278
|
8846 |
msgctxt "revocation-form"
|
8847 |
msgid ""
|
8848 |
"Thank you. We have received your Revocation Request. You will receive a "
|
8851 |
"Vielen Dank. Wir haben Ihren Widerruf erhalten. Sie bekommen in Kürze eine E-"
|
8852 |
"Mail mit Ihren Daten als Bestätigung."
|
8853 |
|
8854 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:227
|
8855 |
msgid ""
|
8856 |
"Sorry, but differential taxed products cannot be purchased with normal "
|
8857 |
"products at the same time."
|
8859 |
"Entschuldigung, differenzbesteuerte Produkte können nicht gemeinsam mit "
|
8860 |
"normalen Produkten gekauft werden."
|
8861 |
|
8862 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:233
|
8863 |
msgid ""
|
8864 |
"Sorry, but normal products cannot be purchased together with differential "
|
8865 |
"taxed products at the same time."
|
8868 |
"differenzbesteuerten Produkten gekauft werden."
|
8869 |
|
8870 |
# @ woocommerce-germanized
|
8871 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:790
|
8872 |
#: woocommerce-germanized/includes/class-wc-gzd-revocation.php:52
|
8873 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:604
|
8874 |
msgid "Mr."
|
8875 |
msgstr "Herr"
|
8876 |
|
8877 |
# @ woocommerce-germanized
|
8878 |
+
#: woocommerce-germanized/includes/class-wc-gzd-checkout.php:791
|
8879 |
msgctxt "customer-title-male-address"
|
8880 |
msgid "Mr."
|
8881 |
msgstr "Herrn"
|
8882 |
|
8883 |
+
#: woocommerce-germanized/includes/class-wc-gzd-coupon-helper.php:318
|
8884 |
msgid "Is voucher?"
|
8885 |
msgstr "Wertgutschein?"
|
8886 |
|
8887 |
+
#: woocommerce-germanized/includes/class-wc-gzd-coupon-helper.php:319
|
8888 |
#, php-format
|
8889 |
msgid ""
|
8890 |
"Whether or not this coupon is a voucher which has been sold to a customer "
|
8935 |
msgid "Thank you. You have successfully activated your account."
|
8936 |
msgstr "Vielen Dank. Ihr Benutzerkonto wurde erfolgreich aktiviert."
|
8937 |
|
8938 |
+
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:574
|
8939 |
msgid "Expired activation key"
|
8940 |
msgstr "Abgelaufener Aktivierungscode"
|
8941 |
|
8942 |
+
#: woocommerce-germanized/includes/class-wc-gzd-customer-helper.php:579
|
8943 |
msgid "Invalid activation key"
|
8944 |
msgstr "Aktivierungscode ungültig"
|
8945 |
|
8946 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:186
|
8947 |
msgid "BCC recipients"
|
8948 |
msgstr "BCC Empfänger"
|
8949 |
|
8950 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:188
|
8951 |
msgid "Enter blind-copy recipients (comma separated) for this email."
|
8952 |
msgstr ""
|
8953 |
"Fügen Sie Empfänger (kommasepariert) einer Blindkopie für diese E-Mail ein."
|
8954 |
|
8955 |
# @ woocommerce-germanized
|
8956 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:227
|
8957 |
msgid "Confirmation text"
|
8958 |
msgstr "Bestätigung Text"
|
8959 |
|
8960 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:228
|
8961 |
msgid ""
|
8962 |
"Your order has been received and is now being processed. Your order details "
|
8963 |
"are shown below for your reference:"
|
8966 |
"Ihrer Bestellung können Sie der nachfolgenden Tabelle entnehmen:"
|
8967 |
|
8968 |
# @ woocommerce-germanized
|
8969 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:229
|
8970 |
msgid ""
|
8971 |
"This text will be inserted within the order confirmation email. Use "
|
8972 |
"{order_number}, {site_title} or {order_date} as placeholder."
|
8974 |
"Dieser Text wird in die Bestellbestätigung eingefügt. Verwenden Sie "
|
8975 |
"{order_number}, {site_title} oder {order_date} als Platzhalter."
|
8976 |
|
8977 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:347
|
8978 |
msgid ""
|
8979 |
"Your order has been received and is now being processed. Your order details "
|
8980 |
"are shown below for your reference."
|
8982 |
"Ihre Bestellung ist eingegangen und wird nun bearbeitet. Die Einzelheiten "
|
8983 |
"Ihrer Bestellung können Sie der nachfolgenden Tabelle entnehmen."
|
8984 |
|
8985 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:395
|
8986 |
msgid "Someone requested a password reset for your account."
|
8987 |
msgstr "Jemand hat das Zurücksetzen des Passworts für Ihren Account beantragt."
|
8988 |
|
8989 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:410
|
8990 |
#, php-format
|
8991 |
msgid "Thanks for creating an account on %s."
|
8992 |
msgstr "Danke, dass Sie ein Konto bei %s erstellt haben."
|
8993 |
|
8994 |
# @ woocommerce-germanized
|
8995 |
+
#: woocommerce-germanized/includes/class-wc-gzd-emails.php:1114
|
8996 |
msgctxt "revocation-form"
|
8997 |
msgid "Forward your Revocation online"
|
8998 |
msgstr "Widerruf online erklären"
|
9007 |
"Bitte installieren Sie <a href=\"%s\" target=\"_blank\">WooCommerce</a> "
|
9008 |
"bevor Sie WooCommerce Germanized installieren. Vielen Dank!"
|
9009 |
|
9010 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:486
|
9011 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:500
|
9012 |
msgid "Reduced rate"
|
9013 |
msgstr "Ermäßigter Steuersatz"
|
9014 |
|
9015 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:542
|
9016 |
#, php-format
|
9017 |
msgctxt "vat-rate-import"
|
9018 |
msgid "VAT %s"
|
9019 |
msgstr "MwSt. %s"
|
9020 |
|
9021 |
# @ woocommerce-germanized
|
9022 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:657
|
9023 |
msgctxt "Page slug"
|
9024 |
msgid "data-security"
|
9025 |
msgstr "datenschutzerklaerung"
|
9026 |
|
9027 |
# @ woocommerce-germanized
|
9028 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:658
|
9029 |
msgctxt "Page title"
|
9030 |
msgid "Data Security Statement"
|
9031 |
msgstr "Datenschutzerklärung"
|
9032 |
|
9033 |
# @ woocommerce-germanized
|
9034 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:662
|
9035 |
msgctxt "Page slug"
|
9036 |
msgid "imprint"
|
9037 |
msgstr "impressum"
|
9038 |
|
9039 |
# @ woocommerce-germanized
|
9040 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:663
|
9041 |
msgctxt "Page title"
|
9042 |
msgid "Imprint"
|
9043 |
msgstr "Impressum"
|
9044 |
|
9045 |
# @ woocommerce-germanized
|
9046 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:667
|
9047 |
msgctxt "Page slug"
|
9048 |
msgid "terms"
|
9049 |
msgstr "agb"
|
9050 |
|
9051 |
# @ woocommerce-germanized
|
9052 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:668
|
9053 |
msgctxt "Page title"
|
9054 |
msgid "Terms & Conditions"
|
9055 |
msgstr "AGB"
|
9056 |
|
9057 |
# @ woocommerce-germanized
|
9058 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:672
|
9059 |
msgctxt "Page slug"
|
9060 |
msgid "revocation"
|
9061 |
msgstr "widerrufsbelehrung"
|
9062 |
|
9063 |
# @ woocommerce-germanized
|
9064 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:673
|
9065 |
msgctxt "Page title"
|
9066 |
msgid "Power of Revocation"
|
9067 |
msgstr "Widerrufsbelehrung"
|
9068 |
|
9069 |
# @ woocommerce-germanized
|
9070 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:677
|
9071 |
msgctxt "Page slug"
|
9072 |
msgid "shipping-methods"
|
9073 |
msgstr "versandarten"
|
9074 |
|
9075 |
# @ woocommerce-germanized
|
9076 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:678
|
9077 |
msgctxt "Page title"
|
9078 |
msgid "Shipping Methods"
|
9079 |
msgstr "Versandarten"
|
9080 |
|
9081 |
# @ woocommerce-germanized
|
9082 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:682
|
9083 |
msgctxt "Page slug"
|
9084 |
msgid "payment-methods"
|
9085 |
msgstr "bezahlmoeglichkeiten"
|
9086 |
|
9087 |
# @ woocommerce-germanized
|
9088 |
+
#: woocommerce-germanized/includes/class-wc-gzd-install.php:683
|
9089 |
msgctxt "Page title"
|
9090 |
msgid "Payment Methods"
|
9091 |
msgstr "Zahlungsarten"
|
9304 |
msgid "Checkbox with name %s does already exist."
|
9305 |
msgstr "Eine Checkbox mit dem Namen %s existiert bereits."
|
9306 |
|
9307 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:344
|
9308 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:364
|
9309 |
+
#, php-format
|
9310 |
+
msgid "%s is a mandatory field."
|
9311 |
+
msgstr "%s ist ein Pflichtfeld."
|
9312 |
+
|
9313 |
# @ woocommerce-germanized
|
9314 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:788
|
9315 |
msgid "Enable checkbox"
|
9316 |
msgstr "Checkbox aktivieren"
|
9317 |
|
9318 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:797
|
9319 |
msgid ""
|
9320 |
"Choose a name to identify your checkbox. Upon creating a new checkbox, this "
|
9321 |
"value is being used to generate the Id."
|
9323 |
"Wähle einen Namen um die Checkbox zu identifizieren. Bei Erstellung einer "
|
9324 |
"neuen Checkbox wird dieser Wert verwendet um eine Id zu erstellen."
|
9325 |
|
9326 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:802
|
9327 |
msgid "Id"
|
9328 |
msgstr "Id"
|
9329 |
|
9330 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:806
|
9331 |
msgid ""
|
9332 |
"The checkbox Id is the unique indentifier which is used to identify the "
|
9333 |
"checkbox within the code. Cannot be edited after creating the checkbox."
|
9336 |
"Code heraus zugreifbar zu machen. Kann nach dem Erstellen einer Checkbox "
|
9337 |
"nicht mehr verändert werden."
|
9338 |
|
9339 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:815
|
9340 |
msgid "Describe the use case of your checkbox."
|
9341 |
msgstr "Beschreibe hier den Use-Case der Checkbox."
|
9342 |
|
9343 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:825
|
9344 |
msgid "Choose a label to be inserted next to the checkbox."
|
9345 |
msgstr ""
|
9346 |
"Wählen Sie eine Beschriftung aus, die neben der Checkbox platziert wird."
|
9347 |
|
9348 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:826
|
9349 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:836
|
9350 |
#, php-format
|
9351 |
msgid "You may use one of the following placeholders within the text: %s"
|
9352 |
msgstr "Sie können einen der folgenden Platzhalter im Text verwenden: %s"
|
9353 |
|
9354 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:831
|
9355 |
msgid "Error Message"
|
9356 |
msgstr "Fehlermeldung"
|
9357 |
|
9358 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:835
|
9359 |
msgid ""
|
9360 |
"Choose an error message to be shown when the user has not confirmed the "
|
9361 |
"checkbox."
|
9364 |
"Nutzer die Checkbox nicht bestätigt hat."
|
9365 |
|
9366 |
# @ woocommerce-germanized
|
9367 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:841
|
9368 |
msgid "Hide input"
|
9369 |
msgstr "Ausblenden"
|
9370 |
|
9371 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:844
|
9372 |
msgid "Do only show a label and hide the actual checkbox."
|
9373 |
msgstr ""
|
9374 |
"Zeige lediglich die Beschriftung und entferne die eigentliche Checkbox."
|
9375 |
|
9376 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:852
|
9377 |
msgid "Mark the checkbox as mandatory."
|
9378 |
msgstr "Checkbox zum Pflichtfeld machen."
|
9379 |
|
9380 |
# @ woocommerce-germanized
|
9381 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:857
|
9382 |
msgid "Locations"
|
9383 |
msgstr "Orte"
|
9384 |
|
9385 |
+
#: woocommerce-germanized/includes/class-wc-gzd-legal-checkbox.php:861
|
9386 |
msgid "Choose where to display your checkbox."
|
9387 |
msgstr "Wählen Sie einen Ort aus, an dem die Checkbox platziert werden soll."
|
9388 |
|
9659 |
|
9660 |
# @ woocommerce-germanized
|
9661 |
#: woocommerce-germanized/includes/class-wc-gzd-revocation.php:53
|
9662 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:605
|
9663 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:623
|
9664 |
msgid "Ms."
|
9665 |
msgstr "Frau"
|
9666 |
|
10521 |
msgid "Data Security"
|
10522 |
msgstr "Datenschutzerklärung"
|
10523 |
|
10524 |
+
# @ woocommerce-germanized
|
10525 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:451
|
10526 |
+
#, php-format
|
10527 |
+
msgid "%s%% VAT"
|
10528 |
+
msgstr "%s %% MwSt."
|
10529 |
+
|
10530 |
+
# @ woocommerce-germanized
|
10531 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:603
|
10532 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:630
|
10533 |
+
msgctxt "title-option"
|
10534 |
+
msgid "None"
|
10535 |
+
msgstr "Keine"
|
10536 |
+
|
10537 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:606
|
10538 |
+
#: woocommerce-germanized/includes/wc-gzd-core-functions.php:630
|
10539 |
+
msgid "Mx"
|
10540 |
+
msgstr "Divers"
|
10541 |
+
|
10542 |
# @ woocommerce-germanized
|
10543 |
#: woocommerce-germanized/includes/wc-gzd-template-functions.php:225
|
10544 |
#: woocommerce-germanized/templates/checkout/edit-data-notice.php:25
|
10892 |
msgid "Forward Revocation"
|
10893 |
msgstr "Widerruf erklären"
|
10894 |
|
10895 |
+
#: woocommerce-germanized/templates/global/complaints.php:22
|
10896 |
msgid ""
|
10897 |
"Alternative Dispute Resolution in accordance with Art. 14 (1) ODR-VO and § "
|
10898 |
"36 VSBG:"
|
10914 |
msgid "upgrade"
|
10915 |
msgstr "aktualisieren"
|
10916 |
|
10917 |
+
#: woocommerce-germanized/woocommerce-germanized.php:317
|
10918 |
#, php-format
|
10919 |
msgid ""
|
10920 |
"This version of the Corona Helper Plugin includes a bug which could lead to "
|
12168 |
msgid "https://vendidero.de"
|
12169 |
msgstr "https://vendidero.de"
|
12170 |
|
12171 |
+
# @ woocommerce-germanized
|
12172 |
+
#~ msgctxt "dhl"
|
12173 |
+
#~ msgid "General"
|
12174 |
+
#~ msgstr "Allgemein"
|
12175 |
+
|
12176 |
+
#~ msgctxt "dhl"
|
12177 |
+
#~ msgid "Harmonized Tariff Schedule (DHL)"
|
12178 |
+
#~ msgstr "Harmonized Tariff Schedule (DHL)"
|
12179 |
+
|
12180 |
+
#~ msgctxt "dhl"
|
12181 |
+
#~ msgid "This code is needed for customs of international shipping."
|
12182 |
+
#~ msgstr ""
|
12183 |
+
#~ "Dieser Code wird für die Zollabwicklung bei internationalen Sendungen "
|
12184 |
+
#~ "benötigt."
|
12185 |
+
|
12186 |
+
#~ msgctxt "dhl"
|
12187 |
+
#~ msgid "Visual minimum age"
|
12188 |
+
#~ msgstr "Alterssichtprüfung"
|
12189 |
+
|
12190 |
+
#~ msgctxt "dhl"
|
12191 |
+
#~ msgid "Age Verification"
|
12192 |
+
#~ msgstr "Alterssichtprüfung"
|
12193 |
+
|
12194 |
#~ msgid "PDF Layout"
|
12195 |
#~ msgstr "PDF Layout"
|
12196 |
|
12443 |
#~ msgid "Invalid shipment"
|
12444 |
#~ msgstr "Ungültige Sendung"
|
12445 |
|
|
|
|
|
|
|
|
|
12446 |
#, php-format
|
12447 |
#~ msgctxt "dhl"
|
12448 |
#~ msgid ""
|
includes/admin/class-wc-gzd-admin-notices.php
CHANGED
@@ -44,9 +44,9 @@ if ( ! class_exists( 'WC_GZD_Admin_Notices' ) ) :
|
|
44 |
}
|
45 |
|
46 |
protected function __construct() {
|
47 |
-
add_action( 'admin_init', array( $this, 'check_notice_hide' ) );
|
48 |
|
49 |
-
add_action( 'after_switch_theme', array( $this, 'remove_theme_notice_hide' ) );
|
50 |
add_action( 'admin_print_styles', array( $this, 'add_notices' ), 1 );
|
51 |
|
52 |
include_once( 'notes/class-wc-gzd-admin-note.php' );
|
@@ -56,6 +56,7 @@ if ( ! class_exists( 'WC_GZD_Admin_Notices' ) ) :
|
|
56 |
include_once( 'notes/class-wc-gzd-admin-note-template-outdated.php' );
|
57 |
include_once( 'notes/class-wc-gzd-admin-note-pro.php' );
|
58 |
include_once( 'notes/class-wc-gzd-admin-note-dhl-importer.php' );
|
|
|
59 |
}
|
60 |
|
61 |
public function enable_notices() {
|
@@ -86,14 +87,15 @@ if ( ! class_exists( 'WC_GZD_Admin_Notices' ) ) :
|
|
86 |
public function get_notes() {
|
87 |
if ( is_null( $this->notes ) ) {
|
88 |
|
89 |
-
$notes = array(
|
90 |
'WC_GZD_Admin_Note_Theme_Supported',
|
91 |
'WC_GZD_Admin_Note_Update',
|
92 |
'WC_GZD_Admin_Note_Review',
|
93 |
'WC_GZD_Admin_Note_Template_Outdated',
|
94 |
'WC_GZD_Admin_Note_Pro',
|
95 |
-
'WC_GZD_Admin_Note_DHL_Importer'
|
96 |
-
|
|
|
97 |
|
98 |
$this->notes = array();
|
99 |
|
44 |
}
|
45 |
|
46 |
protected function __construct() {
|
47 |
+
add_action( 'admin_init', array( $this, 'check_notice_hide' ), 25 );
|
48 |
|
49 |
+
add_action( 'after_switch_theme', array( $this, 'remove_theme_notice_hide' ), 25 );
|
50 |
add_action( 'admin_print_styles', array( $this, 'add_notices' ), 1 );
|
51 |
|
52 |
include_once( 'notes/class-wc-gzd-admin-note.php' );
|
56 |
include_once( 'notes/class-wc-gzd-admin-note-template-outdated.php' );
|
57 |
include_once( 'notes/class-wc-gzd-admin-note-pro.php' );
|
58 |
include_once( 'notes/class-wc-gzd-admin-note-dhl-importer.php' );
|
59 |
+
include_once( 'notes/class-wc-gzd-admin-note-internetmarke-importer.php' );
|
60 |
}
|
61 |
|
62 |
public function enable_notices() {
|
87 |
public function get_notes() {
|
88 |
if ( is_null( $this->notes ) ) {
|
89 |
|
90 |
+
$notes = apply_filters( 'woocommerce_gzd_admin_notes', array(
|
91 |
'WC_GZD_Admin_Note_Theme_Supported',
|
92 |
'WC_GZD_Admin_Note_Update',
|
93 |
'WC_GZD_Admin_Note_Review',
|
94 |
'WC_GZD_Admin_Note_Template_Outdated',
|
95 |
'WC_GZD_Admin_Note_Pro',
|
96 |
+
'WC_GZD_Admin_Note_DHL_Importer',
|
97 |
+
'WC_GZD_Admin_Note_Internetmarke_Importer'
|
98 |
+
) );
|
99 |
|
100 |
$this->notes = array();
|
101 |
|
includes/admin/class-wc-gzd-admin-setup-wizard.php
CHANGED
@@ -86,7 +86,7 @@ if ( ! class_exists( 'WC_GZD_Admin_Setup_Wizard' ) ) :
|
|
86 |
),
|
87 |
);
|
88 |
|
89 |
-
if ( class_exists( '\Vendidero\Germanized\DHL\Package' ) && Package::has_dependencies()
|
90 |
|
91 |
$default_steps['dhl'] = array(
|
92 |
'name' => __( 'DHL', 'woocommerce-germanized' ),
|
@@ -96,8 +96,20 @@ if ( ! class_exists( 'WC_GZD_Admin_Setup_Wizard' ) ) :
|
|
96 |
'errors' => array(),
|
97 |
);
|
98 |
|
99 |
-
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
}
|
103 |
|
@@ -182,6 +194,8 @@ if ( ! class_exists( 'WC_GZD_Admin_Setup_Wizard' ) ) :
|
|
182 |
);
|
183 |
} elseif( 'dhl' === $step ) {
|
184 |
$settings = Settings::get_setup_settings();
|
|
|
|
|
185 |
}
|
186 |
|
187 |
return $settings;
|
@@ -575,7 +589,7 @@ if ( ! class_exists( 'WC_GZD_Admin_Setup_Wizard' ) ) :
|
|
575 |
$settings = $this->get_settings( $this->step );
|
576 |
$is_enabled = get_option( 'woocommerce_gzd_dhl_enable' );
|
577 |
|
578 |
-
if ( 'yes' !== $is_enabled && Importer::is_available() ) {
|
579 |
WC_GZD_Admin::instance()->import_dhl_settings();
|
580 |
} elseif ( ! empty( $settings) ) {
|
581 |
WC_Admin_Settings::save_fields( $settings );
|
@@ -589,6 +603,22 @@ if ( ! class_exists( 'WC_GZD_Admin_Setup_Wizard' ) ) :
|
|
589 |
wp_safe_redirect( $redirect );
|
590 |
exit();
|
591 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
}
|
593 |
|
594 |
endif;
|
86 |
),
|
87 |
);
|
88 |
|
89 |
+
if ( class_exists( '\Vendidero\Germanized\DHL\Package' ) && Package::has_dependencies() ) {
|
90 |
|
91 |
$default_steps['dhl'] = array(
|
92 |
'name' => __( 'DHL', 'woocommerce-germanized' ),
|
96 |
'errors' => array(),
|
97 |
);
|
98 |
|
99 |
+
if ( Importer\DHL::is_available() ) {
|
100 |
+
$default_steps['dhl']['button_next'] = __( 'Import settings', 'woocommerce-germanized' );
|
101 |
+
}
|
102 |
+
|
103 |
+
$default_steps['internetmarke'] = array(
|
104 |
+
'name' => __( 'Internetmarke', 'woocommerce-germanized' ),
|
105 |
+
'view' => 'internetmarke.php',
|
106 |
+
'handler' => array( $this, 'wc_gzd_setup_internetmarke_save' ),
|
107 |
+
'order' => 4,
|
108 |
+
'errors' => array(),
|
109 |
+
);
|
110 |
+
|
111 |
+
if ( Importer\Internetmarke::is_available() ) {
|
112 |
+
$default_steps['internetmarke']['button_next'] = __( 'Import settings', 'woocommerce-germanized' );
|
113 |
}
|
114 |
}
|
115 |
|
194 |
);
|
195 |
} elseif( 'dhl' === $step ) {
|
196 |
$settings = Settings::get_setup_settings();
|
197 |
+
} elseif( 'internetmarke' === $step ) {
|
198 |
+
$settings = Settings::get_internetmarke_setup_settings();
|
199 |
}
|
200 |
|
201 |
return $settings;
|
589 |
$settings = $this->get_settings( $this->step );
|
590 |
$is_enabled = get_option( 'woocommerce_gzd_dhl_enable' );
|
591 |
|
592 |
+
if ( 'yes' !== $is_enabled && Importer\DHL::is_available() ) {
|
593 |
WC_GZD_Admin::instance()->import_dhl_settings();
|
594 |
} elseif ( ! empty( $settings) ) {
|
595 |
WC_Admin_Settings::save_fields( $settings );
|
603 |
wp_safe_redirect( $redirect );
|
604 |
exit();
|
605 |
}
|
606 |
+
|
607 |
+
public function wc_gzd_setup_internetmarke_save() {
|
608 |
+
$redirect = $this->get_step_url( $this->get_next_step() );
|
609 |
+
$current_url = $this->get_step_url( $this->step );
|
610 |
+
$settings = $this->get_settings( $this->step );
|
611 |
+
$is_enabled = get_option( 'woocommerce_gzd_dhl_internetmarke_enable' );
|
612 |
+
|
613 |
+
if ( 'yes' !== $is_enabled && Importer\Internetmarke::is_available() ) {
|
614 |
+
WC_GZD_Admin::instance()->import_internetmarke_settings();
|
615 |
+
} elseif ( ! empty( $settings) ) {
|
616 |
+
WC_Admin_Settings::save_fields( $settings );
|
617 |
+
}
|
618 |
+
|
619 |
+
wp_safe_redirect( $redirect );
|
620 |
+
exit();
|
621 |
+
}
|
622 |
}
|
623 |
|
624 |
endif;
|
includes/admin/class-wc-gzd-admin-welcome.php
CHANGED
@@ -136,6 +136,33 @@ class WC_GZD_Admin_Welcome {
|
|
136 |
zur <span class="wc-gzd-pro">pro</span> Version</a>
|
137 |
</p>
|
138 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
<div class="changelog new-feature">
|
140 |
<h3>Neu: PDF-Dokumente visuell bearbeiten <span class="wc-gzd-pro wc-gzd-pro-outlined">pro</span></h3>
|
141 |
|
@@ -219,23 +246,22 @@ class WC_GZD_Admin_Welcome {
|
|
219 |
</div>
|
220 |
|
221 |
<div class="changelog">
|
222 |
-
<h3>Weitere Neuigkeiten in Germanized 3.
|
223 |
|
224 |
<div class="three-col columns">
|
225 |
<div class="col">
|
226 |
-
<h4><span class="dashicons dashicons-cart"></span>
|
227 |
<p>
|
228 |
-
|
229 |
-
|
230 |
-
verschiedene Orte im Template wählen.
|
231 |
</p>
|
232 |
</div>
|
233 |
<div class="col">
|
234 |
-
<h4><span class="dashicons dashicons-admin-appearance"></span>
|
235 |
<p>
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
</p>
|
240 |
</div>
|
241 |
<div class="col">
|
136 |
zur <span class="wc-gzd-pro">pro</span> Version</a>
|
137 |
</p>
|
138 |
|
139 |
+
<?php if ( \Vendidero\Germanized\DHL\Package::has_dependencies() ) : ?>
|
140 |
+
<div class="changelog new-feature">
|
141 |
+
<h3>Neu: Integration der Internetmarke</h3>
|
142 |
+
|
143 |
+
<div class="columns two-col">
|
144 |
+
<div class="col col-center">
|
145 |
+
<img src="<?php echo WC_germanized()->plugin_url(); ?>/assets/images/create-dp-label.png"/>
|
146 |
+
</div>
|
147 |
+
<div class="col">
|
148 |
+
<p>
|
149 |
+
Mit der neuesten Version kannst du nun (neben der DHL Integration) auch die Internetmarke nutzen um zu deinen Sendungen unkompliziert Labels zu erstellen. Ein DHL Geschäftskundenkonto benötigst du dafür nicht.
|
150 |
+
Die Produkte der Deutschen Post (z.B. Warenpost International, Briefprodukte usw.) stehen dir damit direkt über Germanized zur Verfügung.
|
151 |
+
</p>
|
152 |
+
<p>
|
153 |
+
Beim Erstellen der Labels erhältst du nützliche Informationen zu den Kosten, Größen und Beschränkungen der Produkte. Auch ein Vorschau des Labels wird dir angezeigt. Für die Warenpost International
|
154 |
+
wird für dich direkt ein harmonized Label erzeugt und ggfs. eine CN23 Zollerklärung.
|
155 |
+
</p>
|
156 |
+
|
157 |
+
<div class="wc-gzd-actions">
|
158 |
+
<a href="https://vendidero.de/dokument/internetmarke-integration-einrichten" target="_blank" class="button button-primary">Weitere Informationen</a>
|
159 |
+
<a href="<?php echo \Vendidero\Germanized\DHL\Admin\Settings::get_settings_url( 'internetmarke' ); ?>" class="button button-primary" target="_blank">Zu den Einstellungen</a>
|
160 |
+
</div>
|
161 |
+
</div>
|
162 |
+
</div>
|
163 |
+
</div>
|
164 |
+
<?php endif; ?>
|
165 |
+
|
166 |
<div class="changelog new-feature">
|
167 |
<h3>Neu: PDF-Dokumente visuell bearbeiten <span class="wc-gzd-pro wc-gzd-pro-outlined">pro</span></h3>
|
168 |
|
246 |
</div>
|
247 |
|
248 |
<div class="changelog">
|
249 |
+
<h3>Weitere Neuigkeiten in Germanized 3.3</h3>
|
250 |
|
251 |
<div class="three-col columns">
|
252 |
<div class="col">
|
253 |
+
<h4><span class="dashicons dashicons-cart"></span> Verpackungen</h4>
|
254 |
<p>
|
255 |
+
Mit Germanized 3.3 kannst du zu deinen Sendungen jetzt flexibel Verpackungsmaterial hinzufügen
|
256 |
+
und damit das Gesamtgewicht der Sendungen (das z.B. für die Label-Erstellung benötigt wird) besser verwalten.
|
|
|
257 |
</p>
|
258 |
</div>
|
259 |
<div class="col">
|
260 |
+
<h4><span class="dashicons dashicons-admin-appearance"></span> Grundpreisberechnung</h4>
|
261 |
<p>
|
262 |
+
Um Staffelpreise oder Rollen-basierte-Preise besser zu unterstützen, aktualisiert
|
263 |
+
Germanized nun automatisch den Grundpreis wenn sich auf der Produktseite der Preis ändert
|
264 |
+
oder durch ein Plugin dynamisch verändert wird.
|
265 |
</p>
|
266 |
</div>
|
267 |
<div class="col">
|
includes/admin/class-wc-gzd-admin.php
CHANGED
@@ -61,6 +61,7 @@ class WC_GZD_Admin {
|
|
61 |
add_action( 'admin_init', array( $this, 'check_resend_activation_email' ) );
|
62 |
add_action( 'admin_init', array( $this, 'check_notices' ) );
|
63 |
add_action( 'admin_init', array( $this, 'check_dhl_import' ) );
|
|
|
64 |
|
65 |
add_filter( 'woocommerce_addons_section_data', array( $this, 'set_addon' ), 10, 2 );
|
66 |
add_action( 'woocommerce_admin_order_data_after_shipping_address', array(
|
@@ -102,11 +103,11 @@ class WC_GZD_Admin {
|
|
102 |
|
103 |
public function check_dhl_import() {
|
104 |
|
105 |
-
if ( ! class_exists( '\Vendidero\Germanized\DHL\Admin\Importer' ) ) {
|
106 |
return;
|
107 |
}
|
108 |
|
109 |
-
if ( Importer::is_available() ) {
|
110 |
if ( isset( $_GET['wc-gzd-dhl-import'] ) && isset( $_GET['_wpnonce'] ) ) { // WPCS: input var ok, CSRF ok.
|
111 |
|
112 |
if ( ! wp_verify_nonce( sanitize_key( wp_unslash( $_GET['_wpnonce'] ) ), 'woocommerce_gzd_dhl_import_nonce' ) ) { // WPCS: input var ok, CSRF ok.
|
@@ -125,8 +126,8 @@ class WC_GZD_Admin {
|
|
125 |
}
|
126 |
|
127 |
public function import_dhl_settings() {
|
128 |
-
Importer::import_order_data( 50 );
|
129 |
-
Importer::import_settings();
|
130 |
|
131 |
deactivate_plugins( 'dhl-for-woocommerce/pr-dhl-woocommerce.php' );
|
132 |
|
@@ -134,6 +135,39 @@ class WC_GZD_Admin {
|
|
134 |
update_option( 'woocommerc_gzd_dhl_import_finished', 'yes' );
|
135 |
}
|
136 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
public function save_toggle_input_field( $value, $option, $raw_value ) {
|
138 |
if ( 'gzd_toggle' === $option['type'] ) {
|
139 |
$value = '1' === $raw_value || 'yes' === $raw_value ? 'yes' : 'no';
|
@@ -714,7 +748,7 @@ class WC_GZD_Admin {
|
|
714 |
public function is_complaints_shortcode_inserted( $page_id ) {
|
715 |
$post = get_post( $page_id );
|
716 |
if ( $post ) {
|
717 |
-
return ( strpos( $post->post_content, '[gzd_complaints
|
718 |
}
|
719 |
|
720 |
return false;
|
61 |
add_action( 'admin_init', array( $this, 'check_resend_activation_email' ) );
|
62 |
add_action( 'admin_init', array( $this, 'check_notices' ) );
|
63 |
add_action( 'admin_init', array( $this, 'check_dhl_import' ) );
|
64 |
+
add_action( 'admin_init', array( $this, 'check_internetmarke_import' ) );
|
65 |
|
66 |
add_filter( 'woocommerce_addons_section_data', array( $this, 'set_addon' ), 10, 2 );
|
67 |
add_action( 'woocommerce_admin_order_data_after_shipping_address', array(
|
103 |
|
104 |
public function check_dhl_import() {
|
105 |
|
106 |
+
if ( ! class_exists( '\Vendidero\Germanized\DHL\Admin\Importer\DHL' ) ) {
|
107 |
return;
|
108 |
}
|
109 |
|
110 |
+
if ( Importer\DHL::is_available() ) {
|
111 |
if ( isset( $_GET['wc-gzd-dhl-import'] ) && isset( $_GET['_wpnonce'] ) ) { // WPCS: input var ok, CSRF ok.
|
112 |
|
113 |
if ( ! wp_verify_nonce( sanitize_key( wp_unslash( $_GET['_wpnonce'] ) ), 'woocommerce_gzd_dhl_import_nonce' ) ) { // WPCS: input var ok, CSRF ok.
|
126 |
}
|
127 |
|
128 |
public function import_dhl_settings() {
|
129 |
+
Importer\DHL::import_order_data( 50 );
|
130 |
+
Importer\DHL::import_settings();
|
131 |
|
132 |
deactivate_plugins( 'dhl-for-woocommerce/pr-dhl-woocommerce.php' );
|
133 |
|
135 |
update_option( 'woocommerc_gzd_dhl_import_finished', 'yes' );
|
136 |
}
|
137 |
|
138 |
+
public function check_internetmarke_import() {
|
139 |
+
|
140 |
+
if ( ! class_exists( '\Vendidero\Germanized\DHL\Admin\Importer\Internetmarke' ) ) {
|
141 |
+
return;
|
142 |
+
}
|
143 |
+
|
144 |
+
if ( Importer\Internetmarke::is_available() ) {
|
145 |
+
if ( isset( $_GET['wc-gzd-internetmarke-import'] ) && isset( $_GET['_wpnonce'] ) ) { // WPCS: input var ok, CSRF ok.
|
146 |
+
|
147 |
+
if ( ! wp_verify_nonce( sanitize_key( wp_unslash( $_GET['_wpnonce'] ) ), 'woocommerce_gzd_internetmarke_import_nonce' ) ) { // WPCS: input var ok, CSRF ok.
|
148 |
+
wp_die( esc_html_x( 'Action failed. Please refresh the page and retry.', 'dhl', 'woocommerce-germanized' ) );
|
149 |
+
}
|
150 |
+
|
151 |
+
if ( ! current_user_can( 'manage_woocommerce' ) ) {
|
152 |
+
wp_die( esc_html_x( 'You don\'t have permission to do this.', 'dhl', 'woocommerce-germanized' ) );
|
153 |
+
}
|
154 |
+
|
155 |
+
$this->import_internetmarke_settings();
|
156 |
+
|
157 |
+
wp_safe_redirect( admin_url( 'admin.php?page=wc-settings&tab=germanized-dhl§ion=internetmarke' ) );
|
158 |
+
}
|
159 |
+
}
|
160 |
+
}
|
161 |
+
|
162 |
+
public function import_internetmarke_settings() {
|
163 |
+
Importer\DHL::import_settings();
|
164 |
+
|
165 |
+
deactivate_plugins( 'woo-dp-internetmarke/woo-dp-internetmarke.php' );
|
166 |
+
|
167 |
+
update_option( 'woocommerce_gzd_dhl_internetmarke_enable', 'yes' );
|
168 |
+
update_option( 'woocommerce_gzd_internetmarke_import_finished', 'yes' );
|
169 |
+
}
|
170 |
+
|
171 |
public function save_toggle_input_field( $value, $option, $raw_value ) {
|
172 |
if ( 'gzd_toggle' === $option['type'] ) {
|
173 |
$value = '1' === $raw_value || 'yes' === $raw_value ? 'yes' : 'no';
|
748 |
public function is_complaints_shortcode_inserted( $page_id ) {
|
749 |
$post = get_post( $page_id );
|
750 |
if ( $post ) {
|
751 |
+
return ( strpos( $post->post_content, '[gzd_complaints' ) !== false ? true : false );
|
752 |
}
|
753 |
|
754 |
return false;
|
includes/admin/notes/class-wc-gzd-admin-note-dhl-importer.php
CHANGED
@@ -10,7 +10,7 @@ class WC_GZD_Admin_Note_DHL_Importer extends WC_GZD_Admin_Note {
|
|
10 |
public function is_disabled() {
|
11 |
$is_disabled = true;
|
12 |
|
13 |
-
if ( class_exists( 'Vendidero\Germanized\DHL\Admin\Importer' ) && Vendidero\Germanized\DHL\Admin\Importer::is_plugin_enabled() && Vendidero\Germanized\DHL\Admin\Importer::is_available() ) {
|
14 |
$is_disabled = false;
|
15 |
}
|
16 |
|
10 |
public function is_disabled() {
|
11 |
$is_disabled = true;
|
12 |
|
13 |
+
if ( class_exists( 'Vendidero\Germanized\DHL\Admin\Importer\DHL' ) && Vendidero\Germanized\DHL\Admin\Importer\DHL::is_plugin_enabled() && Vendidero\Germanized\DHL\Admin\Importer\DHL::is_available() ) {
|
14 |
$is_disabled = false;
|
15 |
}
|
16 |
|
includes/admin/notes/class-wc-gzd-admin-note-internetmarke-importer.php
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
defined( 'ABSPATH' ) || exit;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* WC_Admin_Notes_Welcome_Message.
|
7 |
+
*/
|
8 |
+
class WC_GZD_Admin_Note_Internetmarke_Importer extends WC_GZD_Admin_Note {
|
9 |
+
|
10 |
+
public function is_disabled() {
|
11 |
+
$is_disabled = true;
|
12 |
+
|
13 |
+
if ( class_exists( 'Vendidero\Germanized\DHL\Admin\Importer\Internetmarke' ) && Vendidero\Germanized\DHL\Admin\Importer\Internetmarke::is_plugin_enabled() && Vendidero\Germanized\DHL\Admin\Importer\Internetmarke::is_available() ) {
|
14 |
+
$is_disabled = false;
|
15 |
+
}
|
16 |
+
|
17 |
+
if ( ! $is_disabled ) {
|
18 |
+
return parent::is_disabled();
|
19 |
+
} else {
|
20 |
+
return true;
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
public function get_name() {
|
25 |
+
return 'internetmarke_importer';
|
26 |
+
}
|
27 |
+
|
28 |
+
public function get_title() {
|
29 |
+
return _x( 'Internetmarke built-in Integration', 'dhl', 'woocommerce-germanized' );
|
30 |
+
}
|
31 |
+
|
32 |
+
public function get_content() {
|
33 |
+
$content = '<p>' . _x( 'It seems like you are currently using the Deutsche Post Internetmarke plugin. Germanized does now fully integrate Internetmarke and switching is as simple as can be. Check your advantages by using the Internetmarke integration in Germanized and let Germanized import your current settings for you.', 'dhl', 'woocommerce-germanized' ) . '</p>
|
34 |
+
<ul>
|
35 |
+
<li>✓ ' . _x( 'No need to use an external plugin which might lead to incompatibilities', 'dhl', 'woocommerce-germanized' ) . '</li>
|
36 |
+
<li>✓ ' . sprintf( _x( 'Many improved features such as automation, services per shipping method and %s', 'dhl', 'woocommerce-germanized' ), '<a href="https://vendidero.de/dokument/internetmarke-integration-einrichten" target="_blank">' . _x( 'many more', 'dhl', 'woocommerce-germanized' ) . '</a>' ) . '</li>
|
37 |
+
<li>✓ ' . _x( 'Perfectly integrated in Germanized – easily create stamps for shipments', 'dhl', 'woocommerce-germanized' ) . '</li>
|
38 |
+
</ul>';
|
39 |
+
|
40 |
+
return $content;
|
41 |
+
}
|
42 |
+
|
43 |
+
public function get_actions() {
|
44 |
+
return array(
|
45 |
+
array(
|
46 |
+
'url' => wp_nonce_url( add_query_arg( 'wc-gzd-internetmarke-import', 'yes' ), 'woocommerce_gzd_internetmarke_import_nonce' ) ,
|
47 |
+
'title' => _x( 'Import settings and activate', 'dhl', 'woocommerce-germanized' ),
|
48 |
+
'target' => '_self',
|
49 |
+
'is_primary' => true,
|
50 |
+
),
|
51 |
+
array(
|
52 |
+
'url' => 'https://vendidero.de/dokument/internetmarke-integration-einrichten',
|
53 |
+
'title' => _x( 'Learn more', 'dhl', 'woocommerce-germanized' ),
|
54 |
+
'target' => '_blank',
|
55 |
+
'is_primary' => false,
|
56 |
+
),
|
57 |
+
);
|
58 |
+
}
|
59 |
+
}
|
includes/admin/notes/class-wc-gzd-admin-note.php
CHANGED
@@ -48,9 +48,13 @@ abstract class WC_GZD_Admin_Note {
|
|
48 |
return false;
|
49 |
}
|
50 |
|
|
|
|
|
|
|
|
|
51 |
public function is_disabled() {
|
52 |
|
53 |
-
if ( !
|
54 |
return true;
|
55 |
}
|
56 |
|
48 |
return false;
|
49 |
}
|
50 |
|
51 |
+
public function enable_notices() {
|
52 |
+
return WC_GZD_Admin_Notices::instance()->enable_notices();
|
53 |
+
}
|
54 |
+
|
55 |
public function is_disabled() {
|
56 |
|
57 |
+
if ( ! $this->enable_notices() && $this->is_dismissable() ) {
|
58 |
return true;
|
59 |
}
|
60 |
|
includes/admin/settings/class-wc-gzd-settings-tab-dhl.php
CHANGED
@@ -16,21 +16,32 @@ use Vendidero\Germanized\DHL\Admin\Settings;
|
|
16 |
class WC_GZD_Settings_Tab_DHL extends WC_GZD_Settings_Tab {
|
17 |
|
18 |
public function get_description() {
|
19 |
-
return __( 'Integrate DHL Services such as Labels for Shipments and Returns
|
20 |
}
|
21 |
|
22 |
protected function get_breadcrumb_label( $label ) {
|
23 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
-
if (
|
26 |
-
$label
|
27 |
}
|
28 |
|
|
|
|
|
29 |
return $label;
|
30 |
}
|
31 |
|
32 |
public function get_label() {
|
33 |
-
return __( 'DHL', 'woocommerce-germanized' );
|
34 |
}
|
35 |
|
36 |
public function get_name() {
|
@@ -38,7 +49,7 @@ class WC_GZD_Settings_Tab_DHL extends WC_GZD_Settings_Tab {
|
|
38 |
}
|
39 |
|
40 |
public function get_help_link() {
|
41 |
-
return 'https://vendidero.de/
|
42 |
}
|
43 |
|
44 |
public function get_tab_settings( $current_section = '' ) {
|
@@ -66,4 +77,20 @@ class WC_GZD_Settings_Tab_DHL extends WC_GZD_Settings_Tab {
|
|
66 |
public function supports_disabling() {
|
67 |
return true;
|
68 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
16 |
class WC_GZD_Settings_Tab_DHL extends WC_GZD_Settings_Tab {
|
17 |
|
18 |
public function get_description() {
|
19 |
+
return __( 'Integrate Post & DHL Services such as Labels for Shipments and Returns.', 'woocommerce-germanized' );
|
20 |
}
|
21 |
|
22 |
protected function get_breadcrumb_label( $label ) {
|
23 |
+
$current_section = $this->get_current_section();
|
24 |
+
$help_link = false;
|
25 |
+
|
26 |
+
if ( empty( $current_section ) ) {
|
27 |
+
$help_link = 'https://vendidero.de/dokument/dhl-integration-einrichten';
|
28 |
+
} elseif( 'internetmarke' === $current_section ) {
|
29 |
+
$help_link = 'https://vendidero.de/dokument/internetmarke-integration-einrichten';
|
30 |
+
} elseif( 'labels' === $current_section ) {
|
31 |
+
$help_link = 'https://vendidero.de/dokument/dhl-labels-zu-sendungen-erstellen';
|
32 |
+
}
|
33 |
|
34 |
+
if ( $help_link ) {
|
35 |
+
$label = $label . '<a class="page-title-action" href="' . esc_url( $help_link ) . '" target="_blank">' . __( 'Learn more', 'woocommerce-germanized' ) . '</a>';
|
36 |
}
|
37 |
|
38 |
+
$label .= Settings::get_new_customer_label( $this->get_current_section() );
|
39 |
+
|
40 |
return $label;
|
41 |
}
|
42 |
|
43 |
public function get_label() {
|
44 |
+
return __( 'Post & DHL', 'woocommerce-germanized' );
|
45 |
}
|
46 |
|
47 |
public function get_name() {
|
49 |
}
|
50 |
|
51 |
public function get_help_link() {
|
52 |
+
return 'https://vendidero.de/dokumentation/post-dhl';
|
53 |
}
|
54 |
|
55 |
public function get_tab_settings( $current_section = '' ) {
|
77 |
public function supports_disabling() {
|
78 |
return true;
|
79 |
}
|
80 |
+
|
81 |
+
public function disable() {
|
82 |
+
parent::disable();
|
83 |
+
|
84 |
+
update_option( 'woocommerce_gzd_dhl_internetmarke_enable', 'no' );
|
85 |
+
}
|
86 |
+
|
87 |
+
public function is_enabled() {
|
88 |
+
$is_enabled = parent::is_enabled();
|
89 |
+
|
90 |
+
if ( \Vendidero\Germanized\DHL\Package::is_internetmarke_enabled() ) {
|
91 |
+
$is_enabled = true;
|
92 |
+
}
|
93 |
+
|
94 |
+
return $is_enabled;
|
95 |
+
}
|
96 |
}
|
includes/admin/settings/class-wc-gzd-settings-tab-general.php
CHANGED
@@ -240,7 +240,7 @@ class WC_GZD_Settings_Tab_General extends WC_GZD_Settings_Tab {
|
|
240 |
'desc' => __( 'Add a title field to the address within checkout.', 'woocommerce-germanized' ),
|
241 |
'id' => 'woocommerce_gzd_checkout_address_field',
|
242 |
'type' => 'gzd_toggle',
|
243 |
-
'default' => '
|
244 |
),
|
245 |
array(
|
246 |
'title' => __( 'Disallow cancellations', 'woocommerce-germanized' ),
|
240 |
'desc' => __( 'Add a title field to the address within checkout.', 'woocommerce-germanized' ),
|
241 |
'id' => 'woocommerce_gzd_checkout_address_field',
|
242 |
'type' => 'gzd_toggle',
|
243 |
+
'default' => 'no',
|
244 |
),
|
245 |
array(
|
246 |
'title' => __( 'Disallow cancellations', 'woocommerce-germanized' ),
|
includes/admin/views/setup/dhl.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
use \Vendidero\Germanized\DHL\Admin\Importer;
|
4 |
|
5 |
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
exit; // Exit if accessed directly
|
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
12 |
<p class="headliner"><?php _e( 'Want to easily ship your orders via DHL? Enable our deep DHL integration and start generating labels for shipments comfortably via your admin panel.', 'woocommerce-germanized' ); ?></p>
|
13 |
|
14 |
<div class="wc-gzd-admin-settings">
|
15 |
-
<?php if (
|
16 |
<div class="notice inline updated" style="margin: 0">
|
17 |
<p><?php _e( 'We\'ve found out that you have been using DHL for WooCommerce already. We will automatically import your settings and you can start using our integration instead.', 'woocommerce-germanized' ); ?></p>
|
18 |
</div>
|
1 |
<?php
|
2 |
|
3 |
+
use \Vendidero\Germanized\DHL\Admin\Importer\DHL;
|
4 |
|
5 |
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
exit; // Exit if accessed directly
|
12 |
<p class="headliner"><?php _e( 'Want to easily ship your orders via DHL? Enable our deep DHL integration and start generating labels for shipments comfortably via your admin panel.', 'woocommerce-germanized' ); ?></p>
|
13 |
|
14 |
<div class="wc-gzd-admin-settings">
|
15 |
+
<?php if ( DHL::is_available() ) : ?>
|
16 |
<div class="notice inline updated" style="margin: 0">
|
17 |
<p><?php _e( 'We\'ve found out that you have been using DHL for WooCommerce already. We will automatically import your settings and you can start using our integration instead.', 'woocommerce-germanized' ); ?></p>
|
18 |
</div>
|
includes/admin/views/setup/internetmarke.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
use \Vendidero\Germanized\DHL\Admin\Importer\Internetmarke;
|
4 |
+
|
5 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
6 |
+
exit; // Exit if accessed directly
|
7 |
+
}
|
8 |
+
|
9 |
+
?>
|
10 |
+
<h1><?php _e( 'Internetmarke', 'woocommerce-germanized' ); ?></h1>
|
11 |
+
|
12 |
+
<p class="headliner"><?php _e( 'Want to easily ship your orders via Deutsche Post? Enable our Internetmarke integration and start generating labels for shipments comfortably via your admin panel.', 'woocommerce-germanized' ); ?></p>
|
13 |
+
|
14 |
+
<div class="wc-gzd-admin-settings">
|
15 |
+
<?php if ( Internetmarke::is_available() ) : ?>
|
16 |
+
<div class="notice inline updated" style="margin: 0">
|
17 |
+
<p><?php _e( 'We\'ve found out that you have been using the Internetmarke standalone Plugin already. We will automatically import your settings and you can start using our integration instead.', 'woocommerce-germanized' ); ?></p>
|
18 |
+
</div>
|
19 |
+
<?php else: ?>
|
20 |
+
<?php WC_Admin_Settings::output_fields( $settings ); ?>
|
21 |
+
<?php endif; ?>
|
22 |
+
</div>
|
includes/class-wc-gzd-ajax.php
CHANGED
@@ -20,6 +20,7 @@ class WC_GZD_AJAX {
|
|
20 |
|
21 |
$ajax_events = array(
|
22 |
'gzd_revocation' => true,
|
|
|
23 |
'gzd_json_search_delivery_time' => false,
|
24 |
'gzd_legal_checkboxes_save_changes' => false,
|
25 |
'gzd_toggle_tab_enabled' => false,
|
@@ -190,6 +191,35 @@ class WC_GZD_AJAX {
|
|
190 |
wp_send_json( $terms );
|
191 |
}
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
/**
|
194 |
* Checks revocation form and sends Email to customer and Admin
|
195 |
*/
|
20 |
|
21 |
$ajax_events = array(
|
22 |
'gzd_revocation' => true,
|
23 |
+
'gzd_refresh_unit_price' => true,
|
24 |
'gzd_json_search_delivery_time' => false,
|
25 |
'gzd_legal_checkboxes_save_changes' => false,
|
26 |
'gzd_toggle_tab_enabled' => false,
|
191 |
wp_send_json( $terms );
|
192 |
}
|
193 |
|
194 |
+
public static function gzd_refresh_unit_price() {
|
195 |
+
check_ajax_referer( 'wc-gzd-refresh-unit-price', 'security' );
|
196 |
+
|
197 |
+
if ( ! isset( $_POST['product_id'], $_POST['price'] ) ) {
|
198 |
+
wp_send_json( array( 'result' => 'failure' ) );
|
199 |
+
}
|
200 |
+
|
201 |
+
$product_id = absint( $_POST['product_id'] );
|
202 |
+
$price = wc_clean( $_POST['price'] );
|
203 |
+
$price_sale = isset( $_POST['price_sale'] ) ? wc_clean( $_POST['price_sale'] ) : '';
|
204 |
+
|
205 |
+
if ( ! $product = wc_gzd_get_product( $product_id ) ) {
|
206 |
+
wp_send_json( array( 'result' => 'failure' ) );
|
207 |
+
}
|
208 |
+
|
209 |
+
$args = array(
|
210 |
+
'regular_price' => $price,
|
211 |
+
'sale_price' => ! empty( $price_sale ) ? $price_sale : $price,
|
212 |
+
'price' => ! empty( $price_sale ) ? $price_sale : $price
|
213 |
+
);
|
214 |
+
|
215 |
+
$product->recalculate_unit_price( $args );
|
216 |
+
|
217 |
+
wp_send_json( array(
|
218 |
+
'result' => 'success',
|
219 |
+
'unit_price_html' => $product->get_unit_price_html(),
|
220 |
+
) );
|
221 |
+
}
|
222 |
+
|
223 |
/**
|
224 |
* Checks revocation form and sends Email to customer and Admin
|
225 |
*/
|
includes/class-wc-gzd-checkout.php
CHANGED
@@ -46,24 +46,12 @@ class WC_GZD_Checkout {
|
|
46 |
add_filter( 'woocommerce_admin_billing_fields', array( $this, 'set_custom_fields_admin_billing' ), 0, 1 );
|
47 |
add_filter( 'woocommerce_admin_shipping_fields', array( $this, 'set_custom_fields_admin_shipping' ), 0, 1 );
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
*/
|
52 |
-
add_action( 'woocommerce_order_item_after_calculate_taxes', array( $this, 'recalculate_order_item_unit_price' ), 60, 1 );
|
53 |
|
54 |
// Save Fields on order
|
55 |
add_action( 'woocommerce_checkout_create_order', array( $this, 'save_fields' ) );
|
56 |
|
57 |
-
// Add Title to billing address format
|
58 |
-
add_filter( 'woocommerce_order_formatted_billing_address', array(
|
59 |
-
$this,
|
60 |
-
'set_formatted_billing_address'
|
61 |
-
), 0, 2 );
|
62 |
-
add_filter( 'woocommerce_order_formatted_shipping_address', array(
|
63 |
-
$this,
|
64 |
-
'set_formatted_shipping_address'
|
65 |
-
), 0, 2 );
|
66 |
-
|
67 |
add_filter( 'woocommerce_formatted_address_replacements', array( $this, 'set_formatted_address' ), 0, 2 );
|
68 |
|
69 |
// Support Checkout Field Managers (which are unable to map options to values)
|
@@ -72,13 +60,7 @@ class WC_GZD_Checkout {
|
|
72 |
'set_title_field_mapping_editors'
|
73 |
), 10, 1 );
|
74 |
|
75 |
-
// Add title options to order address data
|
76 |
-
add_filter( 'woocommerce_get_order_address', array( $this, 'add_order_address_data' ), 10, 3 );
|
77 |
-
|
78 |
add_action( 'woocommerce_checkout_create_order_line_item', array( $this, 'set_order_item_meta_crud' ), 0, 4 );
|
79 |
-
add_action( 'woocommerce_before_order_item_object_save', array( $this, 'on_order_item_update' ), 10 );
|
80 |
-
|
81 |
-
add_filter( 'woocommerce_hidden_order_itemmeta', array( $this, 'set_order_meta_hidden' ), 0 );
|
82 |
|
83 |
// Deactivate checkout shipping selection
|
84 |
add_action( 'woocommerce_review_order_before_shipping', array( $this, 'remove_shipping_rates' ), 0 );
|
@@ -90,28 +72,6 @@ class WC_GZD_Checkout {
|
|
90 |
add_filter( 'woocommerce_add_to_cart_validation', array( $this, 'prevent_differential_mixed_carts' ), 10, 3 );
|
91 |
}
|
92 |
|
93 |
-
// Disallow user order cancellation
|
94 |
-
if ( 'yes' === get_option( 'woocommerce_gzd_checkout_stop_order_cancellation' ) ) {
|
95 |
-
|
96 |
-
add_filter( 'woocommerce_get_cancel_order_url', array( $this, 'cancel_order_url' ), 1500, 1 );
|
97 |
-
add_filter( 'woocommerce_get_cancel_order_url_raw', array( $this, 'cancel_order_url' ), 1500, 1 );
|
98 |
-
add_filter( 'user_has_cap', array( $this, 'disallow_user_order_cancellation' ), 15, 3 );
|
99 |
-
|
100 |
-
// Remove order stock right after confirmation is sent
|
101 |
-
add_action( 'woocommerce_germanized_order_confirmation_sent', array(
|
102 |
-
$this,
|
103 |
-
'maybe_reduce_order_stock'
|
104 |
-
), 5, 1 );
|
105 |
-
add_filter( 'woocommerce_my_account_my_orders_actions', array( $this, 'remove_cancel_button' ), 10, 2 );
|
106 |
-
|
107 |
-
// Woo 3.0 stock reducing checks - mark order as stock-reduced so that stock reducing fails upon second attempt
|
108 |
-
add_action( 'woocommerce_reduce_order_stock', array( $this, 'set_order_stock_reduced_meta' ), 10, 1 );
|
109 |
-
add_filter( 'woocommerce_can_reduce_order_stock', array(
|
110 |
-
$this,
|
111 |
-
'maybe_disallow_order_stock_reducing'
|
112 |
-
), 10, 2 );
|
113 |
-
}
|
114 |
-
|
115 |
// Free Shipping auto select
|
116 |
if ( 'yes' === get_option( 'woocommerce_gzd_display_checkout_free_shipping_select' ) ) {
|
117 |
add_filter( 'woocommerce_package_rates', array( $this, 'free_shipping_auto_select' ) );
|
@@ -122,7 +82,6 @@ class WC_GZD_Checkout {
|
|
122 |
add_action( 'wp', array( $this, 'force_pay_order_redirect' ), 15 );
|
123 |
|
124 |
if ( 'yes' === get_option( 'woocommerce_gzd_checkout_disallow_belated_payment_method_selection' ) ) {
|
125 |
-
|
126 |
add_filter( 'woocommerce_get_checkout_payment_url', array(
|
127 |
$this,
|
128 |
'set_payment_url_to_force_payment'
|
@@ -136,6 +95,109 @@ class WC_GZD_Checkout {
|
|
136 |
// Make sure that, just like in Woo core, the order submit button gets refreshed
|
137 |
// Use a high priority to let other plugins do their adjustments beforehand
|
138 |
add_filter( 'woocommerce_update_order_review_fragments', array( $this, 'refresh_order_submit' ), 150, 1 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
}
|
140 |
|
141 |
/**
|
@@ -153,14 +215,6 @@ class WC_GZD_Checkout {
|
|
153 |
}
|
154 |
}
|
155 |
|
156 |
-
public function recalculate_order_item_unit_price( $order_item ) {
|
157 |
-
if ( is_a( $order_item, 'WC_Order_Item_Product' ) ) {
|
158 |
-
if ( $gzd_item = wc_gzd_get_order_item( $order_item ) ) {
|
159 |
-
$gzd_item->recalculate_unit_price();
|
160 |
-
}
|
161 |
-
}
|
162 |
-
}
|
163 |
-
|
164 |
public function prevent_differential_mixed_carts( $has_passed, $product_id, $quantity ) {
|
165 |
if ( $gzd_product = wc_gzd_get_gzd_product( $product_id ) ) {
|
166 |
|
@@ -185,16 +239,6 @@ class WC_GZD_Checkout {
|
|
185 |
return $has_passed;
|
186 |
}
|
187 |
|
188 |
-
public function add_order_address_data( $data, $type, $order ) {
|
189 |
-
if ( 'yes' === get_option( 'woocommerce_gzd_checkout_address_field' ) ) {
|
190 |
-
if ( $title = wc_gzd_get_order_customer_title( $order, $type ) ) {
|
191 |
-
$data['title'] = $title;
|
192 |
-
}
|
193 |
-
}
|
194 |
-
|
195 |
-
return $data;
|
196 |
-
}
|
197 |
-
|
198 |
public function refresh_order_submit( $fragments ) {
|
199 |
|
200 |
$args = array(
|
@@ -215,15 +259,6 @@ class WC_GZD_Checkout {
|
|
215 |
return $fragments;
|
216 |
}
|
217 |
|
218 |
-
public function remove_cancel_button( $actions, $order ) {
|
219 |
-
|
220 |
-
if ( isset( $actions['cancel'] ) ) {
|
221 |
-
unset( $actions['cancel'] );
|
222 |
-
}
|
223 |
-
|
224 |
-
return $actions;
|
225 |
-
}
|
226 |
-
|
227 |
/**
|
228 |
* @param WC_Order $order
|
229 |
* @param $posted
|
@@ -510,77 +545,6 @@ class WC_GZD_Checkout {
|
|
510 |
}
|
511 |
}
|
512 |
|
513 |
-
public function maybe_reduce_order_stock( $order_id ) {
|
514 |
-
wc_maybe_reduce_stock_levels( $order_id );
|
515 |
-
}
|
516 |
-
|
517 |
-
/**
|
518 |
-
* @param WC_Order $order
|
519 |
-
*/
|
520 |
-
public function set_order_stock_reduced_meta( $order ) {
|
521 |
-
$order->update_meta_data( '_order_stock_reduced', 'yes' );
|
522 |
-
$order->save();
|
523 |
-
}
|
524 |
-
|
525 |
-
/**
|
526 |
-
* @param $reduce_stock
|
527 |
-
* @param WC_Order $order
|
528 |
-
*
|
529 |
-
* @return bool
|
530 |
-
*/
|
531 |
-
public function maybe_disallow_order_stock_reducing( $reduce_stock, $order ) {
|
532 |
-
if ( 'yes' === $order->get_meta( '_order_stock_reduced' ) ) {
|
533 |
-
// Delete the meta so that third party plugins may reduce/change order stock later
|
534 |
-
$order->delete_meta_data( '_order_stock_reduced' );
|
535 |
-
$order->save();
|
536 |
-
|
537 |
-
return false;
|
538 |
-
}
|
539 |
-
|
540 |
-
return $reduce_stock;
|
541 |
-
}
|
542 |
-
|
543 |
-
public function disallow_user_order_cancellation( $allcaps, $caps, $args ) {
|
544 |
-
if ( isset( $caps[0] ) ) {
|
545 |
-
switch ( $caps[0] ) {
|
546 |
-
case 'cancel_order' :
|
547 |
-
$allcaps['cancel_order'] = false;
|
548 |
-
break;
|
549 |
-
}
|
550 |
-
}
|
551 |
-
|
552 |
-
return $allcaps;
|
553 |
-
}
|
554 |
-
|
555 |
-
public function cancel_order_url( $url ) {
|
556 |
-
|
557 |
-
// Default to home url
|
558 |
-
$return = get_permalink( wc_get_page_id( 'shop' ) );
|
559 |
-
|
560 |
-
// Extract order id and use order success page as return url
|
561 |
-
$search = preg_match( '/order_id=([0-9]+)/', $url, $matches );
|
562 |
-
|
563 |
-
if ( $search && isset( $matches[1] ) ) {
|
564 |
-
$order_id = absint( $matches[1] );
|
565 |
-
$order = wc_get_order( $order_id );
|
566 |
-
|
567 |
-
/**
|
568 |
-
* Filter the order cancellation URL replacement when customer
|
569 |
-
* order cancellation was disabled in the Germanized settings.
|
570 |
-
* Defaults to the order-received page.
|
571 |
-
*
|
572 |
-
* @param string $url The return url.
|
573 |
-
* @param WC_Order $order The order object.
|
574 |
-
*
|
575 |
-
* @since 1.0.0
|
576 |
-
*
|
577 |
-
*/
|
578 |
-
$return = apply_filters( 'woocommerce_gzd_attempt_order_cancellation_url', add_query_arg( array( 'retry' => true ), $order->get_checkout_order_received_url(), $order ) );
|
579 |
-
}
|
580 |
-
|
581 |
-
return $return;
|
582 |
-
}
|
583 |
-
|
584 |
public function init_fields() {
|
585 |
if ( 'yes' === get_option( 'woocommerce_gzd_checkout_address_field' ) ) {
|
586 |
$this->custom_fields['title'] = array(
|
@@ -588,6 +552,7 @@ class WC_GZD_Checkout {
|
|
588 |
'required' => false,
|
589 |
'label' => __( 'Title', 'woocommerce-germanized' ),
|
590 |
'options' => wc_gzd_get_customer_title_options(),
|
|
|
591 |
'before' => 'first_name',
|
592 |
'group' => array( 'billing', 'shipping' ),
|
593 |
'priority' => 0,
|
@@ -597,6 +562,7 @@ class WC_GZD_Checkout {
|
|
597 |
'before' => 'first_name',
|
598 |
'type' => 'select',
|
599 |
'options' => wc_gzd_get_customer_title_options(),
|
|
|
600 |
'label' => __( 'Title', 'woocommerce-germanized' ),
|
601 |
'show' => false,
|
602 |
'priority' => 0,
|
@@ -685,7 +651,6 @@ class WC_GZD_Checkout {
|
|
685 |
* @param WC_Cart $cart
|
686 |
*/
|
687 |
public function do_fee_tax_calculation( $cart ) {
|
688 |
-
|
689 |
if ( 'yes' !== get_option( 'woocommerce_gzd_fee_tax' ) ) {
|
690 |
return;
|
691 |
}
|
@@ -704,7 +669,6 @@ class WC_GZD_Checkout {
|
|
704 |
$fees = $cart->get_fees();
|
705 |
|
706 |
if ( ! empty( $fees ) ) {
|
707 |
-
|
708 |
$tax_shares = wc_gzd_get_cart_tax_share( 'fee' );
|
709 |
|
710 |
/**
|
@@ -784,7 +748,6 @@ class WC_GZD_Checkout {
|
|
784 |
* Temporarily removes all shipping rates (except chosen one) from packages to only show chosen package within checkout.
|
785 |
*/
|
786 |
public function remove_shipping_rates() {
|
787 |
-
|
788 |
if ( 'no' === get_option( 'woocommerce_gzd_display_checkout_shipping_rate_select' ) ) {
|
789 |
return;
|
790 |
}
|
@@ -812,103 +775,7 @@ class WC_GZD_Checkout {
|
|
812 |
* @param $order
|
813 |
*/
|
814 |
public function set_order_item_meta_crud( $item, $cart_item_key, $values, $order ) {
|
815 |
-
|
816 |
-
}
|
817 |
-
|
818 |
-
protected function refresh_item_data( $item ) {
|
819 |
-
if ( is_a( $item, 'WC_Order_Item_Product' ) && ( $product = $item->get_product() ) ) {
|
820 |
-
if ( $gzd_item = wc_gzd_get_order_item( $item ) ) {
|
821 |
-
$gzd_product = wc_gzd_get_product( $product );
|
822 |
-
|
823 |
-
$gzd_item->set_unit( $gzd_product->get_unit_name() );
|
824 |
-
$gzd_item->set_unit_base( $gzd_product->get_unit_base() );
|
825 |
-
$gzd_item->set_unit_product( $gzd_product->get_unit_product() );
|
826 |
-
|
827 |
-
$gzd_item->recalculate_unit_price();
|
828 |
-
|
829 |
-
$gzd_item->set_cart_description( $gzd_product->get_formatted_cart_description() );
|
830 |
-
$gzd_item->set_delivery_time( $gzd_product->get_delivery_time_html() );
|
831 |
-
$gzd_item->set_min_age( $gzd_product->get_min_age() );
|
832 |
-
|
833 |
-
/**
|
834 |
-
* Add order item meta.
|
835 |
-
*
|
836 |
-
* Fires when Germanized adds order item meta.
|
837 |
-
*
|
838 |
-
* @param WC_Order_Item $item The order item.
|
839 |
-
* @param WC_Order $order The order.
|
840 |
-
* @param WC_GZD_Product $gzd_product The product object.
|
841 |
-
* @param WC_GZD_Order_Item $gzd_item The order item object.
|
842 |
-
*
|
843 |
-
* @since 1.8.9
|
844 |
-
*/
|
845 |
-
do_action( 'woocommerce_gzd_add_order_item_meta', $item, $item->get_order(), $gzd_product, $gzd_item );
|
846 |
-
}
|
847 |
-
}
|
848 |
-
}
|
849 |
-
|
850 |
-
/**
|
851 |
-
* @param WC_Order_Item $item
|
852 |
-
*/
|
853 |
-
public function on_order_item_update( $item ) {
|
854 |
-
/**
|
855 |
-
* Refresh item data in case product id changes or it is a new item.
|
856 |
-
*/
|
857 |
-
if ( $item->get_id() <= 0 || in_array( 'product_id', $item->get_changes() ) ) {
|
858 |
-
$this->refresh_item_data( $item );
|
859 |
-
}
|
860 |
-
}
|
861 |
-
|
862 |
-
/**
|
863 |
-
* Hide product description from order meta default output
|
864 |
-
*
|
865 |
-
* @param array $metas
|
866 |
-
*/
|
867 |
-
public function set_order_meta_hidden( $metas ) {
|
868 |
-
array_push( $metas, '_item_desc' );
|
869 |
-
array_push( $metas, '_units' );
|
870 |
-
array_push( $metas, '_delivery_time' );
|
871 |
-
array_push( $metas, '_unit_price' );
|
872 |
-
array_push( $metas, '_unit_price_raw' );
|
873 |
-
array_push( $metas, '_unit_price_subtotal_raw' );
|
874 |
-
array_push( $metas, '_unit_price_subtotal_net_raw' );
|
875 |
-
array_push( $metas, '_unit_price_net_raw' );
|
876 |
-
array_push( $metas, '_unit_product' );
|
877 |
-
array_push( $metas, '_unit' );
|
878 |
-
array_push( $metas, '_unit_base' );
|
879 |
-
array_push( $metas, '_min_age' );
|
880 |
-
|
881 |
-
return $metas;
|
882 |
-
}
|
883 |
-
|
884 |
-
public function set_formatted_billing_address( $fields, $order ) {
|
885 |
-
|
886 |
-
if ( 'yes' !== get_option( 'woocommerce_gzd_checkout_address_field' ) ) {
|
887 |
-
return $fields;
|
888 |
-
}
|
889 |
-
|
890 |
-
if ( $title = wc_gzd_get_order_customer_title( $order, 'billing' ) ) {
|
891 |
-
$fields['title'] = $title;
|
892 |
-
}
|
893 |
-
|
894 |
-
return $fields;
|
895 |
-
}
|
896 |
-
|
897 |
-
public function set_formatted_shipping_address( $fields, $order ) {
|
898 |
-
|
899 |
-
if ( empty( $fields ) || ! is_array( $fields ) ) {
|
900 |
-
return $fields;
|
901 |
-
}
|
902 |
-
|
903 |
-
if ( 'yes' !== get_option( 'woocommerce_gzd_checkout_address_field' ) ) {
|
904 |
-
return $fields;
|
905 |
-
}
|
906 |
-
|
907 |
-
if ( $title = wc_gzd_get_order_customer_title( $order, 'shipping' ) ) {
|
908 |
-
$fields['title'] = $title;
|
909 |
-
}
|
910 |
-
|
911 |
-
return $fields;
|
912 |
}
|
913 |
|
914 |
public function set_formatted_address( $placeholder, $args ) {
|
46 |
add_filter( 'woocommerce_admin_billing_fields', array( $this, 'set_custom_fields_admin_billing' ), 0, 1 );
|
47 |
add_filter( 'woocommerce_admin_shipping_fields', array( $this, 'set_custom_fields_admin_shipping' ), 0, 1 );
|
48 |
|
49 |
+
// Format tax rate labels (percentage) in case prices during checkout are shown excl tax
|
50 |
+
add_filter( 'woocommerce_cart_tax_totals', array( $this, 'set_cart_excluding_tax_labels' ), 10, 2 );
|
|
|
|
|
51 |
|
52 |
// Save Fields on order
|
53 |
add_action( 'woocommerce_checkout_create_order', array( $this, 'save_fields' ) );
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
add_filter( 'woocommerce_formatted_address_replacements', array( $this, 'set_formatted_address' ), 0, 2 );
|
56 |
|
57 |
// Support Checkout Field Managers (which are unable to map options to values)
|
60 |
'set_title_field_mapping_editors'
|
61 |
), 10, 1 );
|
62 |
|
|
|
|
|
|
|
63 |
add_action( 'woocommerce_checkout_create_order_line_item', array( $this, 'set_order_item_meta_crud' ), 0, 4 );
|
|
|
|
|
|
|
64 |
|
65 |
// Deactivate checkout shipping selection
|
66 |
add_action( 'woocommerce_review_order_before_shipping', array( $this, 'remove_shipping_rates' ), 0 );
|
72 |
add_filter( 'woocommerce_add_to_cart_validation', array( $this, 'prevent_differential_mixed_carts' ), 10, 3 );
|
73 |
}
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
// Free Shipping auto select
|
76 |
if ( 'yes' === get_option( 'woocommerce_gzd_display_checkout_free_shipping_select' ) ) {
|
77 |
add_filter( 'woocommerce_package_rates', array( $this, 'free_shipping_auto_select' ) );
|
82 |
add_action( 'wp', array( $this, 'force_pay_order_redirect' ), 15 );
|
83 |
|
84 |
if ( 'yes' === get_option( 'woocommerce_gzd_checkout_disallow_belated_payment_method_selection' ) ) {
|
|
|
85 |
add_filter( 'woocommerce_get_checkout_payment_url', array(
|
86 |
$this,
|
87 |
'set_payment_url_to_force_payment'
|
95 |
// Make sure that, just like in Woo core, the order submit button gets refreshed
|
96 |
// Use a high priority to let other plugins do their adjustments beforehand
|
97 |
add_filter( 'woocommerce_update_order_review_fragments', array( $this, 'refresh_order_submit' ), 150, 1 );
|
98 |
+
|
99 |
+
// Unsure whether this could lead to future problems - tax classes with same name wont be merged anylonger
|
100 |
+
// add_filter( 'woocommerce_rate_code', array( $this, 'prevent_tax_name_merge' ), 1000, 2 );
|
101 |
+
|
102 |
+
// Hide cart estimated text if chosen
|
103 |
+
add_action( 'woocommerce_cart_totals_after_order_total', array( $this, 'hide_cart_estimated_text' ) );
|
104 |
+
add_action( 'woocommerce_after_cart_totals', array( $this, 'remove_cart_tax_zero_filter' ) );
|
105 |
+
|
106 |
+
// Remove cart subtotal filter
|
107 |
+
add_action( 'template_redirect', array( $this, 'maybe_remove_shopmark_filters' ) );
|
108 |
+
add_action( 'woocommerce_checkout_update_order_review', array( $this, 'maybe_remove_shopmark_filters' ) );
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Remove cart unit price subtotal filter
|
113 |
+
*/
|
114 |
+
public function maybe_remove_shopmark_filters() {
|
115 |
+
if ( is_cart() || is_checkout() ) {
|
116 |
+
|
117 |
+
foreach ( wc_gzd_get_checkout_shopmarks() as $shopmark ) {
|
118 |
+
$shopmark->remove();
|
119 |
+
}
|
120 |
+
|
121 |
+
foreach ( wc_gzd_get_cart_shopmarks() as $shopmark ) {
|
122 |
+
$shopmark->remove();
|
123 |
+
}
|
124 |
+
|
125 |
+
if ( is_cart() ) {
|
126 |
+
foreach ( wc_gzd_get_cart_shopmarks() as $shopmark ) {
|
127 |
+
$shopmark->execute();
|
128 |
+
}
|
129 |
+
} elseif ( is_checkout() ) {
|
130 |
+
foreach ( wc_gzd_get_checkout_shopmarks() as $shopmark ) {
|
131 |
+
$shopmark->execute();
|
132 |
+
}
|
133 |
+
}
|
134 |
+
}
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Prevent tax class merging. Could lead to future problems - not yet implemented
|
139 |
+
*
|
140 |
+
* @param string $code tax class code
|
141 |
+
* @param int $rate_id
|
142 |
+
*
|
143 |
+
* @return string unique tax class code
|
144 |
+
*/
|
145 |
+
public function prevent_tax_name_merge( $code, $rate_id ) {
|
146 |
+
return $code . '-' . $rate_id;
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Calls a filter to temporarily set cart tax to zero. This is only done to hide the cart tax estimated text.
|
151 |
+
* Filter is being remove right after get_cart_tax - check has been finished within cart-totals.php
|
152 |
+
*/
|
153 |
+
public function hide_cart_estimated_text() {
|
154 |
+
if ( get_option( 'woocommerce_gzd_display_hide_cart_tax_estimated' ) == 'yes' ) {
|
155 |
+
add_filter( 'woocommerce_get_cart_tax', array( $this, 'set_cart_tax_zero' ) );
|
156 |
+
}
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Removes the zero cart tax filter after get_cart_tax has been finished
|
161 |
+
*/
|
162 |
+
public function remove_cart_tax_zero_filter() {
|
163 |
+
if ( get_option( 'woocommerce_gzd_display_hide_cart_tax_estimated' ) == 'yes' ) {
|
164 |
+
remove_filter( 'woocommerce_get_cart_tax', array( $this, 'set_cart_tax_zero' ) );
|
165 |
+
}
|
166 |
+
}
|
167 |
+
|
168 |
+
/**
|
169 |
+
* This will set the cart tax to zero
|
170 |
+
*
|
171 |
+
* @param float $tax current's cart tax
|
172 |
+
*
|
173 |
+
* @return int
|
174 |
+
*/
|
175 |
+
public function set_cart_tax_zero( $tax ) {
|
176 |
+
return 0;
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* @param array $tax_totals
|
181 |
+
* @param WC_Cart $cart
|
182 |
+
*
|
183 |
+
* @return mixed
|
184 |
+
*/
|
185 |
+
public function set_cart_excluding_tax_labels( $tax_totals, $cart ) {
|
186 |
+
if ( ! empty( $tax_totals ) && ! $cart->display_prices_including_tax() && 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) {
|
187 |
+
foreach( $tax_totals as $key => $tax ) {
|
188 |
+
$rate = wc_gzd_get_tax_rate( $tax->tax_rate_id );
|
189 |
+
|
190 |
+
if ( ! $rate ) {
|
191 |
+
continue;
|
192 |
+
}
|
193 |
+
|
194 |
+
if ( ! empty( $rate ) && isset( $rate->tax_rate ) ) {
|
195 |
+
$tax_totals[ $key ]->label = wc_gzd_get_tax_rate_label( $rate->tax_rate, 'excl' );
|
196 |
+
}
|
197 |
+
}
|
198 |
+
}
|
199 |
+
|
200 |
+
return $tax_totals;
|
201 |
}
|
202 |
|
203 |
/**
|
215 |
}
|
216 |
}
|
217 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
public function prevent_differential_mixed_carts( $has_passed, $product_id, $quantity ) {
|
219 |
if ( $gzd_product = wc_gzd_get_gzd_product( $product_id ) ) {
|
220 |
|
239 |
return $has_passed;
|
240 |
}
|
241 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
242 |
public function refresh_order_submit( $fragments ) {
|
243 |
|
244 |
$args = array(
|
259 |
return $fragments;
|
260 |
}
|
261 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
/**
|
263 |
* @param WC_Order $order
|
264 |
* @param $posted
|
545 |
}
|
546 |
}
|
547 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
548 |
public function init_fields() {
|
549 |
if ( 'yes' === get_option( 'woocommerce_gzd_checkout_address_field' ) ) {
|
550 |
$this->custom_fields['title'] = array(
|
552 |
'required' => false,
|
553 |
'label' => __( 'Title', 'woocommerce-germanized' ),
|
554 |
'options' => wc_gzd_get_customer_title_options(),
|
555 |
+
'default' => 0,
|
556 |
'before' => 'first_name',
|
557 |
'group' => array( 'billing', 'shipping' ),
|
558 |
'priority' => 0,
|
562 |
'before' => 'first_name',
|
563 |
'type' => 'select',
|
564 |
'options' => wc_gzd_get_customer_title_options(),
|
565 |
+
'default' => 0,
|
566 |
'label' => __( 'Title', 'woocommerce-germanized' ),
|
567 |
'show' => false,
|
568 |
'priority' => 0,
|
651 |
* @param WC_Cart $cart
|
652 |
*/
|
653 |
public function do_fee_tax_calculation( $cart ) {
|
|
|
654 |
if ( 'yes' !== get_option( 'woocommerce_gzd_fee_tax' ) ) {
|
655 |
return;
|
656 |
}
|
669 |
$fees = $cart->get_fees();
|
670 |
|
671 |
if ( ! empty( $fees ) ) {
|
|
|
672 |
$tax_shares = wc_gzd_get_cart_tax_share( 'fee' );
|
673 |
|
674 |
/**
|
748 |
* Temporarily removes all shipping rates (except chosen one) from packages to only show chosen package within checkout.
|
749 |
*/
|
750 |
public function remove_shipping_rates() {
|
|
|
751 |
if ( 'no' === get_option( 'woocommerce_gzd_display_checkout_shipping_rate_select' ) ) {
|
752 |
return;
|
753 |
}
|
775 |
* @param $order
|
776 |
*/
|
777 |
public function set_order_item_meta_crud( $item, $cart_item_key, $values, $order ) {
|
778 |
+
WC_GZD_Order_Helper::instance()->refresh_item_data( $item );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
779 |
}
|
780 |
|
781 |
public function set_formatted_address( $placeholder, $args ) {
|
includes/class-wc-gzd-coupon-helper.php
CHANGED
@@ -240,14 +240,18 @@ class WC_GZD_Coupon_Helper {
|
|
240 |
'set_cart_contents_taxes'
|
241 |
) ) ) {
|
242 |
|
243 |
-
$discount_tax
|
244 |
|
245 |
$cart->set_cart_contents_taxes( $tax_totals );
|
246 |
|
247 |
if ( wc_prices_include_tax() ) {
|
248 |
$cart->set_discount_total( wc_cart_round_discount( ( $cart->get_discount_total() + $cart->get_discount_tax() ), $cart->dp ) );
|
249 |
} else {
|
250 |
-
|
|
|
|
|
|
|
|
|
251 |
}
|
252 |
|
253 |
$cart->set_discount_tax( 0 );
|
@@ -255,7 +259,7 @@ class WC_GZD_Coupon_Helper {
|
|
255 |
/**
|
256 |
* Necessary in case Woo prices do not include taxes
|
257 |
*/
|
258 |
-
if ( ! wc_prices_include_tax() ) {
|
259 |
$cart->set_total( $cart->get_total( 'edit' ) + $discount_tax );
|
260 |
|
261 |
if ( is_callable( array( $cart, 'set_coupon_discount_tax_totals' ) ) ) {
|
240 |
'set_cart_contents_taxes'
|
241 |
) ) ) {
|
242 |
|
243 |
+
$discount_tax = $cart->get_discount_tax();
|
244 |
|
245 |
$cart->set_cart_contents_taxes( $tax_totals );
|
246 |
|
247 |
if ( wc_prices_include_tax() ) {
|
248 |
$cart->set_discount_total( wc_cart_round_discount( ( $cart->get_discount_total() + $cart->get_discount_tax() ), $cart->dp ) );
|
249 |
} else {
|
250 |
+
if ( $cart->display_prices_including_tax() ) {
|
251 |
+
$cart->set_discount_total( wc_cart_round_discount( $cart->get_discount_total() + $cart->get_discount_tax(), $cart->dp ) );
|
252 |
+
} else {
|
253 |
+
$cart->set_discount_total( wc_cart_round_discount( $cart->get_discount_total(), $cart->dp ) );
|
254 |
+
}
|
255 |
}
|
256 |
|
257 |
$cart->set_discount_tax( 0 );
|
259 |
/**
|
260 |
* Necessary in case Woo prices do not include taxes
|
261 |
*/
|
262 |
+
if ( ! wc_prices_include_tax() && ! $cart->display_prices_including_tax() && $cart->get_total( 'edit' ) > 0 ) {
|
263 |
$cart->set_total( $cart->get_total( 'edit' ) + $discount_tax );
|
264 |
|
265 |
if ( is_callable( array( $cart, 'set_coupon_discount_tax_totals' ) ) ) {
|
includes/class-wc-gzd-customer-helper.php
CHANGED
@@ -406,14 +406,15 @@ class WC_GZD_Customer_Helper {
|
|
406 |
|
407 |
$user_query = new WP_User_Query(
|
408 |
array(
|
409 |
-
'role'
|
410 |
-
'
|
|
|
411 |
array(
|
412 |
'before' => $registered_before,
|
413 |
'inclusive' => true,
|
414 |
)
|
415 |
),
|
416 |
-
'meta_query'
|
417 |
array(
|
418 |
'key' => '_woocommerce_activation',
|
419 |
'compare' => 'EXISTS',
|
@@ -662,6 +663,18 @@ class WC_GZD_Customer_Helper {
|
|
662 |
return $user_activation;
|
663 |
}
|
664 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
665 |
}
|
666 |
|
667 |
WC_GZD_Customer_Helper::instance();
|
406 |
|
407 |
$user_query = new WP_User_Query(
|
408 |
array(
|
409 |
+
'role' => $roles,
|
410 |
+
'role__not_in' => $this->get_account_cleanup_user_role_exclusions(),
|
411 |
+
'date_query' => array(
|
412 |
array(
|
413 |
'before' => $registered_before,
|
414 |
'inclusive' => true,
|
415 |
)
|
416 |
),
|
417 |
+
'meta_query' => array(
|
418 |
array(
|
419 |
'key' => '_woocommerce_activation',
|
420 |
'compare' => 'EXISTS',
|
663 |
return $user_activation;
|
664 |
}
|
665 |
|
666 |
+
public function get_account_cleanup_user_role_exclusions() {
|
667 |
+
/**
|
668 |
+
* Filter user roles excluded during account cleanup.
|
669 |
+
* By default user roles `administrator`, `editor`, `author` and `shop_manager` are excluded.
|
670 |
+
*
|
671 |
+
* @param array $roles Array of roles to be excluded from account cleanup.
|
672 |
+
*
|
673 |
+
* @since 3.3.0
|
674 |
+
*/
|
675 |
+
return apply_filters( 'woocommerce_gzd_customer_account_cleanup_excluded_user_roles', array( 'administrator', 'editor', 'author', 'shop_manager' ) );
|
676 |
+
}
|
677 |
+
|
678 |
}
|
679 |
|
680 |
WC_GZD_Customer_Helper::instance();
|
includes/class-wc-gzd-dependencies.php
CHANGED
@@ -37,7 +37,7 @@ class WC_GZD_Dependencies {
|
|
37 |
*
|
38 |
* @var string
|
39 |
*/
|
40 |
-
public $wc_minimum_version_required = '3.
|
41 |
|
42 |
public static function instance( $plugin = null ) {
|
43 |
if ( is_null( self::$_instance ) ) {
|
37 |
*
|
38 |
* @var string
|
39 |
*/
|
40 |
+
public $wc_minimum_version_required = '3.9';
|
41 |
|
42 |
public static function instance( $plugin = null ) {
|
43 |
if ( is_null( self::$_instance ) ) {
|
includes/class-wc-gzd-emails.php
CHANGED
@@ -150,7 +150,18 @@ class WC_GZD_Emails {
|
|
150 |
return apply_filters( 'woocommerce_gzd_current_email_instance', $this->current_email_instance, $this );
|
151 |
}
|
152 |
|
153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
if ( $email ) {
|
155 |
$recipients = $email->get_option( 'bcc' );
|
156 |
|
@@ -454,6 +465,8 @@ class WC_GZD_Emails {
|
|
454 |
add_filter( 'woocommerce_email_footer_text', array( $this, 'email_footer_plain' ), 0 );
|
455 |
add_filter( 'woocommerce_email_styles', array( $this, 'styles' ) );
|
456 |
|
|
|
|
|
457 |
$mails = $this->mailer->get_emails();
|
458 |
|
459 |
if ( ! empty( $mails ) ) {
|
@@ -478,6 +491,15 @@ class WC_GZD_Emails {
|
|
478 |
add_action( 'woocommerce_email_after_order_table', array( $this, 'email_notices' ), 5, 3 );
|
479 |
}
|
480 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
481 |
public function get_gateways_disabling_paid_for_order_mail() {
|
482 |
|
483 |
/**
|
150 |
return apply_filters( 'woocommerce_gzd_current_email_instance', $this->current_email_instance, $this );
|
151 |
}
|
152 |
|
153 |
+
/**
|
154 |
+
* Add BCC headers depending on the current email template.
|
155 |
+
* Make the last parameter option to potentially support Woo < 3.9.
|
156 |
+
*
|
157 |
+
* @param $headers
|
158 |
+
* @param $id
|
159 |
+
* @param $object
|
160 |
+
* @param null $email
|
161 |
+
*
|
162 |
+
* @return string
|
163 |
+
*/
|
164 |
+
public function add_bcc_email_headers( $headers, $id, $object, $email = null ) {
|
165 |
if ( $email ) {
|
166 |
$recipients = $email->get_option( 'bcc' );
|
167 |
|
465 |
add_filter( 'woocommerce_email_footer_text', array( $this, 'email_footer_plain' ), 0 );
|
466 |
add_filter( 'woocommerce_email_styles', array( $this, 'styles' ) );
|
467 |
|
468 |
+
add_action( 'woocommerce_email_order_meta', array( $this, 'small_business_notice' ), 1 );
|
469 |
+
|
470 |
$mails = $this->mailer->get_emails();
|
471 |
|
472 |
if ( ! empty( $mails ) ) {
|
491 |
add_action( 'woocommerce_email_after_order_table', array( $this, 'email_notices' ), 5, 3 );
|
492 |
}
|
493 |
|
494 |
+
/**
|
495 |
+
* Add small business global Email Footer
|
496 |
+
*/
|
497 |
+
public function small_business_notice() {
|
498 |
+
if ( wc_gzd_is_small_business() ) {
|
499 |
+
wc_get_template( 'global/small-business-info.php' );
|
500 |
+
}
|
501 |
+
}
|
502 |
+
|
503 |
public function get_gateways_disabling_paid_for_order_mail() {
|
504 |
|
505 |
/**
|
includes/class-wc-gzd-install.php
CHANGED
@@ -215,6 +215,11 @@ if ( ! class_exists( 'WC_GZD_Install' ) ) :
|
|
215 |
$note->reset();
|
216 |
}
|
217 |
|
|
|
|
|
|
|
|
|
|
|
218 |
// Queue upgrades
|
219 |
$current_version = get_option( 'woocommerce_gzd_version', null );
|
220 |
$current_db_version = get_option( 'woocommerce_gzd_db_version', null );
|
@@ -597,6 +602,7 @@ if ( ! class_exists( 'WC_GZD_Install' ) ) :
|
|
597 |
global $wpdb;
|
598 |
|
599 |
$base_country = ( isset( WC()->countries ) ) ? WC()->countries->get_base_country() : 'DE';
|
|
|
600 |
|
601 |
$options = array(
|
602 |
'woocommerce_default_country' => $base_country,
|
@@ -609,12 +615,13 @@ if ( ! class_exists( 'WC_GZD_Install' ) ) :
|
|
609 |
'woocommerce_dimension_unit' => 'cm',
|
610 |
'woocommerce_calc_taxes' => 'yes',
|
611 |
'woocommerce_prices_include_tax' => 'yes',
|
|
|
612 |
'woocommerce_tax_display_cart' => 'incl',
|
613 |
'woocommerce_tax_display_shop' => 'incl',
|
614 |
'woocommerce_tax_total_display' => 'itemized',
|
615 |
'woocommerce_tax_based_on' => 'billing',
|
616 |
'woocommerce_allowed_countries' => 'specific',
|
617 |
-
'woocommerce_specific_allowed_countries' =>
|
618 |
'woocommerce_default_customer_address' => 'base'
|
619 |
);
|
620 |
|
215 |
$note->reset();
|
216 |
}
|
217 |
|
218 |
+
// Show the importer
|
219 |
+
if ( $note = $notices->get_note( 'internetmarke_importer' ) ) {
|
220 |
+
$note->reset();
|
221 |
+
}
|
222 |
+
|
223 |
// Queue upgrades
|
224 |
$current_version = get_option( 'woocommerce_gzd_version', null );
|
225 |
$current_db_version = get_option( 'woocommerce_gzd_db_version', null );
|
602 |
global $wpdb;
|
603 |
|
604 |
$base_country = ( isset( WC()->countries ) ) ? WC()->countries->get_base_country() : 'DE';
|
605 |
+
$eu_countries = ( isset( WC()->countries ) ) ? WC()->countries->get_european_union_countries() : array( $base_country );
|
606 |
|
607 |
$options = array(
|
608 |
'woocommerce_default_country' => $base_country,
|
615 |
'woocommerce_dimension_unit' => 'cm',
|
616 |
'woocommerce_calc_taxes' => 'yes',
|
617 |
'woocommerce_prices_include_tax' => 'yes',
|
618 |
+
'woocommerce_tax_round_at_subtotal' => 'yes',
|
619 |
'woocommerce_tax_display_cart' => 'incl',
|
620 |
'woocommerce_tax_display_shop' => 'incl',
|
621 |
'woocommerce_tax_total_display' => 'itemized',
|
622 |
'woocommerce_tax_based_on' => 'billing',
|
623 |
'woocommerce_allowed_countries' => 'specific',
|
624 |
+
'woocommerce_specific_allowed_countries' => $eu_countries,
|
625 |
'woocommerce_default_customer_address' => 'base'
|
626 |
);
|
627 |
|
includes/class-wc-gzd-legal-checkbox.php
CHANGED
@@ -335,8 +335,14 @@ class WC_GZD_Legal_Checkbox {
|
|
335 |
* @return string
|
336 |
*/
|
337 |
public function get_error_message( $plain = false ) {
|
|
|
|
|
338 |
if ( $plain ) {
|
339 |
-
|
|
|
|
|
|
|
|
|
340 |
} else {
|
341 |
$error_text = $this->settings['error_message'];
|
342 |
$error_text = wc_gzd_replace_label_shortcodes( $error_text, $this->get_label_args() );
|
@@ -352,8 +358,14 @@ class WC_GZD_Legal_Checkbox {
|
|
352 |
* @since 2.0.0
|
353 |
*
|
354 |
*/
|
355 |
-
|
|
|
|
|
|
|
|
|
356 |
}
|
|
|
|
|
357 |
}
|
358 |
|
359 |
/**
|
335 |
* @return string
|
336 |
*/
|
337 |
public function get_error_message( $plain = false ) {
|
338 |
+
$error_message = '';
|
339 |
+
|
340 |
if ( $plain ) {
|
341 |
+
$error_message = $this->settings['error_message'];
|
342 |
+
|
343 |
+
if ( empty( $error_message ) ) {
|
344 |
+
$error_message = sprintf( __( '%s is a mandatory field.', 'woocommerce-germanized' ), $this->get_admin_name() );
|
345 |
+
}
|
346 |
} else {
|
347 |
$error_text = $this->settings['error_message'];
|
348 |
$error_text = wc_gzd_replace_label_shortcodes( $error_text, $this->get_label_args() );
|
358 |
* @since 2.0.0
|
359 |
*
|
360 |
*/
|
361 |
+
$error_message = apply_filters( "woocommerce_gzd_legal_checkbox_{$id}_error_text", $error_text, $this );
|
362 |
+
|
363 |
+
if ( empty( $error_message ) ) {
|
364 |
+
$error_message = sprintf( __( '%s is a mandatory field.', 'woocommerce-germanized' ), $this->get_admin_name() );
|
365 |
+
}
|
366 |
}
|
367 |
+
|
368 |
+
return $error_message;
|
369 |
}
|
370 |
|
371 |
/**
|
includes/class-wc-gzd-order-helper.php
ADDED
@@ -0,0 +1,375 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class WC_GZD_Order_Helper {
|
4 |
+
|
5 |
+
protected static $_instance = null;
|
6 |
+
|
7 |
+
public static function instance() {
|
8 |
+
if ( is_null( self::$_instance ) ) {
|
9 |
+
self::$_instance = new self();
|
10 |
+
}
|
11 |
+
|
12 |
+
return self::$_instance;
|
13 |
+
}
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Cloning is forbidden.
|
17 |
+
*
|
18 |
+
* @since 1.0
|
19 |
+
*/
|
20 |
+
public function __clone() {
|
21 |
+
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'woocommerce-germanized' ), '1.0' );
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Unserializing instances of this class is forbidden.
|
26 |
+
*
|
27 |
+
* @since 1.0
|
28 |
+
*/
|
29 |
+
public function __wakeup() {
|
30 |
+
_doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?', 'woocommerce-germanized' ), '1.0' );
|
31 |
+
}
|
32 |
+
|
33 |
+
public function __construct() {
|
34 |
+
// Add better incl tax display to order totals
|
35 |
+
add_filter( 'woocommerce_get_order_item_totals', array( $this, 'order_item_tax_totals' ), 0, 3 );
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Recalculate order item unit price after tax adjustments.
|
39 |
+
*/
|
40 |
+
add_action( 'woocommerce_order_item_after_calculate_taxes', array( $this, 'recalculate_order_item_unit_price' ), 60, 1 );
|
41 |
+
|
42 |
+
// Add Title to billing address format
|
43 |
+
add_filter( 'woocommerce_order_formatted_billing_address', array(
|
44 |
+
$this,
|
45 |
+
'set_formatted_billing_address'
|
46 |
+
), 0, 2 );
|
47 |
+
add_filter( 'woocommerce_order_formatted_shipping_address', array(
|
48 |
+
$this,
|
49 |
+
'set_formatted_shipping_address'
|
50 |
+
), 0, 2 );
|
51 |
+
|
52 |
+
// Add title options to order address data
|
53 |
+
add_filter( 'woocommerce_get_order_address', array( $this, 'add_order_address_data' ), 10, 3 );
|
54 |
+
|
55 |
+
add_action( 'woocommerce_before_order_item_object_save', array( $this, 'on_order_item_update' ), 10 );
|
56 |
+
add_filter( 'woocommerce_hidden_order_itemmeta', array( $this, 'set_order_meta_hidden' ), 0 );
|
57 |
+
|
58 |
+
// Disallow user order cancellation
|
59 |
+
if ( 'yes' === get_option( 'woocommerce_gzd_checkout_stop_order_cancellation' ) ) {
|
60 |
+
|
61 |
+
add_filter( 'woocommerce_get_cancel_order_url', array( $this, 'cancel_order_url' ), 1500, 1 );
|
62 |
+
add_filter( 'woocommerce_get_cancel_order_url_raw', array( $this, 'cancel_order_url' ), 1500, 1 );
|
63 |
+
add_filter( 'user_has_cap', array( $this, 'disallow_user_order_cancellation' ), 15, 3 );
|
64 |
+
|
65 |
+
// Remove order stock right after confirmation is sent
|
66 |
+
add_action( 'woocommerce_germanized_order_confirmation_sent', array(
|
67 |
+
$this,
|
68 |
+
'maybe_reduce_order_stock'
|
69 |
+
), 5, 1 );
|
70 |
+
add_filter( 'woocommerce_my_account_my_orders_actions', array( $this, 'remove_cancel_button' ), 10, 2 );
|
71 |
+
|
72 |
+
// Woo 3.0 stock reducing checks - mark order as stock-reduced so that stock reducing fails upon second attempt
|
73 |
+
add_action( 'woocommerce_reduce_order_stock', array( $this, 'set_order_stock_reduced_meta' ), 10, 1 );
|
74 |
+
add_filter( 'woocommerce_can_reduce_order_stock', array(
|
75 |
+
$this,
|
76 |
+
'maybe_disallow_order_stock_reducing'
|
77 |
+
), 10, 2 );
|
78 |
+
}
|
79 |
+
}
|
80 |
+
|
81 |
+
public function remove_cancel_button( $actions, $order ) {
|
82 |
+
if ( isset( $actions['cancel'] ) ) {
|
83 |
+
unset( $actions['cancel'] );
|
84 |
+
}
|
85 |
+
|
86 |
+
return $actions;
|
87 |
+
}
|
88 |
+
|
89 |
+
public function maybe_reduce_order_stock( $order_id ) {
|
90 |
+
wc_maybe_reduce_stock_levels( $order_id );
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* @param WC_Order $order
|
95 |
+
*/
|
96 |
+
public function set_order_stock_reduced_meta( $order ) {
|
97 |
+
$order->update_meta_data( '_order_stock_reduced', 'yes' );
|
98 |
+
$order->save();
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* @param $reduce_stock
|
103 |
+
* @param WC_Order $order
|
104 |
+
*
|
105 |
+
* @return bool
|
106 |
+
*/
|
107 |
+
public function maybe_disallow_order_stock_reducing( $reduce_stock, $order ) {
|
108 |
+
if ( 'yes' === $order->get_meta( '_order_stock_reduced' ) ) {
|
109 |
+
// Delete the meta so that third party plugins may reduce/change order stock later
|
110 |
+
$order->delete_meta_data( '_order_stock_reduced' );
|
111 |
+
$order->save();
|
112 |
+
|
113 |
+
return false;
|
114 |
+
}
|
115 |
+
|
116 |
+
return $reduce_stock;
|
117 |
+
}
|
118 |
+
|
119 |
+
public function disallow_user_order_cancellation( $allcaps, $caps, $args ) {
|
120 |
+
if ( isset( $caps[0] ) ) {
|
121 |
+
switch ( $caps[0] ) {
|
122 |
+
case 'cancel_order' :
|
123 |
+
$allcaps['cancel_order'] = false;
|
124 |
+
break;
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
return $allcaps;
|
129 |
+
}
|
130 |
+
|
131 |
+
public function cancel_order_url( $url ) {
|
132 |
+
|
133 |
+
// Default to home url
|
134 |
+
$return = get_permalink( wc_get_page_id( 'shop' ) );
|
135 |
+
|
136 |
+
// Extract order id and use order success page as return url
|
137 |
+
$search = preg_match( '/order_id=([0-9]+)/', $url, $matches );
|
138 |
+
|
139 |
+
if ( $search && isset( $matches[1] ) ) {
|
140 |
+
$order_id = absint( $matches[1] );
|
141 |
+
$order = wc_get_order( $order_id );
|
142 |
+
|
143 |
+
/**
|
144 |
+
* Filter the order cancellation URL replacement when customer
|
145 |
+
* order cancellation was disabled in the Germanized settings.
|
146 |
+
* Defaults to the order-received page.
|
147 |
+
*
|
148 |
+
* @param string $url The return url.
|
149 |
+
* @param WC_Order $order The order object.
|
150 |
+
*
|
151 |
+
* @since 1.0.0
|
152 |
+
*
|
153 |
+
*/
|
154 |
+
$return = apply_filters( 'woocommerce_gzd_attempt_order_cancellation_url', add_query_arg( array( 'retry' => true ), $order->get_checkout_order_received_url(), $order ) );
|
155 |
+
}
|
156 |
+
|
157 |
+
return $return;
|
158 |
+
}
|
159 |
+
|
160 |
+
/**
|
161 |
+
* @param WC_Order_Item_Product $item
|
162 |
+
* @param $cart_item_key
|
163 |
+
* @param $values
|
164 |
+
* @param $order
|
165 |
+
*/
|
166 |
+
public function set_order_item_meta_crud( $item, $cart_item_key, $values, $order ) {
|
167 |
+
$this->refresh_item_data( $item );
|
168 |
+
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* @param WC_Order_Item $item
|
172 |
+
*/
|
173 |
+
public function on_order_item_update( $item ) {
|
174 |
+
/**
|
175 |
+
* Refresh item data in case product id changes or it is a new item.
|
176 |
+
*/
|
177 |
+
if ( $item->get_id() <= 0 || in_array( 'product_id', $item->get_changes() ) ) {
|
178 |
+
$this->refresh_item_data( $item );
|
179 |
+
}
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Hide product description from order meta default output
|
184 |
+
*
|
185 |
+
* @param array $metas
|
186 |
+
*/
|
187 |
+
public function set_order_meta_hidden( $metas ) {
|
188 |
+
array_push( $metas, '_item_desc' );
|
189 |
+
array_push( $metas, '_units' );
|
190 |
+
array_push( $metas, '_delivery_time' );
|
191 |
+
array_push( $metas, '_unit_price' );
|
192 |
+
array_push( $metas, '_unit_price_raw' );
|
193 |
+
array_push( $metas, '_unit_price_subtotal_raw' );
|
194 |
+
array_push( $metas, '_unit_price_subtotal_net_raw' );
|
195 |
+
array_push( $metas, '_unit_price_net_raw' );
|
196 |
+
array_push( $metas, '_unit_product' );
|
197 |
+
array_push( $metas, '_unit' );
|
198 |
+
array_push( $metas, '_unit_base' );
|
199 |
+
array_push( $metas, '_min_age' );
|
200 |
+
|
201 |
+
return $metas;
|
202 |
+
}
|
203 |
+
|
204 |
+
public function refresh_item_data( $item ) {
|
205 |
+
if ( is_a( $item, 'WC_Order_Item_Product' ) && ( $product = $item->get_product() ) ) {
|
206 |
+
if ( $gzd_item = wc_gzd_get_order_item( $item ) ) {
|
207 |
+
$gzd_product = wc_gzd_get_product( $product );
|
208 |
+
|
209 |
+
$gzd_item->set_unit( $gzd_product->get_unit_name() );
|
210 |
+
$gzd_item->set_unit_base( $gzd_product->get_unit_base() );
|
211 |
+
$gzd_item->set_unit_product( $gzd_product->get_unit_product() );
|
212 |
+
|
213 |
+
$gzd_item->recalculate_unit_price();
|
214 |
+
|
215 |
+
$gzd_item->set_cart_description( $gzd_product->get_formatted_cart_description() );
|
216 |
+
$gzd_item->set_delivery_time( $gzd_product->get_delivery_time_html() );
|
217 |
+
$gzd_item->set_min_age( $gzd_product->get_min_age() );
|
218 |
+
|
219 |
+
/**
|
220 |
+
* Add order item meta.
|
221 |
+
*
|
222 |
+
* Fires when Germanized adds order item meta.
|
223 |
+
*
|
224 |
+
* @param WC_Order_Item $item The order item.
|
225 |
+
* @param WC_Order $order The order.
|
226 |
+
* @param WC_GZD_Product $gzd_product The product object.
|
227 |
+
* @param WC_GZD_Order_Item $gzd_item The order item object.
|
228 |
+
*
|
229 |
+
* @since 1.8.9
|
230 |
+
*/
|
231 |
+
do_action( 'woocommerce_gzd_add_order_item_meta', $item, $item->get_order(), $gzd_product, $gzd_item );
|
232 |
+
}
|
233 |
+
}
|
234 |
+
}
|
235 |
+
|
236 |
+
public function add_order_address_data( $data, $type, $order ) {
|
237 |
+
if ( 'yes' === get_option( 'woocommerce_gzd_checkout_address_field' ) ) {
|
238 |
+
if ( $this->order_address_enable_customer_title( $data ) && ( $title = wc_gzd_get_order_customer_title( $order, $type ) ) ) {
|
239 |
+
$data['title'] = $title;
|
240 |
+
}
|
241 |
+
}
|
242 |
+
|
243 |
+
return $data;
|
244 |
+
}
|
245 |
+
|
246 |
+
/**
|
247 |
+
* @param $fields
|
248 |
+
* @param WC_Order $order
|
249 |
+
*
|
250 |
+
* @return mixed
|
251 |
+
*/
|
252 |
+
public function set_formatted_billing_address( $fields, $order ) {
|
253 |
+
if ( 'yes' !== get_option( 'woocommerce_gzd_checkout_address_field' ) ) {
|
254 |
+
return $fields;
|
255 |
+
}
|
256 |
+
|
257 |
+
if ( $this->order_address_enable_customer_title( $fields ) && ( $title = wc_gzd_get_order_customer_title( $order, 'billing' ) ) ) {
|
258 |
+
$fields['title'] = $title;
|
259 |
+
}
|
260 |
+
|
261 |
+
return $fields;
|
262 |
+
}
|
263 |
+
|
264 |
+
public function order_address_enable_customer_title( $fields ) {
|
265 |
+
/**
|
266 |
+
* If no last name has been chosen, remove the title too
|
267 |
+
*/
|
268 |
+
if ( ! isset( $fields['last_name'] ) || empty( $fields['last_name'] ) ) {
|
269 |
+
return false;
|
270 |
+
}
|
271 |
+
|
272 |
+
return true;
|
273 |
+
}
|
274 |
+
|
275 |
+
public function set_formatted_shipping_address( $fields, $order ) {
|
276 |
+
if ( empty( $fields ) || ! is_array( $fields ) ) {
|
277 |
+
return $fields;
|
278 |
+
}
|
279 |
+
|
280 |
+
if ( 'yes' !== get_option( 'woocommerce_gzd_checkout_address_field' ) ) {
|
281 |
+
return $fields;
|
282 |
+
}
|
283 |
+
|
284 |
+
if ( $this->order_address_enable_customer_title( $fields ) && ( $title = wc_gzd_get_order_customer_title( $order, 'shipping' ) ) ) {
|
285 |
+
$fields['title'] = $title;
|
286 |
+
}
|
287 |
+
|
288 |
+
return $fields;
|
289 |
+
}
|
290 |
+
|
291 |
+
/**
|
292 |
+
* Improve tax display within order totals
|
293 |
+
*
|
294 |
+
* @param array $order_totals
|
295 |
+
* @param WC_Order $order
|
296 |
+
*
|
297 |
+
* @return array
|
298 |
+
*/
|
299 |
+
public function order_item_tax_totals( $order_totals, $order, $tax_display = '' ) {
|
300 |
+
$tax_display = $tax_display ? $tax_display : get_option( 'woocommerce_tax_display_cart' );
|
301 |
+
|
302 |
+
// Set to formatted total without displaying tax info behind the price
|
303 |
+
$order_totals['order_total']['value'] = $order->get_formatted_order_total();
|
304 |
+
|
305 |
+
if ( 'excl' === $tax_display ) {
|
306 |
+
if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) {
|
307 |
+
foreach ( $order->get_tax_totals() as $code => $tax ) {
|
308 |
+
$key = sanitize_title( $code );
|
309 |
+
|
310 |
+
if ( isset( $order_totals[ $key ] ) ) {
|
311 |
+
$percentage = wc_gzd_get_order_tax_rate_percentage( $tax->rate_id, $order );
|
312 |
+
|
313 |
+
if ( ! is_null( $percentage ) ) {
|
314 |
+
$order_totals[ $key ]['label'] = wc_gzd_get_tax_rate_label( $percentage, 'excl' );
|
315 |
+
}
|
316 |
+
}
|
317 |
+
}
|
318 |
+
}
|
319 |
+
} else {
|
320 |
+
$tax_array = array();
|
321 |
+
|
322 |
+
if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) {
|
323 |
+
foreach ( $order->get_tax_totals() as $code => $tax ) {
|
324 |
+
$tax->rate = wc_gzd_get_order_tax_rate_percentage( $tax->rate_id, $order );
|
325 |
+
|
326 |
+
if ( ! isset( $tax_array[ $tax->rate ] ) ) {
|
327 |
+
$tax_array[ $tax->rate ] = array(
|
328 |
+
'tax' => $tax,
|
329 |
+
'amount' => $tax->amount,
|
330 |
+
'contains' => array( $tax ),
|
331 |
+
);
|
332 |
+
} else {
|
333 |
+
array_push( $tax_array[ $tax->rate ]['contains'], $tax );
|
334 |
+
$tax_array[ $tax->rate ]['amount'] += $tax->amount;
|
335 |
+
}
|
336 |
+
}
|
337 |
+
} else {
|
338 |
+
|
339 |
+
$base_rate = WC_Tax::get_base_tax_rates();
|
340 |
+
$rate = reset( $base_rate );
|
341 |
+
$rate_id = key( $base_rate );
|
342 |
+
|
343 |
+
$base_rate = (object) $rate;
|
344 |
+
$base_rate->rate_id = $rate_id;
|
345 |
+
|
346 |
+
$tax_array[] = array(
|
347 |
+
'tax' => $base_rate,
|
348 |
+
'contains' => array( $base_rate ),
|
349 |
+
'amount' => $order->get_total_tax(),
|
350 |
+
);
|
351 |
+
}
|
352 |
+
|
353 |
+
if ( ! empty( $tax_array ) ) {
|
354 |
+
foreach ( $tax_array as $tax ) {
|
355 |
+
$order_totals[ 'tax_' . WC_Tax::get_rate_code( $tax['tax']->rate_id ) ] = array(
|
356 |
+
'label' => wc_gzd_get_tax_rate_label( $tax['tax']->rate ),
|
357 |
+
'value' => wc_price( $tax['amount'], array( 'currency' => $order->get_currency() ) ),
|
358 |
+
);
|
359 |
+
}
|
360 |
+
}
|
361 |
+
}
|
362 |
+
|
363 |
+
return $order_totals;
|
364 |
+
}
|
365 |
+
|
366 |
+
public function recalculate_order_item_unit_price( $order_item ) {
|
367 |
+
if ( is_a( $order_item, 'WC_Order_Item_Product' ) ) {
|
368 |
+
if ( $gzd_item = wc_gzd_get_order_item( $order_item ) ) {
|
369 |
+
$gzd_item->recalculate_unit_price();
|
370 |
+
}
|
371 |
+
}
|
372 |
+
}
|
373 |
+
}
|
374 |
+
|
375 |
+
WC_GZD_Order_Helper::instance();
|
includes/class-wc-gzd-shortcodes.php
CHANGED
@@ -191,6 +191,12 @@ class WC_GZD_Shortcodes {
|
|
191 |
}
|
192 |
|
193 |
public static function gzd_complaints( $atts ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
$texts = array(
|
195 |
'dispute' => wc_gzd_get_dispute_resolution_text(),
|
196 |
);
|
@@ -202,9 +208,13 @@ class WC_GZD_Shortcodes {
|
|
202 |
), '<a href="https://ec.europa.eu/consumers/odr" target="_blank">https://ec.europa.eu/consumers/odr</a>', $text ) );
|
203 |
}
|
204 |
|
|
|
|
|
|
|
|
|
205 |
ob_start();
|
206 |
-
wc_get_template( 'global/complaints.php', array( 'dispute_text' => $texts['dispute'] ) );
|
207 |
-
$return = '<div class="woocommerce woocommerce-gzd woocommerce-gzd-complaints-shortcode">' . ob_get_clean() . '</div>';
|
208 |
|
209 |
return $return;
|
210 |
}
|
191 |
}
|
192 |
|
193 |
public static function gzd_complaints( $atts ) {
|
194 |
+
$atts = wp_parse_args( $atts, array(
|
195 |
+
'text_only' => 'no',
|
196 |
+
) );
|
197 |
+
|
198 |
+
$atts['text_only'] = wc_string_to_bool( $atts['text_only'] );
|
199 |
+
|
200 |
$texts = array(
|
201 |
'dispute' => wc_gzd_get_dispute_resolution_text(),
|
202 |
);
|
208 |
), '<a href="https://ec.europa.eu/consumers/odr" target="_blank">https://ec.europa.eu/consumers/odr</a>', $text ) );
|
209 |
}
|
210 |
|
211 |
+
if ( $atts['text_only'] ) {
|
212 |
+
$texts['dispute'] = preg_replace( '%<p(.*?)>|</p>%s', '', $texts['dispute'] );
|
213 |
+
}
|
214 |
+
|
215 |
ob_start();
|
216 |
+
wc_get_template( 'global/complaints.php', array( 'dispute_text' => $texts['dispute'], 'text_only' => $atts['text_only'] ) );
|
217 |
+
$return = ( $atts['text_only'] ? '' : '<div class="woocommerce woocommerce-gzd woocommerce-gzd-complaints-shortcode">' ) . ob_get_clean() . ( $atts['text_only'] ? '' : '</div>' );
|
218 |
|
219 |
return $return;
|
220 |
}
|
includes/gateways/direct-debit/class-wc-gzd-gateway-direct-debit.php
CHANGED
@@ -483,7 +483,7 @@ Please notice: Period for pre-information of the SEPA direct debit is shortened
|
|
483 |
*
|
484 |
*/
|
485 |
$directDebit->addTransfer( $payment_id, apply_filters( 'woocommerce_gzd_direct_debit_sepa_xml_exporter_transfer_args', array(
|
486 |
-
'amount' => $order->get_total(),
|
487 |
'debtorIban' => strtoupper( $this->clean_whitespaces( $this->maybe_decrypt( $order->get_meta( '_direct_debit_iban' ) ) ) ),
|
488 |
'debtorBic' => strtoupper( $this->clean_whitespaces( $this->maybe_decrypt( $order->get_meta( '_direct_debit_bic' ) ) ) ),
|
489 |
'debtorName' => $order->get_meta( '_direct_debit_holder' ),
|
483 |
*
|
484 |
*/
|
485 |
$directDebit->addTransfer( $payment_id, apply_filters( 'woocommerce_gzd_direct_debit_sepa_xml_exporter_transfer_args', array(
|
486 |
+
'amount' => ( $order->get_total() - $order->get_total_refunded() ),
|
487 |
'debtorIban' => strtoupper( $this->clean_whitespaces( $this->maybe_decrypt( $order->get_meta( '_direct_debit_iban' ) ) ) ),
|
488 |
'debtorBic' => strtoupper( $this->clean_whitespaces( $this->maybe_decrypt( $order->get_meta( '_direct_debit_bic' ) ) ) ),
|
489 |
'debtorName' => $order->get_meta( '_direct_debit_holder' ),
|
includes/wc-gzd-cart-functions.php
CHANGED
@@ -594,10 +594,9 @@ function wc_gzd_get_cart_taxes( $cart, $include_shipping_taxes = true ) {
|
|
594 |
$tax_array = array();
|
595 |
|
596 |
// If prices are tax inclusive, show taxes here
|
597 |
-
if ( get_option( 'woocommerce_calc_taxes' )
|
598 |
-
|
599 |
-
if ( get_option( 'woocommerce_tax_total_display' ) == 'itemized' ) {
|
600 |
|
|
|
601 |
if ( ! $include_shipping_taxes ) {
|
602 |
add_filter( 'woocommerce_cart_get_taxes', 'wc_gzd_cart_remove_shipping_taxes', 10, 2 );
|
603 |
}
|
594 |
$tax_array = array();
|
595 |
|
596 |
// If prices are tax inclusive, show taxes here
|
597 |
+
if ( 'yes' === get_option( 'woocommerce_calc_taxes' ) && 'incl' === wc_gzd_get_cart_tax_display_mode() ) {
|
|
|
|
|
598 |
|
599 |
+
if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) {
|
600 |
if ( ! $include_shipping_taxes ) {
|
601 |
add_filter( 'woocommerce_cart_get_taxes', 'wc_gzd_cart_remove_shipping_taxes', 10, 2 );
|
602 |
}
|
includes/wc-gzd-core-functions.php
CHANGED
@@ -444,8 +444,12 @@ function wc_gzd_get_dispute_resolution_text() {
|
|
444 |
return get_option( 'woocommerce_gzd_alternative_complaints_text_' . $type );
|
445 |
}
|
446 |
|
447 |
-
function wc_gzd_get_tax_rate_label( $rate_percentage ) {
|
448 |
-
|
|
|
|
|
|
|
|
|
449 |
|
450 |
/**
|
451 |
* Allow adjusting the tax rate label e.g. "incl. 19% tax".
|
@@ -456,7 +460,7 @@ function wc_gzd_get_tax_rate_label( $rate_percentage ) {
|
|
456 |
* @since 2.3.3
|
457 |
*
|
458 |
*/
|
459 |
-
return apply_filters( 'woocommerce_gzd_tax_rate_label', $label, $rate_percentage );
|
460 |
}
|
461 |
|
462 |
/**
|
@@ -596,8 +600,10 @@ function wc_gzd_get_customer_title_options() {
|
|
596 |
*
|
597 |
*/
|
598 |
$titles = apply_filters( 'woocommerce_gzd_title_options', array(
|
599 |
-
|
600 |
-
|
|
|
|
|
601 |
) );
|
602 |
|
603 |
return $titles;
|
@@ -606,16 +612,26 @@ function wc_gzd_get_customer_title_options() {
|
|
606 |
function wc_gzd_get_customer_title( $value ) {
|
607 |
$option = absint( $value );
|
608 |
$titles = wc_gzd_get_customer_title_options();
|
|
|
609 |
|
610 |
if ( '[deleted]' === $value ) {
|
611 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
612 |
}
|
613 |
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
|
|
618 |
}
|
|
|
|
|
619 |
}
|
620 |
|
621 |
function wc_gzd_register_legal_checkbox( $id, $args ) {
|
444 |
return get_option( 'woocommerce_gzd_alternative_complaints_text_' . $type );
|
445 |
}
|
446 |
|
447 |
+
function wc_gzd_get_tax_rate_label( $rate_percentage, $type = 'incl' ) {
|
448 |
+
if ( 'incl' === $type ) {
|
449 |
+
$label = ( get_option( 'woocommerce_tax_total_display' ) == 'itemized' ? sprintf( __( 'incl. %s%% VAT', 'woocommerce-germanized' ), wc_gzd_format_tax_rate_percentage( $rate_percentage ) ) : __( 'incl. VAT', 'woocommerce-germanized' ) );
|
450 |
+
} else {
|
451 |
+
$label = ( get_option( 'woocommerce_tax_total_display' ) == 'itemized' ? sprintf( __( '%s%% VAT', 'woocommerce-germanized' ), wc_gzd_format_tax_rate_percentage( $rate_percentage ) ) : __( 'VAT', 'woocommerce-germanized' ) );
|
452 |
+
}
|
453 |
|
454 |
/**
|
455 |
* Allow adjusting the tax rate label e.g. "incl. 19% tax".
|
460 |
* @since 2.3.3
|
461 |
*
|
462 |
*/
|
463 |
+
return apply_filters( 'woocommerce_gzd_tax_rate_label', $label, $rate_percentage, $type );
|
464 |
}
|
465 |
|
466 |
/**
|
600 |
*
|
601 |
*/
|
602 |
$titles = apply_filters( 'woocommerce_gzd_title_options', array(
|
603 |
+
0 => _x( 'None', 'title-option', 'woocommerce-germanized' ),
|
604 |
+
1 => __( 'Mr.', 'woocommerce-germanized' ),
|
605 |
+
2 => __( 'Ms.', 'woocommerce-germanized' ),
|
606 |
+
3 => __( 'Mx', 'woocommerce-germanized' )
|
607 |
) );
|
608 |
|
609 |
return $titles;
|
612 |
function wc_gzd_get_customer_title( $value ) {
|
613 |
$option = absint( $value );
|
614 |
$titles = wc_gzd_get_customer_title_options();
|
615 |
+
$title = '';
|
616 |
|
617 |
if ( '[deleted]' === $value ) {
|
618 |
+
$title = $value;
|
619 |
+
} else {
|
620 |
+
if ( array_key_exists( $option, $titles ) ) {
|
621 |
+
$title = $titles[ $option ];
|
622 |
+
} else {
|
623 |
+
$title = __( 'Ms.', 'woocommerce-germanized' );
|
624 |
+
}
|
625 |
}
|
626 |
|
627 |
+
/**
|
628 |
+
* In case the customer has chosen a gender-neutral title or no title at all - do not use a specific title as output.
|
629 |
+
*/
|
630 |
+
if ( __( 'Mx', 'woocommerce-germanized' ) === $title || _x( 'None', 'title-option', 'woocommerce-germanized' ) === $title ) {
|
631 |
+
$title = '';
|
632 |
}
|
633 |
+
|
634 |
+
return apply_filters( 'woocommerce_gzd_customer_formatted_title', $title, $value );
|
635 |
}
|
636 |
|
637 |
function wc_gzd_register_legal_checkbox( $id, $args ) {
|
packages/woocommerce-germanized-dhl/assets/css/admin.css
CHANGED
@@ -15,11 +15,51 @@
|
|
15 |
font-size: 13px;
|
16 |
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); }
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
.germanized-create-label .show-services-trigger {
|
19 |
font-weight: bold;
|
20 |
margin-top: 15px;
|
21 |
margin-bottom: 0;
|
22 |
display: block;
|
23 |
-
text-align: right;
|
|
|
|
|
24 |
.germanized-create-label .show-services-trigger a {
|
25 |
text-decoration: none; }
|
15 |
font-size: 13px;
|
16 |
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); }
|
17 |
|
18 |
+
.germanized-create-label .wc-gzd-shipment-im-additional-services p.label {
|
19 |
+
margin-top: 10px;
|
20 |
+
width: 100%;
|
21 |
+
display: block;
|
22 |
+
margin-bottom: 5px;
|
23 |
+
font-weight: bold; }
|
24 |
+
|
25 |
+
.germanized-create-label .wc-gzd-dhl-im-product-data {
|
26 |
+
margin-top: 2em;
|
27 |
+
min-width: 700px;
|
28 |
+
margin-left: -1rem !important;
|
29 |
+
margin-right: -1rem !important; }
|
30 |
+
.germanized-create-label .wc-gzd-dhl-im-product-data .column {
|
31 |
+
padding-left: 1rem !important;
|
32 |
+
padding-right: 1rem !important; }
|
33 |
+
.germanized-create-label .wc-gzd-dhl-im-product-data .column p:first-child {
|
34 |
+
margin-top: 1.5em !important; }
|
35 |
+
.germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-price {
|
36 |
+
background: #ffd633;
|
37 |
+
border-radius: 4px;
|
38 |
+
padding: .5em 1em; }
|
39 |
+
.germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-price .amount {
|
40 |
+
font-size: 18px;
|
41 |
+
font-weight: bold; }
|
42 |
+
.germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-price .price-suffix {
|
43 |
+
display: block;
|
44 |
+
font-size: 11px;
|
45 |
+
line-height: 15px; }
|
46 |
+
.germanized-create-label .wc-gzd-dhl-im-product-data .col-dimensions {
|
47 |
+
color: #999; }
|
48 |
+
.germanized-create-label .wc-gzd-dhl-im-product-data .col-preview .image-preview img {
|
49 |
+
height: auto;
|
50 |
+
max-height: 140px; }
|
51 |
+
.germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-information-text, .germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-description {
|
52 |
+
font-size: 11px;
|
53 |
+
color: #999;
|
54 |
+
line-height: 1.5em; }
|
55 |
+
|
56 |
.germanized-create-label .show-services-trigger {
|
57 |
font-weight: bold;
|
58 |
margin-top: 15px;
|
59 |
margin-bottom: 0;
|
60 |
display: block;
|
61 |
+
text-align: right;
|
62 |
+
vertical-align: middle;
|
63 |
+
line-height: 20px; }
|
64 |
.germanized-create-label .show-services-trigger a {
|
65 |
text-decoration: none; }
|
packages/woocommerce-germanized-dhl/assets/css/admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#posts-filter .wc-gzd-dhl-bulk-downloads{clear:both;float:left;margin:1em 0}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.email::after{content:"\f465"}.wc-modal-shipping-method-settings .form-table td .wc-gzd-additional-desc{margin-top:1em;line-height:1.5em;background:#efefef;padding:.5em;font-style:normal;font-size:13px;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.germanized-create-label .show-services-trigger{font-weight:700;margin-top:15px;margin-bottom:0;display:block;text-align:right}.germanized-create-label .show-services-trigger a{text-decoration:none}
|
1 |
+
#posts-filter .wc-gzd-dhl-bulk-downloads{clear:both;float:left;margin:1em 0}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.email::after{content:"\f465"}.wc-modal-shipping-method-settings .form-table td .wc-gzd-additional-desc{margin-top:1em;line-height:1.5em;background:#efefef;padding:.5em;font-style:normal;font-size:13px;box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.germanized-create-label .wc-gzd-shipment-im-additional-services p.label{margin-top:10px;width:100%;display:block;margin-bottom:5px;font-weight:700}.germanized-create-label .wc-gzd-dhl-im-product-data{margin-top:2em;min-width:700px;margin-left:-1rem!important;margin-right:-1rem!important}.germanized-create-label .wc-gzd-dhl-im-product-data .column{padding-left:1rem!important;padding-right:1rem!important}.germanized-create-label .wc-gzd-dhl-im-product-data .column p:first-child{margin-top:1.5em!important}.germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-price{background:#ffd633;border-radius:4px;padding:.5em 1em}.germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-price .amount{font-size:18px;font-weight:700}.germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-price .price-suffix{display:block;font-size:11px;line-height:15px}.germanized-create-label .wc-gzd-dhl-im-product-data .col-dimensions{color:#999}.germanized-create-label .wc-gzd-dhl-im-product-data .col-preview .image-preview img{height:auto;max-height:140px}.germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-description,.germanized-create-label .wc-gzd-dhl-im-product-data .wc-gzd-dhl-im-product-information-text{font-size:11px;color:#999;line-height:1.5em}.germanized-create-label .show-services-trigger{font-weight:700;margin-top:15px;margin-bottom:0;display:block;text-align:right;vertical-align:middle;line-height:20px}.germanized-create-label .show-services-trigger a{text-decoration:none}
|
packages/woocommerce-germanized-dhl/assets/css/admin.scss
CHANGED
@@ -21,12 +21,75 @@
|
|
21 |
}
|
22 |
|
23 |
.germanized-create-label {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
.show-services-trigger {
|
25 |
font-weight: bold;
|
26 |
margin-top: 15px;
|
27 |
margin-bottom: 0;
|
28 |
display: block;
|
29 |
text-align: right;
|
|
|
|
|
30 |
|
31 |
a {
|
32 |
text-decoration: none;
|
21 |
}
|
22 |
|
23 |
.germanized-create-label {
|
24 |
+
.wc-gzd-shipment-im-additional-services {
|
25 |
+
p.label {
|
26 |
+
margin-top: 10px;
|
27 |
+
width: 100%;
|
28 |
+
display: block;
|
29 |
+
margin-bottom: 5px;
|
30 |
+
font-weight: bold;
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
+
.wc-gzd-dhl-im-product-data {
|
35 |
+
margin-top: 2em;
|
36 |
+
min-width: 700px;
|
37 |
+
margin-left: -1rem !important;
|
38 |
+
margin-right: -1rem !important;
|
39 |
+
|
40 |
+
.column {
|
41 |
+
padding-left: 1rem !important;
|
42 |
+
padding-right: 1rem !important;
|
43 |
+
|
44 |
+
p:first-child {
|
45 |
+
margin-top: 1.5em !important;
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
.wc-gzd-dhl-im-product-price {
|
50 |
+
background: #ffd633;
|
51 |
+
border-radius: 4px;
|
52 |
+
padding: .5em 1em;
|
53 |
+
|
54 |
+
.amount {
|
55 |
+
font-size: 18px;
|
56 |
+
font-weight: bold;
|
57 |
+
}
|
58 |
+
.price-suffix {
|
59 |
+
display: block;
|
60 |
+
font-size: 11px;
|
61 |
+
line-height: 15px;
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
.col-dimensions {
|
66 |
+
color: #999;
|
67 |
+
}
|
68 |
+
|
69 |
+
.col-preview {
|
70 |
+
.image-preview {
|
71 |
+
img {
|
72 |
+
height: auto;
|
73 |
+
max-height: 140px;
|
74 |
+
}
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
.wc-gzd-dhl-im-product-information-text, .wc-gzd-dhl-im-product-description {
|
79 |
+
font-size: 11px;
|
80 |
+
color: #999;
|
81 |
+
line-height: 1.5em;
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
.show-services-trigger {
|
86 |
font-weight: bold;
|
87 |
margin-top: 15px;
|
88 |
margin-bottom: 0;
|
89 |
display: block;
|
90 |
text-align: right;
|
91 |
+
vertical-align: middle;
|
92 |
+
line-height: 20px;
|
93 |
|
94 |
a {
|
95 |
text-decoration: none;
|
packages/woocommerce-germanized-dhl/assets/img/wp-int-eu-preview.png
ADDED
Binary file
|
packages/woocommerce-germanized-dhl/assets/img/wp-int-preview.png
ADDED
Binary file
|
packages/woocommerce-germanized-dhl/assets/js/admin-deutsche-post-label.js
ADDED
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
window.germanized = window.germanized || {};
|
2 |
+
window.germanized.admin = window.germanized.admin || {};
|
3 |
+
|
4 |
+
( function( $, admin ) {
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Core
|
8 |
+
*/
|
9 |
+
admin.dhl_post_label = {
|
10 |
+
|
11 |
+
params: {},
|
12 |
+
|
13 |
+
init: function () {
|
14 |
+
var self = admin.dhl_post_label;
|
15 |
+
self.params = wc_gzd_admin_deutsche_post_label_params;
|
16 |
+
|
17 |
+
$( document ).on( 'change', '#deutsche_post_label_dhl_product, .wc-gzd-shipment-im-additional-services :input', self.onRefreshPreview );
|
18 |
+
$( document.body ).on( 'wc_gzd_shipment_label_after_init', self.onInit );
|
19 |
+
},
|
20 |
+
|
21 |
+
onInit: function() {
|
22 |
+
var self = admin.dhl_post_label;
|
23 |
+
|
24 |
+
if ( $( '#deutsche_post_label_dhl_product' ).length > 0 ) {
|
25 |
+
self.refreshProductData();
|
26 |
+
}
|
27 |
+
},
|
28 |
+
|
29 |
+
getSelectedAdditionalServices: function() {
|
30 |
+
var selectedIds = $( ".wc-gzd-shipment-im-additional-services :input:checked" ).map( function () {
|
31 |
+
return $( this ).val();
|
32 |
+
}).get();
|
33 |
+
|
34 |
+
return selectedIds;
|
35 |
+
},
|
36 |
+
|
37 |
+
onRefreshPreview: function() {
|
38 |
+
var self = admin.dhl_post_label,
|
39 |
+
backbone = germanized.admin.shipment_label_backbone.backbone,
|
40 |
+
params = {},
|
41 |
+
$wrapper = $( '.wc-gzd-shipment-create-label' );
|
42 |
+
|
43 |
+
params['security'] = self.params.refresh_label_preview_nonce;
|
44 |
+
params['product_id'] = self.getProductId();
|
45 |
+
params['selected_services'] = self.getSelectedAdditionalServices();
|
46 |
+
params['action'] = 'woocommerce_gzd_dhl_refresh_deutsche_post_label_preview';
|
47 |
+
|
48 |
+
backbone.doAjax( params, $wrapper, self.onPreviewSuccess );
|
49 |
+
},
|
50 |
+
|
51 |
+
onPreviewSuccess: function( data ) {
|
52 |
+
var self = admin.dhl_post_label,
|
53 |
+
$wrapper = $( '.wc-gzd-dhl-im-product-data .col-preview' ),
|
54 |
+
$img_wrapper = $( '.wc-gzd-dhl-im-product-data' ).find( '.image-preview' );
|
55 |
+
|
56 |
+
if ( data.is_wp_int ) {
|
57 |
+
$wrapper.parents( '.wc-gzd-shipment-create-label' ).find( '.wc-gzd-shipment-im-page-format' ).hide();
|
58 |
+
} else {
|
59 |
+
$wrapper.parents( '.wc-gzd-shipment-create-label' ).find( '.wc-gzd-shipment-im-page-format' ).show();
|
60 |
+
}
|
61 |
+
|
62 |
+
if ( data.preview_url ) {
|
63 |
+
$wrapper.block({
|
64 |
+
message: null,
|
65 |
+
overlayCSS: {
|
66 |
+
background: '#fff',
|
67 |
+
opacity: 0.6
|
68 |
+
}
|
69 |
+
});
|
70 |
+
|
71 |
+
if ( $img_wrapper.find( '.stamp-preview' ).length <= 0 ) {
|
72 |
+
$img_wrapper.append( '<img class="stamp-preview" style="display: none;" />' );
|
73 |
+
}
|
74 |
+
|
75 |
+
self.replaceProductData( data.preview_data );
|
76 |
+
|
77 |
+
$img_wrapper.find( '.stamp-preview' ).attr('src', data.preview_url ).load( function() {
|
78 |
+
$wrapper.unblock();
|
79 |
+
$( this ).show();
|
80 |
+
});
|
81 |
+
} else {
|
82 |
+
$img_wrapper.html( '' );
|
83 |
+
}
|
84 |
+
},
|
85 |
+
|
86 |
+
refreshProductData: function() {
|
87 |
+
var self = admin.dhl_post_label;
|
88 |
+
|
89 |
+
self.onRefreshPreview();
|
90 |
+
},
|
91 |
+
|
92 |
+
getProductId: function() {
|
93 |
+
return $( '#deutsche_post_label_dhl_product' ).val();
|
94 |
+
},
|
95 |
+
|
96 |
+
replaceProductData: function( productData ) {
|
97 |
+
var self = admin.dhl_post_label,
|
98 |
+
$wrapper = $( '.wc-gzd-shipment-create-label' ).find( '.wc-gzd-dhl-im-product-data' );
|
99 |
+
|
100 |
+
$wrapper.find( '.data-placeholder' ).html( '' );
|
101 |
+
|
102 |
+
$wrapper.find( '.data-placeholder' ).each( function() {
|
103 |
+
var replaceKey = $( this ).data( 'replace' );
|
104 |
+
|
105 |
+
if ( productData.hasOwnProperty( replaceKey ) ) {
|
106 |
+
$( this ).html( productData[ replaceKey ] );
|
107 |
+
$( this ).show();
|
108 |
+
} else {
|
109 |
+
$( this ).hide();
|
110 |
+
}
|
111 |
+
} );
|
112 |
+
}
|
113 |
+
};
|
114 |
+
|
115 |
+
$( document ).ready( function() {
|
116 |
+
germanized.admin.dhl_post_label.init();
|
117 |
+
});
|
118 |
+
|
119 |
+
})( jQuery, window.germanized.admin );
|
packages/woocommerce-germanized-dhl/assets/js/admin-deutsche-post-label.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
window.germanized=window.germanized||{},window.germanized.admin=window.germanized.admin||{},function(d,n){n.dhl_post_label={params:{},init:function(){var e=n.dhl_post_label;e.params=wc_gzd_admin_deutsche_post_label_params,d(document).on("change","#deutsche_post_label_dhl_product, .wc-gzd-shipment-im-additional-services :input",e.onRefreshPreview),d(document.body).on("wc_gzd_shipment_label_after_init",e.onInit)},onInit:function(){var e=n.dhl_post_label;0<d("#deutsche_post_label_dhl_product").length&&e.refreshProductData()},getSelectedAdditionalServices:function(){return d(".wc-gzd-shipment-im-additional-services :input:checked").map(function(){return d(this).val()}).get()},onRefreshPreview:function(){var e=n.dhl_post_label,t=germanized.admin.shipment_label_backbone.backbone,a={},i=d(".wc-gzd-shipment-create-label");a.security=e.params.refresh_label_preview_nonce,a.product_id=e.getProductId(),a.selected_services=e.getSelectedAdditionalServices(),a.action="woocommerce_gzd_dhl_refresh_deutsche_post_label_preview",t.doAjax(a,i,e.onPreviewSuccess)},onPreviewSuccess:function(e){var t=n.dhl_post_label,a=d(".wc-gzd-dhl-im-product-data .col-preview"),i=d(".wc-gzd-dhl-im-product-data").find(".image-preview");e.is_wp_int?a.parents(".wc-gzd-shipment-create-label").find(".wc-gzd-shipment-im-page-format").hide():a.parents(".wc-gzd-shipment-create-label").find(".wc-gzd-shipment-im-page-format").show(),e.preview_url?(a.block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),i.find(".stamp-preview").length<=0&&i.append('<img class="stamp-preview" style="display: none;" />'),t.replaceProductData(e.preview_data),i.find(".stamp-preview").attr("src",e.preview_url).load(function(){a.unblock(),d(this).show()})):i.html("")},refreshProductData:function(){n.dhl_post_label.onRefreshPreview()},getProductId:function(){return d("#deutsche_post_label_dhl_product").val()},replaceProductData:function(t){n.dhl_post_label;var e=d(".wc-gzd-shipment-create-label").find(".wc-gzd-dhl-im-product-data");e.find(".data-placeholder").html(""),e.find(".data-placeholder").each(function(){var e=d(this).data("replace");t.hasOwnProperty(e)?(d(this).html(t[e]),d(this).show()):d(this).hide()})}},d(document).ready(function(){germanized.admin.dhl_post_label.init()})}(jQuery,window.germanized.admin);
|
packages/woocommerce-germanized-dhl/assets/js/admin-internetmarke.js
ADDED
@@ -0,0 +1,266 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
window.germanized = window.germanized || {};
|
2 |
+
window.germanized.admin = window.germanized.admin || {};
|
3 |
+
|
4 |
+
/*
|
5 |
+
* http://www.myersdaily.org/joseph/javascript/md5-text.html
|
6 |
+
*/
|
7 |
+
( function (global) {
|
8 |
+
|
9 |
+
var md5cycle = function (x, k) {
|
10 |
+
var a = x[0],
|
11 |
+
b = x[1],
|
12 |
+
c = x[2],
|
13 |
+
d = x[3];
|
14 |
+
|
15 |
+
a = ff(a, b, c, d, k[0], 7, -680876936);
|
16 |
+
d = ff(d, a, b, c, k[1], 12, -389564586);
|
17 |
+
c = ff(c, d, a, b, k[2], 17, 606105819);
|
18 |
+
b = ff(b, c, d, a, k[3], 22, -1044525330);
|
19 |
+
a = ff(a, b, c, d, k[4], 7, -176418897);
|
20 |
+
d = ff(d, a, b, c, k[5], 12, 1200080426);
|
21 |
+
c = ff(c, d, a, b, k[6], 17, -1473231341);
|
22 |
+
b = ff(b, c, d, a, k[7], 22, -45705983);
|
23 |
+
a = ff(a, b, c, d, k[8], 7, 1770035416);
|
24 |
+
d = ff(d, a, b, c, k[9], 12, -1958414417);
|
25 |
+
c = ff(c, d, a, b, k[10], 17, -42063);
|
26 |
+
b = ff(b, c, d, a, k[11], 22, -1990404162);
|
27 |
+
a = ff(a, b, c, d, k[12], 7, 1804603682);
|
28 |
+
d = ff(d, a, b, c, k[13], 12, -40341101);
|
29 |
+
c = ff(c, d, a, b, k[14], 17, -1502002290);
|
30 |
+
b = ff(b, c, d, a, k[15], 22, 1236535329);
|
31 |
+
|
32 |
+
a = gg(a, b, c, d, k[1], 5, -165796510);
|
33 |
+
d = gg(d, a, b, c, k[6], 9, -1069501632);
|
34 |
+
c = gg(c, d, a, b, k[11], 14, 643717713);
|
35 |
+
b = gg(b, c, d, a, k[0], 20, -373897302);
|
36 |
+
a = gg(a, b, c, d, k[5], 5, -701558691);
|
37 |
+
d = gg(d, a, b, c, k[10], 9, 38016083);
|
38 |
+
c = gg(c, d, a, b, k[15], 14, -660478335);
|
39 |
+
b = gg(b, c, d, a, k[4], 20, -405537848);
|
40 |
+
a = gg(a, b, c, d, k[9], 5, 568446438);
|
41 |
+
d = gg(d, a, b, c, k[14], 9, -1019803690);
|
42 |
+
c = gg(c, d, a, b, k[3], 14, -187363961);
|
43 |
+
b = gg(b, c, d, a, k[8], 20, 1163531501);
|
44 |
+
a = gg(a, b, c, d, k[13], 5, -1444681467);
|
45 |
+
d = gg(d, a, b, c, k[2], 9, -51403784);
|
46 |
+
c = gg(c, d, a, b, k[7], 14, 1735328473);
|
47 |
+
b = gg(b, c, d, a, k[12], 20, -1926607734);
|
48 |
+
|
49 |
+
a = hh(a, b, c, d, k[5], 4, -378558);
|
50 |
+
d = hh(d, a, b, c, k[8], 11, -2022574463);
|
51 |
+
c = hh(c, d, a, b, k[11], 16, 1839030562);
|
52 |
+
b = hh(b, c, d, a, k[14], 23, -35309556);
|
53 |
+
a = hh(a, b, c, d, k[1], 4, -1530992060);
|
54 |
+
d = hh(d, a, b, c, k[4], 11, 1272893353);
|
55 |
+
c = hh(c, d, a, b, k[7], 16, -155497632);
|
56 |
+
b = hh(b, c, d, a, k[10], 23, -1094730640);
|
57 |
+
a = hh(a, b, c, d, k[13], 4, 681279174);
|
58 |
+
d = hh(d, a, b, c, k[0], 11, -358537222);
|
59 |
+
c = hh(c, d, a, b, k[3], 16, -722521979);
|
60 |
+
b = hh(b, c, d, a, k[6], 23, 76029189);
|
61 |
+
a = hh(a, b, c, d, k[9], 4, -640364487);
|
62 |
+
d = hh(d, a, b, c, k[12], 11, -421815835);
|
63 |
+
c = hh(c, d, a, b, k[15], 16, 530742520);
|
64 |
+
b = hh(b, c, d, a, k[2], 23, -995338651);
|
65 |
+
|
66 |
+
a = ii(a, b, c, d, k[0], 6, -198630844);
|
67 |
+
d = ii(d, a, b, c, k[7], 10, 1126891415);
|
68 |
+
c = ii(c, d, a, b, k[14], 15, -1416354905);
|
69 |
+
b = ii(b, c, d, a, k[5], 21, -57434055);
|
70 |
+
a = ii(a, b, c, d, k[12], 6, 1700485571);
|
71 |
+
d = ii(d, a, b, c, k[3], 10, -1894986606);
|
72 |
+
c = ii(c, d, a, b, k[10], 15, -1051523);
|
73 |
+
b = ii(b, c, d, a, k[1], 21, -2054922799);
|
74 |
+
a = ii(a, b, c, d, k[8], 6, 1873313359);
|
75 |
+
d = ii(d, a, b, c, k[15], 10, -30611744);
|
76 |
+
c = ii(c, d, a, b, k[6], 15, -1560198380);
|
77 |
+
b = ii(b, c, d, a, k[13], 21, 1309151649);
|
78 |
+
a = ii(a, b, c, d, k[4], 6, -145523070);
|
79 |
+
d = ii(d, a, b, c, k[11], 10, -1120210379);
|
80 |
+
c = ii(c, d, a, b, k[2], 15, 718787259);
|
81 |
+
b = ii(b, c, d, a, k[9], 21, -343485551);
|
82 |
+
|
83 |
+
x[0] = add32(a, x[0]);
|
84 |
+
x[1] = add32(b, x[1]);
|
85 |
+
x[2] = add32(c, x[2]);
|
86 |
+
x[3] = add32(d, x[3]);
|
87 |
+
|
88 |
+
}
|
89 |
+
|
90 |
+
var cmn = function (q, a, b, x, s, t) {
|
91 |
+
a = add32(add32(a, q), add32(x, t));
|
92 |
+
return add32((a << s) | (a >>> (32 - s)), b);
|
93 |
+
}
|
94 |
+
|
95 |
+
var ff = function (a, b, c, d, x, s, t) {
|
96 |
+
return cmn((b & c) | ((~b) & d), a, b, x, s, t);
|
97 |
+
}
|
98 |
+
|
99 |
+
var gg = function (a, b, c, d, x, s, t) {
|
100 |
+
return cmn((b & d) | (c & (~d)), a, b, x, s, t);
|
101 |
+
}
|
102 |
+
|
103 |
+
var hh = function (a, b, c, d, x, s, t) {
|
104 |
+
return cmn(b ^ c ^ d, a, b, x, s, t);
|
105 |
+
}
|
106 |
+
|
107 |
+
var ii = function (a, b, c, d, x, s, t) {
|
108 |
+
return cmn(c ^ (b | (~d)), a, b, x, s, t);
|
109 |
+
}
|
110 |
+
|
111 |
+
var md51 = function (s) {
|
112 |
+
var txt = '',
|
113 |
+
n = s.length,
|
114 |
+
state = [1732584193, -271733879, -1732584194, 271733878],
|
115 |
+
i;
|
116 |
+
for (i = 64; i <= s.length; i += 64) {
|
117 |
+
md5cycle(state, md5blk(s.substring(i - 64, i)));
|
118 |
+
}
|
119 |
+
s = s.substring(i - 64);
|
120 |
+
var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
|
121 |
+
for (i = 0; i < s.length; i++)
|
122 |
+
tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);
|
123 |
+
tail[i >> 2] |= 0x80 << ((i % 4) << 3);
|
124 |
+
if (i > 55) {
|
125 |
+
md5cycle(state, tail);
|
126 |
+
for (i = 0; i < 16; i++) tail[i] = 0;
|
127 |
+
}
|
128 |
+
tail[14] = n * 8;
|
129 |
+
md5cycle(state, tail);
|
130 |
+
return state;
|
131 |
+
}
|
132 |
+
|
133 |
+
/* there needs to be support for Unicode here,
|
134 |
+
* unless we pretend that we can redefine the MD-5
|
135 |
+
* algorithm for multi-byte characters (perhaps
|
136 |
+
* by adding every four 16-bit characters and
|
137 |
+
* shortening the sum to 32 bits). Otherwise
|
138 |
+
* I suggest performing MD-5 as if every character
|
139 |
+
* was two bytes--e.g., 0040 0025 = @%--but then
|
140 |
+
* how will an ordinary MD-5 sum be matched?
|
141 |
+
* There is no way to standardize text to something
|
142 |
+
* like UTF-8 before transformation; speed cost is
|
143 |
+
* utterly prohibitive. The JavaScript standard
|
144 |
+
* itself needs to look at this: it should start
|
145 |
+
* providing access to strings as preformed UTF-8
|
146 |
+
* 8-bit unsigned value arrays.
|
147 |
+
*/
|
148 |
+
var md5blk = function (s) { /* I figured global was faster. */
|
149 |
+
var md5blks = [],
|
150 |
+
i; /* Andy King said do it this way. */
|
151 |
+
for (i = 0; i < 64; i += 4) {
|
152 |
+
md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);
|
153 |
+
}
|
154 |
+
return md5blks;
|
155 |
+
}
|
156 |
+
|
157 |
+
var hex_chr = '0123456789abcdef'.split('');
|
158 |
+
|
159 |
+
var rhex = function (n) {
|
160 |
+
var s = '',
|
161 |
+
j = 0;
|
162 |
+
for (; j < 4; j++)
|
163 |
+
s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];
|
164 |
+
return s;
|
165 |
+
}
|
166 |
+
|
167 |
+
var hex = function (x) {
|
168 |
+
for (var i = 0; i < x.length; i++)
|
169 |
+
x[i] = rhex(x[i]);
|
170 |
+
return x.join('');
|
171 |
+
}
|
172 |
+
|
173 |
+
var md5 = global.md5 = function (s) {
|
174 |
+
return hex(md51(s));
|
175 |
+
}
|
176 |
+
|
177 |
+
/* this function is much faster,
|
178 |
+
so if possible we use it. Some IEs
|
179 |
+
are the only ones I know of that
|
180 |
+
need the idiotic second function,
|
181 |
+
generated by an if clause. */
|
182 |
+
|
183 |
+
var add32 = function (a, b) {
|
184 |
+
return (a + b) & 0xFFFFFFFF;
|
185 |
+
}
|
186 |
+
|
187 |
+
if (md5('hello') != '5d41402abc4b2a76b9719d911017c592') {
|
188 |
+
var add32 = function (x, y) {
|
189 |
+
var lsw = (x & 0xFFFF) + (y & 0xFFFF),
|
190 |
+
msw = (x >> 16) + (y >> 16) + (lsw >> 16);
|
191 |
+
return (msw << 16) | (lsw & 0xFFFF);
|
192 |
+
}
|
193 |
+
}
|
194 |
+
})(window);
|
195 |
+
|
196 |
+
( function( $, admin, window ) {
|
197 |
+
|
198 |
+
/**
|
199 |
+
* Core
|
200 |
+
*/
|
201 |
+
admin.dhl_internetmarke = {
|
202 |
+
|
203 |
+
params: {},
|
204 |
+
|
205 |
+
init: function () {
|
206 |
+
var self = admin.dhl_internetmarke;
|
207 |
+
|
208 |
+
$( document ).on( 'click', '#woocommerce_gzd_dhl_im_portokasse_charge', self.onCharge );
|
209 |
+
},
|
210 |
+
|
211 |
+
onCharge: function() {
|
212 |
+
var $button = $( this ),
|
213 |
+
data = $button.data(),
|
214 |
+
amount = $( '#woocommerce_gzd_dhl_im_portokasse_charge_amount' ).val();
|
215 |
+
|
216 |
+
$form = $( '<form target="_blank" action="' + $button.data( 'url' ) + '" id="wc-gzd-dhl-im-portokasse-form" method="POST" style=""></form>' ).appendTo( 'body' );
|
217 |
+
|
218 |
+
$.each( data, function( index, value ) {
|
219 |
+
$form.append( '<input type="hidden" name="' + index.toUpperCase() + '" value="' + value + '" />' );
|
220 |
+
} );
|
221 |
+
|
222 |
+
var balance = parseInt( ( parseFloat( amount.replace( ',', '.') ).toFixed( 2 ) * 100 ).toFixed() );
|
223 |
+
var wallet = parseInt( data['wallet'] );
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Set min amount.
|
227 |
+
*/
|
228 |
+
if ( balance < 1000 || Number.isNaN( balance ) ) {
|
229 |
+
balance = 1000;
|
230 |
+
}
|
231 |
+
|
232 |
+
var date = new Date();
|
233 |
+
var timestamp =
|
234 |
+
('0' + date.getDate()).slice(-2) +
|
235 |
+
('0' + (date.getMonth() + 1)).slice(-2) +
|
236 |
+
date.getFullYear().toString() +
|
237 |
+
'-' +
|
238 |
+
('0' + date.getHours()).slice(-2) +
|
239 |
+
('0' + date.getMinutes()).slice(-2) +
|
240 |
+
('0' + date.getSeconds()).slice(-2);
|
241 |
+
|
242 |
+
var concat = [
|
243 |
+
data['partner_id'],
|
244 |
+
timestamp,
|
245 |
+
data['success_url'],
|
246 |
+
data['cancel_url'],
|
247 |
+
data['user_token'],
|
248 |
+
wallet + balance,
|
249 |
+
data['schluessel_dpwn_partner']
|
250 |
+
].join( '::' );
|
251 |
+
|
252 |
+
$form.append( '<input type="hidden" name="BALANCE" value="' + ( wallet + balance ) + '" />' );
|
253 |
+
$form.append( '<input type="hidden" name="PARTNER_SIGNATURE" value="' + ( window.md5( concat ).substring( 0,8 ) ) + '" />' );
|
254 |
+
$form.append( '<input type="hidden" name="REQUEST_TIMESTAMP" value="' + timestamp + '" />' );
|
255 |
+
|
256 |
+
$form.submit();
|
257 |
+
|
258 |
+
return false;
|
259 |
+
}
|
260 |
+
};
|
261 |
+
|
262 |
+
$( document ).ready( function() {
|
263 |
+
germanized.admin.dhl_internetmarke.init();
|
264 |
+
});
|
265 |
+
|
266 |
+
})( jQuery, window.germanized.admin, window );
|
packages/woocommerce-germanized-dhl/assets/js/admin-internetmarke.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
window.germanized=window.germanized||{},window.germanized.admin=window.germanized.admin||{},function(e){function o(e,n){var r=e[0],t=e[1],a=e[2],o=e[3];r=i(r,t,a,o,n[0],7,-680876936),o=i(o,r,t,a,n[1],12,-389564586),a=i(a,o,r,t,n[2],17,606105819),t=i(t,a,o,r,n[3],22,-1044525330),r=i(r,t,a,o,n[4],7,-176418897),o=i(o,r,t,a,n[5],12,1200080426),a=i(a,o,r,t,n[6],17,-1473231341),t=i(t,a,o,r,n[7],22,-45705983),r=i(r,t,a,o,n[8],7,1770035416),o=i(o,r,t,a,n[9],12,-1958414417),a=i(a,o,r,t,n[10],17,-42063),t=i(t,a,o,r,n[11],22,-1990404162),r=i(r,t,a,o,n[12],7,1804603682),o=i(o,r,t,a,n[13],12,-40341101),a=i(a,o,r,t,n[14],17,-1502002290),t=i(t,a,o,r,n[15],22,1236535329),r=u(r,t,a,o,n[1],5,-165796510),o=u(o,r,t,a,n[6],9,-1069501632),a=u(a,o,r,t,n[11],14,643717713),t=u(t,a,o,r,n[0],20,-373897302),r=u(r,t,a,o,n[5],5,-701558691),o=u(o,r,t,a,n[10],9,38016083),a=u(a,o,r,t,n[15],14,-660478335),t=u(t,a,o,r,n[4],20,-405537848),r=u(r,t,a,o,n[9],5,568446438),o=u(o,r,t,a,n[14],9,-1019803690),a=u(a,o,r,t,n[3],14,-187363961),t=u(t,a,o,r,n[8],20,1163531501),r=u(r,t,a,o,n[13],5,-1444681467),o=u(o,r,t,a,n[2],9,-51403784),a=u(a,o,r,t,n[7],14,1735328473),t=u(t,a,o,r,n[12],20,-1926607734),r=c(r,t,a,o,n[5],4,-378558),o=c(o,r,t,a,n[8],11,-2022574463),a=c(a,o,r,t,n[11],16,1839030562),t=c(t,a,o,r,n[14],23,-35309556),r=c(r,t,a,o,n[1],4,-1530992060),o=c(o,r,t,a,n[4],11,1272893353),a=c(a,o,r,t,n[7],16,-155497632),t=c(t,a,o,r,n[10],23,-1094730640),r=c(r,t,a,o,n[13],4,681279174),o=c(o,r,t,a,n[0],11,-358537222),a=c(a,o,r,t,n[3],16,-722521979),t=c(t,a,o,r,n[6],23,76029189),r=c(r,t,a,o,n[9],4,-640364487),o=c(o,r,t,a,n[12],11,-421815835),a=c(a,o,r,t,n[15],16,530742520),t=c(t,a,o,r,n[2],23,-995338651),r=m(r,t,a,o,n[0],6,-198630844),o=m(o,r,t,a,n[7],10,1126891415),a=m(a,o,r,t,n[14],15,-1416354905),t=m(t,a,o,r,n[5],21,-57434055),r=m(r,t,a,o,n[12],6,1700485571),o=m(o,r,t,a,n[3],10,-1894986606),a=m(a,o,r,t,n[10],15,-1051523),t=m(t,a,o,r,n[1],21,-2054922799),r=m(r,t,a,o,n[8],6,1873313359),o=m(o,r,t,a,n[15],10,-30611744),a=m(a,o,r,t,n[6],15,-1560198380),t=m(t,a,o,r,n[13],21,1309151649),r=m(r,t,a,o,n[4],6,-145523070),o=m(o,r,t,a,n[11],10,-1120210379),a=m(a,o,r,t,n[2],15,718787259),t=m(t,a,o,r,n[9],21,-343485551),e[0]=f(r,e[0]),e[1]=f(t,e[1]),e[2]=f(a,e[2]),e[3]=f(o,e[3])}function d(e,n,r,t,a,o){return n=f(f(n,e),f(t,o)),f(n<<a|n>>>32-a,r)}function r(e){for(var n="",r=0;r<4;r++)n+=t[e>>8*r+4&15]+t[e>>8*r&15];return n}var i=function(e,n,r,t,a,o,i){return d(n&r|~n&t,e,n,a,o,i)},u=function(e,n,r,t,a,o,i){return d(n&t|r&~t,e,n,a,o,i)},c=function(e,n,r,t,a,o,i){return d(n^r^t,e,n,a,o,i)},m=function(e,n,r,t,a,o,i){return d(r^(n|~t),e,n,a,o,i)},l=function(e){var n,r=[];for(n=0;n<64;n+=4)r[n>>2]=e.charCodeAt(n)+(e.charCodeAt(n+1)<<8)+(e.charCodeAt(n+2)<<16)+(e.charCodeAt(n+3)<<24);return r},t="0123456789abcdef".split(""),n=e.md5=function(e){return function(e){for(var n=0;n<e.length;n++)e[n]=r(e[n]);return e.join("")}(function(e){var n,r=e.length,t=[1732584193,-271733879,-1732584194,271733878];for(n=64;n<=e.length;n+=64)o(t,l(e.substring(n-64,n)));e=e.substring(n-64);var a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(n=0;n<e.length;n++)a[n>>2]|=e.charCodeAt(n)<<(n%4<<3);if(a[n>>2]|=128<<(n%4<<3),55<n)for(o(t,a),n=0;n<16;n++)a[n]=0;return a[14]=8*r,o(t,a),t}(e))},f=function(e,n){return e+n&4294967295};if("5d41402abc4b2a76b9719d911017c592"!=n("hello"))f=function(e,n){var r=(65535&e)+(65535&n);return(e>>16)+(n>>16)+(r>>16)<<16|65535&r}}(window),function(u,n,c){n.dhl_internetmarke={params:{},init:function(){var e=n.dhl_internetmarke;u(document).on("click","#woocommerce_gzd_dhl_im_portokasse_charge",e.onCharge)},onCharge:function(){var e=u(this),n=e.data(),r=u("#woocommerce_gzd_dhl_im_portokasse_charge_amount").val();$form=u('<form target="_blank" action="'+e.data("url")+'" id="wc-gzd-dhl-im-portokasse-form" method="POST" style=""></form>').appendTo("body"),u.each(n,function(e,n){$form.append('<input type="hidden" name="'+e.toUpperCase()+'" value="'+n+'" />')});var t=parseInt((100*parseFloat(r.replace(",",".")).toFixed(2)).toFixed()),a=parseInt(n.wallet);(t<1e3||Number.isNaN(t))&&(t=1e3);var o=new Date,i=("0"+o.getDate()).slice(-2)+("0"+(o.getMonth()+1)).slice(-2)+o.getFullYear().toString()+"-"+("0"+o.getHours()).slice(-2)+("0"+o.getMinutes()).slice(-2)+("0"+o.getSeconds()).slice(-2),d=[n.partner_id,i,n.success_url,n.cancel_url,n.user_token,a+t,n.schluessel_dpwn_partner].join("::");return $form.append('<input type="hidden" name="BALANCE" value="'+(a+t)+'" />'),$form.append('<input type="hidden" name="PARTNER_SIGNATURE" value="'+c.md5(d).substring(0,8)+'" />'),$form.append('<input type="hidden" name="REQUEST_TIMESTAMP" value="'+i+'" />'),$form.submit(),!1}},u(document).ready(function(){germanized.admin.dhl_internetmarke.init()})}(jQuery,window.germanized.admin,window);
|
packages/woocommerce-germanized-dhl/includes/admin/views/html-deutsche-post-additional-services.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Shipment label HTML for meta box.
|
4 |
+
*
|
5 |
+
* @package WooCommerce_Germanized/DHL/Admin
|
6 |
+
*/
|
7 |
+
defined( 'ABSPATH' ) || exit;
|
8 |
+
|
9 |
+
$selected_services = isset( $selected_services ) ? $selected_services : array();
|
10 |
+
$services = \Vendidero\Germanized\DHL\Package::get_internetmarke_api()->get_product_list()->get_services_for_product( $product_id, $selected_services );
|
11 |
+
?>
|
12 |
+
|
13 |
+
<?php if ( ! empty( $services ) ) : ?>
|
14 |
+
<p class="label"><?php _ex( 'Additional Services', 'dhl', 'woocommerce-germanized' ); ?></p>
|
15 |
+
|
16 |
+
<div class="wc-gzd-deutsche-post-additional-service-list">
|
17 |
+
<?php foreach( $services as $service ) : ?>
|
18 |
+
<?php woocommerce_wp_checkbox( array(
|
19 |
+
'id' => 'deutsche_post_label_additional_services_' . $service,
|
20 |
+
'name' => 'deutsche_post_label_additional_services[]',
|
21 |
+
'wrapper_class' => 'form-field-checkbox',
|
22 |
+
'label' => \Vendidero\Germanized\DHL\Package::get_internetmarke_api()->get_product_list()->get_additional_service_title( $service ),
|
23 |
+
'cbvalue' => $service,
|
24 |
+
'value' => in_array( $service, $selected_services ) ? $service : '',
|
25 |
+
) ); ?>
|
26 |
+
<?php endforeach; ?>
|
27 |
+
</div>
|
28 |
+
<?php endif; ?>
|
packages/woocommerce-germanized-dhl/includes/admin/views/html-shipment-deutsche-post-label-backbone-form.php
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Shipment label HTML for meta box.
|
4 |
+
*
|
5 |
+
* @package WooCommerce_Germanized/DHL/Admin
|
6 |
+
*/
|
7 |
+
defined( 'ABSPATH' ) || exit;
|
8 |
+
|
9 |
+
use Vendidero\Germanized\DHL\Package;
|
10 |
+
|
11 |
+
$default_args = wc_gzd_dhl_get_deutsche_post_label_default_args( $dhl_order, $shipment );
|
12 |
+
$im_products = wc_gzd_dhl_get_deutsche_post_products( $shipment );
|
13 |
+
$selected_product = isset( $default_args['dhl_product'] ) ? $default_args['dhl_product'] : array_key_first( $im_products );
|
14 |
+
$selected_product_id = 0;
|
15 |
+
$is_wp_int = false;
|
16 |
+
|
17 |
+
if ( ! empty( $selected_product ) ) {
|
18 |
+
$is_wp_int = Package::get_internetmarke_api()->is_warenpost_international( $selected_product );
|
19 |
+
$selected_product_id = Package::get_internetmarke_api()->get_product_id( $selected_product );
|
20 |
+
}
|
21 |
+
?>
|
22 |
+
<?php if ( empty( $im_products ) ) : ?>
|
23 |
+
<style>
|
24 |
+
.wc-backbone-modal-content footer {
|
25 |
+
display: none !important;
|
26 |
+
}
|
27 |
+
</style>
|
28 |
+
<div class="notice-wrapper">
|
29 |
+
<div class="notice is-dismissible notice-warning">
|
30 |
+
<p><?php printf( __( 'Sorry but none of your selected <a href="%s">Deutsche Post Products</a> is available for this shipment. Please verify your shipment data (e.g. weight) and try again.', 'dhl', 'woocommerce-germanized' ), admin_url( \Vendidero\Germanized\DHL\Admin\Settings::get_settings_url( 'internetmarke' ) ) ); ?></p>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
<?php else: ?>
|
34 |
+
<form action="" method="post" class="wc-gzd-create-shipment-label-form">
|
35 |
+
<?php woocommerce_wp_select( array(
|
36 |
+
'id' => 'deutsche_post_label_dhl_product',
|
37 |
+
'label' => _x( 'Product', 'dhl', 'woocommerce-germanized' ),
|
38 |
+
'description' => '',
|
39 |
+
'options' => $im_products,
|
40 |
+
'value' => isset( $default_args['dhl_product'] ) ? $default_args['dhl_product'] : '',
|
41 |
+
) ); ?>
|
42 |
+
|
43 |
+
<div class="wc-gzd-shipment-im-additional-services">
|
44 |
+
<?php
|
45 |
+
$product_id = $selected_product_id;
|
46 |
+
$selected_services = isset( $default_args['additional_services'] ) ? $default_args['additional_services'] : array();
|
47 |
+
|
48 |
+
include( Package::get_path() . '/includes/admin/views/html-deutsche-post-additional-services.php' );
|
49 |
+
?>
|
50 |
+
</div>
|
51 |
+
|
52 |
+
<div class="wc-gzd-shipment-im-page-format" style="<?php echo ( $is_wp_int ? 'display: none;' : '' ); ?>">
|
53 |
+
<?php woocommerce_wp_select( array(
|
54 |
+
'id' => 'deutsche_post_label_page_format',
|
55 |
+
'label' => _x( 'Page Format', 'dhl', 'woocommerce-germanized' ),
|
56 |
+
'description' => '',
|
57 |
+
'options' => Package::get_internetmarke_api()->get_page_format_list(),
|
58 |
+
'value' => isset( $default_args['page_format'] ) ? $default_args['page_format'] : '',
|
59 |
+
) ); ?>
|
60 |
+
</div>
|
61 |
+
</form>
|
62 |
+
|
63 |
+
<div class="columns preview-columns wc-gzd-dhl-im-product-data">
|
64 |
+
<div class="column col-4">
|
65 |
+
<p class="wc-gzd-dhl-im-product-price wc-price data-placeholder hide-default" data-replace="price_formatted"></p>
|
66 |
+
</div>
|
67 |
+
<div class="column col-3 col-dimensions">
|
68 |
+
<p class="wc-gzd-dhl-im-product-dimensions data-placeholder hide-default" data-replace="dimensions_formatted"></p>
|
69 |
+
</div>
|
70 |
+
<div class="column col-5 col-preview">
|
71 |
+
<div class="image-preview"></div>
|
72 |
+
</div>
|
73 |
+
<div class="column col-12">
|
74 |
+
<p class="wc-gzd-dhl-im-product-description data-placeholder hide-default" data-replace="description_formatted"></p>
|
75 |
+
<p class="wc-gzd-dhl-im-product-information-text data-placeholder hide-default" data-replace="information_text_formatted"></p>
|
76 |
+
</div>
|
77 |
+
</div>
|
78 |
+
<?php endif; ?>
|
packages/woocommerce-germanized-dhl/includes/admin/views/html-shipment-label-backbone-form.php
CHANGED
@@ -13,75 +13,75 @@ $default_args = wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment );
|
|
13 |
|
14 |
<form action="" method="post" class="wc-gzd-create-shipment-label-form">
|
15 |
|
16 |
-
<?php woocommerce_wp_select( array(
|
17 |
-
|
18 |
-
|
19 |
-
'description' => '',
|
20 |
-
'options' => wc_gzd_dhl_get_products( $shipment->get_country() ),
|
21 |
-
'value' => isset( $default_args['dhl_product'] ) ? $default_args['dhl_product'] : '',
|
22 |
-
) ); ?>
|
23 |
-
|
24 |
-
<?php if ( $dhl_order->has_cod_payment() ) : ?>
|
25 |
-
<?php woocommerce_wp_text_input( array(
|
26 |
-
'id' => 'dhl_label_cod_total',
|
27 |
-
'class' => 'wc_input_decimal',
|
28 |
-
'label' => _x( 'COD Amount', 'dhl', 'woocommerce-germanized' ),
|
29 |
-
'placeholder' => '',
|
30 |
'description' => '',
|
31 |
-
'
|
|
|
32 |
) ); ?>
|
33 |
|
34 |
-
|
35 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
<?php
|
38 |
-
<?php
|
39 |
-
'id' => 'dhl_label_duties',
|
40 |
-
'label' => _x( 'Duties', 'dhl', 'woocommerce-germanized' ),
|
41 |
-
'description' => '',
|
42 |
-
'value' => isset( $default_args['duties'] ) ? $default_args['duties'] : '',
|
43 |
-
'options' => wc_gzd_dhl_get_duties(),
|
44 |
-
) ); ?>
|
45 |
-
<?php endif; ?>
|
46 |
|
47 |
-
<?php if ( Package::
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
-
|
50 |
-
$preferred_times = array();
|
51 |
|
52 |
-
|
53 |
-
$
|
54 |
|
55 |
-
|
56 |
-
$
|
57 |
-
}
|
58 |
-
} catch( Exception $e ) {}
|
59 |
-
?>
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
) ); ?>
|
70 |
-
</div>
|
71 |
-
<?php if ( isset( $default_args['preferred_time'] ) ) : ?>
|
72 |
-
<div class="column col-6">
|
73 |
<?php woocommerce_wp_select( array(
|
74 |
-
'id' => '
|
75 |
-
'label' => _x( 'Preferred
|
76 |
'description' => '',
|
77 |
-
'value' => $default_args['
|
78 |
-
'options' =>
|
79 |
) ); ?>
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
<?php woocommerce_wp_text_input( array(
|
86 |
'id' => 'dhl_label_preferred_location',
|
87 |
'label' => _x( 'Preferred Location', 'dhl', 'woocommerce-germanized' ),
|
@@ -92,7 +92,7 @@ $default_args = wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment );
|
|
92 |
) ); ?>
|
93 |
<?php endif; ?>
|
94 |
|
95 |
-
|
96 |
<?php woocommerce_wp_text_input( array(
|
97 |
'id' => 'dhl_label_preferred_neighbor',
|
98 |
'label' => _x( 'Preferred Neighbor', 'dhl', 'woocommerce-germanized' ),
|
@@ -103,7 +103,7 @@ $default_args = wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment );
|
|
103 |
) ); ?>
|
104 |
<?php endif; ?>
|
105 |
|
106 |
-
|
107 |
'id' => 'dhl_label_has_inlay_return',
|
108 |
'label' => _x( 'Create inlay return label', 'dhl', 'woocommerce-germanized' ),
|
109 |
'class' => 'checkbox show-if-trigger',
|
@@ -113,88 +113,88 @@ $default_args = wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment );
|
|
113 |
'wrapper_class' => 'form-field-checkbox'
|
114 |
) ); ?>
|
115 |
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
|
197 |
-
|
198 |
'id' => 'dhl_label_codeable_address_only',
|
199 |
'label' => _x( 'Valid address only', 'dhl', 'woocommerce-germanized' ),
|
200 |
'placeholder' => '',
|
@@ -203,138 +203,138 @@ $default_args = wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment );
|
|
203 |
'wrapper_class' => 'form-field-checkbox'
|
204 |
) ); ?>
|
205 |
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
|
215 |
-
|
216 |
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
|
244 |
-
|
245 |
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
|
255 |
-
|
256 |
|
257 |
-
|
258 |
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
|
268 |
-
|
269 |
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
|
279 |
<?php woocommerce_wp_checkbox( array(
|
280 |
-
'id' => '
|
281 |
-
'label' => _x( '
|
282 |
'description' => '',
|
283 |
-
'value' => in_array( '
|
284 |
'wrapper_class' => 'form-field-checkbox',
|
285 |
-
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( '
|
286 |
) ); ?>
|
287 |
|
288 |
<?php woocommerce_wp_checkbox( array(
|
289 |
-
'id' => '
|
290 |
-
'label' => _x( '
|
291 |
'description' => '',
|
292 |
-
'
|
293 |
-
'value' => in_array( 'IdentCheck', $default_args['services'] ) ? 'yes' : 'no',
|
294 |
-
'custom_attributes' => array_merge( array( 'data-show-if' => '.show-if-ident-check' ), wc_gzd_dhl_get_service_product_attributes( 'IdentCheck' ) ),
|
295 |
'wrapper_class' => 'form-field-checkbox',
|
|
|
296 |
) ); ?>
|
297 |
|
298 |
-
|
299 |
-
<?php woocommerce_wp_text_input( array(
|
300 |
-
'id' => 'dhl_label_ident_date_of_birth',
|
301 |
-
'label' => _x( 'Date of Birth', 'dhl', 'woocommerce-germanized' ),
|
302 |
-
'placeholder' => '',
|
303 |
-
'description' => '',
|
304 |
-
'value' => isset( $default_args['ident_date_of_birth'] ) ? $default_args['ident_date_of_birth'] : '',
|
305 |
-
'custom_attributes' => array( 'pattern' => '[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])', 'maxlength' => 10 ),
|
306 |
-
'class' => 'short date-picker'
|
307 |
-
) ); ?>
|
308 |
-
|
309 |
-
<?php woocommerce_wp_select( array(
|
310 |
-
'id' => 'dhl_label_ident_min_age',
|
311 |
-
'label' => _x( 'Minimum age', 'dhl', 'woocommerce-germanized' ),
|
312 |
-
'description' => '',
|
313 |
-
'value' => isset( $default_args['ident_min_age'] ) ? $default_args['ident_min_age'] : '',
|
314 |
-
'options' => wc_gzd_dhl_get_ident_min_ages(),
|
315 |
-
) ); ?>
|
316 |
-
</div>
|
317 |
-
</div>
|
318 |
-
<?php elseif( Package::is_crossborder_shipment( $shipment->get_country ) ) : ?>
|
319 |
-
|
320 |
-
<?php woocommerce_wp_checkbox( array(
|
321 |
-
'id' => 'dhl_label_service_Premium',
|
322 |
-
'label' => _x( 'Premium', 'dhl', 'woocommerce-germanized' ),
|
323 |
-
'description' => '',
|
324 |
-
'value' => in_array( 'Premium', $default_args['services'] ) ? 'yes' : 'no',
|
325 |
-
'wrapper_class' => 'form-field-checkbox',
|
326 |
-
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'Premium' )
|
327 |
-
) ); ?>
|
328 |
-
|
329 |
-
<?php woocommerce_wp_checkbox( array(
|
330 |
-
'id' => 'dhl_label_service_GoGreen',
|
331 |
-
'label' => _x( 'GoGreen', 'dhl', 'woocommerce-germanized' ),
|
332 |
-
'description' => '',
|
333 |
-
'value' => in_array( 'GoGreen', $default_args['services'] ) ? 'yes' : 'no',
|
334 |
-
'wrapper_class' => 'form-field-checkbox',
|
335 |
-
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'GoGreen' )
|
336 |
-
) ); ?>
|
337 |
-
|
338 |
-
<?php endif; ?>
|
339 |
|
340 |
</form>
|
13 |
|
14 |
<form action="" method="post" class="wc-gzd-create-shipment-label-form">
|
15 |
|
16 |
+
<?php woocommerce_wp_select( array(
|
17 |
+
'id' => 'dhl_label_dhl_product',
|
18 |
+
'label' => _x( 'DHL Product', 'dhl', 'woocommerce-germanized' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
'description' => '',
|
20 |
+
'options' => wc_gzd_dhl_get_products( $shipment->get_country() ),
|
21 |
+
'value' => isset( $default_args['dhl_product'] ) ? $default_args['dhl_product'] : '',
|
22 |
) ); ?>
|
23 |
|
24 |
+
<?php if ( $dhl_order->has_cod_payment() ) : ?>
|
25 |
+
<?php woocommerce_wp_text_input( array(
|
26 |
+
'id' => 'dhl_label_cod_total',
|
27 |
+
'class' => 'wc_input_decimal',
|
28 |
+
'label' => _x( 'COD Amount', 'dhl', 'woocommerce-germanized' ),
|
29 |
+
'placeholder' => '',
|
30 |
+
'description' => '',
|
31 |
+
'value' => isset( $default_args['cod_total'] ) ? $default_args['cod_total'] : '',
|
32 |
+
) ); ?>
|
33 |
|
34 |
+
<input type="hidden" name="dhl_label_cod_includes_additional_total" value="<?php echo ( isset( $default_args['cod_includes_additional_total'] ) ? $default_args['cod_includes_additional_total'] : '' ); ?>" />
|
35 |
+
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
+
<?php if ( Package::is_crossborder_shipment( $shipment->get_country() ) ) : ?>
|
38 |
+
<?php woocommerce_wp_select( array(
|
39 |
+
'id' => 'dhl_label_duties',
|
40 |
+
'label' => _x( 'Duties', 'dhl', 'woocommerce-germanized' ),
|
41 |
+
'description' => '',
|
42 |
+
'value' => isset( $default_args['duties'] ) ? $default_args['duties'] : '',
|
43 |
+
'options' => wc_gzd_dhl_get_duties(),
|
44 |
+
) ); ?>
|
45 |
+
<?php endif; ?>
|
46 |
|
47 |
+
<?php if ( Package::base_country_supports( 'services' ) && Package::is_shipping_domestic( $shipment->get_country() ) ) :
|
|
|
48 |
|
49 |
+
$preferred_days = array();
|
50 |
+
$preferred_times = array();
|
51 |
|
52 |
+
try {
|
53 |
+
$preferred_day_options = Package::get_api()->get_preferred_available_days( $shipment->get_postcode() );
|
|
|
|
|
|
|
54 |
|
55 |
+
if ( $preferred_day_options ) {
|
56 |
+
$preferred_days = $preferred_day_options;
|
57 |
+
}
|
58 |
+
} catch( Exception $e ) {}
|
59 |
+
?>
|
60 |
+
|
61 |
+
<div class="columns">
|
62 |
+
<div class="column <?php echo ( isset( $default_args['preferred_time'] ) ) ? 'col-6' : 'col-12'; ?>">
|
|
|
|
|
|
|
|
|
63 |
<?php woocommerce_wp_select( array(
|
64 |
+
'id' => 'dhl_label_preferred_day',
|
65 |
+
'label' => _x( 'Preferred Day', 'dhl', 'woocommerce-germanized' ),
|
66 |
'description' => '',
|
67 |
+
'value' => isset( $default_args['preferred_day'] ) ? $default_args['preferred_day'] : '',
|
68 |
+
'options' => wc_gzd_dhl_get_preferred_days_select_options( $preferred_days, ( isset( $default_args['preferred_day'] ) ? $default_args['preferred_day'] : '' ) ),
|
69 |
) ); ?>
|
70 |
+
</div>
|
71 |
+
<?php if ( isset( $default_args['preferred_time'] ) ) : ?>
|
72 |
+
<div class="column col-6">
|
73 |
+
<?php woocommerce_wp_select( array(
|
74 |
+
'id' => 'dhl_label_preferred_time',
|
75 |
+
'label' => _x( 'Preferred Time', 'dhl', 'woocommerce-germanized' ),
|
76 |
+
'description' => '',
|
77 |
+
'value' => $default_args['preferred_time'],
|
78 |
+
'options' => wc_gzd_dhl_get_preferred_times_select_options( array( $default_args['preferred_time'] => $default_args['preferred_time'] ) ),
|
79 |
+
) ); ?>
|
80 |
+
</div>
|
81 |
+
<?php endif; ?>
|
82 |
+
</div>
|
83 |
+
|
84 |
+
<?php if ( $dhl_order->has_preferred_location() ) : ?>
|
85 |
<?php woocommerce_wp_text_input( array(
|
86 |
'id' => 'dhl_label_preferred_location',
|
87 |
'label' => _x( 'Preferred Location', 'dhl', 'woocommerce-germanized' ),
|
92 |
) ); ?>
|
93 |
<?php endif; ?>
|
94 |
|
95 |
+
<?php if ( $dhl_order->has_preferred_neighbor() ) : ?>
|
96 |
<?php woocommerce_wp_text_input( array(
|
97 |
'id' => 'dhl_label_preferred_neighbor',
|
98 |
'label' => _x( 'Preferred Neighbor', 'dhl', 'woocommerce-germanized' ),
|
103 |
) ); ?>
|
104 |
<?php endif; ?>
|
105 |
|
106 |
+
<?php woocommerce_wp_checkbox( array(
|
107 |
'id' => 'dhl_label_has_inlay_return',
|
108 |
'label' => _x( 'Create inlay return label', 'dhl', 'woocommerce-germanized' ),
|
109 |
'class' => 'checkbox show-if-trigger',
|
113 |
'wrapper_class' => 'form-field-checkbox'
|
114 |
) ); ?>
|
115 |
|
116 |
+
<div class="show-if show-if-has-return">
|
117 |
+
<div class="columns">
|
118 |
+
<div class="column col-12">
|
119 |
+
<?php woocommerce_wp_text_input( array(
|
120 |
+
'id' => 'dhl_label_return_address[name]',
|
121 |
+
'label' => _x( 'Name', 'dhl', 'woocommerce-germanized' ),
|
122 |
+
'placeholder' => '',
|
123 |
+
'description' => '',
|
124 |
+
'value' => isset( $default_args['return_address']['name'] ) ? $default_args['return_address']['name'] : '',
|
125 |
+
) ); ?>
|
126 |
+
</div>
|
127 |
+
</div>
|
128 |
+
<?php woocommerce_wp_text_input( array(
|
129 |
+
'id' => 'dhl_label_return_address[company]',
|
130 |
+
'label' => _x( 'Company', 'dhl', 'woocommerce-germanized' ),
|
131 |
+
'placeholder' => '',
|
132 |
+
'description' => '',
|
133 |
+
'value' => isset( $default_args['return_address']['company'] ) ? $default_args['return_address']['company'] : '',
|
134 |
+
) ); ?>
|
135 |
+
<div class="columns">
|
136 |
+
<div class="column col-9">
|
137 |
+
<?php woocommerce_wp_text_input( array(
|
138 |
+
'id' => 'dhl_label_return_address[street]',
|
139 |
+
'label' => _x( 'Street', 'dhl', 'woocommerce-germanized' ),
|
140 |
+
'placeholder' => '',
|
141 |
+
'description' => '',
|
142 |
+
'value' => isset( $default_args['return_address']['street'] ) ? $default_args['return_address']['street'] : '',
|
143 |
+
) ); ?>
|
144 |
+
</div>
|
145 |
+
<div class="column col-3">
|
146 |
+
<?php woocommerce_wp_text_input( array(
|
147 |
+
'id' => 'dhl_label_return_address[street_number]',
|
148 |
+
'label' => _x( 'Street No', 'dhl', 'woocommerce-germanized' ),
|
149 |
+
'placeholder' => '',
|
150 |
+
'description' => '',
|
151 |
+
'value' => isset( $default_args['return_address']['street_number'] ) ? $default_args['return_address']['street_number'] : '',
|
152 |
+
) ); ?>
|
153 |
+
</div>
|
154 |
+
</div>
|
155 |
+
<div class="columns">
|
156 |
+
<div class="column col-6">
|
157 |
+
<?php woocommerce_wp_text_input( array(
|
158 |
+
'id' => 'dhl_label_return_address[postcode]',
|
159 |
+
'label' => _x( 'Postcode', 'dhl', 'woocommerce-germanized' ),
|
160 |
+
'placeholder' => '',
|
161 |
+
'description' => '',
|
162 |
+
'value' => isset( $default_args['return_address']['postcode'] ) ? $default_args['return_address']['postcode'] : '',
|
163 |
+
) ); ?>
|
164 |
+
</div>
|
165 |
+
<div class="column col-6">
|
166 |
+
<?php woocommerce_wp_text_input( array(
|
167 |
+
'id' => 'dhl_label_return_address[city]',
|
168 |
+
'label' => _x( 'City', 'dhl', 'woocommerce-germanized' ),
|
169 |
+
'placeholder' => '',
|
170 |
+
'description' => '',
|
171 |
+
'value' => isset( $default_args['return_address']['city'] ) ? $default_args['return_address']['city'] : '',
|
172 |
+
) ); ?>
|
173 |
+
</div>
|
174 |
+
</div>
|
175 |
+
<div class="columns">
|
176 |
+
<div class="column col-6">
|
177 |
+
<?php woocommerce_wp_text_input( array(
|
178 |
+
'id' => 'dhl_label_return_address[phone]',
|
179 |
+
'label' => _x( 'Phone', 'dhl', 'woocommerce-germanized' ),
|
180 |
+
'placeholder' => '',
|
181 |
+
'description' => '',
|
182 |
+
'value' => isset( $default_args['return_address']['phone'] ) ? $default_args['return_address']['phone'] : '',
|
183 |
+
) ); ?>
|
184 |
+
</div>
|
185 |
+
<div class="column col-6">
|
186 |
+
<?php woocommerce_wp_text_input( array(
|
187 |
+
'id' => 'dhl_label_return_address[email]',
|
188 |
+
'label' => _x( 'Email', 'dhl', 'woocommerce-germanized' ),
|
189 |
+
'placeholder' => '',
|
190 |
+
'description' => '',
|
191 |
+
'value' => isset( $default_args['return_address']['email'] ) ? $default_args['return_address']['email'] : '',
|
192 |
+
) ); ?>
|
193 |
+
</div>
|
194 |
+
</div>
|
195 |
+
</div>
|
196 |
|
197 |
+
<?php woocommerce_wp_checkbox( array(
|
198 |
'id' => 'dhl_label_codeable_address_only',
|
199 |
'label' => _x( 'Valid address only', 'dhl', 'woocommerce-germanized' ),
|
200 |
'placeholder' => '',
|
203 |
'wrapper_class' => 'form-field-checkbox'
|
204 |
) ); ?>
|
205 |
|
206 |
+
<p class="show-services-trigger">
|
207 |
+
<a href="#" class="show-further-services <?php echo ( ! empty( $default_args['services'] ) ? 'hide-default' : '' ); ?>">
|
208 |
+
<span class="dashicons dashicons-plus"></span> <?php _ex( 'More services', 'dhl', 'woocommerce-germanized' ); ?>
|
209 |
+
</a>
|
210 |
+
<a class="show-fewer-services <?php echo ( empty( $default_args['services'] ) ? 'hide-default' : '' ); ?>" href="#">
|
211 |
+
<span class="dashicons dashicons-minus"></span> <?php _ex( 'Fewer services', 'dhl', 'woocommerce-germanized' ); ?>
|
212 |
+
</a>
|
213 |
+
</p>
|
214 |
|
215 |
+
<div class="<?php echo ( empty( $default_args['services'] ) ? 'hide-default' : '' ); ?> show-if-further-services">
|
216 |
|
217 |
+
<?php woocommerce_wp_select( array(
|
218 |
+
'id' => 'dhl_label_visual_min_age',
|
219 |
+
'label' => _x( 'Age check', 'dhl', 'woocommerce-germanized' ),
|
220 |
+
'description' => '',
|
221 |
+
'value' => isset( $default_args['visual_min_age'] ) ? $default_args['visual_min_age'] : '',
|
222 |
+
'options' => wc_gzd_dhl_get_visual_min_ages(),
|
223 |
+
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'VisualCheckOfAge' )
|
224 |
+
) ); ?>
|
225 |
|
226 |
+
<?php woocommerce_wp_checkbox( array(
|
227 |
+
'id' => 'dhl_label_service_GoGreen',
|
228 |
+
'label' => _x( 'GoGreen', 'dhl', 'woocommerce-germanized' ),
|
229 |
+
'description' => '',
|
230 |
+
'value' => in_array( 'GoGreen', $default_args['services'] ) ? 'yes' : 'no',
|
231 |
+
'wrapper_class' => 'form-field-checkbox',
|
232 |
+
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'GoGreen' )
|
233 |
+
) ); ?>
|
234 |
|
235 |
+
<?php woocommerce_wp_checkbox( array(
|
236 |
+
'id' => 'dhl_label_service_AdditionalInsurance',
|
237 |
+
'label' => _x( 'Additional insurance', 'dhl', 'woocommerce-germanized' ),
|
238 |
+
'description' => '',
|
239 |
+
'value' => in_array( 'AdditionalInsurance', $default_args['services'] ) ? 'yes' : 'no',
|
240 |
+
'wrapper_class' => 'form-field-checkbox',
|
241 |
+
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'AdditionalInsurance' )
|
242 |
+
) ); ?>
|
243 |
|
244 |
+
<?php if ( $dhl_order->supports_email_notification() ) : ?>
|
245 |
|
246 |
+
<?php woocommerce_wp_checkbox( array(
|
247 |
+
'id' => 'dhl_label_service_ParcelOutletRouting',
|
248 |
+
'label' => _x( 'Retail outlet routing', 'dhl', 'woocommerce-germanized' ),
|
249 |
+
'description' => '',
|
250 |
+
'value' => in_array( 'ParcelOutletRouting', $default_args['services'] ) ? 'yes' : 'no',
|
251 |
+
'wrapper_class' => 'form-field-checkbox',
|
252 |
+
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'ParcelOutletRouting' )
|
253 |
+
) ); ?>
|
254 |
|
255 |
+
<?php endif; ?>
|
256 |
|
257 |
+
<?php if ( ! $dhl_order->has_preferred_neighbor() ) : ?>
|
258 |
|
259 |
+
<?php woocommerce_wp_checkbox( array(
|
260 |
+
'id' => 'dhl_label_service_NoNeighbourDelivery',
|
261 |
+
'label' => _x( 'No neighbor', 'dhl', 'woocommerce-germanized' ),
|
262 |
+
'description' => '',
|
263 |
+
'value' => in_array( 'NoNeighbourDelivery', $default_args['services'] ) ? 'yes' : 'no',
|
264 |
+
'wrapper_class' => 'form-field-checkbox',
|
265 |
+
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'NoNeighbourDelivery' )
|
266 |
+
) ); ?>
|
267 |
|
268 |
+
<?php endif; ?>
|
269 |
|
270 |
+
<?php woocommerce_wp_checkbox( array(
|
271 |
+
'id' => 'dhl_label_service_NamedPersonOnly',
|
272 |
+
'label' => _x( 'Named person only', 'dhl', 'woocommerce-germanized' ),
|
273 |
+
'description' => '',
|
274 |
+
'value' => in_array( 'NamedPersonOnly', $default_args['services'] ) ? 'yes' : 'no',
|
275 |
+
'wrapper_class' => 'form-field-checkbox',
|
276 |
+
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'NamedPersonOnly' )
|
277 |
+
) ); ?>
|
278 |
+
|
279 |
+
<?php woocommerce_wp_checkbox( array(
|
280 |
+
'id' => 'dhl_label_service_BulkyGoods',
|
281 |
+
'label' => _x( 'Bulky goods', 'dhl', 'woocommerce-germanized' ),
|
282 |
+
'description' => '',
|
283 |
+
'value' => in_array( 'BulkyGoods', $default_args['services'] ) ? 'yes' : 'no',
|
284 |
+
'wrapper_class' => 'form-field-checkbox',
|
285 |
+
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'BulkyGoods' )
|
286 |
+
) ); ?>
|
287 |
+
|
288 |
+
<?php woocommerce_wp_checkbox( array(
|
289 |
+
'id' => 'dhl_label_service_IdentCheck',
|
290 |
+
'label' => _x( 'Identity check', 'dhl', 'woocommerce-germanized' ),
|
291 |
+
'description' => '',
|
292 |
+
'class' => 'checkbox show-if-trigger',
|
293 |
+
'value' => in_array( 'IdentCheck', $default_args['services'] ) ? 'yes' : 'no',
|
294 |
+
'custom_attributes' => array_merge( array( 'data-show-if' => '.show-if-ident-check' ), wc_gzd_dhl_get_service_product_attributes( 'IdentCheck' ) ),
|
295 |
+
'wrapper_class' => 'form-field-checkbox',
|
296 |
+
) ); ?>
|
297 |
+
|
298 |
+
<div class="show-if show-if-ident-check">
|
299 |
+
<?php woocommerce_wp_text_input( array(
|
300 |
+
'id' => 'dhl_label_ident_date_of_birth',
|
301 |
+
'label' => _x( 'Date of Birth', 'dhl', 'woocommerce-germanized' ),
|
302 |
+
'placeholder' => '',
|
303 |
+
'description' => '',
|
304 |
+
'value' => isset( $default_args['ident_date_of_birth'] ) ? $default_args['ident_date_of_birth'] : '',
|
305 |
+
'custom_attributes' => array( 'pattern' => '[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])', 'maxlength' => 10 ),
|
306 |
+
'class' => 'short date-picker'
|
307 |
+
) ); ?>
|
308 |
+
|
309 |
+
<?php woocommerce_wp_select( array(
|
310 |
+
'id' => 'dhl_label_ident_min_age',
|
311 |
+
'label' => _x( 'Minimum age', 'dhl', 'woocommerce-germanized' ),
|
312 |
+
'description' => '',
|
313 |
+
'value' => isset( $default_args['ident_min_age'] ) ? $default_args['ident_min_age'] : '',
|
314 |
+
'options' => wc_gzd_dhl_get_ident_min_ages(),
|
315 |
+
) ); ?>
|
316 |
+
</div>
|
317 |
+
</div>
|
318 |
+
<?php elseif( Package::is_crossborder_shipment( $shipment->get_country ) ) : ?>
|
319 |
|
320 |
<?php woocommerce_wp_checkbox( array(
|
321 |
+
'id' => 'dhl_label_service_Premium',
|
322 |
+
'label' => _x( 'Premium', 'dhl', 'woocommerce-germanized' ),
|
323 |
'description' => '',
|
324 |
+
'value' => in_array( 'Premium', $default_args['services'] ) ? 'yes' : 'no',
|
325 |
'wrapper_class' => 'form-field-checkbox',
|
326 |
+
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'Premium' )
|
327 |
) ); ?>
|
328 |
|
329 |
<?php woocommerce_wp_checkbox( array(
|
330 |
+
'id' => 'dhl_label_service_GoGreen',
|
331 |
+
'label' => _x( 'GoGreen', 'dhl', 'woocommerce-germanized' ),
|
332 |
'description' => '',
|
333 |
+
'value' => in_array( 'GoGreen', $default_args['services'] ) ? 'yes' : 'no',
|
|
|
|
|
334 |
'wrapper_class' => 'form-field-checkbox',
|
335 |
+
'custom_attributes' => wc_gzd_dhl_get_service_product_attributes( 'GoGreen' )
|
336 |
) ); ?>
|
337 |
|
338 |
+
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
339 |
|
340 |
</form>
|
packages/woocommerce-germanized-dhl/includes/admin/views/settings-shipping-method.php
CHANGED
@@ -38,7 +38,7 @@ if ( Package::base_country_supports( 'services' ) ) {
|
|
38 |
|
39 |
$settings = array_merge( $settings, array(
|
40 |
'dhl_label_auto_title' => array(
|
41 |
-
'title' => _x( '
|
42 |
'type' => 'title',
|
43 |
'default' => '',
|
44 |
'description' => sprintf( _x( 'Adjust label automation settings. Changes override <a href="%s">global settings</a>.', 'dhl', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-settings&tab=germanized-dhl§ion=labels' ) ),
|
@@ -73,4 +73,45 @@ if ( ParcelLocator::is_enabled() ) {
|
|
73 |
$settings = array_merge( $settings, $service_settings );
|
74 |
}
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
return $settings;
|
38 |
|
39 |
$settings = array_merge( $settings, array(
|
40 |
'dhl_label_auto_title' => array(
|
41 |
+
'title' => _x( 'Label Automation', 'dhl', 'woocommerce-germanized' ),
|
42 |
'type' => 'title',
|
43 |
'default' => '',
|
44 |
'description' => sprintf( _x( 'Adjust label automation settings. Changes override <a href="%s">global settings</a>.', 'dhl', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-settings&tab=germanized-dhl§ion=labels' ) ),
|
73 |
$settings = array_merge( $settings, $service_settings );
|
74 |
}
|
75 |
|
76 |
+
/**
|
77 |
+
* Deutsche Post
|
78 |
+
*/
|
79 |
+
$settings = array_merge( $settings, array(
|
80 |
+
'deutsche_post_label_title' => array(
|
81 |
+
'title' => _x( 'Deutsche Post Labels', 'dhl', 'woocommerce-germanized' ),
|
82 |
+
'type' => 'title',
|
83 |
+
'default' => '',
|
84 |
+
'description' => sprintf( _x( 'Adjust Deutsche Post label settings. Changes override <a href="%s">global settings</a>.', 'dhl', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-settings&tab=germanized-dhl§ion=internetmarke' ) ),
|
85 |
+
),
|
86 |
+
) );
|
87 |
+
|
88 |
+
if ( Package::is_internetmarke_enabled() ) {
|
89 |
+
$label_settings = Settings::get_internetmarke_default_settings( true );
|
90 |
+
$settings = array_merge( $settings, $label_settings );
|
91 |
+
|
92 |
+
$settings = array_merge( $settings, array(
|
93 |
+
'deutsche_post_label_print_title' => array(
|
94 |
+
'title' => _x( 'Printing', 'dhl', 'woocommerce-germanized' ),
|
95 |
+
'type' => 'title',
|
96 |
+
'default' => '',
|
97 |
+
'description' => sprintf( _x( 'Adjust label printing settings. Changes override <a href="%s">global settings</a>.', 'dhl', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-settings&tab=germanized-dhl§ion=internetmarke' ) ),
|
98 |
+
),
|
99 |
+
) );
|
100 |
+
|
101 |
+
$label_settings = Settings::get_internetmarke_printing_settings( true );
|
102 |
+
$settings = array_merge( $settings, $label_settings );
|
103 |
+
|
104 |
+
$settings = array_merge( $settings, array(
|
105 |
+
'deutsche_post_label_auto_title' => array(
|
106 |
+
'title' => _x( 'Label Automation', 'dhl', 'woocommerce-germanized' ),
|
107 |
+
'type' => 'title',
|
108 |
+
'default' => '',
|
109 |
+
'description' => sprintf( _x( 'Adjust label automation settings. Changes override <a href="%s">global settings</a>.', 'dhl', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-settings&tab=germanized-dhl§ion=internetmarke' ) ),
|
110 |
+
),
|
111 |
+
) );
|
112 |
+
|
113 |
+
$label_settings = Settings::get_internetmarke_automation_settings( true );
|
114 |
+
$settings = array_merge( $settings, $label_settings );
|
115 |
+
}
|
116 |
+
|
117 |
return $settings;
|
packages/woocommerce-germanized-dhl/includes/wc-gzd-dhl-core-functions.php
CHANGED
@@ -27,6 +27,131 @@ use Vendidero\Germanized\Shipments\ShipmentFactory;
|
|
27 |
|
28 |
defined( 'ABSPATH' ) || exit;
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
function wc_gzd_dhl_format_preferred_api_time( $time ) {
|
31 |
return str_replace( array( ':', '-' ), '', $time );
|
32 |
}
|
@@ -86,6 +211,16 @@ function wc_gzd_dhl_is_valid_visual_min_age( $min_age ) {
|
|
86 |
return true;
|
87 |
}
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
function wc_gzd_dhl_get_visual_min_ages() {
|
90 |
$visual_age = array(
|
91 |
'0' => _x( 'None', 'age context', 'woocommerce-germanized' ),
|
@@ -207,7 +342,13 @@ function wc_gzd_dhl_get_services() {
|
|
207 |
function wc_gzd_dhl_get_shipping_method( $instance_id ) {
|
208 |
$method = wc_gzd_get_shipping_provider_method( $instance_id );
|
209 |
|
210 |
-
return new
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
}
|
212 |
|
213 |
function wc_gzd_dhl_get_preferred_services() {
|
@@ -317,6 +458,76 @@ function wc_gzd_dhl_validate_return_label_args( $shipment, $args = array() ) {
|
|
317 |
return $args;
|
318 |
}
|
319 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
function wc_gzd_dhl_validate_label_args( $shipment, $args = array() ) {
|
321 |
|
322 |
$args = wp_parse_args( $args, array(
|
@@ -440,7 +651,7 @@ function wc_gzd_dhl_validate_label_args( $shipment, $args = array() ) {
|
|
440 |
|
441 |
if ( wc_gzd_dhl_product_supports_service( $args['dhl_product'], 'VisualCheckOfAge' ) ) {
|
442 |
if ( ! empty( $args['visual_min_age'] ) && wc_gzd_dhl_is_valid_visual_min_age( $args['visual_min_age'] ) ) {
|
443 |
-
$args['services']
|
444 |
} else {
|
445 |
if ( ! empty( $args['visual_min_age'] ) && ! wc_gzd_dhl_is_valid_visual_min_age( $args['visual_min_age'] ) ) {
|
446 |
$error->add( 500, _x( 'The visual min age check is invalid.', 'dhl', 'woocommerce-germanized' ) );
|
@@ -460,21 +671,27 @@ function wc_gzd_dhl_validate_label_args( $shipment, $args = array() ) {
|
|
460 |
}
|
461 |
}
|
462 |
|
463 |
-
if (
|
464 |
-
if ( ! empty( $args['ident_min_age'] ) &&
|
465 |
-
$
|
466 |
-
|
467 |
-
$args['ident_min_age'] = '';
|
468 |
}
|
469 |
|
470 |
-
if (
|
471 |
-
if ( !
|
472 |
-
$error->add( 500, _x( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
}
|
474 |
-
}
|
475 |
|
476 |
-
|
477 |
-
|
|
|
478 |
}
|
479 |
} else {
|
480 |
$args['ident_min_age'] = '';
|
@@ -551,7 +768,7 @@ function wc_gzd_dhl_shipment_needs_label( $shipment, $check_status = true ) {
|
|
551 |
$shipment = wc_gzd_get_shipment( $shipment );
|
552 |
}
|
553 |
|
554 |
-
if ( $shipment &&
|
555 |
$needs_label = false;
|
556 |
}
|
557 |
|
@@ -713,6 +930,116 @@ function wc_gzd_dhl_get_service_product_attributes( $service ) {
|
|
713 |
);
|
714 |
}
|
715 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
716 |
/**
|
717 |
* @param Order $dhl_order
|
718 |
* @param Shipment $shipment
|
@@ -721,7 +1048,6 @@ function wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment ) {
|
|
721 |
|
722 |
$shipping_method = $shipment->get_shipping_method();
|
723 |
$dhl_shipping_method = wc_gzd_dhl_get_shipping_method( $shipping_method );
|
724 |
-
$shipment_weight = $shipment->get_weight();
|
725 |
|
726 |
$defaults = array(
|
727 |
'dhl_product' => wc_gzd_dhl_get_default_product( $shipment->get_country(), $dhl_shipping_method ),
|
@@ -800,6 +1126,25 @@ function wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment ) {
|
|
800 |
}
|
801 |
}
|
802 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
803 |
foreach( wc_gzd_dhl_get_services() as $service ) {
|
804 |
|
805 |
if ( ! wc_gzd_dhl_product_supports_service( $defaults['dhl_product'], $service ) ) {
|
@@ -807,7 +1152,7 @@ function wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment ) {
|
|
807 |
}
|
808 |
|
809 |
// Combination is not available
|
810 |
-
if ( ! empty( $defaults['visual_min_age'] ) && 'NamedPersonOnly' === $service ) {
|
811 |
continue;
|
812 |
}
|
813 |
|
@@ -839,7 +1184,7 @@ function wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment ) {
|
|
839 |
}
|
840 |
}
|
841 |
|
842 |
-
if( ! Package::is_shipping_domestic( $shipment->get_country() ) ) {
|
843 |
|
844 |
foreach( wc_gzd_dhl_get_international_services() as $service ) {
|
845 |
|
@@ -906,7 +1251,7 @@ function wc_gzd_dhl_get_custom_label_format( $label, $type = '' ) {
|
|
906 |
*/
|
907 |
function wc_gzd_dhl_get_shipment_weight( $shipment, $unit = 'kg' ) {
|
908 |
$shipping_method = $shipment->get_shipping_method();
|
909 |
-
$shipment_weight = $shipment->
|
910 |
$dhl_shipping_method = wc_gzd_dhl_get_shipping_method( $shipping_method );
|
911 |
$min_weight = wc_get_weight( Package::get_setting( 'label_minimum_shipment_weight', $dhl_shipping_method ), $unit, 'kg' );
|
912 |
$weight = empty( $shipment_weight ) ? wc_get_weight( Package::get_setting( 'label_default_shipment_weight', $dhl_shipping_method ), $unit, 'kg' ) : wc_get_weight( $shipment_weight, $unit, $shipment->get_weight_unit() );
|
@@ -960,12 +1305,21 @@ function wc_gzd_dhl_create_label( $shipment, $args = array() ) {
|
|
960 |
|
961 |
$dhl_order = wc_gzd_dhl_get_order( $order );
|
962 |
$shipment_type = $shipment->get_type();
|
|
|
963 |
$label_type = 'return' === $shipment_type ? 'return' : 'simple';
|
|
|
|
|
|
|
|
|
|
|
964 |
$hook_suffix = 'simple' === $label_type ? '' : $label_type . '_';
|
965 |
|
966 |
if ( 'return' === $label_type ) {
|
967 |
$args = wp_parse_args( $args, wc_gzd_dhl_get_return_label_default_args( $dhl_order, $shipment ) );
|
968 |
$args = wc_gzd_dhl_validate_return_label_args( $shipment, $args );
|
|
|
|
|
|
|
969 |
} else {
|
970 |
$args = wp_parse_args( $args, wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment ) );
|
971 |
$args = wc_gzd_dhl_validate_label_args( $shipment, $args );
|
@@ -1202,6 +1556,12 @@ function wc_gzd_dhl_get_return_products_domestic() {
|
|
1202 |
return $retoure;
|
1203 |
}
|
1204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1205 |
function wc_gzd_dhl_get_products_international() {
|
1206 |
|
1207 |
$country = Package::get_base_country();
|
@@ -1270,15 +1630,24 @@ function wc_gzd_dhl_get_default_product( $country, $method = false ) {
|
|
1270 |
}
|
1271 |
}
|
1272 |
|
1273 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1274 |
|
|
|
1275 |
$country = Package::get_base_country();
|
1276 |
|
1277 |
$germany_dom = array(
|
1278 |
'V01PAK' => _x( 'DHL Paket', 'dhl', 'woocommerce-germanized' ),
|
1279 |
'V01PRIO' => _x( 'DHL Paket PRIO', 'dhl', 'woocommerce-germanized' ),
|
1280 |
'V06PAK' => _x( 'DHL Paket Taggleich', 'dhl', 'woocommerce-germanized' ),
|
1281 |
-
'V62WP' => _x( 'Warenpost', 'dhl', 'woocommerce-germanized' )
|
1282 |
);
|
1283 |
|
1284 |
$dhl_prod_dom = array();
|
@@ -1390,6 +1759,12 @@ function wc_gzd_dhl_get_label_type_data( $type = false ) {
|
|
1390 |
'return' => array(
|
1391 |
'class_name' => '\Vendidero\Germanized\DHL\ReturnLabel'
|
1392 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
1393 |
);
|
1394 |
|
1395 |
if ( $type && array_key_exists( $type, $types ) ) {
|
27 |
|
28 |
defined( 'ABSPATH' ) || exit;
|
29 |
|
30 |
+
/**
|
31 |
+
* @param Label $label
|
32 |
+
*
|
33 |
+
* @return array|false
|
34 |
+
*/
|
35 |
+
function wc_gzd_dhl_get_shipment_customs_data( $label ) {
|
36 |
+
|
37 |
+
if ( ! $shipment = $label->get_shipment() ) {
|
38 |
+
return false;
|
39 |
+
}
|
40 |
+
|
41 |
+
$customsDetails = array();
|
42 |
+
$item_description = '';
|
43 |
+
$total_weight = $label->get_weight();
|
44 |
+
$item_weights = array();
|
45 |
+
|
46 |
+
foreach ( $shipment->get_items() as $key => $item ) {
|
47 |
+
$per_item_weight = wc_format_decimal( floatval( wc_get_weight( $item->get_weight(), 'kg', $shipment->get_weight_unit() ) ), 2 );
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Set min weight to 0.01 to prevent missing weight error messages
|
51 |
+
* for really small product weights.
|
52 |
+
*/
|
53 |
+
if ( $per_item_weight <= 0 ) {
|
54 |
+
$per_item_weight = '0.01';
|
55 |
+
}
|
56 |
+
|
57 |
+
$item_weights[ $key ] = $per_item_weight;
|
58 |
+
}
|
59 |
+
|
60 |
+
$item_total_weight = wc_format_decimal( array_sum( $item_weights ), 2 );
|
61 |
+
$item_count = sizeof( $item_weights );
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Discrepancies detected between item weights an total shipment weight.
|
65 |
+
* Try to distribute the mismatch between items.
|
66 |
+
*/
|
67 |
+
if ( $item_total_weight != $total_weight ) {
|
68 |
+
$diff = wc_format_decimal( $total_weight - $item_total_weight, 2 );
|
69 |
+
$diff_abs = abs( $diff );
|
70 |
+
|
71 |
+
if ( $diff_abs > 0 ) {
|
72 |
+
$per_item_diff = $diff / $item_count;
|
73 |
+
$per_item_diff_rounded = wc_format_decimal( $per_item_diff, 2 );
|
74 |
+
$diff_applied = 0;
|
75 |
+
|
76 |
+
if ( abs( $per_item_diff_rounded ) > 0 ) {
|
77 |
+
foreach( $item_weights as $key => $weight ) {
|
78 |
+
$item_weight_before = $item_weights[ $key ];
|
79 |
+
$new_item_weight = $item_weights[ $key ] += $per_item_diff_rounded;
|
80 |
+
$item_diff_applied = $per_item_diff;
|
81 |
+
|
82 |
+
/**
|
83 |
+
* In case the diff is negative make sure we are not
|
84 |
+
* subtracting more than available as min weight per item.
|
85 |
+
*/
|
86 |
+
if ( $new_item_weight <= 0.01 ) {
|
87 |
+
$new_item_weight = 0.01;
|
88 |
+
$item_diff_applied = 0.01 - $item_weight_before;
|
89 |
+
}
|
90 |
+
|
91 |
+
$item_weights[ $key ] = $new_item_weight;
|
92 |
+
$diff_applied += $item_diff_applied;
|
93 |
+
}
|
94 |
+
}
|
95 |
+
|
96 |
+
$diff_left = wc_format_decimal( ( ( $per_item_diff_rounded * $item_count ) - $diff_applied ), 2 );
|
97 |
+
|
98 |
+
if ( abs( $diff_left ) > 0 ) {
|
99 |
+
foreach( $item_weights as $key => $weight ) {
|
100 |
+
if ( $diff_left > 0 ) {
|
101 |
+
/**
|
102 |
+
* Add the diff left to the first item and stop.
|
103 |
+
*/
|
104 |
+
$item_weights[ $key ] += $diff_left;
|
105 |
+
break;
|
106 |
+
} else {
|
107 |
+
/**
|
108 |
+
* Remove the diff left from the first item with a weight greater than 0.01 to prevent 0 weights.
|
109 |
+
*/
|
110 |
+
if ( $weight > 0.01 ) {
|
111 |
+
$item_weights[ $key ] += $diff_left;
|
112 |
+
break;
|
113 |
+
}
|
114 |
+
}
|
115 |
+
}
|
116 |
+
}
|
117 |
+
}
|
118 |
+
}
|
119 |
+
|
120 |
+
foreach ( $shipment->get_items() as $key => $item ) {
|
121 |
+
|
122 |
+
$item_description .= ! empty( $item_description ) ? ', ' : '';
|
123 |
+
$item_description .= $item->get_name();
|
124 |
+
|
125 |
+
$product_total = floatval( ( $item->get_total() / $item->get_quantity() ) );
|
126 |
+
$dhl_product = false;
|
127 |
+
|
128 |
+
if ( $product = $item->get_product() ) {
|
129 |
+
$dhl_product = wc_gzd_dhl_get_product( $product );
|
130 |
+
}
|
131 |
+
|
132 |
+
$json_item = array(
|
133 |
+
'description' => substr( $item->get_name(), 0, 255 ),
|
134 |
+
'countryCodeOrigin' => ( $dhl_product && $dhl_product->get_manufacture_country() ) ? $dhl_product->get_manufacture_country() : Package::get_base_country(),
|
135 |
+
'customsTariffNumber' => $dhl_product ? $dhl_product->get_hs_code() : '',
|
136 |
+
'amount' => intval( $item->get_quantity() ),
|
137 |
+
'netWeightInKG' => wc_format_decimal( $item_weights[ $key ], 2 ),
|
138 |
+
'customsValue' => wc_format_decimal( $product_total, 2 )
|
139 |
+
);
|
140 |
+
|
141 |
+
array_push($customsDetails, $json_item );
|
142 |
+
}
|
143 |
+
|
144 |
+
$item_description = substr( $item_description, 0, 255 );
|
145 |
+
|
146 |
+
return array(
|
147 |
+
'invoiceNumber' => $shipment->get_id(),
|
148 |
+
'additionalFee' => wc_format_decimal( $shipment->get_additional_total(), 2 ),
|
149 |
+
'exportTypeDescription' => $item_description,
|
150 |
+
'placeOfCommital' => $shipment->get_country(),
|
151 |
+
'ExportDocPosition' => $customsDetails
|
152 |
+
);
|
153 |
+
}
|
154 |
+
|
155 |
function wc_gzd_dhl_format_preferred_api_time( $time ) {
|
156 |
return str_replace( array( ':', '-' ), '', $time );
|
157 |
}
|
211 |
return true;
|
212 |
}
|
213 |
|
214 |
+
function wc_gzd_dhl_is_valid_ident_min_age( $min_age ) {
|
215 |
+
$ages = wc_gzd_dhl_get_ident_min_ages();
|
216 |
+
|
217 |
+
if ( empty( $min_age ) || ( ! array_key_exists( $min_age, $ages ) && ! in_array( $min_age, $ages ) ) ) {
|
218 |
+
return false;
|
219 |
+
}
|
220 |
+
|
221 |
+
return true;
|
222 |
+
}
|
223 |
+
|
224 |
function wc_gzd_dhl_get_visual_min_ages() {
|
225 |
$visual_age = array(
|
226 |
'0' => _x( 'None', 'age context', 'woocommerce-germanized' ),
|
342 |
function wc_gzd_dhl_get_shipping_method( $instance_id ) {
|
343 |
$method = wc_gzd_get_shipping_provider_method( $instance_id );
|
344 |
|
345 |
+
return new \Vendidero\Germanized\DHL\ShippingProvider\MethodDHL( $method );
|
346 |
+
}
|
347 |
+
|
348 |
+
function wc_gzd_dhl_get_deutsche_post_shipping_method( $instance_id ) {
|
349 |
+
$method = wc_gzd_get_shipping_provider_method( $instance_id );
|
350 |
+
|
351 |
+
return new \Vendidero\Germanized\DHL\ShippingProvider\MethodDeutschePost( $method );
|
352 |
}
|
353 |
|
354 |
function wc_gzd_dhl_get_preferred_services() {
|
458 |
return $args;
|
459 |
}
|
460 |
|
461 |
+
function wc_gzd_dhl_validate_deutsche_post_label_args( $shipment, $args = array() ) {
|
462 |
+
$args = wp_parse_args( $args, array(
|
463 |
+
'page_format' => '',
|
464 |
+
'dhl_product' => ''
|
465 |
+
) );
|
466 |
+
|
467 |
+
$error = new WP_Error();
|
468 |
+
|
469 |
+
if ( ! $shipment_order = $shipment->get_order() ) {
|
470 |
+
$error->add( 500, sprintf( _x( 'Shipment order #%s does not exist', 'dhl', 'woocommerce-germanized' ), $shipment->get_order_id() ) );
|
471 |
+
}
|
472 |
+
|
473 |
+
if ( ! empty( $args['additional_services'] ) ) {
|
474 |
+
/**
|
475 |
+
* Additional services are requested. Lets check whether the actual product exists and
|
476 |
+
* refresh the product code (to the child product code).
|
477 |
+
*/
|
478 |
+
$im_product_code = Package::get_internetmarke_api()->get_product_code( $args['dhl_product'], $args['additional_services'] );
|
479 |
+
|
480 |
+
if ( false === $im_product_code ) {
|
481 |
+
$error->add( 500, _x( 'The services chosen are not available for the current product.', 'dhl', 'woocommerce-germanized' ) );
|
482 |
+
} else {
|
483 |
+
$args['dhl_product'] = $im_product_code;
|
484 |
+
}
|
485 |
+
}
|
486 |
+
|
487 |
+
$available_products = wc_gzd_dhl_get_deutsche_post_products( $shipment, false );
|
488 |
+
|
489 |
+
/**
|
490 |
+
* Check whether the product might not be available for the current shipment
|
491 |
+
*/
|
492 |
+
if ( ! array_key_exists( $args['dhl_product'], $available_products ) ) {
|
493 |
+
if ( empty( $available_products ) ) {
|
494 |
+
$error->add( 500, sprintf( __( 'Sorry but none of your selected <a href="%s">Deutsche Post Products</a> is available for this shipment. Please verify your shipment data (e.g. weight) and try again.', 'dhl', 'woocommerce-germanized' ), admin_url( \Vendidero\Germanized\DHL\Admin\Settings::get_settings_url( 'internetmarke' ) ) ) );
|
495 |
+
} else {
|
496 |
+
/**
|
497 |
+
* In case the chosen product is not available - use the first product available instead
|
498 |
+
* to prevent errors during automation (connected with the default product option which might not fit).
|
499 |
+
*/
|
500 |
+
reset( $available_products );
|
501 |
+
$im_product_code = Package::get_internetmarke_api()->get_product_parent_code( key( $available_products ) );
|
502 |
+
|
503 |
+
if ( ! empty( $args['additional_services'] ) ) {
|
504 |
+
$im_product_code_additional = Package::get_internetmarke_api()->get_product_code( $im_product_code, $args['additional_services'] );
|
505 |
+
|
506 |
+
if ( false !== $im_product_code_additional ) {
|
507 |
+
$im_product_code = $im_product_code_additional;
|
508 |
+
}
|
509 |
+
}
|
510 |
+
|
511 |
+
$args['dhl_product'] = $im_product_code;
|
512 |
+
}
|
513 |
+
}
|
514 |
+
|
515 |
+
/**
|
516 |
+
* Refresh stamp total based on actual product.
|
517 |
+
*/
|
518 |
+
if ( ! empty( $args['dhl_product'] ) ) {
|
519 |
+
$args['stamp_total'] = Package::get_internetmarke_api()->get_product_total( $args['dhl_product'] );
|
520 |
+
} else {
|
521 |
+
$error->add( 500, sprintf( _x( 'Deutsche Post product is missing for %s.', 'dhl', 'woocommerce-germanized' ), $shipment->get_id() ) );
|
522 |
+
}
|
523 |
+
|
524 |
+
if ( wc_gzd_dhl_wp_error_has_errors( $error ) ) {
|
525 |
+
return $error;
|
526 |
+
}
|
527 |
+
|
528 |
+
return $args;
|
529 |
+
}
|
530 |
+
|
531 |
function wc_gzd_dhl_validate_label_args( $shipment, $args = array() ) {
|
532 |
|
533 |
$args = wp_parse_args( $args, array(
|
651 |
|
652 |
if ( wc_gzd_dhl_product_supports_service( $args['dhl_product'], 'VisualCheckOfAge' ) ) {
|
653 |
if ( ! empty( $args['visual_min_age'] ) && wc_gzd_dhl_is_valid_visual_min_age( $args['visual_min_age'] ) ) {
|
654 |
+
$args['services'] = array_merge( $args['services'], array( 'VisualCheckOfAge' ) );
|
655 |
} else {
|
656 |
if ( ! empty( $args['visual_min_age'] ) && ! wc_gzd_dhl_is_valid_visual_min_age( $args['visual_min_age'] ) ) {
|
657 |
$error->add( 500, _x( 'The visual min age check is invalid.', 'dhl', 'woocommerce-germanized' ) );
|
671 |
}
|
672 |
}
|
673 |
|
674 |
+
if ( wc_gzd_dhl_product_supports_service( $args['dhl_product'], 'IdentCheck' ) ) {
|
675 |
+
if ( ! empty( $args['ident_min_age'] ) && wc_gzd_dhl_is_valid_ident_min_age( $args['ident_min_age'] ) ) {
|
676 |
+
$args['services'] = array_merge( $args['services'], array( 'IdentCheck' ) );
|
|
|
|
|
677 |
}
|
678 |
|
679 |
+
if ( in_array( 'IdentCheck', $args['services'] ) ) {
|
680 |
+
if ( ! empty( $args['ident_min_age'] ) && ! array_key_exists( $args['ident_min_age'], wc_gzd_dhl_get_ident_min_ages() ) ) {
|
681 |
+
$error->add( 500, _x( 'The ident min age check is invalid.', 'dhl', 'woocommerce-germanized' ) );
|
682 |
+
|
683 |
+
$args['ident_min_age'] = '';
|
684 |
+
}
|
685 |
+
|
686 |
+
if ( ! empty( $args['ident_date_of_birth'] ) ) {
|
687 |
+
if ( ! wc_gzd_dhl_is_valid_datetime( $args['ident_date_of_birth'], 'Y-m-d' ) ) {
|
688 |
+
$error->add( 500, _x( 'There was an error parsing the date of birth for the identity check.', 'dhl', 'woocommerce-germanized' ) );
|
689 |
+
}
|
690 |
}
|
|
|
691 |
|
692 |
+
if ( empty( $args['ident_date_of_birth'] ) && empty( $args['ident_min_age'] ) ) {
|
693 |
+
$error->add( 500, _x( 'Either a minimum age or a date of birth must be added to the ident check.', 'dhl', 'woocommerce-germanized' ) );
|
694 |
+
}
|
695 |
}
|
696 |
} else {
|
697 |
$args['ident_min_age'] = '';
|
768 |
$shipment = wc_gzd_get_shipment( $shipment );
|
769 |
}
|
770 |
|
771 |
+
if ( $shipment && ! in_array( $shipment->get_shipping_provider(), array( 'dhl', 'deutsche_post' ) ) ) {
|
772 |
$needs_label = false;
|
773 |
}
|
774 |
|
930 |
);
|
931 |
}
|
932 |
|
933 |
+
function wc_gzd_dhl_get_deutsche_post_label_default_args( $dhl_order, $shipment ) {
|
934 |
+
$shipping_method = $shipment->get_shipping_method();
|
935 |
+
$dp_shipping_method = wc_gzd_dhl_get_deutsche_post_shipping_method( $shipping_method );
|
936 |
+
|
937 |
+
$defaults = array(
|
938 |
+
'dhl_product' => wc_gzd_dhl_get_deutsche_post_default_product( $shipment->get_country(), $dp_shipping_method ),
|
939 |
+
'page_format' => Package::get_setting( 'deutsche_post_label_default_page_format', $dp_shipping_method ),
|
940 |
+
'stamp_total' => 0,
|
941 |
+
'additional_services' => array(),
|
942 |
+
'weight' => wc_gzd_dhl_get_shipment_weight( $shipment ),
|
943 |
+
);
|
944 |
+
|
945 |
+
if ( ! empty( $defaults['dhl_product'] ) ) {
|
946 |
+
/**
|
947 |
+
* Get current services from the selected product.
|
948 |
+
*/
|
949 |
+
$defaults['additional_services'] = Package::get_internetmarke_api()->get_product_services( $defaults['dhl_product'] );
|
950 |
+
|
951 |
+
/**
|
952 |
+
* Force parent product by default to allow manually selecting services.
|
953 |
+
*/
|
954 |
+
$defaults['dhl_product'] = Package::get_internetmarke_api()->get_product_parent_code( $defaults['dhl_product'] );
|
955 |
+
}
|
956 |
+
|
957 |
+
if ( ! empty( $defaults['dhl_product'] ) ) {
|
958 |
+
$defaults['stamp_total'] = Package::get_internetmarke_api()->get_product_total( $defaults['dhl_product'] );
|
959 |
+
}
|
960 |
+
|
961 |
+
return $defaults;
|
962 |
+
}
|
963 |
+
|
964 |
+
/**
|
965 |
+
* @param Shipment $shipment
|
966 |
+
*
|
967 |
+
* @return array
|
968 |
+
*/
|
969 |
+
function wc_gzd_dhl_get_deutsche_post_products( $shipment, $parent_only = true ) {
|
970 |
+
if ( Package::is_shipping_domestic( $shipment->get_country() ) ) {
|
971 |
+
return wc_gzd_dhl_get_deutsche_post_products_domestic( $shipment, $parent_only );
|
972 |
+
} elseif ( Package::is_eu_shipment( $shipment->get_country() ) ) {
|
973 |
+
return wc_gzd_dhl_get_deutsche_post_products_eu( $shipment, $parent_only );
|
974 |
+
} else {
|
975 |
+
return wc_gzd_dhl_get_deutsche_post_products_international( $shipment, $parent_only );
|
976 |
+
}
|
977 |
+
}
|
978 |
+
|
979 |
+
/**
|
980 |
+
* @param Shipment|false $shipment
|
981 |
+
*
|
982 |
+
* @return array
|
983 |
+
*/
|
984 |
+
function wc_gzd_dhl_get_deutsche_post_products_domestic( $shipment = false, $parent_only = true ) {
|
985 |
+
$dom = Package::get_internetmarke_api()->get_available_products( array(
|
986 |
+
'product_destination' => 'national',
|
987 |
+
'shipment_weight' => $shipment ? wc_gzd_dhl_get_shipment_weight( $shipment, 'g' ) : false,
|
988 |
+
) );
|
989 |
+
|
990 |
+
return wc_gzd_dhl_im_get_product_list( $dom, $parent_only );
|
991 |
+
}
|
992 |
+
|
993 |
+
function wc_gzd_dhl_im_get_product_list( $products, $parent_only = true ) {
|
994 |
+
$list = array();
|
995 |
+
|
996 |
+
foreach( $products as $product ) {
|
997 |
+
if ( $parent_only && $product->product_parent_id > 0 ) {
|
998 |
+
continue;
|
999 |
+
}
|
1000 |
+
|
1001 |
+
$list[ $product->product_code ] = wc_gzd_dhl_get_im_product_title( $product->product_name );
|
1002 |
+
}
|
1003 |
+
|
1004 |
+
return $list;
|
1005 |
+
}
|
1006 |
+
|
1007 |
+
function wc_gzd_dhl_get_deutsche_post_products_eu( $shipment = false, $parent_only = true ) {
|
1008 |
+
$non_warenpost = Package::get_internetmarke_api()->get_available_products( array(
|
1009 |
+
'product_destination' => 'international',
|
1010 |
+
'product_is_wp_int' => 0,
|
1011 |
+
'shipment_weight' => $shipment ? wc_gzd_dhl_get_shipment_weight( $shipment, 'g' ) : false,
|
1012 |
+
) );
|
1013 |
+
|
1014 |
+
$warenpost = Package::get_internetmarke_api()->get_available_products( array(
|
1015 |
+
'product_destination' => 'eu',
|
1016 |
+
'product_is_wp_int' => 1,
|
1017 |
+
'shipment_weight' => $shipment ? wc_gzd_dhl_get_shipment_weight( $shipment, 'g' ) : false,
|
1018 |
+
) );
|
1019 |
+
|
1020 |
+
$international = array_merge( $non_warenpost, $warenpost );
|
1021 |
+
|
1022 |
+
return wc_gzd_dhl_im_get_product_list( $international, $parent_only );
|
1023 |
+
}
|
1024 |
+
|
1025 |
+
/**
|
1026 |
+
* @param Shipment|false $shipment
|
1027 |
+
*
|
1028 |
+
* @return array
|
1029 |
+
*/
|
1030 |
+
function wc_gzd_dhl_get_deutsche_post_products_international( $shipment = false, $parent_only = true ) {
|
1031 |
+
if ( $shipment && Package::is_eu_shipment( $shipment->get_country() ) ) {
|
1032 |
+
return wc_gzd_dhl_get_deutsche_post_products_eu( $shipment );
|
1033 |
+
} else {
|
1034 |
+
$international = Package::get_internetmarke_api()->get_available_products( array(
|
1035 |
+
'product_destination' => 'international',
|
1036 |
+
'shipment_weight' => $shipment ? wc_gzd_dhl_get_shipment_weight( $shipment, 'g' ) : false,
|
1037 |
+
) );
|
1038 |
+
|
1039 |
+
return wc_gzd_dhl_im_get_product_list( $international, $parent_only );
|
1040 |
+
}
|
1041 |
+
}
|
1042 |
+
|
1043 |
/**
|
1044 |
* @param Order $dhl_order
|
1045 |
* @param Shipment $shipment
|
1048 |
|
1049 |
$shipping_method = $shipment->get_shipping_method();
|
1050 |
$dhl_shipping_method = wc_gzd_dhl_get_shipping_method( $shipping_method );
|
|
|
1051 |
|
1052 |
$defaults = array(
|
1053 |
'dhl_product' => wc_gzd_dhl_get_default_product( $shipment->get_country(), $dhl_shipping_method ),
|
1126 |
}
|
1127 |
}
|
1128 |
|
1129 |
+
if ( wc_gzd_dhl_product_supports_service( $defaults['dhl_product'], 'IdentCheck' ) ) {
|
1130 |
+
$ident_min_age = Package::get_setting( 'label_ident_min_age', $dhl_shipping_method );
|
1131 |
+
|
1132 |
+
if ( wc_gzd_dhl_is_valid_ident_min_age( $ident_min_age ) ) {
|
1133 |
+
$defaults['services'][] = 'IdentCheck';
|
1134 |
+
$defaults['ident_min_age'] = $ident_min_age;
|
1135 |
+
}
|
1136 |
+
|
1137 |
+
/**
|
1138 |
+
* Sync with order data but only in case no visual age has been synced already.
|
1139 |
+
*/
|
1140 |
+
if ( ! in_array( 'VisualCheckOfAge', $defaults['services'] ) ) {
|
1141 |
+
if ( $dhl_order->needs_age_verification() && 'yes' === Package::get_setting( 'label_auto_age_check_ident_sync', $dhl_shipping_method ) ) {
|
1142 |
+
$defaults['services'][] = 'IdentCheck';
|
1143 |
+
$defaults['ident_min_age'] = $dhl_order->get_min_age();
|
1144 |
+
}
|
1145 |
+
}
|
1146 |
+
}
|
1147 |
+
|
1148 |
foreach( wc_gzd_dhl_get_services() as $service ) {
|
1149 |
|
1150 |
if ( ! wc_gzd_dhl_product_supports_service( $defaults['dhl_product'], $service ) ) {
|
1152 |
}
|
1153 |
|
1154 |
// Combination is not available
|
1155 |
+
if ( ( ! empty( $defaults['visual_min_age'] ) || ! empty( $defaults['ident_min_age'] ) ) && 'NamedPersonOnly' === $service ) {
|
1156 |
continue;
|
1157 |
}
|
1158 |
|
1184 |
}
|
1185 |
}
|
1186 |
|
1187 |
+
if ( ! Package::is_shipping_domestic( $shipment->get_country() ) ) {
|
1188 |
|
1189 |
foreach( wc_gzd_dhl_get_international_services() as $service ) {
|
1190 |
|
1251 |
*/
|
1252 |
function wc_gzd_dhl_get_shipment_weight( $shipment, $unit = 'kg' ) {
|
1253 |
$shipping_method = $shipment->get_shipping_method();
|
1254 |
+
$shipment_weight = $shipment->get_total_weight();
|
1255 |
$dhl_shipping_method = wc_gzd_dhl_get_shipping_method( $shipping_method );
|
1256 |
$min_weight = wc_get_weight( Package::get_setting( 'label_minimum_shipment_weight', $dhl_shipping_method ), $unit, 'kg' );
|
1257 |
$weight = empty( $shipment_weight ) ? wc_get_weight( Package::get_setting( 'label_default_shipment_weight', $dhl_shipping_method ), $unit, 'kg' ) : wc_get_weight( $shipment_weight, $unit, $shipment->get_weight_unit() );
|
1305 |
|
1306 |
$dhl_order = wc_gzd_dhl_get_order( $order );
|
1307 |
$shipment_type = $shipment->get_type();
|
1308 |
+
$provider = $shipment->get_shipping_provider();
|
1309 |
$label_type = 'return' === $shipment_type ? 'return' : 'simple';
|
1310 |
+
|
1311 |
+
if ( 'deutsche_post' === $provider ) {
|
1312 |
+
$label_type = 'return' === $shipment_type ? 'deutsche_post_return' : 'deutsche_post';
|
1313 |
+
}
|
1314 |
+
|
1315 |
$hook_suffix = 'simple' === $label_type ? '' : $label_type . '_';
|
1316 |
|
1317 |
if ( 'return' === $label_type ) {
|
1318 |
$args = wp_parse_args( $args, wc_gzd_dhl_get_return_label_default_args( $dhl_order, $shipment ) );
|
1319 |
$args = wc_gzd_dhl_validate_return_label_args( $shipment, $args );
|
1320 |
+
} elseif ( in_array( $label_type, array( 'deutsche_post', 'deutsche_post_return' ) ) ) {
|
1321 |
+
$args = wp_parse_args( $args, wc_gzd_dhl_get_deutsche_post_label_default_args( $dhl_order, $shipment ) );
|
1322 |
+
$args = wc_gzd_dhl_validate_deutsche_post_label_args( $shipment, $args );
|
1323 |
} else {
|
1324 |
$args = wp_parse_args( $args, wc_gzd_dhl_get_label_default_args( $dhl_order, $shipment ) );
|
1325 |
$args = wc_gzd_dhl_validate_label_args( $shipment, $args );
|
1556 |
return $retoure;
|
1557 |
}
|
1558 |
|
1559 |
+
function wc_gzd_dhl_get_im_product_title( $product_name ) {
|
1560 |
+
$title = $product_name;
|
1561 |
+
|
1562 |
+
return $title;
|
1563 |
+
}
|
1564 |
+
|
1565 |
function wc_gzd_dhl_get_products_international() {
|
1566 |
|
1567 |
$country = Package::get_base_country();
|
1630 |
}
|
1631 |
}
|
1632 |
|
1633 |
+
function wc_gzd_dhl_get_deutsche_post_default_product( $country, $method = false ) {
|
1634 |
+
if ( Package::is_shipping_domestic( $country ) ) {
|
1635 |
+
return Package::get_setting( 'deutsche_post_label_default_product_dom', $method );
|
1636 |
+
} elseif( Package::is_eu_shipment( $country ) ) {
|
1637 |
+
return Package::get_setting( 'deutsche_post_label_default_product_eu', $method );
|
1638 |
+
}else {
|
1639 |
+
return Package::get_setting( 'deutsche_post_label_default_product_int', $method );
|
1640 |
+
}
|
1641 |
+
}
|
1642 |
|
1643 |
+
function wc_gzd_dhl_get_products_domestic() {
|
1644 |
$country = Package::get_base_country();
|
1645 |
|
1646 |
$germany_dom = array(
|
1647 |
'V01PAK' => _x( 'DHL Paket', 'dhl', 'woocommerce-germanized' ),
|
1648 |
'V01PRIO' => _x( 'DHL Paket PRIO', 'dhl', 'woocommerce-germanized' ),
|
1649 |
'V06PAK' => _x( 'DHL Paket Taggleich', 'dhl', 'woocommerce-germanized' ),
|
1650 |
+
'V62WP' => _x( 'DHL Warenpost', 'dhl', 'woocommerce-germanized' )
|
1651 |
);
|
1652 |
|
1653 |
$dhl_prod_dom = array();
|
1759 |
'return' => array(
|
1760 |
'class_name' => '\Vendidero\Germanized\DHL\ReturnLabel'
|
1761 |
),
|
1762 |
+
'deutsche_post' => array(
|
1763 |
+
'class_name' => '\Vendidero\Germanized\DHL\DeutschePostLabel'
|
1764 |
+
),
|
1765 |
+
'deutsche_post_return' => array(
|
1766 |
+
'class_name' => '\Vendidero\Germanized\DHL\DeutschePostReturnLabel'
|
1767 |
+
),
|
1768 |
);
|
1769 |
|
1770 |
if ( $type && array_key_exists( $type, $types ) ) {
|
packages/woocommerce-germanized-dhl/src/Admin/Admin.php
CHANGED
@@ -1,9 +1,11 @@
|
|
1 |
<?php
|
2 |
|
3 |
namespace Vendidero\Germanized\DHL\Admin;
|
|
|
4 |
use Vendidero\Germanized\DHL\Package;
|
5 |
use Vendidero\Germanized\Shipments\Shipment;
|
6 |
use Vendidero\Germanized\Shipments\ReturnShipment;
|
|
|
7 |
|
8 |
defined( 'ABSPATH' ) || exit;
|
9 |
|
@@ -28,6 +30,9 @@ class Admin {
|
|
28 |
add_action( 'woocommerce_gzd_shipment_print_dhl_label_admin_fields', array( __CLASS__, 'label_fields' ), 10, 1 );
|
29 |
add_action( 'woocommerce_gzd_return_shipment_print_dhl_label_admin_fields', array( __CLASS__, 'return_label_fields' ), 10, 1 );
|
30 |
|
|
|
|
|
|
|
31 |
// Template check
|
32 |
add_filter( 'woocommerce_gzd_template_check', array( __CLASS__, 'add_template_check' ), 10, 1 );
|
33 |
|
@@ -35,14 +40,57 @@ class Admin {
|
|
35 |
add_action( 'admin_notices', array( __CLASS__, 'check_upload_dir' ) );
|
36 |
|
37 |
// Product Options
|
38 |
-
add_action( 'woocommerce_product_options_shipping', array( __CLASS__, 'product_options' ) );
|
39 |
add_action( 'woocommerce_admin_process_product_object', array( __CLASS__, 'save_product' ), 10, 1 );
|
40 |
|
41 |
// Reveiver ID options
|
42 |
add_action( 'woocommerce_admin_field_dhl_receiver_ids', array( __CLASS__, 'output_receiver_ids_field' ) );
|
43 |
add_action( 'woocommerce_gzd_admin_settings_after_save_dhl_labels', array( __CLASS__, 'save_receiver_ids' ) );
|
|
|
|
|
|
|
44 |
}
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
/**
|
47 |
* Output label admin settings.
|
48 |
*
|
@@ -60,6 +108,23 @@ class Admin {
|
|
60 |
include $path;
|
61 |
}
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
/**
|
64 |
* Output label admin settings.
|
65 |
*
|
@@ -172,8 +237,8 @@ class Admin {
|
|
172 |
$countries = WC()->countries->get_countries();
|
173 |
$countries = array_merge( array( '0' => _x( 'Select a country', 'dhl', 'woocommerce-germanized' ) ), $countries );
|
174 |
|
175 |
-
|
176 |
-
|
177 |
}
|
178 |
|
179 |
public static function save_product( $product ) {
|
@@ -215,7 +280,7 @@ class Admin {
|
|
215 |
public static function add_legacy_meta_box() {
|
216 |
global $post;
|
217 |
|
218 |
-
if ( !
|
219 |
add_meta_box( 'woocommerce-gzd-shipment-dhl-legacy-label', _x( 'DHL Label', 'dhl', 'woocommerce-germanized' ), array( __CLASS__, 'legacy_meta_box' ), 'shop_order', 'side', 'high' );
|
220 |
}
|
221 |
}
|
@@ -262,9 +327,25 @@ class Admin {
|
|
262 |
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
263 |
|
264 |
wp_register_script( 'wc-gzd-admin-dhl-label', Package::get_assets_url() . '/js/admin-label' . $suffix . '.js', array( 'wc-gzd-admin-shipment-label-backbone' ), Package::get_version() );
|
|
|
|
|
265 |
|
266 |
if ( wp_script_is( 'wc-gzd-admin-shipment-label-backbone', 'enqueued' ) ) {
|
267 |
wp_enqueue_script( 'wc-gzd-admin-dhl-label' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
}
|
269 |
}
|
270 |
|
1 |
<?php
|
2 |
|
3 |
namespace Vendidero\Germanized\DHL\Admin;
|
4 |
+
use Vendidero\Germanized\DHL\Admin\Importer\DHL;
|
5 |
use Vendidero\Germanized\DHL\Package;
|
6 |
use Vendidero\Germanized\Shipments\Shipment;
|
7 |
use Vendidero\Germanized\Shipments\ReturnShipment;
|
8 |
+
use Vendidero\Germanized\DHL\DownloadHandler;
|
9 |
|
10 |
defined( 'ABSPATH' ) || exit;
|
11 |
|
30 |
add_action( 'woocommerce_gzd_shipment_print_dhl_label_admin_fields', array( __CLASS__, 'label_fields' ), 10, 1 );
|
31 |
add_action( 'woocommerce_gzd_return_shipment_print_dhl_label_admin_fields', array( __CLASS__, 'return_label_fields' ), 10, 1 );
|
32 |
|
33 |
+
add_action( 'woocommerce_gzd_shipment_print_deutsche_post_label_admin_fields', array( __CLASS__, 'post_label_fields' ), 10, 1 );
|
34 |
+
add_action( 'woocommerce_gzd_return_shipment_print_deutsche_post_label_admin_fields', array( __CLASS__, 'post_label_fields' ), 10, 1 );
|
35 |
+
|
36 |
// Template check
|
37 |
add_filter( 'woocommerce_gzd_template_check', array( __CLASS__, 'add_template_check' ), 10, 1 );
|
38 |
|
40 |
add_action( 'admin_notices', array( __CLASS__, 'check_upload_dir' ) );
|
41 |
|
42 |
// Product Options
|
43 |
+
add_action( 'woocommerce_product_options_shipping', array( __CLASS__, 'product_options' ), 9 );
|
44 |
add_action( 'woocommerce_admin_process_product_object', array( __CLASS__, 'save_product' ), 10, 1 );
|
45 |
|
46 |
// Reveiver ID options
|
47 |
add_action( 'woocommerce_admin_field_dhl_receiver_ids', array( __CLASS__, 'output_receiver_ids_field' ) );
|
48 |
add_action( 'woocommerce_gzd_admin_settings_after_save_dhl_labels', array( __CLASS__, 'save_receiver_ids' ) );
|
49 |
+
|
50 |
+
add_action( 'admin_init', array( __CLASS__, 'refresh_im_data' ) );
|
51 |
+
add_action( 'admin_notices', array( __CLASS__, 'refresh_im_notices' ) );
|
52 |
}
|
53 |
|
54 |
+
public static function refresh_im_notices() {
|
55 |
+
if ( current_user_can( 'manage_woocommerce' ) && isset( $_GET['im-refresh-type'] ) ) {
|
56 |
+
?>
|
57 |
+
<div class="notice fade <?php echo ( isset( $_GET['success'] ) ? 'updated' : 'error' ); ?>"><p><?php echo ( isset( $_GET['success'] ) ? _x( 'Refreshed data successfully.', 'dhl', 'woocommerce-germanized' ) : sprintf( _x( 'Error while refreshing data. Please check your Internetmarke <a href="%s">logs</a>.', 'dhl', 'woocommerce-germanized' ), admin_url( 'admin.php?page=wc-status&tab=logs' ) ) ); ?></p></div>
|
58 |
+
<?php
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
public static function refresh_im_data() {
|
63 |
+
if ( current_user_can( 'manage_woocommerce' ) && isset( $_GET['action'], $_GET['_wpnonce'] ) && 'wc-gzd-dhl-im-product-refresh' === $_GET['action'] ) {
|
64 |
+
if ( wp_verify_nonce( $_GET['_wpnonce'], 'wc-gzd-dhl-refresh-im-products' ) ) {
|
65 |
+
$result = Package::get_internetmarke_api()->update_products();
|
66 |
+
$settings_url = add_query_arg( array( 'im-refresh-type' => 'products' ), Settings::get_settings_url( 'internetmarke' ) );
|
67 |
+
|
68 |
+
if ( is_wp_error( $result ) ) {
|
69 |
+
$settings_url = add_query_arg( array( 'error' => 1 ), $settings_url );
|
70 |
+
} else {
|
71 |
+
$settings_url = add_query_arg( array( 'success' => 1 ), $settings_url );
|
72 |
+
}
|
73 |
+
|
74 |
+
wp_safe_redirect( $settings_url );
|
75 |
+
exit();
|
76 |
+
}
|
77 |
+
} elseif ( current_user_can( 'manage_woocommerce' ) && isset( $_GET['action'], $_GET['_wpnonce'] ) && 'wc-gzd-dhl-im-page-formats-refresh' === $_GET['action'] ) {
|
78 |
+
if ( wp_verify_nonce( $_GET['_wpnonce'], 'wc-gzd-dhl-refresh-im-page-formats' ) ) {
|
79 |
+
$result = Package::get_internetmarke_api()->get_page_formats( true );
|
80 |
+
$settings_url = add_query_arg( array( 'im-refresh-type' => 'formats' ), Settings::get_settings_url( 'internetmarke' ) );
|
81 |
+
|
82 |
+
if ( is_wp_error( $result ) ) {
|
83 |
+
$settings_url = add_query_arg( array( 'error' => 1 ), $settings_url );
|
84 |
+
} else {
|
85 |
+
$settings_url = add_query_arg( array( 'success' => 1 ), $settings_url );
|
86 |
+
}
|
87 |
+
|
88 |
+
wp_safe_redirect( $settings_url );
|
89 |
+
exit();
|
90 |
+
}
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
/**
|
95 |
* Output label admin settings.
|
96 |
*
|
108 |
include $path;
|
109 |
}
|
110 |
|
111 |
+
/**
|
112 |
+
* Output label admin settings.
|
113 |
+
*
|
114 |
+
* @param Shipment $p_shipment
|
115 |
+
*/
|
116 |
+
public static function post_label_fields( $p_shipment ) {
|
117 |
+
$shipment = $p_shipment;
|
118 |
+
|
119 |
+
if ( ! $dhl_order = wc_gzd_dhl_get_order( $shipment->get_order() ) ) {
|
120 |
+
return;
|
121 |
+
}
|
122 |
+
|
123 |
+
$path = Package::get_path() . '/includes/admin/views/html-shipment-deutsche-post-label-backbone-form.php';
|
124 |
+
|
125 |
+
include $path;
|
126 |
+
}
|
127 |
+
|
128 |
/**
|
129 |
* Output label admin settings.
|
130 |
*
|
237 |
$countries = WC()->countries->get_countries();
|
238 |
$countries = array_merge( array( '0' => _x( 'Select a country', 'dhl', 'woocommerce-germanized' ) ), $countries );
|
239 |
|
240 |
+
woocommerce_wp_text_input( array( 'id' => '_dhl_hs_code', 'label' => _x( 'HS-Code (DHL)', 'dhl', 'woocommerce-germanized' ), 'desc_tip' => true, 'description' => _x( 'The HS Code is a number assigned to every possible commodity that can be imported or exported from any country.', 'dhl', 'woocommerce-germanized' ) ) );
|
241 |
+
woocommerce_wp_select( array( 'options' => $countries, 'id' => '_dhl_manufacture_country', 'label' => _x( 'Country of manufacture (DHL)', 'dhl', 'woocommerce-germanized' ), 'desc_tip' => true, 'description' => _x( 'The country of manufacture is needed for customs of international shipping.', 'dhl', 'woocommerce-germanized' ) ) );
|
242 |
}
|
243 |
|
244 |
public static function save_product( $product ) {
|
280 |
public static function add_legacy_meta_box() {
|
281 |
global $post;
|
282 |
|
283 |
+
if ( ! DHL::is_plugin_enabled() && ( $post && 'shop_order' === $post->post_type && get_post_meta( $post->ID, '_pr_shipment_dhl_label_tracking' ) ) ) {
|
284 |
add_meta_box( 'woocommerce-gzd-shipment-dhl-legacy-label', _x( 'DHL Label', 'dhl', 'woocommerce-germanized' ), array( __CLASS__, 'legacy_meta_box' ), 'shop_order', 'side', 'high' );
|
285 |
}
|
286 |
}
|
327 |
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
328 |
|
329 |
wp_register_script( 'wc-gzd-admin-dhl-label', Package::get_assets_url() . '/js/admin-label' . $suffix . '.js', array( 'wc-gzd-admin-shipment-label-backbone' ), Package::get_version() );
|
330 |
+
wp_register_script( 'wc-gzd-admin-dhl-internetmarke', Package::get_assets_url() . '/js/admin-internetmarke' . $suffix . '.js', array( 'jquery' ), Package::get_version() );
|
331 |
+
wp_register_script( 'wc-gzd-admin-deutsche-post-label', Package::get_assets_url() . '/js/admin-deutsche-post-label' . $suffix . '.js', array( 'wc-gzd-admin-shipment-label-backbone' ), Package::get_version() );
|
332 |
|
333 |
if ( wp_script_is( 'wc-gzd-admin-shipment-label-backbone', 'enqueued' ) ) {
|
334 |
wp_enqueue_script( 'wc-gzd-admin-dhl-label' );
|
335 |
+
wp_enqueue_script( 'wc-gzd-admin-deutsche-post-label' );
|
336 |
+
|
337 |
+
wp_localize_script(
|
338 |
+
'wc-gzd-admin-deutsche-post-label',
|
339 |
+
'wc_gzd_admin_deutsche_post_label_params',
|
340 |
+
array(
|
341 |
+
'refresh_label_preview_nonce' => wp_create_nonce( 'wc-gzd-dhl-refresh-deutsche-post-label-preview' ),
|
342 |
+
)
|
343 |
+
);
|
344 |
+
}
|
345 |
+
|
346 |
+
// Shipping zone methods
|
347 |
+
if ( 'woocommerce_page_wc-settings' === $screen_id && isset( $_GET['section'] ) && 'internetmarke' === $_GET['section'] ) {
|
348 |
+
wp_enqueue_script( 'wc-gzd-admin-dhl-internetmarke' );
|
349 |
}
|
350 |
}
|
351 |
|
packages/woocommerce-germanized-dhl/src/Admin/{Importer.php → Importer/DHL.php}
RENAMED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace Vendidero\Germanized\DHL\Admin;
|
4 |
use Vendidero\Germanized\DHL\Package;
|
5 |
|
6 |
defined( 'ABSPATH' ) || exit;
|
@@ -8,7 +8,7 @@ defined( 'ABSPATH' ) || exit;
|
|
8 |
/**
|
9 |
* WC_Admin class.
|
10 |
*/
|
11 |
-
class
|
12 |
|
13 |
public static function is_available() {
|
14 |
$options = get_option( 'woocommerce_pr_dhl_paket_settings' );
|
1 |
<?php
|
2 |
|
3 |
+
namespace Vendidero\Germanized\DHL\Admin\Importer;
|
4 |
use Vendidero\Germanized\DHL\Package;
|
5 |
|
6 |
defined( 'ABSPATH' ) || exit;
|
8 |
/**
|
9 |
* WC_Admin class.
|
10 |
*/
|
11 |
+
class DHL {
|
12 |
|
13 |
public static function is_available() {
|
14 |
$options = get_option( 'woocommerce_pr_dhl_paket_settings' );
|
packages/woocommerce-germanized-dhl/src/Admin/Importer/Internetmarke.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL\Admin\Importer;
|
4 |
+
use Vendidero\Germanized\DHL\Package;
|
5 |
+
|
6 |
+
defined( 'ABSPATH' ) || exit;
|
7 |
+
|
8 |
+
/**
|
9 |
+
* WC_Admin class.
|
10 |
+
*/
|
11 |
+
class Internetmarke {
|
12 |
+
|
13 |
+
public static function is_available() {
|
14 |
+
$options = get_option( '_wcdpi_settings_general' );
|
15 |
+
$imported = get_option( 'woocommerce_gzd_internetmarke_import_finished' );
|
16 |
+
|
17 |
+
return ( ( ! empty( $options ) && 'yes' !== $imported && Package::base_country_is_supported() ) ? true : false );
|
18 |
+
}
|
19 |
+
|
20 |
+
public static function is_plugin_enabled() {
|
21 |
+
return defined( 'WCDPI_PLUGIN_FILE' ) ? true : false;
|
22 |
+
}
|
23 |
+
|
24 |
+
public static function import_settings() {
|
25 |
+
$old_settings = array_merge( (array) get_option( '_wcdpi_settings_portokasse' ), (array) get_option( '_wcdpi_settings_internetmarke_1c4a' ) );
|
26 |
+
|
27 |
+
$settings_mapping = array(
|
28 |
+
'_wcdpi_portokasse_email' => 'woocommerce_gzd_dhl_im_api_username',
|
29 |
+
'_wcdpi_portokasse_password' => 'woocommerce_gzd_dhl_im_api_password',
|
30 |
+
);
|
31 |
+
|
32 |
+
// Bulk update settings
|
33 |
+
foreach( $settings_mapping as $setting_old_key => $setting_new_key ) {
|
34 |
+
if ( isset( $old_settings[ $setting_old_key ] ) ) {
|
35 |
+
update_option( $setting_new_key, $old_settings[ $setting_old_key ] );
|
36 |
+
}
|
37 |
+
}
|
38 |
+
}
|
39 |
+
}
|
packages/woocommerce-germanized-dhl/src/Admin/Settings.php
CHANGED
@@ -14,6 +14,10 @@ class Settings {
|
|
14 |
return '';
|
15 |
}
|
16 |
|
|
|
|
|
|
|
|
|
17 |
public static function get_pointers( $section ) {
|
18 |
$pointers = array();
|
19 |
|
@@ -331,7 +335,7 @@ class Settings {
|
|
331 |
$settings = self::get_setup_settings( true );
|
332 |
|
333 |
$settings = array_merge( $settings, array(
|
334 |
-
array( 'title' => _x( 'Products and Participation Numbers', 'dhl', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'dhl_product_options', 'desc' => sprintf( _x(
|
335 |
) );
|
336 |
|
337 |
$settings = array_merge( $settings, $dhl_products );
|
@@ -526,14 +530,6 @@ class Settings {
|
|
526 |
public static function get_label_default_services_settings( $for_shipping_method = false ) {
|
527 |
|
528 |
$settings = array(
|
529 |
-
array(
|
530 |
-
'title' => _x( 'Visual minimum age', 'dhl', 'woocommerce-germanized' ),
|
531 |
-
'id' => 'woocommerce_gzd_dhl_label_visual_min_age',
|
532 |
-
'type' => 'select',
|
533 |
-
'default' => '0',
|
534 |
-
'options' => wc_gzd_dhl_get_visual_min_ages(),
|
535 |
-
'desc_tip' => _x( 'Choose this option if you want to let DHL check your customer\'s age.', 'dhl', 'woocommerce-germanized' ),
|
536 |
-
),
|
537 |
array(
|
538 |
'title' => _x( 'GoGreen', 'dhl', 'woocommerce-germanized' ),
|
539 |
'desc' => _x( 'Enable the GoGreen Service by default.', 'dhl', 'woocommerce-germanized' ),
|
@@ -577,12 +573,35 @@ class Settings {
|
|
577 |
'type' => 'gzd_toggle',
|
578 |
),
|
579 |
array(
|
580 |
-
'title' => _x( '
|
581 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
582 |
'id' => 'woocommerce_gzd_dhl_label_auto_age_check_sync',
|
583 |
'default' => 'yes',
|
584 |
'type' => 'gzd_toggle',
|
585 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
586 |
array(
|
587 |
'title' => _x( 'Premium', 'dhl', 'woocommerce-germanized' ),
|
588 |
'desc' => _x( 'Premium delivery for international shipments.', 'dhl', 'woocommerce-germanized' ),
|
@@ -662,7 +681,9 @@ class Settings {
|
|
662 |
|
663 |
foreach( $settings as $setting ) {
|
664 |
$new_setting = array();
|
665 |
-
$new_setting['id'] = str_replace( '
|
|
|
|
|
666 |
$new_setting['type'] = str_replace( 'gzd_toggle', 'checkbox', $setting['type'] );
|
667 |
$new_setting['default'] = Package::get_setting( $new_setting['id'] );
|
668 |
|
@@ -1138,6 +1159,284 @@ class Settings {
|
|
1138 |
return $settings;
|
1139 |
}
|
1140 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1141 |
public static function get_settings( $current_section = '' ) {
|
1142 |
$settings = array();
|
1143 |
|
@@ -1149,6 +1448,8 @@ class Settings {
|
|
1149 |
$settings = self::get_service_settings();
|
1150 |
} elseif( 'pickup' === $current_section && Package::base_country_supports( 'pickup' ) ) {
|
1151 |
$settings = self::get_pickup_settings();
|
|
|
|
|
1152 |
}
|
1153 |
|
1154 |
return $settings;
|
@@ -1156,10 +1457,11 @@ class Settings {
|
|
1156 |
|
1157 |
public static function get_sections() {
|
1158 |
$sections = array(
|
1159 |
-
''
|
1160 |
-
'labels'
|
1161 |
-
'
|
1162 |
-
'
|
|
|
1163 |
);
|
1164 |
|
1165 |
if ( ! Package::base_country_supports( 'services' ) ) {
|
14 |
return '';
|
15 |
}
|
16 |
|
17 |
+
protected static function after_disable() {
|
18 |
+
|
19 |
+
}
|
20 |
+
|
21 |
public static function get_pointers( $section ) {
|
22 |
$pointers = array();
|
23 |
|
335 |
$settings = self::get_setup_settings( true );
|
336 |
|
337 |
$settings = array_merge( $settings, array(
|
338 |
+
array( 'title' => _x( 'Products and Participation Numbers', 'dhl', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'dhl_product_options', 'desc' => sprintf( _x( 'For each DHL product that you would like to use, please enter your participation number here. The participation number consists of the last two characters of the respective accounting number, which you will find in your %s (e.g.: 01).', 'dhl', 'woocommerce-germanized' ), '<a href="' . Package::get_geschaeftskunden_portal_url() . '" target="_blank">' . _x( 'contract data', 'dhl', 'woocommerce-germanized' ) . '</a>' ) ),
|
339 |
) );
|
340 |
|
341 |
$settings = array_merge( $settings, $dhl_products );
|
530 |
public static function get_label_default_services_settings( $for_shipping_method = false ) {
|
531 |
|
532 |
$settings = array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
533 |
array(
|
534 |
'title' => _x( 'GoGreen', 'dhl', 'woocommerce-germanized' ),
|
535 |
'desc' => _x( 'Enable the GoGreen Service by default.', 'dhl', 'woocommerce-germanized' ),
|
573 |
'type' => 'gzd_toggle',
|
574 |
),
|
575 |
array(
|
576 |
+
'title' => _x( 'Minimum age (Visual check)', 'dhl', 'woocommerce-germanized' ),
|
577 |
+
'id' => 'woocommerce_gzd_dhl_label_visual_min_age',
|
578 |
+
'type' => 'select',
|
579 |
+
'default' => '0',
|
580 |
+
'options' => wc_gzd_dhl_get_visual_min_ages(),
|
581 |
+
'desc_tip' => _x( 'Choose this option if you want to let DHL check your customer\'s age.', 'dhl', 'woocommerce-germanized' ),
|
582 |
+
),
|
583 |
+
array(
|
584 |
+
'title' => _x( 'Sync (Visual Check)', 'dhl', 'woocommerce-germanized' ),
|
585 |
+
'desc' => _x( 'Visually verify age if shipment contains applicable items.', 'dhl', 'woocommerce-germanized' ) . '<div class="wc-gzd-additional-desc">' . sprintf( _x( 'Germanized offers an %s to be enabled for certain products and/or product categories. By checking this option labels for shipments with applicable items will automatically have the visual age check service enabled.', 'dhl', 'woocommerce-germanized' ), '<a href="' . admin_url( 'admin.php?page=wc-settings&tab=germanized-checkboxes&checkbox_id=age_verification' ) . '">' . _x( 'age verification checkbox', 'dhl', 'woocommerce-germanized' ) . '</a>' ) . '</div>',
|
586 |
'id' => 'woocommerce_gzd_dhl_label_auto_age_check_sync',
|
587 |
'default' => 'yes',
|
588 |
'type' => 'gzd_toggle',
|
589 |
),
|
590 |
+
array(
|
591 |
+
'title' => _x( 'Minimum age (Ident check)', 'dhl', 'woocommerce-germanized' ),
|
592 |
+
'id' => 'woocommerce_gzd_dhl_label_ident_min_age',
|
593 |
+
'type' => 'select',
|
594 |
+
'default' => '0',
|
595 |
+
'options' => wc_gzd_dhl_get_ident_min_ages(),
|
596 |
+
'desc_tip' => _x( 'Choose this option if you want to let DHL check your customer\'s identity and age.', 'dhl', 'woocommerce-germanized' ),
|
597 |
+
),
|
598 |
+
array(
|
599 |
+
'title' => _x( 'Sync (Ident Check)', 'dhl', 'woocommerce-germanized' ),
|
600 |
+
'desc' => _x( 'Verify identity and age if shipment contains applicable items.', 'dhl', 'woocommerce-germanized' ) . '<div class="wc-gzd-additional-desc">' . sprintf( _x( 'Germanized offers an %s to be enabled for certain products and/or product categories. By checking this option labels for shipments with applicable items will automatically have the identity check service enabled.', 'dhl', 'woocommerce-germanized' ), '<a href="' . admin_url( 'admin.php?page=wc-settings&tab=germanized-checkboxes&checkbox_id=age_verification' ) . '">' . _x( 'age verification checkbox', 'dhl', 'woocommerce-germanized' ) . '</a>' ) . '</div>',
|
601 |
+
'id' => 'woocommerce_gzd_dhl_label_auto_age_check_ident_sync',
|
602 |
+
'default' => 'no',
|
603 |
+
'type' => 'gzd_toggle',
|
604 |
+
),
|
605 |
array(
|
606 |
'title' => _x( 'Premium', 'dhl', 'woocommerce-germanized' ),
|
607 |
'desc' => _x( 'Premium delivery for international shipments.', 'dhl', 'woocommerce-germanized' ),
|
681 |
|
682 |
foreach( $settings as $setting ) {
|
683 |
$new_setting = array();
|
684 |
+
$new_setting['id'] = str_replace( 'woocommerce_gzd_deutsche_post_', 'deutsche_post_', $setting['id'] );
|
685 |
+
$new_setting['id'] = str_replace( 'woocommerce_gzd_dhl_', 'dhl_', $new_setting['id'] );
|
686 |
+
|
687 |
$new_setting['type'] = str_replace( 'gzd_toggle', 'checkbox', $setting['type'] );
|
688 |
$new_setting['default'] = Package::get_setting( $new_setting['id'] );
|
689 |
|
1159 |
return $settings;
|
1160 |
}
|
1161 |
|
1162 |
+
public static function get_internetmarke_setup_settings( $is_settings_page = false ) {
|
1163 |
+
$settings = array(
|
1164 |
+
array( 'title' => '', 'type' => 'title', 'id' => 'dhl_internetmarke_options' ),
|
1165 |
+
|
1166 |
+
array(
|
1167 |
+
'title' => _x( 'Enable', 'dhl', 'woocommerce-germanized' ),
|
1168 |
+
'desc' => _x( 'Enable Internetmarke integration.', 'dhl', 'woocommerce-germanized' ),
|
1169 |
+
'id' => 'woocommerce_gzd_dhl_internetmarke_enable',
|
1170 |
+
'default' => 'no',
|
1171 |
+
'type' => 'gzd_toggle',
|
1172 |
+
),
|
1173 |
+
|
1174 |
+
array(
|
1175 |
+
'title' => _x( 'Username', 'dhl', 'woocommerce-germanized' ),
|
1176 |
+
'type' => 'text',
|
1177 |
+
'desc' => '<div class="wc-gzd-additional-desc">' . sprintf( _x( 'Your credentials to the <a href="%s" target="_blank">Portokasse</a>. Please test your credentials before connecting.', 'dhl', 'woocommerce-germanized' ), 'https://portokasse.deutschepost.de/portokasse/#!/' ) . '</div>',
|
1178 |
+
'id' => 'woocommerce_gzd_dhl_im_api_username',
|
1179 |
+
'default' => '',
|
1180 |
+
'custom_attributes' => array( 'autocomplete' => 'new-password' )
|
1181 |
+
),
|
1182 |
+
|
1183 |
+
array(
|
1184 |
+
'title' => _x( 'Password', 'dhl', 'woocommerce-germanized' ),
|
1185 |
+
'type' => 'password',
|
1186 |
+
'id' => 'woocommerce_gzd_dhl_im_api_password',
|
1187 |
+
'default' => '',
|
1188 |
+
'custom_attributes' => array( 'autocomplete' => 'new-password' )
|
1189 |
+
),
|
1190 |
+
|
1191 |
+
array( 'type' => 'sectionend', 'id' => 'dhl_internetmarke_options' )
|
1192 |
+
);
|
1193 |
+
|
1194 |
+
return $settings;
|
1195 |
+
}
|
1196 |
+
|
1197 |
+
public static function get_internetmarke_default_settings( $for_shipping_method = false ) {
|
1198 |
+
$settings = array(
|
1199 |
+
array(
|
1200 |
+
'title' => _x( 'Domestic Default Service', 'dhl', 'woocommerce-germanized' ),
|
1201 |
+
'type' => 'select',
|
1202 |
+
'default' => '',
|
1203 |
+
'id' => 'woocommerce_gzd_deutsche_post_label_default_product_dom',
|
1204 |
+
'desc' => '<div class="wc-gzd-additional-desc">' . _x( 'Please select your default shipping service for domestic shipments that you want to offer to your customers (you can always change this within each individual shipment afterwards).', 'dhl', 'woocommerce-germanized' ) . '</div>',
|
1205 |
+
'options' => wc_gzd_dhl_get_deutsche_post_products_domestic( false, false ),
|
1206 |
+
'class' => 'wc-enhanced-select',
|
1207 |
+
),
|
1208 |
+
|
1209 |
+
array(
|
1210 |
+
'title' => _x( 'EU Default Service', 'dhl', 'woocommerce-germanized' ),
|
1211 |
+
'type' => 'select',
|
1212 |
+
'default' => '',
|
1213 |
+
'id' => 'woocommerce_gzd_deutsche_post_label_default_product_eu',
|
1214 |
+
'desc' => '<div class="wc-gzd-additional-desc">' . _x( 'Please select your default shipping service for EU shipments that you want to offer to your customers.', 'dhl', 'woocommerce-germanized' ) . '</div>',
|
1215 |
+
'options' => wc_gzd_dhl_get_deutsche_post_products_eu( false, false ),
|
1216 |
+
'class' => 'wc-enhanced-select',
|
1217 |
+
),
|
1218 |
+
|
1219 |
+
array(
|
1220 |
+
'title' => _x( 'Int. Default Service', 'dhl', 'woocommerce-germanized' ),
|
1221 |
+
'type' => 'select',
|
1222 |
+
'default' => '',
|
1223 |
+
'id' => 'woocommerce_gzd_deutsche_post_label_default_product_int',
|
1224 |
+
'desc' => '<div class="wc-gzd-additional-desc">' . _x( 'Please select your default shipping service for cross-border shipments that you want to offer to your customers.', 'dhl', 'woocommerce-germanized' ) . '</div>',
|
1225 |
+
'options' => wc_gzd_dhl_get_deutsche_post_products_international( false, false ),
|
1226 |
+
'class' => 'wc-enhanced-select',
|
1227 |
+
),
|
1228 |
+
);
|
1229 |
+
|
1230 |
+
if ( $for_shipping_method ) {
|
1231 |
+
$settings = self::convert_for_shipping_method( $settings );
|
1232 |
+
}
|
1233 |
+
|
1234 |
+
return $settings;
|
1235 |
+
}
|
1236 |
+
|
1237 |
+
public static function get_internetmarke_automation_settings( $for_shipping_method = false ) {
|
1238 |
+
$shipment_statuses = array_diff_key( wc_gzd_get_shipment_statuses(), array_fill_keys( array( 'gzd-draft', 'gzd-delivered', 'gzd-returned', 'gzd-requested' ), '' ) );
|
1239 |
+
|
1240 |
+
$settings = array(
|
1241 |
+
array(
|
1242 |
+
'title' => _x( 'Labels', 'dhl', 'woocommerce-germanized' ),
|
1243 |
+
'desc' => _x( 'Automatically create labels for shipments.', 'dhl', 'woocommerce-germanized' ),
|
1244 |
+
'id' => 'woocommerce_gzd_deutsche_post_label_auto_enable',
|
1245 |
+
'default' => 'no',
|
1246 |
+
'type' => 'gzd_toggle',
|
1247 |
+
),
|
1248 |
+
|
1249 |
+
array(
|
1250 |
+
'title' => _x( 'Status', 'dhl', 'woocommerce-germanized' ),
|
1251 |
+
'type' => 'select',
|
1252 |
+
'default' => 'gzd-processing',
|
1253 |
+
'id' => 'woocommerce_gzd_deutsche_post_label_auto_shipment_status',
|
1254 |
+
'desc' => '<div class="wc-gzd-additional-desc">' . _x( 'Choose a shipment status which should trigger generation of a label.', 'dhl', 'woocommerce-germanized' ) . '</div>',
|
1255 |
+
'options' => $shipment_statuses,
|
1256 |
+
'class' => 'wc-enhanced-select',
|
1257 |
+
'custom_attributes' => array( 'data-show_if_woocommerce_gzd_deutsche_post_label_auto_enable' => '' )
|
1258 |
+
),
|
1259 |
+
|
1260 |
+
array(
|
1261 |
+
'title' => _x( 'Shipment Status', 'dhl', 'woocommerce-germanized' ),
|
1262 |
+
'desc' => _x( 'Mark shipment as shipped after label has been created successfully.', 'dhl', 'woocommerce-germanized' ),
|
1263 |
+
'id' => 'woocommerce_gzd_deutsche_post_label_auto_shipment_status_shipped',
|
1264 |
+
'default' => 'no',
|
1265 |
+
'type' => 'gzd_toggle',
|
1266 |
+
)
|
1267 |
+
);
|
1268 |
+
|
1269 |
+
if ( $for_shipping_method ) {
|
1270 |
+
$settings = self::convert_for_shipping_method( $settings );
|
1271 |
+
}
|
1272 |
+
|
1273 |
+
return $settings;
|
1274 |
+
}
|
1275 |
+
|
1276 |
+
public static function get_internetmarke_printing_settings( $for_shipping_method = false ) {
|
1277 |
+
$settings_url = self::get_settings_url( 'internetmarke' );
|
1278 |
+
|
1279 |
+
$settings = array(
|
1280 |
+
array(
|
1281 |
+
'title' => _x( 'Default Format', 'dhl', 'woocommerce-germanized' ),
|
1282 |
+
'id' => 'woocommerce_gzd_deutsche_post_label_default_page_format',
|
1283 |
+
'class' => 'wc-enhanced-select',
|
1284 |
+
'desc' => '<div class="wc-gzd-additional-desc">' . sprintf( _x( 'Choose a print format which will be selected by default when creating labels. Manually <a href="%s">refresh</a> available print formats to make sure the list is up-to-date.', 'dhl', 'woocommerce-germanized' ), wp_nonce_url( add_query_arg( array( 'action' => 'wc-gzd-dhl-im-page-formats-refresh' ), $settings_url ), 'wc-gzd-dhl-refresh-im-page-formats' ) ) . '</div>',
|
1285 |
+
'type' => 'select',
|
1286 |
+
'options' => Package::get_internetmarke_api()->get_page_format_list(),
|
1287 |
+
'default' => 1,
|
1288 |
+
),
|
1289 |
+
);
|
1290 |
+
|
1291 |
+
if ( $for_shipping_method ) {
|
1292 |
+
$settings = self::convert_for_shipping_method( $settings );
|
1293 |
+
}
|
1294 |
+
|
1295 |
+
return $settings;
|
1296 |
+
}
|
1297 |
+
|
1298 |
+
protected static function get_internetmarke_settings() {
|
1299 |
+
$settings = self::get_internetmarke_setup_settings( true );
|
1300 |
+
|
1301 |
+
if ( Package::is_internetmarke_enabled() ) {
|
1302 |
+
$api = Package::get_internetmarke_api();
|
1303 |
+
|
1304 |
+
if ( $api && $api->auth() && $api->is_available() ) {
|
1305 |
+
$api->reload_products();
|
1306 |
+
|
1307 |
+
$balance = $api->get_balance( true );
|
1308 |
+
$settings_url = self::get_settings_url( 'internetmarke' );
|
1309 |
+
|
1310 |
+
$settings = array_merge( $settings, array(
|
1311 |
+
array( 'title' => _x( 'Portokasse', 'dhl', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'dhl_internetmarke_portokasse_options' ),
|
1312 |
+
|
1313 |
+
array(
|
1314 |
+
'title' => _x( 'Balance', 'dhl', 'woocommerce-germanized' ),
|
1315 |
+
'type' => 'html',
|
1316 |
+
'id' => 'woocommerce_gzd_dhl_im_portokasse_balance',
|
1317 |
+
'html' => wc_price( Package::cents_to_eur( $balance ), array( 'currency' => 'EUR' ) ),
|
1318 |
+
),
|
1319 |
+
|
1320 |
+
array(
|
1321 |
+
'title' => _x( 'Charge (€)', 'dhl', 'woocommerce-germanized' ),
|
1322 |
+
'type' => 'html',
|
1323 |
+
'id' => 'woocommerce_gzd_dhl_im_portokasse_charge',
|
1324 |
+
'html' => self::get_portokasse_charge_button(),
|
1325 |
+
),
|
1326 |
+
|
1327 |
+
array( 'type' => 'sectionend', 'id' => 'dhl_internetmarke_portokasse_options' )
|
1328 |
+
) );
|
1329 |
+
|
1330 |
+
$settings = array_merge( $settings, array(
|
1331 |
+
array( 'title' => _x( 'Products', 'dhl', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'dhl_internetmarke_product_options' ),
|
1332 |
+
|
1333 |
+
array(
|
1334 |
+
'title' => _x( 'Available Products', 'dhl', 'woocommerce-germanized' ),
|
1335 |
+
'id' => 'woocommerce_gzd_dhl_im_available_products',
|
1336 |
+
'class' => 'wc-enhanced-select',
|
1337 |
+
'desc' => '<div class="wc-gzd-additional-desc">' . sprintf( _x( 'Choose the products you want to be available for your shipments from the list above. Manually <a href="%s">refresh</a> the product list to make sure it is up-to-date.', 'dhl', 'woocommerce-germanized' ), wp_nonce_url( add_query_arg( array( 'action' => 'wc-gzd-dhl-im-product-refresh' ), $settings_url ), 'wc-gzd-dhl-refresh-im-products' ) ) . '</div>',
|
1338 |
+
'type' => 'multiselect',
|
1339 |
+
'options' => self::get_products(),
|
1340 |
+
'default' => self::get_internetmarke_default_available_products(),
|
1341 |
+
),
|
1342 |
+
) );
|
1343 |
+
|
1344 |
+
$products = wc_gzd_dhl_get_deutsche_post_products_domestic( false, false );
|
1345 |
+
|
1346 |
+
if ( ! empty( $products ) ) {
|
1347 |
+
$settings = array_merge( $settings, self::get_internetmarke_default_settings() );
|
1348 |
+
}
|
1349 |
+
|
1350 |
+
$settings = array_merge( $settings, array(
|
1351 |
+
array( 'type' => 'sectionend', 'id' => 'dhl_internetmarke_product_options' ),
|
1352 |
+
array( 'title' => _x( 'Printing', 'dhl', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'dhl_internetmarke_print_options' ),
|
1353 |
+
) );
|
1354 |
+
|
1355 |
+
$settings = array_merge( $settings, self::get_internetmarke_printing_settings() );
|
1356 |
+
|
1357 |
+
$settings = array_merge( $settings, array(
|
1358 |
+
array( 'type' => 'sectionend', 'id' => 'dhl_internetmarke_print_options' )
|
1359 |
+
) );
|
1360 |
+
} elseif ( $api->has_errors() ) {
|
1361 |
+
$settings = array_merge( $settings, array(
|
1362 |
+
array( 'title' => _x( 'API Error', 'dhl', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'dhl_internetmarke_api_error', 'desc' => '<div class="notice inline notice-error"><p>' . implode( ", ", $api->get_errors()->get_error_messages() ) . '</p></div>' ),
|
1363 |
+
array( 'type' => 'sectionend', 'id' => 'dhl_internetmarke_api_error' )
|
1364 |
+
) );
|
1365 |
+
}
|
1366 |
+
}
|
1367 |
+
|
1368 |
+
$settings = array_merge( $settings, array(
|
1369 |
+
array( 'title' => _x( 'Automation', 'dhl', 'woocommerce-germanized' ), 'type' => 'title', 'id' => 'dhl_internetmarke_auto_options' ),
|
1370 |
+
) );
|
1371 |
+
|
1372 |
+
$settings = array_merge( $settings, self::get_internetmarke_automation_settings() );
|
1373 |
+
|
1374 |
+
$settings = array_merge( $settings, array(
|
1375 |
+
array( 'type' => 'sectionend', 'id' => 'dhl_internetmarke_auto_options' )
|
1376 |
+
) );
|
1377 |
+
|
1378 |
+
return $settings;
|
1379 |
+
}
|
1380 |
+
|
1381 |
+
public static function get_settings_url( $section = '' ) {
|
1382 |
+
return admin_url( 'admin.php?page=wc-settings&tab=germanized-dhl§ion=' . $section );
|
1383 |
+
}
|
1384 |
+
|
1385 |
+
protected static function get_internetmarke_default_available_products() {
|
1386 |
+
return array(
|
1387 |
+
'11',
|
1388 |
+
'21',
|
1389 |
+
'31',
|
1390 |
+
'282',
|
1391 |
+
'290',
|
1392 |
+
'10246',
|
1393 |
+
'10247',
|
1394 |
+
'10248',
|
1395 |
+
'10249',
|
1396 |
+
'10254',
|
1397 |
+
'10255',
|
1398 |
+
'10256',
|
1399 |
+
'10257',
|
1400 |
+
);
|
1401 |
+
}
|
1402 |
+
|
1403 |
+
protected static function get_products() {
|
1404 |
+
$products = Package::get_internetmarke_api()->get_products();
|
1405 |
+
$options = wc_gzd_dhl_im_get_product_list( $products, false );
|
1406 |
+
|
1407 |
+
return $options;
|
1408 |
+
}
|
1409 |
+
|
1410 |
+
protected static function get_portokasse_charge_button() {
|
1411 |
+
if ( ! Package::get_internetmarke_api()->get_user() ) {
|
1412 |
+
return '';
|
1413 |
+
}
|
1414 |
+
|
1415 |
+
$balance = Package::get_internetmarke_api()->get_balance();
|
1416 |
+
$user_token = Package::get_internetmarke_api()->get_user()->getUserToken();
|
1417 |
+
$settings_url = self::get_settings_url( 'internetmarke' );
|
1418 |
+
|
1419 |
+
$html = '
|
1420 |
+
<input type="text" placeholder="10.00" style="max-width: 150px; margin-right: 10px;" class="wc-input-price short" name="woocommerce_gzd_dhl_im_portokasse_charge_amount" id="woocommerce_gzd_dhl_im_portokasse_charge_amount" />
|
1421 |
+
<a id="woocommerce_gzd_dhl_im_portokasse_charge" class="button button-secondary" data-url="https://portokasse.deutschepost.de/portokasse/marketplace/enter-app-payment" data-success_url="' . esc_url( add_query_arg( array( 'wallet-charge-success' => 'yes' ), $settings_url ) ) . '" data-cancel_url="' . esc_url( add_query_arg( array( 'wallet-charge-success' => 'no' ), $settings_url ) ) . '" data-partner_id="' . esc_attr( Package::get_internetmarke_partner_id() ) . '" data-key_phase="' . esc_attr( Package::get_internetmarke_key_phase() ) . '" data-user_token="' . esc_attr( $user_token ) . '" data-schluessel_dpwn_partner="' . esc_attr( Package::get_internetmarke_token() ) . '" data-wallet="' . esc_attr( $balance ) . '">' . _x( 'Charge Portokasse', 'dhl', 'woocommerce-germanized' ) . '</a>
|
1422 |
+
<p class="description">' . sprintf( _x( 'The minimum amount is %s', 'dhl', 'woocommerce-germanized' ), wc_price( 10, array( 'currency' => 'EUR' ) ) ) . '</p>
|
1423 |
+
';
|
1424 |
+
|
1425 |
+
return $html;
|
1426 |
+
}
|
1427 |
+
|
1428 |
+
public static function get_new_customer_label( $current_section = '' ) {
|
1429 |
+
$label = '';
|
1430 |
+
|
1431 |
+
if ( empty( $current_section ) ) {
|
1432 |
+
$label = '<a href="https://www.dhl.de/de/geschaeftskunden/paket/kunde-werden/angebot-dhl-geschaeftskunden-online.html" class="page-title-action" target="_blank">' . _x( 'Not yet a customer?', 'dhl', 'woocommerce-germanized' ) . '</a>';
|
1433 |
+
} elseif( 'internetmarke' === $current_section ) {
|
1434 |
+
$label = '<a href="https://portokasse.deutschepost.de/portokasse/#!/register/" class="page-title-action" target="_blank">' . _x( 'Not yet a customer?', 'dhl', 'woocommerce-germanized' ) . '</a>';
|
1435 |
+
}
|
1436 |
+
|
1437 |
+
return $label;
|
1438 |
+
}
|
1439 |
+
|
1440 |
public static function get_settings( $current_section = '' ) {
|
1441 |
$settings = array();
|
1442 |
|
1448 |
$settings = self::get_service_settings();
|
1449 |
} elseif( 'pickup' === $current_section && Package::base_country_supports( 'pickup' ) ) {
|
1450 |
$settings = self::get_pickup_settings();
|
1451 |
+
} elseif( 'internetmarke' === $current_section ) {
|
1452 |
+
$settings = self::get_internetmarke_settings();
|
1453 |
}
|
1454 |
|
1455 |
return $settings;
|
1457 |
|
1458 |
public static function get_sections() {
|
1459 |
$sections = array(
|
1460 |
+
'' => _x( 'DHL', 'dhl', 'woocommerce-germanized' ),
|
1461 |
+
'labels' => _x( 'DHL Labels', 'dhl', 'woocommerce-germanized' ),
|
1462 |
+
'internetmarke' => _x( 'Internetmarke', 'dhl', 'woocommerce-germanized' ),
|
1463 |
+
'services' => _x( 'Preferred Services', 'dhl', 'woocommerce-germanized' ),
|
1464 |
+
'pickup' => _x( 'Parcel Pickup', 'dhl', 'woocommerce-germanized' ),
|
1465 |
);
|
1466 |
|
1467 |
if ( ! Package::base_country_supports( 'services' ) ) {
|
packages/woocommerce-germanized-dhl/src/Ajax.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* WC_Ajax class.
|
7 |
+
*/
|
8 |
+
class Ajax {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Hook in ajax handlers.
|
12 |
+
*/
|
13 |
+
public static function init() {
|
14 |
+
self::add_ajax_events();
|
15 |
+
}
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Hook in methods - uses WordPress ajax handlers (admin-ajax).
|
19 |
+
*/
|
20 |
+
public static function add_ajax_events() {
|
21 |
+
|
22 |
+
$ajax_events = array(
|
23 |
+
'refresh_deutsche_post_label_preview',
|
24 |
+
);
|
25 |
+
|
26 |
+
foreach ( $ajax_events as $ajax_event ) {
|
27 |
+
add_action( 'wp_ajax_woocommerce_gzd_dhl_' . $ajax_event, array( __CLASS__, 'suppress_errors' ), 5 );
|
28 |
+
add_action( 'wp_ajax_woocommerce_gzd_dhl_' . $ajax_event, array( __CLASS__, $ajax_event ) );
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
public static function suppress_errors() {
|
33 |
+
if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
|
34 |
+
@ini_set( 'display_errors', 0 ); // Turn off display_errors during AJAX events to prevent malformed JSON.
|
35 |
+
}
|
36 |
+
|
37 |
+
$GLOBALS['wpdb']->hide_errors();
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
*
|
42 |
+
*/
|
43 |
+
public static function refresh_deutsche_post_label_preview() {
|
44 |
+
check_ajax_referer( 'wc-gzd-dhl-refresh-deutsche-post-label-preview', 'security' );
|
45 |
+
|
46 |
+
if ( ! current_user_can( 'edit_shop_orders' ) || ! isset( $_POST['product_id'] ) ) {
|
47 |
+
wp_die( -1 );
|
48 |
+
}
|
49 |
+
|
50 |
+
$selected_services = isset( $_POST['selected_services'] ) ? wc_clean( $_POST['selected_services'] ) : array();
|
51 |
+
$im_product_id = absint( $_POST['product_id'] );
|
52 |
+
$product_id = 0;
|
53 |
+
$is_wp_int = false;
|
54 |
+
$response = array(
|
55 |
+
'success' => true,
|
56 |
+
'preview_url' => '',
|
57 |
+
'preview_data' => array(),
|
58 |
+
'fragments' => array(),
|
59 |
+
);
|
60 |
+
|
61 |
+
if ( ! empty( $im_product_id ) ) {
|
62 |
+
$product_id = Package::get_internetmarke_api()->get_product_id( $im_product_id );
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Refresh im product id by selected services.
|
66 |
+
*/
|
67 |
+
$im_product_id = Package::get_internetmarke_api()->get_product_code( $im_product_id, $selected_services );
|
68 |
+
$preview_url = Package::get_internetmarke_api()->preview_stamp( $im_product_id );
|
69 |
+
$preview_data = Package::get_internetmarke_api()->get_product_preview_data( $im_product_id );
|
70 |
+
$is_wp_int = Package::get_internetmarke_api()->is_warenpost_international( $im_product_id );
|
71 |
+
|
72 |
+
if ( $preview_url ) {
|
73 |
+
$response['preview_url'] = $preview_url;
|
74 |
+
$response['preview_data'] = $preview_data;
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
ob_start();
|
79 |
+
include( Package::get_path() . '/includes/admin/views/html-deutsche-post-additional-services.php' );
|
80 |
+
$html = ob_get_clean();
|
81 |
+
|
82 |
+
$response['is_wp_int'] = $is_wp_int;
|
83 |
+
$response['fragments']['.wc-gzd-shipment-im-additional-services'] = '<div class="wc-gzd-shipment-im-additional-services">' . $html . '</div>';
|
84 |
+
|
85 |
+
wp_send_json( $response );
|
86 |
+
}
|
87 |
+
}
|
packages/woocommerce-germanized-dhl/src/Api/ImProductList.php
ADDED
@@ -0,0 +1,486 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL\Api;
|
4 |
+
|
5 |
+
use Vendidero\Germanized\DHL\Package;
|
6 |
+
|
7 |
+
defined( 'ABSPATH' ) || exit;
|
8 |
+
|
9 |
+
/**
|
10 |
+
* DHL Shipment class.
|
11 |
+
*/
|
12 |
+
class ImProductList {
|
13 |
+
|
14 |
+
protected $products = null;
|
15 |
+
|
16 |
+
protected $available_products = null;
|
17 |
+
|
18 |
+
public function __construct() {}
|
19 |
+
|
20 |
+
public function get_products( $filters = array() ) {
|
21 |
+
if ( is_null( $this->products ) ) {
|
22 |
+
$this->load_products();
|
23 |
+
}
|
24 |
+
|
25 |
+
$products = $this->products;
|
26 |
+
|
27 |
+
return $this->filter_products( $products, $filters );
|
28 |
+
}
|
29 |
+
|
30 |
+
protected function load_products() {
|
31 |
+
global $wpdb;
|
32 |
+
|
33 |
+
$products = $wpdb->get_results( "SELECT * FROM {$wpdb->gzd_dhl_im_products}" );
|
34 |
+
|
35 |
+
$this->products = $products;
|
36 |
+
}
|
37 |
+
|
38 |
+
protected function load_available_products() {
|
39 |
+
global $wpdb;
|
40 |
+
|
41 |
+
$available_products = Package::get_setting( 'im_available_products' );
|
42 |
+
|
43 |
+
if ( ! empty( $available_products ) ) {
|
44 |
+
$available_products = array_filter( array_map( 'absint', $available_products ) );
|
45 |
+
} else {
|
46 |
+
$available_products = array();
|
47 |
+
}
|
48 |
+
|
49 |
+
$available_products = array_map( function( $p ) {
|
50 |
+
return "'" . esc_sql( $p ) . "'";
|
51 |
+
}, $available_products );
|
52 |
+
|
53 |
+
$available_products = implode( ',', $available_products );
|
54 |
+
|
55 |
+
$products = $wpdb->get_results( "SELECT * FROM {$wpdb->gzd_dhl_im_products} WHERE product_code IN ($available_products)" );
|
56 |
+
|
57 |
+
$this->available_products = $products;
|
58 |
+
}
|
59 |
+
|
60 |
+
public function get_product_services( $product_id ) {
|
61 |
+
global $wpdb;
|
62 |
+
|
63 |
+
$services = array();
|
64 |
+
$results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->gzd_dhl_im_product_services} WHERE product_service_product_id = %d", $product_id ) );
|
65 |
+
|
66 |
+
if ( ! empty( $results ) ) {
|
67 |
+
foreach( $results as $result ) {
|
68 |
+
$services[] = $result->product_service_slug;
|
69 |
+
}
|
70 |
+
}
|
71 |
+
|
72 |
+
return $services;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Returns available service slugs for a certain (parent) product.
|
77 |
+
*
|
78 |
+
* In case additional services chosen are supplied, only those services (e.g. Zusatzentgelt MBf which is only available if EINSCHREIBEN has been selected)
|
79 |
+
* are added which are compatible with the current selection.
|
80 |
+
*
|
81 |
+
* @param $parent_id
|
82 |
+
* @param array $services
|
83 |
+
*
|
84 |
+
* @return string[]
|
85 |
+
*/
|
86 |
+
public function get_services_for_product( $parent_id, $services = array() ) {
|
87 |
+
global $wpdb;
|
88 |
+
|
89 |
+
$query = "SELECT * FROM {$wpdb->gzd_dhl_im_products}";
|
90 |
+
$count = 1;
|
91 |
+
|
92 |
+
if ( empty( $services ) ) {
|
93 |
+
$query .= " INNER JOIN {$wpdb->gzd_dhl_im_product_services} S{$count} ON {$wpdb->gzd_dhl_im_products}.product_id = S{$count}.product_service_product_id";
|
94 |
+
} else {
|
95 |
+
foreach( $services as $service ) {
|
96 |
+
$count++;
|
97 |
+
|
98 |
+
$query .= $wpdb->prepare( " INNER JOIN {$wpdb->gzd_dhl_im_product_services} S{$count} ON {$wpdb->gzd_dhl_im_products}.product_id = S{$count}.product_service_product_id AND S{$count}.product_service_slug = %s", $service );
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
$query .= $wpdb->prepare(" WHERE {$wpdb->gzd_dhl_im_products}.product_parent_id = %d", $parent_id );
|
103 |
+
|
104 |
+
if ( empty( $services ) ) {
|
105 |
+
$query .= $wpdb->prepare(" AND {$wpdb->gzd_dhl_im_products}.product_service_count = %d", 1 );
|
106 |
+
}
|
107 |
+
|
108 |
+
$results = $wpdb->get_results( $query );
|
109 |
+
$available_services = array();
|
110 |
+
|
111 |
+
if ( ! empty( $results ) ) {
|
112 |
+
foreach( $results as $result ) {
|
113 |
+
$product_id = $result->product_id;
|
114 |
+
$product_services = $wpdb->get_results( $wpdb->prepare( "SELECT product_service_slug FROM {$wpdb->gzd_dhl_im_product_services} WHERE {$wpdb->gzd_dhl_im_product_services}.product_service_product_id = %d", $product_id ) );
|
115 |
+
|
116 |
+
if ( ! empty( $product_services ) ) {
|
117 |
+
foreach( $product_services as $product_service ) {
|
118 |
+
$service_slug = $product_service->product_service_slug;
|
119 |
+
|
120 |
+
if ( ! in_array( $service_slug, $available_services ) ) {
|
121 |
+
$available_services[] = $service_slug;
|
122 |
+
}
|
123 |
+
}
|
124 |
+
}
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
return $available_services;
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* Returns the product id based on a list of services.
|
133 |
+
* In case no services are supplied, the main product is returned.
|
134 |
+
*
|
135 |
+
* @param $parent_id
|
136 |
+
* @param $services
|
137 |
+
*
|
138 |
+
* @return object|false
|
139 |
+
*/
|
140 |
+
public function get_product_data_by_services( $parent_id, $services = array() ) {
|
141 |
+
global $wpdb;
|
142 |
+
|
143 |
+
$product_data = $this->get_product_data( $parent_id );
|
144 |
+
|
145 |
+
if ( empty( $product_data ) && $product_data->product_parent_id > 0 ) {
|
146 |
+
$parent_id = $product_data->product_parent_id;
|
147 |
+
}
|
148 |
+
|
149 |
+
$query = "SELECT * FROM {$wpdb->gzd_dhl_im_products}";
|
150 |
+
$count = 0;
|
151 |
+
|
152 |
+
if ( ! empty( $services ) ) {
|
153 |
+
foreach( $services as $service ) {
|
154 |
+
$count++;
|
155 |
+
$query .= $wpdb->prepare( " INNER JOIN {$wpdb->gzd_dhl_im_product_services} S{$count} ON {$wpdb->gzd_dhl_im_products}.product_id = S{$count}.product_service_product_id AND S{$count}.product_service_slug = %s", $service );
|
156 |
+
}
|
157 |
+
|
158 |
+
$all_services = array_map( function( $p ) {
|
159 |
+
return "'" . esc_sql( $p ) . "'";
|
160 |
+
}, $services );
|
161 |
+
|
162 |
+
$all_services = implode( ',', $all_services );
|
163 |
+
|
164 |
+
// Add a left join which must be NULL making sure that no other services are linked to that product.
|
165 |
+
$query .= " LEFT JOIN {$wpdb->gzd_dhl_im_product_services} S ON {$wpdb->gzd_dhl_im_products}.product_id = S.product_service_product_id AND S.product_service_slug NOT IN ($all_services)";
|
166 |
+
$query .= $wpdb->prepare(" WHERE {$wpdb->gzd_dhl_im_products}.product_parent_id = %d AND S.product_service_id IS NULL LIMIT 1", $parent_id );
|
167 |
+
} else {
|
168 |
+
$query .= $wpdb->prepare(" WHERE {$wpdb->gzd_dhl_im_products}.product_id = %d AND {$wpdb->gzd_dhl_im_products}.product_parent_id = %d LIMIT 1", $parent_id, 0 );
|
169 |
+
}
|
170 |
+
|
171 |
+
$result = $wpdb->get_row( $query );
|
172 |
+
|
173 |
+
if ( ! empty( $result ) ) {
|
174 |
+
return $result;
|
175 |
+
} else {
|
176 |
+
return false;
|
177 |
+
}
|
178 |
+
}
|
179 |
+
|
180 |
+
public function get_available_products( $filters = array() ) {
|
181 |
+
if ( is_null( $this->available_products ) ) {
|
182 |
+
$this->load_available_products();
|
183 |
+
}
|
184 |
+
|
185 |
+
$products = $this->available_products;
|
186 |
+
|
187 |
+
return $this->filter_products( $products, $filters );
|
188 |
+
}
|
189 |
+
|
190 |
+
protected function filter_products( $products, $filters = array() ) {
|
191 |
+
$shipment_weight = false;
|
192 |
+
|
193 |
+
if ( array_key_exists( 'shipment_weight', $filters ) ) {
|
194 |
+
$shipment_weight = $filters['shipment_weight'];
|
195 |
+
|
196 |
+
unset( $filters['shipment_weight'] );
|
197 |
+
}
|
198 |
+
|
199 |
+
$products = wp_list_filter( $products, $filters );
|
200 |
+
|
201 |
+
if ( false !== $shipment_weight ) {
|
202 |
+
foreach( $products as $key => $product ) {
|
203 |
+
if ( 0 !== $product->product_weight_min ) {
|
204 |
+
if ( $product->product_weight_min > $shipment_weight ) {
|
205 |
+
unset( $products[ $key ] );
|
206 |
+
continue;
|
207 |
+
}
|
208 |
+
}
|
209 |
+
|
210 |
+
if ( 0 !== $product->product_weight_max ) {
|
211 |
+
if ( $product->product_weight_max < $shipment_weight ) {
|
212 |
+
unset( $products[ $key ] );
|
213 |
+
continue;
|
214 |
+
}
|
215 |
+
}
|
216 |
+
}
|
217 |
+
}
|
218 |
+
|
219 |
+
return array_values( $products );
|
220 |
+
}
|
221 |
+
|
222 |
+
public function get_base_products() {
|
223 |
+
return self::get_products( array( 'product_parent_id' => 0 ) );
|
224 |
+
}
|
225 |
+
|
226 |
+
public function get_product_data_by_code( $product_code ) {
|
227 |
+
global $wpdb;
|
228 |
+
|
229 |
+
$product = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->gzd_dhl_im_products} WHERE product_code = %s", $product_code ) );
|
230 |
+
|
231 |
+
return $product;
|
232 |
+
}
|
233 |
+
|
234 |
+
public function get_product_data( $product_id ) {
|
235 |
+
global $wpdb;
|
236 |
+
|
237 |
+
$product = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->gzd_dhl_im_products} WHERE product_id = %d", $product_id ) );
|
238 |
+
|
239 |
+
return $product;
|
240 |
+
}
|
241 |
+
|
242 |
+
private function get_information_text( $stamp_type ) {
|
243 |
+
$information_text = '';
|
244 |
+
|
245 |
+
foreach ( $stamp_type as $stamp ) {
|
246 |
+
if ( $stamp->name == 'Internetmarke' ) {
|
247 |
+
foreach ( $stamp->propertyList as $properties ) {
|
248 |
+
foreach ( $properties as $property ) {
|
249 |
+
if ( $property->name == 'InformationText' ) {
|
250 |
+
$information_text = $property->propertyValue->alphanumericValue->fixValue;
|
251 |
+
}
|
252 |
+
}
|
253 |
+
}
|
254 |
+
}
|
255 |
+
}
|
256 |
+
|
257 |
+
return $information_text;
|
258 |
+
}
|
259 |
+
|
260 |
+
protected function get_dimensions( $dimensions, $type = 'width' ) {
|
261 |
+
$data = array(
|
262 |
+
"product_{$type}_min" => null,
|
263 |
+
"product_{$type}_max" => null,
|
264 |
+
"product_{$type}_unit" => null,
|
265 |
+
);
|
266 |
+
|
267 |
+
if ( property_exists( $dimensions, $type ) ) {
|
268 |
+
$d = $dimensions->{ $type };
|
269 |
+
|
270 |
+
$data["product_{$type}_min"] = property_exists( $d, 'minValue' ) ? $d->minValue : null;
|
271 |
+
$data["product_{$type}_max"] = property_exists( $d, 'maxValue' ) ? $d->maxValue : null;
|
272 |
+
$data["product_{$type}_unit"] = property_exists( $d, 'unit' ) ? $d->unit : null;
|
273 |
+
}
|
274 |
+
|
275 |
+
return $data;
|
276 |
+
}
|
277 |
+
|
278 |
+
public function get_additional_services() {
|
279 |
+
return array(
|
280 |
+
'PRIO' => _x( 'PRIO', 'dhl', 'woocommerce-germanized' ),
|
281 |
+
'ESEW' => _x( 'Einschreiben (Einwurf)', 'dhl', 'woocommerce-germanized' ),
|
282 |
+
'ESCH' => _x( 'Einschreiben', 'dhl', 'woocommerce-germanized' ),
|
283 |
+
'ESEH' => _x( 'Einschreiben (Eigenhändig)', 'dhl', 'woocommerce-germanized' ),
|
284 |
+
'AS16' => _x( 'Alterssichtprüfung 16', 'dhl', 'woocommerce-germanized' ),
|
285 |
+
'AS18' => _x( 'Alterssichtprüfung 18', 'dhl', 'woocommerce-germanized' ),
|
286 |
+
'ZMBF' => _x( 'Zusatzentgelt MBf', 'dhl', 'woocommerce-germanized' ),
|
287 |
+
'USFT' => _x( 'Unterschrift', 'dhl', 'woocommerce-germanized' ),
|
288 |
+
'TRCK' => _x( 'Tracked', 'dhl', 'woocommerce-germanized' ),
|
289 |
+
);
|
290 |
+
}
|
291 |
+
|
292 |
+
public function get_additional_service_title( $service ) {
|
293 |
+
$services = $this->get_additional_services();
|
294 |
+
|
295 |
+
return array_key_exists( $service, $services ) ? $services[ $service ] : '';
|
296 |
+
}
|
297 |
+
|
298 |
+
protected function get_additional_service_identifiers() {
|
299 |
+
return array(
|
300 |
+
'+ einschreiben einwurf' => 'ESEW',
|
301 |
+
'+ einschreiben + einwurf' => 'ESEW',
|
302 |
+
'+ einschreiben + eigenhändig' => 'ESEH',
|
303 |
+
'+ einschreiben' => 'ESCH',
|
304 |
+
'+ zusatzentgelt mbf' => 'ZMBF',
|
305 |
+
'+ prio' => 'PRIO',
|
306 |
+
'unterschrift' => 'USFT',
|
307 |
+
'tracked' => 'TRCK',
|
308 |
+
);
|
309 |
+
}
|
310 |
+
|
311 |
+
protected function is_additional_service( $slug ) {
|
312 |
+
$service_slug = $this->get_product_service_slugs( $slug );
|
313 |
+
|
314 |
+
return ! empty( $service_slug ) ? true : false;
|
315 |
+
}
|
316 |
+
|
317 |
+
protected function get_product_base_slug( $slug ) {
|
318 |
+
$additional_services = $this->get_additional_service_identifiers();
|
319 |
+
$slug = str_replace( 'integral', '', $slug );
|
320 |
+
|
321 |
+
foreach( array_keys( $additional_services ) as $identifier ) {
|
322 |
+
$slug = str_replace( $identifier, ' ', $slug );
|
323 |
+
}
|
324 |
+
|
325 |
+
return $this->sanitize_product_slug( $slug );
|
326 |
+
}
|
327 |
+
|
328 |
+
protected function get_product_service_slugs( $slug ) {
|
329 |
+
$service_slugs = array();
|
330 |
+
$has_einschreiben = false;
|
331 |
+
|
332 |
+
foreach( $this->get_additional_service_identifiers() as $identifier => $service ) {
|
333 |
+
if ( strpos( $slug, $identifier ) !== false ) {
|
334 |
+
if ( strpos( $identifier, 'einschreiben' ) !== false ) {
|
335 |
+
if ( ! $has_einschreiben ) {
|
336 |
+
$has_einschreiben = true;
|
337 |
+
$service_slugs[] = $service;
|
338 |
+
}
|
339 |
+
} elseif( strpos( $slug, $identifier ) !== false ) {
|
340 |
+
$service_slugs[] = $service;
|
341 |
+
}
|
342 |
+
}
|
343 |
+
}
|
344 |
+
|
345 |
+
return array_unique( $service_slugs );
|
346 |
+
}
|
347 |
+
|
348 |
+
protected function sanitize_product_slug( $product_name ) {
|
349 |
+
$product_name = trim( mb_strtolower( $product_name ) );
|
350 |
+
|
351 |
+
// Remove duplicate whitespaces
|
352 |
+
$product_name = preg_replace( '/\s+/', ' ', $product_name );
|
353 |
+
|
354 |
+
return $product_name;
|
355 |
+
}
|
356 |
+
|
357 |
+
public function update() {
|
358 |
+
global $wpdb;
|
359 |
+
|
360 |
+
$product_soap = new ImProductsSoap();
|
361 |
+
$result = new \WP_Error();
|
362 |
+
|
363 |
+
try {
|
364 |
+
$product_list = $product_soap->getProducts();
|
365 |
+
|
366 |
+
$wpdb->query( "TRUNCATE TABLE {$wpdb->gzd_dhl_im_products}" );
|
367 |
+
$wpdb->query( "TRUNCATE TABLE {$wpdb->gzd_dhl_im_product_services}" );
|
368 |
+
|
369 |
+
$products = array(
|
370 |
+
'sales' => $product_list->Response->salesProductList->SalesProduct,
|
371 |
+
'additional' => $product_list->Response->additionalProductList->AdditionalProduct,
|
372 |
+
'basic' => $product_list->Response->basicProductList->BasicProduct
|
373 |
+
);
|
374 |
+
|
375 |
+
$products_with_additional_service = array();
|
376 |
+
|
377 |
+
foreach( $products as $product_type => $inner_products ) {
|
378 |
+
foreach( $inner_products as $product ) {
|
379 |
+
|
380 |
+
$extended_identifier = $product->extendedIdentifier;
|
381 |
+
$extern_identifier = property_exists( $extended_identifier, 'externIdentifier' ) ? $extended_identifier->externIdentifier[0] : new \stdClass();
|
382 |
+
|
383 |
+
if ( ! property_exists( $extern_identifier, 'id' ) || empty( $extern_identifier->id ) ) {
|
384 |
+
continue;
|
385 |
+
}
|
386 |
+
|
387 |
+
$to_insert = array(
|
388 |
+
'product_im_id' => $extended_identifier->{'ProdWS-ID'},
|
389 |
+
'product_code' => property_exists( $extern_identifier, 'id' ) ? $extern_identifier->id : $extended_identifier->{'ProdWS-ID'},
|
390 |
+
'product_name' => property_exists( $extern_identifier, 'name' ) ? $extern_identifier->name : $extended_identifier->name,
|
391 |
+
'product_type' => $product_type,
|
392 |
+
'product_annotation' => property_exists( $extended_identifier, 'annotation' ) ? $extended_identifier->annotation : '',
|
393 |
+
'product_description' => property_exists( $extended_identifier, 'description' ) ? $extended_identifier->description : '',
|
394 |
+
'product_destination' => $extended_identifier->destination,
|
395 |
+
'product_price' => property_exists( $product->priceDefinition, 'price' ) ? Package::eur_to_cents( $product->priceDefinition->price->calculatedGrossPrice->value ) : Package::eur_to_cents( $product->priceDefinition->grossPrice->value ),
|
396 |
+
'product_information_text' => property_exists( $product, 'stampTypeList' ) ? $this->get_information_text( (array) $product->stampTypeList->stampType ) : '',
|
397 |
+
'product_is_wp_int' => false,
|
398 |
+
);
|
399 |
+
|
400 |
+
$product_slug = $this->sanitize_product_slug( $to_insert['product_name'] );
|
401 |
+
|
402 |
+
/**
|
403 |
+
* Exclude national Warenpost as this service won't be available
|
404 |
+
* in the future (only via DHL).
|
405 |
+
*/
|
406 |
+
if ( strpos( $product_slug, 'warenpost' ) !== false && 'international' !== $to_insert['product_destination'] ) {
|
407 |
+
continue;
|
408 |
+
}
|
409 |
+
|
410 |
+
/**
|
411 |
+
* Warenpost International
|
412 |
+
*/
|
413 |
+
if ( strpos( $product_slug, 'warenpost' ) !== false ) {
|
414 |
+
$to_insert['product_is_wp_int'] = 1;
|
415 |
+
}
|
416 |
+
|
417 |
+
/**
|
418 |
+
* EU Warenpost
|
419 |
+
*/
|
420 |
+
if ( strpos( $product_slug, 'warenpost' ) !== false && strpos( $product_slug, '(eu' ) !== false ) {
|
421 |
+
$to_insert['product_destination'] = 'eu';
|
422 |
+
}
|
423 |
+
|
424 |
+
if ( property_exists( $product, 'dimensionList' ) ) {
|
425 |
+
$dimensions = $product->dimensionList;
|
426 |
+
|
427 |
+
$to_insert = array_merge( $to_insert, $this->get_dimensions( $dimensions, 'width' ) );
|
428 |
+
$to_insert = array_merge( $to_insert, $this->get_dimensions( $dimensions, 'height' ) );
|
429 |
+
$to_insert = array_merge( $to_insert, $this->get_dimensions( $dimensions, 'length' ) );
|
430 |
+
}
|
431 |
+
|
432 |
+
if ( property_exists( $product, 'weight' ) ) {
|
433 |
+
$to_insert = array_merge( $to_insert, $this->get_dimensions( $product, 'weight' ) );
|
434 |
+
}
|
435 |
+
|
436 |
+
$to_insert['product_slug'] = $this->sanitize_product_slug( $to_insert['product_name'] );
|
437 |
+
|
438 |
+
$to_insert = array_map( 'wc_clean', $to_insert );
|
439 |
+
|
440 |
+
/**
|
441 |
+
* Skip product creation if this is an additional service
|
442 |
+
*/
|
443 |
+
if ( $this->is_additional_service( $to_insert['product_slug'] ) ) {
|
444 |
+
$products_with_additional_service[] = $to_insert;
|
445 |
+
|
446 |
+
continue;
|
447 |
+
}
|
448 |
+
|
449 |
+
$wpdb->insert( $wpdb->gzd_dhl_im_products, $to_insert );
|
450 |
+
}
|
451 |
+
}
|
452 |
+
|
453 |
+
foreach( $products_with_additional_service as $product_to_insert ) {
|
454 |
+
$product_base_slug = $this->get_product_base_slug( $product_to_insert['product_slug'] );
|
455 |
+
$parent_product = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->gzd_dhl_im_products} WHERE product_slug = %s", $product_base_slug ) );
|
456 |
+
$service_slugs = $this->get_product_service_slugs( $product_to_insert['product_slug'] );
|
457 |
+
|
458 |
+
if ( ! empty( $parent_product ) && ! empty( $service_slugs ) ) {
|
459 |
+
$product_to_insert['product_parent_id'] = $parent_product->product_id;
|
460 |
+
$product_to_insert['product_service_count'] = sizeof( $service_slugs );
|
461 |
+
}
|
462 |
+
|
463 |
+
$wpdb->insert( $wpdb->gzd_dhl_im_products, $product_to_insert );
|
464 |
+
|
465 |
+
$product_id = $wpdb->insert_id;
|
466 |
+
|
467 |
+
if ( $product_id && ! empty( $parent_product ) && ! empty( $service_slugs ) ) {
|
468 |
+
foreach( $service_slugs as $service_slug ) {
|
469 |
+
$service_insert = array(
|
470 |
+
'product_service_product_id' => $product_id,
|
471 |
+
'product_service_product_parent_id' => $parent_product->product_id,
|
472 |
+
'product_service_slug' => $service_slug,
|
473 |
+
);
|
474 |
+
|
475 |
+
$wpdb->insert( $wpdb->gzd_dhl_im_product_services, $service_insert );
|
476 |
+
}
|
477 |
+
}
|
478 |
+
}
|
479 |
+
|
480 |
+
} catch( \Exception $e ) {
|
481 |
+
$result->add( 'soap', $e->getMessage() );
|
482 |
+
}
|
483 |
+
|
484 |
+
return wc_gzd_dhl_wp_error_has_errors( $result ) ? $result : true;
|
485 |
+
}
|
486 |
+
}
|
packages/woocommerce-germanized-dhl/src/Api/ImProductsSoap.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL\Api;
|
4 |
+
|
5 |
+
use Vendidero\Germanized\DHL\Package;
|
6 |
+
use WsdlToPhp\WsSecurity\WsSecurity;
|
7 |
+
|
8 |
+
defined( 'ABSPATH' ) || exit;
|
9 |
+
|
10 |
+
class ImProductsSoap extends \SoapClient {
|
11 |
+
|
12 |
+
public function __construct( $options = array(), $wsdl = null ) {
|
13 |
+
$options = array_merge( array( 'features' => SOAP_SINGLE_ELEMENT_ARRAYS ), $options );
|
14 |
+
|
15 |
+
if ( $wsdl === null ) {
|
16 |
+
$wsdl = 'https://prodws.deutschepost.de:8443/ProdWSProvider_1_1/prodws?wsdl';
|
17 |
+
}
|
18 |
+
|
19 |
+
parent::__construct( $wsdl, $options );
|
20 |
+
|
21 |
+
$this->__setSoapHeaders( $this->get_headers() );
|
22 |
+
}
|
23 |
+
|
24 |
+
protected function get_headers() {
|
25 |
+
return WsSecurity::createWsSecuritySoapHeader( Package::get_internetmarke_product_username(), Package::get_internetmarke_product_password() );
|
26 |
+
}
|
27 |
+
|
28 |
+
public function getProducts( $dedicatedProducts = 1 ) {
|
29 |
+
return $this->__soapCall(
|
30 |
+
'getProductList',
|
31 |
+
array(
|
32 |
+
'getProductListRequest' => array(
|
33 |
+
'mandantID' => Package::get_internetmarke_product_mandant_id(),
|
34 |
+
'dedicatedProducts' => $dedicatedProducts,
|
35 |
+
'responseMode' => 0
|
36 |
+
)
|
37 |
+
)
|
38 |
+
);
|
39 |
+
}
|
40 |
+
}
|
packages/woocommerce-germanized-dhl/src/Api/ImRefundSoap.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL\Api;
|
4 |
+
|
5 |
+
use baltpeter\Internetmarke\PartnerInformation;
|
6 |
+
use baltpeter\Internetmarke\User;
|
7 |
+
use Vendidero\Germanized\DHL\Package;
|
8 |
+
|
9 |
+
class ImRefundSoap extends \SoapClient {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Service constructor.
|
13 |
+
*
|
14 |
+
* @param $partner_information PartnerInformation
|
15 |
+
* @param array $options A array of config values for `SoapClient` (see PHP docs)
|
16 |
+
* @param string $wsdl The wsdl file to use (defaults to 'https://internetmarke.deutschepost.de/OneClickForAppV3?wsdl')
|
17 |
+
*/
|
18 |
+
public function __construct( $partner_information, $options = array(), $wsdl = null ) {
|
19 |
+
$this->partner_information = $partner_information;
|
20 |
+
$options = array_merge( array( 'features' => SOAP_SINGLE_ELEMENT_ARRAYS ), $options );
|
21 |
+
|
22 |
+
if ( $wsdl === null ) {
|
23 |
+
$wsdl = 'https://internetmarke.deutschepost.de/OneClickForRefund?wsdl';
|
24 |
+
}
|
25 |
+
|
26 |
+
parent::__construct( $wsdl, $options );
|
27 |
+
|
28 |
+
$this->__setSoapHeaders( $this->partner_information->soapHeaderArray() );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Authenticate user request.
|
33 |
+
*
|
34 |
+
* @return User
|
35 |
+
*/
|
36 |
+
public function authenticateUser( $username, $password ) {
|
37 |
+
$result = $this->__soapCall( 'authenticateUser', array(
|
38 |
+
'AuthenticateUserRequest' => array(
|
39 |
+
'username' => $username,
|
40 |
+
'password' => $password
|
41 |
+
)
|
42 |
+
) );
|
43 |
+
|
44 |
+
return User::fromStdObject( $result );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Return retoure id.
|
49 |
+
*
|
50 |
+
* @return int
|
51 |
+
*/
|
52 |
+
public function createRetoureId() {
|
53 |
+
$result = $this->__soapCall( 'createRetoureId', array(
|
54 |
+
'CreateRetoureIdRequest' => ''
|
55 |
+
) );
|
56 |
+
|
57 |
+
return $result->shopRetoureId;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Retoure/refund selected shipping labels.
|
62 |
+
*
|
63 |
+
* @param $user_token
|
64 |
+
* @param $shop_retoure_id
|
65 |
+
* @param $shop_retoure_id
|
66 |
+
* @param $voucher_set
|
67 |
+
*
|
68 |
+
* @return int
|
69 |
+
*/
|
70 |
+
public function retoureVouchers( $user_token, $shop_retoure_id, $shop_order_id, $voucher_set = array() ) {
|
71 |
+
$data = array(
|
72 |
+
'RetoureVouchersRequest' => array(
|
73 |
+
'userToken' => $user_token,
|
74 |
+
'shopRetoureId' => $shop_retoure_id,
|
75 |
+
'shoppingCart' => array(
|
76 |
+
'shopOrderId' => $shop_order_id
|
77 |
+
)
|
78 |
+
)
|
79 |
+
);
|
80 |
+
|
81 |
+
if ( ! empty( $voucher_set ) ) {
|
82 |
+
$data['RetoureVouchersRequest']['shoppingCart']['voucherSet'] = array();
|
83 |
+
|
84 |
+
foreach ( $voucher_set as $voucher_no ) {
|
85 |
+
$data['RetoureVouchersRequest']['shoppingCart']['voucherSet']['voucherNo'] = $voucher_no;
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
+
$result = $this->__soapCall('retoureVouchers', $data );
|
90 |
+
|
91 |
+
return $result->retoureTransactionId;
|
92 |
+
}
|
93 |
+
}
|
packages/woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php
ADDED
@@ -0,0 +1,333 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL\Api;
|
4 |
+
|
5 |
+
use Exception;
|
6 |
+
use Vendidero\Germanized\DHL\DeutschePostLabel;
|
7 |
+
use Vendidero\Germanized\DHL\DeutschePostReturnLabel;
|
8 |
+
use Vendidero\Germanized\DHL\Package;
|
9 |
+
|
10 |
+
defined( 'ABSPATH' ) || exit;
|
11 |
+
|
12 |
+
class ImWarenpostIntRest extends Rest {
|
13 |
+
|
14 |
+
public function __construct() {
|
15 |
+
parent::__construct();
|
16 |
+
}
|
17 |
+
|
18 |
+
public function get_base_url() {
|
19 |
+
return self::is_sandbox() ? 'https://api-qa.deutschepost.com' : 'https://api.deutschepost.com';
|
20 |
+
}
|
21 |
+
|
22 |
+
public function get_pdf( $awb ) {
|
23 |
+
$pdf = $this->get_request( '/dpi/shipping/v1/shipments/' . $awb . '/itemlabels', array(), 'pdf' );
|
24 |
+
|
25 |
+
return $pdf;
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Updates the label
|
30 |
+
*
|
31 |
+
* @param DeutschePostLabel|DeutschePostReturnLabel $label
|
32 |
+
* @param \stdClass $result
|
33 |
+
*
|
34 |
+
* @throws Exception
|
35 |
+
*/
|
36 |
+
public function update_label( &$label, $result ) {
|
37 |
+
$order_id = wc_clean( $result->orderId );
|
38 |
+
$awb = wc_clean( $result->shipments[0]->awb );
|
39 |
+
$barcode = wc_clean( $result->shipments[0]->items[0]->barcode );
|
40 |
+
$pdf = $this->get_pdf( $awb );
|
41 |
+
|
42 |
+
if ( ! $pdf ) {
|
43 |
+
throw new Exception( _x( 'Error while fetching label PDF', 'dhl', 'woocommerce-germanized' ) );
|
44 |
+
}
|
45 |
+
|
46 |
+
$filename = wc_gzd_dhl_generate_label_filename( $label, 'dp-wp-int-label' );
|
47 |
+
|
48 |
+
if ( $path = wc_gzd_dhl_upload_data( $filename, $pdf ) ) {
|
49 |
+
$label->set_default_path( $path );
|
50 |
+
$label->set_path( $path );
|
51 |
+
} else {
|
52 |
+
throw new Exception( _x( 'Error while fetching label PDF', 'dhl', 'woocommerce-germanized' ) );
|
53 |
+
}
|
54 |
+
|
55 |
+
$label->set_shop_order_id( $order_id );
|
56 |
+
$label->set_wp_int_awb( $awb );
|
57 |
+
$label->set_wp_int_barcode( $barcode );
|
58 |
+
$label->set_number( $barcode );
|
59 |
+
|
60 |
+
$label->save();
|
61 |
+
|
62 |
+
return $label;
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Creates a new order based on the given data
|
67 |
+
*
|
68 |
+
* @see https://api-qa.deutschepost.com/dpi-apidoc/index_prod_v1.html#/reference/orders/create-order/create-order
|
69 |
+
*
|
70 |
+
* @param DeutschePostLabel|DeutschePostReturnLabel $label
|
71 |
+
*
|
72 |
+
* @throws Exception
|
73 |
+
*/
|
74 |
+
public function create_label( &$label ) {
|
75 |
+
|
76 |
+
if ( ! $shipment = $label->get_shipment() ) {
|
77 |
+
throw new Exception( _x( 'Missing shipment', 'dhl', 'woocommerce-germanized' ) );
|
78 |
+
}
|
79 |
+
|
80 |
+
$customs_data = wc_gzd_dhl_get_shipment_customs_data( $label );
|
81 |
+
$positions = array();
|
82 |
+
$position_index = 0;
|
83 |
+
|
84 |
+
foreach( $customs_data['ExportDocPosition'] as $position ) {
|
85 |
+
array_push($positions, array(
|
86 |
+
'contentPieceIndexNumber' => $position_index++,
|
87 |
+
'contentPieceHsCode' => $position['customsTariffNumber'],
|
88 |
+
'contentPieceDescription' => substr( $position['description'], 0, 33 ),
|
89 |
+
'contentPieceValue' => $position['customsValue'],
|
90 |
+
'contentPieceNetweight' => wc_get_weight( $position['netWeightInKG'], 'g', 'kg' ),
|
91 |
+
'contentPieceOrigin' => $position['countryCodeOrigin'],
|
92 |
+
'contentPieceAmount' => $position['amount']
|
93 |
+
) );
|
94 |
+
}
|
95 |
+
|
96 |
+
$is_return = is_a( $shipment, 'Vendidero\Germanized\Shipments\ReturnShipment' );
|
97 |
+
|
98 |
+
if ( $is_return ) {
|
99 |
+
$sender_name = ( $shipment->get_sender_company() ? $shipment->get_sender_company() . ' ' : '' ) . $shipment->get_formatted_sender_full_name();
|
100 |
+
} else {
|
101 |
+
$sender_name = ( Package::get_setting( 'shipper_company' ) ? Package::get_setting( 'shipper_company' ) . ' ' : '' ) . Package::get_setting( 'shipper_name' );
|
102 |
+
}
|
103 |
+
|
104 |
+
$request_data = array(
|
105 |
+
'customerEkp' => $this->get_ekp(),
|
106 |
+
'orderId' => null,
|
107 |
+
'items' => array(
|
108 |
+
array(
|
109 |
+
'id' => 0,
|
110 |
+
'product' => $label->get_dhl_product(),
|
111 |
+
'serviceLevel' => 'STANDARD',
|
112 |
+
'recipient' => $shipment->get_formatted_full_name(),
|
113 |
+
'recipientPhone' => $shipment->get_phone(),
|
114 |
+
'recipientEmail' => $shipment->get_email(),
|
115 |
+
'addressLine1' => $shipment->get_address_1(),
|
116 |
+
'addressLine2' => $shipment->get_address_2(),
|
117 |
+
'city' => $shipment->get_city(),
|
118 |
+
'state' => $shipment->get_state(),
|
119 |
+
'postalCode' => $shipment->get_postcode(),
|
120 |
+
'destinationCountry' => $shipment->get_country(),
|
121 |
+
'shipmentAmount' => wc_format_decimal( $shipment->get_total() + $shipment->get_additional_total(), 2 ),
|
122 |
+
'shipmentCurrency' => get_woocommerce_currency(),
|
123 |
+
'shipmentGrossWeight' => wc_get_weight( $label->get_weight(), 'g', 'kg' ),
|
124 |
+
'senderName' => $sender_name,
|
125 |
+
'senderAddressLine1' => $is_return ? $shipment->get_sender_address_1() : Package::get_setting( 'shipper_street' ) . ' ' . Package::get_setting( 'shipper_street_no' ),
|
126 |
+
'senderAddressLine2' => $is_return ? $shipment->get_sender_address_2() : '',
|
127 |
+
'senderCountry' => $is_return ? $shipment->get_sender_country() : Package::get_setting( 'shipper_country' ),
|
128 |
+
'senderCity' => $is_return ? $shipment->get_sender_city() : Package::get_setting( 'shipper_city' ),
|
129 |
+
'senderPostalCode' => $is_return ? $shipment->get_sender_postcode() : Package::get_setting( 'shipper_postcode' ),
|
130 |
+
'senderPhone' => $is_return ? $shipment->get_sender_phone() : Package::get_setting( 'shipper_phone' ),
|
131 |
+
'senderEmail' => $is_return ? $shipment->get_sender_email() : Package::get_setting( 'shipper_email' ),
|
132 |
+
'returnItemWanted' => false,
|
133 |
+
'shipmentNaturetype' => strtoupper( apply_filters( 'woocommerce_gzd_deutsche_post_label_api_customs_shipment_nature_type', ( is_a( $label, 'Vendidero\Germanized\DHL\DeutschePostReturnLabel' ) ? 'RETURN_GOODS' : 'SALE_GOODS' ), $label ) ),
|
134 |
+
'contents' => $positions
|
135 |
+
)
|
136 |
+
),
|
137 |
+
'orderStatus' => 'FINALIZE',
|
138 |
+
'paperwork' => array(
|
139 |
+
'contactName' => $sender_name,
|
140 |
+
'awbCopyCount' => 1,
|
141 |
+
'jobReference' => null,
|
142 |
+
'pickupType' => 'CUSTOMER_DROP_OFF',
|
143 |
+
'pickupLocation' => null,
|
144 |
+
'pickupDate' => null,
|
145 |
+
'pickupTimeSlot' => null,
|
146 |
+
'telephoneNumber' => null
|
147 |
+
)
|
148 |
+
);
|
149 |
+
|
150 |
+
$transmit_data = 'yes' === Package::get_setting( 'label_force_email_transfer' );
|
151 |
+
|
152 |
+
if ( ! apply_filters( 'woocommerce_gzd_deutsche_post_label_api_customs_transmit_communication_data', $transmit_data ) ) {
|
153 |
+
if ( $is_return ) {
|
154 |
+
$request_data['senderPhone'] = '';
|
155 |
+
$request_data['senderEmail'] = '';
|
156 |
+
} else {
|
157 |
+
$request_data['recipientPhone'] = '';
|
158 |
+
$request_data['recipientEmail'] = '';
|
159 |
+
}
|
160 |
+
}
|
161 |
+
|
162 |
+
$request_data = $this->walk_recursive_remove( $request_data );
|
163 |
+
$result = $this->post_request( '/dpi/shipping/v1/orders', json_encode( $request_data, JSON_PRETTY_PRINT ) );
|
164 |
+
|
165 |
+
if ( isset( $result->shipments ) ) {
|
166 |
+
return $this->update_label( $label, $result );
|
167 |
+
} else {
|
168 |
+
throw new Exception( _x( 'Invalid API response', 'dhl', 'woocommerce-germanized' ) );
|
169 |
+
}
|
170 |
+
}
|
171 |
+
|
172 |
+
protected function get_user_token() {
|
173 |
+
$user_token = false;
|
174 |
+
|
175 |
+
delete_transient( 'woocommerce_gzd_im_wp_int_user_token' );
|
176 |
+
|
177 |
+
if ( get_transient( 'woocommerce_gzd_im_wp_int_user_token' ) ) {
|
178 |
+
$user_token = get_transient( 'woocommerce_gzd_im_wp_int_user_token' );
|
179 |
+
} else {
|
180 |
+
$response_body = $this->get_request( '/v1/auth/accesstoken', array(), 'xml' );
|
181 |
+
|
182 |
+
$reg_exp_ut = "/<userToken>(.+?)<\/userToken>/";
|
183 |
+
|
184 |
+
if ( preg_match( $reg_exp_ut, $response_body, $match_ut ) ) {
|
185 |
+
$user_token = $match_ut[1];
|
186 |
+
|
187 |
+
set_transient( 'woocommerce_gzd_im_wp_int_user_token', $user_token, ( MINUTE_IN_SECONDS * 3 ) );
|
188 |
+
}
|
189 |
+
}
|
190 |
+
|
191 |
+
if ( ! $user_token ) {
|
192 |
+
throw new Exception( _x( 'Error while authenticating user.', 'dhl', 'woocommerce-germanized' ) );
|
193 |
+
}
|
194 |
+
|
195 |
+
return $user_token;
|
196 |
+
}
|
197 |
+
|
198 |
+
protected function is_sandbox() {
|
199 |
+
return Package::is_debug_mode() && defined( 'WC_GZD_DHL_IM_WP_SANDBOX_USER' );
|
200 |
+
}
|
201 |
+
|
202 |
+
protected function get_auth() {
|
203 |
+
return $this->get_basic_auth_encode( Package::get_internetmarke_warenpost_int_username(), Package::get_internetmarke_warenpost_int_password() );
|
204 |
+
}
|
205 |
+
|
206 |
+
/**
|
207 |
+
* Could be either:
|
208 |
+
*
|
209 |
+
* - application/pdf (A6)
|
210 |
+
* - application/pdf+singlepage (A6)
|
211 |
+
* - application/pdf+singlepage+6x4 (6x4 inch)
|
212 |
+
* - application/zpl (A6)
|
213 |
+
* - application/zpl+rotated (rotated by 90 degrees for label printers)
|
214 |
+
* - application/zpl+6x4 (6x4 inch)
|
215 |
+
* - application/zpl+rotated+6x4 (6x4 inch and rotated by 90 degrees for label printers)
|
216 |
+
*
|
217 |
+
* @return string
|
218 |
+
*/
|
219 |
+
protected function get_pdf_accept_header() {
|
220 |
+
return 'application/pdf';
|
221 |
+
}
|
222 |
+
|
223 |
+
protected function set_header( $authorization = '', $request_type = 'GET', $endpoint = '' ) {
|
224 |
+
if ( '/v1/auth/accesstoken' !== $endpoint ) {
|
225 |
+
$token = $this->get_user_token();
|
226 |
+
$authorization = $token;
|
227 |
+
}
|
228 |
+
|
229 |
+
parent::set_header( $authorization );
|
230 |
+
|
231 |
+
/**
|
232 |
+
* Add PDF header to make sure we are receiving the right file type from DP API
|
233 |
+
*/
|
234 |
+
if ( strpos( $endpoint, 'itemlabels' ) !== false ) {
|
235 |
+
$this->remote_header['Accept'] = $this->get_pdf_accept_header();
|
236 |
+
}
|
237 |
+
|
238 |
+
$date = new \DateTime( null, new \DateTimeZone( 'Europe/Berlin' ) );
|
239 |
+
|
240 |
+
$this->remote_header = array_merge( $this->remote_header, array(
|
241 |
+
'KEY_PHASE' => $this->get_key_phase(),
|
242 |
+
'PARTNER_ID' => $this->get_partner_id(),
|
243 |
+
'REQUEST_TIMESTAMP' => $date->format( 'dmY-His' ),
|
244 |
+
'PARTNER_SIGNATURE' => $this->get_signature( $date ),
|
245 |
+
) );
|
246 |
+
}
|
247 |
+
|
248 |
+
protected function get_ekp() {
|
249 |
+
return Package::get_internetmarke_warenpost_int_ekp();
|
250 |
+
}
|
251 |
+
|
252 |
+
protected function walk_recursive_remove( array $array ) {
|
253 |
+
foreach ( $array as $k => $v ) {
|
254 |
+
|
255 |
+
if ( is_array( $v ) ) {
|
256 |
+
$array[ $k ] = $this->walk_recursive_remove( $v );
|
257 |
+
}
|
258 |
+
|
259 |
+
// Explicitly allow street_number fields to equal 0
|
260 |
+
if ( '' === $v || is_null( $v ) ) {
|
261 |
+
unset( $array[ $k ] );
|
262 |
+
}
|
263 |
+
}
|
264 |
+
|
265 |
+
return $array;
|
266 |
+
}
|
267 |
+
|
268 |
+
protected function get_basic_auth_encode( $user, $pass ) {
|
269 |
+
return base64_encode( $user . ':' . $pass );
|
270 |
+
}
|
271 |
+
|
272 |
+
protected function handle_get_response( $response_code, $response_body ) {
|
273 |
+
switch ( $response_code ) {
|
274 |
+
case '200':
|
275 |
+
case '201':
|
276 |
+
break;
|
277 |
+
default:
|
278 |
+
throw new Exception( _x( 'Error during Warenpost International request.', 'dhl', 'woocommerce-germanized' ) );
|
279 |
+
}
|
280 |
+
}
|
281 |
+
|
282 |
+
protected function handle_post_response( $response_code, $response_body ) {
|
283 |
+
switch ( $response_code ) {
|
284 |
+
case '200':
|
285 |
+
case '201':
|
286 |
+
break;
|
287 |
+
default:
|
288 |
+
$error_message = '';
|
289 |
+
|
290 |
+
if ( isset( $response_body->messages ) ) {
|
291 |
+
foreach( $response_body->messages as $message ) {
|
292 |
+
$error_message .= ( ! empty( $error_message ) ? ', ' : '' ) . $message;
|
293 |
+
}
|
294 |
+
}
|
295 |
+
|
296 |
+
throw new Exception( sprintf( _x( 'Error during request: %s', 'dhl', 'woocommerce-germanized' ), $error_message ) );
|
297 |
+
}
|
298 |
+
}
|
299 |
+
|
300 |
+
protected function get_partner_id() {
|
301 |
+
return $this->is_sandbox() ? 'DP_LT' : Package::get_internetmarke_partner_id();
|
302 |
+
}
|
303 |
+
|
304 |
+
protected function get_key_phase() {
|
305 |
+
return $this->is_sandbox() ? 1 : Package::get_internetmarke_key_phase();
|
306 |
+
}
|
307 |
+
|
308 |
+
protected function get_partner_token() {
|
309 |
+
return Package::get_internetmarke_token();
|
310 |
+
}
|
311 |
+
|
312 |
+
protected function get_signature( $date = null ) {
|
313 |
+
if ( ! $date ) {
|
314 |
+
$date = new \DateTime( null, new \DateTimeZone( 'Europe/Berlin' ) );
|
315 |
+
}
|
316 |
+
|
317 |
+
return substr(
|
318 |
+
md5(
|
319 |
+
join(
|
320 |
+
'::',
|
321 |
+
array(
|
322 |
+
$this->get_partner_id(),
|
323 |
+
$date->format('dmY-His'),
|
324 |
+
$this->get_key_phase(),
|
325 |
+
$this->get_partner_token()
|
326 |
+
)
|
327 |
+
)
|
328 |
+
),
|
329 |
+
0,
|
330 |
+
8
|
331 |
+
);
|
332 |
+
}
|
333 |
+
}
|
packages/woocommerce-germanized-dhl/src/Api/Internetmarke.php
ADDED
@@ -0,0 +1,785 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL\Api;
|
4 |
+
|
5 |
+
use baltpeter\Internetmarke\Address;
|
6 |
+
use baltpeter\Internetmarke\CompanyName;
|
7 |
+
use baltpeter\Internetmarke\Name;
|
8 |
+
use baltpeter\Internetmarke\PageFormat;
|
9 |
+
use baltpeter\Internetmarke\PartnerInformation;
|
10 |
+
use baltpeter\Internetmarke\PersonName;
|
11 |
+
use baltpeter\Internetmarke\Service;
|
12 |
+
use baltpeter\Internetmarke\User;
|
13 |
+
use Vendidero\Germanized\DHL\Admin\Settings;
|
14 |
+
use Vendidero\Germanized\DHL\DeutschePostLabel;
|
15 |
+
use Vendidero\Germanized\DHL\Package;
|
16 |
+
|
17 |
+
defined( 'ABSPATH' ) || exit;
|
18 |
+
|
19 |
+
class Internetmarke {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @var PartnerInformation|null
|
23 |
+
*/
|
24 |
+
protected $partner = null;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @var Service|null
|
28 |
+
*/
|
29 |
+
protected $api = null;
|
30 |
+
|
31 |
+
protected $wp_int_api = null;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @var User|null
|
35 |
+
*/
|
36 |
+
protected $user = null;
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @var \WP_Error
|
40 |
+
*/
|
41 |
+
protected $errors = null;
|
42 |
+
|
43 |
+
/**
|
44 |
+
* @var ImProductList|null
|
45 |
+
*/
|
46 |
+
protected $products = null;
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @var ImRefundSoap|null
|
50 |
+
*/
|
51 |
+
protected $refund_api = null;
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @var null|PageFormat[]
|
55 |
+
*/
|
56 |
+
protected $page_formats = null;
|
57 |
+
|
58 |
+
public function __construct() {
|
59 |
+
$this->partner = new PartnerInformation( Package::get_internetmarke_partner_id(), Package::get_internetmarke_key_phase(), Package::get_internetmarke_token() );
|
60 |
+
$this->errors = new \WP_Error();
|
61 |
+
|
62 |
+
try {
|
63 |
+
if ( ! Package::has_load_dependencies() ) {
|
64 |
+
throw new \Exception( sprintf( _x( 'To enable communication between your shop and DHL, the PHP <a href="%s">SOAPClient</a> is required. Please contact your host and make sure that SOAPClient is <a href="%s">installed</a>.', 'dhl', 'woocommerce-germanize-dhl' ), 'https://www.php.net/manual/class.soapclient.php', admin_url( 'admin.php?page=wc-status' ) ) );
|
65 |
+
}
|
66 |
+
|
67 |
+
$this->api = new Service( $this->partner, array(), Package::get_wsdl_file( 'https://internetmarke.deutschepost.de/OneClickForAppV3?wsdl' ) );
|
68 |
+
} catch( \Exception $e ) {
|
69 |
+
$this->errors->add( 'startup', sprintf( _x( 'Error while instantiating main Internetmarke API: %s', 'dhl', 'woocommerce-germanized' ), $e->getMessage() ) );
|
70 |
+
}
|
71 |
+
|
72 |
+
if ( ! Package::is_internetmarke_enabled() ) {
|
73 |
+
$this->errors->add( 'startup', _x( 'Internetmarke is disabled. Please enable Internetmarke.', 'dhl', 'woocommerce-germanized' ) );
|
74 |
+
}
|
75 |
+
}
|
76 |
+
|
77 |
+
public function auth() {
|
78 |
+
if ( Package::get_internetmarke_username() && Package::get_internetmarke_password() ) {
|
79 |
+
try {
|
80 |
+
$this->errors->remove( 'authentication' );
|
81 |
+
|
82 |
+
$this->user = $this->api->authenticateUser( Package::get_internetmarke_username(), Package::get_internetmarke_password() );
|
83 |
+
} catch( \Exception $e ) {
|
84 |
+
$this->errors->add( 'authentication', _x( 'Wrong username or password', 'dhl', 'woocommerce-germanized' ) );
|
85 |
+
}
|
86 |
+
}
|
87 |
+
|
88 |
+
if ( ! $this->has_authentication_error() ) {
|
89 |
+
return true;
|
90 |
+
} else {
|
91 |
+
return false;
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
public function has_authentication_error() {
|
96 |
+
$errors = $this->errors->get_error_message( 'authentication' );
|
97 |
+
|
98 |
+
return empty( $errors ) ? false : true;
|
99 |
+
}
|
100 |
+
|
101 |
+
public function get_authentication_error() {
|
102 |
+
$error = $this->errors->get_error_message( 'authentication' );
|
103 |
+
|
104 |
+
return $error;
|
105 |
+
}
|
106 |
+
|
107 |
+
public function has_startup_error() {
|
108 |
+
$errors = $this->errors->get_error_message( 'startup' );
|
109 |
+
|
110 |
+
return empty( $errors ) ? false : true;
|
111 |
+
}
|
112 |
+
|
113 |
+
public function get_startup_error() {
|
114 |
+
$error = $this->errors->get_error_message( 'startup' );
|
115 |
+
|
116 |
+
return $error;
|
117 |
+
}
|
118 |
+
|
119 |
+
public function has_errors() {
|
120 |
+
return wc_gzd_dhl_wp_error_has_errors( $this->errors ) ? true : false;
|
121 |
+
}
|
122 |
+
|
123 |
+
public function get_errors() {
|
124 |
+
return wc_gzd_dhl_wp_error_has_errors( $this->errors ) ? $this->errors : false;
|
125 |
+
}
|
126 |
+
|
127 |
+
public function is_available() {
|
128 |
+
return ! $this->has_authentication_error() && ! $this->has_startup_error();
|
129 |
+
}
|
130 |
+
|
131 |
+
public function get_user() {
|
132 |
+
if ( ! $this->user ) {
|
133 |
+
$this->auth();
|
134 |
+
}
|
135 |
+
|
136 |
+
if ( $this->user ) {
|
137 |
+
return $this->user;
|
138 |
+
} else {
|
139 |
+
return false;
|
140 |
+
}
|
141 |
+
}
|
142 |
+
|
143 |
+
public function get_balance( $force_refresh = false ) {
|
144 |
+
$balance = get_transient( 'wc_gzd_dhl_portokasse_balance' );
|
145 |
+
|
146 |
+
if ( ! $balance || $force_refresh ) {
|
147 |
+
if ( $user = $this->get_user() ) {
|
148 |
+
$balance = $user->getWalletBalance();
|
149 |
+
|
150 |
+
set_transient( 'wc_gzd_dhl_portokasse_balance', $user->getWalletBalance(), HOUR_IN_SECONDS );
|
151 |
+
} else {
|
152 |
+
$balance = 0;
|
153 |
+
}
|
154 |
+
}
|
155 |
+
|
156 |
+
return $balance;
|
157 |
+
}
|
158 |
+
|
159 |
+
protected function invalidate_balance() {
|
160 |
+
delete_transient( 'wc_gzd_dhl_portokasse_balance' );
|
161 |
+
}
|
162 |
+
|
163 |
+
public function reload_products() {
|
164 |
+
$this->products = null;
|
165 |
+
}
|
166 |
+
|
167 |
+
protected function load_products() {
|
168 |
+
if ( is_null( $this->products ) ) {
|
169 |
+
$this->products = new ImProductList();
|
170 |
+
}
|
171 |
+
|
172 |
+
$transient = get_transient( 'wc_gzd_dhl_im_products_expire' );
|
173 |
+
|
174 |
+
if ( ! $transient ) {
|
175 |
+
$result = $this->products->update();
|
176 |
+
|
177 |
+
if ( is_wp_error( $result ) ) {
|
178 |
+
Package::log( 'Error while refreshing Internetmarke product data: ' . $result->get_error_message() );
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Refresh product data once per day.
|
183 |
+
*/
|
184 |
+
set_transient( 'wc_gzd_dhl_im_products_expire', DAY_IN_SECONDS );
|
185 |
+
}
|
186 |
+
}
|
187 |
+
|
188 |
+
public function get_products( $filters = array() ) {
|
189 |
+
$this->load_products();
|
190 |
+
|
191 |
+
return $this->products->get_products( $filters );
|
192 |
+
}
|
193 |
+
|
194 |
+
public function get_base_products() {
|
195 |
+
$this->load_products();
|
196 |
+
|
197 |
+
return $this->products->get_base_products();
|
198 |
+
}
|
199 |
+
|
200 |
+
public function get_available_products( $filters = array() ) {
|
201 |
+
$this->load_products();
|
202 |
+
|
203 |
+
return $this->products->get_available_products( $filters );
|
204 |
+
}
|
205 |
+
|
206 |
+
public function get_product_list() {
|
207 |
+
$this->load_products();
|
208 |
+
|
209 |
+
return $this->products;
|
210 |
+
}
|
211 |
+
|
212 |
+
public function is_warenpost_international( $im_product_code ) {
|
213 |
+
$is_wp_int = false;
|
214 |
+
|
215 |
+
if ( $product_data = $this->get_product_data_by_code( $im_product_code ) ) {
|
216 |
+
if ( 1 == $product_data->product_is_wp_int ) {
|
217 |
+
return true;
|
218 |
+
}
|
219 |
+
}
|
220 |
+
|
221 |
+
return $is_wp_int;
|
222 |
+
}
|
223 |
+
|
224 |
+
public function is_warenpost_international_eu( $im_product_code ) {
|
225 |
+
$is_wp_int = false;
|
226 |
+
|
227 |
+
if ( $product_data = $this->get_product_data_by_code( $im_product_code ) ) {
|
228 |
+
if ( 1 == $product_data->product_is_wp_int && 'eu' === $product_data->product_destination ) {
|
229 |
+
return true;
|
230 |
+
}
|
231 |
+
}
|
232 |
+
|
233 |
+
return $is_wp_int;
|
234 |
+
}
|
235 |
+
|
236 |
+
protected function format_dimensions( $product, $type = 'length' ) {
|
237 |
+
$dimension = '';
|
238 |
+
|
239 |
+
if ( ! empty( $product->{"product_{$type}_min"} ) ) {
|
240 |
+
$dimension .= $product->{"product_{$type}_min"};
|
241 |
+
|
242 |
+
if ( ! empty( $product->{"product_{$type}_max"} ) ) {
|
243 |
+
$dimension .= '-' . $product->{"product_{$type}_max"};
|
244 |
+
}
|
245 |
+
} elseif( 0 == $product->{"product_{$type}_min"} ) {
|
246 |
+
$dimension = sprintf( _x( 'until %s', 'dhl', 'woocommerce-germanized' ), $product->{"product_{$type}_max"} );
|
247 |
+
}
|
248 |
+
|
249 |
+
if ( ! empty( $dimension ) ) {
|
250 |
+
$dimension .= ' ' . $product->{"product_{$type}_unit"};
|
251 |
+
}
|
252 |
+
|
253 |
+
return $dimension;
|
254 |
+
}
|
255 |
+
|
256 |
+
public function get_product_data_by_code( $im_product_id ) {
|
257 |
+
$this->load_products();
|
258 |
+
|
259 |
+
return $this->products->get_product_data_by_code( $im_product_id );
|
260 |
+
}
|
261 |
+
|
262 |
+
public function get_product_data( $product_id ) {
|
263 |
+
$this->load_products();
|
264 |
+
|
265 |
+
return $this->products->get_product_data( $product_id );
|
266 |
+
}
|
267 |
+
|
268 |
+
public function get_product_id( $im_product_id ) {
|
269 |
+
$this->load_products();
|
270 |
+
$data = $this->products->get_product_data_by_code( $im_product_id );
|
271 |
+
|
272 |
+
return ( ! empty( $data ) ? $data->product_id : 0 );
|
273 |
+
}
|
274 |
+
|
275 |
+
public function get_product_parent_code( $im_product_id ) {
|
276 |
+
$this->load_products();
|
277 |
+
$data = $this->products->get_product_data_by_code( $im_product_id );
|
278 |
+
|
279 |
+
if ( ! empty( $data ) ) {
|
280 |
+
if ( $data->product_parent_id > 0 ) {
|
281 |
+
$im_product_data = $this->get_product_data( $data->product_parent_id );
|
282 |
+
|
283 |
+
$im_product_id = $im_product_data->product_code;
|
284 |
+
}
|
285 |
+
}
|
286 |
+
|
287 |
+
return $im_product_id;
|
288 |
+
}
|
289 |
+
|
290 |
+
public function get_product_total( $product_code ) {
|
291 |
+
$total = 0;
|
292 |
+
|
293 |
+
if ( $data = $this->get_product_data_by_code( $product_code ) ) {
|
294 |
+
$total = $data->product_price;
|
295 |
+
}
|
296 |
+
|
297 |
+
return $total;
|
298 |
+
}
|
299 |
+
|
300 |
+
public function get_available_products_printable() {
|
301 |
+
$printable = array();
|
302 |
+
|
303 |
+
foreach( $this->get_available_products() as $product ) {
|
304 |
+
$printable[ $product->product_code ] = $this->get_product_preview_data( $product );
|
305 |
+
}
|
306 |
+
|
307 |
+
return $printable;
|
308 |
+
}
|
309 |
+
|
310 |
+
public function get_product_preview_data( $im_product_id ) {
|
311 |
+
$product = is_numeric( $im_product_id ) ? $this->get_product_data_by_code( $im_product_id ) : $im_product_id;
|
312 |
+
$formatted = array(
|
313 |
+
'title_formatted' => '',
|
314 |
+
'price_formatted' => '',
|
315 |
+
'description_formatted' => '',
|
316 |
+
'information_text_formatted' => '',
|
317 |
+
'dimensions_formatted' => '',
|
318 |
+
);
|
319 |
+
|
320 |
+
if ( ! $product || ! isset( $product->product_id ) ) {
|
321 |
+
return $formatted;
|
322 |
+
}
|
323 |
+
|
324 |
+
$dimensions = array();
|
325 |
+
$formatted_length = $this->format_dimensions( $product, 'length' );
|
326 |
+
$formatted_width = $this->format_dimensions( $product, 'width' );
|
327 |
+
$formatted_height = $this->format_dimensions( $product, 'height' );
|
328 |
+
$formatted_weight = $this->format_dimensions( $product, 'weight' );
|
329 |
+
|
330 |
+
if ( ! empty( $formatted_length ) ) {
|
331 |
+
$dimensions[] = sprintf( _x( 'Length: %s', 'dhl', 'woocommerce-germanized' ), $formatted_length );
|
332 |
+
}
|
333 |
+
|
334 |
+
if ( ! empty( $formatted_width ) ) {
|
335 |
+
$dimensions[] = sprintf( _x( 'Width: %s', 'dhl', 'woocommerce-germanized' ), $formatted_width );
|
336 |
+
}
|
337 |
+
|
338 |
+
if ( ! empty( $formatted_height ) ) {
|
339 |
+
$dimensions[] = sprintf( _x( 'Height: %s', 'dhl', 'woocommerce-germanized' ), $formatted_height );
|
340 |
+
}
|
341 |
+
|
342 |
+
if ( ! empty( $formatted_weight ) ) {
|
343 |
+
$dimensions[] = sprintf( _x( 'Weight: %s', 'dhl', 'woocommerce-germanized' ), $formatted_weight );
|
344 |
+
}
|
345 |
+
|
346 |
+
$formatted = array_merge( (array) $product, array(
|
347 |
+
'title_formatted' => wc_gzd_dhl_get_im_product_title( $product->product_name ),
|
348 |
+
'price_formatted' => wc_price( Package::cents_to_eur( $product->product_price ), array( 'currency' => 'EUR' ) ) . ' <span class="price-suffix">' . _x( 'Total', 'dhl', 'woocommerce-germanized' ) . '</span>',
|
349 |
+
'description_formatted' => ! empty( $product->product_annotation ) ? $product->product_annotation : $product->product_description,
|
350 |
+
'information_text_formatted' => $product->product_information_text,
|
351 |
+
'dimensions_formatted' => implode( '<br/>', $dimensions ),
|
352 |
+
) );
|
353 |
+
|
354 |
+
return $formatted;
|
355 |
+
}
|
356 |
+
|
357 |
+
public function get_page_formats( $force_refresh = false ) {
|
358 |
+
if ( is_null( $this->page_formats ) ) {
|
359 |
+
$this->page_formats = get_transient( 'wc_gzd_dhl_im_page_formats' );
|
360 |
+
|
361 |
+
if ( ! $this->page_formats || $force_refresh ) {
|
362 |
+
$this->page_formats = array();
|
363 |
+
|
364 |
+
try {
|
365 |
+
$this->page_formats = $this->api->retrievePageFormats();
|
366 |
+
|
367 |
+
set_transient( 'wc_gzd_dhl_im_page_formats', $this->page_formats, DAY_IN_SECONDS );
|
368 |
+
} catch( \Exception $e ) {
|
369 |
+
Package::log( 'Error while refreshing Internetmarke page formats: ' . $e->getMessage() );
|
370 |
+
}
|
371 |
+
|
372 |
+
$page_formats = $this->page_formats;
|
373 |
+
} else {
|
374 |
+
$page_formats = $this->page_formats;
|
375 |
+
}
|
376 |
+
} else {
|
377 |
+
$page_formats = $this->page_formats;
|
378 |
+
}
|
379 |
+
|
380 |
+
return $page_formats;
|
381 |
+
}
|
382 |
+
|
383 |
+
public function get_page_format_list() {
|
384 |
+
$formats = $this->get_page_formats();
|
385 |
+
$options = array();
|
386 |
+
|
387 |
+
foreach( $formats as $format ) {
|
388 |
+
if ( ! $format->isIsAddressPossible() ) {
|
389 |
+
continue;
|
390 |
+
}
|
391 |
+
|
392 |
+
$options[ $format->getId() ] = $format->getName();
|
393 |
+
}
|
394 |
+
|
395 |
+
return $options;
|
396 |
+
}
|
397 |
+
|
398 |
+
public function get_product_services( $im_product_id ) {
|
399 |
+
$this->load_products();
|
400 |
+
|
401 |
+
$product_id = $this->get_product_id( $im_product_id );
|
402 |
+
|
403 |
+
if ( $product_id ) {
|
404 |
+
return $this->products->get_product_services( $product_id );
|
405 |
+
}
|
406 |
+
|
407 |
+
return array();
|
408 |
+
}
|
409 |
+
|
410 |
+
public function get_product_code( $maybe_parent_product_code, $services = array() ) {
|
411 |
+
$this->load_products();
|
412 |
+
|
413 |
+
$product_id = $this->get_product_id( $maybe_parent_product_code );
|
414 |
+
|
415 |
+
if ( $product_id ) {
|
416 |
+
$new_product_data = $this->products->get_product_data_by_services( $product_id, $services );
|
417 |
+
|
418 |
+
if ( $new_product_data ) {
|
419 |
+
return $new_product_data->product_code;
|
420 |
+
} else {
|
421 |
+
return false;
|
422 |
+
}
|
423 |
+
}
|
424 |
+
|
425 |
+
return $maybe_parent_product_code;
|
426 |
+
}
|
427 |
+
|
428 |
+
public function preview_stamp( $product_id, $address_type = 'FrankingZone', $image_id = null ) {
|
429 |
+
$preview_url = false;
|
430 |
+
|
431 |
+
try {
|
432 |
+
if ( $this->is_warenpost_international( $product_id ) ) {
|
433 |
+
if ( $this->is_warenpost_international_eu( $product_id ) ) {
|
434 |
+
$preview_url = trailingslashit( Package::get_assets_url() ) . 'img/wp-int-eu-preview.png';
|
435 |
+
} else {
|
436 |
+
$preview_url = trailingslashit( Package::get_assets_url() ) . 'img/wp-int-preview.png';
|
437 |
+
}
|
438 |
+
} else {
|
439 |
+
$preview_url = $this->api->retrievePreviewVoucherPng( $product_id, $address_type, $image_id );
|
440 |
+
}
|
441 |
+
} catch( \Exception $e ) {}
|
442 |
+
|
443 |
+
return $preview_url;
|
444 |
+
}
|
445 |
+
|
446 |
+
/**
|
447 |
+
* @param DeutschePostLabel $label
|
448 |
+
*
|
449 |
+
* @return mixed
|
450 |
+
*/
|
451 |
+
public function get_label( &$label ) {
|
452 |
+
if ( $label->is_warenpost_international() ) {
|
453 |
+
$result = $this->create_or_update_wp_int_label( $label );
|
454 |
+
} else {
|
455 |
+
$result = $this->create_or_update_default_label( $label );
|
456 |
+
}
|
457 |
+
|
458 |
+
$this->invalidate_balance();
|
459 |
+
|
460 |
+
return $result;
|
461 |
+
}
|
462 |
+
|
463 |
+
protected function get_wp_int_api() {
|
464 |
+
if ( is_null( $this->wp_int_api ) ) {
|
465 |
+
$this->wp_int_api = new ImWarenpostIntRest();
|
466 |
+
}
|
467 |
+
|
468 |
+
return $this->wp_int_api;
|
469 |
+
}
|
470 |
+
|
471 |
+
/**
|
472 |
+
* @param DeutschePostLabel $label
|
473 |
+
*
|
474 |
+
* @return mixed
|
475 |
+
*/
|
476 |
+
protected function create_or_update_wp_int_label( &$label ) {
|
477 |
+
if ( empty( $label->get_wp_int_awb() ) ) {
|
478 |
+
return $this->get_wp_int_api()->create_label( $label );
|
479 |
+
} else {
|
480 |
+
try {
|
481 |
+
$pdf = $this->get_wp_int_api()->get_pdf( $label->get_wp_int_awb() );
|
482 |
+
|
483 |
+
if ( ! $pdf ) {
|
484 |
+
throw new \Exception( _x( 'Error while fetching label PDF', 'dhl', 'woocommerce-germanized' ) );
|
485 |
+
}
|
486 |
+
} catch( \Exception $e ) {
|
487 |
+
return $this->get_wp_int_api()->create_label( $label );
|
488 |
+
}
|
489 |
+
|
490 |
+
return true;
|
491 |
+
}
|
492 |
+
}
|
493 |
+
|
494 |
+
/**
|
495 |
+
* @param DeutschePostLabel $label
|
496 |
+
*
|
497 |
+
* @return mixed
|
498 |
+
*/
|
499 |
+
protected function create_or_update_default_label( &$label ) {
|
500 |
+
if ( empty( $label->get_shop_order_id() ) ) {
|
501 |
+
return $this->create_default_label( $label );
|
502 |
+
} else {
|
503 |
+
if ( ! $this->auth() ) {
|
504 |
+
throw new \Exception( $this->get_authentication_error() );
|
505 |
+
}
|
506 |
+
|
507 |
+
try {
|
508 |
+
$stamp = $this->api->retrieveOrder( $this->get_user()->getUserToken(), $label->get_shop_order_id() );
|
509 |
+
} catch( \Exception $e ) {
|
510 |
+
return $this->create_default_label( $label );
|
511 |
+
}
|
512 |
+
|
513 |
+
return $this->update_default_label( $label, $stamp );
|
514 |
+
}
|
515 |
+
}
|
516 |
+
|
517 |
+
public function get_refund_api() {
|
518 |
+
if ( is_null( $this->refund_api ) ) {
|
519 |
+
$this->refund_api = new ImRefundSoap( $this->partner, array(), Package::get_wsdl_file( 'https://internetmarke.deutschepost.de/OneClickForRefund?wsdl' ) );
|
520 |
+
}
|
521 |
+
|
522 |
+
return $this->refund_api;
|
523 |
+
}
|
524 |
+
|
525 |
+
/**
|
526 |
+
* @param DeutschePostLabel $label
|
527 |
+
*
|
528 |
+
* @return false|int
|
529 |
+
*/
|
530 |
+
public function refund_label( $label ) {
|
531 |
+
try {
|
532 |
+
if ( $label->is_warenpost_international() ) {
|
533 |
+
return $this->refund_wp_int_label( $label );
|
534 |
+
} else {
|
535 |
+
return $this->refund_default_label( $label );
|
536 |
+
}
|
537 |
+
} catch( \Exception $e ) {
|
538 |
+
throw new \Exception( sprintf( _x( 'Could not refund post label: %s', 'dhl', 'woocommerce-germanized' ), $e->getMessage() ) );
|
539 |
+
}
|
540 |
+
}
|
541 |
+
|
542 |
+
/**
|
543 |
+
* @param DeutschePostLabel $label
|
544 |
+
*
|
545 |
+
* @return false|int
|
546 |
+
* @throws \Exception
|
547 |
+
*/
|
548 |
+
protected function refund_default_label( $label ) {
|
549 |
+
$refund = $this->get_refund_api();
|
550 |
+
|
551 |
+
if ( ! $refund ) {
|
552 |
+
throw new \Exception( _x( 'Refund API could not be instantiated', 'dhl', 'woocommerce-germanized' ) );
|
553 |
+
}
|
554 |
+
|
555 |
+
$refund_id = $refund->createRetoureId();
|
556 |
+
|
557 |
+
if ( $refund_id ) {
|
558 |
+
$user = $refund->authenticateUser( Package::get_internetmarke_username(), Package::get_internetmarke_password() );
|
559 |
+
|
560 |
+
if ( $user ) {
|
561 |
+
$transaction_id = $refund->retoureVouchers( $user->getUserToken(), $refund_id, $label->get_shop_order_id() );
|
562 |
+
}
|
563 |
+
|
564 |
+
Package::log( sprintf( 'Refunded DP label %s: %s', $label->get_number(), $transaction_id ) );
|
565 |
+
|
566 |
+
return $transaction_id;
|
567 |
+
}
|
568 |
+
}
|
569 |
+
|
570 |
+
/**
|
571 |
+
* @param DeutschePostLabel $label
|
572 |
+
*
|
573 |
+
* @return false|int
|
574 |
+
* @throws \Exception
|
575 |
+
*/
|
576 |
+
protected function refund_wp_int_label( $label ) {
|
577 |
+
return false;
|
578 |
+
}
|
579 |
+
|
580 |
+
/**
|
581 |
+
* @param DeutschePostLabel $label
|
582 |
+
*
|
583 |
+
* @return mixed
|
584 |
+
*/
|
585 |
+
public function delete_label( &$label ) {
|
586 |
+
if ( ! empty( $label->get_shop_order_id() ) ) {
|
587 |
+
$transaction_id = $this->refund_label( $label );
|
588 |
+
|
589 |
+
if ( false !== $transaction_id ) {
|
590 |
+
$this->invalidate_balance();
|
591 |
+
}
|
592 |
+
|
593 |
+
/**
|
594 |
+
* Action fires before deleting a Deutsche Post PDF label through an API call.
|
595 |
+
*
|
596 |
+
* @param DeutschePostLabel $label The label object.
|
597 |
+
*
|
598 |
+
* @since 3.2.0
|
599 |
+
* @package Vendidero/Germanized/DHL
|
600 |
+
*/
|
601 |
+
do_action( 'woocommerce_gzd_dhl_deutsche_post_label_api_before_delete', $label );
|
602 |
+
|
603 |
+
$label->set_number( '' );
|
604 |
+
$label->set_wp_int_awb( '' );
|
605 |
+
$label->set_wp_int_barcode( '' );
|
606 |
+
$label->set_shop_order_id( '' );
|
607 |
+
|
608 |
+
if ( $file = $label->get_file() ) {
|
609 |
+
wp_delete_file( $file );
|
610 |
+
}
|
611 |
+
|
612 |
+
$label->set_path( '' );
|
613 |
+
|
614 |
+
if ( $file = $label->get_default_file() ) {
|
615 |
+
wp_delete_file( $file );
|
616 |
+
}
|
617 |
+
|
618 |
+
/**
|
619 |
+
* Action fires after deleting a Deutsche Post PDF label through an API call.
|
620 |
+
*
|
621 |
+
* @param DeutschePostLabel $label The label object.
|
622 |
+
*
|
623 |
+
* @since 3.2.0
|
624 |
+
* @package Vendidero/Germanized/DHL
|
625 |
+
*/
|
626 |
+
do_action( 'woocommerce_gzd_dhl_deutsche_post_label_api_deleted', $label );
|
627 |
+
|
628 |
+
return $label;
|
629 |
+
}
|
630 |
+
|
631 |
+
return false;
|
632 |
+
}
|
633 |
+
|
634 |
+
/**
|
635 |
+
* @param DeutschePostLabel $label
|
636 |
+
*/
|
637 |
+
protected function create_default_label( &$label ) {
|
638 |
+
$shipment = $label->get_shipment();
|
639 |
+
|
640 |
+
if ( ! $shipment ) {
|
641 |
+
throw new \Exception( sprintf( _x( 'Could not fetch shipment %d.', 'dhl', 'woocommerce-germanized' ), $label->get_shipment_id() ) );
|
642 |
+
}
|
643 |
+
|
644 |
+
$sender_name = explode( " ", Package::get_setting( 'shipper_name' ) );
|
645 |
+
$sender_name_first = $sender_name;
|
646 |
+
$sender_first_name = array_splice( $sender_name_first, 0, ( sizeof( $sender_name ) - 1 ) );
|
647 |
+
$sender_last_name = $sender_name[ sizeof( $sender_name ) - 1 ];
|
648 |
+
|
649 |
+
$person_name = new PersonName( '', '', implode( ' ', $sender_first_name ), $sender_last_name );
|
650 |
+
$sender_country = Package::get_country_iso_alpha3( Package::get_setting( 'shipper_country' ) );
|
651 |
+
|
652 |
+
if ( Package::get_setting( 'shipper_company' ) ) {
|
653 |
+
$name = new Name( null, new CompanyName( Package::get_setting( 'shipper_company' ), $person_name ) );
|
654 |
+
} else {
|
655 |
+
$name = new Name( $person_name, null );
|
656 |
+
}
|
657 |
+
|
658 |
+
$address = new Address( '', Package::get_setting( 'shipper_street' ), Package::get_setting( 'shipper_street_no' ), Package::get_setting( 'shipper_postcode' ), Package::get_setting( 'shipper_city' ), $sender_country );
|
659 |
+
$sender = new \baltpeter\Internetmarke\NamedAddress( $name, $address );
|
660 |
+
|
661 |
+
$receiver_person_name = new PersonName( '', '', $shipment->get_first_name(), $shipment->get_last_name() );
|
662 |
+
|
663 |
+
if ( $shipment->get_company() ) {
|
664 |
+
$receiver_name = new Name( null, new CompanyName( $shipment->get_company(), $receiver_person_name ) );
|
665 |
+
} else {
|
666 |
+
$receiver_name = new Name( $receiver_person_name, null );
|
667 |
+
}
|
668 |
+
|
669 |
+
$receiver_address = new Address( '', $shipment->get_address_street(), $shipment->get_address_street_number(), $shipment->get_postcode(), $shipment->get_city(), Package::get_country_iso_alpha3( $shipment->get_country() ) );
|
670 |
+
$receiver = new \baltpeter\Internetmarke\NamedAddress( $receiver_name, $receiver_address );
|
671 |
+
$address_binding = new \baltpeter\Internetmarke\AddressBinding( $sender, $receiver );
|
672 |
+
|
673 |
+
if ( ! $this->auth() ) {
|
674 |
+
throw new \Exception( $this->get_authentication_error() );
|
675 |
+
}
|
676 |
+
|
677 |
+
try {
|
678 |
+
$shop_order_id = $this->api->createShopOrderId( $this->get_user()->getUserToken() );
|
679 |
+
|
680 |
+
if ( ! $shop_order_id ) {
|
681 |
+
throw new \Exception( _x( 'Error while generating shop order id.', 'dhl', 'woocommerce-germanized' ) );
|
682 |
+
}
|
683 |
+
|
684 |
+
$label->set_shop_order_id( $shop_order_id );
|
685 |
+
|
686 |
+
$order_item = new \baltpeter\Internetmarke\OrderItem( $label->get_dhl_product(), null, $address_binding, new \baltpeter\Internetmarke\Position( 1, 1, 1 ), 'AddressZone' );
|
687 |
+
$stamp = $this->api->checkoutShoppingCartPdf( $this->get_user()->getUserToken(), $label->get_page_format(), array( $order_item ), $label->get_stamp_total(), $shop_order_id, null, true, 2 );
|
688 |
+
|
689 |
+
return $this->update_default_label( $label, $stamp );
|
690 |
+
} catch( \Exception $e ) {
|
691 |
+
throw new \Exception( sprintf( _x( 'Error while trying to purchase the stamp. Please manually <a href="%s">refresh</a> your product database and try again.', 'dhl', 'woocommerce-germanized' ), Settings::get_settings_url( 'internetmarke' ) ) );
|
692 |
+
}
|
693 |
+
}
|
694 |
+
|
695 |
+
/**
|
696 |
+
* @param DeutschePostLabel $label
|
697 |
+
* @param \stdClass $stamp
|
698 |
+
*
|
699 |
+
* @return mixed
|
700 |
+
* @throws \Exception
|
701 |
+
*/
|
702 |
+
protected function update_default_label( &$label, $stamp ) {
|
703 |
+
if ( isset( $stamp->link ) ) {
|
704 |
+
|
705 |
+
$label->set_original_url( $stamp->link );
|
706 |
+
$voucher_list = $stamp->shoppingCart->voucherList;
|
707 |
+
|
708 |
+
if ( ! empty( $voucher_list->voucher ) ) {
|
709 |
+
foreach ( $voucher_list->voucher as $i => $voucher ) {
|
710 |
+
|
711 |
+
if ( isset( $voucher->trackId ) ) {
|
712 |
+
$label->set_number( $voucher->trackId );
|
713 |
+
} else {
|
714 |
+
$label->set_number( $voucher->voucherId );
|
715 |
+
}
|
716 |
+
|
717 |
+
$label->set_voucher_id( $voucher->voucherId );
|
718 |
+
}
|
719 |
+
}
|
720 |
+
|
721 |
+
if ( isset( $stamp->manifestLink ) ) {
|
722 |
+
$label->set_manifest_url( $stamp->manifestLink );
|
723 |
+
}
|
724 |
+
|
725 |
+
$label->save();
|
726 |
+
|
727 |
+
$timeout_seconds = 5;
|
728 |
+
|
729 |
+
if ( ! function_exists( 'download_url' ) ) {
|
730 |
+
include_once( ABSPATH . 'wp-admin/includes/file.php' );
|
731 |
+
}
|
732 |
+
|
733 |
+
if ( ! function_exists( 'download_url' ) ) {
|
734 |
+
throw new \Exception( _x( 'Error while downloading the PDF stamp.', 'dhl', 'woocommerce-germanized' ) );
|
735 |
+
}
|
736 |
+
|
737 |
+
// Download file to temp dir.
|
738 |
+
$temp_file = download_url( $stamp->link, $timeout_seconds );
|
739 |
+
|
740 |
+
if ( is_wp_error( $temp_file ) ) {
|
741 |
+
throw new \Exception( _x( 'Error while downloading the PDF stamp.', 'dhl', 'woocommerce-germanized' ) );
|
742 |
+
}
|
743 |
+
|
744 |
+
$file = [
|
745 |
+
'name' => wc_gzd_dhl_generate_label_filename( $label, 'dp-label' ),
|
746 |
+
'type' => 'application/pdf',
|
747 |
+
'tmp_name' => $temp_file,
|
748 |
+
'error' => 0,
|
749 |
+
'size' => filesize( $temp_file ),
|
750 |
+
];
|
751 |
+
|
752 |
+
$overrides = [
|
753 |
+
'test_type' => false,
|
754 |
+
'test_form' => false,
|
755 |
+
'test_size' => true,
|
756 |
+
];
|
757 |
+
|
758 |
+
// Move the temporary file into the fonts uploads directory.
|
759 |
+
Package::set_upload_dir_filter();
|
760 |
+
$results = wp_handle_sideload( $file, $overrides );
|
761 |
+
Package::unset_upload_dir_filter();
|
762 |
+
|
763 |
+
if ( empty( $results['error'] ) ) {
|
764 |
+
$path = Package::get_relative_upload_dir( $results['file'] );
|
765 |
+
|
766 |
+
$label->set_path( $path );
|
767 |
+
$label->set_default_path( $path );
|
768 |
+
} else {
|
769 |
+
throw new \Exception( _x( 'Error while downloading the PDF stamp.', 'dhl', 'woocommerce-germanized' ) );
|
770 |
+
}
|
771 |
+
|
772 |
+
$label->save();
|
773 |
+
|
774 |
+
return $label;
|
775 |
+
} else {
|
776 |
+
throw new \Exception( _x( 'Invalid stamp response.', 'dhl', 'woocommerce-germanized' ) );
|
777 |
+
}
|
778 |
+
}
|
779 |
+
|
780 |
+
public function update_products() {
|
781 |
+
$this->load_products();
|
782 |
+
|
783 |
+
return $this->products->update();
|
784 |
+
}
|
785 |
+
}
|
packages/woocommerce-germanized-dhl/src/Api/LabelSoap.php
CHANGED
@@ -97,7 +97,11 @@ class LabelSoap extends Soap {
|
|
97 |
switch( $e->getMessage() ) {
|
98 |
case "Unauthorized":
|
99 |
throw new Exception( _x( 'Your DHL API credentials seem to be invalid. Please check your DHL settings.', 'dhl', 'woocommerce-germanized' ) );
|
100 |
-
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
|
103 |
throw $e;
|
@@ -644,60 +648,35 @@ class LabelSoap extends Soap {
|
|
644 |
throw new Exception( sprintf( _x( 'Only %s shipment items can be processed, your shipment has %s items.', 'dhl', 'woocommerce-germanized' ), self::DHL_MAX_ITEMS, sizeof( $shipment->get_items() ) ) );
|
645 |
}
|
646 |
|
647 |
-
$
|
648 |
-
$
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
$dhl_product = wc_gzd_dhl_get_product( $product );
|
670 |
-
}
|
671 |
-
|
672 |
-
$json_item = array(
|
673 |
-
'description' => substr( $item->get_name(), 0, 255 ),
|
674 |
-
'countryCodeOrigin' => $dhl_product ? $dhl_product->get_manufacture_country() : '',
|
675 |
-
'customsTariffNumber' => $dhl_product ? $dhl_product->get_hs_code() : '',
|
676 |
-
'amount' => intval( $item->get_quantity() ),
|
677 |
-
'netWeightInKG' => wc_format_decimal( $per_item_weight, 2 ),
|
678 |
-
'customsValue' => wc_format_decimal( $product_total, 2 ),
|
679 |
-
);
|
680 |
-
|
681 |
-
array_push($customsDetails, $json_item );
|
682 |
-
}
|
683 |
-
|
684 |
-
$item_description = substr( $item_description, 0, 255 );
|
685 |
-
|
686 |
-
$dhl_label_body['ShipmentOrder']['Shipment']['ExportDocument'] = array(
|
687 |
-
'invoiceNumber' => $shipment->get_id(),
|
688 |
-
'exportType' => 'COMMERCIAL_GOODS',
|
689 |
-
'exportTypeDescription' => $item_description,
|
690 |
-
'termsOfTrade' => $label->get_duties(),
|
691 |
-
'placeOfCommital' => $shipment->get_country(),
|
692 |
-
'ExportDocPosition' => $customsDetails
|
693 |
-
);
|
694 |
}
|
695 |
|
696 |
// Unset/remove any items that are empty strings or 0, even if required!
|
697 |
$this->body_request = $this->walk_recursive_remove( $dhl_label_body );
|
698 |
|
699 |
// Ensure Export Document is set before adding additional fee
|
700 |
-
if ( isset( $this->body_request['ShipmentOrder']['Shipment']['ExportDocument'] ) ) {
|
701 |
// Additional fees, required and 0 so place after check
|
702 |
$this->body_request['ShipmentOrder']['Shipment']['ExportDocument']['additionalFee'] = 0;
|
703 |
}
|
97 |
switch( $e->getMessage() ) {
|
98 |
case "Unauthorized":
|
99 |
throw new Exception( _x( 'Your DHL API credentials seem to be invalid. Please check your DHL settings.', 'dhl', 'woocommerce-germanized' ) );
|
100 |
+
break;
|
101 |
+
case "SOAP-ERROR: Encoding: object has no 'customsTariffNumber' property":
|
102 |
+
case "SOAP-ERROR: Encoding: object has no 'countryCodeOrigin' property":
|
103 |
+
throw new Exception( _x( 'Your products are missing data relevant for custom declarations. Please provide missing DHL fields (country of origin, HS code) in your product data > shipping tab.', 'dhl', 'woocommerce-germanized' ) );
|
104 |
+
break;
|
105 |
}
|
106 |
|
107 |
throw $e;
|
648 |
throw new Exception( sprintf( _x( 'Only %s shipment items can be processed, your shipment has %s items.', 'dhl', 'woocommerce-germanized' ), self::DHL_MAX_ITEMS, sizeof( $shipment->get_items() ) ) );
|
649 |
}
|
650 |
|
651 |
+
$customs_data = wc_gzd_dhl_get_shipment_customs_data( $label );
|
652 |
+
$customs_data['termsOfTrade'] = $label->get_duties();
|
653 |
+
|
654 |
+
/**
|
655 |
+
* Filter to allow adjusting the export type of a DHL label (for customs). Could be:
|
656 |
+
* <ul>
|
657 |
+
* <li>OTHER</li>
|
658 |
+
* <li>PRESENT</li>
|
659 |
+
* <li>COMMERCIAL_SAMPLE</li>
|
660 |
+
* <li>DOCUMENT</li>
|
661 |
+
* <li>RETURN_OF_GOODS</li>
|
662 |
+
* <li>COMMERCIAL_GOODS</li>
|
663 |
+
* </ul>
|
664 |
+
*
|
665 |
+
* @param string $export_type The export type.
|
666 |
+
* @param Label $label The label instance.
|
667 |
+
*
|
668 |
+
* @since 3.3.0
|
669 |
+
* @package Vendidero/Germanized/DHL
|
670 |
+
*/
|
671 |
+
$customs_data['exportType'] = strtoupper( apply_filters( 'woocommerce_gzd_dhl_label_api_export_type', 'COMMERCIAL_GOODS', $label ) );
|
672 |
+
$dhl_label_body['ShipmentOrder']['Shipment']['ExportDocument'] = $customs_data;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
673 |
}
|
674 |
|
675 |
// Unset/remove any items that are empty strings or 0, even if required!
|
676 |
$this->body_request = $this->walk_recursive_remove( $dhl_label_body );
|
677 |
|
678 |
// Ensure Export Document is set before adding additional fee
|
679 |
+
if ( isset( $this->body_request['ShipmentOrder']['Shipment']['ExportDocument'] ) && ! isset( $this->body_request['ShipmentOrder']['Shipment']['ExportDocument']['additionalFee'] ) ) {
|
680 |
// Additional fees, required and 0 so place after check
|
681 |
$this->body_request['ShipmentOrder']['Shipment']['ExportDocument']['additionalFee'] = 0;
|
682 |
}
|
packages/woocommerce-germanized-dhl/src/Api/Paket.php
CHANGED
@@ -44,16 +44,24 @@ class Paket {
|
|
44 |
}
|
45 |
|
46 |
public function get_label_api() {
|
|
|
|
|
47 |
if ( is_null( $this->label_api ) ) {
|
48 |
try {
|
49 |
$this->label_api = new LabelSoap();
|
50 |
} catch( Exception $e ) {
|
|
|
|
|
51 |
$this->label_api = null;
|
52 |
}
|
53 |
}
|
54 |
|
55 |
if ( is_null( $this->label_api ) ) {
|
56 |
-
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
|
59 |
return $this->label_api;
|
44 |
}
|
45 |
|
46 |
public function get_label_api() {
|
47 |
+
$error_message = '';
|
48 |
+
|
49 |
if ( is_null( $this->label_api ) ) {
|
50 |
try {
|
51 |
$this->label_api = new LabelSoap();
|
52 |
} catch( Exception $e ) {
|
53 |
+
$error_message = $e->getMessage();
|
54 |
+
|
55 |
$this->label_api = null;
|
56 |
}
|
57 |
}
|
58 |
|
59 |
if ( is_null( $this->label_api ) ) {
|
60 |
+
if ( ! empty( $error_message ) ) {
|
61 |
+
throw new Exception( sprintf( _x( 'Label API not available: %s', 'dhl', 'woocommerce-germanized' ), $error_message ) );
|
62 |
+
} else {
|
63 |
+
throw new Exception( _x( 'Label API not available', 'dhl', 'woocommerce-germanized' ) );
|
64 |
+
}
|
65 |
}
|
66 |
|
67 |
return $this->label_api;
|
packages/woocommerce-germanized-dhl/src/Api/ParcelRest.php
CHANGED
@@ -38,7 +38,7 @@ class ParcelRest extends Rest {
|
|
38 |
return $this->get_request( '/checkout/' . $args['postcode'] . '/availableServices', array( 'startDate' => $args['start_date'] ) );
|
39 |
}
|
40 |
|
41 |
-
protected function set_header( $authorization = '' ) {
|
42 |
parent::set_header();
|
43 |
|
44 |
if ( ! empty( $authorization ) ) {
|
38 |
return $this->get_request( '/checkout/' . $args['postcode'] . '/availableServices', array( 'startDate' => $args['start_date'] ) );
|
39 |
}
|
40 |
|
41 |
+
protected function set_header( $authorization = '', $request_type = 'GET', $endpoint = '' ) {
|
42 |
parent::set_header();
|
43 |
|
44 |
if ( ! empty( $authorization ) ) {
|
packages/woocommerce-germanized-dhl/src/Api/Rest.php
CHANGED
@@ -58,10 +58,10 @@ abstract class Rest {
|
|
58 |
return $this->get_basic_auth_encode( Package::get_cig_user(), Package::get_cig_password() );
|
59 |
}
|
60 |
|
61 |
-
public function get_request( $endpoint = '', $query_args = array() ) {
|
62 |
-
|
63 |
|
64 |
-
$this->set_header( $this->get_auth() );
|
65 |
|
66 |
$wp_request_url = add_query_arg( $query_args, $api_url . $endpoint );
|
67 |
$wp_request_headers = $this->get_header();
|
@@ -77,51 +77,63 @@ abstract class Rest {
|
|
77 |
);
|
78 |
|
79 |
$response_code = wp_remote_retrieve_response_code( $wp_dhl_rest_response );
|
80 |
-
$response_body =
|
|
|
|
|
|
|
|
|
81 |
|
82 |
Package::log( 'GET Response Code: ' . $response_code );
|
83 |
Package::log( 'GET Response Body: ' . print_r( $response_body, true ) );
|
84 |
|
85 |
-
|
86 |
-
case '200':
|
87 |
-
case '201':
|
88 |
-
break;
|
89 |
-
case '400':
|
90 |
-
$error_message = str_replace('/', ' / ', isset( $response_body->statusText ) ? $response_body->statusText : '' );
|
91 |
-
throw new Exception( _x( '400 - ', 'dhl', 'woocommerce-germanized' ) . $error_message );
|
92 |
-
break;
|
93 |
-
case '401':
|
94 |
-
throw new Exception( _x( '401 - Unauthorized Access - Invalid token or Authentication Header parameter', 'dhl', 'woocommerce-germanized' ) );
|
95 |
-
break;
|
96 |
-
case '408':
|
97 |
-
throw new Exception( _x( '408 - Request Timeout', 'dhl', 'woocommerce-germanized' ) );
|
98 |
-
break;
|
99 |
-
case '429':
|
100 |
-
throw new Exception( _x( '429 - Too many requests in given amount of time', 'dhl', 'woocommerce-germanized' ) );
|
101 |
-
break;
|
102 |
-
case '503':
|
103 |
-
throw new Exception( _x( '503 - Service Unavailable', 'dhl', 'woocommerce-germanized' ) );
|
104 |
-
break;
|
105 |
-
default:
|
106 |
-
if ( empty( $response_body->statusText ) ) {
|
107 |
-
$error_message = _x( 'GET error or timeout occured. Please try again later.', 'dhl', 'woocommerce-germanized' );
|
108 |
-
} else {
|
109 |
-
$error_message = str_replace('/', ' / ', $response_body->statusText);
|
110 |
-
}
|
111 |
-
|
112 |
-
Package::log( 'GET Error: ' . $response_code . ' - ' . $error_message );
|
113 |
-
|
114 |
-
throw new Exception( $response_code .' - ' . $error_message );
|
115 |
-
break;
|
116 |
-
}
|
117 |
|
118 |
return $response_body;
|
119 |
}
|
120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
public function post_request( $endpoint = '', $query_args = array() ) {
|
122 |
-
$api_url
|
123 |
|
124 |
-
$this->set_header( $this->get_auth() );
|
125 |
|
126 |
$wp_request_url = $api_url . $endpoint;
|
127 |
$wp_request_headers = $this->get_header();
|
@@ -143,6 +155,12 @@ abstract class Rest {
|
|
143 |
Package::log( 'POST Response Code: ' . $response_code );
|
144 |
Package::log( 'POST Response Body: ' . print_r( $response_body, true ) );
|
145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
switch ( $response_code ) {
|
147 |
case '200':
|
148 |
case '201':
|
@@ -159,15 +177,13 @@ abstract class Rest {
|
|
159 |
throw new Exception( $response_code .' - ' . $error_message );
|
160 |
break;
|
161 |
}
|
162 |
-
|
163 |
-
return $response_body;
|
164 |
}
|
165 |
|
166 |
protected function get_basic_auth_encode( $user, $pass ) {
|
167 |
return 'Basic ' . base64_encode( $user . ':' . $pass );
|
168 |
}
|
169 |
|
170 |
-
protected function set_header( $authorization = '' ) {
|
171 |
$wp_version = get_bloginfo( 'version' );
|
172 |
$wc_version = defined( 'WC_Version' ) ? WC_Version : '';
|
173 |
|
@@ -176,7 +192,7 @@ abstract class Rest {
|
|
176 |
$dhl_header['Authorization'] = 'Bearer ' . $authorization;
|
177 |
$dhl_header['User-Agent'] = 'WooCommerce/'. $wc_version . ' (WordPress/'. $wp_version . ') Germanized-DHL/' . Package::get_version();
|
178 |
|
179 |
-
$this->remote_header =
|
180 |
}
|
181 |
|
182 |
protected function get_header( ) {
|
58 |
return $this->get_basic_auth_encode( Package::get_cig_user(), Package::get_cig_password() );
|
59 |
}
|
60 |
|
61 |
+
public function get_request( $endpoint = '', $query_args = array(), $content_type = 'json' ) {
|
62 |
+
$api_url = $this->get_base_url();
|
63 |
|
64 |
+
$this->set_header( $this->get_auth(), 'GET', $endpoint );
|
65 |
|
66 |
$wp_request_url = add_query_arg( $query_args, $api_url . $endpoint );
|
67 |
$wp_request_headers = $this->get_header();
|
77 |
);
|
78 |
|
79 |
$response_code = wp_remote_retrieve_response_code( $wp_dhl_rest_response );
|
80 |
+
$response_body = wp_remote_retrieve_body( $wp_dhl_rest_response );
|
81 |
+
|
82 |
+
if ( 'json' === $content_type ) {
|
83 |
+
$response_body = json_decode( $response_body );
|
84 |
+
}
|
85 |
|
86 |
Package::log( 'GET Response Code: ' . $response_code );
|
87 |
Package::log( 'GET Response Body: ' . print_r( $response_body, true ) );
|
88 |
|
89 |
+
$this->handle_get_response( $response_code, $response_body );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
|
91 |
return $response_body;
|
92 |
}
|
93 |
|
94 |
+
protected function handle_get_response( $response_code, $response_body ) {
|
95 |
+
switch ( $response_code ) {
|
96 |
+
case '200':
|
97 |
+
case '201':
|
98 |
+
break;
|
99 |
+
case '400':
|
100 |
+
$error_message = str_replace('/', ' / ', isset( $response_body->statusText ) ? $response_body->statusText : '' );
|
101 |
+
throw new Exception( _x( '400 - ', 'dhl', 'woocommerce-germanized' ) . $error_message );
|
102 |
+
break;
|
103 |
+
case '401':
|
104 |
+
throw new Exception( _x( '401 - Unauthorized Access - Invalid token or Authentication Header parameter', 'dhl', 'woocommerce-germanized' ) );
|
105 |
+
break;
|
106 |
+
case '408':
|
107 |
+
throw new Exception( _x( '408 - Request Timeout', 'dhl', 'woocommerce-germanized' ) );
|
108 |
+
break;
|
109 |
+
case '429':
|
110 |
+
throw new Exception( _x( '429 - Too many requests in given amount of time', 'dhl', 'woocommerce-germanized' ) );
|
111 |
+
break;
|
112 |
+
case '503':
|
113 |
+
throw new Exception( _x( '503 - Service Unavailable', 'dhl', 'woocommerce-germanized' ) );
|
114 |
+
break;
|
115 |
+
default:
|
116 |
+
if ( empty( $response_body->statusText ) ) {
|
117 |
+
$error_message = _x( 'GET error or timeout occured. Please try again later.', 'dhl', 'woocommerce-germanized' );
|
118 |
+
} else {
|
119 |
+
$error_message = str_replace('/', ' / ', $response_body->statusText);
|
120 |
+
}
|
121 |
+
|
122 |
+
Package::log( 'GET Error: ' . $response_code . ' - ' . $error_message );
|
123 |
+
|
124 |
+
throw new Exception( $response_code .' - ' . $error_message );
|
125 |
+
break;
|
126 |
+
}
|
127 |
+
}
|
128 |
+
|
129 |
+
public function get_base_url() {
|
130 |
+
return Package::get_rest_url();
|
131 |
+
}
|
132 |
+
|
133 |
public function post_request( $endpoint = '', $query_args = array() ) {
|
134 |
+
$api_url = $this->get_base_url();
|
135 |
|
136 |
+
$this->set_header( $this->get_auth(), 'POST', $endpoint );
|
137 |
|
138 |
$wp_request_url = $api_url . $endpoint;
|
139 |
$wp_request_headers = $this->get_header();
|
155 |
Package::log( 'POST Response Code: ' . $response_code );
|
156 |
Package::log( 'POST Response Body: ' . print_r( $response_body, true ) );
|
157 |
|
158 |
+
$this->handle_post_response( $response_code, $response_body );
|
159 |
+
|
160 |
+
return $response_body;
|
161 |
+
}
|
162 |
+
|
163 |
+
protected function handle_post_response( $response_code, $response_body ) {
|
164 |
switch ( $response_code ) {
|
165 |
case '200':
|
166 |
case '201':
|
177 |
throw new Exception( $response_code .' - ' . $error_message );
|
178 |
break;
|
179 |
}
|
|
|
|
|
180 |
}
|
181 |
|
182 |
protected function get_basic_auth_encode( $user, $pass ) {
|
183 |
return 'Basic ' . base64_encode( $user . ':' . $pass );
|
184 |
}
|
185 |
|
186 |
+
protected function set_header( $authorization = '', $request_type = 'GET', $endpoint = '' ) {
|
187 |
$wp_version = get_bloginfo( 'version' );
|
188 |
$wc_version = defined( 'WC_Version' ) ? WC_Version : '';
|
189 |
|
192 |
$dhl_header['Authorization'] = 'Bearer ' . $authorization;
|
193 |
$dhl_header['User-Agent'] = 'WooCommerce/'. $wc_version . ' (WordPress/'. $wp_version . ') Germanized-DHL/' . Package::get_version();
|
194 |
|
195 |
+
$this->remote_header = $dhl_header;
|
196 |
}
|
197 |
|
198 |
protected function get_header( ) {
|
packages/woocommerce-germanized-dhl/src/Api/ReturnRest.php
CHANGED
@@ -163,7 +163,7 @@ class ReturnRest extends Rest {
|
|
163 |
return base64_encode( Package::get_retoure_api_user() . ':' . Package::get_retoure_api_signature() );
|
164 |
}
|
165 |
|
166 |
-
protected function set_header( $authorization = '' ) {
|
167 |
parent::set_header();
|
168 |
|
169 |
if ( ! empty( $authorization ) ) {
|
163 |
return base64_encode( Package::get_retoure_api_user() . ':' . Package::get_retoure_api_signature() );
|
164 |
}
|
165 |
|
166 |
+
protected function set_header( $authorization = '', $request_type = 'GET', $endpoint = '' ) {
|
167 |
parent::set_header();
|
168 |
|
169 |
if ( ! empty( $authorization ) ) {
|
packages/woocommerce-germanized-dhl/src/Api/Soap.php
CHANGED
@@ -7,6 +7,7 @@
|
|
7 |
namespace Vendidero\Germanized\DHL\Api;
|
8 |
|
9 |
use Exception;
|
|
|
10 |
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
@@ -49,6 +50,10 @@ abstract class Soap {
|
|
49 |
*/
|
50 |
public function __construct( $wsdl_link ) {
|
51 |
try {
|
|
|
|
|
|
|
|
|
52 |
$this->soap_auth = new AuthSoap( $wsdl_link );
|
53 |
} catch ( Exception $e ) {
|
54 |
throw $e;
|
7 |
namespace Vendidero\Germanized\DHL\Api;
|
8 |
|
9 |
use Exception;
|
10 |
+
use Vendidero\Germanized\DHL\Package;
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit;
|
13 |
|
50 |
*/
|
51 |
public function __construct( $wsdl_link ) {
|
52 |
try {
|
53 |
+
if ( ! Package::has_load_dependencies() ) {
|
54 |
+
throw new Exception( sprintf( _x( 'To enable communication between your shop and DHL, the PHP <a href="%s">SOAPClient</a> is required. Please contact your host and make sure that SOAPClient is <a href="%s">installed</a>.', 'dhl', 'woocommerce-germanize-dhl' ), 'https://www.php.net/manual/class.soapclient.php', admin_url( 'admin.php?page=wc-status' ) ) );
|
55 |
+
}
|
56 |
+
|
57 |
$this->soap_auth = new AuthSoap( $wsdl_link );
|
58 |
} catch ( Exception $e ) {
|
59 |
throw $e;
|
packages/woocommerce-germanized-dhl/src/Automation.php
CHANGED
@@ -65,9 +65,19 @@ class Automation {
|
|
65 |
return;
|
66 |
}
|
67 |
|
68 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
$setting = 'return' === $shipment->get_type() ? 'label_return_auto_enable' : 'label_auto_enable';
|
70 |
$setting_status = 'return' === $shipment->get_type() ? 'label_return_auto_shipment_status' : 'label_auto_shipment_status';
|
|
|
|
|
71 |
$hook_prefix = 'woocommerce_gzd_' . ( 'return' === $shipment->get_type() ? 'return_' : '' ) . 'shipment_status_';
|
72 |
|
73 |
if ( 'yes' === Package::get_setting( $setting, $shipping_method ) ) {
|
65 |
return;
|
66 |
}
|
67 |
|
68 |
+
$method_prefix = '';
|
69 |
+
|
70 |
+
if ( 'deutsche_post' === $shipment->get_shipping_provider() ) {
|
71 |
+
$shipping_method = wc_gzd_dhl_get_deutsche_post_shipping_method( $shipment->get_shipping_method() );
|
72 |
+
$method_prefix = 'deutsche_post_';
|
73 |
+
} else {
|
74 |
+
$shipping_method = wc_gzd_dhl_get_shipping_method( $shipment->get_shipping_method() );
|
75 |
+
}
|
76 |
+
|
77 |
$setting = 'return' === $shipment->get_type() ? 'label_return_auto_enable' : 'label_auto_enable';
|
78 |
$setting_status = 'return' === $shipment->get_type() ? 'label_return_auto_shipment_status' : 'label_auto_shipment_status';
|
79 |
+
$setting = $method_prefix . $setting;
|
80 |
+
$setting_status = $method_prefix . $setting_status;
|
81 |
$hook_prefix = 'woocommerce_gzd_' . ( 'return' === $shipment->get_type() ? 'return_' : '' ) . 'shipment_status_';
|
82 |
|
83 |
if ( 'yes' === Package::get_setting( $setting, $shipping_method ) ) {
|
packages/woocommerce-germanized-dhl/src/DataStores/Label.php
CHANGED
@@ -62,6 +62,15 @@ class Label extends WC_Data_Store_WP implements WC_Object_Data_Store_Interface {
|
|
62 |
'_weight',
|
63 |
'_created_via',
|
64 |
'_receiver_slug',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
);
|
66 |
|
67 |
/*
|
@@ -353,7 +362,7 @@ class Label extends WC_Data_Store_WP implements WC_Object_Data_Store_Interface {
|
|
353 |
$props = array();
|
354 |
|
355 |
foreach( $this->internal_meta_keys as $meta_key ) {
|
356 |
-
$props[ substr( $meta_key, 1 ) ] = get_metadata(
|
357 |
}
|
358 |
|
359 |
$label->set_props( $props );
|
@@ -373,7 +382,7 @@ class Label extends WC_Data_Store_WP implements WC_Object_Data_Store_Interface {
|
|
373 |
$meta_key_to_props[ $meta_key ] = $prop_name;
|
374 |
}
|
375 |
|
376 |
-
$props_to_update = $this->get_props_to_update( $label, $meta_key_to_props,
|
377 |
|
378 |
foreach ( $props_to_update as $meta_key => $prop ) {
|
379 |
|
@@ -439,9 +448,9 @@ class Label extends WC_Data_Store_WP implements WC_Object_Data_Store_Interface {
|
|
439 |
*/
|
440 |
protected function update_or_delete_meta( $object, $meta_key, $meta_value ) {
|
441 |
if ( in_array( $meta_value, array( array(), '' ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) {
|
442 |
-
$updated = delete_metadata(
|
443 |
} else {
|
444 |
-
$updated = update_metadata(
|
445 |
}
|
446 |
|
447 |
return (bool) $updated;
|
62 |
'_weight',
|
63 |
'_created_via',
|
64 |
'_receiver_slug',
|
65 |
+
'_page_format',
|
66 |
+
'_shop_order_id',
|
67 |
+
'_stamp_total',
|
68 |
+
'_voucher_id',
|
69 |
+
'_original_url',
|
70 |
+
'_manifest_url',
|
71 |
+
'_additional_services',
|
72 |
+
'_wp_int_awb',
|
73 |
+
'_wp_int_barcode',
|
74 |
);
|
75 |
|
76 |
/*
|
362 |
$props = array();
|
363 |
|
364 |
foreach( $this->internal_meta_keys as $meta_key ) {
|
365 |
+
$props[ substr( $meta_key, 1 ) ] = get_metadata( $this->meta_type, $label->get_id(), $meta_key, true );
|
366 |
}
|
367 |
|
368 |
$label->set_props( $props );
|
382 |
$meta_key_to_props[ $meta_key ] = $prop_name;
|
383 |
}
|
384 |
|
385 |
+
$props_to_update = $this->get_props_to_update( $label, $meta_key_to_props, $this->meta_type );
|
386 |
|
387 |
foreach ( $props_to_update as $meta_key => $prop ) {
|
388 |
|
448 |
*/
|
449 |
protected function update_or_delete_meta( $object, $meta_key, $meta_value ) {
|
450 |
if ( in_array( $meta_value, array( array(), '' ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) {
|
451 |
+
$updated = delete_metadata( $this->meta_type, $object->get_id(), $meta_key );
|
452 |
} else {
|
453 |
+
$updated = update_metadata( $this->meta_type, $object->get_id(), $meta_key, $meta_value );
|
454 |
}
|
455 |
|
456 |
return (bool) $updated;
|
packages/woocommerce-germanized-dhl/src/DeutschePostLabel.php
ADDED
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL;
|
4 |
+
|
5 |
+
defined( 'ABSPATH' ) || exit;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Deutsche Post Label class.
|
9 |
+
*/
|
10 |
+
class DeutschePostLabel extends Label {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Stores product data.
|
14 |
+
*
|
15 |
+
* @var array
|
16 |
+
*/
|
17 |
+
protected $extra_data = array(
|
18 |
+
'page_format' => '',
|
19 |
+
'shop_order_id' => '',
|
20 |
+
'stamp_total' => 0,
|
21 |
+
'voucher_id' => '',
|
22 |
+
'original_url' => '',
|
23 |
+
'manifest_url' => '',
|
24 |
+
'additional_services' => array(),
|
25 |
+
'wp_int_awb' => '',
|
26 |
+
'wp_int_barcode' => '',
|
27 |
+
);
|
28 |
+
|
29 |
+
public function get_type() {
|
30 |
+
return 'deutsche_post';
|
31 |
+
}
|
32 |
+
|
33 |
+
public function get_number( $context = 'view' ) {
|
34 |
+
$number = parent::get_number( $context );
|
35 |
+
|
36 |
+
return $number;
|
37 |
+
}
|
38 |
+
|
39 |
+
public function get_page_format( $context = 'view' ) {
|
40 |
+
return $this->get_prop( 'page_format', $context );
|
41 |
+
}
|
42 |
+
|
43 |
+
public function get_wp_int_awb( $context = 'view' ) {
|
44 |
+
return $this->get_prop( 'wp_int_awb', $context );
|
45 |
+
}
|
46 |
+
|
47 |
+
public function get_wp_int_barcode( $context = 'view' ) {
|
48 |
+
return $this->get_prop( 'wp_int_barcode', $context );
|
49 |
+
}
|
50 |
+
|
51 |
+
public function get_additional_services( $context = 'view' ) {
|
52 |
+
return $this->get_prop( 'additional_services', $context );
|
53 |
+
}
|
54 |
+
|
55 |
+
public function set_additional_services( $value ) {
|
56 |
+
$this->set_prop( 'additional_services', (array) $value );
|
57 |
+
}
|
58 |
+
|
59 |
+
public function set_page_format( $value ) {
|
60 |
+
$this->set_prop( 'page_format', $value );
|
61 |
+
}
|
62 |
+
|
63 |
+
public function set_wp_int_awb( $value ) {
|
64 |
+
$this->set_prop( 'wp_int_awb', $value );
|
65 |
+
}
|
66 |
+
|
67 |
+
public function set_wp_int_barcode( $value ) {
|
68 |
+
$this->set_prop( 'wp_int_barcode', $value );
|
69 |
+
}
|
70 |
+
|
71 |
+
public function get_stamp_total( $context = 'view' ) {
|
72 |
+
return $this->get_prop( 'stamp_total', $context );
|
73 |
+
}
|
74 |
+
|
75 |
+
public function set_stamp_total( $value ) {
|
76 |
+
$this->set_prop( 'stamp_total', absint( $value ) );
|
77 |
+
}
|
78 |
+
|
79 |
+
public function get_shop_order_id( $context = 'view' ) {
|
80 |
+
return $this->get_prop( 'shop_order_id', $context );
|
81 |
+
}
|
82 |
+
|
83 |
+
public function set_shop_order_id( $value ) {
|
84 |
+
$this->set_prop( 'shop_order_id', $value );
|
85 |
+
}
|
86 |
+
|
87 |
+
public function set_dhl_product( $product ) {
|
88 |
+
$this->set_prop( 'dhl_product', $product );
|
89 |
+
}
|
90 |
+
|
91 |
+
public function get_voucher_id( $context = 'view' ) {
|
92 |
+
return $this->get_prop( 'voucher_id', $context );
|
93 |
+
}
|
94 |
+
|
95 |
+
public function set_voucher_id( $value ) {
|
96 |
+
$this->set_prop( 'voucher_id', $value );
|
97 |
+
}
|
98 |
+
|
99 |
+
public function get_original_url( $context = 'view' ) {
|
100 |
+
return $this->get_prop( 'original_url', $context );
|
101 |
+
}
|
102 |
+
|
103 |
+
public function set_original_url( $value ) {
|
104 |
+
$this->set_prop( 'original_url', $value );
|
105 |
+
}
|
106 |
+
|
107 |
+
public function get_manifest_url( $context = 'view' ) {
|
108 |
+
return $this->get_prop( 'manifest_url', $context );
|
109 |
+
}
|
110 |
+
|
111 |
+
public function set_manifest_url( $value ) {
|
112 |
+
$this->set_prop( 'manifest_url', $value );
|
113 |
+
}
|
114 |
+
|
115 |
+
public function is_warenpost_international() {
|
116 |
+
if ( ! empty( $this->get_wp_int_awb() ) ) {
|
117 |
+
return true;
|
118 |
+
} elseif ( $api = Package::get_internetmarke_api() ) {
|
119 |
+
return $api->is_warenpost_international( $this->get_dhl_product() );
|
120 |
+
}
|
121 |
+
|
122 |
+
return false;
|
123 |
+
}
|
124 |
+
|
125 |
+
public function is_trackable() {
|
126 |
+
$voucher_id = $this->get_voucher_id();
|
127 |
+
|
128 |
+
if ( ! empty( $voucher_id ) && $voucher_id !== $this->get_number() ) {
|
129 |
+
return true;
|
130 |
+
} elseif ( in_array( $this->get_dhl_product(), [ 232, 233, 234, 238, 1007, 195, 1017, 196, 1027, 197, 1037, 198, 1047, 199, 1057, 200 ] ) ) {
|
131 |
+
return true;
|
132 |
+
} elseif( ! empty( $this->get_wp_int_barcode() ) && in_array( 'TRCK', $this->get_additional_services() ) ) {
|
133 |
+
return true;
|
134 |
+
}
|
135 |
+
|
136 |
+
return false;
|
137 |
+
}
|
138 |
+
}
|
packages/woocommerce-germanized-dhl/src/DeutschePostReturnLabel.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL;
|
4 |
+
use Vendidero\Germanized\Shipments\Interfaces\ShipmentReturnLabel;
|
5 |
+
|
6 |
+
defined( 'ABSPATH' ) || exit;
|
7 |
+
|
8 |
+
/**
|
9 |
+
* DHL ReturnLabel class.
|
10 |
+
*/
|
11 |
+
class DeutschePostReturnLabel extends DeutschePostLabel implements ShipmentReturnLabel {
|
12 |
+
|
13 |
+
protected function get_hook_prefix() {
|
14 |
+
return 'woocommerce_gzd_deutsche_post_return_label_get_';
|
15 |
+
}
|
16 |
+
|
17 |
+
public function get_type() {
|
18 |
+
return 'deutsche_post_return';
|
19 |
+
}
|
20 |
+
}
|
packages/woocommerce-germanized-dhl/src/DownloadHandler.php
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace Vendidero\Germanized\DHL
|
4 |
-
use Vendidero\Germanized\DHL\Package;
|
5 |
use WC_Download_Handler;
|
6 |
|
7 |
defined( 'ABSPATH' ) || exit;
|
1 |
<?php
|
2 |
|
3 |
+
namespace Vendidero\Germanized\DHL;
|
|
|
4 |
use WC_Download_Handler;
|
5 |
|
6 |
defined( 'ABSPATH' ) || exit;
|
packages/woocommerce-germanized-dhl/src/Install.php
CHANGED
@@ -65,6 +65,47 @@ CREATE TABLE {$wpdb->prefix}woocommerce_gzd_dhl_labels (
|
|
65 |
KEY label_shipment_id (label_shipment_id),
|
66 |
KEY label_parent_id (label_parent_id)
|
67 |
) $collate;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_dhl_labelmeta (
|
69 |
meta_id BIGINT UNSIGNED NOT NULL auto_increment,
|
70 |
gzd_dhl_label_id BIGINT UNSIGNED NOT NULL,
|
65 |
KEY label_shipment_id (label_shipment_id),
|
66 |
KEY label_parent_id (label_parent_id)
|
67 |
) $collate;
|
68 |
+
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_dhl_im_products (
|
69 |
+
product_id BIGINT UNSIGNED NOT NULL auto_increment,
|
70 |
+
product_im_id BIGINT UNSIGNED NOT NULL,
|
71 |
+
product_code INT(16) NOT NULL,
|
72 |
+
product_name varchar(150) NOT NULL DEFAULT '',
|
73 |
+
product_slug varchar(150) NOT NULL DEFAULT '',
|
74 |
+
product_version INT(5) NOT NULL DEFAULT 1,
|
75 |
+
product_annotation varchar(500) NOT NULL DEFAULT '',
|
76 |
+
product_description varchar(500) NOT NULL DEFAULT '',
|
77 |
+
product_information_text TEXT NOT NULL DEFAULT '',
|
78 |
+
product_type varchar(50) NOT NULL DEFAULT 'sales',
|
79 |
+
product_destination varchar(20) NOT NULL DEFAULT 'national',
|
80 |
+
product_price INT(8) NOT NULL,
|
81 |
+
product_length_min INT(8) NULL,
|
82 |
+
product_length_max INT(8) NULL,
|
83 |
+
product_length_unit VARCHAR(8) NULL,
|
84 |
+
product_width_min INT(8) NULL,
|
85 |
+
product_width_max INT(8) NULL,
|
86 |
+
product_width_unit VARCHAR(8) NULL,
|
87 |
+
product_height_min INT(8) NULL,
|
88 |
+
product_height_max INT(8) NULL,
|
89 |
+
product_height_unit VARCHAR(8) NULL,
|
90 |
+
product_weight_min INT(8) NULL,
|
91 |
+
product_weight_max INT(8) NULL,
|
92 |
+
product_weight_unit VARCHAR(8) NULL,
|
93 |
+
product_parent_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
94 |
+
product_service_count INT(3) NOT NULL DEFAULT 0,
|
95 |
+
product_is_wp_int INT(1) NOT NULL DEFAULT 0,
|
96 |
+
PRIMARY KEY (product_id),
|
97 |
+
KEY product_im_id (product_im_id),
|
98 |
+
KEY product_code (product_code)
|
99 |
+
) $collate;
|
100 |
+
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_dhl_im_product_services (
|
101 |
+
product_service_id BIGINT UNSIGNED NOT NULL auto_increment,
|
102 |
+
product_service_product_id BIGINT UNSIGNED NOT NULL,
|
103 |
+
product_service_product_parent_id BIGINT UNSIGNED NOT NULL,
|
104 |
+
product_service_slug VARCHAR(20) NOT NULL DEFAULT '',
|
105 |
+
PRIMARY KEY (product_service_id),
|
106 |
+
KEY product_service_product_id (product_service_product_id),
|
107 |
+
KEY product_service_product_parent_id (product_service_product_parent_id)
|
108 |
+
) $collate;
|
109 |
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_dhl_labelmeta (
|
110 |
meta_id BIGINT UNSIGNED NOT NULL auto_increment,
|
111 |
gzd_dhl_label_id BIGINT UNSIGNED NOT NULL,
|
packages/woocommerce-germanized-dhl/src/Label.php
CHANGED
@@ -1,9 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
namespace Vendidero\Germanized\DHL;
|
4 |
-
|
5 |
-
use Vendidero\Germanized\DHL\Admin\DownloadHandler;
|
6 |
-
use Vendidero\Germanized\Shipments\PDFMerger;
|
7 |
use Vendidero\Germanized\Shipments\Shipment;
|
8 |
use Vendidero\Germanized\Shipments\Interfaces\ShipmentLabel;
|
9 |
use WC_Data;
|
1 |
<?php
|
2 |
|
3 |
namespace Vendidero\Germanized\DHL;
|
4 |
+
|
|
|
|
|
5 |
use Vendidero\Germanized\Shipments\Shipment;
|
6 |
use Vendidero\Germanized\Shipments\Interfaces\ShipmentLabel;
|
7 |
use WC_Data;
|
packages/woocommerce-germanized-dhl/src/LabelWatcher.php
CHANGED
@@ -24,10 +24,20 @@ class LabelWatcher {
|
|
24 |
|
25 |
// Create labels if they do not yet exist
|
26 |
add_action( 'woocommerce_gzd_dhl_before_create_return_label', array( __CLASS__, 'create_return_label' ), 10, 1 );
|
27 |
-
add_action( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
// Delete label
|
30 |
add_action( 'woocommerce_gzd_dhl_label_deleted', array( __CLASS__, 'delete_label' ), 10, 2 );
|
|
|
|
|
31 |
|
32 |
// Sync shipment items
|
33 |
add_action( 'woocommerce_gzd_shipment_item_synced', array( __CLASS__, 'sync_item_meta' ), 10, 3 );
|
@@ -63,6 +73,19 @@ class LabelWatcher {
|
|
63 |
}
|
64 |
}
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
public static function update_label( $label ) {
|
67 |
try {
|
68 |
Package::get_api()->get_label( $label );
|
@@ -79,6 +102,20 @@ class LabelWatcher {
|
|
79 |
}
|
80 |
}
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
public static function delete_label( $label_id, $label ) {
|
83 |
try {
|
84 |
Package::get_api()->delete_label( $label );
|
24 |
|
25 |
// Create labels if they do not yet exist
|
26 |
add_action( 'woocommerce_gzd_dhl_before_create_return_label', array( __CLASS__, 'create_return_label' ), 10, 1 );
|
27 |
+
add_action( 'woocommerce_gzd_dhl_before_update_return_label', array( __CLASS__, 'update_return_label' ), 10, 1 );
|
28 |
+
|
29 |
+
// Create post labels if they do not yet exist
|
30 |
+
add_action( 'woocommerce_gzd_dhl_before_create_deutsche_post_label', array( __CLASS__, 'create_post_label' ), 10, 1 );
|
31 |
+
add_action( 'woocommerce_gzd_dhl_before_update_deutsche_post_label', array( __CLASS__, 'update_post_label' ), 10, 1 );
|
32 |
+
|
33 |
+
// Create post return labels if they do not yet exist
|
34 |
+
add_action( 'woocommerce_gzd_dhl_before_create_deutsche_post_return_label', array( __CLASS__, 'create_post_label' ), 10, 1 );
|
35 |
+
add_action( 'woocommerce_gzd_dhl_before_update_deutsche_post_return_label', array( __CLASS__, 'update_post_label' ), 10, 1 );
|
36 |
|
37 |
// Delete label
|
38 |
add_action( 'woocommerce_gzd_dhl_label_deleted', array( __CLASS__, 'delete_label' ), 10, 2 );
|
39 |
+
add_action( 'woocommerce_gzd_dhl_deutsche_post_label_deleted', array( __CLASS__, 'delete_post_label' ), 10, 2 );
|
40 |
+
add_action( 'woocommerce_gzd_dhl_deutsche_post_return_label_deleted', array( __CLASS__, 'delete_post_label' ), 10, 2 );
|
41 |
|
42 |
// Sync shipment items
|
43 |
add_action( 'woocommerce_gzd_shipment_item_synced', array( __CLASS__, 'sync_item_meta' ), 10, 3 );
|
73 |
}
|
74 |
}
|
75 |
|
76 |
+
/**
|
77 |
+
* @param DeutschePostLabel $label
|
78 |
+
*
|
79 |
+
* @throws Exception
|
80 |
+
*/
|
81 |
+
public static function create_post_label( $label ) {
|
82 |
+
try {
|
83 |
+
Package::get_internetmarke_api()->get_label( $label );
|
84 |
+
} catch( Exception $e ) {
|
85 |
+
throw new Exception( nl2br( $e->getMessage() ) );
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
public static function update_label( $label ) {
|
90 |
try {
|
91 |
Package::get_api()->get_label( $label );
|
102 |
}
|
103 |
}
|
104 |
|
105 |
+
public static function update_post_label( $label ) {
|
106 |
+
try {
|
107 |
+
Package::get_internetmarke_api()->get_label( $label );
|
108 |
+
} catch( Exception $e ) {
|
109 |
+
throw new Exception( nl2br( $e->getMessage() ) );
|
110 |
+
}
|
111 |
+
}
|
112 |
+
|
113 |
+
public static function delete_post_label( $label_id, $label ) {
|
114 |
+
try {
|
115 |
+
Package::get_internetmarke_api()->delete_label( $label );
|
116 |
+
} catch( Exception $e ) {}
|
117 |
+
}
|
118 |
+
|
119 |
public static function delete_label( $label_id, $label ) {
|
120 |
try {
|
121 |
Package::get_api()->delete_label( $label );
|
packages/woocommerce-germanized-dhl/src/Package.php
CHANGED
@@ -6,6 +6,9 @@ use DateTime;
|
|
6 |
use DateTimeZone;
|
7 |
use Exception;
|
8 |
use Vendidero\Germanized\DHL\Api\Paket;
|
|
|
|
|
|
|
9 |
use WP_Error;
|
10 |
|
11 |
defined( 'ABSPATH' ) || exit;
|
@@ -20,7 +23,7 @@ class Package {
|
|
20 |
*
|
21 |
* @var string
|
22 |
*/
|
23 |
-
const VERSION = '1.
|
24 |
|
25 |
public static $upload_dir_suffix = '';
|
26 |
|
@@ -31,7 +34,11 @@ class Package {
|
|
31 |
|
32 |
protected static $api = null;
|
33 |
|
|
|
|
|
34 |
protected static $method_settings = null;
|
|
|
|
|
35 |
|
36 |
protected static $iso = null;
|
37 |
|
@@ -54,22 +61,39 @@ class Package {
|
|
54 |
// Password Settings
|
55 |
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_api_sandbox_password', array( __CLASS__, 'sanitize_password_field' ), 10, 3 );
|
56 |
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_api_password', array( __CLASS__, 'sanitize_password_field' ), 10, 3 );
|
|
|
57 |
|
58 |
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_api_username', array( __CLASS__, 'sanitize_user_field' ), 10, 3 );
|
59 |
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_api_sandbox_username', array( __CLASS__, 'sanitize_user_field' ), 10, 3 );
|
60 |
-
|
61 |
|
62 |
if ( self::is_enabled() ) {
|
63 |
-
self::
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
|
66 |
self::includes();
|
67 |
}
|
68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
public static function has_dependencies() {
|
70 |
return ( class_exists( 'WooCommerce' ) && class_exists( '\Vendidero\Germanized\Shipments\Package' ) && self::base_country_is_supported() && apply_filters( 'woocommerce_gzd_dhl_enabled', true ) );
|
71 |
}
|
72 |
|
|
|
|
|
|
|
|
|
73 |
public static function base_country_is_supported() {
|
74 |
return in_array( self::get_base_country(), self::get_supported_countries() );
|
75 |
}
|
@@ -143,8 +167,10 @@ class Package {
|
|
143 |
|
144 |
// List of tables without prefixes.
|
145 |
$tables = array(
|
146 |
-
'gzd_dhl_labelmeta'
|
147 |
-
'gzd_dhl_labels'
|
|
|
|
|
148 |
);
|
149 |
|
150 |
foreach ( $tables as $name => $table ) {
|
@@ -164,8 +190,12 @@ class Package {
|
|
164 |
}
|
165 |
|
166 |
public static function is_enabled() {
|
167 |
-
return
|
168 |
}
|
|
|
|
|
|
|
|
|
169 |
|
170 |
public static function get_country_iso_alpha3( $country_code ) {
|
171 |
if ( empty( self::$iso ) ) {
|
@@ -197,6 +227,7 @@ class Package {
|
|
197 |
ParcelServices::init();
|
198 |
}
|
199 |
|
|
|
200 |
ShipmentLabelWatcher::init();
|
201 |
LabelWatcher::init();
|
202 |
Automation::init();
|
@@ -214,15 +245,6 @@ class Package {
|
|
214 |
|
215 |
// Maybe force street number during checkout
|
216 |
add_action( 'woocommerce_after_checkout_validation', array( __CLASS__, 'maybe_force_street_number' ), 10, 2 );
|
217 |
-
|
218 |
-
// add_action( 'admin_init', array( __CLASS__, 'test' ) );
|
219 |
-
}
|
220 |
-
|
221 |
-
public static function test() {
|
222 |
-
$label = wc_gzd_dhl_get_label( 289 );
|
223 |
-
|
224 |
-
$api = self::get_api()->get_label( $label );
|
225 |
-
exit();
|
226 |
}
|
227 |
|
228 |
public static function sanitize_password_field( $value, $option, $raw_value ) {
|
@@ -242,7 +264,7 @@ class Package {
|
|
242 |
public static function maybe_force_street_number( $data, $errors ) {
|
243 |
if ( 'yes' === self::get_setting( 'label_checkout_validate_street_number_address' ) ) {
|
244 |
if ( function_exists( 'wc_gzd_split_shipment_street' ) && ( $method = wc_gzd_dhl_get_current_shipping_method() ) ) {
|
245 |
-
if ( $method->is_dhl_enabled() ) {
|
246 |
if ( isset( $data['shipping_country'], $data['shipping_address_1'] ) && ! empty( $data['shipping_country'] ) ) {
|
247 |
// Do only check street numbers for inner EU.
|
248 |
if ( ! self::is_crossborder_shipment( $data['shipping_country'] ) ) {
|
@@ -273,11 +295,13 @@ class Package {
|
|
273 |
|
274 |
public static function clean_shipping_provider_settings( $p_settings, $method ) {
|
275 |
$shipping_provider_settings = self::get_method_settings();
|
|
|
276 |
|
277 |
foreach( $p_settings as $setting => $value ) {
|
278 |
-
|
279 |
if ( array_key_exists( $setting, $shipping_provider_settings ) ) {
|
280 |
-
if (
|
|
|
|
|
281 |
unset( $p_settings[ $setting ] );
|
282 |
}
|
283 |
}
|
@@ -294,8 +318,17 @@ class Package {
|
|
294 |
return self::$method_settings;
|
295 |
}
|
296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
public static function add_shipping_provider_class_name( $class_names ) {
|
298 |
-
$class_names['dhl']
|
|
|
299 |
|
300 |
return $class_names;
|
301 |
}
|
@@ -327,6 +360,14 @@ class Package {
|
|
327 |
return self::$api;
|
328 |
}
|
329 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
330 |
/**
|
331 |
* Return the version of the package.
|
332 |
*
|
@@ -388,6 +429,82 @@ class Package {
|
|
388 |
return 'https://www.dhl-geschaeftskundenportal.de';
|
389 |
}
|
390 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
/**
|
392 |
* CIG Authentication (basic auth) user. In Sandbox mode use Developer ID and password of entwickler.dhl.de
|
393 |
*
|
@@ -512,7 +629,7 @@ class Package {
|
|
512 |
}
|
513 |
|
514 |
public static function get_gk_api_url() {
|
515 |
-
return self::is_debug_mode() ? 'https://cig.dhl.de/cig-wsdls/com/dpdhl/wsdl/geschaeftskundenversand-api/3.
|
516 |
}
|
517 |
|
518 |
public static function get_parcel_finder_api_url() {
|
@@ -598,6 +715,10 @@ class Package {
|
|
598 |
}
|
599 |
|
600 |
public static function get_wsdl_file( $wsdl_link ) {
|
|
|
|
|
|
|
|
|
601 |
$main_file = basename( $wsdl_link );
|
602 |
$required_files = array( $main_file );
|
603 |
|
@@ -766,14 +887,18 @@ class Package {
|
|
766 |
|
767 |
/**
|
768 |
* @param $name
|
769 |
-
* @param bool|
|
770 |
*
|
771 |
* @return mixed|void
|
772 |
*/
|
773 |
public static function get_setting( $name, $method = false ) {
|
|
|
774 |
|
775 |
if ( substr( $name, 0, 4 ) === 'dhl_' ) {
|
776 |
$name = substr( $name, 4 );
|
|
|
|
|
|
|
777 |
}
|
778 |
|
779 |
if ( self::is_debug_mode() ) {
|
@@ -792,7 +917,11 @@ class Package {
|
|
792 |
}
|
793 |
}
|
794 |
|
795 |
-
|
|
|
|
|
|
|
|
|
796 |
|
797 |
if ( ! empty( $value ) && strpos( $name, 'password' ) !== false ) {
|
798 |
return stripslashes( $value );
|
@@ -875,6 +1004,21 @@ class Package {
|
|
875 |
}
|
876 |
}
|
877 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
878 |
/**
|
879 |
* Function return whether the sender and receiver country is "crossborder" i.e. needs CUSTOMS declarations (outside EU)
|
880 |
*/
|
6 |
use DateTimeZone;
|
7 |
use Exception;
|
8 |
use Vendidero\Germanized\DHL\Api\Paket;
|
9 |
+
use Vendidero\Germanized\DHL\ShippingProvider\MethodDeutschePost;
|
10 |
+
use Vendidero\Germanized\DHL\ShippingProvider\MethodDHL;
|
11 |
+
use Vendidero\Germanized\DHL\Api\Internetmarke;
|
12 |
use WP_Error;
|
13 |
|
14 |
defined( 'ABSPATH' ) || exit;
|
23 |
*
|
24 |
* @var string
|
25 |
*/
|
26 |
+
const VERSION = '1.4.0';
|
27 |
|
28 |
public static $upload_dir_suffix = '';
|
29 |
|
34 |
|
35 |
protected static $api = null;
|
36 |
|
37 |
+
protected static $im_api = null;
|
38 |
+
|
39 |
protected static $method_settings = null;
|
40 |
+
|
41 |
+
protected static $dp_method_settings = null;
|
42 |
|
43 |
protected static $iso = null;
|
44 |
|
61 |
// Password Settings
|
62 |
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_api_sandbox_password', array( __CLASS__, 'sanitize_password_field' ), 10, 3 );
|
63 |
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_api_password', array( __CLASS__, 'sanitize_password_field' ), 10, 3 );
|
64 |
+
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_im_api_password', array( __CLASS__, 'sanitize_password_field' ), 10, 3 );
|
65 |
|
66 |
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_api_username', array( __CLASS__, 'sanitize_user_field' ), 10, 3 );
|
67 |
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_api_sandbox_username', array( __CLASS__, 'sanitize_user_field' ), 10, 3 );
|
68 |
+
add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_gzd_dhl_im_api_username', array( __CLASS__, 'sanitize_user_field' ), 10, 3 );
|
69 |
|
70 |
if ( self::is_enabled() ) {
|
71 |
+
if ( self::has_load_dependencies() ) {
|
72 |
+
self::init_hooks();
|
73 |
+
} else {
|
74 |
+
add_action( 'admin_notices', array( __CLASS__, 'load_dependencies_notice' ) );
|
75 |
+
}
|
76 |
}
|
77 |
|
78 |
self::includes();
|
79 |
}
|
80 |
|
81 |
+
public static function load_dependencies_notice() {
|
82 |
+
?>
|
83 |
+
<div class="notice notice-error error">
|
84 |
+
<p><?php printf( _x( 'To enable communication between your shop and DHL, the PHP <a href="%s">SOAPClient</a> is required. Please contact your host and make sure that SOAPClient is <a href="%s">installed</a>.', 'dhl', 'woocommerce-germanize-dhl' ), 'https://www.php.net/manual/class.soapclient.php', admin_url( 'admin.php?page=wc-status' ) ); ?></p>
|
85 |
+
</div>
|
86 |
+
<?php
|
87 |
+
}
|
88 |
+
|
89 |
public static function has_dependencies() {
|
90 |
return ( class_exists( 'WooCommerce' ) && class_exists( '\Vendidero\Germanized\Shipments\Package' ) && self::base_country_is_supported() && apply_filters( 'woocommerce_gzd_dhl_enabled', true ) );
|
91 |
}
|
92 |
|
93 |
+
public static function has_load_dependencies() {
|
94 |
+
return ( ! class_exists( 'SoapClient' ) ? false : true );
|
95 |
+
}
|
96 |
+
|
97 |
public static function base_country_is_supported() {
|
98 |
return in_array( self::get_base_country(), self::get_supported_countries() );
|
99 |
}
|
167 |
|
168 |
// List of tables without prefixes.
|
169 |
$tables = array(
|
170 |
+
'gzd_dhl_labelmeta' => 'woocommerce_gzd_dhl_labelmeta',
|
171 |
+
'gzd_dhl_labels' => 'woocommerce_gzd_dhl_labels',
|
172 |
+
'gzd_dhl_im_products' => 'woocommerce_gzd_dhl_im_products',
|
173 |
+
'gzd_dhl_im_product_services' => 'woocommerce_gzd_dhl_im_product_services',
|
174 |
);
|
175 |
|
176 |
foreach ( $tables as $name => $table ) {
|
190 |
}
|
191 |
|
192 |
public static function is_enabled() {
|
193 |
+
return ( self::is_dhl_enabled() || self::is_internetmarke_enabled() );
|
194 |
}
|
195 |
+
|
196 |
+
public static function is_dhl_enabled() {
|
197 |
+
return ( 'yes' === self::get_setting( 'enable' ) );
|
198 |
+
}
|
199 |
|
200 |
public static function get_country_iso_alpha3( $country_code ) {
|
201 |
if ( empty( self::$iso ) ) {
|
227 |
ParcelServices::init();
|
228 |
}
|
229 |
|
230 |
+
Ajax::init();
|
231 |
ShipmentLabelWatcher::init();
|
232 |
LabelWatcher::init();
|
233 |
Automation::init();
|
245 |
|
246 |
// Maybe force street number during checkout
|
247 |
add_action( 'woocommerce_after_checkout_validation', array( __CLASS__, 'maybe_force_street_number' ), 10, 2 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
}
|
249 |
|
250 |
public static function sanitize_password_field( $value, $option, $raw_value ) {
|
264 |
public static function maybe_force_street_number( $data, $errors ) {
|
265 |
if ( 'yes' === self::get_setting( 'label_checkout_validate_street_number_address' ) ) {
|
266 |
if ( function_exists( 'wc_gzd_split_shipment_street' ) && ( $method = wc_gzd_dhl_get_current_shipping_method() ) ) {
|
267 |
+
if ( $method->is_dhl_enabled() || $method->is_deutsche_post_enabled() ) {
|
268 |
if ( isset( $data['shipping_country'], $data['shipping_address_1'] ) && ! empty( $data['shipping_country'] ) ) {
|
269 |
// Do only check street numbers for inner EU.
|
270 |
if ( ! self::is_crossborder_shipment( $data['shipping_country'] ) ) {
|
295 |
|
296 |
public static function clean_shipping_provider_settings( $p_settings, $method ) {
|
297 |
$shipping_provider_settings = self::get_method_settings();
|
298 |
+
$shipping_provider = isset( $p_settings['shipping_provider'] ) ? $p_settings['shipping_provider'] : '';
|
299 |
|
300 |
foreach( $p_settings as $setting => $value ) {
|
|
|
301 |
if ( array_key_exists( $setting, $shipping_provider_settings ) ) {
|
302 |
+
if ( substr( $setting, 0, strlen( $shipping_provider ) + 1 ) !== $shipping_provider . '_' ) {
|
303 |
+
unset( $p_settings[ $setting ] );
|
304 |
+
} elseif ( self::get_setting( $setting ) === $value ) {
|
305 |
unset( $p_settings[ $setting ] );
|
306 |
}
|
307 |
}
|
318 |
return self::$method_settings;
|
319 |
}
|
320 |
|
321 |
+
public static function eur_to_cents( $price ) {
|
322 |
+
return round( $price * 100 );
|
323 |
+
}
|
324 |
+
|
325 |
+
public static function cents_to_eur( $price ) {
|
326 |
+
return $price > 0 ? $price / 100 : 0;
|
327 |
+
}
|
328 |
+
|
329 |
public static function add_shipping_provider_class_name( $class_names ) {
|
330 |
+
$class_names['dhl'] = '\Vendidero\Germanized\DHL\ShippingProvider\DHL';
|
331 |
+
$class_names['deutsche_post'] = '\Vendidero\Germanized\DHL\ShippingProvider\DeutschePost';
|
332 |
|
333 |
return $class_names;
|
334 |
}
|
360 |
return self::$api;
|
361 |
}
|
362 |
|
363 |
+
public static function get_internetmarke_api() {
|
364 |
+
if ( is_null( self::$im_api ) && self::is_internetmarke_enabled() ) {
|
365 |
+
self::$im_api = new Internetmarke();
|
366 |
+
}
|
367 |
+
|
368 |
+
return self::$im_api;
|
369 |
+
}
|
370 |
+
|
371 |
/**
|
372 |
* Return the version of the package.
|
373 |
*
|
429 |
return 'https://www.dhl-geschaeftskundenportal.de';
|
430 |
}
|
431 |
|
432 |
+
public static function get_internetmarke_partner_id() {
|
433 |
+
return 'AVHGE';
|
434 |
+
}
|
435 |
+
|
436 |
+
public static function get_internetmarke_token() {
|
437 |
+
return 'l4e0TNkqpGKd0YIhyuz3m4vzEek1iZY4';
|
438 |
+
}
|
439 |
+
|
440 |
+
public static function get_internetmarke_key_phase() {
|
441 |
+
return 1;
|
442 |
+
}
|
443 |
+
|
444 |
+
public static function get_internetmarke_product_username() {
|
445 |
+
return 'vendidero';
|
446 |
+
}
|
447 |
+
|
448 |
+
public static function get_internetmarke_product_password() {
|
449 |
+
return 'A&5%bk?dx8';
|
450 |
+
}
|
451 |
+
|
452 |
+
public static function get_internetmarke_product_mandant_id() {
|
453 |
+
return 'VENDIDERO';
|
454 |
+
}
|
455 |
+
|
456 |
+
public static function is_internetmarke_enabled() {
|
457 |
+
return 'yes' === self::get_setting( 'internetmarke_enable' );
|
458 |
+
}
|
459 |
+
|
460 |
+
public static function get_internetmarke_username() {
|
461 |
+
if ( self::is_debug_mode() && defined( 'WC_GZD_DHL_IM_SANDBOX_USER' ) ) {
|
462 |
+
return WC_GZD_DHL_IM_SANDBOX_USER;
|
463 |
+
} else {
|
464 |
+
return self::get_setting( 'im_api_username' );
|
465 |
+
}
|
466 |
+
}
|
467 |
+
|
468 |
+
public static function get_internetmarke_warenpost_int_ekp() {
|
469 |
+
$ekp = self::get_setting( 'internetmarke_warenpost_int_ekp' );
|
470 |
+
|
471 |
+
if ( empty( $ekp ) ) {
|
472 |
+
$ekp = '0000012207';
|
473 |
+
}
|
474 |
+
|
475 |
+
return $ekp;
|
476 |
+
}
|
477 |
+
|
478 |
+
/**
|
479 |
+
* The Warenpost International API (necessary for customs forms)
|
480 |
+
* needs separate Sandbox credentials. In live mode the Portokasse credentials are being used.
|
481 |
+
*
|
482 |
+
* @return string
|
483 |
+
*/
|
484 |
+
public static function get_internetmarke_warenpost_int_username() {
|
485 |
+
if ( self::is_debug_mode() && defined( 'WC_GZD_DHL_IM_WP_SANDBOX_USER' ) ) {
|
486 |
+
return WC_GZD_DHL_IM_WP_SANDBOX_USER;
|
487 |
+
} else {
|
488 |
+
return self::get_setting( 'im_api_username' );
|
489 |
+
}
|
490 |
+
}
|
491 |
+
|
492 |
+
public static function get_internetmarke_password() {
|
493 |
+
if ( self::is_debug_mode() && defined( 'WC_GZD_DHL_IM_SANDBOX_PASSWORD' ) ) {
|
494 |
+
return WC_GZD_DHL_IM_SANDBOX_PASSWORD;
|
495 |
+
} else {
|
496 |
+
return self::get_setting( 'im_api_password' );
|
497 |
+
}
|
498 |
+
}
|
499 |
+
|
500 |
+
public static function get_internetmarke_warenpost_int_password() {
|
501 |
+
if ( self::is_debug_mode() && defined( 'WC_GZD_DHL_IM_WP_SANDBOX_PASSWORD' ) ) {
|
502 |
+
return WC_GZD_DHL_IM_WP_SANDBOX_PASSWORD;
|
503 |
+
} else {
|
504 |
+
return self::get_setting( 'im_api_password' );
|
505 |
+
}
|
506 |
+
}
|
507 |
+
|
508 |
/**
|
509 |
* CIG Authentication (basic auth) user. In Sandbox mode use Developer ID and password of entwickler.dhl.de
|
510 |
*
|
629 |
}
|
630 |
|
631 |
public static function get_gk_api_url() {
|
632 |
+
return self::is_debug_mode() ? 'https://cig.dhl.de/cig-wsdls/com/dpdhl/wsdl/geschaeftskundenversand-api/3.1/geschaeftskundenversand-api-3.1.wsdl' : 'https://cig.dhl.de/cig-wsdls/com/dpdhl/wsdl/geschaeftskundenversand-api/3.1/geschaeftskundenversand-api-3.1.wsdl';
|
633 |
}
|
634 |
|
635 |
public static function get_parcel_finder_api_url() {
|
715 |
}
|
716 |
|
717 |
public static function get_wsdl_file( $wsdl_link ) {
|
718 |
+
if ( self::is_debug_mode() ) {
|
719 |
+
return $wsdl_link;
|
720 |
+
}
|
721 |
+
|
722 |
$main_file = basename( $wsdl_link );
|
723 |
$required_files = array( $main_file );
|
724 |
|
887 |
|
888 |
/**
|
889 |
* @param $name
|
890 |
+
* @param bool|MethodDHL|MethodDeutschePost $method
|
891 |
*
|
892 |
* @return mixed|void
|
893 |
*/
|
894 |
public static function get_setting( $name, $method = false ) {
|
895 |
+
$is_dp = false;
|
896 |
|
897 |
if ( substr( $name, 0, 4 ) === 'dhl_' ) {
|
898 |
$name = substr( $name, 4 );
|
899 |
+
} elseif( substr( $name, 0, 14 ) === 'deutsche_post_' ) {
|
900 |
+
$name = substr( $name, 14 );
|
901 |
+
$is_dp = true;
|
902 |
}
|
903 |
|
904 |
if ( self::is_debug_mode() ) {
|
917 |
}
|
918 |
}
|
919 |
|
920 |
+
if ( ! $is_dp ) {
|
921 |
+
$value = get_option( "woocommerce_gzd_dhl_{$name}" );
|
922 |
+
} else {
|
923 |
+
$value = get_option( "woocommerce_gzd_deutsche_post_{$name}" );
|
924 |
+
}
|
925 |
|
926 |
if ( ! empty( $value ) && strpos( $name, 'password' ) !== false ) {
|
927 |
return stripslashes( $value );
|
1004 |
}
|
1005 |
}
|
1006 |
|
1007 |
+
/**
|
1008 |
+
* Check if it is an EU shipment
|
1009 |
+
*/
|
1010 |
+
public static function is_eu_shipment( $country_receiver ) {
|
1011 |
+
if ( self::is_shipping_domestic( $country_receiver ) ) {
|
1012 |
+
return false;
|
1013 |
+
}
|
1014 |
+
|
1015 |
+
if ( in_array( $country_receiver, WC()->countries->get_european_union_countries() ) ) {
|
1016 |
+
return true;
|
1017 |
+
} else {
|
1018 |
+
return false;
|
1019 |
+
}
|
1020 |
+
}
|
1021 |
+
|
1022 |
/**
|
1023 |
* Function return whether the sender and receiver country is "crossborder" i.e. needs CUSTOMS declarations (outside EU)
|
1024 |
*/
|
packages/woocommerce-germanized-dhl/src/ParcelLocator.php
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
|
3 |
namespace Vendidero\Germanized\DHL;
|
4 |
use Exception;
|
|
|
5 |
use Vendidero\Germanized\Shipments\Shipment;
|
6 |
use WC_Checkout;
|
7 |
use WC_Order;
|
@@ -820,7 +821,7 @@ class ParcelLocator {
|
|
820 |
/**
|
821 |
* @param string $sep
|
822 |
* @param bool $plural
|
823 |
-
* @param bool|
|
824 |
*
|
825 |
* @return string
|
826 |
*/
|
@@ -881,6 +882,7 @@ class ParcelLocator {
|
|
881 |
'clear' => true,
|
882 |
'priority' => 5,
|
883 |
'options' => self::get_address_types(),
|
|
|
884 |
);
|
885 |
|
886 |
$fields['shipping_dhl_postnumber'] = array(
|
@@ -909,8 +911,8 @@ class ParcelLocator {
|
|
909 |
* Filter to adjust the pickup type address label added
|
910 |
* to the address field when a certain pickup type was chosen.
|
911 |
*
|
912 |
-
* @param string
|
913 |
-
* @param boolean|
|
914 |
*
|
915 |
* @since 3.0.0
|
916 |
* @package Vendidero/Germanized/DHL
|
@@ -923,8 +925,8 @@ class ParcelLocator {
|
|
923 |
* Filter to adjust the pickup type address placeholder added
|
924 |
* to the address field when a certain pickup type was chosen.
|
925 |
*
|
926 |
-
* @param string
|
927 |
-
* @param boolean|
|
928 |
*
|
929 |
* @since 3.0.0
|
930 |
* @package Vendidero/Germanized/DHL
|
2 |
|
3 |
namespace Vendidero\Germanized\DHL;
|
4 |
use Exception;
|
5 |
+
use Vendidero\Germanized\DHL\ShippingProvider\MethodDHL;
|
6 |
use Vendidero\Germanized\Shipments\Shipment;
|
7 |
use WC_Checkout;
|
8 |
use WC_Order;
|
821 |
/**
|
822 |
* @param string $sep
|
823 |
* @param bool $plural
|
824 |
+
* @param bool|MethodDHL $method
|
825 |
*
|
826 |
* @return string
|
827 |
*/
|
882 |
'clear' => true,
|
883 |
'priority' => 5,
|
884 |
'options' => self::get_address_types(),
|
885 |
+
'default' => 'regular',
|
886 |
);
|
887 |
|
888 |
$fields['shipping_dhl_postnumber'] = array(
|
911 |
* Filter to adjust the pickup type address label added
|
912 |
* to the address field when a certain pickup type was chosen.
|
913 |
*
|
914 |
+
* @param string $pickup_type_text The pickup type text.
|
915 |
+
* @param boolean|MethodDHL $method The shipping method object if available.
|
916 |
*
|
917 |
* @since 3.0.0
|
918 |
* @package Vendidero/Germanized/DHL
|
925 |
* Filter to adjust the pickup type address placeholder added
|
926 |
* to the address field when a certain pickup type was chosen.
|
927 |
*
|
928 |
+
* @param string $pickup_type_text The pickup type placeholder text.
|
929 |
+
* @param boolean|MethodDHL $method The shipping method object if available.
|
930 |
*
|
931 |
* @since 3.0.0
|
932 |
* @package Vendidero/Germanized/DHL
|
packages/woocommerce-germanized-dhl/src/ReturnLabel.php
CHANGED
@@ -1,13 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
namespace Vendidero\Germanized\DHL;
|
4 |
-
use DateTimeZone;
|
5 |
-
use Vendidero\Germanized\Shipments\Shipment;
|
6 |
use Vendidero\Germanized\Shipments\Interfaces\ShipmentReturnLabel;
|
7 |
-
use WC_Data;
|
8 |
-
use WC_Data_Store;
|
9 |
-
use Exception;
|
10 |
-
use WC_DateTime;
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit;
|
13 |
|
@@ -22,9 +16,14 @@ class ReturnLabel extends Label implements ShipmentReturnLabel {
|
|
22 |
* @var array
|
23 |
*/
|
24 |
protected $extra_data = array(
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
'parent_id' => 0,
|
26 |
-
'sender_address' => array()
|
27 |
-
'receiver_slug' => '',
|
28 |
);
|
29 |
|
30 |
protected function get_hook_prefix() {
|
1 |
<?php
|
2 |
|
3 |
namespace Vendidero\Germanized\DHL;
|
|
|
|
|
4 |
use Vendidero\Germanized\Shipments\Interfaces\ShipmentReturnLabel;
|
|
|
|
|
|
|
|
|
5 |
|
6 |
defined( 'ABSPATH' ) || exit;
|
7 |
|
16 |
* @var array
|
17 |
*/
|
18 |
protected $extra_data = array(
|
19 |
+
'page_format' => '',
|
20 |
+
'shop_order_id' => '',
|
21 |
+
'stamp_total' => 0,
|
22 |
+
'voucher_id' => '',
|
23 |
+
'original_url' => '',
|
24 |
+
'manifest_url' => '',
|
25 |
'parent_id' => 0,
|
26 |
+
'sender_address' => array()
|
|
|
27 |
);
|
28 |
|
29 |
protected function get_hook_prefix() {
|
packages/woocommerce-germanized-dhl/src/ShipmentLabelWatcher.php
CHANGED
@@ -21,12 +21,38 @@ class ShipmentLabelWatcher {
|
|
21 |
add_action( 'woocommerce_gzd_shipment_create_dhl_label', array( __CLASS__, 'create_shipment_label' ), 10, 4 );
|
22 |
add_action( 'woocommerce_gzd_return_shipment_create_dhl_label', array( __CLASS__, 'create_return_shipment_label' ), 10, 4 );
|
23 |
|
|
|
|
|
|
|
24 |
// Return the DHL label for a shipment if available
|
25 |
add_filter( 'woocommerce_gzd_shipment_get_dhl_label', array( __CLASS__, 'get_shipment_label' ), 10, 2 );
|
26 |
add_filter( 'woocommerce_gzd_return_shipment_get_dhl_label', array( __CLASS__, 'get_shipment_label' ), 10, 2 );
|
27 |
|
|
|
|
|
|
|
28 |
// Legacy ShippingProviderMethod hook support
|
29 |
add_filter( 'woocommerce_gzd_shipping_provider_method_provider', array( __CLASS__, 'legacy_provider_hook_support' ), 10, 3 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
|
32 |
public static function legacy_provider_hook_support( $provider, $method_id, $shipping_provider_method ) {
|
@@ -76,7 +102,41 @@ class ShipmentLabelWatcher {
|
|
76 |
* @param array $raw_data
|
77 |
*/
|
78 |
public static function create_return_shipment_label( $data, $error, $shipment, $raw_data ) {
|
79 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
if ( is_wp_error( $label ) ) {
|
82 |
foreach( $label->get_error_messages() as $message ) {
|
21 |
add_action( 'woocommerce_gzd_shipment_create_dhl_label', array( __CLASS__, 'create_shipment_label' ), 10, 4 );
|
22 |
add_action( 'woocommerce_gzd_return_shipment_create_dhl_label', array( __CLASS__, 'create_return_shipment_label' ), 10, 4 );
|
23 |
|
24 |
+
add_action( 'woocommerce_gzd_shipment_create_deutsche_post_label', array( __CLASS__, 'create_shipment_post_label' ), 10, 4 );
|
25 |
+
add_action( 'woocommerce_gzd_return_shipment_create_deutsche_post_label', array( __CLASS__, 'create_return_shipment_post_label' ), 10, 4 );
|
26 |
+
|
27 |
// Return the DHL label for a shipment if available
|
28 |
add_filter( 'woocommerce_gzd_shipment_get_dhl_label', array( __CLASS__, 'get_shipment_label' ), 10, 2 );
|
29 |
add_filter( 'woocommerce_gzd_return_shipment_get_dhl_label', array( __CLASS__, 'get_shipment_label' ), 10, 2 );
|
30 |
|
31 |
+
add_filter( 'woocommerce_gzd_shipment_get_deutsche_post_label', array( __CLASS__, 'get_shipment_label' ), 10, 2 );
|
32 |
+
add_filter( 'woocommerce_gzd_return_shipment_get_deutsche_post_label', array( __CLASS__, 'get_shipment_label' ), 10, 2 );
|
33 |
+
|
34 |
// Legacy ShippingProviderMethod hook support
|
35 |
add_filter( 'woocommerce_gzd_shipping_provider_method_provider', array( __CLASS__, 'legacy_provider_hook_support' ), 10, 3 );
|
36 |
+
|
37 |
+
add_filter( 'woocommerce_gzd_shipment_get_tracking_url', array( __CLASS__, 'filter_tracking_url' ), 10, 2 );
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* In case the label is not trackable (e.g. Brief), do not return a tracking url for the shipment.
|
42 |
+
*
|
43 |
+
* @param $tracking_url
|
44 |
+
* @param Shipment $shipment
|
45 |
+
*/
|
46 |
+
public static function filter_tracking_url( $tracking_url, $shipment ) {
|
47 |
+
if ( 'deutsche_post' === $shipment->get_shipping_provider() ) {
|
48 |
+
if ( $label = $shipment->get_label() ) {
|
49 |
+
if ( is_callable( array( $label, 'is_trackable' ) ) && ! $label->is_trackable() ) {
|
50 |
+
return '';
|
51 |
+
}
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
return $tracking_url;
|
56 |
}
|
57 |
|
58 |
public static function legacy_provider_hook_support( $provider, $method_id, $shipping_provider_method ) {
|
102 |
* @param array $raw_data
|
103 |
*/
|
104 |
public static function create_return_shipment_label( $data, $error, $shipment, $raw_data ) {
|
105 |
+
self::create_shipment_label( $data, $error, $shipment, $raw_data );
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* @param array $data
|
110 |
+
* @param WP_Error $error
|
111 |
+
* @param ReturnShipment $shipment
|
112 |
+
* @param array $raw_data
|
113 |
+
*/
|
114 |
+
public static function create_return_shipment_post_label( $data, $error, $shipment, $raw_data ) {
|
115 |
+
self::create_shipment_post_label( $data, $error, $shipment, $raw_data );
|
116 |
+
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
* @param array $data
|
120 |
+
* @param WP_Error $error
|
121 |
+
* @param Shipment $shipment
|
122 |
+
* @param array $raw_data
|
123 |
+
*/
|
124 |
+
public static function create_shipment_post_label( $data, $error, $shipment, $raw_data ) {
|
125 |
+
$props = array();
|
126 |
+
|
127 |
+
/**
|
128 |
+
* Do only parse post data if raw_data was passed which indicates that the label creation request is
|
129 |
+
* a manual user based request - in other cases - use defaults instead to prevent argument overrides.
|
130 |
+
*/
|
131 |
+
if ( ! empty( $raw_data ) ) {
|
132 |
+
$props = array();
|
133 |
+
|
134 |
+
foreach( $data as $key => $value ) {
|
135 |
+
$props[ $key ] = $value;
|
136 |
+
}
|
137 |
+
}
|
138 |
+
|
139 |
+
$label = wc_gzd_dhl_create_label( $shipment, $props );
|
140 |
|
141 |
if ( is_wp_error( $label ) ) {
|
142 |
foreach( $label->get_error_messages() as $message ) {
|
packages/woocommerce-germanized-dhl/src/{ShippingProviderDHL.php → ShippingProvider/DHL.php}
RENAMED
@@ -4,13 +4,14 @@
|
|
4 |
*
|
5 |
* @package WooCommerce/Blocks
|
6 |
*/
|
7 |
-
namespace Vendidero\Germanized\DHL;
|
8 |
|
|
|
9 |
use Vendidero\Germanized\Shipments\ShippingProvider;
|
10 |
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
-
class
|
14 |
|
15 |
public function is_manual_integration() {
|
16 |
return false;
|
@@ -26,8 +27,12 @@ class ShippingProviderDHL extends ShippingProvider {
|
|
26 |
return in_array( $label_type, $label_types );
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
29 |
public function is_activated() {
|
30 |
-
return Package::
|
31 |
}
|
32 |
|
33 |
public function get_title( $context = 'view' ) {
|
4 |
*
|
5 |
* @package WooCommerce/Blocks
|
6 |
*/
|
7 |
+
namespace Vendidero\Germanized\DHL\ShippingProvider;
|
8 |
|
9 |
+
use Vendidero\Germanized\DHL\Package;
|
10 |
use Vendidero\Germanized\Shipments\ShippingProvider;
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit;
|
13 |
|
14 |
+
class DHL extends ShippingProvider {
|
15 |
|
16 |
public function is_manual_integration() {
|
17 |
return false;
|
27 |
return in_array( $label_type, $label_types );
|
28 |
}
|
29 |
|
30 |
+
public function supports_customer_return_requests() {
|
31 |
+
return ( 'yes' === Package::get_setting( 'dhl_label_retoure_enable' ) ? true : false );
|
32 |
+
}
|
33 |
+
|
34 |
public function is_activated() {
|
35 |
+
return Package::is_dhl_enabled();
|
36 |
}
|
37 |
|
38 |
public function get_title( $context = 'view' ) {
|
packages/woocommerce-germanized-dhl/src/ShippingProvider/DeutschePost.php
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* ShippingProvider impl.
|
4 |
+
*
|
5 |
+
* @package WooCommerce/Blocks
|
6 |
+
*/
|
7 |
+
namespace Vendidero\Germanized\DHL\ShippingProvider;
|
8 |
+
|
9 |
+
use Vendidero\Germanized\DHL\Package;
|
10 |
+
use Vendidero\Germanized\Shipments\ShippingProvider;
|
11 |
+
|
12 |
+
defined( 'ABSPATH' ) || exit;
|
13 |
+
|
14 |
+
class DeutschePost extends ShippingProvider {
|
15 |
+
|
16 |
+
public function is_manual_integration() {
|
17 |
+
return false;
|
18 |
+
}
|
19 |
+
|
20 |
+
public function supports_labels( $label_type ) {
|
21 |
+
$label_types = array( 'simple', 'return' );
|
22 |
+
|
23 |
+
return in_array( $label_type, $label_types );
|
24 |
+
}
|
25 |
+
|
26 |
+
public function is_activated() {
|
27 |
+
return Package::is_internetmarke_enabled();
|
28 |
+
}
|
29 |
+
|
30 |
+
public function get_title( $context = 'view' ) {
|
31 |
+
return _x( 'Deutsche Post', 'dhl', 'woocommerce-germanized' );
|
32 |
+
}
|
33 |
+
|
34 |
+
public function get_name( $context = 'view' ) {
|
35 |
+
return 'deutsche_post';
|
36 |
+
}
|
37 |
+
|
38 |
+
public function get_description( $context = 'view' ) {
|
39 |
+
return _x( 'Integration for products of the Deutsche Post through Internetmarke.', 'dhl', 'woocommerce-germanized' );
|
40 |
+
}
|
41 |
+
|
42 |
+
public function get_additional_options_url() {
|
43 |
+
return admin_url( 'admin.php?page=wc-settings&tab=germanized-dhl§ion=internetmarke' );
|
44 |
+
}
|
45 |
+
|
46 |
+
public function get_default_tracking_url_placeholder() {
|
47 |
+
return 'https://www.deutschepost.de/sendung/simpleQueryResult.html?form.sendungsnummer={tracking_id}&form.einlieferungsdatum_tag={label_date_day}&form.einlieferungsdatum_monat={label_date_month}&form.einlieferungsdatum_jahr={label_date_year}';
|
48 |
+
}
|
49 |
+
|
50 |
+
public function get_tracking_url_placeholder( $context = 'view' ) {
|
51 |
+
$data = parent::get_tracking_url_placeholder( $context );
|
52 |
+
|
53 |
+
// In case the option value is not stored in DB yet
|
54 |
+
if ( 'view' === $context && empty( $data ) ) {
|
55 |
+
$data = $this->get_default_tracking_url_placeholder();
|
56 |
+
}
|
57 |
+
|
58 |
+
return $data;
|
59 |
+
}
|
60 |
+
|
61 |
+
public function get_tracking_desc_placeholder( $context = 'view' ) {
|
62 |
+
$data = parent::get_tracking_desc_placeholder( $context );
|
63 |
+
|
64 |
+
// In case the option value is not stored in DB yet
|
65 |
+
if ( 'view' === $context && empty( $data ) ) {
|
66 |
+
$data = $this->get_default_tracking_desc_placeholder();
|
67 |
+
}
|
68 |
+
|
69 |
+
return $data;
|
70 |
+
}
|
71 |
+
|
72 |
+
public function deactivate() {
|
73 |
+
update_option( 'woocommerce_gzd_dhl_internetmarke_enable', 'no' );
|
74 |
+
|
75 |
+
/**
|
76 |
+
* This action is documented in woocommerce-germanized-shipments/src/ShippingProvider.php
|
77 |
+
*/
|
78 |
+
do_action( 'woocommerce_gzd_shipping_provider_activated', $this );
|
79 |
+
}
|
80 |
+
|
81 |
+
public function activate() {
|
82 |
+
update_option( 'woocommerce_gzd_dhl_internetmarke_enable', 'yes' );
|
83 |
+
|
84 |
+
/**
|
85 |
+
* This action is documented in woocommerce-germanized-shipments/src/ShippingProvider.php
|
86 |
+
*/
|
87 |
+
do_action( 'woocommerce_gzd_shipping_provider_deactivated', $this );
|
88 |
+
}
|
89 |
+
}
|
packages/woocommerce-germanized-dhl/src/{ShippingProviderMethodDHL.php → ShippingProvider/MethodDHL.php}
RENAMED
@@ -1,13 +1,9 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
namespace Vendidero\Germanized\DHL;
|
4 |
|
|
|
5 |
use Vendidero\Germanized\Shipments\ShippingProviderMethod;
|
6 |
-
use Exception;
|
7 |
-
use WC_Order;
|
8 |
-
use WC_Customer;
|
9 |
-
use WC_DateTime;
|
10 |
-
use WC_Shipping_Method;
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit;
|
13 |
|
@@ -18,7 +14,7 @@ defined( 'ABSPATH' ) || exit;
|
|
18 |
* @version 1.0.0
|
19 |
* @author Vendidero
|
20 |
*/
|
21 |
-
class
|
22 |
|
23 |
/**
|
24 |
* @var ShippingProviderMethod|null
|
@@ -78,8 +74,8 @@ class ShippingProviderMethodDHL {
|
|
78 |
* Filter that allows adjusting whether this method supports DHL custom settings or not.
|
79 |
* By default only shipping methods supporting instance-settings and instance-settings-modal are supported.
|
80 |
*
|
81 |
-
* @param boolean
|
82 |
-
* @param
|
83 |
*
|
84 |
* @since 3.1.1
|
85 |
* @package Vendidero/Germanized/DHL
|
@@ -115,6 +111,10 @@ class ShippingProviderMethodDHL {
|
|
115 |
return $this->method->is_enabled( 'dhl' );
|
116 |
}
|
117 |
|
|
|
|
|
|
|
|
|
118 |
public function is_packstation_enabled() {
|
119 |
return $this->get_option( 'dhl_parcel_pickup_packstation_enable' ) === 'yes' ? true : false;
|
120 |
}
|
1 |
<?php
|
2 |
|
3 |
+
namespace Vendidero\Germanized\DHL\ShippingProvider;
|
4 |
|
5 |
+
use Vendidero\Germanized\DHL\Package;
|
6 |
use Vendidero\Germanized\Shipments\ShippingProviderMethod;
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
defined( 'ABSPATH' ) || exit;
|
9 |
|
14 |
* @version 1.0.0
|
15 |
* @author Vendidero
|
16 |
*/
|
17 |
+
class MethodDHL {
|
18 |
|
19 |
/**
|
20 |
* @var ShippingProviderMethod|null
|
74 |
* Filter that allows adjusting whether this method supports DHL custom settings or not.
|
75 |
* By default only shipping methods supporting instance-settings and instance-settings-modal are supported.
|
76 |
*
|
77 |
+
* @param boolean $supports_settings Whether or not the method supports custom DHL settings.
|
78 |
+
* @param MethodDHL $method The method instance.
|
79 |
*
|
80 |
* @since 3.1.1
|
81 |
* @package Vendidero/Germanized/DHL
|
111 |
return $this->method->is_enabled( 'dhl' );
|
112 |
}
|
113 |
|
114 |
+
public function is_deutsche_post_enabled() {
|
115 |
+
return $this->method->is_enabled( 'deutsche_post' );
|
116 |
+
}
|
117 |
+
|
118 |
public function is_packstation_enabled() {
|
119 |
return $this->get_option( 'dhl_parcel_pickup_packstation_enable' ) === 'yes' ? true : false;
|
120 |
}
|
packages/woocommerce-germanized-dhl/src/ShippingProvider/MethodDeutschePost.php
ADDED
@@ -0,0 +1,127 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\DHL\ShippingProvider;
|
4 |
+
|
5 |
+
use Vendidero\Germanized\DHL\Package;
|
6 |
+
use Vendidero\Germanized\Shipments\ShippingProviderMethod;
|
7 |
+
|
8 |
+
defined( 'ABSPATH' ) || exit;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Shipment Order
|
12 |
+
*
|
13 |
+
* @class WC_GZD_Shipment_Order
|
14 |
+
* @version 1.0.0
|
15 |
+
* @author Vendidero
|
16 |
+
*/
|
17 |
+
class MethodDeutschePost {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @var ShippingProviderMethod|null
|
21 |
+
*/
|
22 |
+
protected $method = null;
|
23 |
+
|
24 |
+
protected $is_placeholder = false;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* ShippingProviderMethodDHL constructor.
|
28 |
+
*
|
29 |
+
* @param ShippingProviderMethod $method
|
30 |
+
*/
|
31 |
+
public function __construct( $method ) {
|
32 |
+
$this->method = $method;
|
33 |
+
|
34 |
+
if ( is_a( $this->method, '\Vendidero\Germanized\Shipments\ShippingProviderMethodPlaceholder' ) ) {
|
35 |
+
$this->is_placeholder = true;
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
protected function maybe_prefix_key( $key ) {
|
40 |
+
if ( substr( $key, 0, 14 ) !== 'deutsche_post_' ) {
|
41 |
+
$key = 'deutsche_post_' . $key;
|
42 |
+
}
|
43 |
+
|
44 |
+
return $key;
|
45 |
+
}
|
46 |
+
|
47 |
+
protected function is_placeholder() {
|
48 |
+
return $this->is_placeholder;
|
49 |
+
}
|
50 |
+
|
51 |
+
public function has_option( $key ) {
|
52 |
+
$dhl_key = $this->maybe_prefix_key( $key );
|
53 |
+
|
54 |
+
if ( ! $this->is_placeholder() ) {
|
55 |
+
return $this->method->has_option( $dhl_key );
|
56 |
+
} else {
|
57 |
+
// Check if option exists within method instance settings array
|
58 |
+
$method_settings = array_keys( Package::get_method_settings() );
|
59 |
+
|
60 |
+
if ( in_array( $dhl_key, $method_settings ) ) {
|
61 |
+
return true;
|
62 |
+
} else {
|
63 |
+
return false;
|
64 |
+
}
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
protected function supports_settings() {
|
69 |
+
$supports_settings = ( $this->method->supports( 'instance-settings' ) && $this->method->supports( 'instance-settings-modal' ) ) ? true : false;
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Filter that allows adjusting whether this method supports Deutsche Post custom settings or not.
|
73 |
+
* By default only shipping methods supporting instance-settings and instance-settings-modal are supported.
|
74 |
+
*
|
75 |
+
* @param boolean $supports_settings Whether or not the method supports custom DHL settings.
|
76 |
+
* @param MethodDHL $method The method instance.
|
77 |
+
*
|
78 |
+
* @since 3.1.1
|
79 |
+
* @package Vendidero/Germanized/DHL
|
80 |
+
*/
|
81 |
+
return apply_filters( 'woocommerce_gzd_deutsche_post_shipping_provider_method_supports_settings', $supports_settings, $this );
|
82 |
+
}
|
83 |
+
|
84 |
+
public function get_option( $key ) {
|
85 |
+
$dhl_key = $this->maybe_prefix_key( $key );
|
86 |
+
|
87 |
+
if ( $this->has_option( $key ) ) {
|
88 |
+
|
89 |
+
// Do only use method settings if the method is not a placeholder and method supports settings
|
90 |
+
if ( ! $this->is_placeholder() && $this->supports_settings() ) {
|
91 |
+
$option_value = $this->method->get_option( $dhl_key );
|
92 |
+
} else {
|
93 |
+
$option_value = Package::get_setting( $dhl_key );
|
94 |
+
}
|
95 |
+
|
96 |
+
if ( strpos( $key, 'enable' ) !== false ) {
|
97 |
+
if ( 'yes' === $option_value && ! $this->is_deutsche_post_enabled() ) {
|
98 |
+
$option_value = 'no';
|
99 |
+
}
|
100 |
+
}
|
101 |
+
} else {
|
102 |
+
$option_value = $this->method->get_option( $key );
|
103 |
+
}
|
104 |
+
|
105 |
+
return $option_value;
|
106 |
+
}
|
107 |
+
|
108 |
+
public function is_deutsche_post_enabled() {
|
109 |
+
return $this->method->is_enabled( 'deutsche_post' );
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Call child methods if the method does not exist.
|
114 |
+
*
|
115 |
+
* @param $method
|
116 |
+
* @param $args
|
117 |
+
*
|
118 |
+
* @return bool|mixed
|
119 |
+
*/
|
120 |
+
public function __call( $method, $args ) {
|
121 |
+
if ( method_exists( $this->method, $method ) ) {
|
122 |
+
return call_user_func_array( array( $this->method, $method ), $args );
|
123 |
+
}
|
124 |
+
|
125 |
+
return false;
|
126 |
+
}
|
127 |
+
}
|
packages/woocommerce-germanized-dhl/woocommerce-germanized-dhl.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Description: The Germanized DHL integration, installed as a feature plugin for development and testing purposes.
|
6 |
* Author: vendidero
|
7 |
* Author URI: https://vendidero.de
|
8 |
-
* Version: 1.
|
9 |
* Requires PHP: 5.6
|
10 |
* License: GPLv3
|
11 |
*
|
5 |
* Description: The Germanized DHL integration, installed as a feature plugin for development and testing purposes.
|
6 |
* Author: vendidero
|
7 |
* Author URI: https://vendidero.de
|
8 |
+
* Version: 1.4.0
|
9 |
* Requires PHP: 5.6
|
10 |
* License: GPLv3
|
11 |
*
|
packages/woocommerce-germanized-shipments/assets/css/admin.css
CHANGED
@@ -33,7 +33,8 @@
|
|
33 |
.germanized-create-label p.form-field label {
|
34 |
width: 100%;
|
35 |
display: block;
|
36 |
-
margin-bottom: 5px;
|
|
|
37 |
|
38 |
.germanized-create-label p.form-field select, .germanized-create-label p.form-field input[type=text], .germanized-create-label p.form-field input[type=email] {
|
39 |
width: 100%;
|
@@ -50,6 +51,7 @@
|
|
50 |
.germanized-create-label p.form-field.form-field-checkbox label {
|
51 |
width: auto;
|
52 |
margin-left: .5em;
|
|
|
53 |
order: 2;
|
54 |
margin-bottom: 0; }
|
55 |
.germanized-create-label p.form-field.form-field-checkbox input[type=checkbox] {
|
@@ -429,6 +431,8 @@ table.wc-gzd-shipping-providers {
|
|
429 |
display: block; }
|
430 |
.germanized-shipments #panel-order-shipments .order-shipment p.form-row {
|
431 |
margin-bottom: 1.5em; }
|
|
|
|
|
432 |
.germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=text], .germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=number], .germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=email] {
|
433 |
height: 30px; }
|
434 |
.germanized-shipments #panel-order-shipments .order-shipment p.form-row select {
|
33 |
.germanized-create-label p.form-field label {
|
34 |
width: 100%;
|
35 |
display: block;
|
36 |
+
margin-bottom: 5px;
|
37 |
+
font-weight: bold; }
|
38 |
|
39 |
.germanized-create-label p.form-field select, .germanized-create-label p.form-field input[type=text], .germanized-create-label p.form-field input[type=email] {
|
40 |
width: 100%;
|
51 |
.germanized-create-label p.form-field.form-field-checkbox label {
|
52 |
width: auto;
|
53 |
margin-left: .5em;
|
54 |
+
font-weight: normal;
|
55 |
order: 2;
|
56 |
margin-bottom: 0; }
|
57 |
.germanized-create-label p.form-field.form-field-checkbox input[type=checkbox] {
|
431 |
display: block; }
|
432 |
.germanized-shipments #panel-order-shipments .order-shipment p.form-row {
|
433 |
margin-bottom: 1.5em; }
|
434 |
+
.germanized-shipments #panel-order-shipments .order-shipment p.form-row.wc-gzd-shipment-packaging-wrapper {
|
435 |
+
margin-top: 0; }
|
436 |
.germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=text], .germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=number], .germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=email] {
|
437 |
height: 30px; }
|
438 |
.germanized-shipments #panel-order-shipments .order-shipment p.form-row select {
|
packages/woocommerce-germanized-shipments/assets/css/admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.germanized-create-label .notice-wrapper .notice{margin:0;margin-bottom:1em}.germanized-create-label .notice-wrapper .notice p{margin:.5em 0!important;padding:2px!important;font-size:13px;line-height:1.5}.germanized-create-label p.form-field{display:inline-block;width:100%;margin-bottom:5px!important;margin-top:5px!important}.germanized-create-label p.form-field:first-child,.germanized-create-label p.form-field:last-child{margin-bottom:5px!important;margin-top:5px!important}.germanized-create-label .columns{margin-left:-.5rem!important;margin-right:-.5rem!important}.germanized-create-label .column{padding-left:.5rem!important;padding-right:.5rem!important}.germanized-create-label .hide-default,.germanized-create-label .show-if{display:none}.germanized-create-label .show-if label{color:#777}.germanized-create-label p.form-field label{width:100%;display:block;margin-bottom:5px}.germanized-create-label p.form-field input[type=email],.germanized-create-label p.form-field input[type=text],.germanized-create-label p.form-field select{width:100%;max-width:100%}.germanized-create-label p.form-field.form-field-checkbox{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;margin-top:10px!important;margin-bottom:10px!important;align-items:center}.germanized-create-label p.form-field.form-field-checkbox label{width:auto;margin-left:.5em;order:2;margin-bottom:0}.germanized-create-label p.form-field.form-field-checkbox input[type=checkbox]{order:1}.germanized-create-label p.form-field.form-field-checkbox .woocommerce-help-tip{order:3;margin-left:3px}.germanized-create-label p.form-field.form-field-checkbox .description{width:100%;margin-top:5px;color:#777;order:4;font-style:normal}table.wc-gzd-shipping-providers{margin-top:1.5em}table.wc-gzd-shipping-providers td,table.wc-gzd-shipping-providers th{display:table-cell!important;padding:1em!important;vertical-align:top;line-height:1.75em;font-size:14px}table.wc-gzd-shipping-providers th{font-weight:600}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-activated,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-activated{width:1%;text-align:center}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-activated .status-disabled,table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-activated .status-enabled,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-activated .status-disabled,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-activated .status-enabled{display:inline-block;margin-top:3px}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-actions,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-actions{width:15%;text-align:right}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-actions{display:flex;justify-content:flex-end;flex-wrap:wrap}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-actions .button{margin-right:5px}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-actions .button:last-child{margin-right:0}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-title,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-title{width:30ch}table.wc-gzd-shipping-providers tr:nth-child(odd) td{background:#f9f9f9}.order-return-status,.order-shipping-status,.shipment-status{background:#eee;padding:.2em .5em;font-size:.9em;border-radius:3px;display:inline-flex;white-space:nowrap}.order-return-status.status-draft,.order-return-status.status-open,.order-return-status.status-partially-returned,.order-return-status.status-partially-shipped,.order-return-status.status-processing,.order-return-status.status-requested,.order-shipping-status.status-draft,.order-shipping-status.status-open,.order-shipping-status.status-partially-returned,.order-shipping-status.status-partially-shipped,.order-shipping-status.status-processing,.order-shipping-status.status-requested,.shipment-status.status-draft,.shipment-status.status-open,.shipment-status.status-partially-returned,.shipment-status.status-partially-shipped,.shipment-status.status-processing,.shipment-status.status-requested{background:#f8dda7;color:#94660c}.order-return-status.status-not-shipped,.order-shipping-status.status-not-shipped,.shipment-status.status-not-shipped{background:#eba3a3;color:#761919}.order-return-status.status-delivered,.order-return-status.status-returned,.order-return-status.status-shipped,.order-shipping-status.status-delivered,.order-shipping-status.status-returned,.order-shipping-status.status-shipped,.shipment-status.status-delivered,.shipment-status.status-returned,.shipment-status.status-shipped{background:#c6e1c6;color:#5b841b}.order-return-status.shipment-type-return-status.status-shipped,.order-shipping-status.shipment-type-return-status.status-shipped,.shipment-status.shipment-type-return-status.status-shipped{background:#f8dda7;color:#94660c}.woocommerce_page_wc-gzd-return-shipments .tablenav .actions,.woocommerce_page_wc-gzd-shipments .tablenav .actions{overflow:visible}.woocommerce_page_wc-gzd-return-shipments .tablenav .select2-container,.woocommerce_page_wc-gzd-shipments .tablenav .select2-container{float:left;width:240px!important;font-size:14px;vertical-align:middle;margin:1px 6px 4px 1px}.woocommerce_page_wc-gzd-return-shipments .tablenav .select2-container .select2-selection--single,.woocommerce_page_wc-gzd-shipments .tablenav .select2-container .select2-selection--single{height:32px}.woocommerce_page_wc-gzd-return-shipments .tablenav .select2-container .select2-selection--single .select2-selection__rendered,.woocommerce_page_wc-gzd-shipments .tablenav .select2-container .select2-selection--single .select2-selection__rendered{line-height:29px}.woocommerce_page_wc-gzd-return-shipments .tablenav .select2-container .select2-selection--single .select2-selection__arrow,.woocommerce_page_wc-gzd-shipments .tablenav .select2-container .select2-selection--single .select2-selection__arrow{height:30px}.woocommerce_page_wc-gzd-return-shipments .tablenav input,.woocommerce_page_wc-gzd-return-shipments .tablenav select,.woocommerce_page_wc-gzd-shipments .tablenav input,.woocommerce_page_wc-gzd-shipments .tablenav select{line-height:1;height:32px}.woocommerce_page_wc-gzd-return-shipments .tablenav input,.woocommerce_page_wc-gzd-shipments .tablenav input{height:31px}.woocommerce_page_wc-gzd-return-shipments .tablenav #shipment-query-submit,.woocommerce_page_wc-gzd-shipments .tablenav #shipment-query-submit{margin:1px 8px 0 0}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper{display:none;clear:both;margin:1em 0;float:left;width:50%}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper h4,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper h4{margin-top:0}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress{width:100%;height:42px;margin:0 auto;display:block;-webkit-appearance:none;border:none;background:#f5f5f5;border:2px solid #eee;border-radius:4px;padding:0;box-shadow:0 1px 0 0 rgba(255,255,255,.2)}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress::-webkit-progress-bar,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress::-webkit-progress-bar{background:transparent none;border:0;border-radius:4px;padding:0;box-shadow:none}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress::-webkit-progress-value,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress::-webkit-progress-value{border-radius:3px;box-shadow:inset 0 1px 1px 0 rgba(255,255,255,.4);background:#a46497;background:linear-gradient(to bottom,#a46497,#66405f),#a46497;transition:width 1s ease}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress::-moz-progress-bar,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress::-moz-progress-bar{border-radius:3px;box-shadow:inset 0 1px 1px 0 rgba(255,255,255,.4);background:#a46497;background:linear-gradient(to bottom,#a46497,#66405f),#a46497;transition:width 1s ease}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress::-ms-fill,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress::-ms-fill{border-radius:3px;box-shadow:inset 0 1px 1px 0 rgba(255,255,255,.4);background:#a46497;background:linear-gradient(to bottom,#a46497,#66405f),#a46497;transition:width 1s ease}.woocommerce_page_wc-gzd-return-shipments #posts-filter.bulk-action-processing .bulk-action-wrapper,.woocommerce_page_wc-gzd-shipments #posts-filter.bulk-action-processing .bulk-action-wrapper{display:block}.woocommerce_page_wc-gzd-return-shipments .wp-list-table,.woocommerce_page_wc-gzd-shipments .wp-list-table{margin-top:1em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table td,.woocommerce_page_wc-gzd-return-shipments .wp-list-table th,.woocommerce_page_wc-gzd-shipments .wp-list-table td,.woocommerce_page_wc-gzd-shipments .wp-list-table th{padding:.5em 1em;width:10ch;vertical-align:middle}.woocommerce_page_wc-gzd-return-shipments .wp-list-table tbody th,.woocommerce_page_wc-gzd-return-shipments .wp-list-table td,.woocommerce_page_wc-gzd-shipments .wp-list-table tbody th,.woocommerce_page_wc-gzd-shipments .wp-list-table td{line-height:26px}.woocommerce_page_wc-gzd-return-shipments .wp-list-table thead th,.woocommerce_page_wc-gzd-shipments .wp-list-table thead th{padding:.5em 1em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table thead th.sortable a,.woocommerce_page_wc-gzd-return-shipments .wp-list-table thead th.sorted a,.woocommerce_page_wc-gzd-shipments .wp-list-table thead th.sortable a,.woocommerce_page_wc-gzd-shipments .wp-list-table thead th.sorted a{padding:0}.woocommerce_page_wc-gzd-return-shipments .wp-list-table thead th:last-child,.woocommerce_page_wc-gzd-shipments .wp-list-table thead th:last-child{padding-right:2em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .check-column,.woocommerce_page_wc-gzd-shipments .wp-list-table .check-column{width:16px;white-space:nowrap;padding:1em 1em 1em 1em!important;vertical-align:middle}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .check-column input,.woocommerce_page_wc-gzd-shipments .wp-list-table .check-column input{vertical-align:text-top;margin:1px 0}.woocommerce_page_wc-gzd-return-shipments .wp-list-table td.column-title,.woocommerce_page_wc-gzd-shipments .wp-list-table td.column-title{font-weight:700}.woocommerce_page_wc-gzd-return-shipments .wp-list-table td.column-title .shipment-title-meta,.woocommerce_page_wc-gzd-shipments .wp-list-table td.column-title .shipment-title-meta{margin-top:0;font-weight:400;color:#999;font-style:italic}.woocommerce_page_wc-gzd-return-shipments .wp-list-table td.column-title .shipment-title-meta .shipment-tracking-id,.woocommerce_page_wc-gzd-shipments .wp-list-table td.column-title .shipment-title-meta .shipment-tracking-id{color:#999;display:block}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-title,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-title{width:20ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions{width:10ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-order,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-order{width:10ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-address a,.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-sender a,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-address a,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-sender a{color:#32373c}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .shipment-status,.woocommerce_page_wc-gzd-shipments .wp-list-table .shipment-status{font-size:1em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions{text-align:right}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button{text-indent:9999px;margin:2px 0 2px 4px;position:relative;display:inline-block;padding:0;height:2em;width:2em;overflow:hidden;vertical-align:middle}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button::after{font-family:Dashicons;margin:0;margin-top:2px;speak:none;font-weight:400;font-variant:normal;text-transform:none;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;line-height:1.85}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.processing::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.processing::after{font-family:WooCommerce;content:"\e00f"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.shipped::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.shipped::after{content:"\f147"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.delivered::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.delivered::after{content:"\f147"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.confirm::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.confirm::after{content:"\f147"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.generate::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.generate::after{content:"\f502"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.download::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.download::after{content:"\f103"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-address,.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-sender,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-address,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-sender{width:20ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-items,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-items{width:20ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview{font-size:.9em;border-spacing:0}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview thead th,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview thead th{color:#adadad;padding-top:0;font-size:1.1em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview tr td,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview tr td{border-bottom:1px solid #ccc!important}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview tr:last-child td,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview tr:last-child td{border-bottom:none!important}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td,.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th{padding:.3em 0;vertical-align:top;line-height:20px}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td.wc-gzd-shipment-item-column-name,.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th.wc-gzd-shipment-item-column-name,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td.wc-gzd-shipment-item-column-name,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th.wc-gzd-shipment-item-column-name{width:70%}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td.wc-gzd-shipment-item-column-quantity,.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th.wc-gzd-shipment-item-column-quantity,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td.wc-gzd-shipment-item-column-quantity,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th.wc-gzd-shipment-item-column-quantity{text-align:right;padding-right:.5em}#woocommerce-gzd-order-shipments .inside{margin:0;padding:0;display:block!important}#woocommerce-gzd-order-shipments .handlediv,#woocommerce-gzd-order-shipments .hndle,#woocommerce-gzd-order-shipments .postbox-header{display:none}#woocommerce-gzd-order-shipments .hide-default{display:none}.germanized-shipments *{box-sizing:border-box}.germanized-shipments #panel-order-shipments{padding:23px 0 0}.germanized-shipments #panel-order-shipments .panel-inner{padding:0 24px}.germanized-shipments #panel-order-shipments .panel-title-inner{padding-left:0;margin-top:1em;padding-right:0}.germanized-shipments #panel-order-shipments .panel-title{margin-bottom:1.5em}.germanized-shipments #panel-order-shipments .panel-title h2{margin:0;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-size:21px;font-weight:400;line-height:1.2;text-shadow:1px 1px 1px #fff;padding:0}.germanized-shipments #panel-order-shipments .panel-footer{background:#f8f8f8;padding-top:1em;padding-bottom:1em;border-top:1px solid #dfdfdf;display:none}.germanized-shipments #panel-order-shipments .panel-footer .order-shipments-actions{display:flex;flex-wrap:nowrap;justify-content:space-between}.germanized-shipments #panel-order-shipments .panel-footer .order-shipments-actions .shipment-actions-left{display:flex;flex-wrap:wrap;justify-content:flex-start}.germanized-shipments #panel-order-shipments .panel-footer .order-shipments-actions .shipment-actions-left .button{margin-right:1em}.germanized-shipments #panel-order-shipments .panel-footer #order-shipments-save{display:none}.germanized-shipments #panel-order-shipments #order-return-shipment-add,.germanized-shipments #panel-order-shipments #order-shipment-add{display:none}.germanized-shipments #panel-order-shipments.needs-shipments .panel-footer{display:block}.germanized-shipments #panel-order-shipments.needs-shipments #order-shipment-add{display:block}.germanized-shipments #panel-order-shipments.needs-returns .panel-footer{display:block}.germanized-shipments #panel-order-shipments.needs-returns #order-return-shipment-add{display:block}.germanized-shipments #panel-order-shipments #order-shipments-list{margin-bottom:1.5em}.germanized-shipments #panel-order-shipments .delete{color:#a00}.germanized-shipments #panel-order-shipments .delete:hover{color:#dc3232;border:none}.germanized-shipments #panel-order-shipments .order-shipment a .woocommerce-help-tip{margin-right:3px}.germanized-shipments #panel-order-shipments .order-shipment .handlediv{display:inline-block;float:none;width:auto;height:auto}.germanized-shipments #panel-order-shipments .order-shipment .handlediv .toggle-indicator::before{content:"\f140"}.germanized-shipments #panel-order-shipments .order-shipment .wc-gzd-shipment-label h4{margin-top:0}.germanized-shipments #panel-order-shipments .order-shipment .wc-gzd-shipment-label .shipment-label-actions .shipment-label-actions-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-bottom:1em;align-items:center}.germanized-shipments #panel-order-shipments .order-shipment .wc-gzd-shipment-label .shipment-label-actions .shipment-label-actions-wrapper a{margin-right:1em}.germanized-shipments #panel-order-shipments .order-shipment .show-if{display:none}.germanized-shipments #panel-order-shipments .order-shipment.active>.shipment-content-wrapper{display:block}.germanized-shipments #panel-order-shipments .order-shipment.active>.shipment-header>.right>.handlediv .toggle-indicator::before{content:"\f142"}.germanized-shipments #panel-order-shipments .order-shipment .item-count{margin-right:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-footer{margin-top:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-footer .shipment-footer-inner{display:flex;flex-wrap:nowrap;justify-content:flex-end;padding:0 .5em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-footer .shipment-footer-inner a.shipment-footer-action{margin-right:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-footer .shipment-footer-inner a.shipment-footer-action:last-child{margin-right:0}.germanized-shipments #panel-order-shipments .order-shipment .shipment-header{color:#999;background:#f8f8f8;margin:1.5em 0;padding:.5em 1em;cursor:pointer}.germanized-shipments #panel-order-shipments .order-shipment .shipment-header .shipment-status{margin-left:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-header h3{margin:0}.germanized-shipments #panel-order-shipments .order-shipment:first-child .shipment-header{margin-top:0}.germanized-shipments #panel-order-shipments .order-shipment .shipment-header:hover,.germanized-shipments #panel-order-shipments .order-shipment.active>.shipment-header{background:#f3f3f3}.germanized-shipments #panel-order-shipments .order-shipment .shipment-content-wrapper{display:none}.germanized-shipments #panel-order-shipments .order-shipment .shipment-content{padding:1em;margin-top:-1.5em;padding-bottom:0}.germanized-shipments #panel-order-shipments .order-shipment .add-shipment-return{display:none}.germanized-shipments #panel-order-shipments .order-shipment.is-returnable .add-shipment-return{display:block}.germanized-shipments #panel-order-shipments .order-shipment p.form-row{margin-bottom:1.5em}.germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=email],.germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=number],.germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=text]{height:30px}.germanized-shipments #panel-order-shipments .order-shipment p.form-row select{line-height:30px;height:30px;padding-top:0;padding-bottom:0}.germanized-shipments #panel-order-shipments .order-shipment p.form-row label{color:#999;font-weight:600}.germanized-shipments #panel-order-shipments .order-shipment p.form-row label .woocommerce-help-tip{float:none}.germanized-shipments #panel-order-shipments .order-shipment .columns .column.column-spaced{margin:5px 0}.germanized-shipments #panel-order-shipments .order-shipment .columns .column h4{margin-bottom:.7em;color:#999}.germanized-shipments #panel-order-shipments .order-shipment .columns .column h4 a{color:#999;text-decoration:none}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item-action{text-align:right}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item-quantity input{width:50px;text-align:center}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item-name p.form-row{margin-bottom:0;margin-top:.5em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item-heading{padding:.5em;color:#999;background:#f8f8f8;font-weight:600}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item{padding:.5em;border-bottom:1px solid #dfdfdf}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item:last-child{border-bottom:none}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item:nth-child(2n){background:#f8f8f8}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item .columns{align-items:center}.germanized-shipments #panel-order-shipments .order-shipment .shipment-item-actions{display:flex;padding:.7em .5em;flex-wrap:nowrap;justify-content:flex-end;border-top:1px solid #dfdfdf}.germanized-shipments #panel-order-shipments .order-shipment .shipment-item-actions .add-items{margin-right:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-item-actions .woocommerce-help-tip{margin-left:0}.germanized-shipments #panel-order-shipments .order-shipment .add-items{display:none}.germanized-shipments #panel-order-shipments .order-shipment .shipment-returns{margin-top:.5em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-returns .shipment-return .shipment-header{background:0 0;border-bottom:1px solid #dfdfdf;padding-left:0;padding-right:0}.germanized-shipments #panel-order-shipments .order-shipment .shipment-returns .shipment-return .shipment-header h3{font-size:1.1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-returns .shipment-return .shipment-content{padding:1em 0}.germanized-shipments #panel-order-shipments .order-shipment.needs-items .add-items{display:block}.germanized-shipments #panel-order-shipments .form-row .input-inner-wrap{clear:left;margin:0;display:flex;flex-wrap:nowrap}.germanized-shipments #panel-order-shipments .form-row .input-inner-wrap input{margin-right:1em}.germanized-shipments #panel-order-shipments .form-row .input-inner-wrap input:last-child{margin-right:0}.germanized-shipments .title-spread{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center}.germanized-shipments .title-spread .left,.germanized-shipments .title-spread .right{display:inline-flex;align-items:center}.germanized-shipments .show-lg,.germanized-shipments .show-md,.germanized-shipments .show-sm,.germanized-shipments .show-xl,.germanized-shipments .show-xs{display:none!important}.germanized-shipments .columns{display:flex;flex-wrap:wrap;margin-left:-1rem;margin-right:-1rem}.germanized-shipments .columns.col-gapless{margin-left:0;margin-right:0}.germanized-shipments .columns.col-gapless>.column{padding-left:0;padding-right:0}.germanized-shipments .columns.col-oneline{flex-wrap:nowrap;overflow-x:auto}.germanized-shipments .column{flex:1;max-width:100%;padding-left:1rem;padding-right:1rem}.germanized-shipments .column.col-1,.germanized-shipments .column.col-10,.germanized-shipments .column.col-11,.germanized-shipments .column.col-12,.germanized-shipments .column.col-2,.germanized-shipments .column.col-3,.germanized-shipments .column.col-4,.germanized-shipments .column.col-5,.germanized-shipments .column.col-6,.germanized-shipments .column.col-7,.germanized-shipments .column.col-8,.germanized-shipments .column.col-9,.germanized-shipments .column.col-auto{flex:none}.germanized-shipments .col-12{width:100%}.germanized-shipments .col-11{width:91.66666667%}.germanized-shipments .col-10{width:83.33333333%}.germanized-shipments .col-9{width:75%}.germanized-shipments .col-8{width:66.66666667%}.germanized-shipments .col-7{width:58.33333333%}.germanized-shipments .col-6{width:50%}.germanized-shipments .col-5{width:41.66666667%}.germanized-shipments .col-4{width:33.33333333%}.germanized-shipments .col-3{width:25%}.germanized-shipments .col-2{width:16.66666667%}.germanized-shipments .col-1{width:8.33333333%}.germanized-shipments .col-auto{flex:0 0 auto;max-width:none;width:auto}.germanized-shipments .col-mx-auto{margin-left:auto;margin-right:auto}.germanized-shipments .col-ml-auto{margin-left:auto}.germanized-shipments .col-mr-auto{margin-right:auto}@media (max-width:1280px){.germanized-shipments .col-xl-1,.germanized-shipments .col-xl-10,.germanized-shipments .col-xl-11,.germanized-shipments .col-xl-12,.germanized-shipments .col-xl-2,.germanized-shipments .col-xl-3,.germanized-shipments .col-xl-4,.germanized-shipments .col-xl-5,.germanized-shipments .col-xl-6,.germanized-shipments .col-xl-7,.germanized-shipments .col-xl-8,.germanized-shipments .col-xl-9,.germanized-shipments .col-xl-auto{flex:none}.germanized-shipments .col-xl-12{width:100%}.germanized-shipments .col-xl-11{width:91.66666667%}.germanized-shipments .col-xl-10{width:83.33333333%}.germanized-shipments .col-xl-9{width:75%}.germanized-shipments .col-xl-8{width:66.66666667%}.germanized-shipments .col-xl-7{width:58.33333333%}.germanized-shipments .col-xl-6{width:50%}.germanized-shipments .col-xl-5{width:41.66666667%}.germanized-shipments .col-xl-4{width:33.33333333%}.germanized-shipments .col-xl-3{width:25%}.germanized-shipments .col-xl-2{width:16.66666667%}.germanized-shipments .col-xl-1{width:8.33333333%}.germanized-shipments .col-xl-auto{width:auto}.germanized-shipments .hide-xl{display:none!important}.germanized-shipments .show-xl{display:block!important}}@media (max-width:960px){.germanized-shipments .col-lg-1,.germanized-shipments .col-lg-10,.germanized-shipments .col-lg-11,.germanized-shipments .col-lg-12,.germanized-shipments .col-lg-2,.germanized-shipments .col-lg-3,.germanized-shipments .col-lg-4,.germanized-shipments .col-lg-5,.germanized-shipments .col-lg-6,.germanized-shipments .col-lg-7,.germanized-shipments .col-lg-8,.germanized-shipments .col-lg-9,.germanized-shipments .col-lg-auto{flex:none}.germanized-shipments .col-lg-12{width:100%}.germanized-shipments .col-lg-11{width:91.66666667%}.germanized-shipments .col-lg-10{width:83.33333333%}.germanized-shipments .col-lg-9{width:75%}.germanized-shipments .col-lg-8{width:66.66666667%}.germanized-shipments .col-lg-7{width:58.33333333%}.germanized-shipments .col-lg-6{width:50%}.germanized-shipments .col-lg-5{width:41.66666667%}.germanized-shipments .col-lg-4{width:33.33333333%}.germanized-shipments .col-lg-3{width:25%}.germanized-shipments .col-lg-2{width:16.66666667%}.germanized-shipments .col-lg-1{width:8.33333333%}.germanized-shipments .col-lg-auto{width:auto}.germanized-shipments .hide-lg{display:none!important}.germanized-shipments .show-lg{display:block!important}}@media (max-width:840px){.germanized-shipments .col-md-1,.germanized-shipments .col-md-10,.germanized-shipments .col-md-11,.germanized-shipments .col-md-12,.germanized-shipments .col-md-2,.germanized-shipments .col-md-3,.germanized-shipments .col-md-4,.germanized-shipments .col-md-5,.germanized-shipments .col-md-6,.germanized-shipments .col-md-7,.germanized-shipments .col-md-8,.germanized-shipments .col-md-9,.germanized-shipments .col-md-auto{flex:none}.germanized-shipments .col-md-12{width:100%}.germanized-shipments .col-md-11{width:91.66666667%}.germanized-shipments .col-md-10{width:83.33333333%}.germanized-shipments .col-md-9{width:75%}.germanized-shipments .col-md-8{width:66.66666667%}.germanized-shipments .col-md-7{width:58.33333333%}.germanized-shipments .col-md-6{width:50%}.germanized-shipments .col-md-5{width:41.66666667%}.germanized-shipments .col-md-4{width:33.33333333%}.germanized-shipments .col-md-3{width:25%}.germanized-shipments .col-md-2{width:16.66666667%}.germanized-shipments .col-md-1{width:8.33333333%}.germanized-shipments .col-md-auto{width:auto}.germanized-shipments .hide-md{display:none!important}.germanized-shipments .show-md{display:block!important}}@media (max-width:600px){.germanized-shipments .col-sm-1,.germanized-shipments .col-sm-10,.germanized-shipments .col-sm-11,.germanized-shipments .col-sm-12,.germanized-shipments .col-sm-2,.germanized-shipments .col-sm-3,.germanized-shipments .col-sm-4,.germanized-shipments .col-sm-5,.germanized-shipments .col-sm-6,.germanized-shipments .col-sm-7,.germanized-shipments .col-sm-8,.germanized-shipments .col-sm-9,.germanized-shipments .col-sm-auto{flex:none}.germanized-shipments .col-sm-12{width:100%}.germanized-shipments .col-sm-11{width:91.66666667%}.germanized-shipments .col-sm-10{width:83.33333333%}.germanized-shipments .col-sm-9{width:75%}.germanized-shipments .col-sm-8{width:66.66666667%}.germanized-shipments .col-sm-7{width:58.33333333%}.germanized-shipments .col-sm-6{width:50%}.germanized-shipments .col-sm-5{width:41.66666667%}.germanized-shipments .col-sm-4{width:33.33333333%}.germanized-shipments .col-sm-3{width:25%}.germanized-shipments .col-sm-2{width:16.66666667%}.germanized-shipments .col-sm-1{width:8.33333333%}.germanized-shipments .col-sm-auto{width:auto}.germanized-shipments .hide-sm{display:none!important}.germanized-shipments .show-sm{display:block!important}}@media (max-width:480px){.germanized-shipments .col-xs-1,.germanized-shipments .col-xs-10,.germanized-shipments .col-xs-11,.germanized-shipments .col-xs-12,.germanized-shipments .col-xs-2,.germanized-shipments .col-xs-3,.germanized-shipments .col-xs-4,.germanized-shipments .col-xs-5,.germanized-shipments .col-xs-6,.germanized-shipments .col-xs-7,.germanized-shipments .col-xs-8,.germanized-shipments .col-xs-9,.germanized-shipments .col-xs-auto{flex:none}.germanized-shipments .col-xs-12{width:100%}.germanized-shipments .col-xs-11{width:91.66666667%}.germanized-shipments .col-xs-10{width:83.33333333%}.germanized-shipments .col-xs-9{width:75%}.germanized-shipments .col-xs-8{width:66.66666667%}.germanized-shipments .col-xs-7{width:58.33333333%}.germanized-shipments .col-xs-6{width:50%}.germanized-shipments .col-xs-5{width:41.66666667%}.germanized-shipments .col-xs-4{width:33.33333333%}.germanized-shipments .col-xs-3{width:25%}.germanized-shipments .col-xs-2{width:16.66666667%}.germanized-shipments .col-xs-1{width:8.33333333%}.germanized-shipments .col-xs-auto{width:auto}.germanized-shipments .hide-xs{display:none!important}.germanized-shipments .show-xs{display:block!important}}
|
1 |
+
.germanized-create-label .notice-wrapper .notice{margin:0;margin-bottom:1em}.germanized-create-label .notice-wrapper .notice p{margin:.5em 0!important;padding:2px!important;font-size:13px;line-height:1.5}.germanized-create-label p.form-field{display:inline-block;width:100%;margin-bottom:5px!important;margin-top:5px!important}.germanized-create-label p.form-field:first-child,.germanized-create-label p.form-field:last-child{margin-bottom:5px!important;margin-top:5px!important}.germanized-create-label .columns{margin-left:-.5rem!important;margin-right:-.5rem!important}.germanized-create-label .column{padding-left:.5rem!important;padding-right:.5rem!important}.germanized-create-label .hide-default,.germanized-create-label .show-if{display:none}.germanized-create-label .show-if label{color:#777}.germanized-create-label p.form-field label{width:100%;display:block;margin-bottom:5px;font-weight:700}.germanized-create-label p.form-field input[type=email],.germanized-create-label p.form-field input[type=text],.germanized-create-label p.form-field select{width:100%;max-width:100%}.germanized-create-label p.form-field.form-field-checkbox{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-start;margin-top:10px!important;margin-bottom:10px!important;align-items:center}.germanized-create-label p.form-field.form-field-checkbox label{width:auto;margin-left:.5em;font-weight:400;order:2;margin-bottom:0}.germanized-create-label p.form-field.form-field-checkbox input[type=checkbox]{order:1}.germanized-create-label p.form-field.form-field-checkbox .woocommerce-help-tip{order:3;margin-left:3px}.germanized-create-label p.form-field.form-field-checkbox .description{width:100%;margin-top:5px;color:#777;order:4;font-style:normal}table.wc-gzd-shipping-providers{margin-top:1.5em}table.wc-gzd-shipping-providers td,table.wc-gzd-shipping-providers th{display:table-cell!important;padding:1em!important;vertical-align:top;line-height:1.75em;font-size:14px}table.wc-gzd-shipping-providers th{font-weight:600}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-activated,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-activated{width:1%;text-align:center}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-activated .status-disabled,table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-activated .status-enabled,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-activated .status-disabled,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-activated .status-enabled{display:inline-block;margin-top:3px}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-actions,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-actions{width:15%;text-align:right}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-actions{display:flex;justify-content:flex-end;flex-wrap:wrap}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-actions .button{margin-right:5px}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-actions .button:last-child{margin-right:0}table.wc-gzd-shipping-providers td.wc-gzd-shipping-provider-title,table.wc-gzd-shipping-providers th.wc-gzd-shipping-provider-title{width:30ch}table.wc-gzd-shipping-providers tr:nth-child(odd) td{background:#f9f9f9}.order-return-status,.order-shipping-status,.shipment-status{background:#eee;padding:.2em .5em;font-size:.9em;border-radius:3px;display:inline-flex;white-space:nowrap}.order-return-status.status-draft,.order-return-status.status-open,.order-return-status.status-partially-returned,.order-return-status.status-partially-shipped,.order-return-status.status-processing,.order-return-status.status-requested,.order-shipping-status.status-draft,.order-shipping-status.status-open,.order-shipping-status.status-partially-returned,.order-shipping-status.status-partially-shipped,.order-shipping-status.status-processing,.order-shipping-status.status-requested,.shipment-status.status-draft,.shipment-status.status-open,.shipment-status.status-partially-returned,.shipment-status.status-partially-shipped,.shipment-status.status-processing,.shipment-status.status-requested{background:#f8dda7;color:#94660c}.order-return-status.status-not-shipped,.order-shipping-status.status-not-shipped,.shipment-status.status-not-shipped{background:#eba3a3;color:#761919}.order-return-status.status-delivered,.order-return-status.status-returned,.order-return-status.status-shipped,.order-shipping-status.status-delivered,.order-shipping-status.status-returned,.order-shipping-status.status-shipped,.shipment-status.status-delivered,.shipment-status.status-returned,.shipment-status.status-shipped{background:#c6e1c6;color:#5b841b}.order-return-status.shipment-type-return-status.status-shipped,.order-shipping-status.shipment-type-return-status.status-shipped,.shipment-status.shipment-type-return-status.status-shipped{background:#f8dda7;color:#94660c}.woocommerce_page_wc-gzd-return-shipments .tablenav .actions,.woocommerce_page_wc-gzd-shipments .tablenav .actions{overflow:visible}.woocommerce_page_wc-gzd-return-shipments .tablenav .select2-container,.woocommerce_page_wc-gzd-shipments .tablenav .select2-container{float:left;width:240px!important;font-size:14px;vertical-align:middle;margin:1px 6px 4px 1px}.woocommerce_page_wc-gzd-return-shipments .tablenav .select2-container .select2-selection--single,.woocommerce_page_wc-gzd-shipments .tablenav .select2-container .select2-selection--single{height:32px}.woocommerce_page_wc-gzd-return-shipments .tablenav .select2-container .select2-selection--single .select2-selection__rendered,.woocommerce_page_wc-gzd-shipments .tablenav .select2-container .select2-selection--single .select2-selection__rendered{line-height:29px}.woocommerce_page_wc-gzd-return-shipments .tablenav .select2-container .select2-selection--single .select2-selection__arrow,.woocommerce_page_wc-gzd-shipments .tablenav .select2-container .select2-selection--single .select2-selection__arrow{height:30px}.woocommerce_page_wc-gzd-return-shipments .tablenav input,.woocommerce_page_wc-gzd-return-shipments .tablenav select,.woocommerce_page_wc-gzd-shipments .tablenav input,.woocommerce_page_wc-gzd-shipments .tablenav select{line-height:1;height:32px}.woocommerce_page_wc-gzd-return-shipments .tablenav input,.woocommerce_page_wc-gzd-shipments .tablenav input{height:31px}.woocommerce_page_wc-gzd-return-shipments .tablenav #shipment-query-submit,.woocommerce_page_wc-gzd-shipments .tablenav #shipment-query-submit{margin:1px 8px 0 0}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper{display:none;clear:both;margin:1em 0;float:left;width:50%}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper h4,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper h4{margin-top:0}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress{width:100%;height:42px;margin:0 auto;display:block;-webkit-appearance:none;border:none;background:#f5f5f5;border:2px solid #eee;border-radius:4px;padding:0;box-shadow:0 1px 0 0 rgba(255,255,255,.2)}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress::-webkit-progress-bar,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress::-webkit-progress-bar{background:transparent none;border:0;border-radius:4px;padding:0;box-shadow:none}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress::-webkit-progress-value,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress::-webkit-progress-value{border-radius:3px;box-shadow:inset 0 1px 1px 0 rgba(255,255,255,.4);background:#a46497;background:linear-gradient(to bottom,#a46497,#66405f),#a46497;transition:width 1s ease}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress::-moz-progress-bar,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress::-moz-progress-bar{border-radius:3px;box-shadow:inset 0 1px 1px 0 rgba(255,255,255,.4);background:#a46497;background:linear-gradient(to bottom,#a46497,#66405f),#a46497;transition:width 1s ease}.woocommerce_page_wc-gzd-return-shipments #posts-filter .bulk-action-wrapper progress::-ms-fill,.woocommerce_page_wc-gzd-shipments #posts-filter .bulk-action-wrapper progress::-ms-fill{border-radius:3px;box-shadow:inset 0 1px 1px 0 rgba(255,255,255,.4);background:#a46497;background:linear-gradient(to bottom,#a46497,#66405f),#a46497;transition:width 1s ease}.woocommerce_page_wc-gzd-return-shipments #posts-filter.bulk-action-processing .bulk-action-wrapper,.woocommerce_page_wc-gzd-shipments #posts-filter.bulk-action-processing .bulk-action-wrapper{display:block}.woocommerce_page_wc-gzd-return-shipments .wp-list-table,.woocommerce_page_wc-gzd-shipments .wp-list-table{margin-top:1em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table td,.woocommerce_page_wc-gzd-return-shipments .wp-list-table th,.woocommerce_page_wc-gzd-shipments .wp-list-table td,.woocommerce_page_wc-gzd-shipments .wp-list-table th{padding:.5em 1em;width:10ch;vertical-align:middle}.woocommerce_page_wc-gzd-return-shipments .wp-list-table tbody th,.woocommerce_page_wc-gzd-return-shipments .wp-list-table td,.woocommerce_page_wc-gzd-shipments .wp-list-table tbody th,.woocommerce_page_wc-gzd-shipments .wp-list-table td{line-height:26px}.woocommerce_page_wc-gzd-return-shipments .wp-list-table thead th,.woocommerce_page_wc-gzd-shipments .wp-list-table thead th{padding:.5em 1em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table thead th.sortable a,.woocommerce_page_wc-gzd-return-shipments .wp-list-table thead th.sorted a,.woocommerce_page_wc-gzd-shipments .wp-list-table thead th.sortable a,.woocommerce_page_wc-gzd-shipments .wp-list-table thead th.sorted a{padding:0}.woocommerce_page_wc-gzd-return-shipments .wp-list-table thead th:last-child,.woocommerce_page_wc-gzd-shipments .wp-list-table thead th:last-child{padding-right:2em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .check-column,.woocommerce_page_wc-gzd-shipments .wp-list-table .check-column{width:16px;white-space:nowrap;padding:1em 1em 1em 1em!important;vertical-align:middle}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .check-column input,.woocommerce_page_wc-gzd-shipments .wp-list-table .check-column input{vertical-align:text-top;margin:1px 0}.woocommerce_page_wc-gzd-return-shipments .wp-list-table td.column-title,.woocommerce_page_wc-gzd-shipments .wp-list-table td.column-title{font-weight:700}.woocommerce_page_wc-gzd-return-shipments .wp-list-table td.column-title .shipment-title-meta,.woocommerce_page_wc-gzd-shipments .wp-list-table td.column-title .shipment-title-meta{margin-top:0;font-weight:400;color:#999;font-style:italic}.woocommerce_page_wc-gzd-return-shipments .wp-list-table td.column-title .shipment-title-meta .shipment-tracking-id,.woocommerce_page_wc-gzd-shipments .wp-list-table td.column-title .shipment-title-meta .shipment-tracking-id{color:#999;display:block}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-title,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-title{width:20ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions{width:10ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-order,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-order{width:10ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-address a,.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-sender a,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-address a,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-sender a{color:#32373c}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .shipment-status,.woocommerce_page_wc-gzd-shipments .wp-list-table .shipment-status{font-size:1em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions{text-align:right}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button{text-indent:9999px;margin:2px 0 2px 4px;position:relative;display:inline-block;padding:0;height:2em;width:2em;overflow:hidden;vertical-align:middle}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button::after{font-family:Dashicons;margin:0;margin-top:2px;speak:none;font-weight:400;font-variant:normal;text-transform:none;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;line-height:1.85}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.processing::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.processing::after{font-family:WooCommerce;content:"\e00f"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.shipped::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.shipped::after{content:"\f147"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.delivered::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.delivered::after{content:"\f147"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.confirm::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.confirm::after{content:"\f147"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.generate::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.generate::after{content:"\f502"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-actions a.button.download::after,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-actions a.button.download::after{content:"\f103"}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-address,.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-sender,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-address,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-sender{width:20ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table .column-items,.woocommerce_page_wc-gzd-shipments .wp-list-table .column-items{width:20ch}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview{font-size:.9em;border-spacing:0}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview thead th,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview thead th{color:#adadad;padding-top:0;font-size:1.1em}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview tr td,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview tr td{border-bottom:1px solid #ccc!important}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview tr:last-child td,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview tr:last-child td{border-bottom:none!important}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td,.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th{padding:.3em 0;vertical-align:top;line-height:20px}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td.wc-gzd-shipment-item-column-name,.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th.wc-gzd-shipment-item-column-name,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td.wc-gzd-shipment-item-column-name,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th.wc-gzd-shipment-item-column-name{width:70%}.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td.wc-gzd-shipment-item-column-quantity,.woocommerce_page_wc-gzd-return-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th.wc-gzd-shipment-item-column-quantity,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview td.wc-gzd-shipment-item-column-quantity,.woocommerce_page_wc-gzd-shipments .wp-list-table #the-list .column-items table.wc-gzd-shipments-preview th.wc-gzd-shipment-item-column-quantity{text-align:right;padding-right:.5em}#woocommerce-gzd-order-shipments .inside{margin:0;padding:0;display:block!important}#woocommerce-gzd-order-shipments .handlediv,#woocommerce-gzd-order-shipments .hndle,#woocommerce-gzd-order-shipments .postbox-header{display:none}#woocommerce-gzd-order-shipments .hide-default{display:none}.germanized-shipments *{box-sizing:border-box}.germanized-shipments #panel-order-shipments{padding:23px 0 0}.germanized-shipments #panel-order-shipments .panel-inner{padding:0 24px}.germanized-shipments #panel-order-shipments .panel-title-inner{padding-left:0;margin-top:1em;padding-right:0}.germanized-shipments #panel-order-shipments .panel-title{margin-bottom:1.5em}.germanized-shipments #panel-order-shipments .panel-title h2{margin:0;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-size:21px;font-weight:400;line-height:1.2;text-shadow:1px 1px 1px #fff;padding:0}.germanized-shipments #panel-order-shipments .panel-footer{background:#f8f8f8;padding-top:1em;padding-bottom:1em;border-top:1px solid #dfdfdf;display:none}.germanized-shipments #panel-order-shipments .panel-footer .order-shipments-actions{display:flex;flex-wrap:nowrap;justify-content:space-between}.germanized-shipments #panel-order-shipments .panel-footer .order-shipments-actions .shipment-actions-left{display:flex;flex-wrap:wrap;justify-content:flex-start}.germanized-shipments #panel-order-shipments .panel-footer .order-shipments-actions .shipment-actions-left .button{margin-right:1em}.germanized-shipments #panel-order-shipments .panel-footer #order-shipments-save{display:none}.germanized-shipments #panel-order-shipments #order-return-shipment-add,.germanized-shipments #panel-order-shipments #order-shipment-add{display:none}.germanized-shipments #panel-order-shipments.needs-shipments .panel-footer{display:block}.germanized-shipments #panel-order-shipments.needs-shipments #order-shipment-add{display:block}.germanized-shipments #panel-order-shipments.needs-returns .panel-footer{display:block}.germanized-shipments #panel-order-shipments.needs-returns #order-return-shipment-add{display:block}.germanized-shipments #panel-order-shipments #order-shipments-list{margin-bottom:1.5em}.germanized-shipments #panel-order-shipments .delete{color:#a00}.germanized-shipments #panel-order-shipments .delete:hover{color:#dc3232;border:none}.germanized-shipments #panel-order-shipments .order-shipment a .woocommerce-help-tip{margin-right:3px}.germanized-shipments #panel-order-shipments .order-shipment .handlediv{display:inline-block;float:none;width:auto;height:auto}.germanized-shipments #panel-order-shipments .order-shipment .handlediv .toggle-indicator::before{content:"\f140"}.germanized-shipments #panel-order-shipments .order-shipment .wc-gzd-shipment-label h4{margin-top:0}.germanized-shipments #panel-order-shipments .order-shipment .wc-gzd-shipment-label .shipment-label-actions .shipment-label-actions-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-bottom:1em;align-items:center}.germanized-shipments #panel-order-shipments .order-shipment .wc-gzd-shipment-label .shipment-label-actions .shipment-label-actions-wrapper a{margin-right:1em}.germanized-shipments #panel-order-shipments .order-shipment .show-if{display:none}.germanized-shipments #panel-order-shipments .order-shipment.active>.shipment-content-wrapper{display:block}.germanized-shipments #panel-order-shipments .order-shipment.active>.shipment-header>.right>.handlediv .toggle-indicator::before{content:"\f142"}.germanized-shipments #panel-order-shipments .order-shipment .item-count{margin-right:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-footer{margin-top:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-footer .shipment-footer-inner{display:flex;flex-wrap:nowrap;justify-content:flex-end;padding:0 .5em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-footer .shipment-footer-inner a.shipment-footer-action{margin-right:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-footer .shipment-footer-inner a.shipment-footer-action:last-child{margin-right:0}.germanized-shipments #panel-order-shipments .order-shipment .shipment-header{color:#999;background:#f8f8f8;margin:1.5em 0;padding:.5em 1em;cursor:pointer}.germanized-shipments #panel-order-shipments .order-shipment .shipment-header .shipment-status{margin-left:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-header h3{margin:0}.germanized-shipments #panel-order-shipments .order-shipment:first-child .shipment-header{margin-top:0}.germanized-shipments #panel-order-shipments .order-shipment .shipment-header:hover,.germanized-shipments #panel-order-shipments .order-shipment.active>.shipment-header{background:#f3f3f3}.germanized-shipments #panel-order-shipments .order-shipment .shipment-content-wrapper{display:none}.germanized-shipments #panel-order-shipments .order-shipment .shipment-content{padding:1em;margin-top:-1.5em;padding-bottom:0}.germanized-shipments #panel-order-shipments .order-shipment .add-shipment-return{display:none}.germanized-shipments #panel-order-shipments .order-shipment.is-returnable .add-shipment-return{display:block}.germanized-shipments #panel-order-shipments .order-shipment p.form-row{margin-bottom:1.5em}.germanized-shipments #panel-order-shipments .order-shipment p.form-row.wc-gzd-shipment-packaging-wrapper{margin-top:0}.germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=email],.germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=number],.germanized-shipments #panel-order-shipments .order-shipment p.form-row input[type=text]{height:30px}.germanized-shipments #panel-order-shipments .order-shipment p.form-row select{line-height:30px;height:30px;padding-top:0;padding-bottom:0}.germanized-shipments #panel-order-shipments .order-shipment p.form-row label{color:#999;font-weight:600}.germanized-shipments #panel-order-shipments .order-shipment p.form-row label .woocommerce-help-tip{float:none}.germanized-shipments #panel-order-shipments .order-shipment .columns .column.column-spaced{margin:5px 0}.germanized-shipments #panel-order-shipments .order-shipment .columns .column h4{margin-bottom:.7em;color:#999}.germanized-shipments #panel-order-shipments .order-shipment .columns .column h4 a{color:#999;text-decoration:none}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item-action{text-align:right}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item-quantity input{width:50px;text-align:center}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item-name p.form-row{margin-bottom:0;margin-top:.5em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item-heading{padding:.5em;color:#999;background:#f8f8f8;font-weight:600}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item{padding:.5em;border-bottom:1px solid #dfdfdf}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item:last-child{border-bottom:none}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item:nth-child(2n){background:#f8f8f8}.germanized-shipments #panel-order-shipments .order-shipment .shipment-items .shipment-item-list-wrapper .shipment-item .columns{align-items:center}.germanized-shipments #panel-order-shipments .order-shipment .shipment-item-actions{display:flex;padding:.7em .5em;flex-wrap:nowrap;justify-content:flex-end;border-top:1px solid #dfdfdf}.germanized-shipments #panel-order-shipments .order-shipment .shipment-item-actions .add-items{margin-right:1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-item-actions .woocommerce-help-tip{margin-left:0}.germanized-shipments #panel-order-shipments .order-shipment .add-items{display:none}.germanized-shipments #panel-order-shipments .order-shipment .shipment-returns{margin-top:.5em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-returns .shipment-return .shipment-header{background:0 0;border-bottom:1px solid #dfdfdf;padding-left:0;padding-right:0}.germanized-shipments #panel-order-shipments .order-shipment .shipment-returns .shipment-return .shipment-header h3{font-size:1.1em}.germanized-shipments #panel-order-shipments .order-shipment .shipment-returns .shipment-return .shipment-content{padding:1em 0}.germanized-shipments #panel-order-shipments .order-shipment.needs-items .add-items{display:block}.germanized-shipments #panel-order-shipments .form-row .input-inner-wrap{clear:left;margin:0;display:flex;flex-wrap:nowrap}.germanized-shipments #panel-order-shipments .form-row .input-inner-wrap input{margin-right:1em}.germanized-shipments #panel-order-shipments .form-row .input-inner-wrap input:last-child{margin-right:0}.germanized-shipments .title-spread{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center}.germanized-shipments .title-spread .left,.germanized-shipments .title-spread .right{display:inline-flex;align-items:center}.germanized-shipments .show-lg,.germanized-shipments .show-md,.germanized-shipments .show-sm,.germanized-shipments .show-xl,.germanized-shipments .show-xs{display:none!important}.germanized-shipments .columns{display:flex;flex-wrap:wrap;margin-left:-1rem;margin-right:-1rem}.germanized-shipments .columns.col-gapless{margin-left:0;margin-right:0}.germanized-shipments .columns.col-gapless>.column{padding-left:0;padding-right:0}.germanized-shipments .columns.col-oneline{flex-wrap:nowrap;overflow-x:auto}.germanized-shipments .column{flex:1;max-width:100%;padding-left:1rem;padding-right:1rem}.germanized-shipments .column.col-1,.germanized-shipments .column.col-10,.germanized-shipments .column.col-11,.germanized-shipments .column.col-12,.germanized-shipments .column.col-2,.germanized-shipments .column.col-3,.germanized-shipments .column.col-4,.germanized-shipments .column.col-5,.germanized-shipments .column.col-6,.germanized-shipments .column.col-7,.germanized-shipments .column.col-8,.germanized-shipments .column.col-9,.germanized-shipments .column.col-auto{flex:none}.germanized-shipments .col-12{width:100%}.germanized-shipments .col-11{width:91.66666667%}.germanized-shipments .col-10{width:83.33333333%}.germanized-shipments .col-9{width:75%}.germanized-shipments .col-8{width:66.66666667%}.germanized-shipments .col-7{width:58.33333333%}.germanized-shipments .col-6{width:50%}.germanized-shipments .col-5{width:41.66666667%}.germanized-shipments .col-4{width:33.33333333%}.germanized-shipments .col-3{width:25%}.germanized-shipments .col-2{width:16.66666667%}.germanized-shipments .col-1{width:8.33333333%}.germanized-shipments .col-auto{flex:0 0 auto;max-width:none;width:auto}.germanized-shipments .col-mx-auto{margin-left:auto;margin-right:auto}.germanized-shipments .col-ml-auto{margin-left:auto}.germanized-shipments .col-mr-auto{margin-right:auto}@media (max-width:1280px){.germanized-shipments .col-xl-1,.germanized-shipments .col-xl-10,.germanized-shipments .col-xl-11,.germanized-shipments .col-xl-12,.germanized-shipments .col-xl-2,.germanized-shipments .col-xl-3,.germanized-shipments .col-xl-4,.germanized-shipments .col-xl-5,.germanized-shipments .col-xl-6,.germanized-shipments .col-xl-7,.germanized-shipments .col-xl-8,.germanized-shipments .col-xl-9,.germanized-shipments .col-xl-auto{flex:none}.germanized-shipments .col-xl-12{width:100%}.germanized-shipments .col-xl-11{width:91.66666667%}.germanized-shipments .col-xl-10{width:83.33333333%}.germanized-shipments .col-xl-9{width:75%}.germanized-shipments .col-xl-8{width:66.66666667%}.germanized-shipments .col-xl-7{width:58.33333333%}.germanized-shipments .col-xl-6{width:50%}.germanized-shipments .col-xl-5{width:41.66666667%}.germanized-shipments .col-xl-4{width:33.33333333%}.germanized-shipments .col-xl-3{width:25%}.germanized-shipments .col-xl-2{width:16.66666667%}.germanized-shipments .col-xl-1{width:8.33333333%}.germanized-shipments .col-xl-auto{width:auto}.germanized-shipments .hide-xl{display:none!important}.germanized-shipments .show-xl{display:block!important}}@media (max-width:960px){.germanized-shipments .col-lg-1,.germanized-shipments .col-lg-10,.germanized-shipments .col-lg-11,.germanized-shipments .col-lg-12,.germanized-shipments .col-lg-2,.germanized-shipments .col-lg-3,.germanized-shipments .col-lg-4,.germanized-shipments .col-lg-5,.germanized-shipments .col-lg-6,.germanized-shipments .col-lg-7,.germanized-shipments .col-lg-8,.germanized-shipments .col-lg-9,.germanized-shipments .col-lg-auto{flex:none}.germanized-shipments .col-lg-12{width:100%}.germanized-shipments .col-lg-11{width:91.66666667%}.germanized-shipments .col-lg-10{width:83.33333333%}.germanized-shipments .col-lg-9{width:75%}.germanized-shipments .col-lg-8{width:66.66666667%}.germanized-shipments .col-lg-7{width:58.33333333%}.germanized-shipments .col-lg-6{width:50%}.germanized-shipments .col-lg-5{width:41.66666667%}.germanized-shipments .col-lg-4{width:33.33333333%}.germanized-shipments .col-lg-3{width:25%}.germanized-shipments .col-lg-2{width:16.66666667%}.germanized-shipments .col-lg-1{width:8.33333333%}.germanized-shipments .col-lg-auto{width:auto}.germanized-shipments .hide-lg{display:none!important}.germanized-shipments .show-lg{display:block!important}}@media (max-width:840px){.germanized-shipments .col-md-1,.germanized-shipments .col-md-10,.germanized-shipments .col-md-11,.germanized-shipments .col-md-12,.germanized-shipments .col-md-2,.germanized-shipments .col-md-3,.germanized-shipments .col-md-4,.germanized-shipments .col-md-5,.germanized-shipments .col-md-6,.germanized-shipments .col-md-7,.germanized-shipments .col-md-8,.germanized-shipments .col-md-9,.germanized-shipments .col-md-auto{flex:none}.germanized-shipments .col-md-12{width:100%}.germanized-shipments .col-md-11{width:91.66666667%}.germanized-shipments .col-md-10{width:83.33333333%}.germanized-shipments .col-md-9{width:75%}.germanized-shipments .col-md-8{width:66.66666667%}.germanized-shipments .col-md-7{width:58.33333333%}.germanized-shipments .col-md-6{width:50%}.germanized-shipments .col-md-5{width:41.66666667%}.germanized-shipments .col-md-4{width:33.33333333%}.germanized-shipments .col-md-3{width:25%}.germanized-shipments .col-md-2{width:16.66666667%}.germanized-shipments .col-md-1{width:8.33333333%}.germanized-shipments .col-md-auto{width:auto}.germanized-shipments .hide-md{display:none!important}.germanized-shipments .show-md{display:block!important}}@media (max-width:600px){.germanized-shipments .col-sm-1,.germanized-shipments .col-sm-10,.germanized-shipments .col-sm-11,.germanized-shipments .col-sm-12,.germanized-shipments .col-sm-2,.germanized-shipments .col-sm-3,.germanized-shipments .col-sm-4,.germanized-shipments .col-sm-5,.germanized-shipments .col-sm-6,.germanized-shipments .col-sm-7,.germanized-shipments .col-sm-8,.germanized-shipments .col-sm-9,.germanized-shipments .col-sm-auto{flex:none}.germanized-shipments .col-sm-12{width:100%}.germanized-shipments .col-sm-11{width:91.66666667%}.germanized-shipments .col-sm-10{width:83.33333333%}.germanized-shipments .col-sm-9{width:75%}.germanized-shipments .col-sm-8{width:66.66666667%}.germanized-shipments .col-sm-7{width:58.33333333%}.germanized-shipments .col-sm-6{width:50%}.germanized-shipments .col-sm-5{width:41.66666667%}.germanized-shipments .col-sm-4{width:33.33333333%}.germanized-shipments .col-sm-3{width:25%}.germanized-shipments .col-sm-2{width:16.66666667%}.germanized-shipments .col-sm-1{width:8.33333333%}.germanized-shipments .col-sm-auto{width:auto}.germanized-shipments .hide-sm{display:none!important}.germanized-shipments .show-sm{display:block!important}}@media (max-width:480px){.germanized-shipments .col-xs-1,.germanized-shipments .col-xs-10,.germanized-shipments .col-xs-11,.germanized-shipments .col-xs-12,.germanized-shipments .col-xs-2,.germanized-shipments .col-xs-3,.germanized-shipments .col-xs-4,.germanized-shipments .col-xs-5,.germanized-shipments .col-xs-6,.germanized-shipments .col-xs-7,.germanized-shipments .col-xs-8,.germanized-shipments .col-xs-9,.germanized-shipments .col-xs-auto{flex:none}.germanized-shipments .col-xs-12{width:100%}.germanized-shipments .col-xs-11{width:91.66666667%}.germanized-shipments .col-xs-10{width:83.33333333%}.germanized-shipments .col-xs-9{width:75%}.germanized-shipments .col-xs-8{width:66.66666667%}.germanized-shipments .col-xs-7{width:58.33333333%}.germanized-shipments .col-xs-6{width:50%}.germanized-shipments .col-xs-5{width:41.66666667%}.germanized-shipments .col-xs-4{width:33.33333333%}.germanized-shipments .col-xs-3{width:25%}.germanized-shipments .col-xs-2{width:16.66666667%}.germanized-shipments .col-xs-1{width:8.33333333%}.germanized-shipments .col-xs-auto{width:auto}.germanized-shipments .hide-xs{display:none!important}.germanized-shipments .show-xs{display:block!important}}
|
packages/woocommerce-germanized-shipments/assets/css/admin.scss
CHANGED
@@ -53,6 +53,7 @@ $layout-spacing: 1rem;
|
|
53 |
width: 100%;
|
54 |
display: block;
|
55 |
margin-bottom: 5px;
|
|
|
56 |
}
|
57 |
select, input[type=text], input[type=email] {
|
58 |
width: 100%;
|
@@ -71,6 +72,7 @@ $layout-spacing: 1rem;
|
|
71 |
label {
|
72 |
width: auto;
|
73 |
margin-left: .5em;
|
|
|
74 |
order: 2;
|
75 |
margin-bottom: 0;
|
76 |
}
|
@@ -711,6 +713,10 @@ table.wc-gzd-shipping-providers {
|
|
711 |
p.form-row {
|
712 |
margin-bottom: 1.5em;
|
713 |
|
|
|
|
|
|
|
|
|
714 |
input[type=text], input[type=number], input[type=email] {
|
715 |
height: 30px;
|
716 |
}
|
53 |
width: 100%;
|
54 |
display: block;
|
55 |
margin-bottom: 5px;
|
56 |
+
font-weight: bold;
|
57 |
}
|
58 |
select, input[type=text], input[type=email] {
|
59 |
width: 100%;
|
72 |
label {
|
73 |
width: auto;
|
74 |
margin-left: .5em;
|
75 |
+
font-weight: normal;
|
76 |
order: 2;
|
77 |
margin-bottom: 0;
|
78 |
}
|
713 |
p.form-row {
|
714 |
margin-bottom: 1.5em;
|
715 |
|
716 |
+
&.wc-gzd-shipment-packaging-wrapper {
|
717 |
+
margin-top: 0;
|
718 |
+
}
|
719 |
+
|
720 |
input[type=text], input[type=number], input[type=email] {
|
721 |
height: 30px;
|
722 |
}
|
packages/woocommerce-germanized-shipments/assets/js/admin-shipment.js
CHANGED
@@ -52,6 +52,8 @@ window.germanized.admin = window.germanized.admin || {};
|
|
52 |
|
53 |
$( '#shipment-' + this.vars.id + ' #shipment-shipping-provider-' + this.vars.id ).on( 'change', this.onChangeProvider.bind( this ) );
|
54 |
|
|
|
|
|
55 |
$( '#shipment-' + this.vars.id + ' #shipment-items-' + this.vars.id )
|
56 |
.on( 'change', '.item-quantity', this.onChangeQuantity.bind( this ) )
|
57 |
.on( 'click', 'a.remove-shipment-item', this.onRemoveItem.bind( this ) )
|
@@ -67,6 +69,35 @@ window.germanized.admin = window.germanized.admin || {};
|
|
67 |
.on( 'click', '.remove-shipment-label', this.onRemoveLabel.bind( this ) );
|
68 |
};
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
this.onSendReturnNotification = function() {
|
71 |
var params = {
|
72 |
'action' : 'woocommerce_gzd_send_return_shipment_notification_email',
|
@@ -195,6 +226,10 @@ window.germanized.admin = window.germanized.admin || {};
|
|
195 |
this.getShipment().find( '#shipment-height-' + this.getId() ).attr( 'placeholder', height );
|
196 |
};
|
197 |
|
|
|
|
|
|
|
|
|
198 |
this.setIsEditable = function( isEditable ) {
|
199 |
var root = this;
|
200 |
|
52 |
|
53 |
$( '#shipment-' + this.vars.id + ' #shipment-shipping-provider-' + this.vars.id ).on( 'change', this.onChangeProvider.bind( this ) );
|
54 |
|
55 |
+
$( '#shipment-' + this.vars.id + ' .wc-gzd-shipment-dimension, #shipment-' + this.vars.id + ' .wc-gzd-shipment-weight' ).on( 'change', this.onChangeDimensions.bind( this ) );
|
56 |
+
|
57 |
$( '#shipment-' + this.vars.id + ' #shipment-items-' + this.vars.id )
|
58 |
.on( 'change', '.item-quantity', this.onChangeQuantity.bind( this ) )
|
59 |
.on( 'click', 'a.remove-shipment-item', this.onRemoveItem.bind( this ) )
|
69 |
.on( 'click', '.remove-shipment-label', this.onRemoveLabel.bind( this ) );
|
70 |
};
|
71 |
|
72 |
+
this.blockPackaging = function() {
|
73 |
+
this.getShipmentContent().find( '.wc-gzd-shipment-packaging-wrapper' ).block({
|
74 |
+
message: null,
|
75 |
+
overlayCSS: {
|
76 |
+
background: '#fff',
|
77 |
+
opacity: 0.6
|
78 |
+
}
|
79 |
+
});
|
80 |
+
};
|
81 |
+
|
82 |
+
this.unblockPackaging = function() {
|
83 |
+
this.getShipmentContent().find( '.wc-gzd-shipment-packaging-wrapper' ).unblock();
|
84 |
+
};
|
85 |
+
|
86 |
+
this.refreshPackaging = function() {
|
87 |
+
var params = {
|
88 |
+
'action' : 'woocommerce_gzd_refresh_shipment_packaging',
|
89 |
+
'shipment_id' : this.getId(),
|
90 |
+
'security' : germanized.admin.shipments.getParams().refresh_packaging_nonce
|
91 |
+
};
|
92 |
+
|
93 |
+
this.blockPackaging();
|
94 |
+
germanized.admin.shipments.doAjax( params, this.unblockPackaging.bind( this ), this.unblockPackaging.bind( this ) );
|
95 |
+
};
|
96 |
+
|
97 |
+
this.onChangeDimensions = function() {
|
98 |
+
this.refreshPackaging();
|
99 |
+
};
|
100 |
+
|
101 |
this.onSendReturnNotification = function() {
|
102 |
var params = {
|
103 |
'action' : 'woocommerce_gzd_send_return_shipment_notification_email',
|
226 |
this.getShipment().find( '#shipment-height-' + this.getId() ).attr( 'placeholder', height );
|
227 |
};
|
228 |
|
229 |
+
this.setTotalWeight = function( weight ) {
|
230 |
+
|
231 |
+
};
|
232 |
+
|
233 |
this.setIsEditable = function( isEditable ) {
|
234 |
var root = this;
|
235 |
|
packages/woocommerce-germanized-shipments/assets/js/admin-shipment.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
window.germanized=window.germanized||{},window.germanized.admin=window.germanized.admin||{},function(h){h.GermanizedShipment=function(t){this.vars={$shipment:!1,params:{},id:"",isEditable:!0,needsItems:!0},(this.root=this).construct=function(t){this.vars.id=t,this.vars.params=germanized.admin.shipments.getParams(),this.refreshDom(),h(document.body).on("wc_backbone_modal_loaded",this.backbone.init.bind(this)).on("wc_backbone_modal_response",this.backbone.response.bind(this))},this.refreshDom=function(){this.vars.$shipment=h("#order-shipments-list").find("#shipment-"+this.getId()),this.setNeedsItems(this.vars.$shipment.hasClass("needs-items")),this.setIsEditable(this.vars.$shipment.hasClass("is-editable")),this.onChangeProvider(),h("#shipment-"+this.vars.id+" #shipment-items-"+this.vars.id).off(),h("#shipment-"+this.vars.id+" #shipment-footer-"+this.vars.id).off(),h("#shipment-"+this.vars.id+" #shipment-shipping-provider-"+this.vars.id).off(),h("#shipment-"+this.vars.id+" .wc-gzd-shipment-label").off(),h("#shipment-"+this.vars.id+" #shipment-shipping-provider-"+this.vars.id).on("change",this.onChangeProvider.bind(this)),h("#shipment-"+this.vars.id+" #shipment-items-"+this.vars.id).on("change",".item-quantity",this.onChangeQuantity.bind(this)).on("click","a.remove-shipment-item",this.onRemoveItem.bind(this)).on("click","a.add-shipment-item",this.onAddItem.bind(this)).on("click","a.sync-shipment-items",this.onSyncItems.bind(this)),h("#shipment-"+this.vars.id+" #shipment-footer-"+this.vars.id).on("click",".send-return-shipment-notification",this.onSendReturnNotification.bind(this)).on("click",".confirm-return-shipment",this.onConfirmReturnRequest.bind(this)),h("#shipment-"+this.vars.id+" .wc-gzd-shipment-label").on("click",".create-shipment-label:not(.disabled)",this.onCreateLabel.bind(this)).on("click",".remove-shipment-label",this.onRemoveLabel.bind(this))},this.onSendReturnNotification=function(){var t={action:"woocommerce_gzd_send_return_shipment_notification_email",shipment_id:this.getId(),security:germanized.admin.shipments.getParams().send_return_notification_nonce};return this.block(),germanized.admin.shipments.doAjax(t,this.unblock.bind(this),this.unblock.bind(this)),!1},this.onConfirmReturnRequest=function(){var t={action:"woocommerce_gzd_confirm_return_request",shipment_id:this.getId(),security:germanized.admin.shipments.getParams().confirm_return_request_nonce};return this.block(),germanized.admin.shipments.doAjax(t,this.unblock.bind(this),this.unblock.bind(this)),!1},this.onRemoveLabel=function(){return window.confirm(germanized.admin.shipments.getParams().i18n_remove_label_notice)&&this.removeLabel(),!1},this.removeLabel=function(){var t={action:"woocommerce_gzd_remove_shipment_label",shipment_id:this.getId(),security:germanized.admin.shipments.getParams().remove_label_nonce};this.block(),germanized.admin.shipments.doAjax(t,this.unblock.bind(this),this.unblock.bind(this))},this.onCreateLabel=function(){return this.getShipment().WCBackboneModal({template:"wc-gzd-modal-create-shipment-label-"+this.getId()}),!1},this.onChangeProvider=function(){var t=this.getShipment(),i=t.find("#shipment-shipping-provider-"+this.getId()),e=i.find("option:selected");t.find(".show-if-provider").hide(),0<e.length&&e.data("is-manual")&&"yes"===e.data("is-manual")&&t.find(".show-if-provider-is-manual").show(),t.find(".show-if-provider-"+i.val()).show()},this.getShipment=function(){return this.vars.$shipment},this.getShipmentContent=function(){return this.vars.$shipment.find("> .shipment-content-wrapper > .shipment-content > .columns > div:not(.shipment-returns-data)")},this.onChangeQuantity=function(t){var i=h(t.target),e=i.parents(".shipment-item").data("id"),n=i.val();this.blockItems();var s={action:"woocommerce_gzd_limit_shipment_item_quantity",shipment_id:this.getId(),item_id:e,quantity:n};germanized.admin.shipments.doAjax(s,this.onChangeQuantitySuccess.bind(this))},this.onChangeQuantitySuccess=function(t){var i=this.getShipment().find('.shipment-item[data-id="'+t.item_id+'"]'),e=i.find(".item-quantity").val(),n=t.max_quantity;n<e?i.find(".item-quantity").val(n):e<=0&&i.find(".item-quantity").val(1),this.refreshDom(),this.unblockItems()},this.setWeight=function(t){this.getShipment().find("#shipment-weight-"+this.getId()).attr("placeholder",t)},this.setLength=function(t){this.getShipment().find("#shipment-length-"+this.getId()).attr("placeholder",t)},this.setWidth=function(t){this.getShipment().find("#shipment-width-"+this.getId()).attr("placeholder",t)},this.setHeight=function(t){this.getShipment().find("#shipment-height-"+this.getId()).attr("placeholder",t)},this.setIsEditable=function(t){var e=this;"boolean"!=typeof t&&(t=!0),this.vars.isEditable=!0===t,this.vars.isEditable?(this.getShipment().addClass("is-editable"),this.getShipment().removeClass("is-locked"),this.getShipmentContent().find(".remove-shipment-item ").show(),this.getShipmentContent().find(".shipment-item-actions").show(),this.getShipmentContent().find(":input:not([type=hidden])").prop("disabled",!1)):(this.getShipment().removeClass("is-editable"),this.getShipment().addClass("is-locked"),this.getShipmentContent().find(".remove-shipment-item ").hide(),this.getShipmentContent().find(".shipment-item-actions").hide(),this.getShipmentContent().find(":input:not([type=hidden])").prop("disabled",!0),h.each(this.vars.params.shipment_locked_excluded_fields,function(t,i){e.getShipmentContent().find(":input[name^=shipment_"+i+"]").prop("disabled",!1)}))},this.setNeedsItems=function(t){"boolean"!=typeof t&&(t=!0),this.vars.needsItems=!0===t,this.vars.needsItems?this.getShipment().addClass("needs-items"):this.getShipment().removeClass("needs-items")},this.onSyncItems=function(){return this.syncItems(),!1},this.syncItems=function(){this.blockItems();var t={action:"woocommerce_gzd_sync_shipment_items",shipment_id:this.getId()};germanized.admin.shipments.doAjax(t,this.onSyncItemsSuccess.bind(this),this.onSyncItemsError.bind(this))},this.onSyncItemsSuccess=function(t){this.unblockItems()},this.onSyncItemsError=function(t){this.unblockItems()},this.onAddItem=function(){return this.getShipment().WCBackboneModal({template:"wc-gzd-modal-add-shipment-item-"+this.getId()}),!1},this.addItem=function(t,i){i=i||1,this.blockItems();var e={action:"woocommerce_gzd_add_shipment_item",shipment_id:this.getId(),original_item_id:t,quantity:i};germanized.admin.shipments.doAjax(e,this.onAddItemSuccess.bind(this),this.onAddItemError.bind(this))},this.addReturn=function(t){this.block();var i={action:"woocommerce_gzd_add_shipment_return",shipment_id:this.getId()};h.extend(i,t),germanized.admin.shipments.doAjax(i,this.onAddReturnSuccess.bind(this),this.onAddReturnError.bind(this))},this.onAddReturnSuccess=function(t){this.getShipment().find(".shipment-return-list").append(t.new_shipment),this.refreshDom(),germanized.admin.shipments.initShipments(),this.unblock()},this.onAddReturnError=function(t){this.unblock()},this.onAddItemError=function(t){this.unblockItems()},this.onAddItemSuccess=function(t){this.getShipmentContent().find(".shipment-item-list").append(t.new_item),this.refreshDom(),this.unblockItems()},this.onRemoveItem=function(t){var i=h(t.target).parents(".shipment-item"),e=i.data("id");return 0<i.length&&this.removeItem(e),!1},this.blockItems=function(){this.getShipmentContent().find(".shipment-items").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},this.block=function(){this.getShipment().block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},this.unblockItems=function(){this.getShipmentContent().find(".shipment-items").unblock()},this.unblock=function(){this.getShipment().unblock()},this.removeItem=function(t){this.getShipment().find('.shipment-item[data-id="'+t+'"]');var i={action:"woocommerce_gzd_remove_shipment_item",shipment_id:this.getId(),item_id:t};this.blockItems(),germanized.admin.shipments.doAjax(i,this.onRemoveItemSuccess.bind(this))},this.onRemoveItemSuccess=function(t){var i=this.getShipment().find('.shipment-item[data-id="'+t.item_id+'"]');0<i.length&&i.slideUp(150,function(){h(this).remove()}),this.unblockItems()},this.getId=function(){return this.vars.id},this.backbone={onAddItemSuccess:function(t){$select=h("select#wc-gzd-shipment-add-items-select"),$quantity=h("input#wc-gzd-shipment-add-items-quantity"),$quantity.val(1),h.each(t.items,function(t,i){$select.append('<option value="'+t+'">'+i.name+"</option>"),$quantity.data("max-quantity-"+t,i.max_quantity)}),h(".wc-backbone-modal-content article").unblock(),h(document.body).on("change","input#wc-gzd-shipment-add-items-quantity",function(){var t,i=$select.val(),e=h(this).val();!$quantity.data("max-quantity-"+i)||(t=$quantity.data("max-quantity-"+i))<e&&$quantity.val(t)})},init:function(t,i){var e=this.getId();if("wc-gzd-modal-add-shipment-item-"+e===i)return h(".wc-backbone-modal-content article").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),germanized.admin.shipments.doAjax({action:"woocommerce_gzd_get_available_shipment_items",shipment_id:e},this.backbone.onAddItemSuccess.bind(this)),!1},response:function(t,i,e){"wc-gzd-modal-add-shipment-item-"+this.getId()===i&&this.addItem(e.item_id,e.item_qty)}},this.construct(t)}}(jQuery,window.germanized.admin);
|
1 |
+
window.germanized=window.germanized||{},window.germanized.admin=window.germanized.admin||{},function(h){h.GermanizedShipment=function(t){this.vars={$shipment:!1,params:{},id:"",isEditable:!0,needsItems:!0},(this.root=this).construct=function(t){this.vars.id=t,this.vars.params=germanized.admin.shipments.getParams(),this.refreshDom(),h(document.body).on("wc_backbone_modal_loaded",this.backbone.init.bind(this)).on("wc_backbone_modal_response",this.backbone.response.bind(this))},this.refreshDom=function(){this.vars.$shipment=h("#order-shipments-list").find("#shipment-"+this.getId()),this.setNeedsItems(this.vars.$shipment.hasClass("needs-items")),this.setIsEditable(this.vars.$shipment.hasClass("is-editable")),this.onChangeProvider(),h("#shipment-"+this.vars.id+" #shipment-items-"+this.vars.id).off(),h("#shipment-"+this.vars.id+" #shipment-footer-"+this.vars.id).off(),h("#shipment-"+this.vars.id+" #shipment-shipping-provider-"+this.vars.id).off(),h("#shipment-"+this.vars.id+" .wc-gzd-shipment-label").off(),h("#shipment-"+this.vars.id+" #shipment-shipping-provider-"+this.vars.id).on("change",this.onChangeProvider.bind(this)),h("#shipment-"+this.vars.id+" .wc-gzd-shipment-dimension, #shipment-"+this.vars.id+" .wc-gzd-shipment-weight").on("change",this.onChangeDimensions.bind(this)),h("#shipment-"+this.vars.id+" #shipment-items-"+this.vars.id).on("change",".item-quantity",this.onChangeQuantity.bind(this)).on("click","a.remove-shipment-item",this.onRemoveItem.bind(this)).on("click","a.add-shipment-item",this.onAddItem.bind(this)).on("click","a.sync-shipment-items",this.onSyncItems.bind(this)),h("#shipment-"+this.vars.id+" #shipment-footer-"+this.vars.id).on("click",".send-return-shipment-notification",this.onSendReturnNotification.bind(this)).on("click",".confirm-return-shipment",this.onConfirmReturnRequest.bind(this)),h("#shipment-"+this.vars.id+" .wc-gzd-shipment-label").on("click",".create-shipment-label:not(.disabled)",this.onCreateLabel.bind(this)).on("click",".remove-shipment-label",this.onRemoveLabel.bind(this))},this.blockPackaging=function(){this.getShipmentContent().find(".wc-gzd-shipment-packaging-wrapper").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},this.unblockPackaging=function(){this.getShipmentContent().find(".wc-gzd-shipment-packaging-wrapper").unblock()},this.refreshPackaging=function(){var t={action:"woocommerce_gzd_refresh_shipment_packaging",shipment_id:this.getId(),security:germanized.admin.shipments.getParams().refresh_packaging_nonce};this.blockPackaging(),germanized.admin.shipments.doAjax(t,this.unblockPackaging.bind(this),this.unblockPackaging.bind(this))},this.onChangeDimensions=function(){this.refreshPackaging()},this.onSendReturnNotification=function(){var t={action:"woocommerce_gzd_send_return_shipment_notification_email",shipment_id:this.getId(),security:germanized.admin.shipments.getParams().send_return_notification_nonce};return this.block(),germanized.admin.shipments.doAjax(t,this.unblock.bind(this),this.unblock.bind(this)),!1},this.onConfirmReturnRequest=function(){var t={action:"woocommerce_gzd_confirm_return_request",shipment_id:this.getId(),security:germanized.admin.shipments.getParams().confirm_return_request_nonce};return this.block(),germanized.admin.shipments.doAjax(t,this.unblock.bind(this),this.unblock.bind(this)),!1},this.onRemoveLabel=function(){return window.confirm(germanized.admin.shipments.getParams().i18n_remove_label_notice)&&this.removeLabel(),!1},this.removeLabel=function(){var t={action:"woocommerce_gzd_remove_shipment_label",shipment_id:this.getId(),security:germanized.admin.shipments.getParams().remove_label_nonce};this.block(),germanized.admin.shipments.doAjax(t,this.unblock.bind(this),this.unblock.bind(this))},this.onCreateLabel=function(){return this.getShipment().WCBackboneModal({template:"wc-gzd-modal-create-shipment-label-"+this.getId()}),!1},this.onChangeProvider=function(){var t=this.getShipment(),i=t.find("#shipment-shipping-provider-"+this.getId()),e=i.find("option:selected");t.find(".show-if-provider").hide(),0<e.length&&e.data("is-manual")&&"yes"===e.data("is-manual")&&t.find(".show-if-provider-is-manual").show(),t.find(".show-if-provider-"+i.val()).show()},this.getShipment=function(){return this.vars.$shipment},this.getShipmentContent=function(){return this.vars.$shipment.find("> .shipment-content-wrapper > .shipment-content > .columns > div:not(.shipment-returns-data)")},this.onChangeQuantity=function(t){var i=h(t.target),e=i.parents(".shipment-item").data("id"),n=i.val();this.blockItems();var s={action:"woocommerce_gzd_limit_shipment_item_quantity",shipment_id:this.getId(),item_id:e,quantity:n};germanized.admin.shipments.doAjax(s,this.onChangeQuantitySuccess.bind(this))},this.onChangeQuantitySuccess=function(t){var i=this.getShipment().find('.shipment-item[data-id="'+t.item_id+'"]'),e=i.find(".item-quantity").val(),n=t.max_quantity;n<e?i.find(".item-quantity").val(n):e<=0&&i.find(".item-quantity").val(1),this.refreshDom(),this.unblockItems()},this.setWeight=function(t){this.getShipment().find("#shipment-weight-"+this.getId()).attr("placeholder",t)},this.setLength=function(t){this.getShipment().find("#shipment-length-"+this.getId()).attr("placeholder",t)},this.setWidth=function(t){this.getShipment().find("#shipment-width-"+this.getId()).attr("placeholder",t)},this.setHeight=function(t){this.getShipment().find("#shipment-height-"+this.getId()).attr("placeholder",t)},this.setTotalWeight=function(t){},this.setIsEditable=function(t){var e=this;"boolean"!=typeof t&&(t=!0),this.vars.isEditable=!0===t,this.vars.isEditable?(this.getShipment().addClass("is-editable"),this.getShipment().removeClass("is-locked"),this.getShipmentContent().find(".remove-shipment-item ").show(),this.getShipmentContent().find(".shipment-item-actions").show(),this.getShipmentContent().find(":input:not([type=hidden])").prop("disabled",!1)):(this.getShipment().removeClass("is-editable"),this.getShipment().addClass("is-locked"),this.getShipmentContent().find(".remove-shipment-item ").hide(),this.getShipmentContent().find(".shipment-item-actions").hide(),this.getShipmentContent().find(":input:not([type=hidden])").prop("disabled",!0),h.each(this.vars.params.shipment_locked_excluded_fields,function(t,i){e.getShipmentContent().find(":input[name^=shipment_"+i+"]").prop("disabled",!1)}))},this.setNeedsItems=function(t){"boolean"!=typeof t&&(t=!0),this.vars.needsItems=!0===t,this.vars.needsItems?this.getShipment().addClass("needs-items"):this.getShipment().removeClass("needs-items")},this.onSyncItems=function(){return this.syncItems(),!1},this.syncItems=function(){this.blockItems();var t={action:"woocommerce_gzd_sync_shipment_items",shipment_id:this.getId()};germanized.admin.shipments.doAjax(t,this.onSyncItemsSuccess.bind(this),this.onSyncItemsError.bind(this))},this.onSyncItemsSuccess=function(t){this.unblockItems()},this.onSyncItemsError=function(t){this.unblockItems()},this.onAddItem=function(){return this.getShipment().WCBackboneModal({template:"wc-gzd-modal-add-shipment-item-"+this.getId()}),!1},this.addItem=function(t,i){i=i||1,this.blockItems();var e={action:"woocommerce_gzd_add_shipment_item",shipment_id:this.getId(),original_item_id:t,quantity:i};germanized.admin.shipments.doAjax(e,this.onAddItemSuccess.bind(this),this.onAddItemError.bind(this))},this.addReturn=function(t){this.block();var i={action:"woocommerce_gzd_add_shipment_return",shipment_id:this.getId()};h.extend(i,t),germanized.admin.shipments.doAjax(i,this.onAddReturnSuccess.bind(this),this.onAddReturnError.bind(this))},this.onAddReturnSuccess=function(t){this.getShipment().find(".shipment-return-list").append(t.new_shipment),this.refreshDom(),germanized.admin.shipments.initShipments(),this.unblock()},this.onAddReturnError=function(t){this.unblock()},this.onAddItemError=function(t){this.unblockItems()},this.onAddItemSuccess=function(t){this.getShipmentContent().find(".shipment-item-list").append(t.new_item),this.refreshDom(),this.unblockItems()},this.onRemoveItem=function(t){var i=h(t.target).parents(".shipment-item"),e=i.data("id");return 0<i.length&&this.removeItem(e),!1},this.blockItems=function(){this.getShipmentContent().find(".shipment-items").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},this.block=function(){this.getShipment().block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},this.unblockItems=function(){this.getShipmentContent().find(".shipment-items").unblock()},this.unblock=function(){this.getShipment().unblock()},this.removeItem=function(t){this.getShipment().find('.shipment-item[data-id="'+t+'"]');var i={action:"woocommerce_gzd_remove_shipment_item",shipment_id:this.getId(),item_id:t};this.blockItems(),germanized.admin.shipments.doAjax(i,this.onRemoveItemSuccess.bind(this))},this.onRemoveItemSuccess=function(t){var i=this.getShipment().find('.shipment-item[data-id="'+t.item_id+'"]');0<i.length&&i.slideUp(150,function(){h(this).remove()}),this.unblockItems()},this.getId=function(){return this.vars.id},this.backbone={onAddItemSuccess:function(t){$select=h("select#wc-gzd-shipment-add-items-select"),$quantity=h("input#wc-gzd-shipment-add-items-quantity"),$quantity.val(1),h.each(t.items,function(t,i){$select.append('<option value="'+t+'">'+i.name+"</option>"),$quantity.data("max-quantity-"+t,i.max_quantity)}),h(".wc-backbone-modal-content article").unblock(),h(document.body).on("change","input#wc-gzd-shipment-add-items-quantity",function(){var t,i=$select.val(),e=h(this).val();!$quantity.data("max-quantity-"+i)||(t=$quantity.data("max-quantity-"+i))<e&&$quantity.val(t)})},init:function(t,i){var e=this.getId();if("wc-gzd-modal-add-shipment-item-"+e===i)return h(".wc-backbone-modal-content article").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),germanized.admin.shipments.doAjax({action:"woocommerce_gzd_get_available_shipment_items",shipment_id:e},this.backbone.onAddItemSuccess.bind(this)),!1},response:function(t,i,e){"wc-gzd-modal-add-shipment-item-"+this.getId()===i&&this.addItem(e.item_id,e.item_qty)}},this.construct(t)}}(jQuery,window.germanized.admin);
|
packages/woocommerce-germanized-shipments/assets/js/admin-shipments.js
CHANGED
@@ -251,6 +251,7 @@ window.germanized.admin = window.germanized.admin || {};
|
|
251 |
shipment.setLength( shipmentData[ shipmentId ].length );
|
252 |
shipment.setWidth( shipmentData[ shipmentId ].width );
|
253 |
shipment.setHeight( shipmentData[ shipmentId ].height );
|
|
|
254 |
}
|
255 |
});
|
256 |
|
251 |
shipment.setLength( shipmentData[ shipmentId ].length );
|
252 |
shipment.setWidth( shipmentData[ shipmentId ].width );
|
253 |
shipment.setHeight( shipmentData[ shipmentId ].height );
|
254 |
+
shipment.setTotalWeight( shipmentData[ shipmentId ].total_weight );
|
255 |
}
|
256 |
});
|
257 |
|
packages/woocommerce-germanized-shipments/assets/js/admin-shipments.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
window.germanized=window.germanized||{},window.germanized.admin=window.germanized.admin||{},function(d){window.germanized.admin.shipments={params:{},shipments:{},$wrapper:!1,needsSaving:!1,needsShipments:!0,needsReturns:!1,init:function(){var e=germanized.admin.shipments;e.params=wc_gzd_admin_shipments_params,e.$wrapper=d("#panel-order-shipments"),e.needsShipments=e.$wrapper.find("#order-shipment-add").is(":visible"),e.needsReturns=e.$wrapper.find("#order-return-shipment-add").is(":visible"),e.initShipments(),d(document).ajaxComplete(e.onAjaxComplete),d(document).on("click","#order-shipments-list .shipment-header",e.onToggleShipment).on("change","#order-shipments-list :input:visible",e.setNeedsSaving).on("click","#panel-order-shipments #order-shipment-add",e.onAddShipment).on("click","#panel-order-shipments #order-return-shipment-add",e.onAddReturn).on("click","#panel-order-shipments .remove-shipment",e.onRemoveShipment).on("click","#panel-order-shipments button#order-shipments-save",e.onSave).on("click","#panel-order-shipments .notice-dismiss",e.onRemoveNotice),d(document.body).on("wc_backbone_modal_loaded",e.backbone.init).on("wc_backbone_modal_response",e.backbone.response)},onAjaxComplete:function(e,n,i){var t=germanized.admin.shipments;if(null!=n&&i.hasOwnProperty("data")){var r,a=i.data,s=!1;try{s=JSON.parse('{"'+a.replace(/&/g,'","').replace(/=/g,'":"')+'"}',function(e,n){return""===e?n:decodeURIComponent(n)})}catch(e){s=!1}s&&s.hasOwnProperty("action")&&("woocommerce_save_order_items"!==(r=s.action)&&"woocommerce_remove_order_item"!==r&&"woocommerce_add_order_item"!==r&&"woocommerce_delete_refund"!==r||t.syncItemQuantities())}},syncItemQuantities:function(){var e=germanized.admin.shipments;e.block();var n={action:"woocommerce_gzd_validate_shipment_item_quantities",active:e.getActiveShipmentId()};e.doAjax(n,e.onSyncSuccess)},onSyncSuccess:function(e){var n=germanized.admin.shipments;n.unblock(),n.initShipments(),n.initTiptip()},onSave:function(e){var n=germanized.admin.shipments;return e.preventDefault(),n.save(),!1},save:function(){var e=germanized.admin.shipments;e.block();var n={action:"woocommerce_gzd_save_shipments",active:e.getActiveShipmentId()};e.doAjax(n,e.onSaveSuccess)},initShipment:function(e){var n=germanized.admin.shipments;n.shipments.hasOwnProperty(e)?n.shipments[e].refreshDom():n.shipments[e]=new d.GermanizedShipment(e)},onSaveSuccess:function(e){var n=germanized.admin.shipments;n.initShipments(),n.setNeedsSaving(!1),n.unblock(),n.initTiptip()},getActiveShipmentId:function(){var e=germanized.admin.shipments.$wrapper.find(".order-shipment.active");return 0<e.length&&e.data("shipment")},block:function(){germanized.admin.shipments.$wrapper.block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){germanized.admin.shipments.$wrapper.unblock()},getData:function(e){var n=germanized.admin.shipments,i={};return e=e||{},d.each(n.$wrapper.find(":input[name]").serializeArray(),function(e,n){-1!==n.name.indexOf("[]")?(n.name=n.name.replace("[]",""),i[n.name]=d.makeArray(i[n.name]),i[n.name].push(n.value)):i[n.name]=n.value}),d.extend(i,e),i},doAjax:function(e,n,t){var r=germanized.admin.shipments,i=r.params.ajax_url,a=r.$wrapper,s=!0;a.find(".notice-wrapper").empty(),n=n||r.onAjaxSuccess,t=t||r.onAjaxError,e.hasOwnProperty("refresh_fragments")&&(s=e.refresh_fragments),e.hasOwnProperty("security")||(e.security=r.params.edit_shipments_nonce),e.hasOwnProperty("order_id")||(e.order_id=r.params.order_id),e=r.getData(e),d.ajax({type:"POST",url:i,data:e,success:function(e){var i;e.success?(s&&e.fragments&&d.each(e.fragments,function(e,n){d(e).replaceWith(n),d(e).unblock()}),n.apply(a,[e]),e.hasOwnProperty("order_needs_new_shipments")&&r.setNeedsShipments(e.order_needs_new_shipments),e.hasOwnProperty("order_needs_new_returns")&&r.setNeedsReturns(e.order_needs_new_returns),i=e.hasOwnProperty("shipments")?e.shipments:{},d.each(r.getShipments(),function(e,n){i.hasOwnProperty(e)&&(n.setIsEditable(i[e].is_editable),n.setNeedsItems(i[e].needs_items),n.setWeight(i[e].weight),n.setLength(i[e].length),n.setWidth(i[e].width),n.setHeight(i[e].height))}),e.hasOwnProperty("needs_refresh")&&e.hasOwnProperty("shipment_id")&&r.initShipment(e.shipment_id)):(t.apply(a,[e]),r.unblock(),e.hasOwnProperty("message")?r.addNotice(e.message,"error"):e.hasOwnProperty("messages")&&d.each(e.messages,function(e,n){r.addNotice(n,"error")}))},error:function(e){t.apply(a,[e]),r.unblock()},dataType:"json"})},onAjaxError:function(e){},onAjaxSuccess:function(e){},onRemoveNotice:function(){d(this).parents(".notice").slideUp(150,function(){d(this).remove()})},addNotice:function(e,n){germanized.admin.shipments.$wrapper.find(".notice-wrapper").append('<div class="notice is-dismissible notice-'+n+'"><p>'+e+'</p><button type="button" class="notice-dismiss"></button></div>')},getParams:function(){return germanized.admin.shipments.params},onRemoveShipment:function(){var e=germanized.admin.shipments,n=d(this).parents(".order-shipment").data("shipment");return window.confirm(e.getParams().i18n_remove_shipment_notice)&&e.removeShipment(n),!1},removeShipment:function(e){var n=germanized.admin.shipments,i={action:"woocommerce_gzd_remove_shipment",shipment_id:e};n.block(),n.doAjax(i,n.onRemoveShipmentSuccess,n.onRemoveShipmentError)},onRemoveShipmentSuccess:function(e){var n=germanized.admin.shipments,i=n.$wrapper.find("#shipment-"+e.shipment_id);0<i.length?i.hasClass("active")?i.find(".shipment-content-wrapper").slideUp(300,function(){i.removeClass("active"),i.remove(),n.initShipments(),n.unblock()}):(i.remove(),n.initShipments(),n.unblock()):(n.initShipments(),n.unblock())},onRemoveShipmentError:function(e){germanized.admin.shipments.unblock()},onAddShipment:function(){return germanized.admin.shipments.addShipment(),!1},addShipment:function(){var e=germanized.admin.shipments;e.block(),e.doAjax({action:"woocommerce_gzd_add_shipment"},e.onAddShipmentSuccess,e.onAddShipmentError)},onAddShipmentSuccess:function(e){var n=germanized.admin.shipments;0<n.$wrapper.find(".order-shipment.active").length?n.$wrapper.find(".order-shipment.active").find(".shipment-content-wrapper").slideUp(300,function(){n.$wrapper.find(".order-shipment.active").removeClass("active"),n.appendNewShipment(e),n.initShipments(),n.initTiptip(),n.unblock()}):(n.appendNewShipment(e),n.initShipments(),n.initTiptip(),n.unblock())},appendNewShipment:function(e){var n=germanized.admin.shipments;"simple"===e.new_shipment_type&&0<n.$wrapper.find(".panel-order-return-title").length?n.$wrapper.find(".panel-order-return-title").before(e.new_shipment):n.$wrapper.find("#order-shipments-list").append(e.new_shipment)},onAddShipmentError:function(e){},onAddReturn:function(){return d(this).WCBackboneModal({template:"wc-gzd-modal-add-shipment-return"}),!1},addReturn:function(e){var n=germanized.admin.shipments;n.block();var i={action:"woocommerce_gzd_add_return_shipment"};d.extend(i,e),n.doAjax(i,n.onAddReturnSuccess,n.onAddReturnError)},onAddReturnSuccess:function(e){germanized.admin.shipments.onAddShipmentSuccess(e)},onAddReturnError:function(e){germanized.admin.shipments.onAddShipmentError(e)},setNeedsSaving:function(e){var n=germanized.admin.shipments,i=n.getActiveShipmentId(),t=!!i&&n.getShipment(i).getShipment();"boolean"!=typeof e&&(e=!0),n.needsSaving=!0===e,n.needsSaving?n.$wrapper.find("#order-shipments-save").show():n.$wrapper.find("#order-shipments-save").hide(),t&&(n.needsSaving?n.disableCreateLabel(t):n.enableCreateLabel(t)),n.needsSaving?n.disableCreateLabel(t):n.enableCreateLabel(t),n.hideOrShowFooter(),d(document.body).trigger("woocommerce_gzd_shipments_needs_saving",[n.needsSaving,n.getActiveShipmentId()]),n.initTiptip()},disableCreateLabel:function(e){var n=germanized.admin.shipments,i=e.find(".create-shipment-label");0<i.length&&(i.addClass("disabled button-disabled"),i.prop("title",n.params.i18n_create_label_disabled))},enableCreateLabel:function(e){var n=germanized.admin.shipments,i=e.find(".create-shipment-label");0<i.length&&(i.removeClass("disabled button-disabled"),i.prop("title",n.params.i18n_create_label_enabled))},setNeedsShipments:function(e){var n=germanized.admin.shipments;"boolean"!=typeof e&&(e=!0),n.needsShipments=!0===e,n.needsShipments?(n.$wrapper.addClass("needs-shipments"),n.$wrapper.find("#order-shipment-add").show()):(n.$wrapper.removeClass("needs-shipments"),n.$wrapper.find("#order-shipment-add").hide()),n.hideOrShowFooter()},hideOrShowReturnTitle:function(){var e=germanized.admin.shipments;0===e.$wrapper.find(".order-shipment.shipment-return").length?e.$wrapper.find(".panel-order-return-title").addClass("hide-default"):e.$wrapper.find(".panel-order-return-title").removeClass("hide-default")},setNeedsReturns:function(e){var n=germanized.admin.shipments;"boolean"!=typeof e&&(e=!0),n.needsReturns=!0===e,n.needsReturns?(n.$wrapper.addClass("needs-returns"),n.$wrapper.find("#order-return-shipment-add").show()):(n.$wrapper.removeClass("needs-returns"),n.$wrapper.find("#order-return-shipment-add").hide()),n.hideOrShowFooter()},hideOrShowFooter:function(){var e=germanized.admin.shipments;e.needsSaving||e.needsShipments||e.needsReturns?e.$wrapper.find(".panel-footer").slideDown(300):e.$wrapper.find(".panel-footer").slideUp(300)},onToggleShipment:function(){var e=germanized.admin.shipments,n=d(this).parents(".order-shipment:first"),i=n.hasClass("active");e.closeShipments(),i||n.find("> .shipment-content-wrapper").slideDown(300,function(){n.addClass("active")})},closeShipments:function(){var e=germanized.admin.shipments;e.$wrapper.find(".order-shipment.active .shipment-content-wrapper").slideUp(300,function(){e.$wrapper.find(".order-shipment.active").removeClass("active")})},initShipments:function(){var n=germanized.admin.shipments;n.$wrapper=d("#panel-order-shipments"),n.$wrapper.find(".order-shipment").each(function(){var e=d(this).data("shipment");n.initShipment(e)}),n.hideOrShowReturnTitle()},getShipments:function(){return germanized.admin.shipments.shipments},getShipment:function(e){var n=germanized.admin.shipments.getShipments();return!!n.hasOwnProperty(e)&&n[e]},refresh:function(e){},refreshItems:function(e){},addItem:function(){},initTiptip:function(){var e=germanized.admin.shipments;d(document.body).trigger("init_tooltips"),e.$wrapper.find(".woocommerce-help-tip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200}),e.$wrapper.find(".create-shipment-label").tipTip({fadeIn:50,fadeOut:50,delay:200})},backbone:{onAddReturnSuccess:function(e){d("#wc-gzd-return-shipment-items").html(e.html),d(".wc-backbone-modal-content article").unblock(),d(document.body).on("change","input.wc-gzd-shipment-add-return-item-quantity",function(){var e,n=d(this),i=n.val();!n.attr("max")||(e=n.attr("max"))<i&&n.val(e)})},init:function(e,n){var i=germanized.admin.shipments;if("wc-gzd-modal-add-shipment-return"===n)return d(".wc-backbone-modal-content article").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),i.doAjax({action:"woocommerce_gzd_get_available_return_shipment_items"},i.backbone.onAddReturnSuccess),!1},response:function(e,n,i){var t=germanized.admin.shipments;"wc-gzd-modal-add-shipment-return"===n&&t.addReturn(i)}}},d(document).ready(function(){germanized.admin.shipments.init()})}(jQuery);
|
1 |
+
window.germanized=window.germanized||{},window.germanized.admin=window.germanized.admin||{},function(d){window.germanized.admin.shipments={params:{},shipments:{},$wrapper:!1,needsSaving:!1,needsShipments:!0,needsReturns:!1,init:function(){var e=germanized.admin.shipments;e.params=wc_gzd_admin_shipments_params,e.$wrapper=d("#panel-order-shipments"),e.needsShipments=e.$wrapper.find("#order-shipment-add").is(":visible"),e.needsReturns=e.$wrapper.find("#order-return-shipment-add").is(":visible"),e.initShipments(),d(document).ajaxComplete(e.onAjaxComplete),d(document).on("click","#order-shipments-list .shipment-header",e.onToggleShipment).on("change","#order-shipments-list :input:visible",e.setNeedsSaving).on("click","#panel-order-shipments #order-shipment-add",e.onAddShipment).on("click","#panel-order-shipments #order-return-shipment-add",e.onAddReturn).on("click","#panel-order-shipments .remove-shipment",e.onRemoveShipment).on("click","#panel-order-shipments button#order-shipments-save",e.onSave).on("click","#panel-order-shipments .notice-dismiss",e.onRemoveNotice),d(document.body).on("wc_backbone_modal_loaded",e.backbone.init).on("wc_backbone_modal_response",e.backbone.response)},onAjaxComplete:function(e,n,i){var t=germanized.admin.shipments;if(null!=n&&i.hasOwnProperty("data")){var r,a=i.data,s=!1;try{s=JSON.parse('{"'+a.replace(/&/g,'","').replace(/=/g,'":"')+'"}',function(e,n){return""===e?n:decodeURIComponent(n)})}catch(e){s=!1}s&&s.hasOwnProperty("action")&&("woocommerce_save_order_items"!==(r=s.action)&&"woocommerce_remove_order_item"!==r&&"woocommerce_add_order_item"!==r&&"woocommerce_delete_refund"!==r||t.syncItemQuantities())}},syncItemQuantities:function(){var e=germanized.admin.shipments;e.block();var n={action:"woocommerce_gzd_validate_shipment_item_quantities",active:e.getActiveShipmentId()};e.doAjax(n,e.onSyncSuccess)},onSyncSuccess:function(e){var n=germanized.admin.shipments;n.unblock(),n.initShipments(),n.initTiptip()},onSave:function(e){var n=germanized.admin.shipments;return e.preventDefault(),n.save(),!1},save:function(){var e=germanized.admin.shipments;e.block();var n={action:"woocommerce_gzd_save_shipments",active:e.getActiveShipmentId()};e.doAjax(n,e.onSaveSuccess)},initShipment:function(e){var n=germanized.admin.shipments;n.shipments.hasOwnProperty(e)?n.shipments[e].refreshDom():n.shipments[e]=new d.GermanizedShipment(e)},onSaveSuccess:function(e){var n=germanized.admin.shipments;n.initShipments(),n.setNeedsSaving(!1),n.unblock(),n.initTiptip()},getActiveShipmentId:function(){var e=germanized.admin.shipments.$wrapper.find(".order-shipment.active");return 0<e.length&&e.data("shipment")},block:function(){germanized.admin.shipments.$wrapper.block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){germanized.admin.shipments.$wrapper.unblock()},getData:function(e){var n=germanized.admin.shipments,i={};return e=e||{},d.each(n.$wrapper.find(":input[name]").serializeArray(),function(e,n){-1!==n.name.indexOf("[]")?(n.name=n.name.replace("[]",""),i[n.name]=d.makeArray(i[n.name]),i[n.name].push(n.value)):i[n.name]=n.value}),d.extend(i,e),i},doAjax:function(e,n,t){var r=germanized.admin.shipments,i=r.params.ajax_url,a=r.$wrapper,s=!0;a.find(".notice-wrapper").empty(),n=n||r.onAjaxSuccess,t=t||r.onAjaxError,e.hasOwnProperty("refresh_fragments")&&(s=e.refresh_fragments),e.hasOwnProperty("security")||(e.security=r.params.edit_shipments_nonce),e.hasOwnProperty("order_id")||(e.order_id=r.params.order_id),e=r.getData(e),d.ajax({type:"POST",url:i,data:e,success:function(e){var i;e.success?(s&&e.fragments&&d.each(e.fragments,function(e,n){d(e).replaceWith(n),d(e).unblock()}),n.apply(a,[e]),e.hasOwnProperty("order_needs_new_shipments")&&r.setNeedsShipments(e.order_needs_new_shipments),e.hasOwnProperty("order_needs_new_returns")&&r.setNeedsReturns(e.order_needs_new_returns),i=e.hasOwnProperty("shipments")?e.shipments:{},d.each(r.getShipments(),function(e,n){i.hasOwnProperty(e)&&(n.setIsEditable(i[e].is_editable),n.setNeedsItems(i[e].needs_items),n.setWeight(i[e].weight),n.setLength(i[e].length),n.setWidth(i[e].width),n.setHeight(i[e].height),n.setTotalWeight(i[e].total_weight))}),e.hasOwnProperty("needs_refresh")&&e.hasOwnProperty("shipment_id")&&r.initShipment(e.shipment_id)):(t.apply(a,[e]),r.unblock(),e.hasOwnProperty("message")?r.addNotice(e.message,"error"):e.hasOwnProperty("messages")&&d.each(e.messages,function(e,n){r.addNotice(n,"error")}))},error:function(e){t.apply(a,[e]),r.unblock()},dataType:"json"})},onAjaxError:function(e){},onAjaxSuccess:function(e){},onRemoveNotice:function(){d(this).parents(".notice").slideUp(150,function(){d(this).remove()})},addNotice:function(e,n){germanized.admin.shipments.$wrapper.find(".notice-wrapper").append('<div class="notice is-dismissible notice-'+n+'"><p>'+e+'</p><button type="button" class="notice-dismiss"></button></div>')},getParams:function(){return germanized.admin.shipments.params},onRemoveShipment:function(){var e=germanized.admin.shipments,n=d(this).parents(".order-shipment").data("shipment");return window.confirm(e.getParams().i18n_remove_shipment_notice)&&e.removeShipment(n),!1},removeShipment:function(e){var n=germanized.admin.shipments,i={action:"woocommerce_gzd_remove_shipment",shipment_id:e};n.block(),n.doAjax(i,n.onRemoveShipmentSuccess,n.onRemoveShipmentError)},onRemoveShipmentSuccess:function(e){var n=germanized.admin.shipments,i=n.$wrapper.find("#shipment-"+e.shipment_id);0<i.length?i.hasClass("active")?i.find(".shipment-content-wrapper").slideUp(300,function(){i.removeClass("active"),i.remove(),n.initShipments(),n.unblock()}):(i.remove(),n.initShipments(),n.unblock()):(n.initShipments(),n.unblock())},onRemoveShipmentError:function(e){germanized.admin.shipments.unblock()},onAddShipment:function(){return germanized.admin.shipments.addShipment(),!1},addShipment:function(){var e=germanized.admin.shipments;e.block(),e.doAjax({action:"woocommerce_gzd_add_shipment"},e.onAddShipmentSuccess,e.onAddShipmentError)},onAddShipmentSuccess:function(e){var n=germanized.admin.shipments;0<n.$wrapper.find(".order-shipment.active").length?n.$wrapper.find(".order-shipment.active").find(".shipment-content-wrapper").slideUp(300,function(){n.$wrapper.find(".order-shipment.active").removeClass("active"),n.appendNewShipment(e),n.initShipments(),n.initTiptip(),n.unblock()}):(n.appendNewShipment(e),n.initShipments(),n.initTiptip(),n.unblock())},appendNewShipment:function(e){var n=germanized.admin.shipments;"simple"===e.new_shipment_type&&0<n.$wrapper.find(".panel-order-return-title").length?n.$wrapper.find(".panel-order-return-title").before(e.new_shipment):n.$wrapper.find("#order-shipments-list").append(e.new_shipment)},onAddShipmentError:function(e){},onAddReturn:function(){return d(this).WCBackboneModal({template:"wc-gzd-modal-add-shipment-return"}),!1},addReturn:function(e){var n=germanized.admin.shipments;n.block();var i={action:"woocommerce_gzd_add_return_shipment"};d.extend(i,e),n.doAjax(i,n.onAddReturnSuccess,n.onAddReturnError)},onAddReturnSuccess:function(e){germanized.admin.shipments.onAddShipmentSuccess(e)},onAddReturnError:function(e){germanized.admin.shipments.onAddShipmentError(e)},setNeedsSaving:function(e){var n=germanized.admin.shipments,i=n.getActiveShipmentId(),t=!!i&&n.getShipment(i).getShipment();"boolean"!=typeof e&&(e=!0),n.needsSaving=!0===e,n.needsSaving?n.$wrapper.find("#order-shipments-save").show():n.$wrapper.find("#order-shipments-save").hide(),t&&(n.needsSaving?n.disableCreateLabel(t):n.enableCreateLabel(t)),n.needsSaving?n.disableCreateLabel(t):n.enableCreateLabel(t),n.hideOrShowFooter(),d(document.body).trigger("woocommerce_gzd_shipments_needs_saving",[n.needsSaving,n.getActiveShipmentId()]),n.initTiptip()},disableCreateLabel:function(e){var n=germanized.admin.shipments,i=e.find(".create-shipment-label");0<i.length&&(i.addClass("disabled button-disabled"),i.prop("title",n.params.i18n_create_label_disabled))},enableCreateLabel:function(e){var n=germanized.admin.shipments,i=e.find(".create-shipment-label");0<i.length&&(i.removeClass("disabled button-disabled"),i.prop("title",n.params.i18n_create_label_enabled))},setNeedsShipments:function(e){var n=germanized.admin.shipments;"boolean"!=typeof e&&(e=!0),n.needsShipments=!0===e,n.needsShipments?(n.$wrapper.addClass("needs-shipments"),n.$wrapper.find("#order-shipment-add").show()):(n.$wrapper.removeClass("needs-shipments"),n.$wrapper.find("#order-shipment-add").hide()),n.hideOrShowFooter()},hideOrShowReturnTitle:function(){var e=germanized.admin.shipments;0===e.$wrapper.find(".order-shipment.shipment-return").length?e.$wrapper.find(".panel-order-return-title").addClass("hide-default"):e.$wrapper.find(".panel-order-return-title").removeClass("hide-default")},setNeedsReturns:function(e){var n=germanized.admin.shipments;"boolean"!=typeof e&&(e=!0),n.needsReturns=!0===e,n.needsReturns?(n.$wrapper.addClass("needs-returns"),n.$wrapper.find("#order-return-shipment-add").show()):(n.$wrapper.removeClass("needs-returns"),n.$wrapper.find("#order-return-shipment-add").hide()),n.hideOrShowFooter()},hideOrShowFooter:function(){var e=germanized.admin.shipments;e.needsSaving||e.needsShipments||e.needsReturns?e.$wrapper.find(".panel-footer").slideDown(300):e.$wrapper.find(".panel-footer").slideUp(300)},onToggleShipment:function(){var e=germanized.admin.shipments,n=d(this).parents(".order-shipment:first"),i=n.hasClass("active");e.closeShipments(),i||n.find("> .shipment-content-wrapper").slideDown(300,function(){n.addClass("active")})},closeShipments:function(){var e=germanized.admin.shipments;e.$wrapper.find(".order-shipment.active .shipment-content-wrapper").slideUp(300,function(){e.$wrapper.find(".order-shipment.active").removeClass("active")})},initShipments:function(){var n=germanized.admin.shipments;n.$wrapper=d("#panel-order-shipments"),n.$wrapper.find(".order-shipment").each(function(){var e=d(this).data("shipment");n.initShipment(e)}),n.hideOrShowReturnTitle()},getShipments:function(){return germanized.admin.shipments.shipments},getShipment:function(e){var n=germanized.admin.shipments.getShipments();return!!n.hasOwnProperty(e)&&n[e]},refresh:function(e){},refreshItems:function(e){},addItem:function(){},initTiptip:function(){var e=germanized.admin.shipments;d(document.body).trigger("init_tooltips"),e.$wrapper.find(".woocommerce-help-tip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200}),e.$wrapper.find(".create-shipment-label").tipTip({fadeIn:50,fadeOut:50,delay:200})},backbone:{onAddReturnSuccess:function(e){d("#wc-gzd-return-shipment-items").html(e.html),d(".wc-backbone-modal-content article").unblock(),d(document.body).on("change","input.wc-gzd-shipment-add-return-item-quantity",function(){var e,n=d(this),i=n.val();!n.attr("max")||(e=n.attr("max"))<i&&n.val(e)})},init:function(e,n){var i=germanized.admin.shipments;if("wc-gzd-modal-add-shipment-return"===n)return d(".wc-backbone-modal-content article").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),i.doAjax({action:"woocommerce_gzd_get_available_return_shipment_items"},i.backbone.onAddReturnSuccess),!1},response:function(e,n,i){var t=germanized.admin.shipments;"wc-gzd-modal-add-shipment-return"===n&&t.addReturn(i)}}},d(document).ready(function(){germanized.admin.shipments.init()})}(jQuery);
|
packages/woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php
CHANGED
@@ -26,19 +26,30 @@ defined( 'ABSPATH' ) || exit;
|
|
26 |
do_action( 'woocommerce_gzd_shipment_admin_before_columns', $shipment ); ?>
|
27 |
|
28 |
<div class="column col-6">
|
29 |
-
<
|
30 |
-
<
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
-
<p class="form-row
|
35 |
-
<label for="shipment-
|
36 |
|
37 |
-
|
38 |
-
<input type="text" size="6" class="wc_input_decimal" value="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_length( 'edit' ) ) ); ?>" name="shipment_length[<?php echo esc_attr( $shipment->get_id() ); ?>]" id="shipment-length-<?php echo esc_attr( $shipment->get_id() ); ?>" placeholder="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_content_length() ) ); ?>" />
|
39 |
-
<input type="text" size="6" class="wc_input_decimal" value="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_width( 'edit' ) ) ); ?>" name="shipment_width[<?php echo esc_attr( $shipment->get_id() ); ?>]" id="shipment-width-<?php echo esc_attr( $shipment->get_id() ); ?>" placeholder="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_content_width() ) ); ?>" />
|
40 |
-
<input type="text" size="6" class="wc_input_decimal" value="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_height( 'edit' ) ) ); ?>" name="shipment_height[<?php echo esc_attr( $shipment->get_id() ); ?>]" id="shipment-height-<?php echo esc_attr( $shipment->get_id() ); ?>" placeholder="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_content_height() ) ); ?>" />
|
41 |
-
</span>
|
42 |
</p>
|
43 |
</div>
|
44 |
|
26 |
do_action( 'woocommerce_gzd_shipment_admin_before_columns', $shipment ); ?>
|
27 |
|
28 |
<div class="column col-6">
|
29 |
+
<div class="columns">
|
30 |
+
<div class="column col-4">
|
31 |
+
<p class="form-row">
|
32 |
+
<label for="shipment-weight-<?php echo esc_attr( $shipment->get_id() ); ?>"><?php printf( _x( 'Content (%s)', 'shipments', 'woocommerce-germanized' ), $shipment->get_weight_unit() ); ?></label>
|
33 |
+
<input type="text" class="wc_input_decimal wc-gzd-shipment-weight" value="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_weight( 'edit' ) ) ); ?>" name="shipment_weight[<?php echo esc_attr( $shipment->get_id() ); ?>]" id="shipment-weight-<?php echo esc_attr( $shipment->get_id() ); ?>" placeholder="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_content_weight() ) ); ?>" />
|
34 |
+
</p>
|
35 |
+
</div>
|
36 |
+
<div class="column col-8">
|
37 |
+
<p class="form-row dimensions_field">
|
38 |
+
<label for="shipment-length-<?php echo esc_attr( $shipment->get_id() ); ?>"><?php printf( _x( 'Dimensions (%s)', 'shipments', 'woocommerce-germanized' ), $shipment->get_dimension_unit() ); ?><?php echo wc_help_tip( _x( 'LxWxH in decimal form.', 'shipments', 'woocommerce-germanized' ) ); ?></label>
|
39 |
+
|
40 |
+
<span class="input-inner-wrap">
|
41 |
+
<input type="text" size="6" class="wc_input_decimal wc-gzd-shipment-dimension" value="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_length( 'edit' ) ) ); ?>" name="shipment_length[<?php echo esc_attr( $shipment->get_id() ); ?>]" id="shipment-length-<?php echo esc_attr( $shipment->get_id() ); ?>" placeholder="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_content_length() ) ); ?>" />
|
42 |
+
<input type="text" size="6" class="wc_input_decimal wc-gzd-shipment-dimension" value="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_width( 'edit' ) ) ); ?>" name="shipment_width[<?php echo esc_attr( $shipment->get_id() ); ?>]" id="shipment-width-<?php echo esc_attr( $shipment->get_id() ); ?>" placeholder="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_content_width() ) ); ?>" />
|
43 |
+
<input type="text" size="6" class="wc_input_decimal wc-gzd-shipment-dimension" value="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_height( 'edit' ) ) ); ?>" name="shipment_height[<?php echo esc_attr( $shipment->get_id() ); ?>]" id="shipment-height-<?php echo esc_attr( $shipment->get_id() ); ?>" placeholder="<?php echo esc_attr( wc_format_localized_decimal( $shipment->get_content_height() ) ); ?>" />
|
44 |
+
</span>
|
45 |
+
</p>
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
|
49 |
+
<p class="form-row wc-gzd-shipment-packaging-wrapper">
|
50 |
+
<label for="shipment-packaging-<?php echo esc_attr( $shipment->get_id() ); ?>"><?php _ex( 'Packaging', 'shipments', 'woocommerce-germanized' ); ?></label>
|
51 |
|
52 |
+
<?php include 'html-order-shipment-packaging-select.php'; ?>
|
|
|
|
|
|
|
|
|
53 |
</p>
|
54 |
</div>
|
55 |
|
packages/woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-packaging-select.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Order shipments HTML for meta box.
|
4 |
+
*
|
5 |
+
* @package WooCommerce_Germanized/DHL/Admin
|
6 |
+
*/
|
7 |
+
|
8 |
+
defined( 'ABSPATH' ) || exit;
|
9 |
+
|
10 |
+
$available_packaging = $shipment->get_available_packaging();
|
11 |
+
$current_packaging_id = $shipment->get_packaging_id();
|
12 |
+
$default_packaging_id = \Vendidero\Germanized\Shipments\Package::get_setting( 'default_packaging' );
|
13 |
+
$default_packaging = ! empty( $default_packaging_id ) ? wc_gzd_get_packaging( $default_packaging_id ) : false;
|
14 |
+
$default_exists_in_list = false;
|
15 |
+
?>
|
16 |
+
<select class="shipment-packaging-select" id="shipment-packaging-<?php echo esc_attr( $shipment->get_id() ); ?>" name="shipment_packaging_id[<?php echo esc_attr( $shipment->get_id() ); ?>]">
|
17 |
+
<option value=""><?php _ex( 'None', 'shipments-packaging', 'woocommerce-germanized' ); ?></option>
|
18 |
+
<?php foreach( $available_packaging as $packaging ) :
|
19 |
+
if ( $packaging->get_id() == $default_packaging_id ) {
|
20 |
+
$default_exists_in_list = true;
|
21 |
+
}
|
22 |
+
?>
|
23 |
+
<option value="<?php echo esc_attr( $packaging->get_id() ); ?>" <?php selected( $packaging->get_id(), $shipment->get_packaging_id(), true ); ?>><?php echo $packaging->get_title(); ?></option>
|
24 |
+
<?php endforeach; ?>
|
25 |
+
|
26 |
+
<?php if ( ! $default_exists_in_list && $default_packaging ) : ?>
|
27 |
+
<option value="<?php echo esc_attr( $default_packaging->get_id() ); ?>" <?php selected( $default_packaging->get_id(), $shipment->get_packaging_id(), true ); ?>><?php echo $default_packaging->get_title(); ?> (<?php _ex( 'Does not fit', 'shipments', 'woocommerce-germanized' ); ?>)</option>
|
28 |
+
<?php endif; ?>
|
29 |
+
</select>
|
packages/woocommerce-germanized-shipments/includes/wc-gzd-packaging-functions.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Germanized Packaging Functions
|
4 |
+
*
|
5 |
+
* @package Germanized/Shipments/Functions
|
6 |
+
* @version 3.3.0
|
7 |
+
*/
|
8 |
+
|
9 |
+
defined( 'ABSPATH' ) || exit;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Get Packaging.
|
13 |
+
*
|
14 |
+
* @param mixed $packaging_id (default: false) Packaging id to get or empty if new.
|
15 |
+
*
|
16 |
+
* @return \Vendidero\Germanized\Shipments\Packaging|bool
|
17 |
+
*/
|
18 |
+
function wc_gzd_get_packaging( $packaging_id = false ) {
|
19 |
+
return \Vendidero\Germanized\Shipments\PackagingFactory::get_packaging( $packaging_id );
|
20 |
+
}
|
21 |
+
|
22 |
+
function wc_gzd_get_packaging_types() {
|
23 |
+
$types = array(
|
24 |
+
'cardboard' => _x( 'Cardboard', 'shipments', 'woocommerce-germanized' ),
|
25 |
+
'letter' => _x( 'Letter', 'shipments', 'woocommerce-germanized' )
|
26 |
+
);
|
27 |
+
|
28 |
+
return apply_filters( 'woocommerce_gzd_packaging_types', $types );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @return \Vendidero\Germanized\Shipments\Packaging[] $packaging_list
|
33 |
+
*/
|
34 |
+
function wc_gzd_get_packaging_list() {
|
35 |
+
$data_store = \WC_Data_Store::load( 'packaging' );
|
36 |
+
$list = $data_store->get_packaging_list();
|
37 |
+
|
38 |
+
return $list;
|
39 |
+
}
|
40 |
+
|
41 |
+
function wc_gzd_get_packaging_weight_unit() {
|
42 |
+
return apply_filters( 'woocommerce_gzd_packaging_weight_unit', 'kg' );
|
43 |
+
}
|
44 |
+
|
45 |
+
function wc_gzd_get_packaging_dimension_unit() {
|
46 |
+
return apply_filters( 'woocommerce_gzd_packaging_dimension_unit', 'cm' );
|
47 |
+
}
|
48 |
+
|
49 |
+
function wc_gzd_get_packaging_select() {
|
50 |
+
$list = wc_gzd_get_packaging_list();
|
51 |
+
$select = array(
|
52 |
+
'' => _x( 'None', 'shipments-packaging', 'woocommerce-germanized' ),
|
53 |
+
);
|
54 |
+
|
55 |
+
foreach( $list as $packaging ) {
|
56 |
+
$select[ $packaging->get_id() ] = $packaging->get_title();
|
57 |
+
}
|
58 |
+
|
59 |
+
return $select;
|
60 |
+
}
|
packages/woocommerce-germanized-shipments/src/Admin/Admin.php
CHANGED
@@ -44,7 +44,11 @@ class Admin {
|
|
44 |
|
45 |
// Return reason options
|
46 |
add_action( 'woocommerce_admin_field_shipment_return_reasons', array( __CLASS__, 'output_return_reasons_field' ) );
|
47 |
-
add_action( 'woocommerce_gzd_admin_settings_after_save_shipments', array( __CLASS__, 'save_return_reasons' ) );
|
|
|
|
|
|
|
|
|
48 |
|
49 |
// Menu count
|
50 |
add_action( 'admin_head', array( __CLASS__, 'menu_return_count' ) );
|
@@ -130,7 +134,68 @@ class Admin {
|
|
130 |
return ( $a['order'] < $b['order'] ) ? -1 : 1;
|
131 |
}
|
132 |
|
133 |
-
public static function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
$reasons = array();
|
135 |
|
136 |
// phpcs:disable WordPress.Security.NonceVerification.NoNonceVerification -- Nonce verification already handled in WC_Admin_Settings::save()
|
@@ -172,8 +237,8 @@ class Admin {
|
|
172 |
<thead>
|
173 |
<tr>
|
174 |
<th class="sort"> </th>
|
175 |
-
<th style="width: 10ch;"><?php echo esc_html_x(
|
176 |
-
<th><?php echo esc_html_x(
|
177 |
</tr>
|
178 |
</thead>
|
179 |
<tbody class="shipment_return_reasons">
|
@@ -221,6 +286,125 @@ class Admin {
|
|
221 |
echo $html;
|
222 |
}
|
223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
public static function download_label() {
|
225 |
if ( isset( $_GET['action'] ) && 'wc-gzd-download-shipment-label' === $_GET['action'] ) {
|
226 |
if ( isset( $_GET['shipment_id'] ) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'download-shipment-label' ) ) {
|
@@ -532,6 +716,7 @@ class Admin {
|
|
532 |
'remove_label_nonce' => wp_create_nonce( 'remove-shipment-label' ),
|
533 |
'edit_label_nonce' => wp_create_nonce( 'edit-shipment-label' ),
|
534 |
'send_return_notification_nonce' => wp_create_nonce( 'send-return-shipment-notification' ),
|
|
|
535 |
'confirm_return_request_nonce' => wp_create_nonce( 'confirm-return-request' ),
|
536 |
'i18n_remove_label_notice' => _x( 'Do you really want to delete the label?', 'shipments', 'woocommerce-germanized' ),
|
537 |
'i18n_create_label_enabled' => _x( 'Create new label', 'shipments', 'woocommerce-germanized' ),
|
44 |
|
45 |
// Return reason options
|
46 |
add_action( 'woocommerce_admin_field_shipment_return_reasons', array( __CLASS__, 'output_return_reasons_field' ) );
|
47 |
+
add_action( 'woocommerce_gzd_admin_settings_after_save_shipments', array( __CLASS__, 'save_return_reasons' ), 10, 2 );
|
48 |
+
|
49 |
+
// Packaging options
|
50 |
+
add_action( 'woocommerce_admin_field_packaging_list', array( __CLASS__, 'output_packaging_list' ) );
|
51 |
+
add_action( 'woocommerce_gzd_admin_settings_after_save_shipments_packaging', array( __CLASS__, 'save_packaging_list' ), 10 );
|
52 |
|
53 |
// Menu count
|
54 |
add_action( 'admin_head', array( __CLASS__, 'menu_return_count' ) );
|
134 |
return ( $a['order'] < $b['order'] ) ? -1 : 1;
|
135 |
}
|
136 |
|
137 |
+
public static function save_packaging_list() {
|
138 |
+
$current_key_list = array();
|
139 |
+
$packaging_ids_after_save = array();
|
140 |
+
|
141 |
+
foreach( wc_gzd_get_packaging_list() as $pack ) {
|
142 |
+
$current_key_list[] = $pack->get_id();
|
143 |
+
}
|
144 |
+
|
145 |
+
// phpcs:disable WordPress.Security.NonceVerification.NoNonceVerification -- Nonce verification already handled in WC_Admin_Settings::save()
|
146 |
+
if ( isset( $_POST['packaging'] ) ) {
|
147 |
+
$packaging_post = wc_clean( wp_unslash( $_POST['packaging'] ) );
|
148 |
+
$order = 0;
|
149 |
+
$available_types = array_keys( wc_gzd_get_packaging_types() );
|
150 |
+
|
151 |
+
foreach( $packaging_post as $packaging ) {
|
152 |
+
$packaging = wc_clean( $packaging );
|
153 |
+
$packaging_id = isset( $packaging['packaging_id'] ) ? absint( $packaging['packaging_id'] ) : 0;
|
154 |
+
$packaging_obj = wc_gzd_get_packaging( $packaging_id );
|
155 |
+
|
156 |
+
if ( $packaging_obj ) {
|
157 |
+
$packaging_obj->set_props( array(
|
158 |
+
'type' => ! in_array( $packaging['type'], $available_types ) ? 'cardboard' : $packaging['type'],
|
159 |
+
'weight' => empty( $packaging['weight'] ) ? 0 : $packaging['weight'],
|
160 |
+
'description' => empty( $packaging['description'] ) ? '' : $packaging['description'],
|
161 |
+
'length' => empty( $packaging['length'] ) ? 0 : $packaging['length'],
|
162 |
+
'width' => empty( $packaging['width'] ) ? 0 : $packaging['width'],
|
163 |
+
'height' => empty( $packaging['height'] ) ? 0 : $packaging['height'],
|
164 |
+
'max_content_weight' => empty( $packaging['max_content_weight'] ) ? 0 : $packaging['max_content_weight'],
|
165 |
+
'order' => ++$order,
|
166 |
+
) );
|
167 |
+
|
168 |
+
if ( empty( $packaging_obj->get_description() ) ) {
|
169 |
+
if ( $packaging_obj->get_id() > 0 ) {
|
170 |
+
$packaging_obj->delete( true );
|
171 |
+
continue;
|
172 |
+
} else {
|
173 |
+
continue;
|
174 |
+
}
|
175 |
+
}
|
176 |
+
|
177 |
+
$packaging_obj->save();
|
178 |
+
$packaging_ids_after_save[] = $packaging_obj->get_id();
|
179 |
+
}
|
180 |
+
}
|
181 |
+
}
|
182 |
+
|
183 |
+
$to_delete = array_diff( $current_key_list, $packaging_ids_after_save );
|
184 |
+
|
185 |
+
if ( ! empty( $to_delete ) ) {
|
186 |
+
foreach( $to_delete as $delete_id ) {
|
187 |
+
if ( $packaging = wc_gzd_get_packaging( $delete_id ) ) {
|
188 |
+
$packaging->delete( true );
|
189 |
+
}
|
190 |
+
}
|
191 |
+
}
|
192 |
+
}
|
193 |
+
|
194 |
+
public static function save_return_reasons( $tab, $current_section ) {
|
195 |
+
if ( '' !== $current_section ) {
|
196 |
+
return;
|
197 |
+
}
|
198 |
+
|
199 |
$reasons = array();
|
200 |
|
201 |
// phpcs:disable WordPress.Security.NonceVerification.NoNonceVerification -- Nonce verification already handled in WC_Admin_Settings::save()
|
237 |
<thead>
|
238 |
<tr>
|
239 |
<th class="sort"> </th>
|
240 |
+
<th style="width: 10ch;"><?php echo esc_html_x( 'Reason code', 'shipments', 'woocommerce-germanized' ); ?> <?php echo wc_help_tip( _x( 'The reason code is used to identify the reason.', 'shipments', 'woocommerce-germanized' ) ); ?></th>
|
241 |
+
<th><?php echo esc_html_x( 'Reason', 'shipments', 'woocommerce-germanized' ); ?> <?php echo wc_help_tip( _x( 'Choose a reason text.', 'shipments', 'woocommerce-germanized' ) ); ?></th>
|
242 |
</tr>
|
243 |
</thead>
|
244 |
<tbody class="shipment_return_reasons">
|
286 |
echo $html;
|
287 |
}
|
288 |
|
289 |
+
public static function output_packaging_list( $value ) {
|
290 |
+
ob_start();
|
291 |
+
?>
|
292 |
+
<tr valign="top">
|
293 |
+
<th scope="row" class="titledesc"><?php echo esc_html_x( 'Available Packaging', 'shipments', 'woocommerce-germanized' ); ?></th>
|
294 |
+
<td class="forminp" id="packaging_list_wrapper">
|
295 |
+
<div class="wc_input_table_wrapper">
|
296 |
+
<style>
|
297 |
+
tbody.packaging_list tr td {
|
298 |
+
padding: .5em;
|
299 |
+
}
|
300 |
+
tbody.packaging_list select {
|
301 |
+
width: 100% !important;
|
302 |
+
}
|
303 |
+
tbody.packaging_list .input-inner-wrap {
|
304 |
+
display: flex;
|
305 |
+
flex-wrap: nowrap;
|
306 |
+
}
|
307 |
+
tbody.packaging_list .input-inner-wrap input {
|
308 |
+
width: 33% !important;
|
309 |
+
min-width: auto !important;
|
310 |
+
}
|
311 |
+
</style>
|
312 |
+
<table class="widefat wc_input_table sortable" cellspacing="0">
|
313 |
+
<thead>
|
314 |
+
<tr>
|
315 |
+
<th class="sort"> </th>
|
316 |
+
<th style="width: 20ch;"><?php echo esc_html_x( 'Description', 'shipments', 'woocommerce-germanized' ); ?> <?php echo wc_help_tip( _x( 'A description to help you identify the packaging.', 'shipments', 'woocommerce-germanized' ) ); ?></th>
|
317 |
+
<th style="width: 15ch;"><?php echo esc_html_x( 'Type', 'shipments', 'woocommerce-germanized' ); ?></th>
|
318 |
+
<th style="width: 5ch;"><?php echo sprintf( esc_html_x( 'Weight (%s)', 'shipments', 'woocommerce-germanized' ), wc_gzd_get_packaging_dimension_unit() ); ?> <?php echo wc_help_tip( _x( 'The weight of the packaging.', 'shipments', 'woocommerce-germanized' ) ); ?></th>
|
319 |
+
<th style="width: 15ch;"><?php echo sprintf( esc_html_x( 'Dimensions (LxWxH, %s)', 'shipments', 'woocommerce-germanized' ), wc_gzd_get_packaging_weight_unit() ); ?></th>
|
320 |
+
<th style="width: 5ch;"><?php echo esc_html_x( 'Max weight (kg)', 'shipments', 'woocommerce-germanized' ); ?> <?php echo wc_help_tip( _x( 'The maximum weight this packaging can hold. Leave empty to not restrict maximum weight.', 'shipments', 'woocommerce-germanized' ) ); ?></th>
|
321 |
+
</tr>
|
322 |
+
</thead>
|
323 |
+
<tbody class="packaging_list">
|
324 |
+
<?php
|
325 |
+
$count = 0;
|
326 |
+
foreach ( wc_gzd_get_packaging_list() as $packaging ) : ?>
|
327 |
+
<tr class="packaging">
|
328 |
+
<td class="sort"></td>
|
329 |
+
<td style="width: 20ch;">
|
330 |
+
<input type="text" name="packaging[<?php echo esc_attr( $count ); ?>][description]" value="<?php echo esc_attr( wp_unslash( $packaging->get_description() ) ); ?>" />
|
331 |
+
<input type="hidden" name="packaging[<?php echo esc_attr( $count ); ?>][packaging_id]" value="<?php echo esc_attr( $packaging->get_id() ); ?>" />
|
332 |
+
</td>
|
333 |
+
<td style="width: 15ch;">
|
334 |
+
<select name="packaging[<?php echo esc_attr( $count ); ?>][type]">
|
335 |
+
<?php foreach( wc_gzd_get_packaging_types() as $type => $type_title ) : ?>
|
336 |
+
<option value="<?php echo esc_attr( $type ); ?>" <?php selected( $packaging->get_type(), $type ); ?>><?php echo esc_attr( $type_title ); ?></option>
|
337 |
+
<?php endforeach; ?>
|
338 |
+
</select>
|
339 |
+
</td>
|
340 |
+
<td style="width: 5ch;">
|
341 |
+
<input class="wc_input_decimal" type="text" name="packaging[<?php echo esc_attr( $count ); ?>][weight]" value="<?php echo esc_attr( $packaging->get_weight() ); ?>" placeholder="0" />
|
342 |
+
</td>
|
343 |
+
<td style="width: 15ch;">
|
344 |
+
<span class="input-inner-wrap">
|
345 |
+
<input class="wc_input_decimal" type="text" name="packaging[<?php echo esc_attr( $count ); ?>][length]" value="<?php echo esc_attr( $packaging->get_length() ); ?>" placeholder="<?php echo esc_attr( _x( 'Length', 'shipments', 'woocommerce-germanized' ) ); ?>" />
|
346 |
+
<input class="wc_input_decimal" type="text" name="packaging[<?php echo esc_attr( $count ); ?>][width]" value="<?php echo esc_attr( $packaging->get_width() ); ?>" placeholder="<?php echo esc_attr( _x( 'Width', 'shipments', 'woocommerce-germanized' ) ); ?>" />
|
347 |
+
<input class="wc_input_decimal" type="text" name="packaging[<?php echo esc_attr( $count ); ?>][height]" value="<?php echo esc_attr( $packaging->get_height() ); ?>" placeholder="<?php echo esc_attr( _x( 'Height', 'shipments', 'woocommerce-germanized' ) ); ?>" />
|
348 |
+
</span>
|
349 |
+
</td>
|
350 |
+
<td style="width: 5ch;">
|
351 |
+
<input class="wc_input_decimal" type="text" name="packaging[<?php echo esc_attr( $count ); ?>][max_content_weight]" value="<?php echo esc_attr( $packaging->get_max_content_weight() ); ?>" placeholder="0" />
|
352 |
+
</td>
|
353 |
+
</tr>
|
354 |
+
<?php
|
355 |
+
$count++;
|
356 |
+
endforeach; ?>
|
357 |
+
</tbody>
|
358 |
+
<tfoot>
|
359 |
+
<tr>
|
360 |
+
<th colspan="7"><a href="#" class="add button"><?php echo esc_html_x( '+ Add packaging', 'shipments', 'woocommerce-germanized' ); ?></a> <a href="#" class="remove_rows button"><?php echo esc_html_x( 'Remove selected packaging', 'shipments', 'woocommerce-germanized' ); ?></a></th>
|
361 |
+
</tr>
|
362 |
+
</tfoot>
|
363 |
+
</table>
|
364 |
+
</div>
|
365 |
+
<script type="text/javascript">
|
366 |
+
jQuery(function() {
|
367 |
+
jQuery('#packaging_list_wrapper').on( 'click', 'a.add', function(){
|
368 |
+
|
369 |
+
var size = jQuery('#packaging_list_wrapper').find('tbody .packaging').length;
|
370 |
+
|
371 |
+
jQuery('<tr class="packaging">\
|
372 |
+
<td class="sort"></td>\
|
373 |
+
<td style="width: 10ch;"><input type="text" name="packaging[' + size + '][description]" value="" /></td>\
|
374 |
+
<td style="width: 10ch;">\
|
375 |
+
<select name="packaging[' + size + '][type]">\
|
376 |
+
<?php foreach( wc_gzd_get_packaging_types() as $type => $type_title ) : ?>\
|
377 |
+
<option value="<?php echo esc_attr( $type ); ?>"><?php echo esc_attr( $type_title ); ?></option>\
|
378 |
+
<?php endforeach; ?>\
|
379 |
+
</select>\
|
380 |
+
</td>\
|
381 |
+
<td style="width: 5ch;">\
|
382 |
+
<input class="wc_input_decimal" type="text" name="packaging[' + size + '][weight]" placeholder="0" />\
|
383 |
+
</td>\
|
384 |
+
<td style="width: 15ch;">\
|
385 |
+
<span class="input-inner-wrap">\
|
386 |
+
<input class="wc_input_decimal" type="text" name="packaging[' + size + '][length]" value="" placeholder="<?php echo esc_attr( _x( 'Length', 'shipments', 'woocommerce-germanized' ) ); ?>" />\
|
387 |
+
<input class="wc_input_decimal" type="text" name="packaging[' + size + '][width]" value="" placeholder="<?php echo esc_attr( _x( 'Width', 'shipments', 'woocommerce-germanized' ) ); ?>" />\
|
388 |
+
<input class="wc_input_decimal" type="text" name="packaging[' + size + '][height]" value="" placeholder="<?php echo esc_attr( _x( 'Height', 'shipments', 'woocommerce-germanized' ) ); ?>" />\
|
389 |
+
</span>\
|
390 |
+
</td>\
|
391 |
+
<td style="width: 5ch;">\
|
392 |
+
<input class="wc_input_decimal" type="text" name="packaging[' + size + '][max_content_weight]" placeholder="0" />\
|
393 |
+
</td>\
|
394 |
+
</tr>').appendTo('#packaging_list_wrapper table tbody');
|
395 |
+
|
396 |
+
return false;
|
397 |
+
});
|
398 |
+
});
|
399 |
+
</script>
|
400 |
+
</td>
|
401 |
+
</tr>
|
402 |
+
<?php
|
403 |
+
$html = ob_get_clean();
|
404 |
+
|
405 |
+
echo $html;
|
406 |
+
}
|
407 |
+
|
408 |
public static function download_label() {
|
409 |
if ( isset( $_GET['action'] ) && 'wc-gzd-download-shipment-label' === $_GET['action'] ) {
|
410 |
if ( isset( $_GET['shipment_id'] ) && wp_verify_nonce( $_REQUEST['_wpnonce'], 'download-shipment-label' ) ) {
|
716 |
'remove_label_nonce' => wp_create_nonce( 'remove-shipment-label' ),
|
717 |
'edit_label_nonce' => wp_create_nonce( 'edit-shipment-label' ),
|
718 |
'send_return_notification_nonce' => wp_create_nonce( 'send-return-shipment-notification' ),
|
719 |
+
'refresh_packaging_nonce' => wp_create_nonce( 'refresh-shipment-packaging' ),
|
720 |
'confirm_return_request_nonce' => wp_create_nonce( 'confirm-return-request' ),
|
721 |
'i18n_remove_label_notice' => _x( 'Do you really want to delete the label?', 'shipments', 'woocommerce-germanized' ),
|
722 |
'i18n_create_label_enabled' => _x( 'Create new label', 'shipments', 'woocommerce-germanized' ),
|
packages/woocommerce-germanized-shipments/src/Admin/MetaBox.php
CHANGED
@@ -50,6 +50,10 @@ class MetaBox {
|
|
50 |
$props['tracking_id'] = wc_clean( wp_unslash( $_POST['shipment_tracking_id'][ $id ] ) );
|
51 |
}
|
52 |
|
|
|
|
|
|
|
|
|
53 |
if ( isset( $_POST['shipment_shipping_provider'][ $id ] ) ) {
|
54 |
$provider = wc_clean( wp_unslash( $_POST['shipment_shipping_provider'][ $id ] ) );
|
55 |
$providers = wc_gzd_get_shipping_providers();
|
50 |
$props['tracking_id'] = wc_clean( wp_unslash( $_POST['shipment_tracking_id'][ $id ] ) );
|
51 |
}
|
52 |
|
53 |
+
if ( isset( $_POST['shipment_packaging_id'][ $id ] ) ) {
|
54 |
+
$props['packaging_id'] = wc_clean( wp_unslash( $_POST['shipment_packaging_id'][ $id ] ) );
|
55 |
+
}
|
56 |
+
|
57 |
if ( isset( $_POST['shipment_shipping_provider'][ $id ] ) ) {
|
58 |
$provider = wc_clean( wp_unslash( $_POST['shipment_shipping_provider'][ $id ] ) );
|
59 |
$providers = wc_gzd_get_shipping_providers();
|
packages/woocommerce-germanized-shipments/src/Admin/Settings.php
CHANGED
@@ -268,6 +268,30 @@ class Settings {
|
|
268 |
return $settings;
|
269 |
}
|
270 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
271 |
public static function save_provider( $provider_name = '' ) {
|
272 |
$helper = ShippingProviders::instance();
|
273 |
|
@@ -326,6 +350,8 @@ class Settings {
|
|
326 |
|
327 |
if ( '' === $current_section ) {
|
328 |
$settings = self::get_general_settings();
|
|
|
|
|
329 |
} elseif( 'provider' === $current_section && isset( $_GET['provider'] ) ) {
|
330 |
|
331 |
$provider_name = wc_clean( wp_unslash( $_GET['provider'] ) );
|
@@ -395,6 +421,7 @@ class Settings {
|
|
395 |
public static function get_sections() {
|
396 |
return array(
|
397 |
'' => _x( 'General', 'shipments', 'woocommerce-germanized' ),
|
|
|
398 |
'provider' => _x( 'Shipping Provider', 'shipments', 'woocommerce-germanized' )
|
399 |
);
|
400 |
}
|
268 |
return $settings;
|
269 |
}
|
270 |
|
271 |
+
protected static function get_packaging_settings() {
|
272 |
+
$settings = array(
|
273 |
+
array( 'title' => '', 'type' => 'title', 'id' => 'packaging_options' ),
|
274 |
+
|
275 |
+
array(
|
276 |
+
'type' => 'packaging_list',
|
277 |
+
),
|
278 |
+
|
279 |
+
array(
|
280 |
+
'title' => _x( 'Default packaging', 'shipments', 'woocommerce-germanized' ),
|
281 |
+
'desc_tip' => _x( 'Choose a packaging which serves as fallback or default in case no suitable packaging could be matched for a certain shipment.', 'shipments', 'woocommerce-germanized' ),
|
282 |
+
'id' => 'woocommerce_gzd_shipments_default_packaging',
|
283 |
+
'default' => '',
|
284 |
+
'type' => 'select',
|
285 |
+
'options' => wc_gzd_get_packaging_select(),
|
286 |
+
'class' => 'wc-enhanced-select',
|
287 |
+
),
|
288 |
+
|
289 |
+
array( 'type' => 'sectionend', 'id' => 'packaging_options' ),
|
290 |
+
);
|
291 |
+
|
292 |
+
return $settings;
|
293 |
+
}
|
294 |
+
|
295 |
public static function save_provider( $provider_name = '' ) {
|
296 |
$helper = ShippingProviders::instance();
|
297 |
|
350 |
|
351 |
if ( '' === $current_section ) {
|
352 |
$settings = self::get_general_settings();
|
353 |
+
} elseif ( 'packaging' === $current_section ) {
|
354 |
+
$settings = self::get_packaging_settings();
|
355 |
} elseif( 'provider' === $current_section && isset( $_GET['provider'] ) ) {
|
356 |
|
357 |
$provider_name = wc_clean( wp_unslash( $_GET['provider'] ) );
|
421 |
public static function get_sections() {
|
422 |
return array(
|
423 |
'' => _x( 'General', 'shipments', 'woocommerce-germanized' ),
|
424 |
+
'packaging' => _x( 'Packaging', 'shipments', 'woocommerce-germanized' ),
|
425 |
'provider' => _x( 'Shipping Provider', 'shipments', 'woocommerce-germanized' )
|
426 |
);
|
427 |
}
|
packages/woocommerce-germanized-shipments/src/Ajax.php
CHANGED
@@ -30,6 +30,7 @@ class Ajax {
|
|
30 |
'add_shipment',
|
31 |
'remove_shipment',
|
32 |
'remove_shipment_item',
|
|
|
33 |
'limit_shipment_item_quantity',
|
34 |
'save_shipments',
|
35 |
'sync_shipment_items',
|
@@ -771,7 +772,7 @@ class Ajax {
|
|
771 |
'#shipment-' . $shipment->get_id() . ' .item-count:first' => self::get_item_count_html( $shipment, $order_shipment ),
|
772 |
);
|
773 |
|
774 |
-
self::send_json_success( $response, $order_shipment );
|
775 |
}
|
776 |
|
777 |
public static function json_search_orders() {
|
@@ -841,6 +842,67 @@ class Ajax {
|
|
841 |
return $status_html;
|
842 |
}
|
843 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
844 |
public static function save_shipments() {
|
845 |
check_ajax_referer( 'edit-shipments', 'security' );
|
846 |
|
@@ -1055,7 +1117,7 @@ class Ajax {
|
|
1055 |
'#shipment-' . $shipment->get_id() . ' .item-count:first' => self::get_item_count_html( $shipment, $order_shipment ),
|
1056 |
);
|
1057 |
|
1058 |
-
self::send_json_success( $response, $order_shipment );
|
1059 |
}
|
1060 |
|
1061 |
/**
|
@@ -1195,7 +1257,7 @@ class Ajax {
|
|
1195 |
'#shipment-' . $shipment->get_id() . ' .item-count:first' => self::get_item_count_html( $shipment, $order_shipment ),
|
1196 |
);
|
1197 |
|
1198 |
-
self::send_json_success( $response, $order_shipment );
|
1199 |
}
|
1200 |
|
1201 |
public static function limit_shipment_item_quantity() {
|
@@ -1276,7 +1338,7 @@ class Ajax {
|
|
1276 |
'#shipment-' . $shipment->get_id() . ' .item-count:first' => self::get_item_count_html( $shipment, $order_shipment ),
|
1277 |
);
|
1278 |
|
1279 |
-
self::send_json_success( $response, $order_shipment );
|
1280 |
}
|
1281 |
|
1282 |
/**
|
@@ -1284,13 +1346,12 @@ class Ajax {
|
|
1284 |
* @param Order $order_shipment
|
1285 |
* @param Shipment|bool $shipment
|
1286 |
*/
|
1287 |
-
private static function send_json_success( $response, $order_shipment ) {
|
1288 |
|
1289 |
$available_items = $order_shipment->get_available_items_for_shipment();
|
1290 |
$response['shipments'] = array();
|
1291 |
|
1292 |
foreach( $order_shipment->get_shipments() as $shipment ) {
|
1293 |
-
|
1294 |
$shipment->set_order_shipment( $order_shipment );
|
1295 |
|
1296 |
$response['shipments'][ $shipment->get_id() ] = array(
|
@@ -1300,12 +1361,21 @@ class Ajax {
|
|
1300 |
'length' => wc_format_localized_decimal( $shipment->get_content_length() ),
|
1301 |
'width' => wc_format_localized_decimal( $shipment->get_content_width() ),
|
1302 |
'height' => wc_format_localized_decimal( $shipment->get_content_height() ),
|
|
|
1303 |
);
|
1304 |
}
|
1305 |
|
1306 |
$response['order_needs_new_shipments'] = $order_shipment->needs_shipping();
|
1307 |
$response['order_needs_new_returns'] = $order_shipment->needs_return();
|
1308 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1309 |
wp_send_json( $response );
|
1310 |
}
|
1311 |
}
|
30 |
'add_shipment',
|
31 |
'remove_shipment',
|
32 |
'remove_shipment_item',
|
33 |
+
'refresh_shipment_packaging',
|
34 |
'limit_shipment_item_quantity',
|
35 |
'save_shipments',
|
36 |
'sync_shipment_items',
|
772 |
'#shipment-' . $shipment->get_id() . ' .item-count:first' => self::get_item_count_html( $shipment, $order_shipment ),
|
773 |
);
|
774 |
|
775 |
+
self::send_json_success( $response, $order_shipment, $shipment );
|
776 |
}
|
777 |
|
778 |
public static function json_search_orders() {
|
842 |
return $status_html;
|
843 |
}
|
844 |
|
845 |
+
public static function refresh_shipment_packaging() {
|
846 |
+
check_ajax_referer( 'refresh-shipment-packaging', 'security' );
|
847 |
+
|
848 |
+
if ( ! current_user_can( 'edit_shop_orders' ) || ! isset( $_POST['shipment_id'] ) ) {
|
849 |
+
wp_die( -1 );
|
850 |
+
}
|
851 |
+
|
852 |
+
$response_error = array(
|
853 |
+
'success' => false,
|
854 |
+
'message' => _x( 'There was an error processing the shipment', 'shipments', 'woocommerce-germanized' ),
|
855 |
+
);
|
856 |
+
|
857 |
+
$response = array(
|
858 |
+
'success' => true,
|
859 |
+
'message' => '',
|
860 |
+
);
|
861 |
+
|
862 |
+
$shipment_id = absint( $_POST['shipment_id'] );
|
863 |
+
|
864 |
+
if ( ! $shipment = wc_gzd_get_shipment( $shipment_id ) ) {
|
865 |
+
wp_send_json( $response_error );
|
866 |
+
}
|
867 |
+
|
868 |
+
$response['fragments'] = array(
|
869 |
+
'#shipment-' . $shipment->get_id() . ' .shipment-packaging-select' => self::get_packaging_select_html( $shipment ),
|
870 |
+
);
|
871 |
+
|
872 |
+
wp_send_json( $response );
|
873 |
+
}
|
874 |
+
|
875 |
+
protected static function get_packaging_select_html( $shipment ) {
|
876 |
+
$shipment_id = $shipment->get_id();
|
877 |
+
|
878 |
+
$data = array(
|
879 |
+
'weight' => isset( $_POST['shipment_weight'][ $shipment_id ] ) ? wc_clean( wp_unslash( $_POST['shipment_weight'][ $shipment_id ] ) ) : '',
|
880 |
+
'length' => isset( $_POST['shipment_length'][ $shipment_id ] ) ? wc_clean( wp_unslash( $_POST['shipment_length'][ $shipment_id ] ) ) : '',
|
881 |
+
'width' => isset( $_POST['shipment_width'][ $shipment_id ] ) ? wc_clean( wp_unslash( $_POST['shipment_width'][ $shipment_id ] ) ) : '',
|
882 |
+
'height' => isset( $_POST['shipment_height'][ $shipment_id ] ) ? wc_clean( wp_unslash( $_POST['shipment_height'][ $shipment_id ] ) ) : '',
|
883 |
+
);
|
884 |
+
|
885 |
+
$data = array_filter( $data );
|
886 |
+
|
887 |
+
/**
|
888 |
+
* In case no data was transmitted - use content data instead.
|
889 |
+
*/
|
890 |
+
$data = wp_parse_args( $data, array(
|
891 |
+
'weight' => $shipment->get_content_weight(),
|
892 |
+
'length' => $shipment->get_content_length(),
|
893 |
+
'width' => $shipment->get_content_width(),
|
894 |
+
'height' => $shipment->get_content_height()
|
895 |
+
) );
|
896 |
+
|
897 |
+
$shipment->set_props( $data );
|
898 |
+
|
899 |
+
ob_start();
|
900 |
+
include( Package::get_path() . '/includes/admin/views/html-order-shipment-packaging-select.php' );
|
901 |
+
$html = ob_get_clean();
|
902 |
+
|
903 |
+
return $html;
|
904 |
+
}
|
905 |
+
|
906 |
public static function save_shipments() {
|
907 |
check_ajax_referer( 'edit-shipments', 'security' );
|
908 |
|
1117 |
'#shipment-' . $shipment->get_id() . ' .item-count:first' => self::get_item_count_html( $shipment, $order_shipment ),
|
1118 |
);
|
1119 |
|
1120 |
+
self::send_json_success( $response, $order_shipment, $shipment );
|
1121 |
}
|
1122 |
|
1123 |
/**
|
1257 |
'#shipment-' . $shipment->get_id() . ' .item-count:first' => self::get_item_count_html( $shipment, $order_shipment ),
|
1258 |
);
|
1259 |
|
1260 |
+
self::send_json_success( $response, $order_shipment, $shipment );
|
1261 |
}
|
1262 |
|
1263 |
public static function limit_shipment_item_quantity() {
|
1338 |
'#shipment-' . $shipment->get_id() . ' .item-count:first' => self::get_item_count_html( $shipment, $order_shipment ),
|
1339 |
);
|
1340 |
|
1341 |
+
self::send_json_success( $response, $order_shipment, $shipment );
|
1342 |
}
|
1343 |
|
1344 |
/**
|
1346 |
* @param Order $order_shipment
|
1347 |
* @param Shipment|bool $shipment
|
1348 |
*/
|
1349 |
+
private static function send_json_success( $response, $order_shipment, $current_shipment = false ) {
|
1350 |
|
1351 |
$available_items = $order_shipment->get_available_items_for_shipment();
|
1352 |
$response['shipments'] = array();
|
1353 |
|
1354 |
foreach( $order_shipment->get_shipments() as $shipment ) {
|
|
|
1355 |
$shipment->set_order_shipment( $order_shipment );
|
1356 |
|
1357 |
$response['shipments'][ $shipment->get_id() ] = array(
|
1361 |
'length' => wc_format_localized_decimal( $shipment->get_content_length() ),
|
1362 |
'width' => wc_format_localized_decimal( $shipment->get_content_width() ),
|
1363 |
'height' => wc_format_localized_decimal( $shipment->get_content_height() ),
|
1364 |
+
'total_weight' => wc_format_localized_decimal( $shipment->get_total_weight() ),
|
1365 |
);
|
1366 |
}
|
1367 |
|
1368 |
$response['order_needs_new_shipments'] = $order_shipment->needs_shipping();
|
1369 |
$response['order_needs_new_returns'] = $order_shipment->needs_return();
|
1370 |
|
1371 |
+
if ( $current_shipment ) {
|
1372 |
+
if ( ! isset( $response['fragments'] ) ) {
|
1373 |
+
$response['fragments'] = array();
|
1374 |
+
}
|
1375 |
+
|
1376 |
+
$response['fragments']['#shipment-' . $shipment->get_id() . ' .shipment-packaging-select'] = self::get_packaging_select_html( $current_shipment );
|
1377 |
+
}
|
1378 |
+
|
1379 |
wp_send_json( $response );
|
1380 |
}
|
1381 |
}
|
packages/woocommerce-germanized-shipments/src/DataStores/Packaging.php
ADDED
@@ -0,0 +1,582 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Vendidero\Germanized\Shipments\DataStores;
|
4 |
+
use WC_Data_Store_WP;
|
5 |
+
use WC_Object_Data_Store_Interface;
|
6 |
+
use Exception;
|
7 |
+
use WC_Data;
|
8 |
+
|
9 |
+
defined( 'ABSPATH' ) || exit;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Abstract Order Data Store: Stored in CPT.
|
13 |
+
*
|
14 |
+
* @version 3.0.0
|
15 |
+
*/
|
16 |
+
class Packaging extends WC_Data_Store_WP implements WC_Object_Data_Store_Interface {
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Internal meta type used to store order data.
|
20 |
+
*
|
21 |
+
* @var string
|
22 |
+
*/
|
23 |
+
protected $meta_type = 'gzd_packaging';
|
24 |
+
|
25 |
+
protected $must_exist_meta_keys = array();
|
26 |
+
|
27 |
+
protected $core_props = array(
|
28 |
+
'type',
|
29 |
+
'date_created',
|
30 |
+
'date_created_gmt',
|
31 |
+
'weight',
|
32 |
+
'max_content_weight',
|
33 |
+
'length',
|
34 |
+
'width',
|
35 |
+
'height',
|
36 |
+
'description',
|
37 |
+
'order'
|
38 |
+
);
|
39 |
+
|
40 |
+
/*
|
41 |
+
|--------------------------------------------------------------------------
|
42 |
+
| CRUD Methods
|
43 |
+
|--------------------------------------------------------------------------
|
44 |
+
*/
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Method to create a new packaging in the database.
|
48 |
+
*
|
49 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging Packaging object.
|
50 |
+
*/
|
51 |
+
public function create( &$packaging ) {
|
52 |
+
global $wpdb;
|
53 |
+
|
54 |
+
$packaging->set_date_created( current_time( 'timestamp', true ) );
|
55 |
+
|
56 |
+
$data = array(
|
57 |
+
'packaging_type' => $packaging->get_type(),
|
58 |
+
'packaging_description' => $packaging->get_description(),
|
59 |
+
'packaging_weight' => $packaging->get_weight(),
|
60 |
+
'packaging_max_content_weight' => $packaging->get_max_content_weight(),
|
61 |
+
'packaging_length' => $packaging->get_length(),
|
62 |
+
'packaging_width' => $packaging->get_width(),
|
63 |
+
'packaging_height' => $packaging->get_height(),
|
64 |
+
'packaging_order' => $packaging->get_order(),
|
65 |
+
'packaging_date_created' => gmdate( 'Y-m-d H:i:s', $packaging->get_date_created( 'edit' )->getOffsetTimestamp() ),
|
66 |
+
'packaging_date_created_gmt' => gmdate( 'Y-m-d H:i:s', $packaging->get_date_created( 'edit' )->getTimestamp() ),
|
67 |
+
);
|
68 |
+
|
69 |
+
$wpdb->insert(
|
70 |
+
$wpdb->gzd_packaging,
|
71 |
+
$data
|
72 |
+
);
|
73 |
+
|
74 |
+
$packaging_id = $wpdb->insert_id;
|
75 |
+
|
76 |
+
if ( $packaging_id ) {
|
77 |
+
$packaging->set_id( $packaging_id );
|
78 |
+
|
79 |
+
$this->save_packaging_data( $packaging );
|
80 |
+
|
81 |
+
$packaging->save_meta_data();
|
82 |
+
$packaging->apply_changes();
|
83 |
+
|
84 |
+
$this->clear_caches( $packaging );
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Action that indicates that a new Packaging has been created in the DB.
|
88 |
+
*
|
89 |
+
* @param integer $packaging_id The packaging id.
|
90 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging The packaging instance.
|
91 |
+
*
|
92 |
+
* @since 3.3.0
|
93 |
+
* @package Vendidero/Germanized/Shipments
|
94 |
+
*/
|
95 |
+
do_action( "woocommerce_gzd_new_packaging", $packaging_id, $packaging );
|
96 |
+
}
|
97 |
+
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* Method to update a packaging in the database.
|
101 |
+
*
|
102 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging Packaging object.
|
103 |
+
*/
|
104 |
+
public function update( &$packaging ) {
|
105 |
+
global $wpdb;
|
106 |
+
|
107 |
+
$updated_props = array();
|
108 |
+
$core_props = $this->core_props;
|
109 |
+
$changed_props = array_keys( $packaging->get_changes() );
|
110 |
+
$packaging_data = array();
|
111 |
+
|
112 |
+
foreach ( $changed_props as $prop ) {
|
113 |
+
|
114 |
+
if ( ! in_array( $prop, $core_props, true ) ) {
|
115 |
+
continue;
|
116 |
+
}
|
117 |
+
|
118 |
+
switch( $prop ) {
|
119 |
+
case "date_created":
|
120 |
+
if ( is_callable( array( $packaging, 'get_' . $prop ) ) ) {
|
121 |
+
$packaging_data[ 'packaging_' . $prop ] = gmdate( 'Y-m-d H:i:s', $packaging->{'get_' . $prop}( 'edit' )->getOffsetTimestamp() );
|
122 |
+
$packaging_data[ 'packaging_' . $prop . '_gmt' ] = gmdate( 'Y-m-d H:i:s', $packaging->{'get_' . $prop}( 'edit' )->getTimestamp() );
|
123 |
+
}
|
124 |
+
break;
|
125 |
+
default:
|
126 |
+
if ( is_callable( array( $packaging, 'get_' . $prop ) ) ) {
|
127 |
+
$packaging_data[ 'packaging_' . $prop ] = $packaging->{'get_' . $prop}( 'edit' );
|
128 |
+
}
|
129 |
+
break;
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
if ( ! empty( $packaging_data ) ) {
|
134 |
+
$wpdb->update(
|
135 |
+
$wpdb->gzd_packaging,
|
136 |
+
$packaging_data,
|
137 |
+
array( 'packaging_id' => $packaging->get_id() )
|
138 |
+
);
|
139 |
+
}
|
140 |
+
|
141 |
+
$this->save_packaging_data( $packaging );
|
142 |
+
|
143 |
+
$packaging->save_meta_data();
|
144 |
+
$packaging->apply_changes();
|
145 |
+
|
146 |
+
$this->clear_caches( $packaging );
|
147 |
+
|
148 |
+
/**
|
149 |
+
* Action that indicates that a Packaging has been updated in the DB.
|
150 |
+
*
|
151 |
+
* @param integer $packaging_id The packaging id.
|
152 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging The packaging instance.
|
153 |
+
*
|
154 |
+
* @since 3.3.0
|
155 |
+
* @package Vendidero/Germanized/Shipments
|
156 |
+
*/
|
157 |
+
do_action( "woocommerce_gzd_packaging_updated", $packaging->get_id(), $packaging );
|
158 |
+
}
|
159 |
+
|
160 |
+
/**
|
161 |
+
* Remove a Packaging from the database.
|
162 |
+
*
|
163 |
+
* @since 3.0.0
|
164 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging Packaging object.
|
165 |
+
* @param bool $force_delete Unused param.
|
166 |
+
*/
|
167 |
+
public function delete( &$packaging, $force_delete = false ) {
|
168 |
+
global $wpdb;
|
169 |
+
|
170 |
+
$wpdb->delete( $wpdb->gzd_packaging, array( 'packaging_id' => $packaging->get_id() ), array( '%d' ) );
|
171 |
+
$wpdb->delete( $wpdb->gzd_packagingmeta, array( 'gzd_packaging_id' => $packaging->get_id() ), array( '%d' ) );
|
172 |
+
|
173 |
+
$this->clear_caches( $packaging );
|
174 |
+
|
175 |
+
/**
|
176 |
+
* Action that indicates that a Packaging has been deleted from the DB.
|
177 |
+
*
|
178 |
+
* @param integer $packaging_id The packaging id.
|
179 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging The packaging instance.
|
180 |
+
*
|
181 |
+
* @since 3.3.0
|
182 |
+
* @package Vendidero/Germanized/Shipments
|
183 |
+
*/
|
184 |
+
do_action( "woocommerce_gzd_packaging_deleted", $packaging->get_id(), $packaging );
|
185 |
+
}
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Read a Packaging from the database.
|
189 |
+
*
|
190 |
+
* @since 3.3.0
|
191 |
+
*
|
192 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging Packaging object.
|
193 |
+
*
|
194 |
+
* @throws Exception Throw exception if invalid packaging.
|
195 |
+
*/
|
196 |
+
public function read( &$packaging ) {
|
197 |
+
global $wpdb;
|
198 |
+
|
199 |
+
$data = $wpdb->get_row(
|
200 |
+
$wpdb->prepare(
|
201 |
+
"SELECT * FROM {$wpdb->gzd_packaging} WHERE packaging_id = %d LIMIT 1",
|
202 |
+
$packaging->get_id()
|
203 |
+
)
|
204 |
+
);
|
205 |
+
|
206 |
+
if ( $data ) {
|
207 |
+
$packaging->set_props(
|
208 |
+
array(
|
209 |
+
'type' => $data->packaging_type,
|
210 |
+
'description' => $data->packaging_description,
|
211 |
+
'weight' => $data->packaging_weight,
|
212 |
+
'max_content_weight' => $data->packaging_max_content_weight,
|
213 |
+
'length' => $data->packaging_length,
|
214 |
+
'width' => $data->packaging_width,
|
215 |
+
'height' => $data->packaging_height,
|
216 |
+
'order' => $data->packaging_order,
|
217 |
+
'date_created' => 0 < $data->packaging_date_created_gmt ? wc_string_to_timestamp( $data->packaging_date_created_gmt ) : null,
|
218 |
+
)
|
219 |
+
);
|
220 |
+
|
221 |
+
$this->read_packaging_data( $packaging );
|
222 |
+
|
223 |
+
$packaging->read_meta_data();
|
224 |
+
$packaging->set_object_read( true );
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Action that indicates that a Packaging has been loaded from DB.
|
228 |
+
*
|
229 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging The Packaging object.
|
230 |
+
*
|
231 |
+
* @since 3.3.0
|
232 |
+
* @package Vendidero/Germanized/Shipments
|
233 |
+
*/
|
234 |
+
do_action( "woocommerce_gzd_packaging_loaded", $packaging );
|
235 |
+
} else {
|
236 |
+
throw new Exception( _x( 'Invalid packaging.', 'shipments', 'woocommerce-germanized' ) );
|
237 |
+
}
|
238 |
+
}
|
239 |
+
|
240 |
+
/**
|
241 |
+
* Clear any caches.
|
242 |
+
*
|
243 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging Packaging object.
|
244 |
+
* @since 3.0.0
|
245 |
+
*/
|
246 |
+
protected function clear_caches( &$packaging ) {
|
247 |
+
wp_cache_delete( $packaging->get_id(), $this->meta_type . '_meta' );
|
248 |
+
wp_cache_delete( 'packaging-list', 'packaging' );
|
249 |
+
}
|
250 |
+
|
251 |
+
/*
|
252 |
+
|--------------------------------------------------------------------------
|
253 |
+
| Additional Methods
|
254 |
+
|--------------------------------------------------------------------------
|
255 |
+
*/
|
256 |
+
|
257 |
+
/**
|
258 |
+
* Get the packaging type based on ID.
|
259 |
+
*
|
260 |
+
* @param int $packaging_id Packaging id.
|
261 |
+
* @return string
|
262 |
+
*/
|
263 |
+
public function get_packaging_type( $packing_id ) {
|
264 |
+
global $wpdb;
|
265 |
+
|
266 |
+
$type = $wpdb->get_col(
|
267 |
+
$wpdb->prepare(
|
268 |
+
"SELECT packaging_type FROM {$wpdb->gzd_packaging} WHERE packaging_id = %d LIMIT 1",
|
269 |
+
$packing_id
|
270 |
+
)
|
271 |
+
);
|
272 |
+
|
273 |
+
return ! empty( $type ) ? $type[0] : false;
|
274 |
+
}
|
275 |
+
|
276 |
+
/**
|
277 |
+
* Read extra data associated with the Packaging.
|
278 |
+
*
|
279 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging Packaging object.
|
280 |
+
* @since 3.0.0
|
281 |
+
*/
|
282 |
+
protected function read_packaging_data( &$packaging ) {
|
283 |
+
$props = array();
|
284 |
+
|
285 |
+
foreach( $this->internal_meta_keys as $meta_key ) {
|
286 |
+
$props[ substr( $meta_key, 1 ) ] = get_metadata( 'gzd_packaging', $packaging->get_id(), $meta_key, true );
|
287 |
+
}
|
288 |
+
|
289 |
+
$packaging->set_props( $props );
|
290 |
+
}
|
291 |
+
|
292 |
+
/**
|
293 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging
|
294 |
+
*/
|
295 |
+
protected function save_packaging_data( &$packaging ) {
|
296 |
+
$updated_props = array();
|
297 |
+
$meta_key_to_props = array();
|
298 |
+
|
299 |
+
foreach( $this->internal_meta_keys as $meta_key ) {
|
300 |
+
$prop_name = substr( $meta_key, 1 );
|
301 |
+
|
302 |
+
if ( in_array( $prop_name, $this->core_props ) ) {
|
303 |
+
continue;
|
304 |
+
}
|
305 |
+
|
306 |
+
$meta_key_to_props[ $meta_key ] = $prop_name;
|
307 |
+
}
|
308 |
+
|
309 |
+
$props_to_update = $this->get_props_to_update( $packaging, $meta_key_to_props, $this->meta_type );
|
310 |
+
|
311 |
+
foreach ( $props_to_update as $meta_key => $prop ) {
|
312 |
+
|
313 |
+
if ( ! is_callable( array( $packaging, "get_$prop" ) ) ) {
|
314 |
+
continue;
|
315 |
+
}
|
316 |
+
|
317 |
+
$value = $packaging->{"get_$prop"}( 'edit' );
|
318 |
+
$value = is_string( $value ) ? wp_slash( $value ) : $value;
|
319 |
+
|
320 |
+
$updated = $this->update_or_delete_meta( $packaging, $meta_key, $value );
|
321 |
+
|
322 |
+
if ( $updated ) {
|
323 |
+
$updated_props[] = $prop;
|
324 |
+
}
|
325 |
+
}
|
326 |
+
|
327 |
+
/**
|
328 |
+
* Action that fires after updating a Packaging's properties.
|
329 |
+
*
|
330 |
+
* @param \Vendidero\Germanized\Shipments\Packaging $packaging The Packaging object.
|
331 |
+
* @param array $changed_props The updated properties.
|
332 |
+
*
|
333 |
+
* @since 3.3.0
|
334 |
+
* @package Vendidero/Germanized/Shipments
|
335 |
+
*/
|
336 |
+
do_action( 'woocommerce_gzd_packaging_object_updated_props', $packaging, $updated_props );
|
337 |
+
}
|
338 |
+
|
339 |
+
/**
|
340 |
+
* Update meta data in, or delete it from, the database.
|
341 |
+
*
|
342 |
+
* Avoids storing meta when it's either an empty string or empty array.
|
343 |
+
* Other empty values such as numeric 0 and null should still be stored.
|
344 |
+
* Data-stores can force meta to exist using `must_exist_meta_keys`.
|
345 |
+
*
|
346 |
+
* Note: WordPress `get_metadata` function returns an empty string when meta data does not exist.
|
347 |
+
*
|
348 |
+
* @param WC_Data $object The WP_Data object (WC_Coupon for coupons, etc).
|
349 |
+
* @param string $meta_key Meta key to update.
|
350 |
+
* @param mixed $meta_value Value to save.
|
351 |
+
*
|
352 |
+
* @since 3.6.0 Added to prevent empty meta being stored unless required.
|
353 |
+
*
|
354 |
+
* @return bool True if updated/deleted.
|
355 |
+
*/
|
356 |
+
protected function update_or_delete_meta( $object, $meta_key, $meta_value ) {
|
357 |
+
if ( in_array( $meta_value, array( array(), '' ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) {
|
358 |
+
$updated = delete_metadata( $this->meta_type, $object->get_id(), $meta_key );
|
359 |
+
} else {
|
360 |
+
$updated = update_metadata( $this->meta_type, $object->get_id(), $meta_key, $meta_value );
|
361 |
+
}
|
362 |
+
|
363 |
+
return (bool) $updated;
|
364 |
+
}
|
365 |
+
|
366 |
+
/**
|
367 |
+
* Get valid WP_Query args from a WC_Order_Query's query variables.
|
368 |
+
*
|
369 |
+
* @since 3.0.6
|
370 |
+
* @param array $query_vars query vars from a WC_Order_Query.
|
371 |
+
* @return array
|
372 |
+
*/
|
373 |
+
protected function get_wp_query_args( $query_vars ) {
|
374 |
+
global $wpdb;
|
375 |
+
|
376 |
+
$wp_query_args = parent::get_wp_query_args( $query_vars );
|
377 |
+
|
378 |
+
// Force type to be existent
|
379 |
+
if ( isset( $query_vars['type'] ) ) {
|
380 |
+
$wp_query_args['type'] = $query_vars['type'];
|
381 |
+
}
|
382 |
+
|
383 |
+
if ( ! isset( $wp_query_args['date_query'] ) ) {
|
384 |
+
$wp_query_args['date_query'] = array();
|
385 |
+
}
|
386 |
+
|
387 |
+
if ( ! isset( $wp_query_args['meta_query'] ) ) {
|
388 |
+
$wp_query_args['meta_query'] = array();
|
389 |
+
}
|
390 |
+
|
391 |
+
// Allow Woo to treat these props as date query compatible
|
392 |
+
$date_queries = array(
|
393 |
+
'date_created',
|
394 |
+
);
|
395 |
+
|
396 |
+
foreach ( $date_queries as $db_key ) {
|
397 |
+
if ( isset( $query_vars[ $db_key ] ) && '' !== $query_vars[ $db_key ] ) {
|
398 |
+
|
399 |
+
// Remove any existing meta queries for the same keys to prevent conflicts.
|
400 |
+
$existing_queries = wp_list_pluck( $wp_query_args['meta_query'], 'key', true );
|
401 |
+
$meta_query_index = array_search( $db_key, $existing_queries, true );
|
402 |
+
|
403 |
+
if ( false !== $meta_query_index ) {
|
404 |
+
unset( $wp_query_args['meta_query'][ $meta_query_index ] );
|
405 |
+
}
|
406 |
+
|
407 |
+
$date_query_args = $this->parse_date_for_wp_query( $query_vars[ $db_key ], 'post_date', array() );
|
408 |
+
|
409 |
+
/**
|
410 |
+
* Replace date query columns after Woo parsed dates.
|
411 |
+
* Include table name because otherwise WP_Date_Query won't accept our custom column.
|
412 |
+
*/
|
413 |
+
if ( isset( $date_query_args['date_query'] ) && ! empty( $date_query_args['date_query'] ) ) {
|
414 |
+
$date_query = $date_query_args['date_query'][0];
|
415 |
+
|
416 |
+
if ( 'post_date' === $date_query['column'] ) {
|
417 |
+
$date_query['column'] = $wpdb->gzd_shipments . '.shipment_' . $db_key;
|
418 |
+
}
|
419 |
+
|
420 |
+
$wp_query_args['date_query'][] = $date_query;
|
421 |
+
}
|
422 |
+
}
|
423 |
+
}
|
424 |
+
|
425 |
+
if ( ! isset( $query_vars['paginate'] ) || ! $query_vars['paginate'] ) {
|
426 |
+
$wp_query_args['no_found_rows'] = true;
|
427 |
+
}
|
428 |
+
|
429 |
+
/**
|
430 |
+
* Filter to adjust Packaging query arguments after parsing.
|
431 |
+
*
|
432 |
+
* @param array $wp_query_args Array containing parsed query arguments.
|
433 |
+
* @param array $query_vars The original query arguments.
|
434 |
+
* @param Packaging $data_store The packaging data store object.
|
435 |
+
*
|
436 |
+
* @since 3.3.0
|
437 |
+
* @package Vendidero/Germanized/Shipments
|
438 |
+
*/
|
439 |
+
return apply_filters( 'woocommerce_gzd_packaging_data_store_get_shipments_query', $wp_query_args, $query_vars, $this );
|
440 |
+
}
|
441 |
+
|
442 |
+
public function get_packaging_list( $args = array() ) {
|
443 |
+
global $wpdb;
|
444 |
+
|
445 |
+
$all_types = array_keys( wc_gzd_get_packaging_types() );
|
446 |
+
|
447 |
+
$args = wp_parse_args( $args, array(
|
448 |
+
'type' => $all_types
|
449 |
+
) );
|
450 |
+
|
451 |
+
if ( ! is_array( $args['type'] ) ) {
|
452 |
+
$args['type'] = array( $args['type'] );
|
453 |
+
}
|
454 |
+
|
455 |
+
$types = array_filter( wc_clean( $args['type'] ) );
|
456 |
+
$types = empty( $types ) ? $all_types : $types;
|
457 |
+
|
458 |
+
$query = "
|
459 |
+
SELECT packaging_id FROM {$wpdb->gzd_packaging}
|
460 |
+
WHERE packaging_type IN ( '" . implode( "','", $types ) . "' )
|
461 |
+
ORDER BY packaging_order ASC
|
462 |
+
";
|
463 |
+
|
464 |
+
if ( $all_types === $types ) {
|
465 |
+
// Get from cache if available.
|
466 |
+
$results = wp_cache_get( 'packaging-list', 'packaging' );
|
467 |
+
|
468 |
+
if ( false === $results ) {
|
469 |
+
$results = $wpdb->get_results( $query );
|
470 |
+
|
471 |
+
wp_cache_set( 'packaging-list', $results, 'packaging' );
|
472 |
+
}
|
473 |
+
} else {
|
474 |
+
$results = $wpdb->get_results( $query );
|
475 |
+
}
|
476 |
+
|
477 |
+
foreach ( $results as $key => $packaging ) {
|
478 |
+
$results[ $key ] = wc_gzd_get_packaging( $packaging );
|
479 |
+
}
|
480 |
+
|
481 |
+
return $results;
|
482 |
+
}
|
483 |
+
|
484 |
+
/**
|
485 |
+
* @param \Vendidero\Germanized\Shipments\Shipment $shipment
|
486 |
+
* @param string|array $types
|
487 |
+
* @param int $limit
|
488 |
+
*
|
489 |
+
* @return \Vendidero\Germanized\Shipments\Packaging[]
|
490 |
+
*/
|
491 |
+
public function find_available_packaging_for_shipment( $shipment, $types = array(), $limit = -1 ) {
|
492 |
+
global $wpdb;
|
493 |
+
|
494 |
+
$weight = wc_format_decimal( empty( $shipment->get_weight() ) ? 0 : wc_get_weight( $shipment->get_weight(), wc_gzd_get_packaging_weight_unit(), $shipment->get_weight_unit() ), 1 );
|
495 |
+
$length = wc_format_decimal( empty( $shipment->get_length() ) ? 0 : wc_get_dimension( $shipment->get_length(), wc_gzd_get_packaging_dimension_unit(), $shipment->get_dimension_unit() ), 1 );
|
496 |
+
$width = wc_format_decimal( empty( $shipment->get_width() ) ? 0 : wc_get_dimension( $shipment->get_width(), wc_gzd_get_packaging_dimension_unit(), $shipment->get_dimension_unit() ), 1 );
|
497 |
+
$height = wc_format_decimal( empty( $shipment->get_height() ) ? 0 : wc_get_dimension( $shipment->get_height(), wc_gzd_get_packaging_dimension_unit(), $shipment->get_dimension_unit() ), 1 );
|
498 |
+
|
499 |
+
if ( ! is_array( $types ) ) {
|
500 |
+
$types = array( $types );
|
501 |
+
}
|
502 |
+
|
503 |
+
$types = array_filter( wc_clean( $types ) );
|
504 |
+
$types = empty( $types ) ? array_keys( wc_gzd_get_packaging_types() ) : $types;
|
505 |
+
$threshold = apply_filters( 'woocommerce_gzd_shipment_packaging_match_threshold', 0, $shipment );
|
506 |
+
|
507 |
+
$query_sql = "SELECT
|
508 |
+
packaging_id,
|
509 |
+
(packaging_length - %f) AS length_diff,
|
510 |
+
(packaging_width - %f) AS width_diff,
|
511 |
+
(packaging_height - %f) AS height_diff,
|
512 |
+
((packaging_length - %f) + (packaging_width - %f) + (packaging_height - %f)) AS total_diff
|
513 |
+
FROM {$wpdb->gzd_packaging}
|
514 |
+
WHERE ( packaging_max_content_weight = 0 OR packaging_max_content_weight >= %f ) AND packaging_type IN ( '" . implode( "','", $types ) . "' )
|
515 |
+
HAVING length_diff >= %f AND width_diff >= %f AND height_diff >= %f
|
516 |
+
ORDER BY total_diff DESC, packaging_weight ASC, packaging_order ASC
|
517 |
+
";
|
518 |
+
|
519 |
+
if ( $limit > 0 ) {
|
520 |
+
$query_sql .= " LIMIT %d";
|
521 |
+
$query = $wpdb->prepare( $query_sql, $length, $width, $height, $length, $width, $height, $weight, $threshold, $threshold, $threshold, $limit );
|
522 |
+
} else {
|
523 |
+
$query = $wpdb->prepare( $query_sql, $length, $width, $height, $length, $width, $height, $weight, $threshold, $threshold, $threshold );
|
524 |
+
}
|
525 |
+
|
526 |
+
$results = $wpdb->get_results( $query );
|
527 |
+
$packaging = array();
|
528 |
+
|
529 |
+
if ( $results ) {
|
530 |
+
foreach( $results as $result ) {
|
531 |
+
$packaging[] = wc_gzd_get_packaging( $result->packaging_id );
|
532 |
+
}
|
533 |
+
}
|
534 |
+
|
535 |
+
return apply_filters( 'woocommerce_gzd_find_available_packaging_for_shipment', $packaging, $shipment, $types );
|
536 |
+
}
|
537 |
+
|
538 |
+
/**
|
539 |
+
* @param \Vendidero\Germanized\Shipments\Shipment $shipment
|
540 |
+
* @param string|array $types
|
541 |
+
*
|
542 |
+
* @return \Vendidero\Germanized\Shipments\Packaging|false
|
543 |
+
*/
|
544 |
+
public function find_best_match_for_shipment( $shipment, $types = array() ) {
|
545 |
+
$results = $this->find_available_packaging_for_shipment( $shipment, $types, 1 );
|
546 |
+
$packaging = false;
|
547 |
+
|
548 |
+
if ( ! empty( $results ) ) {
|
549 |
+
$packaging = $results[0];
|
550 |
+
}
|
551 |
+
|
552 |
+
return apply_filters( 'woocommerce_gzd_find_best_matching_packaging_for_shipment', $packaging, $shipment, $types );
|
553 |
+
}
|
554 |
+
|
555 |
+
/**
|
556 |
+
* Table structure is slightly different between meta types, this function will return what we need to know.
|
557 |
+
*
|
558 |
+
* @since 3.0.0
|
559 |
+
* @return array Array elements: table, object_id_field, meta_id_field
|
560 |
+
*/
|
561 |
+
protected function get_db_info() {
|
562 |
+
global $wpdb;
|
563 |
+
|
564 |
+
$meta_id_field = 'meta_id'; // for some reason users calls this umeta_id so we need to track this as well.
|
565 |
+
$table = $wpdb->gzd_packagingmeta;
|
566 |
+
$object_id_field = $this->meta_type . '_id';
|
567 |
+
|
568 |
+
if ( ! empty( $this->object_id_field_for_meta ) ) {
|
569 |
+
$object_id_field = $this->object_id_field_for_meta;
|
570 |
+
}
|
571 |
+
|
572 |
+
return array(
|
573 |
+
'table' => $table,
|
574 |
+
'object_id_field' => $object_id_field,
|
575 |
+
'meta_id_field' => $meta_id_field,
|
576 |
+
);
|
577 |
+
}
|
578 |
+
|
579 |
+
public function get_query_args( $query_vars ) {
|
580 |
+
return $this->get_wp_query_args( $query_vars );
|
581 |
+
}
|
582 |
+
}
|
packages/woocommerce-germanized-shipments/src/DataStores/Shipment.php
CHANGED
@@ -58,7 +58,8 @@ class Shipment extends WC_Data_Store_WP implements WC_Object_Data_Store_Interfac
|
|
58 |
'est_delivery_date_gmt',
|
59 |
'status',
|
60 |
'shipping_provider',
|
61 |
-
'shipping_method'
|
|
|
62 |
);
|
63 |
|
64 |
/*
|
@@ -86,6 +87,7 @@ class Shipment extends WC_Data_Store_WP implements WC_Object_Data_Store_Interfac
|
|
86 |
'shipment_tracking_id' => $shipment->get_tracking_id(),
|
87 |
'shipment_status' => $this->get_status( $shipment ),
|
88 |
'shipment_search_index' => $this->get_search_index( $shipment ),
|
|
|
89 |
'shipment_type' => $shipment->get_type(),
|
90 |
'shipment_shipping_provider' => $shipment->get_shipping_provider(),
|
91 |
'shipment_shipping_method' => $shipment->get_shipping_method(),
|
@@ -321,6 +323,7 @@ class Shipment extends WC_Data_Store_WP implements WC_Object_Data_Store_Interfac
|
|
321 |
'tracking_id' => $data->shipment_tracking_id,
|
322 |
'shipping_provider' => $data->shipment_shipping_provider,
|
323 |
'shipping_method' => $data->shipment_shipping_method,
|
|
|
324 |
'date_created' => 0 < $data->shipment_date_created_gmt ? wc_string_to_timestamp( $data->shipment_date_created_gmt ) : null,
|
325 |
'date_sent' => 0 < $data->shipment_date_sent_gmt ? wc_string_to_timestamp( $data->shipment_date_sent_gmt ) : null,
|
326 |
'est_delivery_date' => 0 < $data->shipment_est_delivery_date_gmt ? wc_string_to_timestamp( $data->shipment_est_delivery_date_gmt ) : null,
|
58 |
'est_delivery_date_gmt',
|
59 |
'status',
|
60 |
'shipping_provider',
|
61 |
+
'shipping_method',
|
62 |
+
'packaging_id'
|
63 |
);
|
64 |
|
65 |
/*
|
87 |
'shipment_tracking_id' => $shipment->get_tracking_id(),
|
88 |
'shipment_status' => $this->get_status( $shipment ),
|
89 |
'shipment_search_index' => $this->get_search_index( $shipment ),
|
90 |
+
'shipment_packaging_id' => $shipment->get_packaging_id(),
|
91 |
'shipment_type' => $shipment->get_type(),
|
92 |
'shipment_shipping_provider' => $shipment->get_shipping_provider(),
|
93 |
'shipment_shipping_method' => $shipment->get_shipping_method(),
|
323 |
'tracking_id' => $data->shipment_tracking_id,
|
324 |
'shipping_provider' => $data->shipment_shipping_provider,
|
325 |
'shipping_method' => $data->shipment_shipping_method,
|
326 |
+
'packaging_id' => $data->shipment_packaging_id,
|
327 |
'date_created' => 0 < $data->shipment_date_created_gmt ? wc_string_to_timestamp( $data->shipment_date_created_gmt ) : null,
|
328 |
'date_sent' => 0 < $data->shipment_date_sent_gmt ? wc_string_to_timestamp( $data->shipment_date_sent_gmt ) : null,
|
329 |
'est_delivery_date' => 0 < $data->shipment_est_delivery_date_gmt ? wc_string_to_timestamp( $data->shipment_est_delivery_date_gmt ) : null,
|
packages/woocommerce-germanized-shipments/src/Install.php
CHANGED
@@ -13,6 +13,9 @@ class Install {
|
|
13 |
self::create_upload_dir();
|
14 |
self::create_tables();
|
15 |
self::maybe_create_return_reasons();
|
|
|
|
|
|
|
16 |
|
17 |
do_action( 'woocommerce_flush_rewrite_rules' );
|
18 |
}
|
@@ -43,6 +46,71 @@ class Install {
|
|
43 |
}
|
44 |
}
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
private static function create_tables() {
|
47 |
global $wpdb;
|
48 |
|
@@ -112,6 +180,7 @@ CREATE TABLE {$wpdb->prefix}woocommerce_gzd_shipments (
|
|
112 |
shipment_est_delivery_date_gmt datetime default NULL,
|
113 |
shipment_status varchar(20) NOT NULL default 'gzd-draft',
|
114 |
shipment_order_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
|
|
115 |
shipment_parent_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
116 |
shipment_country varchar(2) NOT NULL DEFAULT '',
|
117 |
shipment_tracking_id varchar(200) NOT NULL DEFAULT '',
|
@@ -121,6 +190,7 @@ CREATE TABLE {$wpdb->prefix}woocommerce_gzd_shipments (
|
|
121 |
shipment_shipping_method varchar(200) NOT NULL DEFAULT '',
|
122 |
PRIMARY KEY (shipment_id),
|
123 |
KEY shipment_order_id (shipment_order_id),
|
|
|
124 |
KEY shipment_parent_id (shipment_parent_id)
|
125 |
) $collate;
|
126 |
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_shipmentmeta (
|
@@ -132,6 +202,29 @@ CREATE TABLE {$wpdb->prefix}woocommerce_gzd_shipmentmeta (
|
|
132 |
KEY gzd_shipment_id (gzd_shipment_id),
|
133 |
KEY meta_key (meta_key(32))
|
134 |
) $collate;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_shipping_provider (
|
136 |
shipping_provider_id BIGINT UNSIGNED NOT NULL auto_increment,
|
137 |
shipping_provider_activated TINYINT(1) NOT NULL default 1,
|
13 |
self::create_upload_dir();
|
14 |
self::create_tables();
|
15 |
self::maybe_create_return_reasons();
|
16 |
+
self::maybe_create_packaging();
|
17 |
+
|
18 |
+
update_option( 'woocommerce_gzd_shipments_db_version', Package::get_version() );
|
19 |
|
20 |
do_action( 'woocommerce_flush_rewrite_rules' );
|
21 |
}
|
46 |
}
|
47 |
}
|
48 |
|
49 |
+
private static function get_db_version() {
|
50 |
+
return get_option( 'woocommerce_gzd_shipments_db_version', null );
|
51 |
+
}
|
52 |
+
|
53 |
+
private static function maybe_create_packaging() {
|
54 |
+
$packaging = wc_gzd_get_packaging_list();
|
55 |
+
$db_version = self::get_db_version();
|
56 |
+
|
57 |
+
if ( empty( $packaging ) && is_null( $db_version ) ) {
|
58 |
+
$defaults = array(
|
59 |
+
array(
|
60 |
+
'description' => _x( 'Cardboard S', 'shipments', 'woocommerce-germanized' ),
|
61 |
+
'length' => 25,
|
62 |
+
'width' => 17.5,
|
63 |
+
'height' => 10,
|
64 |
+
'weight' => 0.14,
|
65 |
+
'max_content_weight' => 30,
|
66 |
+
'type' => 'cardboard'
|
67 |
+
),
|
68 |
+
array(
|
69 |
+
'description' => _x( 'Cardboard M', 'shipments', 'woocommerce-germanized' ),
|
70 |
+
'length' => 37.5,
|
71 |
+
'width' => 30,
|
72 |
+
'height' => 13.5,
|
73 |
+
'weight' => 0.23,
|
74 |
+
'max_content_weight' => 30,
|
75 |
+
'type' => 'cardboard'
|
76 |
+
),
|
77 |
+
array(
|
78 |
+
'description' => _x( 'Cardboard L', 'shipments', 'woocommerce-germanized' ),
|
79 |
+
'length' => 45,
|
80 |
+
'width' => 35,
|
81 |
+
'height' => 20,
|
82 |
+
'weight' => 0.3,
|
83 |
+
'max_content_weight' => 30,
|
84 |
+
'type' => 'cardboard'
|
85 |
+
),
|
86 |
+
array(
|
87 |
+
'description' => _x( 'Letter C5/6', 'shipments', 'woocommerce-germanized' ),
|
88 |
+
'length' => 22,
|
89 |
+
'width' => 11,
|
90 |
+
'height' => 1,
|
91 |
+
'weight' => 0,
|
92 |
+
'max_content_weight' => 0.05,
|
93 |
+
'type' => 'letter'
|
94 |
+
),
|
95 |
+
array(
|
96 |
+
'description' => _x( 'Letter C4', 'shipments', 'woocommerce-germanized' ),
|
97 |
+
'length' => 22.9,
|
98 |
+
'width' => 32.4,
|
99 |
+
'height' => 2,
|
100 |
+
'weight' => 0.01,
|
101 |
+
'max_content_weight' => 1,
|
102 |
+
'type' => 'letter'
|
103 |
+
),
|
104 |
+
);
|
105 |
+
|
106 |
+
foreach( $defaults as $default ) {
|
107 |
+
$packaging = new Packaging();
|
108 |
+
$packaging->set_props( $default );
|
109 |
+
$packaging->save();
|
110 |
+
}
|
111 |
+
}
|
112 |
+
}
|
113 |
+
|
114 |
private static function create_tables() {
|
115 |
global $wpdb;
|
116 |
|
180 |
shipment_est_delivery_date_gmt datetime default NULL,
|
181 |
shipment_status varchar(20) NOT NULL default 'gzd-draft',
|
182 |
shipment_order_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
183 |
+
shipment_packaging_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
184 |
shipment_parent_id BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
185 |
shipment_country varchar(2) NOT NULL DEFAULT '',
|
186 |
shipment_tracking_id varchar(200) NOT NULL DEFAULT '',
|
190 |
shipment_shipping_method varchar(200) NOT NULL DEFAULT '',
|
191 |
PRIMARY KEY (shipment_id),
|
192 |
KEY shipment_order_id (shipment_order_id),
|
193 |
+
KEY shipment_packaging_id (shipment_packaging_id),
|
194 |
KEY shipment_parent_id (shipment_parent_id)
|
195 |
) $collate;
|
196 |
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_shipmentmeta (
|
202 |
KEY gzd_shipment_id (gzd_shipment_id),
|
203 |
KEY meta_key (meta_key(32))
|
204 |
) $collate;
|
205 |
+
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_packaging (
|
206 |
+
packaging_id BIGINT UNSIGNED NOT NULL auto_increment,
|
207 |
+
packaging_date_created datetime NOT NULL default '0000-00-00 00:00:00',
|
208 |
+
packaging_date_created_gmt datetime NOT NULL default '0000-00-00 00:00:00',
|
209 |
+
packaging_type varchar(200) NOT NULL DEFAULT '',
|
210 |
+
packaging_description TINYTEXT NOT NULL DEFAULT '',
|
211 |
+
packaging_weight DECIMAL(6,2) UNSIGNED NOT NULL DEFAULT 0,
|
212 |
+
packaging_order BIGINT UNSIGNED NOT NULL DEFAULT 0,
|
213 |
+
packaging_max_content_weight DECIMAL(6,2) UNSIGNED NOT NULL DEFAULT 0,
|
214 |
+
packaging_length DECIMAL(6,2) UNSIGNED NOT NULL DEFAULT 0,
|
215 |
+
packaging_width DECIMAL(6,2) UNSIGNED NOT NULL DEFAULT 0,
|
216 |
+
packaging_height DECIMAL(6,2) UNSIGNED NOT NULL DEFAULT 0,
|
217 |
+
PRIMARY KEY (packaging_id)
|
218 |
+
) $collate;
|
219 |
+
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_packagingmeta (
|
220 |
+
meta_id BIGINT UNSIGNED NOT NULL auto_increment,
|
221 |
+
gzd_packaging_id BIGINT UNSIGNED NOT NULL,
|
222 |
+
meta_key varchar(255) default NULL,
|
223 |
+
meta_value longtext NULL,
|
224 |
+
PRIMARY KEY (meta_id),
|
225 |
+
KEY gzd_packaging_id (gzd_packaging_id),
|
226 |
+
KEY meta_key (meta_key(32))
|
227 |
+
) $collate;
|
228 |
CREATE TABLE {$wpdb->prefix}woocommerce_gzd_shipping_provider (
|
229 |
shipping_provider_id BIGINT UNSIGNED NOT NULL auto_increment,
|
230 |
shipping_provider_activated TINYINT(1) NOT NULL default 1,
|
packages/woocommerce-germanized-shipments/src/Interfaces/ShipmentLabel.php
CHANGED
@@ -1,9 +1,6 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
namespace Vendidero\Germanized\Shipments\Interfaces;
|
4 |
|
5 |
-
use Vendidero\Germanized\Shipments\PDFMerger;
|
6 |
-
|
7 |
/**
|
8 |
* Shipment Label Interface
|
9 |
*
|
1 |
<?php
|
|
|
2 |
namespace Vendidero\Germanized\Shipments\Interfaces;
|
3 |
|
|
|
|
|
4 |
/**
|
5 |
* Shipment Label Interface
|
6 |
*
|
packages/woocommerce-germanized-shipments/src/Interfaces/{ShipmenReturnLabel.php → ShipmentReturnLabel.php}
RENAMED
@@ -1,9 +1,8 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
namespace Vendidero\Germanized\Shipments\Interfaces;
|
4 |
|
5 |
/**
|
6 |
-
* Shipment
|
7 |
*
|
8 |
* @package Germanized/Shipments/Interfaces
|
9 |
* @version 3.1.0
|
@@ -15,4 +14,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
15 |
/**
|
16 |
* ShipmentLabel class.
|
17 |
*/
|
18 |
-
interface ShipmentReturnLabel extends ShipmentLabel {
|
|
|
|
1 |
<?php
|
|
|
2 |
namespace Vendidero\Germanized\Shipments\Interfaces;
|
3 |
|
4 |
/**
|
5 |
+
* Shipment Label Interface
|
6 |
*
|
7 |
* @package Germanized/Shipments/Interfaces
|
8 |
* @version 3.1.0
|
14 |
/**
|
15 |
* ShipmentLabel class.
|
16 |
*/
|
17 |
+
interface ShipmentReturnLabel extends ShipmentLabel {
|
18 |
+
|
19 |
+
}
|
packages/woocommerce-germanized-shipments/src/Order.php
CHANGED
@@ -127,6 +127,20 @@ class Order {
|
|
127 |
return $status;
|
128 |
}
|
129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
public function validate_shipments( $args = array() ) {
|
131 |
$args = wp_parse_args( $args, array(
|
132 |
'save' => true,
|
127 |
return $status;
|
128 |
}
|
129 |
|
130 |
+
public function get_default_return_shipping_provider() {
|
131 |
+
$default_provider_instance = wc_gzd_get_order_shipping_provider( $this->get_order() );
|
132 |
+
$default_provider = $default_provider_instance ? $default_provider_instance->get_name() : '';
|
133 |
+
$shipments = $this->get_simple_shipments();
|
134 |
+
|
135 |
+
foreach( $shipments as $shipment ) {
|
136 |
+
if ( $shipment->has_status( wc_gzd_get_shipment_sent_statuses() ) ) {
|
137 |
+
$default_provider = $shipment->get_shipping_provider();
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
return apply_filters( 'woocommerce_gzd_shipment_order_return_default_shipping_provider', $default_provider, $this );
|
142 |
+
}
|
143 |
+
|
144 |
public function validate_shipments( $args = array() ) {
|
145 |
$args = wp_parse_args( $args, array(
|
146 |
'save' => true,
|
packages/woocommerce-germanized-shipments/src/Package.php
CHANGED
@@ -17,7 +17,7 @@ class Package {
|
|
17 |
*
|
18 |
* @var string
|
19 |
*/
|
20 |
-
const VERSION = '1.
|
21 |
|
22 |
public static $upload_dir_suffix = '';
|
23 |
|
@@ -54,6 +54,25 @@ class Package {
|
|
54 |
add_action( 'init', array( __CLASS__, 'register_shortcodes' ) );
|
55 |
|
56 |
add_action( 'woocommerce_gzd_wpml_compatibility_loaded', array( __CLASS__, 'load_wpml_compatibility' ), 10 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
|
59 |
public static function add_return_shipment_guest_endpoints( $template, $template_name ) {
|
@@ -340,6 +359,7 @@ class Package {
|
|
340 |
}
|
341 |
|
342 |
include_once self::get_path() . '/includes/wc-gzd-shipment-functions.php';
|
|
|
343 |
}
|
344 |
|
345 |
private static function is_frontend_request() {
|
@@ -376,6 +396,8 @@ class Package {
|
|
376 |
'gzd_shipment_items' => 'woocommerce_gzd_shipment_items',
|
377 |
'gzd_shipping_provider' => 'woocommerce_gzd_shipping_provider',
|
378 |
'gzd_shipping_providermeta' => 'woocommerce_gzd_shipping_providermeta',
|
|
|
|
|
379 |
);
|
380 |
|
381 |
foreach ( $tables as $name => $table ) {
|
@@ -386,6 +408,7 @@ class Package {
|
|
386 |
|
387 |
public static function register_data_stores( $stores ) {
|
388 |
$stores['shipment'] = 'Vendidero\Germanized\Shipments\DataStores\Shipment';
|
|
|
389 |
$stores['shipment-item'] = 'Vendidero\Germanized\Shipments\DataStores\ShipmentItem';
|
390 |
$stores['shipping-provider'] = 'Vendidero\Germanized\Shipments\DataStores\ShippingProvider';
|
391 |
|
17 |
*
|
18 |
* @var string
|
19 |
*/
|
20 |
+
const VERSION = '1.4.0';
|
21 |
|
22 |
public static $upload_dir_suffix = '';
|
23 |
|
54 |
add_action( 'init', array( __CLASS__, 'register_shortcodes' ) );
|
55 |
|
56 |
add_action( 'woocommerce_gzd_wpml_compatibility_loaded', array( __CLASS__, 'load_wpml_compatibility' ), 10 );
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Sync packaging after items have been synced to make sure
|
60 |
+
* content weights are available while choosing the matching packaging.
|
61 |
+
*/
|
62 |
+
add_action( 'woocommerce_gzd_return_shipment_items_synced', array( __CLASS__, 'sync_packaging' ), 10 );
|
63 |
+
add_action( 'woocommerce_gzd_shipment_items_synced', array( __CLASS__, 'sync_packaging' ), 10 );
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @param Shipment $shipment
|
68 |
+
*/
|
69 |
+
public static function sync_packaging( $shipment ) {
|
70 |
+
$default_packaging = $shipment->get_default_packaging();
|
71 |
+
$packaging_id = $shipment->get_packaging_id( 'edit' );
|
72 |
+
|
73 |
+
if ( empty( $packaging_id ) && $default_packaging ) {
|
74 |
+
$shipment->set_packaging_id( $default_packaging->get_id() );
|
75 |
+
}
|
76 |
}
|
77 |
|
78 |
public static function add_return_shipment_guest_endpoints( $template, $template_name ) {
|
359 |
}
|
360 |
|
361 |
include_once self::get_path() . '/includes/wc-gzd-shipment-functions.php';
|
362 |
+
include_once self::get_path() . '/includes/wc-gzd-packaging-functions.php';
|
363 |
}
|
364 |
|
365 |
private static function is_frontend_request() {
|
396 |
'gzd_shipment_items' => 'woocommerce_gzd_shipment_items',
|
397 |
'gzd_shipping_provider' => 'woocommerce_gzd_shipping_provider',
|
398 |
'gzd_shipping_providermeta' => 'woocommerce_gzd_shipping_providermeta',
|
399 |
+
'gzd_packaging' => 'woocommerce_gzd_packaging',
|
400 |
+
'gzd_packagingmeta' => 'woocommerce_gzd_packagingmeta',
|
401 |
);
|
402 |
|
403 |
foreach ( $tables as $name => $table ) {
|
408 |
|
409 |
public static function register_data_stores( $stores ) {
|
410 |
$stores['shipment'] = 'Vendidero\Germanized\Shipments\DataStores\Shipment';
|
411 |
+
$stores['packaging'] = 'Vendidero\Germanized\Shipments\DataStores\Packaging';
|
412 |
$stores['shipment-item'] = 'Vendidero\Germanized\Shipments\DataStores\ShipmentItem';
|
413 |
$stores['shipping-provider'] = 'Vendidero\Germanized\Shipments\DataStores\ShippingProvider';
|
414 |
|
packages/woocommerce-germanized-shipments/src/Packaging.php
ADDED
@@ -0,0 +1,335 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Packaging
|
4 |
+
*
|
5 |
+
* @package Vendidero/Germanized/Shipments
|
6 |
+
* @version 1.0.0
|
7 |
+
*/
|
8 |
+
namespace Vendidero\Germanized\Shipments;
|
9 |
+
|
10 |
+
use WC_Data;
|
11 |
+
use WC_Data_Store;
|
12 |
+
use Exception;
|
13 |
+
use WC_DateTime;
|
14 |
+
|
15 |
+
defined( 'ABSPATH' ) || exit;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Packaging Class.
|
19 |
+
*/
|
20 |
+
class Packaging extends WC_Data {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* This is the name of this object type.
|
24 |
+
*
|
25 |
+
* @since 1.0.0
|
26 |
+
* @var string
|
27 |
+
*/
|
28 |
+
protected $object_type = 'packaging';
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Contains a reference to the data store for this class.
|
32 |
+
*
|
33 |
+
* @since 1.0.0
|
34 |
+
* @var object
|
35 |
+
*/
|
36 |
+
protected $data_store_name = 'packaging';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Stores meta in cache for future reads.
|
40 |
+
* A group must be set to to enable caching.
|
41 |
+
*
|
42 |
+
* @since 1.0.0
|
43 |
+
* @var string
|
44 |
+
*/
|
45 |
+
protected $cache_group = 'packaging';
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Stores packaging data.
|
49 |
+
*
|
50 |
+
* @var array
|
51 |
+
*/
|
52 |
+
protected $data = array(
|
53 |
+
'date_created' => null,
|
54 |
+
'weight' => 0,
|
55 |
+
'max_content_weight' => 0,
|
56 |
+
'width' => 0,
|
57 |
+
'height' => 0,
|
58 |
+
'length' => 0,
|
59 |
+
'order' => 0,
|
60 |
+
'type' => '',
|
61 |
+
'description' => '',
|
62 |
+
);
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Get the packaging if ID is passed, otherwise the packaging is new and empty.
|
66 |
+
* This class should NOT be instantiated, but the `wc_gzd_get_packaging` function should be used.
|
67 |
+
*
|
68 |
+
* @param int|object|Packaging $packaging packaging to read.
|
69 |
+
*/
|
70 |
+
public function __construct( $data = 0 ) {
|
71 |
+
parent::__construct( $data );
|
72 |
+
|
73 |
+
if ( $data instanceof Packaging ) {
|
74 |
+
$this->set_id( absint( $data->get_id() ) );
|
75 |
+
} elseif ( is_numeric( $data ) ) {
|
76 |
+
$this->set_id( $data );
|
77 |
+
}
|
78 |
+
|
79 |
+
$this->data_store = WC_Data_Store::load( $this->data_store_name );
|
80 |
+
|
81 |
+
// If we have an ID, load the user from the DB.
|
82 |
+
if ( $this->get_id() ) {
|
83 |
+
try {
|
84 |
+
$this->data_store->read( $this );
|
85 |
+
} catch ( Exception $e ) {
|
86 |
+
$this->set_id( 0 );
|
87 |
+
$this->set_object_read( true );
|
88 |
+
}
|
89 |
+
} else {
|
90 |
+
$this->set_object_read( true );
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Merge changes with data and clear.
|
96 |
+
* Overrides WC_Data::apply_changes.
|
97 |
+
*
|
98 |
+
* @since 3.2.0
|
99 |
+
*/
|
100 |
+
public function apply_changes() {
|
101 |
+
if ( function_exists( 'array_replace' ) ) {
|
102 |
+
$this->data = array_replace( $this->data, $this->changes ); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.array_replaceFound
|
103 |
+
} else { // PHP 5.2 compatibility.
|
104 |
+
foreach ( $this->changes as $key => $change ) {
|
105 |
+
$this->data[ $key ] = $change;
|
106 |
+
}
|
107 |
+
}
|
108 |
+
$this->changes = array();
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Prefix for action and filter hooks on data.
|
113 |
+
*
|
114 |
+
* @return string
|
115 |
+
*/
|
116 |
+
protected function get_hook_prefix() {
|
117 |
+
return $this->get_general_hook_prefix() . 'get_';
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Prefix for action and filter hooks on data.
|
122 |
+
*
|
123 |
+
* @return string
|
124 |
+
*/
|
125 |
+
protected function get_general_hook_prefix() {
|
126 |
+
return "woocommerce_gzd_packaging_";
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Return the date this packaging was created.
|
131 |
+
*
|
132 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
133 |
+
* @return WC_DateTime|null object if the date is set or null if there is no date.
|
134 |
+
*/
|
135 |
+
public function get_date_created( $context = 'view' ) {
|
136 |
+
return $this->get_prop( 'date_created', $context );
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Returns the packaging weight in kg.
|
141 |
+
*
|
142 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
143 |
+
* @return string
|
144 |
+
*/
|
145 |
+
public function get_weight( $context = 'view' ) {
|
146 |
+
return $this->get_prop( 'weight', $context );
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Returns the packaging max content weight in kg.
|
151 |
+
*
|
152 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
153 |
+
* @return string
|
154 |
+
*/
|
155 |
+
public function get_max_content_weight( $context = 'view' ) {
|
156 |
+
return $this->get_prop( 'max_content_weight', $context );
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Returns the packaging order within its list.
|
161 |
+
*
|
162 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
163 |
+
* @return string
|
164 |
+
*/
|
165 |
+
public function get_order( $context = 'view' ) {
|
166 |
+
return $this->get_prop( 'order', $context );
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* Returns the packaging type e.g. box or letter.
|
171 |
+
*
|
172 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
173 |
+
* @return string
|
174 |
+
*/
|
175 |
+
public function get_type( $context = 'view' ) {
|
176 |
+
return $this->get_prop( 'type', $context );
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Returns the packaging description.
|
181 |
+
*
|
182 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
183 |
+
* @return string
|
184 |
+
*/
|
185 |
+
public function get_description( $context = 'view' ) {
|
186 |
+
return $this->get_prop( 'description', $context );
|
187 |
+
}
|
188 |
+
|
189 |
+
/**
|
190 |
+
* Returns the packaging length in cm.
|
191 |
+
*
|
192 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
193 |
+
* @return string
|
194 |
+
*/
|
195 |
+
public function get_length( $context = 'view' ) {
|
196 |
+
return $this->get_prop( 'length', $context );
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Returns the packaging width in cm.
|
201 |
+
*
|
202 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
203 |
+
* @return string
|
204 |
+
*/
|
205 |
+
public function get_width( $context = 'view' ) {
|
206 |
+
return $this->get_prop( 'width', $context );
|
207 |
+
}
|
208 |
+
|
209 |
+
/**
|
210 |
+
* Returns the packaging height in cm.
|
211 |
+
*
|
212 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
213 |
+
* @return string
|
214 |
+
*/
|
215 |
+
public function get_height( $context = 'view' ) {
|
216 |
+
return $this->get_prop( 'height', $context );
|
217 |
+
}
|
218 |
+
|
219 |
+
public function has_dimensions() {
|
220 |
+
$width = $this->get_width();
|
221 |
+
$length = $this->get_length();
|
222 |
+
$height = $this->get_height();
|
223 |
+
|
224 |
+
return ( ! empty( $width ) && ! empty( $length ) && ! empty( $height ) );
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* Returns dimensions.
|
229 |
+
*
|
230 |
+
* @return string|array
|
231 |
+
*/
|
232 |
+
public function get_dimensions() {
|
233 |
+
return array(
|
234 |
+
'length' => wc_format_decimal( $this->get_length(), false, true ),
|
235 |
+
'width' => wc_format_decimal( $this->get_width(), false, true ),
|
236 |
+
'height' => wc_format_decimal( $this->get_height(), false, true ),
|
237 |
+
);
|
238 |
+
}
|
239 |
+
|
240 |
+
public function get_formatted_dimensions() {
|
241 |
+
return wc_gzd_format_shipment_dimensions( $this->get_dimensions(), wc_gzd_get_packaging_dimension_unit() );
|
242 |
+
}
|
243 |
+
|
244 |
+
/**
|
245 |
+
* Set the date this packaging was created.
|
246 |
+
*
|
247 |
+
* @param string|integer|null $date UTC timestamp, or ISO 8601 DateTime. If the DateTime string has no timezone or offset, WordPress site timezone will be assumed. Null if their is no date.
|
248 |
+
*/
|
249 |
+
public function set_date_created( $date = null ) {
|
250 |
+
$this->set_date_prop( 'date_created', $date );
|
251 |
+
}
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Set packaging weight in kg.
|
255 |
+
*
|
256 |
+
* @param string $weight The weight.
|
257 |
+
*/
|
258 |
+
public function set_weight( $weight ) {
|
259 |
+
$this->set_prop( 'weight', empty( $weight ) ? 0 : wc_format_decimal( $weight, 2 ) );
|
260 |
+
}
|
261 |
+
|
262 |
+
public function get_title() {
|
263 |
+
$description = $this->get_description();
|
264 |
+
|
265 |
+
return sprintf(
|
266 |
+
_x( '%1$s (%2$s, %3$s)', 'shipments-packaging-title', 'woocommerce-germanized' ),
|
267 |
+
$description,
|
268 |
+
$this->get_formatted_dimensions(),
|
269 |
+
wc_gzd_format_shipment_weight( wc_format_decimal( $this->get_weight(), false, true ), wc_gzd_get_packaging_weight_unit() )
|
270 |
+
);
|
271 |
+
}
|
272 |
+
|
273 |
+
/**
|
274 |
+
* Set packaging order.
|
275 |
+
*
|
276 |
+
* @param integer $order The order.
|
277 |
+
*/
|
278 |
+
public function set_order( $order ) {
|
279 |
+
$this->set_prop( 'order', absint( $order ) );
|
280 |
+
}
|
281 |
+
|
282 |
+
/**
|
283 |
+
* Set packaging max content weight in kg.
|
284 |
+
*
|
285 |
+
* @param string $weight The weight.
|
286 |
+
*/
|
287 |
+
public function set_max_content_weight( $weight ) {
|
288 |
+
$this->set_prop( 'max_content_weight', empty( $weight ) ? 0 : wc_format_decimal( $weight, 2 ) );
|
289 |
+
}
|
290 |
+
|
291 |
+
/**
|
292 |
+
* Set packaging type
|
293 |
+
*
|
294 |
+
* @param string $type The type.
|
295 |
+
*/
|
296 |
+
public function set_type( $type ) {
|
297 |
+
$this->set_prop( 'type', $type );
|
298 |
+
}
|
299 |
+
|
300 |
+
/**
|
301 |
+
* Set packaging description
|
302 |
+
*
|
303 |
+
* @param string $description The description.
|
304 |
+
*/
|
305 |
+
public function set_description( $description ) {
|
306 |
+
$this->set_prop( 'description', $description );
|
307 |
+
}
|
308 |
+
|
309 |
+
/**
|
310 |
+
* Set packaging width in cm.
|
311 |
+
*
|
312 |
+
* @param string $width The width.
|
313 |
+
*/
|
314 |
+
public function set_width( $width ) {
|
315 |
+
$this->set_prop( 'width', empty( $width ) ? 0 : wc_format_decimal( $width, 1 ) );
|
316 |
+
}
|
317 |
+
|
318 |
+
/**
|
319 |
+
* Set packaging length in cm.
|
320 |
+
*
|
321 |
+
* @param string $length The length.
|
322 |
+
*/
|
323 |
+
public function set_length( $length ) {
|
324 |
+
$this->set_prop( 'length', empty( $length ) ? 0 : wc_format_decimal( $length, 1 ) );
|
325 |
+
}
|
326 |
+
|
327 |
+
/**
|
328 |
+
* Set packaging height in cm.
|
329 |
+
*
|
330 |
+
* @param string $height The height.
|
331 |
+
*/
|
332 |
+
public function set_height( $height ) {
|
333 |
+
$this->set_prop( 'height', empty( $height ) ? 0 : wc_format_decimal( $height, 1 ) );
|
334 |
+
}
|
335 |
+
}
|
packages/woocommerce-germanized-shipments/src/PackagingFactory.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Packaging Factory
|
4 |
+
*
|
5 |
+
* The packaging factory creates the right packaging objects.
|
6 |
+
*
|
7 |
+
* @version 1.0.0
|
8 |
+
* @package Vendidero/Germanized/Shipments
|
9 |
+
*/
|
10 |
+
namespace Vendidero\Germanized\Shipments;
|
11 |
+
|
12 |
+
use \Exception;
|
13 |
+
|
14 |
+
defined( 'ABSPATH' ) || exit;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Packaging factory class
|
18 |
+
*/
|
19 |
+
class PackagingFactory {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Get packaging.
|
23 |
+
*
|
24 |
+
* @param mixed $packaging_id (default: false) Packaging id to get or empty if new.
|
25 |
+
* @return Packaging|bool
|
26 |
+
*/
|
27 |
+
public static function get_packaging( $packaging_id = false ) {
|
28 |
+
$packaging_id = self::get_packaging_id( $packaging_id );
|
29 |
+
$classname = '\Vendidero\Germanized\Shipments\Packaging';
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Filter to adjust the classname used to construct a Packaging.
|
33 |
+
*
|
34 |
+
* @param string $classname The classname to be used.
|
35 |
+
* @param integer $packaging_id The packaging id.
|
36 |
+
*
|
37 |
+
* @since 3.3.0
|
38 |
+
* @package Vendidero/Germanized/Shipments
|
39 |
+
*/
|
40 |
+
$classname = apply_filters( 'woocommerce_gzd_packaging_class', $classname, $packaging_id );
|
41 |
+
|
42 |
+
if ( ! class_exists( $classname ) ) {
|
43 |
+
return false;
|
44 |
+
}
|
45 |
+
|
46 |
+
try {
|
47 |
+
return new $classname( $packaging_id );
|
48 |
+
} catch ( Exception $e ) {
|
49 |
+
wc_caught_exception( $e, __FUNCTION__, func_get_args() );
|
50 |
+
return false;
|
51 |
+
}
|
52 |
+
}
|
53 |
+
|
54 |
+
public static function get_packaging_id( $packaging ) {
|
55 |
+
if ( is_numeric( $packaging ) ) {
|
56 |
+
return $packaging;
|
57 |
+
} elseif ( $packaging instanceof Packaging ) {
|
58 |
+
return $packaging->get_id();
|
59 |
+
} elseif ( ! empty( $packaging->packaging_id ) ) {
|
60 |
+
return $packaging->packaging_id;
|
61 |
+
} else {
|
62 |
+
return false;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
}
|
packages/woocommerce-germanized-shipments/src/ReturnShipment.php
CHANGED
@@ -426,8 +426,7 @@ class ReturnShipment extends Shipment {
|
|
426 |
/**
|
427 |
* Make sure that manually adjusted providers are not overridden by syncing.
|
428 |
*/
|
429 |
-
$
|
430 |
-
$default_provider = $default_provider_instance ? $default_provider_instance->get_name() : '';
|
431 |
$provider = $this->get_shipping_provider( 'edit' );
|
432 |
|
433 |
$args = wp_parse_args( $args, array(
|
426 |
/**
|
427 |
* Make sure that manually adjusted providers are not overridden by syncing.
|
428 |
*/
|
429 |
+
$default_provider = $order_shipment->get_default_return_shipping_provider();
|
|
|
430 |
$provider = $this->get_shipping_provider( 'edit' );
|
431 |
|
432 |
$args = wp_parse_args( $args, array(
|
packages/woocommerce-germanized-shipments/src/Shipment.php
CHANGED
@@ -97,6 +97,13 @@ abstract class Shipment extends WC_Data {
|
|
97 |
*/
|
98 |
protected $heights = null;
|
99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
/**
|
101 |
* Stores shipment data.
|
102 |
*
|
@@ -120,6 +127,7 @@ abstract class Shipment extends WC_Data {
|
|
120 |
'total' => 0,
|
121 |
'additional_total' => 0,
|
122 |
'est_delivery_date' => null,
|
|
|
123 |
);
|
124 |
|
125 |
/**
|
@@ -314,6 +322,16 @@ abstract class Shipment extends WC_Data {
|
|
314 |
return $weight;
|
315 |
}
|
316 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
/**
|
318 |
* Returns the shipment weight unit.
|
319 |
*
|
@@ -475,7 +493,7 @@ abstract class Shipment extends WC_Data {
|
|
475 |
$this->heights = array();
|
476 |
|
477 |
foreach( $this->get_items() as $item ) {
|
478 |
-
$this->heights[ $item->get_id() ] = $item->get_height() === '' ? 0 : $item->get_height();
|
479 |
}
|
480 |
|
481 |
if ( empty( $this->heights ) ) {
|
@@ -519,7 +537,7 @@ abstract class Shipment extends WC_Data {
|
|
519 |
* @return float
|
520 |
*/
|
521 |
public function get_content_height() {
|
522 |
-
return wc_format_decimal(
|
523 |
}
|
524 |
|
525 |
/**
|
@@ -1159,7 +1177,7 @@ abstract class Shipment extends WC_Data {
|
|
1159 |
}
|
1160 |
|
1161 |
/**
|
1162 |
-
* Set shipment width
|
1163 |
*
|
1164 |
* @param string $width The width.
|
1165 |
*/
|
@@ -1176,7 +1194,7 @@ abstract class Shipment extends WC_Data {
|
|
1176 |
}
|
1177 |
|
1178 |
/**
|
1179 |
-
* Set shipment length
|
1180 |
*
|
1181 |
* @param string $length The length.
|
1182 |
*/
|
@@ -1185,7 +1203,7 @@ abstract class Shipment extends WC_Data {
|
|
1185 |
}
|
1186 |
|
1187 |
/**
|
1188 |
-
* Set shipment height
|
1189 |
*
|
1190 |
* @param string $height The height.
|
1191 |
*/
|
@@ -1280,6 +1298,17 @@ abstract class Shipment extends WC_Data {
|
|
1280 |
$this->set_prop( 'shipping_provider', wc_gzd_get_shipping_provider_slug( $provider ) );
|
1281 |
}
|
1282 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1283 |
/**
|
1284 |
* Return an array of items within this shipment.
|
1285 |
*
|
@@ -1564,6 +1593,45 @@ abstract class Shipment extends WC_Data {
|
|
1564 |
return false;
|
1565 |
}
|
1566 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1567 |
/**
|
1568 |
* Tries to fetch the order for the current shipment.
|
1569 |
*
|
97 |
*/
|
98 |
protected $heights = null;
|
99 |
|
100 |
+
/**
|
101 |
+
* Packaging
|
102 |
+
*
|
103 |
+
* @var null|Packaging
|
104 |
+
*/
|
105 |
+
protected $packaging = null;
|
106 |
+
|
107 |
/**
|
108 |
* Stores shipment data.
|
109 |
*
|
127 |
'total' => 0,
|
128 |
'additional_total' => 0,
|
129 |
'est_delivery_date' => null,
|
130 |
+
'packaging_id' => 0,
|
131 |
);
|
132 |
|
133 |
/**
|
322 |
return $weight;
|
323 |
}
|
324 |
|
325 |
+
public function get_total_weight() {
|
326 |
+
$weight = $this->get_weight();
|
327 |
+
|
328 |
+
if ( $packaging = $this->get_packaging() ) {
|
329 |
+
$weight += $packaging->get_weight();
|
330 |
+
}
|
331 |
+
|
332 |
+
return apply_filters( "{$this->get_hook_prefix()}total_weight", $weight, $this );
|
333 |
+
}
|
334 |
+
|
335 |
/**
|
336 |
* Returns the shipment weight unit.
|
337 |
*
|
493 |
$this->heights = array();
|
494 |
|
495 |
foreach( $this->get_items() as $item ) {
|
496 |
+
$this->heights[ $item->get_id() ] = ( $item->get_height() === '' ? 0 : $item->get_height() ) * $item->get_quantity();
|
497 |
}
|
498 |
|
499 |
if ( empty( $this->heights ) ) {
|
537 |
* @return float
|
538 |
*/
|
539 |
public function get_content_height() {
|
540 |
+
return wc_format_decimal( array_sum( $this->get_item_heights() ) );
|
541 |
}
|
542 |
|
543 |
/**
|
1177 |
}
|
1178 |
|
1179 |
/**
|
1180 |
+
* Set shipment width.
|
1181 |
*
|
1182 |
* @param string $width The width.
|
1183 |
*/
|
1194 |
}
|
1195 |
|
1196 |
/**
|
1197 |
+
* Set shipment length.
|
1198 |
*
|
1199 |
* @param string $length The length.
|
1200 |
*/
|
1203 |
}
|
1204 |
|
1205 |
/**
|
1206 |
+
* Set shipment height.
|
1207 |
*
|
1208 |
* @param string $height The height.
|
1209 |
*/
|
1298 |
$this->set_prop( 'shipping_provider', wc_gzd_get_shipping_provider_slug( $provider ) );
|
1299 |
}
|
1300 |
|
1301 |
+
/**
|
1302 |
+
* Set packaging id.
|
1303 |
+
*
|
1304 |
+
* @param integer $packaging_id The packaging id.
|
1305 |
+
*/
|
1306 |
+
public function set_packaging_id( $packaging_id ) {
|
1307 |
+
$this->set_prop( 'packaging_id', absint( $packaging_id ) );
|
1308 |
+
|
1309 |
+
$this->packaging = null;
|
1310 |
+
}
|
1311 |
+
|
1312 |
/**
|
1313 |
* Return an array of items within this shipment.
|
1314 |
*
|
1593 |
return false;
|
1594 |
}
|
1595 |
|
1596 |
+
/**
|
1597 |
+
* Returns the packaging id belonging to the shipment.
|
1598 |
+
*
|
1599 |
+
* @param string $context What the value is for. Valid values are 'view' and 'edit'.
|
1600 |
+
* @return integer
|
1601 |
+
*/
|
1602 |
+
public function get_packaging_id( $context = 'view' ) {
|
1603 |
+
return $this->get_prop( 'packaging_id', $context );
|
1604 |
+
}
|
1605 |
+
|
1606 |
+
public function get_packaging() {
|
1607 |
+
if ( is_null( $this->packaging ) && $this->get_packaging_id() > 0 ) {
|
1608 |
+
$this->packaging = wc_gzd_get_packaging( $this->get_packaging_id() );
|
1609 |
+
}
|
1610 |
+
|
1611 |
+
return $this->packaging;
|
1612 |
+
}
|
1613 |
+
|
1614 |
+
public function get_available_packaging() {
|
1615 |
+
$packaging_store = \WC_Data_Store::load( 'packaging' );
|
1616 |
+
|
1617 |
+
return apply_filters( "{$this->get_hook_prefix()}available_packaging", $packaging_store->find_available_packaging_for_shipment( $this ), $this );
|
1618 |
+
}
|
1619 |
+
|
1620 |
+
public function get_default_packaging() {
|
1621 |
+
$packaging_store = \WC_Data_Store::load( 'packaging' );
|
1622 |
+
$default_packaging = $packaging_store->find_best_match_for_shipment( $this );
|
1623 |
+
|
1624 |
+
if ( ! $default_packaging ) {
|
1625 |
+
$setting = Package::get_setting( 'default_packaging' );
|
1626 |
+
|
1627 |
+
if ( ! empty( $setting ) && wc_gzd_get_packaging( $setting ) ) {
|
1628 |
+
$default_packaging = wc_gzd_get_packaging( $setting );
|
1629 |
+
}
|
1630 |
+
}
|
1631 |
+
|
1632 |
+
return apply_filters( "{$this->get_hook_prefix()}default_packaging_id", $default_packaging, $this );
|
1633 |
+
}
|
1634 |
+
|
1635 |
/**
|
1636 |
* Tries to fetch the order for the current shipment.
|
1637 |
*
|
packages/woocommerce-germanized-shipments/src/ShippingProvider.php
CHANGED
@@ -115,6 +115,10 @@ class ShippingProvider extends WC_Data {
|
|
115 |
return false;
|
116 |
}
|
117 |
|
|
|
|
|
|
|
|
|
118 |
/**
|
119 |
* Some providers (e.g. DHL) create return labels automatically and the return
|
120 |
* address is chosen dynamically depending on the country. For that reason the return address
|
@@ -543,7 +547,7 @@ class ShippingProvider extends WC_Data {
|
|
543 |
array( 'title' => '', 'type' => 'title', 'id' => 'shipping_provider_options', 'desc' => $desc ),
|
544 |
);
|
545 |
|
546 |
-
$
|
547 |
|
548 |
if ( $this->is_manual_integration() ) {
|
549 |
$settings = array_merge( $settings, array(
|
@@ -567,7 +571,7 @@ class ShippingProvider extends WC_Data {
|
|
567 |
),
|
568 |
) );
|
569 |
} else {
|
570 |
-
$
|
571 |
}
|
572 |
|
573 |
$settings = array_merge( $settings, array(
|
@@ -594,7 +598,7 @@ class ShippingProvider extends WC_Data {
|
|
594 |
)
|
595 |
) );
|
596 |
|
597 |
-
if ( $
|
598 |
$settings = array_merge( $settings, array(
|
599 |
array(
|
600 |
'title' => _x( 'Customer returns', 'shipments', 'woocommerce-germanized' ),
|
115 |
return false;
|
116 |
}
|
117 |
|
118 |
+
public function supports_customer_return_requests() {
|
119 |
+
return false;
|
120 |
+
}
|
121 |
+
|
122 |
/**
|
123 |
* Some providers (e.g. DHL) create return labels automatically and the return
|
124 |
* address is chosen dynamically depending on the country. For that reason the return address
|
547 |
array( 'title' => '', 'type' => 'title', 'id' => 'shipping_provider_options', 'desc' => $desc ),
|
548 |
);
|
549 |
|
550 |
+
$supports_customer_returns = true;
|
551 |
|
552 |
if ( $this->is_manual_integration() ) {
|
553 |
$settings = array_merge( $settings, array(
|
571 |
),
|
572 |
) );
|
573 |
} else {
|
574 |
+
$supports_customer_returns = $this->supports_customer_return_requests();
|
575 |
}
|
576 |
|
577 |
$settings = array_merge( $settings, array(
|
598 |
)
|
599 |
) );
|
600 |
|
601 |
+
if ( $supports_customer_returns ) {
|
602 |
$settings = array_merge( $settings, array(
|
603 |
array(
|
604 |
'title' => _x( 'Customer returns', 'shipments', 'woocommerce-germanized' ),
|
packages/woocommerce-germanized-shipments/src/SimpleShipment.php
CHANGED
@@ -134,13 +134,25 @@ class SimpleShipment extends Shipment {
|
|
134 |
$default_provider_instance = wc_gzd_get_order_shipping_provider( $order );
|
135 |
$default_provider = $default_provider_instance ? $default_provider_instance->get_name() : '';
|
136 |
$provider = $this->get_shipping_provider( 'edit' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
|
138 |
$args = wp_parse_args( $args, array(
|
139 |
'order_id' => $order->get_id(),
|
140 |
'country' => $order->get_shipping_country(),
|
141 |
'shipping_method' => wc_gzd_get_shipment_order_shipping_method_id( $order ),
|
142 |
'shipping_provider' => ( ! empty( $provider ) ) ? $provider : $default_provider,
|
143 |
-
'
|
|
|
144 |
'weight' => $this->get_weight( 'edit' ),
|
145 |
'length' => $this->get_length( 'edit' ),
|
146 |
'width' => $this->get_width( 'edit' ),
|
134 |
$default_provider_instance = wc_gzd_get_order_shipping_provider( $order );
|
135 |
$default_provider = $default_provider_instance ? $default_provider_instance->get_name() : '';
|
136 |
$provider = $this->get_shipping_provider( 'edit' );
|
137 |
+
$address_data = array_merge( $order->get_address( 'shipping' ), array( 'email' => $order->get_billing_email(), 'phone' => $order->get_billing_phone() ) );
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Fix to make sure that we are not syncing formatted customer titles (e.g. Herr)
|
141 |
+
* which prevents shipment addresses from being translated.
|
142 |
+
*/
|
143 |
+
if ( isset( $address_data['title'] ) && ! empty( $address_data['title'] ) ) {
|
144 |
+
if ( $title = $order->get_meta( "_shipping_title", true ) ) {
|
145 |
+
$address_data['title'] = $title;
|
146 |
+
}
|
147 |
+
}
|
148 |
|
149 |
$args = wp_parse_args( $args, array(
|
150 |
'order_id' => $order->get_id(),
|
151 |
'country' => $order->get_shipping_country(),
|
152 |
'shipping_method' => wc_gzd_get_shipment_order_shipping_method_id( $order ),
|
153 |
'shipping_provider' => ( ! empty( $provider ) ) ? $provider : $default_provider,
|
154 |
+
'packaging_id' => $this->get_packaging_id( 'edit' ),
|
155 |
+
'address' => $address_data,
|
156 |
'weight' => $this->get_weight( 'edit' ),
|
157 |
'length' => $this->get_length( 'edit' ),
|
158 |
'width' => $this->get_width( 'edit' ),
|
packages/woocommerce-germanized-shipments/woocommerce-germanized-shipments.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Description: The Germanized Shipments integration, installed as a feature plugin for development and testing purposes.
|
6 |
* Author: vendidero
|
7 |
* Author URI: https://vendidero.de
|
8 |
-
* Version: 1.
|
9 |
* Requires PHP: 5.6
|
10 |
* License: GPLv3
|
11 |
*
|
5 |
* Description: The Germanized Shipments integration, installed as a feature plugin for development and testing purposes.
|
6 |
* Author: vendidero
|
7 |
* Author URI: https://vendidero.de
|
8 |
+
* Version: 1.4.0
|
9 |
* Requires PHP: 5.6
|
10 |
* License: GPLv3
|
11 |
*
|
packages/woocommerce-trusted-shops/src/Package.php
CHANGED
@@ -16,7 +16,7 @@ class Package {
|
|
16 |
*
|
17 |
* @var string
|
18 |
*/
|
19 |
-
const VERSION = '4.0.
|
20 |
|
21 |
/**
|
22 |
* Init the package - load the REST API Server class.
|
16 |
*
|
17 |
* @var string
|
18 |
*/
|
19 |
+
const VERSION = '4.0.9';
|
20 |
|
21 |
/**
|
22 |
* Init the package - load the REST API Server class.
|
packages/woocommerce-trusted-shops/woocommerce-trusted-shops.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Trustbadge Reviews for WooCommerce
|
4 |
* Plugin URI: http://www.trustedshops.co.uk/
|
5 |
* Description: Adds Seller and Product Reviews or Trusted Shops Integration to your WooCommerce Shop.
|
6 |
-
* Version: 4.0.
|
7 |
* Author: vendidero
|
8 |
* Author URI: http://vendidero.de
|
9 |
* Requires at least: 4.9
|
3 |
* Plugin Name: Trustbadge Reviews for WooCommerce
|
4 |
* Plugin URI: http://www.trustedshops.co.uk/
|
5 |
* Description: Adds Seller and Product Reviews or Trusted Shops Integration to your WooCommerce Shop.
|
6 |
+
* Version: 4.0.9
|
7 |
* Author: vendidero
|
8 |
* Author URI: http://vendidero.de
|
9 |
* Requires at least: 4.9
|
readme.txt
CHANGED
@@ -4,8 +4,8 @@ Tags: woocommerce, woocommerce german, woocommerce DE, woocommerce germany, wooc
|
|
4 |
Requires at least: 5.4
|
5 |
Tested up to: 5.6
|
6 |
WC requires at least: 3.9
|
7 |
-
WC tested up to: 4.
|
8 |
-
Stable tag: 3.
|
9 |
Requires PHP: 5.6
|
10 |
License: GPLv3
|
11 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -33,7 +33,7 @@ Furthermore we customized the WooCommerce checkout to make your store meet the b
|
|
33 |
* *Tax Calculation for Shipping Costs and Fees* - Enable split tax calculation based on your WooCommerce cart taxes.
|
34 |
* *Legal pages in Email Templates* - Attach legal pages content to certain WooCommerce e-mail templates.
|
35 |
* *Trusted Shops Integration* - Integrate your Trusted Shops Products within your WooCommerce store
|
36 |
-
* *DHL Integration* - Generate labels for shipments and returns right from your backend. Offer Wunschpaket services to your customers.
|
37 |
* *Payment Gateway: SEPA direct debit* - Receive payments via direct debit. We've added a XML export to transfer payments to your bank.
|
38 |
* *Payment Gateway: Pay by Invoice* - Allow certain customers to pay by invoice. Best integration with our PDF invoices feature (Pro).
|
39 |
* *Online Revocation Form* - Allow customers to submit revocations by filling out a form on your revocation page.
|
@@ -73,9 +73,9 @@ You can then manage your shipments and it's statuses independently from your ord
|
|
73 |
Managing returns can be a time-consuming challenge. By using Germanized you might let your customers create return requests through their customer panel. All you need to do is confirm the request through your return dashboard and your customers will receive an email containing further steps on how to return their product(s).
|
74 |
In case you are using our DHL integration you might as well (automatically) create a label to the return which will be attached to the email sent to the customer.
|
75 |
|
76 |
-
= DHL Integration =
|
77 |
-
With the help of our built-in DHL integration you can easily create labels for your shipments and add tracking information to the notification emails. Furthermore you can offer Wunschpaket Services to your customers including shipping to Packstation or choosing a preferred location, day and/or time within the checkout.
|
78 |
-
You can even let your shipments and labels be generated automatically by Germanized to avoid further manual work. [Learn more](https://vendidero.de/dokumentation/woocommerce-germanized/
|
79 |
|
80 |
= Pro: Premium Support =
|
81 |
Customers of Germanized for WooCommerce Pro enjoy our high-quality support via tickets. Nevertheless we also seek to offer a good plugin support via our WordPress support forum.
|
@@ -150,10 +150,6 @@ By adjusting parameter width=55 (55 means 55px width/height) you may optionally
|
|
150 |
`[trusted_shops_rich_snippets]`
|
151 |
If you are using Trusted Shop's review functionality, you may insert a Google Rich Snippet to show your current shop's rating.
|
152 |
|
153 |
-
`[ekomi_badge]`
|
154 |
-
Inserts your eKomi badge as image.
|
155 |
-
By adjusting width=55 (55 means 55px width/height) you may optionally set badge's width.
|
156 |
-
|
157 |
= Updating Germanized for WooCommerce =
|
158 |
|
159 |
Before updating WooCommerce you should definitely check whether Germanized does already support the newest version.
|
@@ -190,6 +186,17 @@ Bug reports may be filed via our [GitHub repository](https://github.com/vendider
|
|
190 |
6. Edit pdf documents (Pro)
|
191 |
|
192 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
= 3.2.3 =
|
194 |
* Feature: WP 5.6 compatibility
|
195 |
* Improvement: Report checkboxes with hidden inputs as checked
|
4 |
Requires at least: 5.4
|
5 |
Tested up to: 5.6
|
6 |
WC requires at least: 3.9
|
7 |
+
WC tested up to: 4.7
|
8 |
+
Stable tag: 3.3.0
|
9 |
Requires PHP: 5.6
|
10 |
License: GPLv3
|
11 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
33 |
* *Tax Calculation for Shipping Costs and Fees* - Enable split tax calculation based on your WooCommerce cart taxes.
|
34 |
* *Legal pages in Email Templates* - Attach legal pages content to certain WooCommerce e-mail templates.
|
35 |
* *Trusted Shops Integration* - Integrate your Trusted Shops Products within your WooCommerce store
|
36 |
+
* *Post & DHL Integration* - Generate labels for shipments and returns right from your backend. Offer Wunschpaket services to your customers.
|
37 |
* *Payment Gateway: SEPA direct debit* - Receive payments via direct debit. We've added a XML export to transfer payments to your bank.
|
38 |
* *Payment Gateway: Pay by Invoice* - Allow certain customers to pay by invoice. Best integration with our PDF invoices feature (Pro).
|
39 |
* *Online Revocation Form* - Allow customers to submit revocations by filling out a form on your revocation page.
|
73 |
Managing returns can be a time-consuming challenge. By using Germanized you might let your customers create return requests through their customer panel. All you need to do is confirm the request through your return dashboard and your customers will receive an email containing further steps on how to return their product(s).
|
74 |
In case you are using our DHL integration you might as well (automatically) create a label to the return which will be attached to the email sent to the customer.
|
75 |
|
76 |
+
= Post & DHL Integration =
|
77 |
+
With the help of our built-in Post & DHL integration you can easily create labels for your shipments and add tracking information to the notification emails. Furthermore you can offer DHL Wunschpaket Services to your customers including shipping to Packstation or choosing a preferred location, day and/or time within the checkout.
|
78 |
+
You can even let your shipments and labels be generated automatically by Germanized to avoid further manual work. [Learn more](https://vendidero.de/dokumentation/woocommerce-germanized/post-dhl "Post & DHL for WooCommerce") about how our Post & DHL integration works.
|
79 |
|
80 |
= Pro: Premium Support =
|
81 |
Customers of Germanized for WooCommerce Pro enjoy our high-quality support via tickets. Nevertheless we also seek to offer a good plugin support via our WordPress support forum.
|
150 |
`[trusted_shops_rich_snippets]`
|
151 |
If you are using Trusted Shop's review functionality, you may insert a Google Rich Snippet to show your current shop's rating.
|
152 |
|
|
|
|
|
|
|
|
|
153 |
= Updating Germanized for WooCommerce =
|
154 |
|
155 |
Before updating WooCommerce you should definitely check whether Germanized does already support the newest version.
|
186 |
6. Edit pdf documents (Pro)
|
187 |
|
188 |
== Changelog ==
|
189 |
+
= 3.3.0 =
|
190 |
+
* Feature: Deutsche Post Internetmarke integration
|
191 |
+
* Feature: Packaging options for shipments
|
192 |
+
* Feature: Recalculate unit price via AJAX in case price HTML changes
|
193 |
+
* Improvement: Added gender neutral title option and empty option
|
194 |
+
* Improvement: Net price voucher tax calculation
|
195 |
+
* Improvement: Explicitly exclude admins from possible account cleanup
|
196 |
+
* Improvement: Make last parameter optional for BCC headers to prevent third party problems
|
197 |
+
* Improvement: Add to cart variation JS price detecting
|
198 |
+
* Fix: Use order total - refund total for SEPA Export
|
199 |
+
|
200 |
= 3.2.3 =
|
201 |
* Feature: WP 5.6 compatibility
|
202 |
* Improvement: Report checkboxes with hidden inputs as checked
|
templates/global/complaints.php
CHANGED
@@ -12,12 +12,14 @@
|
|
12 |
*
|
13 |
* @see https://github.com/vendidero/woocommerce-germanized/wiki/Overriding-Germanized-Templates
|
14 |
* @package Germanized/Templates
|
15 |
-
* @version 1.0.
|
16 |
*/
|
17 |
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
exit;
|
19 |
} // Exit if accessed directly ?>
|
20 |
|
|
|
21 |
<h3><?php _e( 'Alternative Dispute Resolution in accordance with Art. 14 (1) ODR-VO and § 36 VSBG:', 'woocommerce-germanized' ); ?></h3>
|
|
|
22 |
|
23 |
<?php echo $dispute_text; ?>
|
12 |
*
|
13 |
* @see https://github.com/vendidero/woocommerce-germanized/wiki/Overriding-Germanized-Templates
|
14 |
* @package Germanized/Templates
|
15 |
+
* @version 1.0.1
|
16 |
*/
|
17 |
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
exit;
|
19 |
} // Exit if accessed directly ?>
|
20 |
|
21 |
+
<?php if ( ! $text_only ) : ?>
|
22 |
<h3><?php _e( 'Alternative Dispute Resolution in accordance with Art. 14 (1) ODR-VO and § 36 VSBG:', 'woocommerce-germanized' ); ?></h3>
|
23 |
+
<?php endif; ?>
|
24 |
|
25 |
<?php echo $dispute_text; ?>
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInitdc772b88b4d1512e782645ce96adba93::getLoader();
|
vendor/autoload_packages.php
CHANGED
@@ -1,129 +1,14 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* This file
|
4 |
*
|
5 |
-
*
|
6 |
-
* require_once . plugin_dir_path( __FILE__ ) . '/vendor/autoload_packages.php';
|
7 |
-
*
|
8 |
-
* @package Automattic\Jetpack\Autoloader
|
9 |
*/
|
10 |
|
11 |
-
|
12 |
-
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_namespaceFound
|
13 |
-
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_ns_cFound
|
14 |
-
|
15 |
-
namespace Automattic\Jetpack\Autoloader;
|
16 |
-
|
17 |
-
if ( ! function_exists( __NAMESPACE__ . '\enqueue_package_class' ) ) {
|
18 |
-
global $jetpack_packages_classes;
|
19 |
-
|
20 |
-
if ( ! is_array( $jetpack_packages_classes ) ) {
|
21 |
-
$jetpack_packages_classes = array();
|
22 |
-
}
|
23 |
-
/**
|
24 |
-
* Adds the version of a package to the $jetpack_packages global array so that
|
25 |
-
* the autoloader is able to find it.
|
26 |
-
*
|
27 |
-
* @param string $class_name Name of the class that you want to autoload.
|
28 |
-
* @param string $version Version of the class.
|
29 |
-
* @param string $path Absolute path to the class so that we can load it.
|
30 |
-
*/
|
31 |
-
function enqueue_package_class( $class_name, $version, $path ) {
|
32 |
-
global $jetpack_packages_classes;
|
33 |
-
|
34 |
-
if ( ! isset( $jetpack_packages_classes[ $class_name ] ) ) {
|
35 |
-
$jetpack_packages_classes[ $class_name ] = array(
|
36 |
-
'version' => $version,
|
37 |
-
'path' => $path,
|
38 |
-
);
|
39 |
-
}
|
40 |
-
// If we have a @dev version set always use that one!
|
41 |
-
if ( 'dev-' === substr( $jetpack_packages_classes[ $class_name ]['version'], 0, 4 ) ) {
|
42 |
-
return;
|
43 |
-
}
|
44 |
-
|
45 |
-
// Always favour the @dev version. Since that version is the same as bleeding edge.
|
46 |
-
// We need to make sure that we don't do this in production!
|
47 |
-
if ( 'dev-' === substr( $version, 0, 4 ) ) {
|
48 |
-
$jetpack_packages_classes[ $class_name ] = array(
|
49 |
-
'version' => $version,
|
50 |
-
'path' => $path,
|
51 |
-
);
|
52 |
|
53 |
-
|
54 |
-
}
|
55 |
-
// Set the latest version!
|
56 |
-
if ( version_compare( $jetpack_packages_classes[ $class_name ]['version'], $version, '<' ) ) {
|
57 |
-
$jetpack_packages_classes[ $class_name ] = array(
|
58 |
-
'version' => $version,
|
59 |
-
'path' => $path,
|
60 |
-
);
|
61 |
-
}
|
62 |
-
}
|
63 |
-
}
|
64 |
|
65 |
-
|
66 |
-
/**
|
67 |
-
* Used for autoloading jetpack packages.
|
68 |
-
*
|
69 |
-
* @param string $class_name Class Name to load.
|
70 |
-
*/
|
71 |
-
function autoloader( $class_name ) {
|
72 |
-
global $jetpack_packages_classes;
|
73 |
|
74 |
-
|
75 |
-
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
|
76 |
-
// TODO ideally we shouldn't skip any of these, see: https://github.com/Automattic/jetpack/pull/12646.
|
77 |
-
$ignore = in_array(
|
78 |
-
$class_name,
|
79 |
-
array(
|
80 |
-
'Automattic\Jetpack\JITM',
|
81 |
-
'Automattic\Jetpack\Connection\Manager',
|
82 |
-
'Automattic\Jetpack\Connection\Manager_Interface',
|
83 |
-
'Automattic\Jetpack\Connection\XMLRPC_Connector',
|
84 |
-
'Jetpack_Options',
|
85 |
-
'Jetpack_Signature',
|
86 |
-
'Automattic\Jetpack\Sync\Main',
|
87 |
-
'Automattic\Jetpack\Constants',
|
88 |
-
'Automattic\Jetpack\Tracking',
|
89 |
-
'Automattic\Jetpack\Plugin\Tracking',
|
90 |
-
),
|
91 |
-
true
|
92 |
-
);
|
93 |
-
if ( ! $ignore && function_exists( 'did_action' ) && ! did_action( 'plugins_loaded' ) ) {
|
94 |
-
_doing_it_wrong(
|
95 |
-
esc_html( $class_name ),
|
96 |
-
sprintf(
|
97 |
-
/* translators: %s Name of a PHP Class */
|
98 |
-
esc_html__( 'Not all plugins have loaded yet but we requested the class %s', 'jetpack' ),
|
99 |
-
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
100 |
-
$class_name
|
101 |
-
),
|
102 |
-
esc_html( $jetpack_packages_classes[ $class_name ]['version'] )
|
103 |
-
);
|
104 |
-
}
|
105 |
-
}
|
106 |
-
|
107 |
-
if ( file_exists( $jetpack_packages_classes[ $class_name ]['path'] ) ) {
|
108 |
-
require_once $jetpack_packages_classes[ $class_name ]['path'];
|
109 |
-
|
110 |
-
return true;
|
111 |
-
}
|
112 |
-
}
|
113 |
-
|
114 |
-
return false;
|
115 |
-
}
|
116 |
-
|
117 |
-
// Add the jetpack autoloader.
|
118 |
-
spl_autoload_register( __NAMESPACE__ . '\autoloader' );
|
119 |
-
}
|
120 |
-
/**
|
121 |
-
* Prepare all the classes for autoloading.
|
122 |
-
*/
|
123 |
-
function enqueue_packages_cf3f064d48993a0a294f78d1279130cb() {
|
124 |
-
$class_map = require_once dirname( __FILE__ ) . '/composer/autoload_classmap_package.php';
|
125 |
-
foreach ( $class_map as $class_name => $class_info ) {
|
126 |
-
enqueue_package_class( $class_name, $class_info['version'], $class_info['path'] );
|
127 |
-
}
|
128 |
-
}
|
129 |
-
enqueue_packages_cf3f064d48993a0a294f78d1279130cb();
|
1 |
<?php
|
2 |
/**
|
3 |
+
* This file was automatically generated by automattic/jetpack-autoloader.
|
4 |
*
|
5 |
+
* @package automattic/jetpack-autoloader
|
|
|
|
|
|
|
6 |
*/
|
7 |
|
8 |
+
namespace Automattic\Jetpack\Autoloader\jpdc772b88b4d1512e782645ce96adba93;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
+
// phpcs:ignore
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
+
require_once trailingslashit( __DIR__ ) . 'jetpack-autoloader/autoload_functions.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
+
set_up_autoloader();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
-
<?php
|
2 |
/**
|
3 |
* Autoloader Generator.
|
4 |
*
|
5 |
-
* @package
|
6 |
*/
|
7 |
|
8 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_useFound
|
@@ -11,33 +11,48 @@
|
|
11 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_namespaceFound
|
12 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_dirFound
|
13 |
// phpcs:disable WordPress.Files.FileName.InvalidClassFileName
|
14 |
-
// phpcs:disable WordPress.Files.FileName.NotHyphenatedLowercase
|
15 |
-
// phpcs:disable WordPress.Files.FileName.InvalidClassFileName
|
16 |
// phpcs:disable WordPress.PHP.DevelopmentFunctions.error_log_var_export
|
17 |
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_read_file_put_contents
|
18 |
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_read_fopen
|
19 |
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_read_fwrite
|
|
|
20 |
// phpcs:disable WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
|
21 |
// phpcs:disable WordPress.NamingConventions.ValidVariableName.InterpolatedVariableNotSnakeCase
|
22 |
// phpcs:disable WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase
|
23 |
// phpcs:disable WordPress.NamingConventions.ValidVariableName.PropertyNotSnakeCase
|
24 |
|
25 |
-
|
26 |
namespace Automattic\Jetpack\Autoloader;
|
27 |
|
28 |
-
use Composer\Autoload\AutoloadGenerator as BaseGenerator;
|
29 |
use Composer\Autoload\ClassMapGenerator;
|
|
|
30 |
use Composer\Config;
|
31 |
use Composer\Installer\InstallationManager;
|
32 |
use Composer\IO\IOInterface;
|
33 |
use Composer\Package\PackageInterface;
|
34 |
use Composer\Repository\InstalledRepositoryInterface;
|
35 |
use Composer\Util\Filesystem;
|
|
|
36 |
|
37 |
/**
|
38 |
* Class AutoloadGenerator.
|
39 |
*/
|
40 |
-
class AutoloadGenerator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
/**
|
43 |
* Instantiate an AutoloadGenerator object.
|
@@ -45,60 +60,174 @@ class AutoloadGenerator extends BaseGenerator {
|
|
45 |
* @param IOInterface $io IO object.
|
46 |
*/
|
47 |
public function __construct( IOInterface $io = null ) {
|
48 |
-
$this->io
|
|
|
49 |
}
|
50 |
|
51 |
/**
|
52 |
-
* Dump the autoloader.
|
53 |
*
|
|
|
54 |
* @param Config $config Config object.
|
55 |
-
* @param InstalledRepositoryInterface $localRepo Installed
|
56 |
* @param PackageInterface $mainPackage Main Package object.
|
57 |
* @param InstallationManager $installationManager Manager for installing packages.
|
58 |
* @param string $targetDir Path to the current target directory.
|
59 |
-
* @param bool $
|
60 |
-
* @param string $suffix The autoloader suffix
|
61 |
*/
|
62 |
public function dump(
|
|
|
63 |
Config $config,
|
64 |
InstalledRepositoryInterface $localRepo,
|
65 |
PackageInterface $mainPackage,
|
66 |
InstallationManager $installationManager,
|
67 |
$targetDir,
|
68 |
-
$
|
69 |
$suffix = null
|
70 |
) {
|
|
|
71 |
|
72 |
-
$
|
73 |
-
$
|
74 |
|
75 |
-
|
76 |
-
$
|
77 |
-
$
|
78 |
-
$
|
|
|
79 |
|
80 |
-
|
81 |
-
$
|
82 |
|
83 |
-
|
|
|
|
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
|
|
|
88 |
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
}
|
93 |
|
94 |
/**
|
95 |
* This function differs from the composer parseAutoloadsType in that beside returning the path.
|
96 |
* It also return the path and the version of a package.
|
97 |
*
|
98 |
-
*
|
99 |
*
|
100 |
* @param array $packageMap Map of all the packages.
|
101 |
-
* @param string $type Type of autoloader to use
|
102 |
* @param PackageInterface $mainPackage Instance of the Package Object.
|
103 |
*
|
104 |
* @return array
|
@@ -106,10 +235,6 @@ class AutoloadGenerator extends BaseGenerator {
|
|
106 |
protected function parseAutoloadsType( array $packageMap, $type, PackageInterface $mainPackage ) {
|
107 |
$autoloads = array();
|
108 |
|
109 |
-
if ( 'psr-4' !== $type && 'classmap' !== $type ) {
|
110 |
-
return parent::parseAutoloadsType( $packageMap, $type, $mainPackage );
|
111 |
-
}
|
112 |
-
|
113 |
foreach ( $packageMap as $item ) {
|
114 |
list($package, $installPath) = $item;
|
115 |
$autoload = $package->getAutoload();
|
@@ -122,8 +247,8 @@ class AutoloadGenerator extends BaseGenerator {
|
|
122 |
$installPath = substr( $installPath, 0, -strlen( '/' . $package->getTargetDir() ) );
|
123 |
}
|
124 |
|
125 |
-
if ( 'psr-4'
|
126 |
-
foreach ( $autoload[
|
127 |
$paths = is_array( $paths ) ? $paths : array( $paths );
|
128 |
foreach ( $paths as $path ) {
|
129 |
$relativePath = empty( $installPath ) ? ( empty( $path ) ? '.' : $path ) : $installPath . '/' . $path;
|
@@ -139,134 +264,181 @@ class AutoloadGenerator extends BaseGenerator {
|
|
139 |
foreach ( $autoload['classmap'] as $paths ) {
|
140 |
$paths = is_array( $paths ) ? $paths : array( $paths );
|
141 |
foreach ( $paths as $path ) {
|
142 |
-
$relativePath
|
143 |
-
$autoloads[]
|
144 |
'path' => $relativePath,
|
145 |
'version' => $package->getVersion(), // Version of the class comes from the package - should we try to parse it?
|
146 |
);
|
147 |
}
|
148 |
}
|
149 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
}
|
151 |
|
152 |
return $autoloads;
|
153 |
}
|
154 |
|
155 |
/**
|
156 |
-
*
|
|
|
|
|
|
|
157 |
*
|
158 |
-
*
|
159 |
-
* @param Filesystem $filesystem Filesystem class instance.
|
160 |
-
* @param string $vendorPath Path to the vendor directory.
|
161 |
-
* @param string $basePath Base Path.
|
162 |
*
|
163 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
164 |
*/
|
165 |
-
private function
|
166 |
-
$
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
}
|
171 |
-
|
172 |
-
$classmapString = '';
|
173 |
-
|
174 |
-
// Scan the PSR-4 and classmap directories for class files, and add them to the class map.
|
175 |
-
foreach ( $autoloads['psr-4'] as $namespace => $packages_info ) {
|
176 |
-
foreach ( $packages_info as $package ) {
|
177 |
-
$dir = $filesystem->normalizePath(
|
178 |
-
$filesystem->isAbsolutePath( $package['path'] )
|
179 |
-
? $package['path']
|
180 |
-
: $basePath . '/' . $package['path']
|
181 |
);
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
'path' => $pathCode
|
192 |
-
),
|
193 |
-
CLASS_CODE;
|
194 |
-
$classmapString .= PHP_EOL;
|
195 |
-
}
|
196 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
}
|
|
|
198 |
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
}
|
219 |
}
|
220 |
-
|
221 |
-
return 'array( ' . PHP_EOL . $classmapString . ');' . PHP_EOL;
|
222 |
}
|
223 |
|
224 |
/**
|
225 |
-
*
|
226 |
*
|
227 |
-
* @param
|
228 |
-
*
|
229 |
-
* @return string
|
230 |
*/
|
231 |
-
private function
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
|
241 |
-
|
|
|
|
|
|
|
242 |
|
243 |
-
|
|
|
|
|
|
|
|
|
|
|
244 |
}
|
245 |
|
246 |
/**
|
247 |
* Generate the PHP that will be used in the autoload_packages.php files.
|
248 |
*
|
249 |
-
* @param
|
|
|
250 |
*
|
251 |
* @return string
|
252 |
*/
|
253 |
-
private function getAutoloadPackageFile( $suffix ) {
|
254 |
-
$
|
255 |
-
$
|
256 |
-
$
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
enqueue_packages_$suffix();
|
267 |
-
|
268 |
-
INCLUDE_FILES;
|
269 |
-
|
270 |
-
return $file_contents;
|
271 |
}
|
272 |
}
|
1 |
+
<?php // phpcs:ignore WordPress.Files.FileName
|
2 |
/**
|
3 |
* Autoloader Generator.
|
4 |
*
|
5 |
+
* @package automattic/jetpack-autoloader
|
6 |
*/
|
7 |
|
8 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_useFound
|
11 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_namespaceFound
|
12 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_dirFound
|
13 |
// phpcs:disable WordPress.Files.FileName.InvalidClassFileName
|
|
|
|
|
14 |
// phpcs:disable WordPress.PHP.DevelopmentFunctions.error_log_var_export
|
15 |
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_read_file_put_contents
|
16 |
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_read_fopen
|
17 |
// phpcs:disable WordPress.WP.AlternativeFunctions.file_system_read_fwrite
|
18 |
+
// phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
|
19 |
// phpcs:disable WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
|
20 |
// phpcs:disable WordPress.NamingConventions.ValidVariableName.InterpolatedVariableNotSnakeCase
|
21 |
// phpcs:disable WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase
|
22 |
// phpcs:disable WordPress.NamingConventions.ValidVariableName.PropertyNotSnakeCase
|
23 |
|
|
|
24 |
namespace Automattic\Jetpack\Autoloader;
|
25 |
|
|
|
26 |
use Composer\Autoload\ClassMapGenerator;
|
27 |
+
use Composer\Composer;
|
28 |
use Composer\Config;
|
29 |
use Composer\Installer\InstallationManager;
|
30 |
use Composer\IO\IOInterface;
|
31 |
use Composer\Package\PackageInterface;
|
32 |
use Composer\Repository\InstalledRepositoryInterface;
|
33 |
use Composer\Util\Filesystem;
|
34 |
+
use Composer\Util\PackageSorter;
|
35 |
|
36 |
/**
|
37 |
* Class AutoloadGenerator.
|
38 |
*/
|
39 |
+
class AutoloadGenerator {
|
40 |
+
|
41 |
+
const COMMENT = <<<AUTOLOADER_COMMENT
|
42 |
+
/**
|
43 |
+
* This file was automatically generated by automattic/jetpack-autoloader.
|
44 |
+
*
|
45 |
+
* @package automattic/jetpack-autoloader
|
46 |
+
*/
|
47 |
+
|
48 |
+
AUTOLOADER_COMMENT;
|
49 |
+
|
50 |
+
/**
|
51 |
+
* The filesystem utility.
|
52 |
+
*
|
53 |
+
* @var Filesystem
|
54 |
+
*/
|
55 |
+
private $filesystem;
|
56 |
|
57 |
/**
|
58 |
* Instantiate an AutoloadGenerator object.
|
60 |
* @param IOInterface $io IO object.
|
61 |
*/
|
62 |
public function __construct( IOInterface $io = null ) {
|
63 |
+
$this->io = $io;
|
64 |
+
$this->filesystem = new Filesystem();
|
65 |
}
|
66 |
|
67 |
/**
|
68 |
+
* Dump the Jetpack autoloader files.
|
69 |
*
|
70 |
+
* @param Composer $composer The Composer object.
|
71 |
* @param Config $config Config object.
|
72 |
+
* @param InstalledRepositoryInterface $localRepo Installed Repository object.
|
73 |
* @param PackageInterface $mainPackage Main Package object.
|
74 |
* @param InstallationManager $installationManager Manager for installing packages.
|
75 |
* @param string $targetDir Path to the current target directory.
|
76 |
+
* @param bool $scanPsrPackages Whether or not PSR packages should be converted to a classmap.
|
77 |
+
* @param string $suffix The autoloader suffix.
|
78 |
*/
|
79 |
public function dump(
|
80 |
+
Composer $composer,
|
81 |
Config $config,
|
82 |
InstalledRepositoryInterface $localRepo,
|
83 |
PackageInterface $mainPackage,
|
84 |
InstallationManager $installationManager,
|
85 |
$targetDir,
|
86 |
+
$scanPsrPackages = false,
|
87 |
$suffix = null
|
88 |
) {
|
89 |
+
$this->filesystem->ensureDirectoryExists( $config->get( 'vendor-dir' ) );
|
90 |
|
91 |
+
$packageMap = $composer->getAutoloadGenerator()->buildPackageMap( $installationManager, $mainPackage, $localRepo->getCanonicalPackages() );
|
92 |
+
$autoloads = $this->parseAutoloads( $packageMap, $mainPackage );
|
93 |
|
94 |
+
// Convert the autoloads into a format that the manifest generator can consume more easily.
|
95 |
+
$basePath = $this->filesystem->normalizePath( realpath( getcwd() ) );
|
96 |
+
$vendorPath = $this->filesystem->normalizePath( realpath( $config->get( 'vendor-dir' ) ) );
|
97 |
+
$processedAutoloads = $this->processAutoloads( $autoloads, $scanPsrPackages, $vendorPath, $basePath );
|
98 |
+
unset( $packageMap, $autoloads );
|
99 |
|
100 |
+
// Make sure none of the legacy files remain that can lead to problems with the autoloader.
|
101 |
+
$this->removeLegacyFiles( $vendorPath );
|
102 |
|
103 |
+
// Write all of the files now that we're done.
|
104 |
+
$this->writeAutoloaderFiles( $vendorPath . '/jetpack-autoloader/', $suffix );
|
105 |
+
$this->writeManifests( $vendorPath . '/' . $targetDir, $processedAutoloads );
|
106 |
|
107 |
+
if ( ! $scanPsrPackages ) {
|
108 |
+
$this->io->writeError( '<warning>You are generating an unoptimized autoloader. If this is a production build, consider using the -o option.</warning>' );
|
109 |
+
}
|
110 |
+
}
|
111 |
|
112 |
+
/**
|
113 |
+
* Compiles an ordered list of namespace => path mappings
|
114 |
+
*
|
115 |
+
* @param array $packageMap Array of array(package, installDir-relative-to-composer.json).
|
116 |
+
* @param PackageInterface $mainPackage Main package instance.
|
117 |
+
*
|
118 |
+
* @return array The list of path mappings.
|
119 |
+
*/
|
120 |
+
public function parseAutoloads( array $packageMap, PackageInterface $mainPackage ) {
|
121 |
+
$rootPackageMap = array_shift( $packageMap );
|
122 |
+
|
123 |
+
$sortedPackageMap = $this->sortPackageMap( $packageMap );
|
124 |
+
$sortedPackageMap[] = $rootPackageMap;
|
125 |
+
array_unshift( $packageMap, $rootPackageMap );
|
126 |
+
|
127 |
+
$psr0 = $this->parseAutoloadsType( $packageMap, 'psr-0', $mainPackage );
|
128 |
+
$psr4 = $this->parseAutoloadsType( $packageMap, 'psr-4', $mainPackage );
|
129 |
+
$classmap = $this->parseAutoloadsType( array_reverse( $sortedPackageMap ), 'classmap', $mainPackage );
|
130 |
+
$files = $this->parseAutoloadsType( $sortedPackageMap, 'files', $mainPackage );
|
131 |
+
|
132 |
+
krsort( $psr0 );
|
133 |
+
krsort( $psr4 );
|
134 |
+
|
135 |
+
return array(
|
136 |
+
'psr-0' => $psr0,
|
137 |
+
'psr-4' => $psr4,
|
138 |
+
'classmap' => $classmap,
|
139 |
+
'files' => $files,
|
140 |
+
);
|
141 |
+
}
|
142 |
|
143 |
+
/**
|
144 |
+
* Sorts packages by dependency weight
|
145 |
+
*
|
146 |
+
* Packages of equal weight retain the original order
|
147 |
+
*
|
148 |
+
* @param array $packageMap The package map.
|
149 |
+
* @return array
|
150 |
+
*/
|
151 |
+
protected function sortPackageMap( array $packageMap ) {
|
152 |
+
$packages = array();
|
153 |
+
$paths = array();
|
154 |
+
|
155 |
+
foreach ( $packageMap as $item ) {
|
156 |
+
list( $package, $path ) = $item;
|
157 |
+
$name = $package->getName();
|
158 |
+
$packages[ $name ] = $package;
|
159 |
+
$paths[ $name ] = $path;
|
160 |
+
}
|
161 |
+
|
162 |
+
$sortedPackages = PackageSorter::sortPackages( $packages );
|
163 |
+
|
164 |
+
$sortedPackageMap = array();
|
165 |
+
|
166 |
+
foreach ( $sortedPackages as $package ) {
|
167 |
+
$name = $package->getName();
|
168 |
+
$sortedPackageMap[] = array( $packages[ $name ], $paths[ $name ] );
|
169 |
+
}
|
170 |
+
|
171 |
+
return $sortedPackageMap;
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* Returns the file identifier.
|
176 |
+
*
|
177 |
+
* @param PackageInterface $package The package instance.
|
178 |
+
* @param string $path The path.
|
179 |
+
*/
|
180 |
+
protected function getFileIdentifier( PackageInterface $package, $path ) {
|
181 |
+
return md5( $package->getName() . ':' . $path );
|
182 |
+
}
|
183 |
+
|
184 |
+
/**
|
185 |
+
* Returns the path code for the given path.
|
186 |
+
*
|
187 |
+
* @param Filesystem $filesystem The filesystem instance.
|
188 |
+
* @param string $basePath The base path.
|
189 |
+
* @param string $vendorPath The vendor path.
|
190 |
+
* @param string $path The path.
|
191 |
+
*
|
192 |
+
* @return string The path code.
|
193 |
+
*/
|
194 |
+
protected function getPathCode( Filesystem $filesystem, $basePath, $vendorPath, $path ) {
|
195 |
+
if ( ! $filesystem->isAbsolutePath( $path ) ) {
|
196 |
+
$path = $basePath . '/' . $path;
|
197 |
+
}
|
198 |
+
$path = $filesystem->normalizePath( $path );
|
199 |
+
|
200 |
+
$baseDir = '';
|
201 |
+
if ( 0 === strpos( $path . '/', $vendorPath . '/' ) ) {
|
202 |
+
$path = substr( $path, strlen( $vendorPath ) );
|
203 |
+
$baseDir = '$vendorDir';
|
204 |
+
|
205 |
+
if ( false !== $path ) {
|
206 |
+
$baseDir .= ' . ';
|
207 |
+
}
|
208 |
+
} else {
|
209 |
+
$path = $filesystem->normalizePath( $filesystem->findShortestPath( $basePath, $path, true ) );
|
210 |
+
if ( ! $filesystem->isAbsolutePath( $path ) ) {
|
211 |
+
$baseDir = '$baseDir . ';
|
212 |
+
$path = '/' . $path;
|
213 |
+
}
|
214 |
+
}
|
215 |
+
|
216 |
+
if ( strpos( $path, '.phar' ) !== false ) {
|
217 |
+
$baseDir = "'phar://' . " . $baseDir;
|
218 |
+
}
|
219 |
+
|
220 |
+
return $baseDir . ( ( false !== $path ) ? var_export( $path, true ) : '' );
|
221 |
}
|
222 |
|
223 |
/**
|
224 |
* This function differs from the composer parseAutoloadsType in that beside returning the path.
|
225 |
* It also return the path and the version of a package.
|
226 |
*
|
227 |
+
* Supports PSR-4, PSR-0, and classmap parsing.
|
228 |
*
|
229 |
* @param array $packageMap Map of all the packages.
|
230 |
+
* @param string $type Type of autoloader to use.
|
231 |
* @param PackageInterface $mainPackage Instance of the Package Object.
|
232 |
*
|
233 |
* @return array
|
235 |
protected function parseAutoloadsType( array $packageMap, $type, PackageInterface $mainPackage ) {
|
236 |
$autoloads = array();
|
237 |
|
|
|
|
|
|
|
|
|
238 |
foreach ( $packageMap as $item ) {
|
239 |
list($package, $installPath) = $item;
|
240 |
$autoload = $package->getAutoload();
|
247 |
$installPath = substr( $installPath, 0, -strlen( '/' . $package->getTargetDir() ) );
|
248 |
}
|
249 |
|
250 |
+
if ( in_array( $type, array( 'psr-4', 'psr-0' ), true ) && isset( $autoload[ $type ] ) && is_array( $autoload[ $type ] ) ) {
|
251 |
+
foreach ( $autoload[ $type ] as $namespace => $paths ) {
|
252 |
$paths = is_array( $paths ) ? $paths : array( $paths );
|
253 |
foreach ( $paths as $path ) {
|
254 |
$relativePath = empty( $installPath ) ? ( empty( $path ) ? '.' : $path ) : $installPath . '/' . $path;
|
264 |
foreach ( $autoload['classmap'] as $paths ) {
|
265 |
$paths = is_array( $paths ) ? $paths : array( $paths );
|
266 |
foreach ( $paths as $path ) {
|
267 |
+
$relativePath = empty( $installPath ) ? ( empty( $path ) ? '.' : $path ) : $installPath . '/' . $path;
|
268 |
+
$autoloads[] = array(
|
269 |
'path' => $relativePath,
|
270 |
'version' => $package->getVersion(), // Version of the class comes from the package - should we try to parse it?
|
271 |
);
|
272 |
}
|
273 |
}
|
274 |
}
|
275 |
+
if ( 'files' === $type && isset( $autoload['files'] ) && is_array( $autoload['files'] ) ) {
|
276 |
+
foreach ( $autoload['files'] as $paths ) {
|
277 |
+
$paths = is_array( $paths ) ? $paths : array( $paths );
|
278 |
+
foreach ( $paths as $path ) {
|
279 |
+
$relativePath = empty( $installPath ) ? ( empty( $path ) ? '.' : $path ) : $installPath . '/' . $path;
|
280 |
+
$autoloads[ $this->getFileIdentifier( $package, $path ) ] = array(
|
281 |
+
'path' => $relativePath,
|
282 |
+
'version' => $package->getVersion(), // Version of the file comes from the package - should we try to parse it?
|
283 |
+
);
|
284 |
+
}
|
285 |
+
}
|
286 |
+
}
|
287 |
}
|
288 |
|
289 |
return $autoloads;
|
290 |
}
|
291 |
|
292 |
/**
|
293 |
+
* Given Composer's autoloads this will convert them to a version that we can use to generate the manifests.
|
294 |
+
*
|
295 |
+
* When the $scanPsrPackages argument is true, PSR-4 namespaces are converted to classmaps. When $scanPsrPackages
|
296 |
+
* is false, PSR-4 namespaces are not converted to classmaps.
|
297 |
*
|
298 |
+
* PSR-0 namespaces are always converted to classmaps.
|
|
|
|
|
|
|
299 |
*
|
300 |
+
* @param array $autoloads The autoloads we want to process.
|
301 |
+
* @param bool $scanPsrPackages Whether or not PSR-4 packages should be converted to a classmap.
|
302 |
+
* @param string $vendorPath The path to the vendor directory.
|
303 |
+
* @param string $basePath The path to the current directory.
|
304 |
+
*
|
305 |
+
* @return array $processedAutoloads
|
306 |
*/
|
307 |
+
private function processAutoloads( $autoloads, $scanPsrPackages, $vendorPath, $basePath ) {
|
308 |
+
$processor = new AutoloadProcessor(
|
309 |
+
function ( $path, $excludedClasses, $namespace ) use ( $basePath ) {
|
310 |
+
$dir = $this->filesystem->normalizePath(
|
311 |
+
$this->filesystem->isAbsolutePath( $path ) ? $path : $basePath . '/' . $path
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
312 |
);
|
313 |
+
return ClassMapGenerator::createMap(
|
314 |
+
$dir,
|
315 |
+
$excludedClasses,
|
316 |
+
null, // Don't pass the IOInterface since the normal autoload generation will have reported already.
|
317 |
+
empty( $namespace ) ? null : $namespace
|
318 |
+
);
|
319 |
+
},
|
320 |
+
function ( $path ) use ( $basePath, $vendorPath ) {
|
321 |
+
return $this->getPathCode( $this->filesystem, $basePath, $vendorPath, $path );
|
|
|
|
|
|
|
|
|
|
|
322 |
}
|
323 |
+
);
|
324 |
+
|
325 |
+
return array(
|
326 |
+
'psr-4' => $processor->processPsr4Packages( $autoloads, $scanPsrPackages ),
|
327 |
+
'classmap' => $processor->processClassmap( $autoloads, $scanPsrPackages ),
|
328 |
+
'files' => $processor->processFiles( $autoloads ),
|
329 |
+
);
|
330 |
+
}
|
331 |
+
|
332 |
+
/**
|
333 |
+
* Removes all of the legacy autoloader files so they don't cause any problems.
|
334 |
+
*
|
335 |
+
* @param string $outDir The directory legacy files are written to.
|
336 |
+
*/
|
337 |
+
private function removeLegacyFiles( $outDir ) {
|
338 |
+
$files = array(
|
339 |
+
'autoload_functions.php',
|
340 |
+
'class-autoloader-handler.php',
|
341 |
+
'class-classes-handler.php',
|
342 |
+
'class-files-handler.php',
|
343 |
+
'class-plugins-handler.php',
|
344 |
+
'class-version-selector.php',
|
345 |
+
);
|
346 |
+
foreach ( $files as $file ) {
|
347 |
+
$this->filesystem->remove( $outDir . '/' . $file );
|
348 |
}
|
349 |
+
}
|
350 |
|
351 |
+
/**
|
352 |
+
* Writes all of the autoloader files to disk.
|
353 |
+
*
|
354 |
+
* @param string $outDir The directory to write to.
|
355 |
+
* @param string $suffix The unique autoloader suffix.
|
356 |
+
*/
|
357 |
+
private function writeAutoloaderFiles( $outDir, $suffix ) {
|
358 |
+
$this->io->writeError( "<info>Generating jetpack autoloader ($outDir)</info>" );
|
359 |
+
|
360 |
+
// We will remove all autoloader files to generate this again.
|
361 |
+
$this->filesystem->emptyDirectory( $outDir );
|
362 |
+
|
363 |
+
$packageFiles = array(
|
364 |
+
'autoload.php' => '../autoload_packages.php',
|
365 |
+
'functions.php' => 'autoload_functions.php',
|
366 |
+
'class-autoloader-locator.php' => null,
|
367 |
+
'class-autoloader-handler.php' => null,
|
368 |
+
'class-manifest-handler.php' => null,
|
369 |
+
'class-plugins-handler.php' => null,
|
370 |
+
'class-version-selector.php' => null,
|
371 |
+
'class-version-loader.php' => null,
|
372 |
+
);
|
373 |
+
|
374 |
+
foreach ( $packageFiles as $file => $newFile ) {
|
375 |
+
$newFile = isset( $newFile ) ? $newFile : $file;
|
376 |
+
|
377 |
+
$content = $this->getAutoloadPackageFile( $file, $suffix );
|
378 |
+
|
379 |
+
if ( file_put_contents( $outDir . '/' . $newFile, $content ) ) {
|
380 |
+
$this->io->writeError( " <info>Generated: $newFile</info>" );
|
381 |
+
} else {
|
382 |
+
$this->io->writeError( " <error>Error: $newFile</error>" );
|
383 |
}
|
384 |
}
|
|
|
|
|
385 |
}
|
386 |
|
387 |
/**
|
388 |
+
* Writes all of the manifest files to disk.
|
389 |
*
|
390 |
+
* @param string $outDir The directory to write to.
|
391 |
+
* @param array $processedAutoloads The processed autoloads.
|
|
|
392 |
*/
|
393 |
+
private function writeManifests( $outDir, $processedAutoloads ) {
|
394 |
+
$this->io->writeError( "<info>Generating jetpack autoloader manifests ($outDir)</info>" );
|
395 |
+
|
396 |
+
$manifestFiles = array(
|
397 |
+
'classmap' => 'jetpack_autoload_classmap.php',
|
398 |
+
'psr-4' => 'jetpack_autoload_psr4.php',
|
399 |
+
'files' => 'jetpack_autoload_filemap.php',
|
400 |
+
);
|
401 |
+
|
402 |
+
foreach ( $manifestFiles as $key => $file ) {
|
403 |
+
// Make sure the file doesn't exist so it isn't there if we don't write it.
|
404 |
+
$this->filesystem->remove( $outDir . '/' . $file );
|
405 |
+
if ( empty( $processedAutoloads[ $key ] ) ) {
|
406 |
+
continue;
|
407 |
+
}
|
408 |
|
409 |
+
$content = ManifestGenerator::buildManifest( $key, $file, $processedAutoloads[ $key ] );
|
410 |
+
if ( empty( $content ) ) {
|
411 |
+
continue;
|
412 |
+
}
|
413 |
|
414 |
+
if ( file_put_contents( $outDir . '/' . $file, $content ) ) {
|
415 |
+
$this->io->writeError( " <info>Generated: $file</info>" );
|
416 |
+
} else {
|
417 |
+
$this->io->writeError( " <error>Error: $file</error>" );
|
418 |
+
}
|
419 |
+
}
|
420 |
}
|
421 |
|
422 |
/**
|
423 |
* Generate the PHP that will be used in the autoload_packages.php files.
|
424 |
*
|
425 |
+
* @param String $filename a file to prepare.
|
426 |
+
* @param String $suffix Unique suffix used in the namespace.
|
427 |
*
|
428 |
* @return string
|
429 |
*/
|
430 |
+
private function getAutoloadPackageFile( $filename, $suffix ) {
|
431 |
+
$header = self::COMMENT;
|
432 |
+
$header .= PHP_EOL;
|
433 |
+
$header .= 'namespace Automattic\Jetpack\Autoloader\jp' . $suffix . ';';
|
434 |
+
$header .= PHP_EOL . PHP_EOL;
|
435 |
+
|
436 |
+
$sourceLoader = fopen( __DIR__ . '/' . $filename, 'r' );
|
437 |
+
$file_contents = stream_get_contents( $sourceLoader );
|
438 |
+
return str_replace(
|
439 |
+
'/* HEADER */',
|
440 |
+
$header,
|
441 |
+
$file_contents
|
442 |
+
);
|
|
|
|
|
|
|
|
|
|
|
443 |
}
|
444 |
}
|
vendor/automattic/jetpack-autoloader/src/AutoloadProcessor.php
ADDED
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php // phpcs:ignore WordPress.Files.FileName
|
2 |
+
/**
|
3 |
+
* Autoload Processor.
|
4 |
+
*
|
5 |
+
* @package automattic/jetpack-autoloader
|
6 |
+
*/
|
7 |
+
|
8 |
+
// phpcs:disable WordPress.Files.FileName.InvalidClassFileName
|
9 |
+
// phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
|
10 |
+
// phpcs:disable WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
|
11 |
+
// phpcs:disable WordPress.NamingConventions.ValidVariableName.InterpolatedVariableNotSnakeCase
|
12 |
+
// phpcs:disable WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase
|
13 |
+
// phpcs:disable WordPress.NamingConventions.ValidVariableName.PropertyNotSnakeCase
|
14 |
+
|
15 |
+
namespace Automattic\Jetpack\Autoloader;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Class AutoloadProcessor.
|
19 |
+
*/
|
20 |
+
class AutoloadProcessor {
|
21 |
+
|
22 |
+
/**
|
23 |
+
* A callable for scanning a directory for all of its classes.
|
24 |
+
*
|
25 |
+
* @var callable
|
26 |
+
*/
|
27 |
+
private $classmapScanner;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* A callable for transforming a path into one to be used in code.
|
31 |
+
*
|
32 |
+
* @var callable
|
33 |
+
*/
|
34 |
+
private $pathCodeTransformer;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* The constructor.
|
38 |
+
*
|
39 |
+
* @param callable $classmapScanner A callable for scanning a directory for all of its classes.
|
40 |
+
* @param callable $pathCodeTransformer A callable for transforming a path into one to be used in code.
|
41 |
+
*/
|
42 |
+
public function __construct( $classmapScanner, $pathCodeTransformer ) {
|
43 |
+
$this->classmapScanner = $classmapScanner;
|
44 |
+
$this->pathCodeTransformer = $pathCodeTransformer;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Processes the classmap autoloads into a relative path format including the version for each file.
|
49 |
+
*
|
50 |
+
* @param array $autoloads The autoloads we are processing.
|
51 |
+
* @param bool $scanPsrPackages Whether or not PSR packages should be converted to a classmap.
|
52 |
+
*
|
53 |
+
* @return array $processed
|
54 |
+
*/
|
55 |
+
public function processClassmap( $autoloads, $scanPsrPackages ) {
|
56 |
+
// We can't scan PSR packages if we don't actually have any.
|
57 |
+
if ( empty( $autoloads['psr-4'] ) ) {
|
58 |
+
$scanPsrPackages = false;
|
59 |
+
}
|
60 |
+
|
61 |
+
if ( empty( $autoloads['classmap'] ) && ! $scanPsrPackages ) {
|
62 |
+
return null;
|
63 |
+
}
|
64 |
+
|
65 |
+
$excludedClasses = null;
|
66 |
+
if ( ! empty( $autoloads['exclude-from-classmap'] ) ) {
|
67 |
+
$excludedClasses = '{(' . implode( '|', $autoloads['exclude-from-classmap'] ) . ')}';
|
68 |
+
}
|
69 |
+
|
70 |
+
$processed = array();
|
71 |
+
|
72 |
+
if ( $scanPsrPackages ) {
|
73 |
+
foreach ( $autoloads['psr-4'] as $namespace => $sources ) {
|
74 |
+
$namespace = empty( $namespace ) ? null : $namespace;
|
75 |
+
|
76 |
+
foreach ( $sources as $source ) {
|
77 |
+
$classmap = call_user_func( $this->classmapScanner, $source['path'], $excludedClasses, $namespace );
|
78 |
+
|
79 |
+
foreach ( $classmap as $class => $path ) {
|
80 |
+
$processed[ $class ] = array(
|
81 |
+
'version' => $source['version'],
|
82 |
+
'path' => call_user_func( $this->pathCodeTransformer, $path ),
|
83 |
+
);
|
84 |
+
}
|
85 |
+
}
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
+
/*
|
90 |
+
* PSR-0 namespaces are converted to classmaps for both optimized and unoptimized autoloaders because any new
|
91 |
+
* development should use classmap or PSR-4 autoloading.
|
92 |
+
*/
|
93 |
+
if ( ! empty( $autoloads['psr-0'] ) ) {
|
94 |
+
foreach ( $autoloads['psr-0'] as $namespace => $sources ) {
|
95 |
+
$namespace = empty( $namespace ) ? null : $namespace;
|
96 |
+
|
97 |
+
foreach ( $sources as $source ) {
|
98 |
+
$classmap = call_user_func( $this->classmapScanner, $source['path'], $excludedClasses, $namespace );
|
99 |
+
foreach ( $classmap as $class => $path ) {
|
100 |
+
$processed[ $class ] = array(
|
101 |
+
'version' => $source['version'],
|
102 |
+
'path' => call_user_func( $this->pathCodeTransformer, $path ),
|
103 |
+
);
|
104 |
+
}
|
105 |
+
}
|
106 |
+
}
|
107 |
+
}
|
108 |
+
|
109 |
+
if ( ! empty( $autoloads['classmap'] ) ) {
|
110 |
+
foreach ( $autoloads['classmap'] as $package ) {
|
111 |
+
$classmap = call_user_func( $this->classmapScanner, $package['path'], $excludedClasses, null );
|
112 |
+
|
113 |
+
foreach ( $classmap as $class => $path ) {
|
114 |
+
$processed[ $class ] = array(
|
115 |
+
'version' => $package['version'],
|
116 |
+
'path' => call_user_func( $this->pathCodeTransformer, $path ),
|
117 |
+
);
|
118 |
+
}
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
return $processed;
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Processes the PSR-4 autoloads into a relative path format including the version for each file.
|
127 |
+
*
|
128 |
+
* @param array $autoloads The autoloads we are processing.
|
129 |
+
* @param bool $scanPsrPackages Whether or not PSR packages should be converted to a classmap.
|
130 |
+
*
|
131 |
+
* @return array $processed
|
132 |
+
*/
|
133 |
+
public function processPsr4Packages( $autoloads, $scanPsrPackages ) {
|
134 |
+
if ( $scanPsrPackages || empty( $autoloads['psr-4'] ) ) {
|
135 |
+
return null;
|
136 |
+
}
|
137 |
+
|
138 |
+
$processed = array();
|
139 |
+
|
140 |
+
foreach ( $autoloads['psr-4'] as $namespace => $packages ) {
|
141 |
+
$namespace = empty( $namespace ) ? null : $namespace;
|
142 |
+
$paths = array();
|
143 |
+
|
144 |
+
foreach ( $packages as $package ) {
|
145 |
+
$paths[] = call_user_func( $this->pathCodeTransformer, $package['path'] );
|
146 |
+
}
|
147 |
+
|
148 |
+
$processed[ $namespace ] = array(
|
149 |
+
'version' => $package['version'],
|
150 |
+
'path' => $paths,
|
151 |
+
);
|
152 |
+
}
|
153 |
+
|
154 |
+
return $processed;
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* Processes the file autoloads into a relative format including the version for each file.
|
159 |
+
*
|
160 |
+
* @param array $autoloads The autoloads we are processing.
|
161 |
+
*
|
162 |
+
* @return array|null $processed
|
163 |
+
*/
|
164 |
+
public function processFiles( $autoloads ) {
|
165 |
+
if ( empty( $autoloads['files'] ) ) {
|
166 |
+
return null;
|
167 |
+
}
|
168 |
+
|
169 |
+
$processed = array();
|
170 |
+
|
171 |
+
foreach ( $autoloads['files'] as $file_id => $package ) {
|
172 |
+
$processed[ $file_id ] = array(
|
173 |
+
'version' => $package['version'],
|
174 |
+
'path' => call_user_func( $this->pathCodeTransformer, $package['path'] ),
|
175 |
+
);
|
176 |
+
}
|
177 |
+
|
178 |
+
return $processed;
|
179 |
+
}
|
180 |
+
}
|
vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
-
<?php
|
2 |
/**
|
3 |
* Custom Autoloader Composer Plugin, hooks into composer events to generate the custom autoloader.
|
4 |
*
|
5 |
-
* @package
|
6 |
*/
|
7 |
|
8 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_useFound
|
@@ -15,16 +15,16 @@
|
|
15 |
namespace Automattic\Jetpack\Autoloader;
|
16 |
|
17 |
use Composer\Composer;
|
|
|
18 |
use Composer\IO\IOInterface;
|
|
|
19 |
use Composer\Script\Event;
|
20 |
use Composer\Script\ScriptEvents;
|
21 |
-
use Composer\Plugin\PluginInterface;
|
22 |
-
use Composer\EventDispatcher\EventSubscriberInterface;
|
23 |
|
24 |
/**
|
25 |
* Class CustomAutoloaderPlugin.
|
26 |
*
|
27 |
-
* @package
|
28 |
*/
|
29 |
class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterface {
|
30 |
|
@@ -53,10 +53,38 @@ class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterfac
|
|
53 |
$this->io = $io;
|
54 |
}
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
/**
|
57 |
* Tell composer to listen for events and do something with them.
|
58 |
*
|
59 |
-
* @return array List of
|
60 |
*/
|
61 |
public static function getSubscribedEvents() {
|
62 |
return array(
|
@@ -70,21 +98,64 @@ class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterfac
|
|
70 |
* @param Event $event Script event object.
|
71 |
*/
|
72 |
public function postAutoloadDump( Event $event ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
|
74 |
$installationManager = $this->composer->getInstallationManager();
|
75 |
$repoManager = $this->composer->getRepositoryManager();
|
76 |
$localRepo = $repoManager->getLocalRepository();
|
77 |
$package = $this->composer->getPackage();
|
78 |
-
$
|
79 |
-
$
|
80 |
-
$suffix = $config->get( 'autoloader-suffix' )
|
81 |
-
? $config->get( 'autoloader-suffix' )
|
82 |
-
: md5( uniqid( '', true ) );
|
83 |
|
84 |
$generator = new AutoloadGenerator( $this->io );
|
85 |
-
|
86 |
-
$generator->dump( $config, $localRepo, $package, $installationManager, 'composer', $optimize, $suffix );
|
87 |
$this->generated = true;
|
88 |
}
|
89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
}
|
1 |
+
<?php //phpcs:ignore WordPress.Files.FileName.NotHyphenatedLowercase
|
2 |
/**
|
3 |
* Custom Autoloader Composer Plugin, hooks into composer events to generate the custom autoloader.
|
4 |
*
|
5 |
+
* @package automattic/jetpack-autoloader
|
6 |
*/
|
7 |
|
8 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_useFound
|
15 |
namespace Automattic\Jetpack\Autoloader;
|
16 |
|
17 |
use Composer\Composer;
|
18 |
+
use Composer\EventDispatcher\EventSubscriberInterface;
|
19 |
use Composer\IO\IOInterface;
|
20 |
+
use Composer\Plugin\PluginInterface;
|
21 |
use Composer\Script\Event;
|
22 |
use Composer\Script\ScriptEvents;
|
|
|
|
|
23 |
|
24 |
/**
|
25 |
* Class CustomAutoloaderPlugin.
|
26 |
*
|
27 |
+
* @package automattic/jetpack-autoloader
|
28 |
*/
|
29 |
class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterface {
|
30 |
|
53 |
$this->io = $io;
|
54 |
}
|
55 |
|
56 |
+
/**
|
57 |
+
* Do nothing.
|
58 |
+
* phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
59 |
+
*
|
60 |
+
* @param Composer $composer Composer object.
|
61 |
+
* @param IOInterface $io IO object.
|
62 |
+
*/
|
63 |
+
public function deactivate( Composer $composer, IOInterface $io ) {
|
64 |
+
/*
|
65 |
+
* Intentionally left empty. This is a PluginInterface method.
|
66 |
+
* phpcs:enable VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
67 |
+
*/
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Do nothing.
|
72 |
+
* phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
73 |
+
*
|
74 |
+
* @param Composer $composer Composer object.
|
75 |
+
* @param IOInterface $io IO object.
|
76 |
+
*/
|
77 |
+
public function uninstall( Composer $composer, IOInterface $io ) {
|
78 |
+
/*
|
79 |
+
* Intentionally left empty. This is a PluginInterface method.
|
80 |
+
* phpcs:enable VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
81 |
+
*/
|
82 |
+
}
|
83 |
+
|
84 |
/**
|
85 |
* Tell composer to listen for events and do something with them.
|
86 |
*
|
87 |
+
* @return array List of subscribed events.
|
88 |
*/
|
89 |
public static function getSubscribedEvents() {
|
90 |
return array(
|
98 |
* @param Event $event Script event object.
|
99 |
*/
|
100 |
public function postAutoloadDump( Event $event ) {
|
101 |
+
$config = $this->composer->getConfig();
|
102 |
+
|
103 |
+
if ( 'vendor' !== $config->raw()['config']['vendor-dir'] ) {
|
104 |
+
$this->io->writeError( "\n<error>An error occurred while generating the autoloader files:", true );
|
105 |
+
$this->io->writeError( 'The project\'s composer.json or composer environment set a non-default vendor directory.', true );
|
106 |
+
$this->io->writeError( 'The default composer vendor directory must be used.</error>', true );
|
107 |
+
exit();
|
108 |
+
}
|
109 |
|
110 |
$installationManager = $this->composer->getInstallationManager();
|
111 |
$repoManager = $this->composer->getRepositoryManager();
|
112 |
$localRepo = $repoManager->getLocalRepository();
|
113 |
$package = $this->composer->getPackage();
|
114 |
+
$optimize = $event->getFlags()['optimize'];
|
115 |
+
$suffix = $this->determineSuffix();
|
|
|
|
|
|
|
116 |
|
117 |
$generator = new AutoloadGenerator( $this->io );
|
118 |
+
$generator->dump( $this->composer, $config, $localRepo, $package, $installationManager, 'composer', $optimize, $suffix );
|
|
|
119 |
$this->generated = true;
|
120 |
}
|
121 |
|
122 |
+
/**
|
123 |
+
* Determine the suffix for the autoloader class.
|
124 |
+
*
|
125 |
+
* Reuses an existing suffix from vendor/autoload_packages.php or vendor/autoload.php if possible.
|
126 |
+
*
|
127 |
+
* @return string Suffix.
|
128 |
+
*/
|
129 |
+
private function determineSuffix() {
|
130 |
+
$config = $this->composer->getConfig();
|
131 |
+
$vendorPath = $config->get( 'vendor-dir' );
|
132 |
+
|
133 |
+
// Command line.
|
134 |
+
$suffix = $config->get( 'autoloader-suffix' );
|
135 |
+
if ( $suffix ) {
|
136 |
+
return $suffix;
|
137 |
+
}
|
138 |
+
|
139 |
+
// Reuse our own suffix, if any.
|
140 |
+
if ( is_readable( $vendorPath . '/autoload_packages.php' ) ) {
|
141 |
+
// phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
|
142 |
+
$content = file_get_contents( $vendorPath . '/autoload_packages.php' );
|
143 |
+
if ( preg_match( '/^namespace Automattic\\\\Jetpack\\\\Autoloader\\\\jp([^;\s]+);/m', $content, $match ) ) {
|
144 |
+
return $match[1];
|
145 |
+
}
|
146 |
+
}
|
147 |
+
|
148 |
+
// Reuse Composer's suffix, if any.
|
149 |
+
if ( is_readable( $vendorPath . '/autoload.php' ) ) {
|
150 |
+
// phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
|
151 |
+
$content = file_get_contents( $vendorPath . '/autoload.php' );
|
152 |
+
if ( preg_match( '{ComposerAutoloaderInit([^:\s]+)::}', $content, $match ) ) {
|
153 |
+
return $match[1];
|
154 |
+
}
|
155 |
+
}
|
156 |
+
|
157 |
+
// Generate a random suffix.
|
158 |
+
return md5( uniqid( '', true ) );
|
159 |
+
}
|
160 |
+
|
161 |
}
|
vendor/automattic/jetpack-autoloader/src/ManifestGenerator.php
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php // phpcs:ignore WordPress.Files.FileName
|
2 |
+
/**
|
3 |
+
* Manifest Generator.
|
4 |
+
*
|
5 |
+
* @package automattic/jetpack-autoloader
|
6 |
+
*/
|
7 |
+
|
8 |
+
// phpcs:disable WordPress.Files.FileName.InvalidClassFileName
|
9 |
+
// phpcs:disable WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid
|
10 |
+
// phpcs:disable WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase
|
11 |
+
// phpcs:disable WordPress.NamingConventions.ValidVariableName.InterpolatedVariableNotSnakeCase
|
12 |
+
// phpcs:disable WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase
|
13 |
+
// phpcs:disable WordPress.NamingConventions.ValidVariableName.PropertyNotSnakeCase
|
14 |
+
// phpcs:disable WordPress.PHP.DevelopmentFunctions.error_log_var_export
|
15 |
+
|
16 |
+
namespace Automattic\Jetpack\Autoloader;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Class ManifestGenerator.
|
20 |
+
*/
|
21 |
+
class ManifestGenerator {
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Builds a manifest file for the given autoloader type.
|
25 |
+
*
|
26 |
+
* @param string $autoloaderType The type of autoloader to build a manifest for.
|
27 |
+
* @param string $fileName The filename of the manifest.
|
28 |
+
* @param array $content The manifest content to generate using.
|
29 |
+
*
|
30 |
+
* @return string|null $manifestFile
|
31 |
+
* @throws \InvalidArgumentException When an invalid autoloader type is given.
|
32 |
+
*/
|
33 |
+
public static function buildManifest( $autoloaderType, $fileName, $content ) {
|
34 |
+
if ( empty( $content ) ) {
|
35 |
+
return null;
|
36 |
+
}
|
37 |
+
|
38 |
+
switch ( $autoloaderType ) {
|
39 |
+
case 'classmap':
|
40 |
+
case 'files':
|
41 |
+
return self::buildStandardManifest( $fileName, $content );
|
42 |
+
case 'psr-4':
|
43 |
+
return self::buildPsr4Manifest( $fileName, $content );
|
44 |
+
}
|
45 |
+
|
46 |
+
throw new \InvalidArgumentException( 'An invalid manifest type of ' . $autoloaderType . ' was passed!' );
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Builds the contents for the standard manifest file.
|
51 |
+
*
|
52 |
+
* @param string $fileName The filename we are building.
|
53 |
+
* @param array $manifestData The formatted data for the manifest.
|
54 |
+
*
|
55 |
+
* @return string|null $manifestFile
|
56 |
+
*/
|
57 |
+
private static function buildStandardManifest( $fileName, $manifestData ) {
|
58 |
+
$fileContent = PHP_EOL;
|
59 |
+
foreach ( $manifestData as $key => $data ) {
|
60 |
+
$key = var_export( $key, true );
|
61 |
+
$versionCode = var_export( $data['version'], true );
|
62 |
+
$fileContent .= <<<MANIFEST_CODE
|
63 |
+
$key => array(
|
64 |
+
'version' => $versionCode,
|
65 |
+
'path' => {$data['path']}
|
66 |
+
),
|
67 |
+
MANIFEST_CODE;
|
68 |
+
$fileContent .= PHP_EOL;
|
69 |
+
}
|
70 |
+
|
71 |
+
return self::buildFile( $fileName, $fileContent );
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Builds the contents for the PSR-4 manifest file.
|
76 |
+
*
|
77 |
+
* @param string $fileName The filename we are building.
|
78 |
+
* @param array $namespaces The formatted PSR-4 data for the manifest.
|
79 |
+
*
|
80 |
+
* @return string|null $manifestFile
|
81 |
+
*/
|
82 |
+
private static function buildPsr4Manifest( $fileName, $namespaces ) {
|
83 |
+
$fileContent = PHP_EOL;
|
84 |
+
foreach ( $namespaces as $namespace => $data ) {
|
85 |
+
$namespaceCode = var_export( $namespace, true );
|
86 |
+
$versionCode = var_export( $data['version'], true );
|
87 |
+
$pathCode = 'array( ' . implode( ', ', $data['path'] ) . ' )';
|
88 |
+
$fileContent .= <<<MANIFEST_CODE
|
89 |
+
$namespaceCode => array(
|
90 |
+
'version' => $versionCode,
|
91 |
+
'path' => $pathCode
|
92 |
+
),
|
93 |
+
MANIFEST_CODE;
|
94 |
+
$fileContent .= PHP_EOL;
|
95 |
+
}
|
96 |
+
|
97 |
+
return self::buildFile( $fileName, $fileContent );
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Generate the PHP that will be used in the file.
|
102 |
+
*
|
103 |
+
* @param string $fileName The filename we are building.
|
104 |
+
* @param string $content The content to be written into the file.
|
105 |
+
*
|
106 |
+
* @return string $fileContent
|
107 |
+
*/
|
108 |
+
private static function buildFile( $fileName, $content ) {
|
109 |
+
return <<<INCLUDE_FILE
|
110 |
+
<?php
|
111 |
+
|
112 |
+
// This file `$fileName` was auto generated by automattic/jetpack-autoloader.
|
113 |
+
|
114 |
+
\$vendorDir = dirname(__DIR__);
|
115 |
+
\$baseDir = dirname(\$vendorDir);
|
116 |
+
|
117 |
+
return array($content);
|
118 |
+
|
119 |
+
INCLUDE_FILE;
|
120 |
+
}
|
121 |
+
}
|
vendor/automattic/jetpack-autoloader/src/autoload.php
CHANGED
@@ -1,119 +1,6 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
* This file `autoload_packages.php`was generated by automattic/jetpack-autoloader.
|
4 |
-
*
|
5 |
-
* From your plugin include this file with:
|
6 |
-
* require_once . plugin_dir_path( __FILE__ ) . '/vendor/autoload_packages.php';
|
7 |
-
*
|
8 |
-
* @package Automattic\Jetpack\Autoloader
|
9 |
-
*/
|
10 |
|
11 |
-
|
12 |
-
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_namespaceFound
|
13 |
-
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_ns_cFound
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
if ( ! function_exists( __NAMESPACE__ . '\enqueue_package_class' ) ) {
|
18 |
-
global $jetpack_packages_classes;
|
19 |
-
|
20 |
-
if ( ! is_array( $jetpack_packages_classes ) ) {
|
21 |
-
$jetpack_packages_classes = array();
|
22 |
-
}
|
23 |
-
/**
|
24 |
-
* Adds the version of a package to the $jetpack_packages global array so that
|
25 |
-
* the autoloader is able to find it.
|
26 |
-
*
|
27 |
-
* @param string $class_name Name of the class that you want to autoload.
|
28 |
-
* @param string $version Version of the class.
|
29 |
-
* @param string $path Absolute path to the class so that we can load it.
|
30 |
-
*/
|
31 |
-
function enqueue_package_class( $class_name, $version, $path ) {
|
32 |
-
global $jetpack_packages_classes;
|
33 |
-
|
34 |
-
if ( ! isset( $jetpack_packages_classes[ $class_name ] ) ) {
|
35 |
-
$jetpack_packages_classes[ $class_name ] = array(
|
36 |
-
'version' => $version,
|
37 |
-
'path' => $path,
|
38 |
-
);
|
39 |
-
}
|
40 |
-
// If we have a @dev version set always use that one!
|
41 |
-
if ( 'dev-' === substr( $jetpack_packages_classes[ $class_name ]['version'], 0, 4 ) ) {
|
42 |
-
return;
|
43 |
-
}
|
44 |
-
|
45 |
-
// Always favour the @dev version. Since that version is the same as bleeding edge.
|
46 |
-
// We need to make sure that we don't do this in production!
|
47 |
-
if ( 'dev-' === substr( $version, 0, 4 ) ) {
|
48 |
-
$jetpack_packages_classes[ $class_name ] = array(
|
49 |
-
'version' => $version,
|
50 |
-
'path' => $path,
|
51 |
-
);
|
52 |
-
|
53 |
-
return;
|
54 |
-
}
|
55 |
-
// Set the latest version!
|
56 |
-
if ( version_compare( $jetpack_packages_classes[ $class_name ]['version'], $version, '<' ) ) {
|
57 |
-
$jetpack_packages_classes[ $class_name ] = array(
|
58 |
-
'version' => $version,
|
59 |
-
'path' => $path,
|
60 |
-
);
|
61 |
-
}
|
62 |
-
}
|
63 |
-
}
|
64 |
-
|
65 |
-
if ( ! function_exists( __NAMESPACE__ . '\autoloader' ) ) {
|
66 |
-
/**
|
67 |
-
* Used for autoloading jetpack packages.
|
68 |
-
*
|
69 |
-
* @param string $class_name Class Name to load.
|
70 |
-
*/
|
71 |
-
function autoloader( $class_name ) {
|
72 |
-
global $jetpack_packages_classes;
|
73 |
-
|
74 |
-
if ( isset( $jetpack_packages_classes[ $class_name ] ) ) {
|
75 |
-
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
|
76 |
-
// TODO ideally we shouldn't skip any of these, see: https://github.com/Automattic/jetpack/pull/12646.
|
77 |
-
$ignore = in_array(
|
78 |
-
$class_name,
|
79 |
-
array(
|
80 |
-
'Automattic\Jetpack\JITM',
|
81 |
-
'Automattic\Jetpack\Connection\Manager',
|
82 |
-
'Automattic\Jetpack\Connection\Manager_Interface',
|
83 |
-
'Automattic\Jetpack\Connection\XMLRPC_Connector',
|
84 |
-
'Jetpack_Options',
|
85 |
-
'Jetpack_Signature',
|
86 |
-
'Automattic\Jetpack\Sync\Main',
|
87 |
-
'Automattic\Jetpack\Constants',
|
88 |
-
'Automattic\Jetpack\Tracking',
|
89 |
-
'Automattic\Jetpack\Plugin\Tracking',
|
90 |
-
),
|
91 |
-
true
|
92 |
-
);
|
93 |
-
if ( ! $ignore && function_exists( 'did_action' ) && ! did_action( 'plugins_loaded' ) ) {
|
94 |
-
_doing_it_wrong(
|
95 |
-
esc_html( $class_name ),
|
96 |
-
sprintf(
|
97 |
-
/* translators: %s Name of a PHP Class */
|
98 |
-
esc_html__( 'Not all plugins have loaded yet but we requested the class %s', 'jetpack' ),
|
99 |
-
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
100 |
-
$class_name
|
101 |
-
),
|
102 |
-
esc_html( $jetpack_packages_classes[ $class_name ]['version'] )
|
103 |
-
);
|
104 |
-
}
|
105 |
-
}
|
106 |
-
|
107 |
-
if ( file_exists( $jetpack_packages_classes[ $class_name ]['path'] ) ) {
|
108 |
-
require_once $jetpack_packages_classes[ $class_name ]['path'];
|
109 |
-
|
110 |
-
return true;
|
111 |
-
}
|
112 |
-
}
|
113 |
-
|
114 |
-
return false;
|
115 |
-
}
|
116 |
-
|
117 |
-
// Add the jetpack autoloader.
|
118 |
-
spl_autoload_register( __NAMESPACE__ . '\autoloader' );
|
119 |
-
}
|
1 |
<?php
|
2 |
+
/* HEADER */ // phpcs:ignore
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
+
require_once trailingslashit( __DIR__ ) . 'jetpack-autoloader/autoload_functions.php';
|
|
|
|
|
5 |
|
6 |
+
set_up_autoloader();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/automattic/jetpack-autoloader/src/class-autoloader-handler.php
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* HEADER */ // phpcs:ignore
|
3 |
+
|
4 |
+
/**
|
5 |
+
* This class selects the package version for the autoloader.
|
6 |
+
*/
|
7 |
+
class Autoloader_Handler {
|
8 |
+
|
9 |
+
// The name of the autoloader function registered by v1.* autoloaders.
|
10 |
+
const V1_AUTOLOADER_NAME = 'Automattic\Jetpack\Autoloader\autoloader';
|
11 |
+
|
12 |
+
/*
|
13 |
+
* The autoloader function for v2.* autoloaders is named __NAMESPACE__ . \autoloader.
|
14 |
+
* The namespace is defined in AutoloadGenerator as
|
15 |
+
* 'Automattic\Jetpack\Autoloader\jp' plus a unique suffix.
|
16 |
+
*/
|
17 |
+
const V2_AUTOLOADER_BASE = 'Automattic\Jetpack\Autoloader\jp';
|
18 |
+
|
19 |
+
/**
|
20 |
+
* The current plugin path.
|
21 |
+
*
|
22 |
+
* @var string
|
23 |
+
*/
|
24 |
+
private $current_plugin_path;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* The paths for all of the active plugins.
|
28 |
+
*
|
29 |
+
* @var array
|
30 |
+
*/
|
31 |
+
private $active_plugin_paths;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* The Autoloader_Locator object.
|
35 |
+
*
|
36 |
+
* @var Autoloader_Locator
|
37 |
+
*/
|
38 |
+
private $autoloader_locator;
|
39 |
+
|
40 |
+
/**
|
41 |
+
* The Version_Selector object.
|
42 |
+
*
|
43 |
+
* @var Version_Selector
|
44 |
+
*/
|
45 |
+
private $version_selector;
|
46 |
+
|
47 |
+
/**
|
48 |
+
* The constructor.
|
49 |
+
*
|
50 |
+
* @param string $current_plugin_path The current plugin path.
|
51 |
+
* @param array $active_plugin_paths The active plugin paths.
|
52 |
+
* @param Autoloader_Locator $autoloader_locator The Autoloader_Locator object.
|
53 |
+
* @param Version_Selector $version_selector The Version_Selector object.
|
54 |
+
*/
|
55 |
+
public function __construct( $current_plugin_path, $active_plugin_paths, $autoloader_locator, $version_selector ) {
|
56 |
+
$this->current_plugin_path = $current_plugin_path;
|
57 |
+
$this->active_plugin_paths = $active_plugin_paths;
|
58 |
+
$this->autoloader_locator = $autoloader_locator;
|
59 |
+
$this->version_selector = $version_selector;
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Finds the latest installed autoloader.
|
64 |
+
*
|
65 |
+
* @return bool True if this autoloader is the latest, false otherwise.
|
66 |
+
*/
|
67 |
+
public function is_latest_autoloader() {
|
68 |
+
global $jetpack_autoloader_latest_version;
|
69 |
+
|
70 |
+
if ( isset( $jetpack_autoloader_latest_version ) ) {
|
71 |
+
return $jetpack_autoloader_latest_version === $this->autoloader_locator->get_autoloader_version( $this->current_plugin_path );
|
72 |
+
}
|
73 |
+
|
74 |
+
$latest_plugin = $this->autoloader_locator->find_latest_autoloader( $this->active_plugin_paths, $jetpack_autoloader_latest_version );
|
75 |
+
if ( ! isset( $latest_plugin ) ) {
|
76 |
+
return true;
|
77 |
+
}
|
78 |
+
|
79 |
+
if ( $latest_plugin !== $this->current_plugin_path ) {
|
80 |
+
require $this->autoloader_locator->get_autoloader_path( $latest_plugin );
|
81 |
+
return false;
|
82 |
+
}
|
83 |
+
|
84 |
+
return true;
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Checks whether the autoloader should be reset. The autoloader should be reset:
|
89 |
+
*
|
90 |
+
* - When a plugin is activated via a method other than a request, for example using WP-CLI.
|
91 |
+
* - When the active plugins list changes between autoloader checks, for example when filtered by a plugin.
|
92 |
+
*
|
93 |
+
* We perform this reset because the manifest files for the plugin will have been initially unknown when
|
94 |
+
* selecting versions for classes and files.
|
95 |
+
*
|
96 |
+
* If the current plugin is not already known, this method will add it to the
|
97 |
+
* $jetpack_autoloader_activating_plugins_paths global.
|
98 |
+
* The $jetpack_autoloader_cached_plugin_paths global will store a cache of the
|
99 |
+
* active plugin paths when last changed.
|
100 |
+
*
|
101 |
+
* @return boolean True if the autoloader must be reset, else false.
|
102 |
+
*/
|
103 |
+
public function should_autoloader_reset() {
|
104 |
+
global $jetpack_autoloader_activating_plugins_paths;
|
105 |
+
global $jetpack_autoloader_cached_plugin_paths;
|
106 |
+
|
107 |
+
$plugin_unknown = ! in_array( $this->current_plugin_path, $this->active_plugin_paths, true );
|
108 |
+
if ( $plugin_unknown ) {
|
109 |
+
if ( ! isset( $jetpack_autoloader_activating_plugins_paths ) ) {
|
110 |
+
$jetpack_autoloader_activating_plugins_paths = array();
|
111 |
+
}
|
112 |
+
|
113 |
+
// If the current plugin isn't known, add it to the activating plugins list.
|
114 |
+
$jetpack_autoloader_activating_plugins_paths[] = $this->current_plugin_path;
|
115 |
+
$this->active_plugin_paths[] = $this->current_plugin_path;
|
116 |
+
}
|
117 |
+
|
118 |
+
$cache_invalidated = $jetpack_autoloader_cached_plugin_paths !== $this->active_plugin_paths;
|
119 |
+
if ( $cache_invalidated ) {
|
120 |
+
$jetpack_autoloader_cached_plugin_paths = $this->active_plugin_paths;
|
121 |
+
}
|
122 |
+
|
123 |
+
return $plugin_unknown || $cache_invalidated;
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Builds the Version_Autoloader class that is used for autoloading.
|
128 |
+
*
|
129 |
+
* @return Version_Loader
|
130 |
+
*/
|
131 |
+
public function build_autoloader() {
|
132 |
+
$manifest_handler = new Manifest_Handler( $this->active_plugin_paths, $this->version_selector );
|
133 |
+
|
134 |
+
global $jetpack_packages_psr4;
|
135 |
+
$jetpack_packages_psr4 = array();
|
136 |
+
$manifest_handler->register_plugin_manifests( 'vendor/composer/jetpack_autoload_psr4.php', $jetpack_packages_psr4 );
|
137 |
+
|
138 |
+
global $jetpack_packages_classmap;
|
139 |
+
$jetpack_packages_classmap = array();
|
140 |
+
$manifest_handler->register_plugin_manifests( 'vendor/composer/jetpack_autoload_classmap.php', $jetpack_packages_classmap );
|
141 |
+
|
142 |
+
global $jetpack_packages_filemap;
|
143 |
+
$jetpack_packages_filemap = array();
|
144 |
+
$manifest_handler->register_plugin_manifests( 'vendor/composer/jetpack_autoload_filemap.php', $jetpack_packages_filemap );
|
145 |
+
|
146 |
+
// Store the generated autoloader data in the loader so we can use it.
|
147 |
+
return new Version_Loader(
|
148 |
+
$this->version_selector,
|
149 |
+
$jetpack_packages_classmap,
|
150 |
+
$jetpack_packages_psr4,
|
151 |
+
$jetpack_packages_filemap
|
152 |
+
);
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Updates the spl autoloader chain:
|
157 |
+
* - Registers this namespace's autoloader function.
|
158 |
+
* - If a v1 autoloader function is registered, moves it to the end of the chain.
|
159 |
+
* - Removes any other v2 autoloader functions that have already been registered. This
|
160 |
+
* can occur when the autoloader is being reset by an activating plugin.
|
161 |
+
*/
|
162 |
+
public function update_autoloader_chain() {
|
163 |
+
spl_autoload_register( __NAMESPACE__ . '\autoloader' );
|
164 |
+
|
165 |
+
$autoload_chain = spl_autoload_functions();
|
166 |
+
|
167 |
+
foreach ( $autoload_chain as $autoloader ) {
|
168 |
+
if ( ! is_string( $autoloader ) ) {
|
169 |
+
/*
|
170 |
+
* The Jetpack Autoloader functions are registered as strings, so
|
171 |
+
* just continue if $autoloader isn't a string.
|
172 |
+
*/
|
173 |
+
continue;
|
174 |
+
}
|
175 |
+
|
176 |
+
if ( self::V1_AUTOLOADER_NAME === $autoloader ) {
|
177 |
+
// Move the v1.* autoloader function to the end of the spl autoloader chain.
|
178 |
+
spl_autoload_unregister( $autoloader );
|
179 |
+
spl_autoload_register( $autoloader );
|
180 |
+
|
181 |
+
} elseif (
|
182 |
+
self::V2_AUTOLOADER_BASE === substr( $autoloader, 0, strlen( self::V2_AUTOLOADER_BASE ) )
|
183 |
+
&& __NAMESPACE__ !== substr( $autoloader, 0, strlen( __NAMESPACE__ ) )
|
184 |
+
) {
|
185 |
+
// Unregister any other v2.* autoloader functions if they're in the chain.
|
186 |
+
spl_autoload_unregister( $autoloader );
|
187 |
+
}
|
188 |
+
}
|
189 |
+
}
|
190 |
+
}
|
vendor/automattic/jetpack-autoloader/src/class-autoloader-locator.php
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* HEADER */ // phpcs:ignore
|
3 |
+
|
4 |
+
use \Automattic\Jetpack\Autoloader\AutoloadGenerator;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* This class locates autoloaders.
|
8 |
+
*/
|
9 |
+
class Autoloader_Locator {
|
10 |
+
|
11 |
+
/**
|
12 |
+
* The object for comparing autoloader versions.
|
13 |
+
*
|
14 |
+
* @var Version_Selector
|
15 |
+
*/
|
16 |
+
private $version_selector;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* The constructor.
|
20 |
+
*
|
21 |
+
* @param Version_Selector $version_selector The version selector object.
|
22 |
+
*/
|
23 |
+
public function __construct( $version_selector ) {
|
24 |
+
$this->version_selector = $version_selector;
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Finds the path to the plugin with the latest autoloader.
|
29 |
+
*
|
30 |
+
* @param array $plugin_paths An array of plugin paths.
|
31 |
+
* @param string $latest_version The latest version reference.
|
32 |
+
*
|
33 |
+
* @return string|null
|
34 |
+
*/
|
35 |
+
public function find_latest_autoloader( $plugin_paths, &$latest_version ) {
|
36 |
+
$latest_plugin = null;
|
37 |
+
|
38 |
+
foreach ( $plugin_paths as $plugin_path ) {
|
39 |
+
$version = $this->get_autoloader_version( $plugin_path );
|
40 |
+
if ( ! $this->version_selector->is_version_update_required( $latest_version, $version ) ) {
|
41 |
+
continue;
|
42 |
+
}
|
43 |
+
|
44 |
+
$latest_version = $version;
|
45 |
+
$latest_plugin = $plugin_path;
|
46 |
+
}
|
47 |
+
|
48 |
+
return $latest_plugin;
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Gets the path to the autoloader.
|
53 |
+
*
|
54 |
+
* @param string $plugin_path The path to the plugin.
|
55 |
+
*
|
56 |
+
* @return string
|
57 |
+
*/
|
58 |
+
public function get_autoloader_path( $plugin_path ) {
|
59 |
+
return trailingslashit( $plugin_path ) . 'vendor/autoload_packages.php';
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Gets the version for the autoloader.
|
64 |
+
*
|
65 |
+
* @param string $plugin_path The path to the plugin.
|
66 |
+
*
|
67 |
+
* @return string|null
|
68 |
+
*/
|
69 |
+
public function get_autoloader_version( $plugin_path ) {
|
70 |
+
$classmap = trailingslashit( $plugin_path ) . 'vendor/composer/jetpack_autoload_classmap.php';
|
71 |
+
if ( ! file_exists( $classmap ) ) {
|
72 |
+
return null;
|
73 |
+
}
|
74 |
+
|
75 |
+
$classmap = require $classmap;
|
76 |
+
if ( isset( $classmap[ AutoloadGenerator::class ] ) ) {
|
77 |
+
return $classmap[ AutoloadGenerator::class ]['version'];
|
78 |
+
}
|
79 |
+
|
80 |
+
return null;
|
81 |
+
}
|
82 |
+
}
|
vendor/automattic/jetpack-autoloader/src/class-manifest-handler.php
ADDED
@@ -0,0 +1,99 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* HEADER */ // phpcs:ignore
|
3 |
+
|
4 |
+
/**
|
5 |
+
* This class selects the most recent version of a registered path.
|
6 |
+
*/
|
7 |
+
class Manifest_Handler {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* An array of the active plugin paths we want to search.
|
11 |
+
*
|
12 |
+
* @var array
|
13 |
+
*/
|
14 |
+
private $active_plugin_paths;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* The Version_Selector object.
|
18 |
+
*
|
19 |
+
* @var Version_Selector
|
20 |
+
*/
|
21 |
+
private $version_selector;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* The constructor.
|
25 |
+
*
|
26 |
+
* @param array $active_plugin_paths An array of the active plugin paths we want to search.
|
27 |
+
* @param Version_Selector $version_selector The Version_Selector object.
|
28 |
+
*/
|
29 |
+
public function __construct( $active_plugin_paths, $version_selector ) {
|
30 |
+
$this->active_plugin_paths = $active_plugin_paths;
|
31 |
+
$this->version_selector = $version_selector;
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Registers all of the paths in a given manifest.
|
36 |
+
*
|
37 |
+
* @param string $manifest_path The path that we're loading the manifest from in each plugin.
|
38 |
+
* @param array $path_map The path map to add the contents of the manifests to.
|
39 |
+
*
|
40 |
+
* @return array $path_map The path map we've built using the manifests in each plugin.
|
41 |
+
*/
|
42 |
+
public function register_plugin_manifests( $manifest_path, &$path_map ) {
|
43 |
+
$file_paths = array_map(
|
44 |
+
function ( $path ) use ( $manifest_path ) {
|
45 |
+
return trailingslashit( $path ) . $manifest_path;
|
46 |
+
},
|
47 |
+
$this->active_plugin_paths
|
48 |
+
);
|
49 |
+
|
50 |
+
foreach ( $file_paths as $path ) {
|
51 |
+
$this->register_manifest( $path, $path_map );
|
52 |
+
}
|
53 |
+
|
54 |
+
return $path_map;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Registers a plugin's manifest file with the path map.
|
59 |
+
*
|
60 |
+
* @param string $manifest_path The absolute path to the manifest that we're loading.
|
61 |
+
* @param array $path_map The path map to add the contents of the manifest to.
|
62 |
+
*/
|
63 |
+
protected function register_manifest( $manifest_path, &$path_map ) {
|
64 |
+
if ( ! is_readable( $manifest_path ) ) {
|
65 |
+
return;
|
66 |
+
}
|
67 |
+
|
68 |
+
$manifest = require $manifest_path;
|
69 |
+
if ( ! is_array( $manifest ) ) {
|
70 |
+
return;
|
71 |
+
}
|
72 |
+
|
73 |
+
foreach ( $manifest as $key => $data ) {
|
74 |
+
$this->register_record( $key, $data, $path_map );
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Registers an entry from the manifest in the path map.
|
80 |
+
*
|
81 |
+
* @param string $key The identifier for the entry we're registering.
|
82 |
+
* @param array $data The data for the entry we're registering.
|
83 |
+
* @param array $path_map The path map to add the contents of the manifest to.
|
84 |
+
*/
|
85 |
+
protected function register_record( $key, $data, &$path_map ) {
|
86 |
+
if ( isset( $path_map[ $key ]['version'] ) ) {
|
87 |
+
$selected_version = $path_map[ $key ]['version'];
|
88 |
+
} else {
|
89 |
+
$selected_version = null;
|
90 |
+
}
|
91 |
+
|
92 |
+
if ( $this->version_selector->is_version_update_required( $selected_version, $data['version'] ) ) {
|
93 |
+
$path_map[ $key ] = array(
|
94 |
+
'version' => $data['version'],
|
95 |
+
'path' => $data['path'],
|
96 |
+
);
|
97 |
+
}
|
98 |
+
}
|
99 |
+
}
|
vendor/automattic/jetpack-autoloader/src/class-plugins-handler.php
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* HEADER */ // phpcs:ignore
|
3 |
+
|
4 |
+
/**
|
5 |
+
* This class provides information about the current plugin and the site's active plugins.
|
6 |
+
*/
|
7 |
+
class Plugins_Handler {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Returns an array containing the paths of all active plugins and all known activating plugins.
|
11 |
+
*
|
12 |
+
* @return array An array of plugin paths as strings or an empty array.
|
13 |
+
*/
|
14 |
+
public function get_all_active_plugins_paths() {
|
15 |
+
global $jetpack_autoloader_activating_plugins_paths;
|
16 |
+
|
17 |
+
$active_plugins_paths = $this->get_active_plugins_paths();
|
18 |
+
$multisite_plugins_paths = $this->get_multisite_plugins_paths();
|
19 |
+
$activating_plugins_paths = $this->get_plugins_activating_via_request();
|
20 |
+
|
21 |
+
return array_unique(
|
22 |
+
array_merge(
|
23 |
+
$active_plugins_paths,
|
24 |
+
$activating_plugins_paths,
|
25 |
+
$multisite_plugins_paths,
|
26 |
+
(array) $jetpack_autoloader_activating_plugins_paths
|
27 |
+
)
|
28 |
+
);
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Returns an array containing the paths of the active sitewide plugins in a multisite environment.
|
33 |
+
*
|
34 |
+
* @return array The paths of the active sitewide plugins or an empty array.
|
35 |
+
*/
|
36 |
+
protected function get_multisite_plugins_paths() {
|
37 |
+
$plugin_slugs = is_multisite()
|
38 |
+
? array_keys( get_site_option( 'active_sitewide_plugins', array() ) )
|
39 |
+
: array();
|
40 |
+
|
41 |
+
$plugin_slugs = array_filter( $plugin_slugs, array( $this, 'is_directory_plugin' ) );
|
42 |
+
return array_map( array( $this, 'create_plugin_path' ), $plugin_slugs );
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Returns an array containing the paths of the currently active plugins.
|
47 |
+
*
|
48 |
+
* @return array The active plugins' paths or an empty array.
|
49 |
+
*/
|
50 |
+
protected function get_active_plugins_paths() {
|
51 |
+
$plugin_slugs = (array) get_option( 'active_plugins', array() );
|
52 |
+
$plugin_slugs = array_filter( $plugin_slugs, array( $this, 'is_directory_plugin' ) );
|
53 |
+
return array_map( array( $this, 'create_plugin_path' ), $plugin_slugs );
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Adds the plugin directory from the WP_PLUGIN_DIR constant to the plugin slug.
|
58 |
+
*
|
59 |
+
* @param string $plugin_slug The plugin slug.
|
60 |
+
*/
|
61 |
+
private function create_plugin_path( $plugin_slug ) {
|
62 |
+
$plugin_dir = str_replace( '\\', '/', WP_PLUGIN_DIR );
|
63 |
+
return trailingslashit( $plugin_dir ) . substr( $plugin_slug, 0, strrpos( $plugin_slug, '/' ) );
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Ensure the plugin has its own directory and not a single-file plugin.
|
68 |
+
*
|
69 |
+
* @param string $plugin Plugin name, may be prefixed with "/".
|
70 |
+
*
|
71 |
+
* @return bool
|
72 |
+
*/
|
73 |
+
public function is_directory_plugin( $plugin ) {
|
74 |
+
return strlen( $plugin ) > 1 && false !== strpos( $plugin, '/', 1 );
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Returns an array containing the names of plugins that are activating via a request.
|
79 |
+
*
|
80 |
+
* @return array An array of names of the activating plugins or an empty array.
|
81 |
+
*/
|
82 |
+
private function get_plugins_activating_via_request() {
|
83 |
+
|
84 |
+
// phpcs:disable WordPress.Security.NonceVerification.Recommended
|
85 |
+
// phpcs:disable WordPress.Security.ValidatedSanitizedInput.MissingUnslash
|
86 |
+
// phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
|
87 |
+
|
88 |
+
$action = isset( $_REQUEST['action'] ) ? $_REQUEST['action'] : false;
|
89 |
+
$plugin = isset( $_REQUEST['plugin'] ) ? $_REQUEST['plugin'] : false;
|
90 |
+
$nonce = isset( $_REQUEST['_wpnonce'] ) ? $_REQUEST['_wpnonce'] : false;
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Note: we're not actually checking the nonce here becase it's too early
|
94 |
+
* in the execution. The pluggable functions are not yet loaded to give
|
95 |
+
* plugins a chance to plug their versions. Therefore we're doing the bare
|
96 |
+
* minimum: checking whether the nonce exists and it's in the right place.
|
97 |
+
* The request will fail later if the nonce doesn't pass the check.
|
98 |
+
*/
|
99 |
+
|
100 |
+
// In case of a single plugin activation there will be a plugin slug.
|
101 |
+
if ( 'activate' === $action && ! empty( $nonce ) ) {
|
102 |
+
return array( $this->create_plugin_path( wp_unslash( $plugin ) ) );
|
103 |
+
}
|
104 |
+
|
105 |
+
$plugins = isset( $_REQUEST['checked'] ) ? $_REQUEST['checked'] : array();
|
106 |
+
|
107 |
+
// In case of bulk activation there will be an array of plugins.
|
108 |
+
if ( 'activate-selected' === $action && ! empty( $nonce ) ) {
|
109 |
+
$plugin_slugs = array_map( 'wp_unslash', $plugins );
|
110 |
+
return array_map( array( $this, 'create_plugin_path' ), $plugin_slugs );
|
111 |
+
}
|
112 |
+
|
113 |
+
// phpcs:enable WordPress.Security.NonceVerification.Recommended
|
114 |
+
// phpcs:enable WordPress.Security.ValidatedSanitizedInput.MissingUnslash
|
115 |
+
// phpcs:enable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
|
116 |
+
return array();
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Returns the path of the current plugin.
|
121 |
+
*
|
122 |
+
* @return string The path of the current plugin.
|
123 |
+
*/
|
124 |
+
public function get_current_plugin_path() {
|
125 |
+
$vendor_path = str_replace( '\\', '/', dirname( __DIR__ ) );
|
126 |
+
// Path to the plugin's folder (the parent of the vendor/jetpack-autoloader folder).
|
127 |
+
return substr( $vendor_path, 0, strrpos( $vendor_path, '/' ) );
|
128 |
+
}
|
129 |
+
}
|
vendor/automattic/jetpack-autoloader/src/class-version-loader.php
ADDED
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* HEADER */ // phpcs:ignore
|
3 |
+
|
4 |
+
/**
|
5 |
+
* This class loads other classes based on given parameters.
|
6 |
+
*/
|
7 |
+
class Version_Loader {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* The Version_Selector object.
|
11 |
+
*
|
12 |
+
* @var Version_Selector
|
13 |
+
*/
|
14 |
+
private $version_selector;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* A map of available classes and their version and file path.
|
18 |
+
*
|
19 |
+
* @var array
|
20 |
+
*/
|
21 |
+
private $classmap;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* A map of PSR-4 namespaces and their version and directory path.
|
25 |
+
*
|
26 |
+
* @var array
|
27 |
+
*/
|
28 |
+
private $psr4_map;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* A map of all the files that we should load.
|
32 |
+
*
|
33 |
+
* @var array
|
34 |
+
*/
|
35 |
+
private $filemap;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* The constructor.
|
39 |
+
*
|
40 |
+
* @param Version_Selector $version_selector The Version_Selector object.
|
41 |
+
* @param array $classmap The verioned classmap to load using.
|
42 |
+
* @param array $psr4_map The versioned PSR-4 map to load using.
|
43 |
+
* @param array $filemap The versioned filemap to load.
|
44 |
+
*/
|
45 |
+
public function __construct( $version_selector, $classmap, $psr4_map, $filemap ) {
|
46 |
+
$this->version_selector = $version_selector;
|
47 |
+
$this->classmap = $classmap;
|
48 |
+
$this->psr4_map = $psr4_map;
|
49 |
+
$this->filemap = $filemap;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Finds the file path for the given class.
|
54 |
+
*
|
55 |
+
* @param string $class_name The class to find.
|
56 |
+
*
|
57 |
+
* @return string|null $file_path The path to the file if found, null if no class was found.
|
58 |
+
*/
|
59 |
+
public function find_class_file( $class_name ) {
|
60 |
+
$data = $this->select_newest_file(
|
61 |
+
isset( $this->classmap[ $class_name ] ) ? $this->classmap[ $class_name ] : null,
|
62 |
+
$this->find_psr4_file( $class_name )
|
63 |
+
);
|
64 |
+
if ( ! isset( $data ) ) {
|
65 |
+
return null;
|
66 |
+
}
|
67 |
+
|
68 |
+
return $data['path'];
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Load all of the files in the filemap.
|
73 |
+
*/
|
74 |
+
public function load_filemap() {
|
75 |
+
if ( empty( $this->filemap ) ) {
|
76 |
+
return;
|
77 |
+
}
|
78 |
+
|
79 |
+
foreach ( $this->filemap as $file_identifier => $file_data ) {
|
80 |
+
if ( empty( $GLOBALS['__composer_autoload_files'][ $file_identifier ] ) ) {
|
81 |
+
require_once $file_data['path'];
|
82 |
+
|
83 |
+
$GLOBALS['__composer_autoload_files'][ $file_identifier ] = true;
|
84 |
+
}
|
85 |
+
}
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Compares different class sources and returns the newest.
|
90 |
+
*
|
91 |
+
* @param array|null $classmap_data The classmap class data.
|
92 |
+
* @param array|null $psr4_data The PSR-4 class data.
|
93 |
+
*
|
94 |
+
* @return array|null $data
|
95 |
+
*/
|
96 |
+
private function select_newest_file( $classmap_data, $psr4_data ) {
|
97 |
+
if ( ! isset( $classmap_data ) ) {
|
98 |
+
return $psr4_data;
|
99 |
+
} elseif ( ! isset( $psr4_data ) ) {
|
100 |
+
return $classmap_data;
|
101 |
+
}
|
102 |
+
|
103 |
+
if ( $this->version_selector->is_version_update_required( $classmap_data['version'], $psr4_data['version'] ) ) {
|
104 |
+
return $psr4_data;
|
105 |
+
}
|
106 |
+
|
107 |
+
return $classmap_data;
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Finds the file for a given class in a PSR-4 namespace.
|
112 |
+
*
|
113 |
+
* @param string $class_name The class to find.
|
114 |
+
*
|
115 |
+
* @return array|null $data The version and path path to the file if found, null otherwise.
|
116 |
+
*/
|
117 |
+
private function find_psr4_file( $class_name ) {
|
118 |
+
if ( ! isset( $this->psr4_map ) ) {
|
119 |
+
return null;
|
120 |
+
}
|
121 |
+
|
122 |
+
// Don't bother with classes that have no namespace.
|
123 |
+
$class_index = strrpos( $class_name, '\\' );
|
124 |
+
if ( ! $class_index ) {
|
125 |
+
return null;
|
126 |
+
}
|
127 |
+
$class_for_path = str_replace( '\\', '/', $class_name );
|
128 |
+
|
129 |
+
// Search for the namespace by iteratively cutting off the last segment until
|
130 |
+
// we find a match. This allows us to check the most-specific namespaces
|
131 |
+
// first as well as minimize the amount of time spent looking.
|
132 |
+
for (
|
133 |
+
$class_namespace = substr( $class_name, 0, $class_index );
|
134 |
+
! empty( $class_namespace );
|
135 |
+
$class_namespace = substr( $class_namespace, 0, strrpos( $class_namespace, '\\' ) )
|
136 |
+
) {
|
137 |
+
$namespace = $class_namespace . '\\';
|
138 |
+
if ( ! isset( $this->psr4_map[ $namespace ] ) ) {
|
139 |
+
continue;
|
140 |
+
}
|
141 |
+
$data = $this->psr4_map[ $namespace ];
|
142 |
+
|
143 |
+
foreach ( $data['path'] as $path ) {
|
144 |
+
$path .= '/' . substr( $class_for_path, strlen( $namespace ) ) . '.php';
|
145 |
+
if ( file_exists( $path ) ) {
|
146 |
+
return array(
|
147 |
+
'version' => $data['version'],
|
148 |
+
'path' => $path,
|
149 |
+
);
|
150 |
+
}
|
151 |
+
}
|
152 |
+
}
|
153 |
+
|
154 |
+
return null;
|
155 |
+
}
|
156 |
+
}
|
vendor/automattic/jetpack-autoloader/src/class-version-selector.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* HEADER */ // phpcs:ignore
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Used to select package versions.
|
6 |
+
*/
|
7 |
+
class Version_Selector {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Checks whether the selected package version should be updated. Composer development
|
11 |
+
* package versions ('9999999-dev' or versions that start with 'dev-') are favored
|
12 |
+
* when the JETPACK_AUTOLOAD_DEV constant is set to true.
|
13 |
+
*
|
14 |
+
* @param String $selected_version The currently selected package version.
|
15 |
+
* @param String $compare_version The package version that is being evaluated to
|
16 |
+
* determine if the version needs to be updated.
|
17 |
+
*
|
18 |
+
* @return Boolean Returns true if the selected package version should be updated,
|
19 |
+
* else false.
|
20 |
+
*/
|
21 |
+
public function is_version_update_required( $selected_version, $compare_version ) {
|
22 |
+
$use_dev_versions = defined( 'JETPACK_AUTOLOAD_DEV' ) && JETPACK_AUTOLOAD_DEV;
|
23 |
+
|
24 |
+
if ( is_null( $selected_version ) ) {
|
25 |
+
return true;
|
26 |
+
}
|
27 |
+
|
28 |
+
if ( $use_dev_versions && $this->is_package_version_dev( $selected_version ) ) {
|
29 |
+
return false;
|
30 |
+
}
|
31 |
+
|
32 |
+
if ( $this->is_package_version_dev( $compare_version ) ) {
|
33 |
+
if ( $use_dev_versions ) {
|
34 |
+
return true;
|
35 |
+
} else {
|
36 |
+
return false;
|
37 |
+
}
|
38 |
+
}
|
39 |
+
|
40 |
+
if ( version_compare( $selected_version, $compare_version, '<' ) ) {
|
41 |
+
return true;
|
42 |
+
}
|
43 |
+
|
44 |
+
return false;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Checks whether the given package version is a development version.
|
49 |
+
*
|
50 |
+
* @param String $version The package version.
|
51 |
+
*
|
52 |
+
* @return Boolean True if the version is a dev version, else false.
|
53 |
+
*/
|
54 |
+
private function is_package_version_dev( $version ) {
|
55 |
+
if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
|
56 |
+
return true;
|
57 |
+
}
|
58 |
+
|
59 |
+
return false;
|
60 |
+
}
|
61 |
+
}
|
vendor/automattic/jetpack-autoloader/src/functions.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* HEADER */ // phpcs:ignore
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Used for autoloading jetpack packages.
|
6 |
+
*
|
7 |
+
* @param string $class_name Class Name to load.
|
8 |
+
*
|
9 |
+
* @return Boolean Whether the class_name was found in the classmap.
|
10 |
+
*/
|
11 |
+
function autoloader( $class_name ) {
|
12 |
+
global $jetpack_autoloader_loader;
|
13 |
+
if ( ! isset( $jetpack_autoloader_loader ) ) {
|
14 |
+
return false;
|
15 |
+
}
|
16 |
+
|
17 |
+
$file = $jetpack_autoloader_loader->find_class_file( $class_name );
|
18 |
+
if ( ! isset( $file ) ) {
|
19 |
+
return false;
|
20 |
+
}
|
21 |
+
|
22 |
+
require_once $file;
|
23 |
+
return true;
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Finds the latest installed autoloader. If this is the latest autoloader, sets
|
28 |
+
* up the classmap and filemap.
|
29 |
+
*/
|
30 |
+
function set_up_autoloader() {
|
31 |
+
global $jetpack_autoloader_latest_version;
|
32 |
+
global $jetpack_autoloader_loader;
|
33 |
+
|
34 |
+
require_once __DIR__ . '/class-plugins-handler.php';
|
35 |
+
require_once __DIR__ . '/class-version-selector.php';
|
36 |
+
require_once __DIR__ . '/class-autoloader-locator.php';
|
37 |
+
require_once __DIR__ . '/class-autoloader-handler.php';
|
38 |
+
|
39 |
+
$plugins_handler = new Plugins_Handler();
|
40 |
+
$version_selector = new Version_Selector();
|
41 |
+
$autoloader_handler = new Autoloader_Handler(
|
42 |
+
$plugins_handler->get_current_plugin_path(),
|
43 |
+
$plugins_handler->get_all_active_plugins_paths(),
|
44 |
+
new Autoloader_Locator( $version_selector ),
|
45 |
+
$version_selector
|
46 |
+
);
|
47 |
+
|
48 |
+
// The autoloader must be reset when a plugin that was previously unknown is detected.
|
49 |
+
if ( $autoloader_handler->should_autoloader_reset() ) {
|
50 |
+
$jetpack_autoloader_latest_version = null;
|
51 |
+
$jetpack_autoloader_loader = null;
|
52 |
+
}
|
53 |
+
|
54 |
+
if ( ! $autoloader_handler->is_latest_autoloader() || isset( $jetpack_autoloader_loader ) ) {
|
55 |
+
return;
|
56 |
+
}
|
57 |
+
|
58 |
+
require_once __DIR__ . '/class-manifest-handler.php';
|
59 |
+
require_once __DIR__ . '/class-version-loader.php';
|
60 |
+
|
61 |
+
$jetpack_autoloader_loader = $autoloader_handler->build_autoloader();
|
62 |
+
$autoloader_handler->update_autoloader_chain();
|
63 |
+
|
64 |
+
// Now that the autoloader is ready we can load the files in the filemap safely.
|
65 |
+
$jetpack_autoloader_loader->load_filemap();
|
66 |
+
}
|
vendor/{setasign/fpdi-fpdf/LICENSE.txt → baltpeter/internetmarke-php/LICENSE}
RENAMED
@@ -1,6 +1,6 @@
|
|
1 |
The MIT License (MIT)
|
2 |
|
3 |
-
Copyright (c)
|
4 |
|
5 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
of this software and associated documentation files (the "Software"), to deal
|
1 |
The MIT License (MIT)
|
2 |
|
3 |
+
Copyright (c) 2017 Benjamin Altpeter <hi@bn.al>
|
4 |
|
5 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
of this software and associated documentation files (the "Software"), to deal
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Address.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class Address extends ApiResult {
|
6 |
+
/**
|
7 |
+
* @var string Address supplement
|
8 |
+
*/
|
9 |
+
protected $additional;
|
10 |
+
/**
|
11 |
+
* @var string Street
|
12 |
+
*/
|
13 |
+
protected $street;
|
14 |
+
/**
|
15 |
+
* @var string House number
|
16 |
+
*/
|
17 |
+
protected $houseNo;
|
18 |
+
/**
|
19 |
+
* @var string Postal code (ZIP code)
|
20 |
+
*/
|
21 |
+
protected $zip;
|
22 |
+
/**
|
23 |
+
* @var string City
|
24 |
+
*/
|
25 |
+
protected $city;
|
26 |
+
/**
|
27 |
+
* @var string 3-digit ISO country code
|
28 |
+
*/
|
29 |
+
protected $country;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Address constructor.
|
33 |
+
*
|
34 |
+
* @param string $additional
|
35 |
+
* @param string $street
|
36 |
+
* @param string $house_no
|
37 |
+
* @param string $zip
|
38 |
+
* @param string $city
|
39 |
+
* @param string $country
|
40 |
+
*/
|
41 |
+
public function __construct($additional, $street, $house_no, $zip, $city, $country) {
|
42 |
+
$this->setAdditional($additional);
|
43 |
+
$this->setStreet($street);
|
44 |
+
$this->setHouseNo($house_no);
|
45 |
+
$this->setZip($zip);
|
46 |
+
$this->setCity($city);
|
47 |
+
$this->setCountry($country);
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @return string
|
52 |
+
*/
|
53 |
+
public function getAdditional() {
|
54 |
+
return $this->additional;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param string $additional
|
59 |
+
*/
|
60 |
+
public function setAdditional($additional) {
|
61 |
+
$this->additional = $additional;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* @return string
|
66 |
+
*/
|
67 |
+
public function getStreet() {
|
68 |
+
return $this->street;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @param string $street
|
73 |
+
*/
|
74 |
+
public function setStreet($street) {
|
75 |
+
$this->street = $street;
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @return string
|
80 |
+
*/
|
81 |
+
public function getHouseNo() {
|
82 |
+
return $this->houseNo;
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* @param string $houseNo
|
87 |
+
*/
|
88 |
+
public function setHouseNo($houseNo) {
|
89 |
+
$this->houseNo = $houseNo;
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* @return string
|
94 |
+
*/
|
95 |
+
public function getZip() {
|
96 |
+
return $this->zip;
|
97 |
+
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* @param string $zip
|
101 |
+
*/
|
102 |
+
public function setZip($zip) {
|
103 |
+
$this->zip = $zip;
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* @return string
|
108 |
+
*/
|
109 |
+
public function getCity() {
|
110 |
+
return $this->city;
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* @param string $city
|
115 |
+
*/
|
116 |
+
public function setCity($city) {
|
117 |
+
$this->city = $city;
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* @return string
|
122 |
+
*/
|
123 |
+
public function getCountry() {
|
124 |
+
return $this->country;
|
125 |
+
}
|
126 |
+
|
127 |
+
/**
|
128 |
+
* @param string $country
|
129 |
+
*/
|
130 |
+
public function setCountry($country) {
|
131 |
+
$this->country = $country;
|
132 |
+
}
|
133 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/AddressBinding.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
use function DeepCopy\deep_copy;
|
6 |
+
|
7 |
+
class AddressBinding extends ApiResult {
|
8 |
+
/**
|
9 |
+
* @var NamedAddress The sender's address
|
10 |
+
*/
|
11 |
+
protected $sender;
|
12 |
+
/**
|
13 |
+
* @var NamedAddress The recipient's address
|
14 |
+
*/
|
15 |
+
protected $receiver;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* AddressBinding constructor.
|
19 |
+
*
|
20 |
+
* @param NamedAddress $sender_address
|
21 |
+
* @param NamedAddress $receiver_address
|
22 |
+
*/
|
23 |
+
public function __construct($sender_address, $receiver_address) {
|
24 |
+
$this->setSender($sender_address);
|
25 |
+
$this->setReceiver($receiver_address);
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @return NamedAddress
|
30 |
+
*/
|
31 |
+
public function getSender() {
|
32 |
+
return $this->sender;
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @param NamedAddress $sender
|
37 |
+
*/
|
38 |
+
public function setSender($sender) {
|
39 |
+
$this->sender = deep_copy($sender);
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @return NamedAddress
|
44 |
+
*/
|
45 |
+
public function getReceiver() {
|
46 |
+
return $this->receiver;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @param NamedAddress $receiver
|
51 |
+
*/
|
52 |
+
public function setReceiver($receiver) {
|
53 |
+
$this->receiver = deep_copy($receiver);
|
54 |
+
}
|
55 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/ApiResult.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
abstract class ApiResult {
|
6 |
+
public static function fromStdObject($std_object) {
|
7 |
+
$class_name = get_called_class();
|
8 |
+
// You might call this a rather convoluted way of achieving the intended result...
|
9 |
+
$object = new $class_name(...array_fill(0, ((new \ReflectionMethod($class_name, '__construct'))->getNumberOfParameters()), null));
|
10 |
+
|
11 |
+
if($std_object) {
|
12 |
+
foreach($std_object as $property => $value) {
|
13 |
+
// taken from https://github.com/doctrine/inflector by the Doctrine Project, Inflector::tableize()
|
14 |
+
$snake_property = mb_strtolower(preg_replace('~(?<=\\w)([A-Z])~u', '_$1', $property));
|
15 |
+
|
16 |
+
if(is_object($value)) {
|
17 |
+
// taken from https://github.com/doctrine/inflector by the Doctrine Project, Inflector::classify()
|
18 |
+
$value_class_name = __NAMESPACE__ . '\\' . str_replace([' ', '_', '-'], '', ucwords($property, ' _-'));
|
19 |
+
if(class_exists($value_class_name) && is_subclass_of($value_class_name, get_class())) {
|
20 |
+
$value = $value_class_name::fromStdObject($value);
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
if(property_exists(get_called_class(), $property)) {
|
25 |
+
$object->$property = $value;
|
26 |
+
} elseif(property_exists(get_called_class(), $snake_property)) {
|
27 |
+
$object->$snake_property = $value;
|
28 |
+
}
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
return $object;
|
33 |
+
}
|
34 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/CompanyName.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
use function DeepCopy\deep_copy;
|
6 |
+
|
7 |
+
class CompanyName {
|
8 |
+
/**
|
9 |
+
* @var string Company name
|
10 |
+
*/
|
11 |
+
protected $company;
|
12 |
+
/**
|
13 |
+
* @var PersonName Name of the company's contact person
|
14 |
+
*/
|
15 |
+
protected $personName;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* CompanyName constructor.
|
19 |
+
*
|
20 |
+
* @param string $company
|
21 |
+
* @param PersonName $person_name
|
22 |
+
*/
|
23 |
+
public function __construct($company, $person_name) {
|
24 |
+
$this->setCompany($company);
|
25 |
+
$this->setPersonName($person_name);
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @return string
|
30 |
+
*/
|
31 |
+
public function getCompany() {
|
32 |
+
return $this->company;
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @param string $company
|
37 |
+
*/
|
38 |
+
public function setCompany($company) {
|
39 |
+
$this->company = $company;
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @return PersonName
|
44 |
+
*/
|
45 |
+
public function getPersonName() {
|
46 |
+
return $this->personName;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @param PersonName $personName
|
51 |
+
*/
|
52 |
+
public function setPersonName($personName) {
|
53 |
+
$this->personName = deep_copy($personName);
|
54 |
+
}
|
55 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/LabelCount.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class LabelCount extends ApiResult {
|
6 |
+
/**
|
7 |
+
* @var int Number of label items in the x direction
|
8 |
+
*/
|
9 |
+
protected $labelX;
|
10 |
+
/**
|
11 |
+
* @var int Number of label items in the y direction
|
12 |
+
*/
|
13 |
+
protected $labelY;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* LabelCount constructor.
|
17 |
+
*
|
18 |
+
* @param int $label_x Number of label items in the x direction
|
19 |
+
* @param int $label_y Number of label items in the y direction
|
20 |
+
*/
|
21 |
+
public function __construct($label_x, $label_y) {
|
22 |
+
$this->setLabelX($label_x);
|
23 |
+
$this->setLabelY($label_y);
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @return int Number of label items in the x direction
|
28 |
+
*/
|
29 |
+
public function getLabelX() {
|
30 |
+
return $this->labelX;
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @param int $labelX Number of label items in the x direction
|
35 |
+
*/
|
36 |
+
public function setLabelX($labelX) {
|
37 |
+
$this->labelX = $labelX;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @return int Number of label items in the y direction
|
42 |
+
*/
|
43 |
+
public function getLabelY() {
|
44 |
+
return $this->labelY;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* @param int $labelY Number of label items in the y direction
|
49 |
+
*/
|
50 |
+
public function setLabelY($labelY) {
|
51 |
+
$this->labelY = $labelY;
|
52 |
+
}
|
53 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/LabelSpacing.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class LabelSpacing extends ApiResult {
|
6 |
+
/**
|
7 |
+
* @var int Spacing between labels in the x direction in millimeters
|
8 |
+
*/
|
9 |
+
protected $x;
|
10 |
+
/**
|
11 |
+
* @var int Spacing between labels in the y direction in millimeters
|
12 |
+
*/
|
13 |
+
protected $y;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Size constructor.
|
17 |
+
*
|
18 |
+
* @param int $x Spacing between labels in the x direction in millimeters
|
19 |
+
* @param int $y Spacing between labels in the y direction in millimeters
|
20 |
+
*/
|
21 |
+
public function __construct($x, $y) {
|
22 |
+
$this->setX($x);
|
23 |
+
$this->setY($y);
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @return int Spacing between labels in the x direction in millimeters
|
28 |
+
*/
|
29 |
+
public function getX() {
|
30 |
+
return $this->x;
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @param int $x Spacing between labels in the x direction in millimeters
|
35 |
+
*/
|
36 |
+
public function setX($x) {
|
37 |
+
$this->x = $x;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @return int Spacing between labels in the y direction in millimeters
|
42 |
+
*/
|
43 |
+
public function getY() {
|
44 |
+
return $this->y;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* @param int $y Spacing between labels in the y direction in millimeters
|
49 |
+
*/
|
50 |
+
public function setY($y) {
|
51 |
+
$this->y = $y;
|
52 |
+
}
|
53 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Margin.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class Margin extends ApiResult {
|
6 |
+
/**
|
7 |
+
* @var int Inner top margin size of the page format in millimeters
|
8 |
+
*/
|
9 |
+
protected $top;
|
10 |
+
/**
|
11 |
+
* @var int Inner bottom margin size of the page format in millimeters
|
12 |
+
*/
|
13 |
+
protected $bottom;
|
14 |
+
/**
|
15 |
+
* @var int Inner left margin size of the page format in millimeters
|
16 |
+
*/
|
17 |
+
protected $left;
|
18 |
+
/**
|
19 |
+
* @var int Inner right margin size of the page format in millimeters
|
20 |
+
*/
|
21 |
+
protected $right;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Margin constructor.
|
25 |
+
*
|
26 |
+
* @param int $top Inner top margin size of the page format in millimeters
|
27 |
+
* @param int $bottom Inner bottom margin size of the page format in millimeters
|
28 |
+
* @param int $left Inner left margin size of the page format in millimeters
|
29 |
+
* @param int $right Inner right margin size of the page format in millimeters
|
30 |
+
*/
|
31 |
+
public function __construct($top, $bottom, $left, $right) {
|
32 |
+
$this->setTop($top);
|
33 |
+
$this->setBottom($bottom);
|
34 |
+
$this->setLeft($left);
|
35 |
+
$this->setRight($right);
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @return int Inner top margin size of the page format in millimeters
|
40 |
+
*/
|
41 |
+
public function getTop() {
|
42 |
+
return $this->top;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param int $top Inner top margin size of the page format in millimeters
|
47 |
+
*/
|
48 |
+
public function setTop($top) {
|
49 |
+
$this->top = $top;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @return int Inner bottom margin size of the page format in millimeters
|
54 |
+
*/
|
55 |
+
public function getBottom() {
|
56 |
+
return $this->bottom;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param int $bottom Inner bottom margin size of the page format in millimeters
|
61 |
+
*/
|
62 |
+
public function setBottom($bottom) {
|
63 |
+
$this->bottom = $bottom;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @return int Inner left margin size of the page format in millimeters
|
68 |
+
*/
|
69 |
+
public function getLeft() {
|
70 |
+
return $this->left;
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* @param int $left Inner left margin size of the page format in millimeters
|
75 |
+
*/
|
76 |
+
public function setLeft($left) {
|
77 |
+
$this->left = $left;
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @return int Inner right margin size of the page format in millimeters
|
82 |
+
*/
|
83 |
+
public function getRight() {
|
84 |
+
return $this->right;
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* @param int $right Inner right margin size of the page format in millimeters
|
89 |
+
*/
|
90 |
+
public function setRight($right) {
|
91 |
+
$this->right = $right;
|
92 |
+
}
|
93 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Name.php
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
use function DeepCopy\deep_copy;
|
6 |
+
|
7 |
+
class Name extends ApiResult {
|
8 |
+
/**
|
9 |
+
* @var PersonName First name and last name of a natural person
|
10 |
+
* (The parameters name and companyName are mutually exclusive, i.e., if a companyName is used, there must be no details on name.)
|
11 |
+
*/
|
12 |
+
protected $personName;
|
13 |
+
/**
|
14 |
+
* @var CompanyName Company name and contact person
|
15 |
+
* (The parameters name and companyName are mutually exclusive, i.e., if a companyName is used, there must be no details on name.)
|
16 |
+
*/
|
17 |
+
protected $companyName;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Name constructor.
|
21 |
+
*
|
22 |
+
* @param PersonName $person_name
|
23 |
+
* @param CompanyName $company_name
|
24 |
+
*/
|
25 |
+
public function __construct($person_name, $company_name) {
|
26 |
+
$this->setPersonName($person_name);
|
27 |
+
$this->setCompanyName($company_name);
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* @return PersonName
|
32 |
+
*/
|
33 |
+
public function getPersonName() {
|
34 |
+
return $this->personName;
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @param PersonName $personName
|
39 |
+
*/
|
40 |
+
public function setPersonName($personName) {
|
41 |
+
$this->personName = deep_copy($personName);
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* @return CompanyName
|
46 |
+
*/
|
47 |
+
public function getCompanyName() {
|
48 |
+
return $this->companyName;
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @param CompanyName $companyName
|
53 |
+
*/
|
54 |
+
public function setCompanyName($companyName) {
|
55 |
+
$this->companyName = deep_copy($companyName);
|
56 |
+
}
|
57 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/NamedAddress.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
use function DeepCopy\deep_copy;
|
6 |
+
|
7 |
+
class NamedAddress extends ApiResult {
|
8 |
+
/**
|
9 |
+
* @var Name A person or company name
|
10 |
+
*/
|
11 |
+
protected $name;
|
12 |
+
/**
|
13 |
+
* @var Address An address
|
14 |
+
*/
|
15 |
+
protected $address;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* NamedAddress constructor.
|
19 |
+
*
|
20 |
+
* @param Name $name
|
21 |
+
* @param Address $address
|
22 |
+
*/
|
23 |
+
public function __construct(Name $name, Address $address) {
|
24 |
+
$this->setName($name);
|
25 |
+
$this->setAddress($address);
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* @return Name
|
30 |
+
*/
|
31 |
+
public function getName() {
|
32 |
+
return $this->name;
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @param Name $name
|
37 |
+
*/
|
38 |
+
public function setName($name) {
|
39 |
+
$this->name = deep_copy($name);
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @return Address
|
44 |
+
*/
|
45 |
+
public function getAddress() {
|
46 |
+
return $this->address;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @param Address $address
|
51 |
+
*/
|
52 |
+
public function setAddress($address) {
|
53 |
+
$this->address = deep_copy($address);
|
54 |
+
}
|
55 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/OrderItem.php
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
use function DeepCopy\deep_copy;
|
6 |
+
|
7 |
+
class OrderItem extends ApiResult {
|
8 |
+
/**
|
9 |
+
* @var int Deutsche Post’s internal product ID for the selected product
|
10 |
+
*/
|
11 |
+
protected $productCode;
|
12 |
+
/**
|
13 |
+
* @var int ID of the image to be printed
|
14 |
+
*/
|
15 |
+
protected $imageId;
|
16 |
+
/**
|
17 |
+
* @var AddressBinding Optional address details for Internet stamps in the address zone
|
18 |
+
*/
|
19 |
+
protected $address;
|
20 |
+
/**
|
21 |
+
* @var Position Optional specification of the position of the Internet stamp on the PDF document
|
22 |
+
*/
|
23 |
+
protected $position;
|
24 |
+
/**
|
25 |
+
* @var string Layout of the Internet stamp (possible values: 'AddressZone' and 'FrankingZone')
|
26 |
+
*/
|
27 |
+
protected $voucherLayout;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* OrderItem constructor.
|
31 |
+
*
|
32 |
+
* @param int $product_code
|
33 |
+
* @param int $image_id
|
34 |
+
* @param AddressBinding $address_binding
|
35 |
+
* @param Position $position
|
36 |
+
* @param string $voucher_layout
|
37 |
+
*/
|
38 |
+
public function __construct($product_code, $image_id, $address_binding, $position, $voucher_layout) {
|
39 |
+
$this->setProductCode($product_code);
|
40 |
+
$this->setImageId($image_id);
|
41 |
+
$this->setAddress($address_binding);
|
42 |
+
$this->setPosition($position);
|
43 |
+
$this->setVoucherLayout($voucher_layout);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @return int
|
48 |
+
*/
|
49 |
+
public function getProductCode() {
|
50 |
+
return $this->productCode;
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @param int $productCode
|
55 |
+
*/
|
56 |
+
public function setProductCode($productCode) {
|
57 |
+
$this->productCode = $productCode;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* @return int
|
62 |
+
*/
|
63 |
+
public function getImageId() {
|
64 |
+
return $this->imageId;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param int $imageId
|
69 |
+
*/
|
70 |
+
public function setImageId($imageId) {
|
71 |
+
$this->imageId = $imageId;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @return AddressBinding
|
76 |
+
*/
|
77 |
+
public function getAddress() {
|
78 |
+
return $this->address;
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* @param AddressBinding $address
|
83 |
+
*/
|
84 |
+
public function setAddress($address) {
|
85 |
+
$this->address = deep_copy($address);
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @return Position
|
90 |
+
*/
|
91 |
+
public function getPosition() {
|
92 |
+
return $this->position;
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* @param Position $position
|
97 |
+
*/
|
98 |
+
public function setPosition($position) {
|
99 |
+
$this->position = deep_copy($position);
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* @return string
|
104 |
+
*/
|
105 |
+
public function getVoucherLayout() {
|
106 |
+
return $this->voucherLayout;
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* @param string $voucherLayout
|
111 |
+
*/
|
112 |
+
public function setVoucherLayout($voucherLayout) {
|
113 |
+
$this->voucherLayout = $voucherLayout;
|
114 |
+
}
|
115 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PageFormat.php
ADDED
@@ -0,0 +1,155 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
use function DeepCopy\deep_copy;
|
6 |
+
|
7 |
+
class PageFormat extends ApiResult {
|
8 |
+
/**
|
9 |
+
* @var int Page format ID
|
10 |
+
*/
|
11 |
+
protected $id;
|
12 |
+
/**
|
13 |
+
* @var bool true if addresses can be printed on the franking marks using the page format
|
14 |
+
*/
|
15 |
+
protected $isAddressPossible;
|
16 |
+
/**
|
17 |
+
* @var bool true if image can be printed on the franking marks using the page format
|
18 |
+
*/
|
19 |
+
protected $isImagePossible;
|
20 |
+
/**
|
21 |
+
* @var string Name of the page format (e.g. 'DIN A4 normal paper' or 'letter C5 162 x 229')
|
22 |
+
*/
|
23 |
+
protected $name;
|
24 |
+
/**
|
25 |
+
* @var string Description of the page format
|
26 |
+
*/
|
27 |
+
protected $description;
|
28 |
+
/**
|
29 |
+
* @var string Specification of the print medium (possible values: 'REGULARPAGE', 'ENVELOPE', 'LABELPRINTER', 'LABELPAGE')
|
30 |
+
*/
|
31 |
+
protected $pageType;
|
32 |
+
/**
|
33 |
+
* @var PageLayout Description of the page layout in a structured format
|
34 |
+
*/
|
35 |
+
protected $pageLayout;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* PageFormat constructor.
|
39 |
+
*
|
40 |
+
* @param int $id
|
41 |
+
* @param bool $is_address_possible
|
42 |
+
* @param bool $is_image_possible
|
43 |
+
* @param string $name
|
44 |
+
* @param string $description
|
45 |
+
* @param string $page_type
|
46 |
+
* @param PageLayout $page_layout
|
47 |
+
*/
|
48 |
+
public function __construct($id, $is_address_possible, $is_image_possible, $name, $description, $page_type, $page_layout) {
|
49 |
+
$this->setId($id);
|
50 |
+
$this->setIsAddressPossible($is_address_possible);
|
51 |
+
$this->setIsImagePossible($is_image_possible);
|
52 |
+
$this->setName($name);
|
53 |
+
$this->setDescription($description);
|
54 |
+
$this->setPageType($page_type);
|
55 |
+
$this->setPageLayout($page_layout);
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @return int
|
60 |
+
*/
|
61 |
+
public function getId() {
|
62 |
+
return $this->id;
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* @param int $id
|
67 |
+
*/
|
68 |
+
public function setId($id) {
|
69 |
+
$this->id = $id;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* @return boolean
|
74 |
+
*/
|
75 |
+
public function isIsAddressPossible() {
|
76 |
+
return $this->isAddressPossible;
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* @param boolean $isAddressPossible
|
81 |
+
*/
|
82 |
+
public function setIsAddressPossible($isAddressPossible) {
|
83 |
+
$this->isAddressPossible = $isAddressPossible;
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* @return boolean
|
88 |
+
*/
|
89 |
+
public function isIsImagePossible() {
|
90 |
+
return $this->isImagePossible;
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* @param boolean $isImagePossible
|
95 |
+
*/
|
96 |
+
public function setIsImagePossible($isImagePossible) {
|
97 |
+
$this->isImagePossible = $isImagePossible;
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* @return string
|
102 |
+
*/
|
103 |
+
public function getName() {
|
104 |
+
return $this->name;
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* @param string $name
|
109 |
+
*/
|
110 |
+
public function setName($name) {
|
111 |
+
$this->name = $name;
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* @return string
|
116 |
+
*/
|
117 |
+
public function getDescription() {
|
118 |
+
return $this->description;
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* @param string $description
|
123 |
+
*/
|
124 |
+
public function setDescription($description) {
|
125 |
+
$this->description = $description;
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* @return string
|
130 |
+
*/
|
131 |
+
public function getPageType() {
|
132 |
+
return $this->pageType;
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* @param string $pageType
|
137 |
+
*/
|
138 |
+
public function setPageType($pageType) {
|
139 |
+
$this->pageType = $pageType;
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* @return PageLayout
|
144 |
+
*/
|
145 |
+
public function getPageLayout() {
|
146 |
+
return $this->pageLayout;
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* @param PageLayout $pageLayout
|
151 |
+
*/
|
152 |
+
public function setPageLayout($pageLayout) {
|
153 |
+
$this->pageLayout = deep_copy($pageLayout);
|
154 |
+
}
|
155 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PageLayout.php
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
use function DeepCopy\deep_copy;
|
6 |
+
|
7 |
+
class PageLayout extends ApiResult {
|
8 |
+
/**
|
9 |
+
* @var Size Dimension of the page format in millimeters in the x and y direction
|
10 |
+
*/
|
11 |
+
protected $size;
|
12 |
+
/**
|
13 |
+
* @var string Page orientation (possible values: 'PORTRAIT' and 'LANDSCAPE')
|
14 |
+
*/
|
15 |
+
protected $orientation;
|
16 |
+
/**
|
17 |
+
* @var LabelSpacing Spacing between labels in millimeters
|
18 |
+
*/
|
19 |
+
protected $labelSpacing;
|
20 |
+
/**
|
21 |
+
* @var LabelCount Number of label items in the x and y direction
|
22 |
+
*/
|
23 |
+
protected $labelCount;
|
24 |
+
/**
|
25 |
+
* @var Margin Inner margin size of the page format in millimeters
|
26 |
+
*/
|
27 |
+
protected $margin;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* PageLayout constructor.
|
31 |
+
*
|
32 |
+
* @param Size $size Dimension of the page format in millimeters in the x and y direction
|
33 |
+
* @param string $orientation Page orientation (possible values: 'PORTRAIT' and 'LANDSCAPE')
|
34 |
+
* @param LabelSpacing $label_spacing Spacing between labels in millimeters
|
35 |
+
* @param LabelCount $label_count Number of label items in the x and y direction
|
36 |
+
* @param Margin $margin Inner margin size of the page format in millimeters
|
37 |
+
*/
|
38 |
+
public function __construct($size, $orientation, $label_spacing, $label_count, $margin) {
|
39 |
+
$this->setSize($size);
|
40 |
+
$this->setOrientation($orientation);
|
41 |
+
$this->setLabelSpacing($label_spacing);
|
42 |
+
$this->setLabelCount($label_count);
|
43 |
+
$this->setMargin($margin);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @return Size Dimension of the page format in millimeters in the x and y direction
|
48 |
+
*/
|
49 |
+
public function getSize() {
|
50 |
+
return $this->size;
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @param Size $size Dimension of the page format in millimeters in the x and y direction
|
55 |
+
*/
|
56 |
+
public function setSize($size) {
|
57 |
+
$this->size = deep_copy($size);
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* @return string Page orientation (possible values: 'PORTRAIT' and 'LANDSCAPE')
|
62 |
+
*/
|
63 |
+
public function getOrientation() {
|
64 |
+
return $this->orientation;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param string $orientation Page orientation (possible values: 'PORTRAIT' and 'LANDSCAPE')
|
69 |
+
*/
|
70 |
+
public function setOrientation($orientation) {
|
71 |
+
$this->orientation = $orientation;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @return LabelSpacing Spacing between labels in millimeters
|
76 |
+
*/
|
77 |
+
public function getLabelSpacing() {
|
78 |
+
return $this->labelSpacing;
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* @param LabelSpacing $labelSpacing Spacing between labels in millimeters
|
83 |
+
*/
|
84 |
+
public function setLabelSpacing($labelSpacing) {
|
85 |
+
$this->labelSpacing = deep_copy($labelSpacing);
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @return LabelCount Number of label items in the x and y direction
|
90 |
+
*/
|
91 |
+
public function getLabelCount() {
|
92 |
+
return $this->labelCount;
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* @param LabelCount $labelCount Number of label items in the x and y direction
|
97 |
+
*/
|
98 |
+
public function setLabelCount($labelCount) {
|
99 |
+
$this->labelCount = deep_copy($labelCount);
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* @return Margin Inner margin size of the page format in millimeters
|
104 |
+
*/
|
105 |
+
public function getMargin() {
|
106 |
+
return $this->margin;
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* @param Margin $margin Inner margin size of the page format in millimeters
|
111 |
+
*/
|
112 |
+
public function setMargin($margin) {
|
113 |
+
$this->margin = deep_copy($margin);
|
114 |
+
}
|
115 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PartnerInformation.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class PartnerInformation {
|
6 |
+
/**
|
7 |
+
* @var string The partner's ID as supplied by DPDHL
|
8 |
+
*/
|
9 |
+
protected $partnerId;
|
10 |
+
/**
|
11 |
+
* @var int The secret to be used for the signature (usually 1)
|
12 |
+
*/
|
13 |
+
protected $keyPhase;
|
14 |
+
/**
|
15 |
+
* @var string A secret (and static) key supplied to the partner by DPDHL
|
16 |
+
*/
|
17 |
+
protected $schlusselDpwnMeinmarktplatz;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* PartnerInformation constructor.
|
21 |
+
*
|
22 |
+
* @param string $partner_id The partner's ID as supplied by DPDHL
|
23 |
+
* @param int $key_phase The secret to be used for the signature (usually 1)
|
24 |
+
* @param string $schlussel_dpwn_meinmarktplatz A secret (and static) key supplied to the partner by DPDHL
|
25 |
+
*/
|
26 |
+
public function __construct($partner_id, $key_phase, $schlussel_dpwn_meinmarktplatz) {
|
27 |
+
$this->setPartnerId($partner_id);
|
28 |
+
$this->setKeyPhase($key_phase);
|
29 |
+
$this->setSchlusselDpwnMeinmarktplatz($schlussel_dpwn_meinmarktplatz);
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @return string The partner's ID as supplied by DPDHL
|
34 |
+
*/
|
35 |
+
public function getPartnerId() {
|
36 |
+
return $this->partnerId;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @param string $partnerId The partner's ID as supplied by DPDHL
|
41 |
+
*/
|
42 |
+
public function setPartnerId($partnerId) {
|
43 |
+
$this->partnerId = $partnerId;
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @return int The secret to be used for the signature (usually 1)
|
48 |
+
*/
|
49 |
+
public function getKeyPhase() {
|
50 |
+
return $this->keyPhase;
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @param int $keyPhase The secret to be used for the signature (usually 1)
|
55 |
+
*/
|
56 |
+
public function setKeyPhase($keyPhase) {
|
57 |
+
$this->keyPhase = $keyPhase;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* @return string A secret (and static) key supplied to the partner by DPDHL
|
62 |
+
*/
|
63 |
+
public function getSchlusselDpwnMeinmarktplatz() {
|
64 |
+
return $this->schlusselDpwnMeinmarktplatz;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param string $schlusselDpwnMeinmarktplatz A secret (and static) key supplied to the partner by DPDHL
|
69 |
+
*/
|
70 |
+
public function setSchlusselDpwnMeinmarktplatz($schlusselDpwnMeinmarktplatz) {
|
71 |
+
$this->schlusselDpwnMeinmarktplatz = $schlusselDpwnMeinmarktplatz;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @return string The signature to be appended to the request header
|
76 |
+
*/
|
77 |
+
protected function calculateSignature() {
|
78 |
+
return substr(md5($this->partnerId . '::' . date('dmY-His') . '::' . $this->keyPhase . '::' . $this->schlusselDpwnMeinmarktplatz), 0, 8);
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* @return array An array of SOAP headers to authenticate the request with the Internetmarke server. Valid for four minutes from `REQUEST_TIMESTAMP`
|
83 |
+
*/
|
84 |
+
public function soapHeaderArray() {
|
85 |
+
date_default_timezone_set('Europe/Berlin'); // The DPAG server requires a date from the German timezone
|
86 |
+
return array(
|
87 |
+
new \SoapHeader('https://internetmarke.deutschepost.de', 'PARTNER_ID', $this->partnerId),
|
88 |
+
new \SoapHeader('https://internetmarke.deutschepost.de', 'REQUEST_TIMESTAMP', date('dmY-His')),
|
89 |
+
new \SoapHeader('https://internetmarke.deutschepost.de', 'KEY_PHASE', $this->keyPhase),
|
90 |
+
new \SoapHeader('https://internetmarke.deutschepost.de', 'PARTNER_SIGNATURE', $this->calculateSignature())
|
91 |
+
);
|
92 |
+
}
|
93 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PersonName.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class PersonName extends ApiResult {
|
6 |
+
/**
|
7 |
+
* @var string
|
8 |
+
*/
|
9 |
+
protected $salutation;
|
10 |
+
/**
|
11 |
+
* @var string
|
12 |
+
*/
|
13 |
+
protected $title;
|
14 |
+
/**
|
15 |
+
* @var string
|
16 |
+
*/
|
17 |
+
protected $firstname;
|
18 |
+
/**
|
19 |
+
* @var string
|
20 |
+
*/
|
21 |
+
protected $lastname;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* PersonName constructor.
|
25 |
+
*
|
26 |
+
* @param string $salutation
|
27 |
+
* @param string $title
|
28 |
+
* @param string $firstname
|
29 |
+
* @param string $lastname
|
30 |
+
*/
|
31 |
+
public function __construct($salutation, $title, $firstname, $lastname) {
|
32 |
+
$this->setSalutation($salutation);
|
33 |
+
$this->setTitle($title);
|
34 |
+
$this->setFirstname($firstname);
|
35 |
+
$this->setLastname($lastname);
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @return string
|
40 |
+
*/
|
41 |
+
public function getSalutation() {
|
42 |
+
return $this->salutation;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param string $salutation
|
47 |
+
*/
|
48 |
+
public function setSalutation($salutation) {
|
49 |
+
$this->salutation = $salutation;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @return string
|
54 |
+
*/
|
55 |
+
public function getTitle() {
|
56 |
+
return $this->title;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param string $title
|
61 |
+
*/
|
62 |
+
public function setTitle($title) {
|
63 |
+
$this->title = $title;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @return string
|
68 |
+
*/
|
69 |
+
public function getFirstname() {
|
70 |
+
return $this->firstname;
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* @param string $firstname
|
75 |
+
*/
|
76 |
+
public function setFirstname($firstname) {
|
77 |
+
$this->firstname = $firstname;
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @return string
|
82 |
+
*/
|
83 |
+
public function getLastname() {
|
84 |
+
return $this->lastname;
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* @param string $lastname
|
89 |
+
*/
|
90 |
+
public function setLastname($lastname) {
|
91 |
+
$this->lastname = $lastname;
|
92 |
+
}
|
93 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PortokasseCharge.php
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Helper class to create form
|
7 |
+
* for loading the portokasse
|
8 |
+
*/
|
9 |
+
class PortokasseCharge
|
10 |
+
{
|
11 |
+
/**
|
12 |
+
* @var string Generated during authentification in service class
|
13 |
+
*/
|
14 |
+
protected $user_token;
|
15 |
+
/**
|
16 |
+
* @var datetime in format dmY-His. The form is only valid for the next 4 minutes
|
17 |
+
*/
|
18 |
+
protected $time;
|
19 |
+
/**
|
20 |
+
* @var string url where user is redirected after successfully loading the portokasse
|
21 |
+
*/
|
22 |
+
protected $success_url;
|
23 |
+
/**
|
24 |
+
* @var string url where user is redirected after failing to load the portokasse
|
25 |
+
*/
|
26 |
+
protected $cancel_url;
|
27 |
+
/**
|
28 |
+
* @var integer number of eurocents of the balance of the portokasse after payment.
|
29 |
+
* Example: When user has an actual balance of 400 eurocents on his portokasse
|
30 |
+
* and he submits this form with $balance=1500 he will be asked
|
31 |
+
* to pay 1100. However, he has to pay at least 1000 eurocents regardless of his current balance.
|
32 |
+
*/
|
33 |
+
protected $balance;
|
34 |
+
/**
|
35 |
+
* @var ParterInformation
|
36 |
+
*/
|
37 |
+
protected $partner_information;
|
38 |
+
|
39 |
+
/**
|
40 |
+
* [__construct description]
|
41 |
+
* @param ParterInformation $parter_information
|
42 |
+
* @param string $user_token Unique user ID
|
43 |
+
* @param string $success_url redirect url after success
|
44 |
+
* @param string $cancel_url redirect url after failure
|
45 |
+
* @param integer $balance balance in eurocents of the portokasse after payment
|
46 |
+
*/
|
47 |
+
public function __construct(PartnerInformation $partner_information, $user_token, $success_url, $cancel_url, $balance = 1000)
|
48 |
+
{
|
49 |
+
$this->user_token = $user_token;
|
50 |
+
$this->time = date('dmY-His');
|
51 |
+
$this->success_url = $success_url;
|
52 |
+
$this->cancel_url = $cancel_url;
|
53 |
+
$this->balance = $balance;
|
54 |
+
$this->partner_information = $partner_information;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
*
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
+
public function getSignature()
|
62 |
+
{
|
63 |
+
return substr(md5($this->partner_information->getPartnerId() . '::' . $this->time . '::' . $this->success_url . '::' . $this->cancel_url . '::' . $this->user_token . '::' . $this->balance . '::' . $this->partner_information->getSchlusselDpwnMeinmarktplatz()), 0, 8);
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
*
|
68 |
+
* @return string
|
69 |
+
*/
|
70 |
+
public function getUserToken()
|
71 |
+
{
|
72 |
+
return $this->user_token;
|
73 |
+
}
|
74 |
+
|
75 |
+
public function getRequestTimestamp() {
|
76 |
+
return $this->time;
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
*
|
81 |
+
* @return string
|
82 |
+
*/
|
83 |
+
public function getSuccessUrl()
|
84 |
+
{
|
85 |
+
return $this->success_url;
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
*
|
90 |
+
* @return string
|
91 |
+
*/
|
92 |
+
public function getCancelUrl()
|
93 |
+
{
|
94 |
+
return $this->cancel_url;
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
*
|
99 |
+
* @return integer
|
100 |
+
*/
|
101 |
+
public function getBalance()
|
102 |
+
{
|
103 |
+
return $this->balance;
|
104 |
+
}
|
105 |
+
|
106 |
+
|
107 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Position.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class Position {
|
6 |
+
/**
|
7 |
+
* @var int Column on the page
|
8 |
+
*/
|
9 |
+
protected $labelX;
|
10 |
+
/**
|
11 |
+
* @var int Row on the page
|
12 |
+
*/
|
13 |
+
protected $labelY;
|
14 |
+
/**
|
15 |
+
* @var int Page number
|
16 |
+
*/
|
17 |
+
protected $page;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Position constructor.
|
21 |
+
*
|
22 |
+
* @param int $label_x
|
23 |
+
* @param int $label_y
|
24 |
+
* @param int $page
|
25 |
+
*/
|
26 |
+
public function __construct($label_x, $label_y, $page) {
|
27 |
+
$this->setLabelX($label_x);
|
28 |
+
$this->setLabelY($label_y);
|
29 |
+
$this->setPage($page);
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @return int
|
34 |
+
*/
|
35 |
+
public function getLabelX() {
|
36 |
+
return $this->labelX;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @param int $labelX
|
41 |
+
*/
|
42 |
+
public function setLabelX($labelX) {
|
43 |
+
$this->labelX = $labelX;
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @return int
|
48 |
+
*/
|
49 |
+
public function getLabelY() {
|
50 |
+
return $this->labelY;
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @param int $labelY
|
55 |
+
*/
|
56 |
+
public function setLabelY($labelY) {
|
57 |
+
$this->labelY = $labelY;
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* @return int
|
62 |
+
*/
|
63 |
+
public function getPage() {
|
64 |
+
return $this->page;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param int $page
|
69 |
+
*/
|
70 |
+
public function setPage($page) {
|
71 |
+
$this->page = $page;
|
72 |
+
}
|
73 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/PublicGalleryItem.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class PublicGalleryItem extends ApiResult {
|
6 |
+
/**
|
7 |
+
* @var string Technical designation of the image category
|
8 |
+
*/
|
9 |
+
protected $category;
|
10 |
+
/**
|
11 |
+
* @var string Category and type of image
|
12 |
+
*/
|
13 |
+
protected $categoryDescription;
|
14 |
+
/**
|
15 |
+
* @var int Technical ID, which uniquely identifies the category
|
16 |
+
*/
|
17 |
+
protected $categoryId;
|
18 |
+
/**
|
19 |
+
* @var array An array of the images
|
20 |
+
*/
|
21 |
+
protected $images;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* PublicGalleryItem constructor.
|
25 |
+
*
|
26 |
+
* @param string $category
|
27 |
+
* @param string $category_description
|
28 |
+
* @param int $category_id
|
29 |
+
* @param array $images
|
30 |
+
*/
|
31 |
+
public function __construct($category, $category_description, $category_id, array $images = null) {
|
32 |
+
$this->setCategory($category);
|
33 |
+
$this->setCategoryDescription($category_description);
|
34 |
+
$this->setCategoryId($category_id);
|
35 |
+
$this->setImages($images);
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @return string
|
40 |
+
*/
|
41 |
+
public function getCategory() {
|
42 |
+
return $this->category;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param string $category
|
47 |
+
*/
|
48 |
+
public function setCategory($category) {
|
49 |
+
$this->category = $category;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @return string
|
54 |
+
*/
|
55 |
+
public function getCategoryDescription() {
|
56 |
+
return $this->categoryDescription;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param string $categoryDescription
|
61 |
+
*/
|
62 |
+
public function setCategoryDescription($categoryDescription) {
|
63 |
+
$this->categoryDescription = $categoryDescription;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @return int
|
68 |
+
*/
|
69 |
+
public function getCategoryId() {
|
70 |
+
return $this->categoryId;
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* @param int $categoryId
|
75 |
+
*/
|
76 |
+
public function setCategoryId($categoryId) {
|
77 |
+
$this->categoryId = $categoryId;
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @return array
|
82 |
+
*/
|
83 |
+
public function getImages() {
|
84 |
+
return $this->images;
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* @param array $images
|
89 |
+
*/
|
90 |
+
public function setImages($images) {
|
91 |
+
$this->images = $images;
|
92 |
+
}
|
93 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Service.php
ADDED
@@ -0,0 +1,178 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class Service extends \SoapClient {
|
6 |
+
protected $partner_information;
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Service constructor.
|
10 |
+
*
|
11 |
+
* @param $partner_information PartnerInformation
|
12 |
+
* @param array $options A array of config values for `SoapClient` (see PHP docs)
|
13 |
+
* @param string $wsdl The wsdl file to use (defaults to 'https://internetmarke.deutschepost.de/OneClickForAppV3?wsdl')
|
14 |
+
*/
|
15 |
+
public function __construct($partner_information, $options = array(), $wsdl = null) {
|
16 |
+
$this->partner_information = $partner_information;
|
17 |
+
$options = array_merge(array('features' => SOAP_SINGLE_ELEMENT_ARRAYS), $options);
|
18 |
+
if($wsdl === null) {
|
19 |
+
$wsdl = 'https://internetmarke.deutschepost.de/OneClickForAppV3?wsdl';
|
20 |
+
}
|
21 |
+
parent::__construct($wsdl, $options);
|
22 |
+
$this->__setSoapHeaders($this->partner_information->soapHeaderArray());
|
23 |
+
}
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Used to authenticate a user on the system. Returns a token and some information about the user
|
27 |
+
*
|
28 |
+
* @param $username string The user's email address
|
29 |
+
* @param $password string The user's (plaintext) password
|
30 |
+
* @return User An object holding: - a token used as authentication for other methods, - the user's wallet balance,
|
31 |
+
* - whether the user accepted the T&C, - an (optional) information text
|
32 |
+
*/
|
33 |
+
public function authenticateUser($username, $password) {
|
34 |
+
$result = $this->__soapCall('authenticateUser', array('AuthenticateUserRequest' => array('username' => $username, 'password' => $password)));
|
35 |
+
return User::fromStdObject($result);
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Fetch a list of all valid page formats
|
40 |
+
*
|
41 |
+
* @return PageFormat[]
|
42 |
+
*/
|
43 |
+
public function retrievePageFormats() {
|
44 |
+
$result = $this->__soapCall('retrievePageFormats', array());
|
45 |
+
$array_result = array();
|
46 |
+
foreach($result->pageFormat as $item) {
|
47 |
+
$array_result[] = PageFormat::fromStdObject($item);
|
48 |
+
}
|
49 |
+
return $array_result;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Generate a unique order number (if your system doesn't generate its own)
|
54 |
+
*
|
55 |
+
* @param $user_token string A token to authenticate the user (gotten from `authenticateUser`)
|
56 |
+
* @return string Next available shop order ID
|
57 |
+
*/
|
58 |
+
public function createShopOrderId($user_token) {
|
59 |
+
$result = $this->__soapCall('createShopOrderId', array('CreateShopOrderIdRequest' => array('userToken' => $user_token)));
|
60 |
+
return $result->shopOrderId;
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Fetch a hierarchical structure of image categories and the images in those categories
|
65 |
+
*
|
66 |
+
* @return PublicGalleryItem[]
|
67 |
+
*/
|
68 |
+
public function retrievePublicGallery() {
|
69 |
+
$result = $this->__soapCall('retrievePublicGallery', array());
|
70 |
+
$array_result = array();
|
71 |
+
foreach($result->items as $item) {
|
72 |
+
$array_result[] = PublicGalleryItem::fromStdObject($item);
|
73 |
+
}
|
74 |
+
return $array_result;
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Fetch the user's private image gallery
|
79 |
+
*
|
80 |
+
* @param $user_token string A token to authenticate the user (gotten from `authenticateUser`)
|
81 |
+
* @return array The user's images (empty if there are none)
|
82 |
+
*/
|
83 |
+
public function retrievePrivateGallery($user_token) {
|
84 |
+
$result = $this->__soapCall('retrievePrivateGallery', array('RetrievePublicGalleryRequest' => array('userToken' => $user_token)));
|
85 |
+
return $result;
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Get a link to a preview of a stamp in PDF format
|
90 |
+
*
|
91 |
+
* @param $product_code int A product code for the type of stamp (a list of products is only available via the separate ProdWS service)
|
92 |
+
* @param $voucher_layout string The layout of the stamp (possible values: 'FrankingZone' and 'AddressZone')
|
93 |
+
* @param $page_format_id int ID of the page layout to be used (gotten from `retrievePageFormats`)
|
94 |
+
* @param null $image_id An image ID to include in the stamp (optional, gotten from `retrievePublicGallery` or `retrievePrivateGallery`)
|
95 |
+
* @return string A link to the preview stamp in PDF format
|
96 |
+
*/
|
97 |
+
public function retrievePreviewVoucherPdf($product_code, $voucher_layout, $page_format_id, $image_id = null) {
|
98 |
+
$result = $this->__soapCall('retrievePreviewVoucherPDF',
|
99 |
+
array('RetrievePreviewVoucherPDFRequest' => array('productCode' => $product_code, 'imageID' => $image_id,
|
100 |
+
'voucherLayout' => $voucher_layout, 'pageFormatId' => $page_format_id)));
|
101 |
+
return $result->link;
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Get a link to a preview of a stamp in PNG format
|
106 |
+
*
|
107 |
+
* @param $product_code int A product code for the type of stamp (a list of products is only available via the separate ProdWS service)
|
108 |
+
* @param $voucher_layout string The layout of the stamp (possible values: 'FrankingZone' and 'AddressZone')
|
109 |
+
* @param null $image_id An image ID to include in the stamp (optional, gotten from `retrievePublicGallery` or `retrievePrivateGallery`)
|
110 |
+
* @return string A link to the preview stamp in PNG format
|
111 |
+
*/
|
112 |
+
public function retrievePreviewVoucherPng($product_code, $voucher_layout, $image_id = null) {
|
113 |
+
$result = $this->__soapCall('retrievePreviewVoucherPNG',
|
114 |
+
array('RetrievePreviewVoucherPNGRequest' => array('productCode' => $product_code, 'imageID' => $image_id,
|
115 |
+
'voucherLayout' => $voucher_layout)));
|
116 |
+
return $result->link;
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Create a stamp in PDF format (costs actual money, debited from the Portokasse account)
|
121 |
+
*
|
122 |
+
* @param $user_token string A token to authenticate the user (gotten from `authenticateUser`)
|
123 |
+
* @param $page_format_id int ID of the page layout to be used (gotten from `retrievePageFormats`)
|
124 |
+
* @param $positions OrderItem[] An array of items to be ordered
|
125 |
+
* @param $total int The total value of the shopping cart in eurocents (this is actually checked by the server and has to be correct)
|
126 |
+
* @param null $shop_order_id
|
127 |
+
* @param null $ppl_id
|
128 |
+
* @param null $create_manifest bool Whether to create a posting receipt
|
129 |
+
* @param null $create_shipping_list int Type of shipping list to be created (0: No shipping list,
|
130 |
+
* 1: Shipping list without addresses, 2: Shipping list with addresses)
|
131 |
+
* @return \stdClass An object containing: - a link to the PDF version of the stamp, - a link to the shipping list (if requested),
|
132 |
+
* - the user's wallet balance after the order, - the order ID, - the voucher ID, - the tracking ID (if applicable)
|
133 |
+
*/
|
134 |
+
public function checkoutShoppingCartPdf($user_token, $page_format_id, $positions, $total, $shop_order_id = null,
|
135 |
+
$ppl_id = null, $create_manifest = null, $create_shipping_list = null) {
|
136 |
+
$result = $this->__soapCall('checkoutShoppingCartPDF', array('CheckoutShoppingCartPDFRequest' => array(
|
137 |
+
'userToken' => $user_token, 'shopOrderId' => $shop_order_id, 'pageFormatId' => $page_format_id, 'ppl' => $ppl_id,
|
138 |
+
'positions' => array_map("DeepCopy\deep_copy", $positions), 'total' => $total, 'createManifest' => $create_manifest, 'createShippingList' => $create_shipping_list
|
139 |
+
)));
|
140 |
+
return $result;
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* Create a stamp in PNG format (costs actual money, debited from the Portokasse account)
|
145 |
+
*
|
146 |
+
* @param $user_token string A token to authenticate the user (gotten from `authenticateUser`)
|
147 |
+
* @param $positions OrderItem[] An array of items to be ordered
|
148 |
+
* @param $total int The total value of the shopping cart in eurocents (this is actually checked by the server and has to be correct)
|
149 |
+
* @param null $shop_order_id
|
150 |
+
* @param null $ppl_id
|
151 |
+
* @param null $create_manifest bool Whether to create a posting receipt
|
152 |
+
* @param null $create_shipping_list int Type of shipping list to be created (0: No shipping list,
|
153 |
+
* 1: Shipping list without addresses, 2: Shipping list with addresses)
|
154 |
+
* @return \stdClass An object containing: - a link to the PNG version of the stamp, - a link to the shipping list (if requested),
|
155 |
+
* - the user's wallet balance after the order, - the order ID, - the voucher ID, - the tracking ID (if applicable)
|
156 |
+
*/
|
157 |
+
public function checkoutShoppingCartPng($user_token, $positions, $total, $shop_order_id = null,
|
158 |
+
$ppl_id = null, $create_manifest = null, $create_shipping_list = null) {
|
159 |
+
$result = $this->__soapCall('checkoutShoppingCartPNG', array('CheckoutShoppingCartPNGRequest' => array(
|
160 |
+
'userToken' => $user_token, 'shopOrderId' => $shop_order_id, 'ppl' => $ppl_id, 'positions' => array_map("DeepCopy\deep_copy", $positions),
|
161 |
+
'total' => $total, 'createManifest' => $create_manifest, 'createShippingList' => $create_shipping_list
|
162 |
+
)));
|
163 |
+
return StampPngResult::fromStdObject($result);
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Fetch a previous order (from `checkoutShoppingCartPdf` or `checkoutShoppingCartPng`)
|
168 |
+
*
|
169 |
+
* @param $user_token string A token to authenticate the user (gotten from `authenticateUser`)
|
170 |
+
* @param $shop_order_id int The order ID of the order to be fetched
|
171 |
+
* @return \stdClass Same as for the corresponding call to `checkoutShoppingCart(Pdf|Png)`
|
172 |
+
*/
|
173 |
+
public function retrieveOrder($user_token, $shop_order_id) {
|
174 |
+
$result = $this->__soapCall('retrieveOrder',
|
175 |
+
array('RetrieveOrderRequest' => array('userToken' => $user_token, 'shopOrderId' => $shop_order_id)));
|
176 |
+
return $result;
|
177 |
+
}
|
178 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/Size.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class Size extends ApiResult {
|
6 |
+
/**
|
7 |
+
* @var int Width in millimeters
|
8 |
+
*/
|
9 |
+
protected $x;
|
10 |
+
/**
|
11 |
+
* @var int Height in millimeters
|
12 |
+
*/
|
13 |
+
protected $y;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Size constructor.
|
17 |
+
*
|
18 |
+
* @param int $x Width in millimeters
|
19 |
+
* @param int $y Height in millimeters
|
20 |
+
*/
|
21 |
+
public function __construct($x, $y) {
|
22 |
+
$this->setX($x);
|
23 |
+
$this->setY($y);
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* @return int Width in millimeters
|
28 |
+
*/
|
29 |
+
public function getX() {
|
30 |
+
return $this->x;
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @param int $x Width in millimeters
|
35 |
+
*/
|
36 |
+
public function setX($x) {
|
37 |
+
$this->x = $x;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @return int Height in millimeters
|
42 |
+
*/
|
43 |
+
public function getY() {
|
44 |
+
return $this->y;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* @param int $y Height in millimeters
|
49 |
+
*/
|
50 |
+
public function setY($y) {
|
51 |
+
$this->y = $y;
|
52 |
+
}
|
53 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/StampPngResult.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class StampPngResult extends ApiResult {
|
6 |
+
/**
|
7 |
+
* @var string url to zipfile
|
8 |
+
*/
|
9 |
+
public $link;
|
10 |
+
/**
|
11 |
+
* @var integer portokasse balance in eurocent
|
12 |
+
*/
|
13 |
+
public $walletBallance;
|
14 |
+
/**
|
15 |
+
* @var stdClass with attributes `shopOrderId` and `voucherList`
|
16 |
+
*/
|
17 |
+
public $shoppingCart;
|
18 |
+
/**
|
19 |
+
* @var string url to manifestLink
|
20 |
+
*/
|
21 |
+
public $manifestLink;
|
22 |
+
|
23 |
+
/**
|
24 |
+
*
|
25 |
+
* @param string $link url to zipfile
|
26 |
+
* @param integer $walletBallance portokasse balance in eurocent
|
27 |
+
* @param stdClass $shoppingCart with attributes `shopOrderId` and `voucherList`
|
28 |
+
* @param string url to posting receipt of order
|
29 |
+
*/
|
30 |
+
public function __construct($link, $walletBallance, $shoppingCart, $manifestLink = null) {
|
31 |
+
$this->link = $link;
|
32 |
+
$this->walletBallance = $walletBallance;
|
33 |
+
$this->shoppingCart = $shoppingCart;
|
34 |
+
$this->manifestLink = $manifestLink;
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Store zip and png files in folder of $path
|
39 |
+
* @param string $path location where png should be extracted to
|
40 |
+
* @return array on success: filenames of png's that were extracted
|
41 |
+
* on failure: if copy of zip file failed false,
|
42 |
+
* if zip coulnd not be opened the error code
|
43 |
+
*/
|
44 |
+
public function unzipPNG($path)
|
45 |
+
{
|
46 |
+
// make sure $path ends with slash
|
47 |
+
$path = rtrim($path, '/') . '/';
|
48 |
+
|
49 |
+
if(!file_exists($path)){
|
50 |
+
mkdir($path);
|
51 |
+
}
|
52 |
+
|
53 |
+
$tempFile = $path . 'zip' . date('Y-m-d_H:i:s'). '_' . uniqid();
|
54 |
+
|
55 |
+
if(!copy($this->link,$tempFile)) return false;
|
56 |
+
|
57 |
+
$zip = new \ZipArchive();
|
58 |
+
$zip_result = $zip->open($tempFile);
|
59 |
+
|
60 |
+
if($zip_result !== true) return $zip_result;
|
61 |
+
|
62 |
+
$file_count = $zip->count();
|
63 |
+
$files = [];
|
64 |
+
for ($i=0; $i < $file_count; $i++) {
|
65 |
+
$data = $zip->getFromIndex($i);
|
66 |
+
$filename = date('Y-m-d_H:i:s'). '_' . uniqid() . '.png';
|
67 |
+
file_put_contents($path . $filename, $data);
|
68 |
+
$files[] = $filename;
|
69 |
+
}
|
70 |
+
|
71 |
+
unlink($tempFile);
|
72 |
+
return $files;
|
73 |
+
}
|
74 |
+
|
75 |
+
}
|
vendor/baltpeter/internetmarke-php/src/baltpeter/Internetmarke/User.php
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace baltpeter\Internetmarke;
|
4 |
+
|
5 |
+
class User extends ApiResult {
|
6 |
+
/**
|
7 |
+
* @var string Unique user ID. Used for those web services that require user authentication. The userToken is only valid for one day.
|
8 |
+
*/
|
9 |
+
protected $userToken;
|
10 |
+
/**
|
11 |
+
* @var int Balance of the postage account in eurocents
|
12 |
+
*/
|
13 |
+
protected $walletBalance;
|
14 |
+
/**
|
15 |
+
* @var bool Has this user already agreed to the current GT&C and DP DHL data protection provisions?
|
16 |
+
*/
|
17 |
+
protected $showTermsAndConditions;
|
18 |
+
/**
|
19 |
+
* @var string Optional information text
|
20 |
+
*/
|
21 |
+
protected $info_message;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* User constructor.
|
25 |
+
*
|
26 |
+
* @param string $user_token Unique user ID
|
27 |
+
* @param int $wallet_balance Balance of the account
|
28 |
+
* @param bool $show_terms_and_conditions Has this user agreed to the T&C?
|
29 |
+
* @param string $info_message Optional information text
|
30 |
+
*/
|
31 |
+
public function __construct($user_token, $wallet_balance, $show_terms_and_conditions, $info_message) {
|
32 |
+
$this->setUserToken($user_token);
|
33 |
+
$this->setWalletBalance($wallet_balance);
|
34 |
+
$this->setShowTermsAndConditions($show_terms_and_conditions);
|
35 |
+
$this->setInfoMessage($info_message);
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @return string Unique user ID
|
40 |
+
*/
|
41 |
+
public function getUserToken() {
|
42 |
+
return $this->userToken;
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param string $userToken Unique user ID
|
47 |
+
*/
|
48 |
+
public function setUserToken($userToken) {
|
49 |
+
$this->userToken = $userToken;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @return int Balance of the account
|
54 |
+
*/
|
55 |
+
public function getWalletBalance() {
|
56 |
+
return $this->walletBalance;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param int $walletBalance Balance of the account
|
61 |
+
*/
|
62 |
+
public function setWalletBalance($walletBalance) {
|
63 |
+
$this->walletBalance = $walletBalance;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @return boolean Has this user agreed to the T&C?
|
68 |
+
*/
|
69 |
+
public function isShowTermsAndConditions() {
|
70 |
+
return $this->showTermsAndConditions;
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* @param boolean $show_terms_and_conditions Has this user agreed to the T&C?
|
75 |
+
*/
|
76 |
+
public function setShowTermsAndConditions($show_terms_and_conditions) {
|
77 |
+
$this->showTermsAndConditions = $show_terms_and_conditions;
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @return string Optional information text
|
82 |
+
*/
|
83 |
+
public function getInfoMessage() {
|
84 |
+
return $this->info_message;
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* @param string $info_message Optional information text
|
89 |
+
*/
|
90 |
+
public function setInfoMessage($info_message) {
|
91 |
+
$this->info_message = $info_message;
|
92 |
+
}
|
93 |
+
}
|
vendor/composer/ClassLoader.php
CHANGED
@@ -37,8 +37,8 @@ namespace Composer\Autoload;
|
|
37 |
*
|
38 |
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
-
* @see
|
41 |
-
* @see
|
42 |
*/
|
43 |
class ClassLoader
|
44 |
{
|
@@ -60,7 +60,7 @@ class ClassLoader
|
|
60 |
public function getPrefixes()
|
61 |
{
|
62 |
if (!empty($this->prefixesPsr0)) {
|
63 |
-
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
64 |
}
|
65 |
|
66 |
return array();
|
37 |
*
|
38 |
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
+
* @see https://www.php-fig.org/psr/psr-0/
|
41 |
+
* @see https://www.php-fig.org/psr/psr-4/
|
42 |
*/
|
43 |
class ClassLoader
|
44 |
{
|
60 |
public function getPrefixes()
|
61 |
{
|
62 |
if (!empty($this->prefixesPsr0)) {
|
63 |
+
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
64 |
}
|
65 |
|
66 |
return array();
|
vendor/composer/InstalledVersions.php
ADDED
@@ -0,0 +1,317 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Composer;
|
4 |
+
|
5 |
+
use Composer\Semver\VersionParser;
|
6 |
+
|
7 |
+
|
8 |
+
|
9 |
+
|
10 |
+
|
11 |
+
|
12 |
+
class InstalledVersions
|
13 |
+
{
|
14 |
+
private static $installed = array (
|
15 |
+
'root' =>
|
16 |
+
array (
|
17 |
+
'pretty_version' => 'dev-master',
|
18 |
+
'version' => 'dev-master',
|
19 |
+
'aliases' =>
|
20 |
+
array (
|
21 |
+
),
|
22 |
+
'reference' => 'adf51295389eae4da5d8cf21ee5ef0c60962c74a',
|
23 |
+
'name' => 'vendidero/woocommerce-germanized',
|
24 |
+
),
|
25 |
+
'versions' =>
|
26 |
+
array (
|
27 |
+
'automattic/jetpack-autoloader' =>
|
28 |
+
array (
|
29 |
+
'pretty_version' => 'v2.6.0',
|
30 |
+
'version' => '2.6.0.0',
|
31 |
+
'aliases' =>
|
32 |
+
array (
|
33 |
+
),
|
34 |
+
'reference' => '47dde8dbca6b1e30f176725f2f748a9abefcaf58',
|
35 |
+
),
|
36 |
+
'baltpeter/internetmarke-php' =>
|
37 |
+
array (
|
38 |
+
'pretty_version' => 'v0.5.0',
|
39 |
+
'version' => '0.5.0.0',
|
40 |
+
'aliases' =>
|
41 |
+
array (
|
42 |
+
),
|
43 |
+
'reference' => '7657ee5a55eb80c77a35e35ce71c465364d73ab4',
|
44 |
+
),
|
45 |
+
'composer/installers' =>
|
46 |
+
array (
|
47 |
+
'pretty_version' => 'v1.9.0',
|
48 |
+
'version' => '1.9.0.0',
|
49 |
+
'aliases' =>
|
50 |
+
array (
|
51 |
+
),
|
52 |
+
'reference' => 'b93bcf0fa1fccb0b7d176b0967d969691cd74cca',
|
53 |
+
),
|
54 |
+
'myclabs/deep-copy' =>
|
55 |
+
array (
|
56 |
+
'pretty_version' => '1.10.2',
|
57 |
+
'version' => '1.10.2.0',
|
58 |
+
'aliases' =>
|
59 |
+
array (
|
60 |
+
),
|
61 |
+
'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
|
62 |
+
'replaced' =>
|
63 |
+
array (
|
64 |
+
0 => '1.10.2',
|
65 |
+
),
|
66 |
+
),
|
67 |
+
'roundcube/plugin-installer' =>
|
68 |
+
array (
|
69 |
+
'replaced' =>
|
70 |
+
array (
|
71 |
+
0 => '*',
|
72 |
+
),
|
73 |
+
),
|
74 |
+
'setasign/fpdf' =>
|
75 |
+
array (
|
76 |
+
'pretty_version' => '1.8.2',
|
77 |
+
'version' => '1.8.2.0',
|
78 |
+
'aliases' =>
|
79 |
+
array (
|
80 |
+
),
|
81 |
+
'reference' => 'd77904018090c17dc9f3ab6e944679a7a47e710a',
|
82 |
+
),
|
83 |
+
'setasign/fpdi' =>
|
84 |
+
array (
|
85 |
+
'pretty_version' => 'v2.3.5',
|
86 |
+
'version' => '2.3.5.0',
|
87 |
+
'aliases' =>
|
88 |
+
array (
|
89 |
+
),
|
90 |
+
'reference' => 'f2246c8669bd25834f5c264425eb0e250d7a9312',
|
91 |
+
),
|
92 |
+
'shama/baton' =>
|
93 |
+
array (
|
94 |
+
'replaced' =>
|
95 |
+
array (
|
96 |
+
0 => '*',
|
97 |
+
),
|
98 |
+
),
|
99 |
+
'vendidero/woocommerce-germanized' =>
|
100 |
+
array (
|
101 |
+
'pretty_version' => 'dev-master',
|
102 |
+
'version' => 'dev-master',
|
103 |
+
'aliases' =>
|
104 |
+
array (
|
105 |
+
),
|
106 |
+
'reference' => 'adf51295389eae4da5d8cf21ee5ef0c60962c74a',
|
107 |
+
),
|
108 |
+
'vendidero/woocommerce-germanized-dhl' =>
|
109 |
+
array (
|
110 |
+
'pretty_version' => 'v1.4.0',
|
111 |
+
'version' => '1.4.0.0',
|
112 |
+
'aliases' =>
|
113 |
+
array (
|
114 |
+
),
|
115 |
+
'reference' => 'b679821b847b8b80e9d460f9c75458c8f98fc647',
|
116 |
+
),
|
117 |
+
'vendidero/woocommerce-germanized-shipments' =>
|
118 |
+
array (
|
119 |
+
'pretty_version' => 'v1.4.0',
|
120 |
+
'version' => '1.4.0.0',
|
121 |
+
'aliases' =>
|
122 |
+
array (
|
123 |
+
),
|
124 |
+
'reference' => '81d7c81bf8a8c41871b73c60736e8d380ff876d2',
|
125 |
+
),
|
126 |
+
'vendidero/woocommerce-trusted-shops' =>
|
127 |
+
array (
|
128 |
+
'pretty_version' => 'v4.0.9',
|
129 |
+
'version' => '4.0.9.0',
|
130 |
+
'aliases' =>
|
131 |
+
array (
|
132 |
+
),
|
133 |
+
'reference' => 'd5dcf1487799eec37a827ffb75af76b0171bda2c',
|
134 |
+
),
|
135 |
+
'wsdltophp/wssecurity' =>
|
136 |
+
array (
|
137 |
+
'pretty_version' => '1.2.2',
|
138 |
+
'version' => '1.2.2.0',
|
139 |
+
'aliases' =>
|
140 |
+
array (
|
141 |
+
),
|
142 |
+
'reference' => '6a450af3cd462cbf73fdb3a09e80322da893af4f',
|
143 |
+
),
|
144 |
+
),
|
145 |
+
);
|
146 |
+
|
147 |
+
|
148 |
+
|
149 |
+
|
150 |
+
|
151 |
+
|
152 |
+
|
153 |
+
public static function getInstalledPackages()
|
154 |
+
{
|
155 |
+
return array_keys(self::$installed['versions']);
|
156 |
+
}
|
157 |
+
|
158 |
+
|
159 |
+
|
160 |
+
|
161 |
+
|
162 |
+
|
163 |
+
|
164 |
+
|
165 |
+
|
166 |
+
public static function isInstalled($packageName)
|
167 |
+
{
|
168 |
+
return isset(self::$installed['versions'][$packageName]);
|
169 |
+
}
|
170 |
+
|
171 |
+
|
172 |
+
|
173 |
+
|
174 |
+
|
175 |
+
|
176 |
+
|
177 |
+
|
178 |
+
|
179 |
+
|
180 |
+
|
181 |
+
|
182 |
+
|
183 |
+
|
184 |
+
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
185 |
+
{
|
186 |
+
$constraint = $parser->parseConstraints($constraint);
|
187 |
+
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
188 |
+
|
189 |
+
return $provided->matches($constraint);
|
190 |
+
}
|
191 |
+
|
192 |
+
|
193 |
+
|
194 |
+
|
195 |
+
|
196 |
+
|
197 |
+
|
198 |
+
|
199 |
+
|
200 |
+
|
201 |
+
public static function getVersionRanges($packageName)
|
202 |
+
{
|
203 |
+
if (!isset(self::$installed['versions'][$packageName])) {
|
204 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
205 |
+
}
|
206 |
+
|
207 |
+
$ranges = array();
|
208 |
+
if (isset(self::$installed['versions'][$packageName]['pretty_version'])) {
|
209 |
+
$ranges[] = self::$installed['versions'][$packageName]['pretty_version'];
|
210 |
+
}
|
211 |
+
if (array_key_exists('aliases', self::$installed['versions'][$packageName])) {
|
212 |
+
$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']);
|
213 |
+
}
|
214 |
+
if (array_key_exists('replaced', self::$installed['versions'][$packageName])) {
|
215 |
+
$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']);
|
216 |
+
}
|
217 |
+
if (array_key_exists('provided', self::$installed['versions'][$packageName])) {
|
218 |
+
$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']);
|
219 |
+
}
|
220 |
+
|
221 |
+
return implode(' || ', $ranges);
|
222 |
+
}
|
223 |
+
|
224 |
+
|
225 |
+
|
226 |
+
|
227 |
+
|
228 |
+
public static function getVersion($packageName)
|
229 |
+
{
|
230 |
+
if (!isset(self::$installed['versions'][$packageName])) {
|
231 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
232 |
+
}
|
233 |
+
|
234 |
+
if (!isset(self::$installed['versions'][$packageName]['version'])) {
|
235 |
+
return null;
|
236 |
+
}
|
237 |
+
|
238 |
+
return self::$installed['versions'][$packageName]['version'];
|
239 |
+
}
|
240 |
+
|
241 |
+
|
242 |
+
|
243 |
+
|
244 |
+
|
245 |
+
public static function getPrettyVersion($packageName)
|
246 |
+
{
|
247 |
+
if (!isset(self::$installed['versions'][$packageName])) {
|
248 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
249 |
+
}
|
250 |
+
|
251 |
+
if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) {
|
252 |
+
return null;
|
253 |
+
}
|
254 |
+
|
255 |
+
return self::$installed['versions'][$packageName]['pretty_version'];
|
256 |
+
}
|
257 |
+
|
258 |
+
|
259 |
+
|
260 |
+
|
261 |
+
|
262 |
+
public static function getReference($packageName)
|
263 |
+
{
|
264 |
+
if (!isset(self::$installed['versions'][$packageName])) {
|
265 |
+
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
266 |
+
}
|
267 |
+
|
268 |
+
if (!isset(self::$installed['versions'][$packageName]['reference'])) {
|
269 |
+
return null;
|
270 |
+
}
|
271 |
+
|
272 |
+
return self::$installed['versions'][$packageName]['reference'];
|
273 |
+
}
|
274 |
+
|
275 |
+
|
276 |
+
|
277 |
+
|
278 |
+
|
279 |
+
public static function getRootPackage()
|
280 |
+
{
|
281 |
+
return self::$installed['root'];
|
282 |
+
}
|
283 |
+
|
284 |
+
|
285 |
+
|
286 |
+
|
287 |
+
|
288 |
+
|
289 |
+
|
290 |
+
public static function getRawData()
|
291 |
+
{
|
292 |
+
return self::$installed;
|
293 |
+
}
|
294 |
+
|
295 |
+
|
296 |
+
|
297 |
+
|
298 |
+
|
299 |
+
|
300 |
+
|
301 |
+
|
302 |
+
|
303 |
+
|
304 |
+
|
305 |
+
|
306 |
+
|
307 |
+
|
308 |
+
|
309 |
+
|
310 |
+
|
311 |
+
|
312 |
+
|
313 |
+
public static function reload($data)
|
314 |
+
{
|
315 |
+
self::$installed = $data;
|
316 |
+
}
|
317 |
+
}
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -6,5 +6,7 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
|
|
|
|
9 |
'FPDF' => $vendorDir . '/setasign/fpdf/fpdf.php',
|
10 |
);
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
9 |
+
'Automattic\\Jetpack\\Autoloader\\AutoloadGenerator' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php',
|
10 |
+
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
11 |
'FPDF' => $vendorDir . '/setasign/fpdf/fpdf.php',
|
12 |
);
|
vendor/composer/autoload_classmap_package.php
DELETED
@@ -1,874 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// This file `autoload_classmap_packages.php` was auto generated by automattic/jetpack-autoloader.
|
4 |
-
|
5 |
-
$vendorDir = dirname(__DIR__);
|
6 |
-
$baseDir = dirname($vendorDir);
|
7 |
-
|
8 |
-
return array(
|
9 |
-
'setasign\\Fpdi\\Tcpdf\\Fpdi' => array(
|
10 |
-
'version' => '2.3.4.0',
|
11 |
-
'path' => $vendorDir . '/setasign/fpdi/src/Tcpdf/Fpdi.php'
|
12 |
-
),
|
13 |
-
'setasign\\Fpdi\\Tfpdf\\Fpdi' => array(
|
14 |
-
'version' => '2.3.4.0',
|
15 |
-
'path' => $vendorDir . '/setasign/fpdi/src/Tfpdf/Fpdi.php'
|
16 |
-
),
|
17 |
-
'setasign\\Fpdi\\Tfpdf\\FpdfTpl' => array(
|
18 |
-
'version' => '2.3.4.0',
|
19 |
-
'path' => $vendorDir . '/setasign/fpdi/src/Tfpdf/FpdfTpl.php'
|
20 |
-
),
|
21 |
-
'setasign\\Fpdi\\Fpdi' => array(
|
22 |
-
'version' => '2.3.4.0',
|
23 |
-
'path' => $vendorDir . '/setasign/fpdi/src/Fpdi.php'
|
24 |
-
),
|
25 |
-
'setasign\\Fpdi\\FpdfTplTrait' => array(
|
26 |
-
'version' => '2.3.4.0',
|
27 |
-
'path' => $vendorDir . '/setasign/fpdi/src/FpdfTplTrait.php'
|
28 |
-
),
|
29 |
-
'setasign\\Fpdi\\FpdiTrait' => array(
|
30 |
-
'version' => '2.3.4.0',
|
31 |
-
'path' => $vendorDir . '/setasign/fpdi/src/FpdiTrait.php'
|
32 |
-
),
|
33 |
-
'setasign\\Fpdi\\TcpdfFpdi' => array(
|
34 |
-
'version' => '2.3.4.0',
|
35 |
-
'path' => $vendorDir . '/setasign/fpdi/src/TcpdfFpdi.php'
|
36 |
-
),
|
37 |
-
'setasign\\Fpdi\\PdfParser\\StreamReader' => array(
|
38 |
-
'version' => '2.3.4.0',
|
39 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/StreamReader.php'
|
40 |
-
),
|
41 |
-
'setasign\\Fpdi\\PdfParser\\PdfParserException' => array(
|
42 |
-
'version' => '2.3.4.0',
|
43 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/PdfParserException.php'
|
44 |
-
),
|
45 |
-
'setasign\\Fpdi\\PdfParser\\CrossReference\\ReaderInterface' => array(
|
46 |
-
'version' => '2.3.4.0',
|
47 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/ReaderInterface.php'
|
48 |
-
),
|
49 |
-
'setasign\\Fpdi\\PdfParser\\CrossReference\\CrossReferenceException' => array(
|
50 |
-
'version' => '2.3.4.0',
|
51 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/CrossReferenceException.php'
|
52 |
-
),
|
53 |
-
'setasign\\Fpdi\\PdfParser\\CrossReference\\LineReader' => array(
|
54 |
-
'version' => '2.3.4.0',
|
55 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/LineReader.php'
|
56 |
-
),
|
57 |
-
'setasign\\Fpdi\\PdfParser\\CrossReference\\AbstractReader' => array(
|
58 |
-
'version' => '2.3.4.0',
|
59 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/AbstractReader.php'
|
60 |
-
),
|
61 |
-
'setasign\\Fpdi\\PdfParser\\CrossReference\\CrossReference' => array(
|
62 |
-
'version' => '2.3.4.0',
|
63 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/CrossReference.php'
|
64 |
-
),
|
65 |
-
'setasign\\Fpdi\\PdfParser\\CrossReference\\FixedReader' => array(
|
66 |
-
'version' => '2.3.4.0',
|
67 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/CrossReference/FixedReader.php'
|
68 |
-
),
|
69 |
-
'setasign\\Fpdi\\PdfParser\\PdfParser' => array(
|
70 |
-
'version' => '2.3.4.0',
|
71 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/PdfParser.php'
|
72 |
-
),
|
73 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfStream' => array(
|
74 |
-
'version' => '2.3.4.0',
|
75 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfStream.php'
|
76 |
-
),
|
77 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfIndirectObjectReference' => array(
|
78 |
-
'version' => '2.3.4.0',
|
79 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfIndirectObjectReference.php'
|
80 |
-
),
|
81 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfHexString' => array(
|
82 |
-
'version' => '2.3.4.0',
|
83 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfHexString.php'
|
84 |
-
),
|
85 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfBoolean' => array(
|
86 |
-
'version' => '2.3.4.0',
|
87 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfBoolean.php'
|
88 |
-
),
|
89 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfType' => array(
|
90 |
-
'version' => '2.3.4.0',
|
91 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfType.php'
|
92 |
-
),
|
93 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfNumeric' => array(
|
94 |
-
'version' => '2.3.4.0',
|
95 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfNumeric.php'
|
96 |
-
),
|
97 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfArray' => array(
|
98 |
-
'version' => '2.3.4.0',
|
99 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfArray.php'
|
100 |
-
),
|
101 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfName' => array(
|
102 |
-
'version' => '2.3.4.0',
|
103 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfName.php'
|
104 |
-
),
|
105 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfTypeException' => array(
|
106 |
-
'version' => '2.3.4.0',
|
107 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfTypeException.php'
|
108 |
-
),
|
109 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfString' => array(
|
110 |
-
'version' => '2.3.4.0',
|
111 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfString.php'
|
112 |
-
),
|
113 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfNull' => array(
|
114 |
-
'version' => '2.3.4.0',
|
115 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfNull.php'
|
116 |
-
),
|
117 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfToken' => array(
|
118 |
-
'version' => '2.3.4.0',
|
119 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfToken.php'
|
120 |
-
),
|
121 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfDictionary' => array(
|
122 |
-
'version' => '2.3.4.0',
|
123 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfDictionary.php'
|
124 |
-
),
|
125 |
-
'setasign\\Fpdi\\PdfParser\\Type\\PdfIndirectObject' => array(
|
126 |
-
'version' => '2.3.4.0',
|
127 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Type/PdfIndirectObject.php'
|
128 |
-
),
|
129 |
-
'setasign\\Fpdi\\PdfParser\\Tokenizer' => array(
|
130 |
-
'version' => '2.3.4.0',
|
131 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Tokenizer.php'
|
132 |
-
),
|
133 |
-
'setasign\\Fpdi\\PdfParser\\Filter\\FilterInterface' => array(
|
134 |
-
'version' => '2.3.4.0',
|
135 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/FilterInterface.php'
|
136 |
-
),
|
137 |
-
'setasign\\Fpdi\\PdfParser\\Filter\\Ascii85Exception' => array(
|
138 |
-
'version' => '2.3.4.0',
|
139 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/Ascii85Exception.php'
|
140 |
-
),
|
141 |
-
'setasign\\Fpdi\\PdfParser\\Filter\\FlateException' => array(
|
142 |
-
'version' => '2.3.4.0',
|
143 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/FlateException.php'
|
144 |
-
),
|
145 |
-
'setasign\\Fpdi\\PdfParser\\Filter\\Flate' => array(
|
146 |
-
'version' => '2.3.4.0',
|
147 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/Flate.php'
|
148 |
-
),
|
149 |
-
'setasign\\Fpdi\\PdfParser\\Filter\\FilterException' => array(
|
150 |
-
'version' => '2.3.4.0',
|
151 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/FilterException.php'
|
152 |
-
),
|
153 |
-
'setasign\\Fpdi\\PdfParser\\Filter\\Ascii85' => array(
|
154 |
-
'version' => '2.3.4.0',
|
155 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/Ascii85.php'
|
156 |
-
),
|
157 |
-
'setasign\\Fpdi\\PdfParser\\Filter\\LzwException' => array(
|
158 |
-
'version' => '2.3.4.0',
|
159 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/LzwException.php'
|
160 |
-
),
|
161 |
-
'setasign\\Fpdi\\PdfParser\\Filter\\AsciiHex' => array(
|
162 |
-
'version' => '2.3.4.0',
|
163 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/AsciiHex.php'
|
164 |
-
),
|
165 |
-
'setasign\\Fpdi\\PdfParser\\Filter\\Lzw' => array(
|
166 |
-
'version' => '2.3.4.0',
|
167 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfParser/Filter/Lzw.php'
|
168 |
-
),
|
169 |
-
'setasign\\Fpdi\\FpdiException' => array(
|
170 |
-
'version' => '2.3.4.0',
|
171 |
-
'path' => $vendorDir . '/setasign/fpdi/src/FpdiException.php'
|
172 |
-
),
|
173 |
-
'setasign\\Fpdi\\PdfReader\\PdfReader' => array(
|
174 |
-
'version' => '2.3.4.0',
|
175 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfReader/PdfReader.php'
|
176 |
-
),
|
177 |
-
'setasign\\Fpdi\\PdfReader\\PageBoundaries' => array(
|
178 |
-
'version' => '2.3.4.0',
|
179 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfReader/PageBoundaries.php'
|
180 |
-
),
|
181 |
-
'setasign\\Fpdi\\PdfReader\\DataStructure\\Rectangle' => array(
|
182 |
-
'version' => '2.3.4.0',
|
183 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfReader/DataStructure/Rectangle.php'
|
184 |
-
),
|
185 |
-
'setasign\\Fpdi\\PdfReader\\PdfReaderException' => array(
|
186 |
-
'version' => '2.3.4.0',
|
187 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfReader/PdfReaderException.php'
|
188 |
-
),
|
189 |
-
'setasign\\Fpdi\\PdfReader\\Page' => array(
|
190 |
-
'version' => '2.3.4.0',
|
191 |
-
'path' => $vendorDir . '/setasign/fpdi/src/PdfReader/Page.php'
|
192 |
-
),
|
193 |
-
'setasign\\Fpdi\\FpdfTpl' => array(
|
194 |
-
'version' => '2.3.4.0',
|
195 |
-
'path' => $vendorDir . '/setasign/fpdi/src/FpdfTpl.php'
|
196 |
-
),
|
197 |
-
'Vendidero\\TrustedShops\\Package' => array(
|
198 |
-
'version' => '4.0.8.0',
|
199 |
-
'path' => $baseDir . '/packages/woocommerce-trusted-shops/src/Package.php'
|
200 |
-
),
|
201 |
-
'Vendidero\\Germanized\\Shipments\\Shipment' => array(
|
202 |
-
'version' => '1.3.3.0',
|
203 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Shipment.php'
|
204 |
-
),
|
205 |
-
'Vendidero\\Germanized\\Shipments\\Install' => array(
|
206 |
-
'version' => '1.3.3.0',
|
207 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Install.php'
|
208 |
-
),
|
209 |
-
'Vendidero\\Germanized\\Shipments\\SimpleShipment' => array(
|
210 |
-
'version' => '1.3.3.0',
|
211 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/SimpleShipment.php'
|
212 |
-
),
|
213 |
-
'Vendidero\\Germanized\\Shipments\\ShippingProviderMethod' => array(
|
214 |
-
'version' => '1.3.3.0',
|
215 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProviderMethod.php'
|
216 |
-
),
|
217 |
-
'Vendidero\\Germanized\\Shipments\\Package' => array(
|
218 |
-
'version' => '1.3.3.0',
|
219 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Package.php'
|
220 |
-
),
|
221 |
-
'Vendidero\\Germanized\\Shipments\\Order' => array(
|
222 |
-
'version' => '1.3.3.0',
|
223 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Order.php'
|
224 |
-
),
|
225 |
-
'Vendidero\\Germanized\\Shipments\\DataStores\\Shipment' => array(
|
226 |
-
'version' => '1.3.3.0',
|
227 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/Shipment.php'
|
228 |
-
),
|
229 |
-
'Vendidero\\Germanized\\Shipments\\DataStores\\ShippingProvider' => array(
|
230 |
-
'version' => '1.3.3.0',
|
231 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/ShippingProvider.php'
|
232 |
-
),
|
233 |
-
'Vendidero\\Germanized\\Shipments\\DataStores\\ShipmentItem' => array(
|
234 |
-
'version' => '1.3.3.0',
|
235 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/ShipmentItem.php'
|
236 |
-
),
|
237 |
-
'Vendidero\\Germanized\\Shipments\\Ajax' => array(
|
238 |
-
'version' => '1.3.3.0',
|
239 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Ajax.php'
|
240 |
-
),
|
241 |
-
'Vendidero\\Germanized\\Shipments\\ReturnShipment' => array(
|
242 |
-
'version' => '1.3.3.0',
|
243 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ReturnShipment.php'
|
244 |
-
),
|
245 |
-
'Vendidero\\Germanized\\Shipments\\ShippingProvider' => array(
|
246 |
-
'version' => '1.3.3.0',
|
247 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider.php'
|
248 |
-
),
|
249 |
-
'Vendidero\\Germanized\\Shipments\\AddressSplitter' => array(
|
250 |
-
'version' => '1.3.3.0',
|
251 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/AddressSplitter.php'
|
252 |
-
),
|
253 |
-
'Vendidero\\Germanized\\Shipments\\Admin\\BulkLabel' => array(
|
254 |
-
'version' => '1.3.3.0',
|
255 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/BulkLabel.php'
|
256 |
-
),
|
257 |
-
'Vendidero\\Germanized\\Shipments\\Admin\\Settings' => array(
|
258 |
-
'version' => '1.3.3.0',
|
259 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/Settings.php'
|
260 |
-
),
|
261 |
-
'Vendidero\\Germanized\\Shipments\\Admin\\MetaBox' => array(
|
262 |
-
'version' => '1.3.3.0',
|
263 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/MetaBox.php'
|
264 |
-
),
|
265 |
-
'Vendidero\\Germanized\\Shipments\\Admin\\DownloadHandler' => array(
|
266 |
-
'version' => '1.3.3.0',
|
267 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/DownloadHandler.php'
|
268 |
-
),
|
269 |
-
'Vendidero\\Germanized\\Shipments\\Admin\\ReturnTable' => array(
|
270 |
-
'version' => '1.3.3.0',
|
271 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/ReturnTable.php'
|
272 |
-
),
|
273 |
-
'Vendidero\\Germanized\\Shipments\\Admin\\BulkActionHandler' => array(
|
274 |
-
'version' => '1.3.3.0',
|
275 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/BulkActionHandler.php'
|
276 |
-
),
|
277 |
-
'Vendidero\\Germanized\\Shipments\\Admin\\Admin' => array(
|
278 |
-
'version' => '1.3.3.0',
|
279 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/Admin.php'
|
280 |
-
),
|
281 |
-
'Vendidero\\Germanized\\Shipments\\Admin\\Table' => array(
|
282 |
-
'version' => '1.3.3.0',
|
283 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/Table.php'
|
284 |
-
),
|
285 |
-
'Vendidero\\Germanized\\Shipments\\ShipmentQuery' => array(
|
286 |
-
'version' => '1.3.3.0',
|
287 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentQuery.php'
|
288 |
-
),
|
289 |
-
'Vendidero\\Germanized\\Shipments\\WPMLHelper' => array(
|
290 |
-
'version' => '1.3.3.0',
|
291 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/WPMLHelper.php'
|
292 |
-
),
|
293 |
-
'Vendidero\\Germanized\\Shipments\\ShipmentReturnItem' => array(
|
294 |
-
'version' => '1.3.3.0',
|
295 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentReturnItem.php'
|
296 |
-
),
|
297 |
-
'Vendidero\\Germanized\\Shipments\\FormHandler' => array(
|
298 |
-
'version' => '1.3.3.0',
|
299 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/FormHandler.php'
|
300 |
-
),
|
301 |
-
'Vendidero\\Germanized\\Shipments\\PDFMerger' => array(
|
302 |
-
'version' => '1.3.3.0',
|
303 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/PDFMerger.php'
|
304 |
-
),
|
305 |
-
'Vendidero\\Germanized\\Shipments\\ShipmentFactory' => array(
|
306 |
-
'version' => '1.3.3.0',
|
307 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentFactory.php'
|
308 |
-
),
|
309 |
-
'Vendidero\\Germanized\\Shipments\\ShippingProviderMethodPlaceholder' => array(
|
310 |
-
'version' => '1.3.3.0',
|
311 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProviderMethodPlaceholder.php'
|
312 |
-
),
|
313 |
-
'Vendidero\\Germanized\\Shipments\\Automation' => array(
|
314 |
-
'version' => '1.3.3.0',
|
315 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Automation.php'
|
316 |
-
),
|
317 |
-
'Vendidero\\Germanized\\Shipments\\ShippingProviders' => array(
|
318 |
-
'version' => '1.3.3.0',
|
319 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProviders.php'
|
320 |
-
),
|
321 |
-
'Vendidero\\Germanized\\Shipments\\Api' => array(
|
322 |
-
'version' => '1.3.3.0',
|
323 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Api.php'
|
324 |
-
),
|
325 |
-
'Vendidero\\Germanized\\Shipments\\ShipmentItem' => array(
|
326 |
-
'version' => '1.3.3.0',
|
327 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentItem.php'
|
328 |
-
),
|
329 |
-
'Vendidero\\Germanized\\Shipments\\Validation' => array(
|
330 |
-
'version' => '1.3.3.0',
|
331 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Validation.php'
|
332 |
-
),
|
333 |
-
'Vendidero\\Germanized\\Shipments\\Emails' => array(
|
334 |
-
'version' => '1.3.3.0',
|
335 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Emails.php'
|
336 |
-
),
|
337 |
-
'Vendidero\\Germanized\\Shipments\\PDFSplitter' => array(
|
338 |
-
'version' => '1.3.3.0',
|
339 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/PDFSplitter.php'
|
340 |
-
),
|
341 |
-
'Vendidero\\Germanized\\Shipments\\ReturnReason' => array(
|
342 |
-
'version' => '1.3.3.0',
|
343 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ReturnReason.php'
|
344 |
-
),
|
345 |
-
'Vendidero\\Germanized\\Shipments\\Interfaces\\ShipmentReturnLabel' => array(
|
346 |
-
'version' => '1.3.3.0',
|
347 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShipmenReturnLabel.php'
|
348 |
-
),
|
349 |
-
'Vendidero\\Germanized\\Shipments\\Interfaces\\ShipmentLabel' => array(
|
350 |
-
'version' => '1.3.3.0',
|
351 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShipmentLabel.php'
|
352 |
-
),
|
353 |
-
'Vendidero\\Germanized\\DHL\\ShippingProviderDHL' => array(
|
354 |
-
'version' => '1.3.2.0',
|
355 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ShippingProviderDHL.php'
|
356 |
-
),
|
357 |
-
'Vendidero\\Germanized\\DHL\\ShippingProviderMethodDHL' => array(
|
358 |
-
'version' => '1.3.2.0',
|
359 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ShippingProviderMethodDHL.php'
|
360 |
-
),
|
361 |
-
'Vendidero\\Germanized\\DHL\\Install' => array(
|
362 |
-
'version' => '1.3.2.0',
|
363 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Install.php'
|
364 |
-
),
|
365 |
-
'Vendidero\\Germanized\\DHL\\LabelQuery' => array(
|
366 |
-
'version' => '1.3.2.0',
|
367 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/LabelQuery.php'
|
368 |
-
),
|
369 |
-
'Vendidero\\Germanized\\DHL\\ShipmentLabelWatcher' => array(
|
370 |
-
'version' => '1.3.2.0',
|
371 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ShipmentLabelWatcher.php'
|
372 |
-
),
|
373 |
-
'Vendidero\\Germanized\\DHL\\Package' => array(
|
374 |
-
'version' => '1.3.2.0',
|
375 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Package.php'
|
376 |
-
),
|
377 |
-
'Vendidero\\Germanized\\DHL\\Product' => array(
|
378 |
-
'version' => '1.3.2.0',
|
379 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Product.php'
|
380 |
-
),
|
381 |
-
'Vendidero\\Germanized\\DHL\\Order' => array(
|
382 |
-
'version' => '1.3.2.0',
|
383 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Order.php'
|
384 |
-
),
|
385 |
-
'Vendidero\\Germanized\\DHL\\DataStores\\Label' => array(
|
386 |
-
'version' => '1.3.2.0',
|
387 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/DataStores/Label.php'
|
388 |
-
),
|
389 |
-
'Vendidero\\Germanized\\DHL\\Label' => array(
|
390 |
-
'version' => '1.3.2.0',
|
391 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label.php'
|
392 |
-
),
|
393 |
-
'Vendidero\\Germanized\\DHL\\ParcelServices' => array(
|
394 |
-
'version' => '1.3.2.0',
|
395 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ParcelServices.php'
|
396 |
-
),
|
397 |
-
'Vendidero\\Germanized\\DHL\\Admin\\Importer' => array(
|
398 |
-
'version' => '1.3.2.0',
|
399 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Importer.php'
|
400 |
-
),
|
401 |
-
'Vendidero\\Germanized\\DHL\\Admin\\Settings' => array(
|
402 |
-
'version' => '1.3.2.0',
|
403 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Settings.php'
|
404 |
-
),
|
405 |
-
'Vendidero\\Germanized\\DHL\\Admin\\Admin' => array(
|
406 |
-
'version' => '1.3.2.0',
|
407 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Admin.php'
|
408 |
-
),
|
409 |
-
'Vendidero\\Germanized\\DHL\\ReturnLabel' => array(
|
410 |
-
'version' => '1.3.2.0',
|
411 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ReturnLabel.php'
|
412 |
-
),
|
413 |
-
'Vendidero\\Germanized\\DHL\\ParcelLocator' => array(
|
414 |
-
'version' => '1.3.2.0',
|
415 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ParcelLocator.php'
|
416 |
-
),
|
417 |
-
'Vendidero\\Germanized\\DHL\\SimpleLabel' => array(
|
418 |
-
'version' => '1.3.2.0',
|
419 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/SimpleLabel.php'
|
420 |
-
),
|
421 |
-
'Vendidero\\Germanized\\DHL\\Admin\\DownloadHandler' => array(
|
422 |
-
'version' => '1.3.2.0',
|
423 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/DownloadHandler.php'
|
424 |
-
),
|
425 |
-
'Vendidero\\Germanized\\DHL\\Api\\ReturnRest' => array(
|
426 |
-
'version' => '1.3.2.0',
|
427 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ReturnRest.php'
|
428 |
-
),
|
429 |
-
'Vendidero\\Germanized\\DHL\\Api\\Paket' => array(
|
430 |
-
'version' => '1.3.2.0',
|
431 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Paket.php'
|
432 |
-
),
|
433 |
-
'Vendidero\\Germanized\\DHL\\Api\\LabelSoap' => array(
|
434 |
-
'version' => '1.3.2.0',
|
435 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/LabelSoap.php'
|
436 |
-
),
|
437 |
-
'Vendidero\\Germanized\\DHL\\Api\\AuthSoap' => array(
|
438 |
-
'version' => '1.3.2.0',
|
439 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/AuthSoap.php'
|
440 |
-
),
|
441 |
-
'Vendidero\\Germanized\\DHL\\Api\\ParcelRest' => array(
|
442 |
-
'version' => '1.3.2.0',
|
443 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ParcelRest.php'
|
444 |
-
),
|
445 |
-
'Vendidero\\Germanized\\DHL\\Api\\Soap' => array(
|
446 |
-
'version' => '1.3.2.0',
|
447 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Soap.php'
|
448 |
-
),
|
449 |
-
'Vendidero\\Germanized\\DHL\\Api\\Rest' => array(
|
450 |
-
'version' => '1.3.2.0',
|
451 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Rest.php'
|
452 |
-
),
|
453 |
-
'Vendidero\\Germanized\\DHL\\Api\\FinderSoap' => array(
|
454 |
-
'version' => '1.3.2.0',
|
455 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/FinderSoap.php'
|
456 |
-
),
|
457 |
-
'Vendidero\\Germanized\\DHL\\Automation' => array(
|
458 |
-
'version' => '1.3.2.0',
|
459 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Automation.php'
|
460 |
-
),
|
461 |
-
'Vendidero\\Germanized\\DHL\\LabelFactory' => array(
|
462 |
-
'version' => '1.3.2.0',
|
463 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/LabelFactory.php'
|
464 |
-
),
|
465 |
-
'Vendidero\\Germanized\\DHL\\LabelWatcher' => array(
|
466 |
-
'version' => '1.3.2.0',
|
467 |
-
'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/LabelWatcher.php'
|
468 |
-
),
|
469 |
-
'Vendidero\\Germanized\\Shopmark' => array(
|
470 |
-
'version' => '9999999-dev',
|
471 |
-
'path' => $baseDir . '/src/Shopmark.php'
|
472 |
-
),
|
473 |
-
'Vendidero\\Germanized\\Packages' => array(
|
474 |
-
'version' => '9999999-dev',
|
475 |
-
'path' => $baseDir . '/src/Packages.php'
|
476 |
-
),
|
477 |
-
'Vendidero\\Germanized\\Shopmarks' => array(
|
478 |
-
'version' => '9999999-dev',
|
479 |
-
'path' => $baseDir . '/src/Shopmarks.php'
|
480 |
-
),
|
481 |
-
'Vendidero\\Germanized\\Autoloader' => array(
|
482 |
-
'version' => '9999999-dev',
|
483 |
-
'path' => $baseDir . '/src/Autoloader.php'
|
484 |
-
),
|
485 |
-
'Composer\\Installers\\GravInstaller' => array(
|
486 |
-
'version' => '1.7.0.0',
|
487 |
-
'path' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php'
|
488 |
-
),
|
489 |
-
'Composer\\Installers\\AttogramInstaller' => array(
|
490 |
-
'version' => '1.7.0.0',
|
491 |
-
'path' => $vendorDir . '/composer/installers/src/Composer/Installers/AttogramInstaller.php'
|
492 |
-
),
|
493 |
-
'Composer\\Installers\\DrupalInstaller' => array(
|
494 |
-
'version' => '1.7.0.0',
|
495 |
-
'path' => $vendorDir . '/composer/installers/src/Composer/Installers/DrupalInstaller.php'
|
496 |
-
),
|
497 |
-
'Composer\\Installers\\CraftInstaller' => array(
|
498 |
-
'version' => '1.7.0.0',
|
499 |
-
'path' => $vendorDir . '/composer/installers/src/Composer/Installers/CraftInstaller.php'
|
500 |
-
),
|
501 |
-
'Composer\\Installers\\CiviCrmInstaller' => array(
|
502 |
-
'version' => '1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|