Version Description
- Feature: Filter for number store table (wpo_wcpdf_number_store_table_name)
- Fix: prevent accessing order properties as custom field/order meta
- Fix: prevent wrong application of wpo_wcpdf_filename filter
- Fix: Improved tax rate calculation fallback
Download this release
Release Info
Developer | pomegranate |
Plugin | WooCommerce PDF Invoices & Packing Slips |
Version | 2.1.5 |
Comparing to | |
See all releases |
Code changes from version 2.1.4 to 2.1.5
- assets/css/order-styles.css +58 -58
- includes/compatibility/class-wcpdf-compatibility-third-party-plugins.php +198 -198
- includes/documents/abstract-wcpdf-order-document-methods.php +89 -18
- includes/documents/abstract-wcpdf-order-document.php +6 -1
- includes/documents/class-wcpdf-sequential-number-store.php +11 -4
- languages/woocommerce-pdf-invoices-packing-slips-de_DE.mo +0 -0
- languages/woocommerce-pdf-invoices-packing-slips-de_DE.po +168 -125
- languages/woocommerce-pdf-invoices-packing-slips-de_DE_formal.mo +0 -0
- languages/woocommerce-pdf-invoices-packing-slips-de_DE_formal.po +119 -57
- readme.txt +240 -233
- woocommerce-pdf-invoices-packingslips.php +357 -357
assets/css/order-styles.css
CHANGED
@@ -1,58 +1,58 @@
|
|
1 |
-
/* Order list buttons: */
|
2 |
-
.type-shop_order .column-wc_actions a.button.wpo_wcpdf {
|
3 |
-
padding: 2px !important;
|
4 |
-
}
|
5 |
-
|
6 |
-
.type-shop_order .column-wc_actions a.button.wpo_wcpdf img,
|
7 |
-
.type-shop_order .column-order_actions a.button.wpo_wcpdf img {
|
8 |
-
width: 16px;
|
9 |
-
}
|
10 |
-
|
11 |
-
.widefat .column-pdf_invoice_number {
|
12 |
-
width: 110px;
|
13 |
-
}
|
14 |
-
|
15 |
-
@media screen and (max-width: 782px) {
|
16 |
-
.wp-list-table .column-pdf_invoice_number, .wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-pdf_invoice_number:not(.check-column) {
|
17 |
-
display: none;
|
18 |
-
}
|
19 |
-
.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-pdf_invoice_number {
|
20 |
-
padding: 3px 8px 3px 35%
|
21 |
-
}
|
22 |
-
}
|
23 |
-
|
24 |
-
#wpo_wcpdf-data-input-box h4 {
|
25 |
-
font-size: 14px;
|
26 |
-
line-height: 1.4;
|
27 |
-
margin: 1.5em 0 0 0;
|
28 |
-
}
|
29 |
-
|
30 |
-
#wpo_wcpdf-data-input-box p {
|
31 |
-
margin: 0.5em 0;
|
32 |
-
}
|
33 |
-
|
34 |
-
#wpo_wcpdf-data-input-box .form-field input {
|
35 |
-
width: auto;
|
36 |
-
}
|
37 |
-
|
38 |
-
.wcpdf-data-fields .read-only {
|
39 |
-
height:auto;
|
40 |
-
display:block;
|
41 |
-
}
|
42 |
-
|
43 |
-
.wcpdf-data-fields .editable {
|
44 |
-
height:auto;
|
45 |
-
display:none;
|
46 |
-
}
|
47 |
-
|
48 |
-
/* Edit buttons Invoice, Proforma and Credit */
|
49 |
-
|
50 |
-
.wpo-wcpdf-edit-date-number {
|
51 |
-
margin-left:20px!important;
|
52 |
-
opacity:0.5;
|
53 |
-
}
|
54 |
-
|
55 |
-
.wpo-wcpdf-edit-date-number:hover {
|
56 |
-
opacity:1;
|
57 |
-
cursor:pointer;
|
58 |
-
}
|
1 |
+
/* Order list buttons: */
|
2 |
+
.type-shop_order .column-wc_actions a.button.wpo_wcpdf {
|
3 |
+
padding: 2px !important;
|
4 |
+
}
|
5 |
+
|
6 |
+
.type-shop_order .column-wc_actions a.button.wpo_wcpdf img,
|
7 |
+
.type-shop_order .column-order_actions a.button.wpo_wcpdf img {
|
8 |
+
width: 16px;
|
9 |
+
}
|
10 |
+
|
11 |
+
.widefat .column-pdf_invoice_number {
|
12 |
+
width: 110px;
|
13 |
+
}
|
14 |
+
|
15 |
+
@media screen and (max-width: 782px) {
|
16 |
+
.wp-list-table .column-pdf_invoice_number, .wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-pdf_invoice_number:not(.check-column) {
|
17 |
+
display: none;
|
18 |
+
}
|
19 |
+
.wp-list-table tr:not(.inline-edit-row):not(.no-items) td.column-pdf_invoice_number {
|
20 |
+
padding: 3px 8px 3px 35%
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
#wpo_wcpdf-data-input-box h4 {
|
25 |
+
font-size: 14px;
|
26 |
+
line-height: 1.4;
|
27 |
+
margin: 1.5em 0 0 0;
|
28 |
+
}
|
29 |
+
|
30 |
+
#wpo_wcpdf-data-input-box p {
|
31 |
+
margin: 0.5em 0;
|
32 |
+
}
|
33 |
+
|
34 |
+
#wpo_wcpdf-data-input-box .form-field input {
|
35 |
+
width: auto;
|
36 |
+
}
|
37 |
+
|
38 |
+
.wcpdf-data-fields .read-only {
|
39 |
+
height:auto;
|
40 |
+
display:block;
|
41 |
+
}
|
42 |
+
|
43 |
+
.wcpdf-data-fields .editable {
|
44 |
+
height:auto;
|
45 |
+
display:none;
|
46 |
+
}
|
47 |
+
|
48 |
+
/* Edit buttons Invoice, Proforma and Credit */
|
49 |
+
|
50 |
+
.wpo-wcpdf-edit-date-number {
|
51 |
+
margin-left:20px!important;
|
52 |
+
opacity:0.5;
|
53 |
+
}
|
54 |
+
|
55 |
+
.wpo-wcpdf-edit-date-number:hover {
|
56 |
+
opacity:1;
|
57 |
+
cursor:pointer;
|
58 |
+
}
|
includes/compatibility/class-wcpdf-compatibility-third-party-plugins.php
CHANGED
@@ -1,198 +1,198 @@
|
|
1 |
-
<?php
|
2 |
-
namespace WPO\WC\PDF_Invoices\Compatibility;
|
3 |
-
|
4 |
-
use WPO\WC\PDF_Invoices\Compatibility\WC_Core as WCX;
|
5 |
-
use WPO\WC\PDF_Invoices\Compatibility\Order as WCX_Order;
|
6 |
-
use WPO\WC\PDF_Invoices\Compatibility\Product as WCX_Product;
|
7 |
-
use WPO\WC\PDF_Invoices\Compatibility\WC_DateTime;
|
8 |
-
|
9 |
-
defined( 'ABSPATH' ) or exit;
|
10 |
-
|
11 |
-
if ( ! class_exists( '\\WPO\\WC\\PDF_Invoices\\Compatibility\\Third_Party_Plugins' ) ) :
|
12 |
-
|
13 |
-
/**
|
14 |
-
* Third party plugin compatibility class.
|
15 |
-
*
|
16 |
-
* @since 2.0
|
17 |
-
*/
|
18 |
-
class Third_Party_Plugins {
|
19 |
-
function __construct() {
|
20 |
-
// WooCommerce Subscriptions compatibility
|
21 |
-
if ( class_exists('WC_Subscriptions') ) {
|
22 |
-
if ( version_compare( \WC_Subscriptions::$version, '2.0', '<' ) ) {
|
23 |
-
add_action( 'woocommerce_subscriptions_renewal_order_created', array( $this, 'woocommerce_subscriptions_renewal_order_created' ), 10, 4 );
|
24 |
-
} else {
|
25 |
-
add_action( 'wcs_renewal_order_created', array( $this, 'wcs_renewal_order_created' ), 10, 2 );
|
26 |
-
}
|
27 |
-
}
|
28 |
-
|
29 |
-
// WooCommerce Product Bundles compatibility (add row classes)
|
30 |
-
if ( class_exists('WC_Bundles') ) {
|
31 |
-
add_filter( 'wpo_wcpdf_item_row_class', array( $this, 'add_product_bundles_classes' ), 10, 4 );
|
32 |
-
}
|
33 |
-
|
34 |
-
// WooCommerce Chained Products compatibility (add row classes)
|
35 |
-
if ( class_exists('SA_WC_Chained_Products') ) {
|
36 |
-
add_filter( 'wpo_wcpdf_item_row_class', array( $this, 'add_chained_product_class' ), 10, 4 );
|
37 |
-
}
|
38 |
-
|
39 |
-
// WooCommerce Composite Products compatibility (add row classes)
|
40 |
-
if ( class_exists('WC_Composite_Products') ) {
|
41 |
-
add_filter( 'wpo_wcpdf_item_row_class', array( $this, 'add_composite_product_class' ), 10, 4 );
|
42 |
-
}
|
43 |
-
|
44 |
-
// WooCommerce Order Status & Actions Manager emails compatibility
|
45 |
-
if (class_exists('WC_Custom_Status')) {
|
46 |
-
add_filter( 'wpo_wcpdf_wc_emails', array( $this, 'wc_order_status_actions_emails' ), 10, 1 );
|
47 |
-
}
|
48 |
-
|
49 |
-
}
|
50 |
-
|
51 |
-
/**
|
52 |
-
* Reset invoice data for WooCommerce subscription renewal orders
|
53 |
-
* https://wordpress.org/support/topic/subscription-renewal-duplicate-invoice-number?replies=6#post-6138110
|
54 |
-
*/
|
55 |
-
public function woocommerce_subscriptions_renewal_order_created ( $renewal_order, $original_order, $product_id, $new_order_role ) {
|
56 |
-
$this->reset_invoice_data( $renewal_order );
|
57 |
-
return $renewal_order;
|
58 |
-
}
|
59 |
-
|
60 |
-
public function wcs_renewal_order_created ( $renewal_order, $subscription ) {
|
61 |
-
$this->reset_invoice_data( $renewal_order );
|
62 |
-
return $renewal_order;
|
63 |
-
}
|
64 |
-
|
65 |
-
public function reset_invoice_data ( $order ) {
|
66 |
-
if ( ! is_object( $order ) ) {
|
67 |
-
$order = wc_get_order( $order );
|
68 |
-
}
|
69 |
-
// delete invoice number, invoice date & invoice exists meta
|
70 |
-
WCX_Order::delete_meta_data( $order, '_wcpdf_invoice_number' );
|
71 |
-
WCX_Order::delete_meta_data( $order, '_wcpdf_invoice_number_data' );
|
72 |
-
WCX_Order::delete_meta_data( $order, '_wcpdf_formatted_invoice_number' );
|
73 |
-
WCX_Order::delete_meta_data( $order, '_wcpdf_invoice_date' );
|
74 |
-
WCX_Order::delete_meta_data( $order, '_wcpdf_invoice_exists' );
|
75 |
-
}
|
76 |
-
|
77 |
-
/**
|
78 |
-
* WooCommerce Product Bundles
|
79 |
-
* @param string $classes CSS classes for item row (tr)
|
80 |
-
* @param string $document_type PDF Document type
|
81 |
-
* @param object $order WC_Order order
|
82 |
-
* @param int $item_id WooCommerce Item ID
|
83 |
-
*/
|
84 |
-
public function add_product_bundles_classes ( $classes, $document_type, $order, $item_id = '' ) {
|
85 |
-
$item_id = !empty($item_id) ? $item_id : $this->get_item_id_from_classes( $classes );
|
86 |
-
if ( empty($item_id) ) {
|
87 |
-
return $classes;
|
88 |
-
}
|
89 |
-
|
90 |
-
if ( $bundled_by = WCX_Order::get_item_meta( $order, $item_id, '_bundled_by', true ) ) {
|
91 |
-
$classes = $classes . ' bundled-item';
|
92 |
-
|
93 |
-
// check bundled item visibility
|
94 |
-
if ( $hidden = WCX_Order::get_item_meta( $order, $item_id, '_bundled_item_hidden', true ) ) {
|
95 |
-
$classes = $classes . ' hidden';
|
96 |
-
}
|
97 |
-
|
98 |
-
return $classes;
|
99 |
-
} elseif ( $bundled_items = WCX_Order::get_item_meta( $order, $item_id, '_bundled_items', true ) ) {
|
100 |
-
return $classes . ' product-bundle';
|
101 |
-
}
|
102 |
-
|
103 |
-
return $classes;
|
104 |
-
}
|
105 |
-
|
106 |
-
/**
|
107 |
-
* WooCommerce Chanined Products
|
108 |
-
* @param string $classes CSS classes for item row (tr)
|
109 |
-
* @param string $document_type PDF Document type
|
110 |
-
* @param object $order WC_Order order
|
111 |
-
* @param int $item_id WooCommerce Item ID
|
112 |
-
*/
|
113 |
-
public function add_chained_product_class ( $classes, $document_type, $order, $item_id = '' ) {
|
114 |
-
$item_id = !empty($item_id) ? $item_id : $this->get_item_id_from_classes( $classes );
|
115 |
-
if ( empty($item_id) ) {
|
116 |
-
return $classes;
|
117 |
-
}
|
118 |
-
|
119 |
-
if ( $chained_product_of = WCX_Order::get_item_meta( $order, $item_id, '_chained_product_of', true ) ) {
|
120 |
-
return $classes . ' chained-product';
|
121 |
-
}
|
122 |
-
|
123 |
-
return $classes;
|
124 |
-
}
|
125 |
-
|
126 |
-
/**
|
127 |
-
* WooCommerce Composite Products
|
128 |
-
* @param string $classes CSS classes for item row (tr)
|
129 |
-
* @param string $document_type PDF Document type
|
130 |
-
* @param object $order WC_Order order
|
131 |
-
* @param int $item_id WooCommerce Item ID
|
132 |
-
*/
|
133 |
-
public function add_composite_product_class ( $classes, $document_type, $order, $item_id = '' ) {
|
134 |
-
if ( !function_exists('wc_cp_is_composited_order_item') || !function_exists('wc_cp_is_composite_container_order_item') ) {
|
135 |
-
return $classes;
|
136 |
-
}
|
137 |
-
$item_id = !empty($item_id) ? $item_id : $this->get_item_id_from_classes( $classes );
|
138 |
-
if ( empty($item_id) ) {
|
139 |
-
return $classes;
|
140 |
-
}
|
141 |
-
|
142 |
-
// get order item object
|
143 |
-
$order_items = $order->get_items();
|
144 |
-
foreach ($order_items as $order_item_id => $order_item) {
|
145 |
-
if ($order_item_id == $item_id) {
|
146 |
-
if ( wc_cp_is_composited_order_item( $order_item, $order ) ) {
|
147 |
-
$classes .= ' component_table_item';
|
148 |
-
} elseif ( wc_cp_is_composite_container_order_item( $order_item ) ) {
|
149 |
-
$classes .= ' component_container_table_item';
|
150 |
-
}
|
151 |
-
break;
|
152 |
-
}
|
153 |
-
}
|
154 |
-
|
155 |
-
return $classes;
|
156 |
-
}
|
157 |
-
|
158 |
-
/**
|
159 |
-
* Backwards compatibility helper function: try to get item ID from row class
|
160 |
-
* @param string $classes CSS classes for item row (tr)
|
161 |
-
*/
|
162 |
-
public function get_item_id_from_classes ( $classes ) {
|
163 |
-
$class_array = explode(' ', $classes);
|
164 |
-
foreach ($class_array as $class) {
|
165 |
-
if (is_numeric($class)) {
|
166 |
-
$item_id = $class;
|
167 |
-
break;
|
168 |
-
}
|
169 |
-
}
|
170 |
-
|
171 |
-
// if still empty, we lost the item id somewhere :(
|
172 |
-
if (empty($item_id)) {
|
173 |
-
return false;
|
174 |
-
} else {
|
175 |
-
return $item_id;
|
176 |
-
}
|
177 |
-
}
|
178 |
-
|
179 |
-
/**
|
180 |
-
* WooCommerce Order Status & Actions Manager emails compatibility
|
181 |
-
*/
|
182 |
-
public function wc_order_status_actions_emails ( $emails ) {
|
183 |
-
// get list of custom statuses from WooCommerce Custom Order Status & Actions
|
184 |
-
// status slug => status name
|
185 |
-
$custom_statuses = \WC_Custom_Status::get_status_list_names();
|
186 |
-
// append _email to slug (=email_id) and add to emails list
|
187 |
-
foreach ($custom_statuses as $status_slug => $status_name) {
|
188 |
-
$emails[$status_slug.'_email'] = $status_name;
|
189 |
-
}
|
190 |
-
return $emails;
|
191 |
-
}
|
192 |
-
|
193 |
-
}
|
194 |
-
|
195 |
-
|
196 |
-
endif; // Class exists check
|
197 |
-
|
198 |
-
return new Third_Party_Plugins();
|
1 |
+
<?php
|
2 |
+
namespace WPO\WC\PDF_Invoices\Compatibility;
|
3 |
+
|
4 |
+
use WPO\WC\PDF_Invoices\Compatibility\WC_Core as WCX;
|
5 |
+
use WPO\WC\PDF_Invoices\Compatibility\Order as WCX_Order;
|
6 |
+
use WPO\WC\PDF_Invoices\Compatibility\Product as WCX_Product;
|
7 |
+
use WPO\WC\PDF_Invoices\Compatibility\WC_DateTime;
|
8 |
+
|
9 |
+
defined( 'ABSPATH' ) or exit;
|
10 |
+
|
11 |
+
if ( ! class_exists( '\\WPO\\WC\\PDF_Invoices\\Compatibility\\Third_Party_Plugins' ) ) :
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Third party plugin compatibility class.
|
15 |
+
*
|
16 |
+
* @since 2.0
|
17 |
+
*/
|
18 |
+
class Third_Party_Plugins {
|
19 |
+
function __construct() {
|
20 |
+
// WooCommerce Subscriptions compatibility
|
21 |
+
if ( class_exists('WC_Subscriptions') ) {
|
22 |
+
if ( version_compare( \WC_Subscriptions::$version, '2.0', '<' ) ) {
|
23 |
+
add_action( 'woocommerce_subscriptions_renewal_order_created', array( $this, 'woocommerce_subscriptions_renewal_order_created' ), 10, 4 );
|
24 |
+
} else {
|
25 |
+
add_action( 'wcs_renewal_order_created', array( $this, 'wcs_renewal_order_created' ), 10, 2 );
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
// WooCommerce Product Bundles compatibility (add row classes)
|
30 |
+
if ( class_exists('WC_Bundles') ) {
|
31 |
+
add_filter( 'wpo_wcpdf_item_row_class', array( $this, 'add_product_bundles_classes' ), 10, 4 );
|
32 |
+
}
|
33 |
+
|
34 |
+
// WooCommerce Chained Products compatibility (add row classes)
|
35 |
+
if ( class_exists('SA_WC_Chained_Products') ) {
|
36 |
+
add_filter( 'wpo_wcpdf_item_row_class', array( $this, 'add_chained_product_class' ), 10, 4 );
|
37 |
+
}
|
38 |
+
|
39 |
+
// WooCommerce Composite Products compatibility (add row classes)
|
40 |
+
if ( class_exists('WC_Composite_Products') ) {
|
41 |
+
add_filter( 'wpo_wcpdf_item_row_class', array( $this, 'add_composite_product_class' ), 10, 4 );
|
42 |
+
}
|
43 |
+
|
44 |
+
// WooCommerce Order Status & Actions Manager emails compatibility
|
45 |
+
if (class_exists('WC_Custom_Status')) {
|
46 |
+
add_filter( 'wpo_wcpdf_wc_emails', array( $this, 'wc_order_status_actions_emails' ), 10, 1 );
|
47 |
+
}
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Reset invoice data for WooCommerce subscription renewal orders
|
53 |
+
* https://wordpress.org/support/topic/subscription-renewal-duplicate-invoice-number?replies=6#post-6138110
|
54 |
+
*/
|
55 |
+
public function woocommerce_subscriptions_renewal_order_created ( $renewal_order, $original_order, $product_id, $new_order_role ) {
|
56 |
+
$this->reset_invoice_data( $renewal_order );
|
57 |
+
return $renewal_order;
|
58 |
+
}
|
59 |
+
|
60 |
+
public function wcs_renewal_order_created ( $renewal_order, $subscription ) {
|
61 |
+
$this->reset_invoice_data( $renewal_order );
|
62 |
+
return $renewal_order;
|
63 |
+
}
|
64 |
+
|
65 |
+
public function reset_invoice_data ( $order ) {
|
66 |
+
if ( ! is_object( $order ) ) {
|
67 |
+
$order = wc_get_order( $order );
|
68 |
+
}
|
69 |
+
// delete invoice number, invoice date & invoice exists meta
|
70 |
+
WCX_Order::delete_meta_data( $order, '_wcpdf_invoice_number' );
|
71 |
+
WCX_Order::delete_meta_data( $order, '_wcpdf_invoice_number_data' );
|
72 |
+
WCX_Order::delete_meta_data( $order, '_wcpdf_formatted_invoice_number' );
|
73 |
+
WCX_Order::delete_meta_data( $order, '_wcpdf_invoice_date' );
|
74 |
+
WCX_Order::delete_meta_data( $order, '_wcpdf_invoice_exists' );
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* WooCommerce Product Bundles
|
79 |
+
* @param string $classes CSS classes for item row (tr)
|
80 |
+
* @param string $document_type PDF Document type
|
81 |
+
* @param object $order WC_Order order
|
82 |
+
* @param int $item_id WooCommerce Item ID
|
83 |
+
*/
|
84 |
+
public function add_product_bundles_classes ( $classes, $document_type, $order, $item_id = '' ) {
|
85 |
+
$item_id = !empty($item_id) ? $item_id : $this->get_item_id_from_classes( $classes );
|
86 |
+
if ( empty($item_id) ) {
|
87 |
+
return $classes;
|
88 |
+
}
|
89 |
+
|
90 |
+
if ( $bundled_by = WCX_Order::get_item_meta( $order, $item_id, '_bundled_by', true ) ) {
|
91 |
+
$classes = $classes . ' bundled-item';
|
92 |
+
|
93 |
+
// check bundled item visibility
|
94 |
+
if ( $hidden = WCX_Order::get_item_meta( $order, $item_id, '_bundled_item_hidden', true ) ) {
|
95 |
+
$classes = $classes . ' hidden';
|
96 |
+
}
|
97 |
+
|
98 |
+
return $classes;
|
99 |
+
} elseif ( $bundled_items = WCX_Order::get_item_meta( $order, $item_id, '_bundled_items', true ) ) {
|
100 |
+
return $classes . ' product-bundle';
|
101 |
+
}
|
102 |
+
|
103 |
+
return $classes;
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* WooCommerce Chanined Products
|
108 |
+
* @param string $classes CSS classes for item row (tr)
|
109 |
+
* @param string $document_type PDF Document type
|
110 |
+
* @param object $order WC_Order order
|
111 |
+
* @param int $item_id WooCommerce Item ID
|
112 |
+
*/
|
113 |
+
public function add_chained_product_class ( $classes, $document_type, $order, $item_id = '' ) {
|
114 |
+
$item_id = !empty($item_id) ? $item_id : $this->get_item_id_from_classes( $classes );
|
115 |
+
if ( empty($item_id) ) {
|
116 |
+
return $classes;
|
117 |
+
}
|
118 |
+
|
119 |
+
if ( $chained_product_of = WCX_Order::get_item_meta( $order, $item_id, '_chained_product_of', true ) ) {
|
120 |
+
return $classes . ' chained-product';
|
121 |
+
}
|
122 |
+
|
123 |
+
return $classes;
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* WooCommerce Composite Products
|
128 |
+
* @param string $classes CSS classes for item row (tr)
|
129 |
+
* @param string $document_type PDF Document type
|
130 |
+
* @param object $order WC_Order order
|
131 |
+
* @param int $item_id WooCommerce Item ID
|
132 |
+
*/
|
133 |
+
public function add_composite_product_class ( $classes, $document_type, $order, $item_id = '' ) {
|
134 |
+
if ( !function_exists('wc_cp_is_composited_order_item') || !function_exists('wc_cp_is_composite_container_order_item') ) {
|
135 |
+
return $classes;
|
136 |
+
}
|
137 |
+
$item_id = !empty($item_id) ? $item_id : $this->get_item_id_from_classes( $classes );
|
138 |
+
if ( empty($item_id) ) {
|
139 |
+
return $classes;
|
140 |
+
}
|
141 |
+
|
142 |
+
// get order item object
|
143 |
+
$order_items = $order->get_items();
|
144 |
+
foreach ($order_items as $order_item_id => $order_item) {
|
145 |
+
if ($order_item_id == $item_id) {
|
146 |
+
if ( wc_cp_is_composited_order_item( $order_item, $order ) ) {
|
147 |
+
$classes .= ' component_table_item';
|
148 |
+
} elseif ( wc_cp_is_composite_container_order_item( $order_item ) ) {
|
149 |
+
$classes .= ' component_container_table_item';
|
150 |
+
}
|
151 |
+
break;
|
152 |
+
}
|
153 |
+
}
|
154 |
+
|
155 |
+
return $classes;
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Backwards compatibility helper function: try to get item ID from row class
|
160 |
+
* @param string $classes CSS classes for item row (tr)
|
161 |
+
*/
|
162 |
+
public function get_item_id_from_classes ( $classes ) {
|
163 |
+
$class_array = explode(' ', $classes);
|
164 |
+
foreach ($class_array as $class) {
|
165 |
+
if (is_numeric($class)) {
|
166 |
+
$item_id = $class;
|
167 |
+
break;
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
// if still empty, we lost the item id somewhere :(
|
172 |
+
if (empty($item_id)) {
|
173 |
+
return false;
|
174 |
+
} else {
|
175 |
+
return $item_id;
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* WooCommerce Order Status & Actions Manager emails compatibility
|
181 |
+
*/
|
182 |
+
public function wc_order_status_actions_emails ( $emails ) {
|
183 |
+
// get list of custom statuses from WooCommerce Custom Order Status & Actions
|
184 |
+
// status slug => status name
|
185 |
+
$custom_statuses = \WC_Custom_Status::get_status_list_names();
|
186 |
+
// append _email to slug (=email_id) and add to emails list
|
187 |
+
foreach ($custom_statuses as $status_slug => $status_name) {
|
188 |
+
$emails[$status_slug.'_email'] = $status_name;
|
189 |
+
}
|
190 |
+
return $emails;
|
191 |
+
}
|
192 |
+
|
193 |
+
}
|
194 |
+
|
195 |
+
|
196 |
+
endif; // Class exists check
|
197 |
+
|
198 |
+
return new Third_Party_Plugins();
|
includes/documents/abstract-wcpdf-order-document-methods.php
CHANGED
@@ -186,9 +186,11 @@ abstract class Order_Document_Methods extends Order_Document {
|
|
186 |
Â
* Return/Show a custom field
|
187 |
Â
*/
|
188 |
Â
public function get_custom_field( $field_name ) {
|
189 |
-
|
Â
|
|
Â
|
|
190 |
Â
// if not found, try prefixed with underscore
|
191 |
-
if ( !$custom_field && substr( $field_name, 0, 1 ) !== '_' ) {
|
192 |
Â
$custom_field = WCX_Order::get_meta( $this->order, "_{$field_name}", true );
|
193 |
Â
}
|
194 |
Â
|
@@ -201,7 +203,9 @@ abstract class Order_Document_Methods extends Order_Document {
|
|
201 |
Â
// fallback to parent for refunds
|
202 |
Â
if ( !$custom_field && $this->is_refund( $this->order ) ) {
|
203 |
Â
$parent_order = $this->get_refund_parent( $this->order );
|
204 |
-
|
Â
|
|
Â
|
|
205 |
Â
|
206 |
Â
// WC3.0 fallback to properties
|
207 |
Â
if ( !$custom_field && is_callable( array( $parent_order, "get_{$property}" ) ) ) {
|
@@ -223,6 +227,64 @@ abstract class Order_Document_Methods extends Order_Document {
|
|
223 |
Â
}
|
224 |
Â
}
|
225 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
226 |
Â
/**
|
227 |
Â
* Return/show product attribute
|
228 |
Â
*/
|
@@ -248,7 +310,7 @@ abstract class Order_Document_Methods extends Order_Document {
|
|
248 |
Â
}
|
249 |
Â
|
250 |
Â
// WC3.0+ fallback parent product for variations
|
251 |
-
if ( empty($attribute) &&
|
252 |
Â
$product = wc_get_product( $product->get_parent_id() );
|
253 |
Â
$attribute = $this->get_product_attribute( $attribute_name, $product );
|
254 |
Â
}
|
@@ -501,7 +563,12 @@ abstract class Order_Document_Methods extends Order_Document {
|
|
501 |
Â
$line_taxes = $line_tax_data['subtotal'];
|
502 |
Â
foreach ( $line_taxes as $tax_id => $tax ) {
|
503 |
Â
if ( isset($tax) && $tax !== '' ) {
|
504 |
-
$
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
505 |
Â
}
|
506 |
Â
}
|
507 |
Â
|
@@ -526,26 +593,28 @@ abstract class Order_Document_Methods extends Order_Document {
|
|
526 |
Â
|
527 |
Â
if (empty($tax_rates)) {
|
528 |
Â
// one last try: manually calculate
|
529 |
-
|
530 |
-
$tax_rates[] = round( ($line_tax / $line_total)*100, 1 ).' %';
|
531 |
-
} else {
|
532 |
-
$tax_rates[] = '-';
|
533 |
-
}
|
534 |
Â
}
|
535 |
Â
|
536 |
Â
$tax_rates = implode(' ,', $tax_rates );
|
537 |
Â
} else {
|
538 |
Â
// Backwards compatibility/fallback: calculate tax from line items
|
539 |
-
|
540 |
-
$tax_rates = round( ($line_tax / $line_total)*100, 1 ).' %';
|
541 |
-
} else {
|
542 |
-
$tax_rates = '-';
|
543 |
-
}
|
544 |
Â
}
|
545 |
Â
|
546 |
Â
return $tax_rates;
|
547 |
Â
}
|
548 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
549 |
Â
/**
|
550 |
Â
* Returns the percentage rate (float) for a given tax rate ID.
|
551 |
Â
* @param int $rate_id woocommerce tax rate id
|
@@ -554,7 +623,11 @@ abstract class Order_Document_Methods extends Order_Document {
|
|
554 |
Â
public function get_tax_rate_by_id( $rate_id ) {
|
555 |
Â
global $wpdb;
|
556 |
Â
$rate = $wpdb->get_var( $wpdb->prepare( "SELECT tax_rate FROM {$wpdb->prefix}woocommerce_tax_rates WHERE tax_rate_id = %d;", $rate_id ) );
|
557 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
558 |
Â
}
|
559 |
Â
|
560 |
Â
/**
|
@@ -567,8 +640,6 @@ abstract class Order_Document_Methods extends Order_Document {
|
|
567 |
Â
|
568 |
Â
$tax_rate_ids = array();
|
569 |
Â
foreach ($rates as $rate) {
|
570 |
-
// var_dump($rate->tax_rate_id);
|
571 |
-
// die($rate);
|
572 |
Â
$rate_id = $rate->tax_rate_id;
|
573 |
Â
unset($rate->tax_rate_id);
|
574 |
Â
$tax_rate_ids[$rate_id] = (array) $rate;
|
186 |
Â
* Return/Show a custom field
|
187 |
Â
*/
|
188 |
Â
public function get_custom_field( $field_name ) {
|
189 |
+
if ( !$this->is_order_prop( $field_name ) ) {
|
190 |
+
$custom_field = WCX_Order::get_meta( $this->order, $field_name, true );
|
191 |
+
}
|
192 |
Â
// if not found, try prefixed with underscore
|
193 |
+
if ( !$custom_field && substr( $field_name, 0, 1 ) !== '_' && !$this->is_order_prop( "_{$field_name}" ) ) {
|
194 |
Â
$custom_field = WCX_Order::get_meta( $this->order, "_{$field_name}", true );
|
195 |
Â
}
|
196 |
Â
|
203 |
Â
// fallback to parent for refunds
|
204 |
Â
if ( !$custom_field && $this->is_refund( $this->order ) ) {
|
205 |
Â
$parent_order = $this->get_refund_parent( $this->order );
|
206 |
+
if ( !$this->is_order_prop( $field_name ) ) {
|
207 |
+
$custom_field = WCX_Order::get_meta( $parent_order, $field_name, true );
|
208 |
+
}
|
209 |
Â
|
210 |
Â
// WC3.0 fallback to properties
|
211 |
Â
if ( !$custom_field && is_callable( array( $parent_order, "get_{$property}" ) ) ) {
|
227 |
Â
}
|
228 |
Â
}
|
229 |
Â
|
230 |
+
public function is_order_prop( $key ) {
|
231 |
+
if ( version_compare( WOOCOMMERCE_VERSION, '3.0', '<' ) ) {
|
232 |
+
return false; // WC 2.X didn't have CRUD
|
233 |
+
}
|
234 |
+
// Taken from WC class
|
235 |
+
$order_props = array(
|
236 |
+
// Abstract order props
|
237 |
+
'parent_id',
|
238 |
+
'status',
|
239 |
+
'currency',
|
240 |
+
'version',
|
241 |
+
'prices_include_tax',
|
242 |
+
'date_created',
|
243 |
+
'date_modified',
|
244 |
+
'discount_total',
|
245 |
+
'discount_tax',
|
246 |
+
'shipping_total',
|
247 |
+
'shipping_tax',
|
248 |
+
'cart_tax',
|
249 |
+
'total',
|
250 |
+
'total_tax',
|
251 |
+
// Order props
|
252 |
+
'customer_id',
|
253 |
+
'order_key',
|
254 |
+
'billing_first_name',
|
255 |
+
'billing_last_name',
|
256 |
+
'billing_company',
|
257 |
+
'billing_address_1',
|
258 |
+
'billing_address_2',
|
259 |
+
'billing_city',
|
260 |
+
'billing_state',
|
261 |
+
'billing_postcode',
|
262 |
+
'billing_country',
|
263 |
+
'billing_email',
|
264 |
+
'billing_phone',
|
265 |
+
'shipping_first_name',
|
266 |
+
'shipping_last_name',
|
267 |
+
'shipping_company',
|
268 |
+
'shipping_address_1',
|
269 |
+
'shipping_address_2',
|
270 |
+
'shipping_city',
|
271 |
+
'shipping_state',
|
272 |
+
'shipping_postcode',
|
273 |
+
'shipping_country',
|
274 |
+
'payment_method',
|
275 |
+
'payment_method_title',
|
276 |
+
'transaction_id',
|
277 |
+
'customer_ip_address',
|
278 |
+
'customer_user_agent',
|
279 |
+
'created_via',
|
280 |
+
'customer_note',
|
281 |
+
'date_completed',
|
282 |
+
'date_paid',
|
283 |
+
'cart_hash',
|
284 |
+
);
|
285 |
+
return in_array($key, $order_props);
|
286 |
+
}
|
287 |
+
|
288 |
Â
/**
|
289 |
Â
* Return/show product attribute
|
290 |
Â
*/
|
310 |
Â
}
|
311 |
Â
|
312 |
Â
// WC3.0+ fallback parent product for variations
|
313 |
+
if ( empty($attribute) && version_compare( WOOCOMMERCE_VERSION, '3.0', '>=' ) && $product->is_type( 'variation' ) ) {
|
314 |
Â
$product = wc_get_product( $product->get_parent_id() );
|
315 |
Â
$attribute = $this->get_product_attribute( $attribute_name, $product );
|
316 |
Â
}
|
563 |
Â
$line_taxes = $line_tax_data['subtotal'];
|
564 |
Â
foreach ( $line_taxes as $tax_id => $tax ) {
|
565 |
Â
if ( isset($tax) && $tax !== '' ) {
|
566 |
+
$tax_rate = $this->get_tax_rate_by_id( $tax_id );
|
567 |
+
if ( $tax_rate !== false ) {
|
568 |
+
$tax_rates[] = $tax_rate . ' %';
|
569 |
+
} else {
|
570 |
+
$tax_rates[] = $this->calculate_tax_rate( $line_total, $line_tax );
|
571 |
+
}
|
572 |
Â
}
|
573 |
Â
}
|
574 |
Â
|
593 |
Â
|
594 |
Â
if (empty($tax_rates)) {
|
595 |
Â
// one last try: manually calculate
|
596 |
+
$tax_rates[] = $this->calculate_tax_rate( $line_total, $line_tax );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
597 |
Â
}
|
598 |
Â
|
599 |
Â
$tax_rates = implode(' ,', $tax_rates );
|
600 |
Â
} else {
|
601 |
Â
// Backwards compatibility/fallback: calculate tax from line items
|
602 |
+
$tax_rates[] = $this->calculate_tax_rate( $line_total, $line_tax );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
603 |
Â
}
|
604 |
Â
|
605 |
Â
return $tax_rates;
|
606 |
Â
}
|
607 |
Â
|
608 |
+
public function calculate_tax_rate( $price_ex_tax, $tax ) {
|
609 |
+
$precision = apply_filters( 'wpo_wcpdf_calculate_tax_rate_precision', 1 );
|
610 |
+
if ( $price_ex_tax != 0) {
|
611 |
+
$tax_rate = round( ($tax / $price_ex_tax)*100, $precision ).' %';
|
612 |
+
} else {
|
613 |
+
$tax_rate = '-';
|
614 |
+
}
|
615 |
+
return $tax_rate;
|
616 |
+
}
|
617 |
+
|
618 |
Â
/**
|
619 |
Â
* Returns the percentage rate (float) for a given tax rate ID.
|
620 |
Â
* @param int $rate_id woocommerce tax rate id
|
623 |
Â
public function get_tax_rate_by_id( $rate_id ) {
|
624 |
Â
global $wpdb;
|
625 |
Â
$rate = $wpdb->get_var( $wpdb->prepare( "SELECT tax_rate FROM {$wpdb->prefix}woocommerce_tax_rates WHERE tax_rate_id = %d;", $rate_id ) );
|
626 |
+
if ($rate === NULL) {
|
627 |
+
return false;
|
628 |
+
} else {
|
629 |
+
return (float) $rate;
|
630 |
+
}
|
631 |
Â
}
|
632 |
Â
|
633 |
Â
/**
|
640 |
Â
|
641 |
Â
$tax_rate_ids = array();
|
642 |
Â
foreach ($rates as $rate) {
|
Â
|
|
Â
|
|
643 |
Â
$rate_id = $rate->tax_rate_id;
|
644 |
Â
unset($rate->tax_rate_id);
|
645 |
Â
$tax_rate_ids[$rate_id] = (array) $rate;
|
includes/documents/abstract-wcpdf-order-document.php
CHANGED
@@ -417,7 +417,12 @@ abstract class Order_Document {
|
|
417 |
Â
} else {
|
418 |
Â
$text = $default;
|
419 |
Â
}
|
420 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
421 |
Â
}
|
422 |
Â
|
423 |
Â
/**
|
417 |
Â
} else {
|
418 |
Â
$text = $default;
|
419 |
Â
}
|
420 |
+
// legacy filters
|
421 |
+
if ( in_array( $settings_key, array( 'shop_name', 'shop_address', 'footer', 'extra_1', 'extra_2', 'extra_3' ) ) ) {
|
422 |
+
$text = apply_filters( "wpo_wcpdf_{$settings_key}", $text, $this );
|
423 |
+
}
|
424 |
+
|
425 |
+
return apply_filters( "wpo_wcpdf_{$settings_key}_settings_text", $text, $this );
|
426 |
Â
}
|
427 |
Â
|
428 |
Â
/**
|
includes/documents/class-wcpdf-sequential-number-store.php
CHANGED
@@ -18,10 +18,10 @@ if ( !class_exists( '\\WPO\\WC\\PDF_Invoices\\Documents\\Sequential_Number_Store
|
|
18 |
Â
|
19 |
Â
class Sequential_Number_Store {
|
20 |
Â
/**
|
21 |
-
* Name of the
|
22 |
Â
* @var String
|
23 |
Â
*/
|
24 |
-
public $
|
25 |
Â
|
26 |
Â
/**
|
27 |
Â
* Number store method, either 'auto_increment' or 'calculate'
|
@@ -29,10 +29,17 @@ class Sequential_Number_Store {
|
|
29 |
Â
*/
|
30 |
Â
public $method;
|
31 |
Â
|
32 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
33 |
Â
global $wpdb;
|
34 |
-
$this->
|
35 |
Â
$this->method = $method;
|
Â
|
|
36 |
Â
|
37 |
Â
$this->init();
|
38 |
Â
}
|
18 |
Â
|
19 |
Â
class Sequential_Number_Store {
|
20 |
Â
/**
|
21 |
+
* Name of the number store (used for table_name)
|
22 |
Â
* @var String
|
23 |
Â
*/
|
24 |
+
public $store_name;
|
25 |
Â
|
26 |
Â
/**
|
27 |
Â
* Number store method, either 'auto_increment' or 'calculate'
|
29 |
Â
*/
|
30 |
Â
public $method;
|
31 |
Â
|
32 |
+
/**
|
33 |
+
* Name of the table that stores the number sequence (including the wp_wcpdf_ table prefix)
|
34 |
+
* @var String
|
35 |
+
*/
|
36 |
+
public $table_name;
|
37 |
+
|
38 |
+
public function __construct( $store_name, $method = 'auto_increment' ) {
|
39 |
Â
global $wpdb;
|
40 |
+
$this->store_name = $store_name;
|
41 |
Â
$this->method = $method;
|
42 |
+
$this->table_name = apply_filters( "wpo_wcpdf_number_store_table_name", "{$wpdb->prefix}wcpdf_{$store_name}", $store_name, $method ); // i.e. wp_wcpdf_invoice_number
|
43 |
Â
|
44 |
Â
$this->init();
|
45 |
Â
}
|
languages/woocommerce-pdf-invoices-packing-slips-de_DE.mo
CHANGED
Binary file
|
languages/woocommerce-pdf-invoices-packing-slips-de_DE.po
CHANGED
@@ -1,20 +1,19 @@
|
|
Â
|
|
Â
|
|
1 |
Â
msgid ""
|
2 |
Â
msgstr ""
|
3 |
-
"Project-Id-Version: WooCommerce PDF Invoices & Packing Slips
|
4 |
-
"
|
5 |
-
"
|
6 |
-
"
|
7 |
-
"
|
8 |
-
"Language:
|
Â
|
|
9 |
Â
"MIME-Version: 1.0\n"
|
10 |
Â
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
Â
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.8.12\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
Â
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
15 |
-
"X-
|
16 |
-
"X-Poedit-KeywordsList: __;_e;_x;_n:1,2\n"
|
17 |
-
"X-Poedit-SearchPath-0: .\n"
|
18 |
Â
|
19 |
Â
#: includes/class-wcpdf-admin.php:72 includes/class-wcpdf-admin.php:174
|
20 |
Â
msgid "Invoice Number"
|
@@ -26,7 +25,7 @@ msgstr "PDF erstellen"
|
|
26 |
Â
|
27 |
Â
#: includes/class-wcpdf-admin.php:115
|
28 |
Â
msgid "PDF Invoice data"
|
29 |
-
msgstr ""
|
30 |
Â
|
31 |
Â
#: includes/class-wcpdf-admin.php:166
|
32 |
Â
#: includes/documents/class-wcpdf-invoice.php:32
|
@@ -43,11 +42,11 @@ msgstr "Rechnungsdatum:"
|
|
43 |
Â
|
44 |
Â
#: includes/class-wcpdf-admin.php:189
|
45 |
Â
msgid "Set invoice number & date"
|
46 |
-
msgstr ""
|
47 |
Â
|
48 |
Â
#: includes/class-wcpdf-admin.php:196
|
49 |
Â
msgid "Invoice Number (unformatted!)"
|
50 |
-
msgstr ""
|
51 |
Â
|
52 |
Â
#: includes/class-wcpdf-admin.php:206 includes/class-wcpdf-admin.php:208
|
53 |
Â
msgid "h"
|
@@ -68,13 +67,15 @@ msgstr "Du hast keine Berechtigung diese Seite anzuzeigen."
|
|
68 |
Â
|
69 |
Â
#: includes/class-wcpdf-main.php:141
|
70 |
Â
msgid "Some of the export parameters are missing."
|
71 |
-
msgstr ""
|
72 |
Â
|
73 |
Â
#: includes/class-wcpdf-settings-callbacks.php:27
|
74 |
Â
msgid ""
|
75 |
Â
"<b>Warning!</b> The settings below are meant for debugging/development only. "
|
76 |
Â
"Do not use them on a live website!"
|
77 |
Â
msgstr ""
|
Â
|
|
Â
|
|
78 |
Â
|
79 |
Â
#: includes/class-wcpdf-settings-callbacks.php:36
|
80 |
Â
msgid ""
|
@@ -92,51 +93,59 @@ msgstr "Bildauflösung"
|
|
92 |
Â
|
93 |
Â
#: includes/class-wcpdf-settings-callbacks.php:325
|
94 |
Â
msgid "Save"
|
95 |
-
msgstr ""
|
96 |
Â
|
97 |
Â
#: includes/class-wcpdf-settings-debug.php:34
|
98 |
Â
msgid "Debug settings"
|
99 |
-
msgstr ""
|
100 |
Â
|
101 |
Â
#: includes/class-wcpdf-settings-debug.php:40
|
102 |
Â
msgid "Legacy mode"
|
103 |
-
msgstr ""
|
104 |
Â
|
105 |
Â
#: includes/class-wcpdf-settings-debug.php:46
|
106 |
Â
msgid ""
|
107 |
Â
"Legacy mode ensures compatibility with templates and filters from previous "
|
108 |
Â
"versions."
|
109 |
Â
msgstr ""
|
Â
|
|
Â
|
|
110 |
Â
|
111 |
Â
#: includes/class-wcpdf-settings-debug.php:52
|
112 |
Â
msgid "Enable debug output"
|
113 |
-
msgstr ""
|
114 |
Â
|
115 |
Â
#: includes/class-wcpdf-settings-debug.php:58
|
116 |
Â
msgid ""
|
117 |
Â
"Enable this option to output plugin errors if you're getting a blank page or "
|
118 |
Â
"other PDF generation issues"
|
119 |
Â
msgstr ""
|
Â
|
|
Â
|
|
120 |
Â
|
121 |
Â
#: includes/class-wcpdf-settings-debug.php:64
|
122 |
Â
msgid "Output to HTML"
|
123 |
-
msgstr ""
|
124 |
Â
|
125 |
Â
#: includes/class-wcpdf-settings-debug.php:70
|
126 |
Â
msgid ""
|
127 |
Â
"Send the template output as HTML to the browser instead of creating a PDF."
|
128 |
Â
msgstr ""
|
Â
|
|
Â
|
|
129 |
Â
|
130 |
Â
#: includes/class-wcpdf-settings-documents.php:29
|
131 |
Â
#: includes/class-wcpdf-settings.php:84
|
132 |
Â
msgid "Documents"
|
133 |
-
msgstr ""
|
134 |
Â
|
135 |
Â
#: includes/class-wcpdf-settings-documents.php:45
|
136 |
Â
msgid ""
|
137 |
Â
"All available documents are listed below. Click on a document to configure "
|
138 |
Â
"it."
|
139 |
Â
msgstr ""
|
Â
|
|
Â
|
|
140 |
Â
|
141 |
Â
#: includes/class-wcpdf-settings-general.php:37
|
142 |
Â
msgid "General settings"
|
@@ -181,11 +190,13 @@ msgstr "Letter"
|
|
181 |
Â
|
182 |
Â
#: includes/class-wcpdf-settings-general.php:86
|
183 |
Â
msgid "Extended currency symbol support"
|
184 |
-
msgstr ""
|
185 |
Â
|
186 |
Â
#: includes/class-wcpdf-settings-general.php:92
|
187 |
Â
msgid "Enable this if your currency symbol is not displaying properly"
|
188 |
Â
msgstr ""
|
Â
|
|
Â
|
|
189 |
Â
|
190 |
Â
#: includes/class-wcpdf-settings-general.php:98
|
191 |
Â
msgid "Shop header/logo"
|
@@ -256,11 +267,11 @@ msgstr "Einstellungen"
|
|
256 |
Â
|
257 |
Â
#: includes/class-wcpdf-settings.php:71
|
258 |
Â
msgid "Documentation"
|
259 |
-
msgstr ""
|
260 |
Â
|
261 |
Â
#: includes/class-wcpdf-settings.php:72
|
262 |
Â
msgid "Support Forum"
|
263 |
-
msgstr ""
|
264 |
Â
|
265 |
Â
#: includes/class-wcpdf-settings.php:83
|
266 |
Â
msgid "General"
|
@@ -272,7 +283,7 @@ msgstr "Status"
|
|
272 |
Â
|
273 |
Â
#: includes/compatibility/class-wc-core-compatibility.php:222
|
274 |
Â
msgid "WooCommerce"
|
275 |
-
msgstr ""
|
276 |
Â
|
277 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:113
|
278 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:176
|
@@ -290,12 +301,12 @@ msgstr "Versandart"
|
|
290 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:669
|
291 |
Â
#, php-format
|
292 |
Â
msgid "(includes %s)"
|
293 |
-
msgstr ""
|
294 |
Â
|
295 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:672
|
296 |
Â
#, php-format
|
297 |
Â
msgid "(Includes %s)"
|
298 |
-
msgstr ""
|
299 |
Â
|
300 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:702
|
301 |
Â
msgid "Subtotal"
|
@@ -325,15 +336,14 @@ msgstr "Gesamtsumme ohne MwSt."
|
|
325 |
Â
msgid "Total"
|
326 |
Â
msgstr "Gesamtsumme"
|
327 |
Â
|
328 |
-
#: includes/documents/abstract-wcpdf-order-document.php:
|
329 |
Â
msgid "Admin email"
|
330 |
-
msgstr ""
|
331 |
Â
|
332 |
-
#: includes/documents/abstract-wcpdf-order-document.php:
|
333 |
Â
msgid "Manual email"
|
334 |
-
msgstr ""
|
335 |
Â
|
336 |
-
# This is a filename (prefix). do not use spaces or special characters!
|
337 |
Â
#: includes/documents/class-wcpdf-invoice.php:85
|
338 |
Â
msgid "invoice"
|
339 |
Â
msgid_plural "invoices"
|
@@ -343,11 +353,11 @@ msgstr[1] "Rechnungen"
|
|
343 |
Â
#: includes/documents/class-wcpdf-invoice.php:130
|
344 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:94
|
345 |
Â
msgid "Enable"
|
346 |
-
msgstr ""
|
347 |
Â
|
348 |
Â
#: includes/documents/class-wcpdf-invoice.php:141
|
349 |
Â
msgid "Attach to:"
|
350 |
-
msgstr ""
|
351 |
Â
|
352 |
Â
#: includes/documents/class-wcpdf-invoice.php:148
|
353 |
Â
#, php-format
|
@@ -362,23 +372,25 @@ msgstr ""
|
|
362 |
Â
|
363 |
Â
#: includes/documents/class-wcpdf-invoice.php:154
|
364 |
Â
msgid "Display shipping address"
|
365 |
-
msgstr ""
|
366 |
Â
|
367 |
Â
#: includes/documents/class-wcpdf-invoice.php:160
|
368 |
Â
msgid ""
|
369 |
Â
"Display shipping address (in addition to the default billing address) if "
|
370 |
Â
"different from billing address"
|
371 |
Â
msgstr ""
|
Â
|
|
Â
|
|
372 |
Â
|
373 |
Â
#: includes/documents/class-wcpdf-invoice.php:166
|
374 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:117
|
375 |
Â
msgid "Display email address"
|
376 |
-
msgstr ""
|
377 |
Â
|
378 |
Â
#: includes/documents/class-wcpdf-invoice.php:177
|
379 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:128
|
380 |
Â
msgid "Display phone number"
|
381 |
-
msgstr ""
|
382 |
Â
|
383 |
Â
#: includes/documents/class-wcpdf-invoice.php:188
|
384 |
Â
msgid "Display invoice date"
|
@@ -386,7 +398,7 @@ msgstr "Rechnungsdatum anzeigen"
|
|
386 |
Â
|
387 |
Â
#: includes/documents/class-wcpdf-invoice.php:200
|
388 |
Â
msgid "Display invoice number"
|
389 |
-
msgstr ""
|
390 |
Â
|
391 |
Â
#: includes/documents/class-wcpdf-invoice.php:212
|
392 |
Â
msgid "Next invoice number (without prefix/suffix etc.)"
|
@@ -399,10 +411,15 @@ msgid ""
|
|
399 |
Â
"you override this and set it lower than the current/highest number, this "
|
400 |
Â
"could create duplicate numbers!"
|
401 |
Â
msgstr ""
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
402 |
Â
|
403 |
Â
#: includes/documents/class-wcpdf-invoice.php:224
|
404 |
Â
msgid "Number format"
|
405 |
-
msgstr ""
|
406 |
Â
|
407 |
Â
#: includes/documents/class-wcpdf-invoice.php:232
|
408 |
Â
msgid "Prefix"
|
@@ -413,6 +430,8 @@ msgid ""
|
|
413 |
Â
"to use the invoice year and/or month, use [invoice_year] or [invoice_month] "
|
414 |
Â
"respectively"
|
415 |
Â
msgstr ""
|
Â
|
|
Â
|
|
416 |
Â
|
417 |
Â
#: includes/documents/class-wcpdf-invoice.php:237
|
418 |
Â
msgid "Suffix"
|
@@ -438,27 +457,27 @@ msgstr ""
|
|
438 |
Â
|
439 |
Â
#: includes/documents/class-wcpdf-invoice.php:254
|
440 |
Â
msgid "Reset invoice number yearly"
|
441 |
-
msgstr ""
|
442 |
Â
|
443 |
Â
#: includes/documents/class-wcpdf-invoice.php:265
|
444 |
Â
msgid "Allow My Account invoice download"
|
445 |
-
msgstr ""
|
446 |
Â
|
447 |
Â
#: includes/documents/class-wcpdf-invoice.php:272
|
448 |
Â
msgid "Only when an invoice is already created/emailed"
|
449 |
-
msgstr ""
|
450 |
Â
|
451 |
Â
#: includes/documents/class-wcpdf-invoice.php:273
|
452 |
Â
msgid "Only for specific order statuses (define below)"
|
453 |
-
msgstr ""
|
454 |
Â
|
455 |
Â
#: includes/documents/class-wcpdf-invoice.php:274
|
456 |
Â
msgid "Always"
|
457 |
-
msgstr ""
|
458 |
Â
|
459 |
Â
#: includes/documents/class-wcpdf-invoice.php:275
|
460 |
Â
msgid "Never"
|
461 |
-
msgstr ""
|
462 |
Â
|
463 |
Â
#: includes/documents/class-wcpdf-invoice.php:290
|
464 |
Â
msgid "Enable invoice number column in the orders list"
|
@@ -466,21 +485,27 @@ msgstr "Aktivierung Spalte Rechnungsnummer in Bestellübersicht"
|
|
466 |
Â
|
467 |
Â
#: includes/documents/class-wcpdf-invoice.php:301
|
468 |
Â
msgid "Disable for free products"
|
469 |
-
msgstr ""
|
470 |
Â
|
471 |
Â
#: includes/documents/class-wcpdf-invoice.php:307
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
472 |
Â
msgid ""
|
473 |
Â
"Disable automatic creation/attachment when only free products are ordered"
|
474 |
Â
msgstr ""
|
Â
|
|
Â
|
|
475 |
Â
|
476 |
Â
#: includes/documents/class-wcpdf-invoice.php:321
|
477 |
Â
msgid "Invoice numbers are created by a third-party extension."
|
478 |
-
msgstr ""
|
479 |
Â
|
480 |
Â
#: includes/documents/class-wcpdf-invoice.php:323
|
481 |
Â
#, php-format
|
482 |
Â
msgid "Configure it <a href=\"%s\">here</a>."
|
483 |
-
msgstr ""
|
484 |
Â
|
485 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:32
|
486 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:41
|
@@ -489,7 +514,6 @@ msgstr ""
|
|
489 |
Â
msgid "Packing Slip"
|
490 |
Â
msgstr "Lieferschein"
|
491 |
Â
|
492 |
-
# This is a filename (prefix). do not use spaces or special characters!
|
493 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:53
|
494 |
Â
msgid "packing-slip"
|
495 |
Â
msgid_plural "packing-slips"
|
@@ -498,17 +522,36 @@ msgstr[1] "Lieferscheine"
|
|
498 |
Â
|
499 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:105
|
500 |
Â
msgid "Display billing address"
|
501 |
-
msgstr ""
|
502 |
Â
|
503 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:111
|
504 |
Â
msgid ""
|
505 |
Â
"Display billing address (in addition to the default shipping address) if "
|
506 |
Â
"different from shipping address"
|
507 |
Â
msgstr ""
|
Â
|
|
Â
|
|
508 |
Â
|
509 |
Â
#: includes/legacy/class-wcpdf-legacy-document.php:32
|
510 |
Â
msgid "Legacy Document"
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
511 |
Â
msgstr ""
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
512 |
Â
|
513 |
Â
#: includes/views/wcpdf-extensions.php:15
|
514 |
Â
msgid "Check out these premium extensions!"
|
@@ -523,21 +566,26 @@ msgid ""
|
|
523 |
Â
"Premium PDF Invoice bundle: Everything you need for a perfect invoicing "
|
524 |
Â
"system"
|
525 |
Â
msgstr ""
|
Â
|
|
Â
|
|
526 |
Â
|
527 |
Â
#: includes/views/wcpdf-extensions.php:23
|
528 |
Â
msgid ""
|
529 |
Â
"Supercharge WooCommerce PDF Invoices & Packing Slips with the all our "
|
530 |
Â
"premium extensions:"
|
531 |
Â
msgstr ""
|
Â
|
|
Â
|
|
532 |
Â
|
533 |
Â
#: includes/views/wcpdf-extensions.php:24
|
534 |
Â
msgid "Professional features:"
|
535 |
-
msgstr ""
|
536 |
Â
|
537 |
Â
#: includes/views/wcpdf-extensions.php:26
|
538 |
Â
#: includes/views/wcpdf-extensions.php:56
|
539 |
Â
msgid "Email/print/download <b>PDF Credit Notes & Proforma invoices</b>"
|
540 |
-
msgstr "
|
Â
|
|
541 |
Â
|
542 |
Â
#: includes/views/wcpdf-extensions.php:27
|
543 |
Â
#: includes/views/wcpdf-extensions.php:57
|
@@ -545,6 +593,9 @@ msgid ""
|
|
545 |
Â
"Send out a separate <b>notification email</b> with (or without) PDF invoices/"
|
546 |
Â
"packing slips, for example to a drop-shipper or a supplier."
|
547 |
Â
msgstr ""
|
Â
|
|
Â
|
|
Â
|
|
548 |
Â
|
549 |
Â
#: includes/views/wcpdf-extensions.php:28
|
550 |
Â
#: includes/views/wcpdf-extensions.php:58
|
@@ -552,6 +603,8 @@ msgid ""
|
|
552 |
Â
"Attach <b>up to 3 static files</b> (for example a terms & conditions "
|
553 |
Â
"document) to the WooCommerce emails of your choice."
|
554 |
Â
msgstr ""
|
Â
|
|
Â
|
|
555 |
Â
|
556 |
Â
#: includes/views/wcpdf-extensions.php:29
|
557 |
Â
#: includes/views/wcpdf-extensions.php:59
|
@@ -582,7 +635,7 @@ msgstr "Nutzung vom Plugin für Multisprachen <b>WPML</b> Einrichtungen"
|
|
582 |
Â
#: includes/views/wcpdf-extensions.php:33
|
583 |
Â
#: includes/views/wcpdf-extensions.php:131
|
584 |
Â
msgid "Advanced, customizable templates"
|
585 |
-
msgstr ""
|
586 |
Â
|
587 |
Â
#: includes/views/wcpdf-extensions.php:35
|
588 |
Â
#: includes/views/wcpdf-extensions.php:134
|
@@ -590,15 +643,17 @@ msgid ""
|
|
590 |
Â
"Completely customize the invoice contents (prices, taxes, thumbnails) to "
|
591 |
Â
"your needs with a drag & drop customizer"
|
592 |
Â
msgstr ""
|
Â
|
|
Â
|
|
593 |
Â
|
594 |
Â
#: includes/views/wcpdf-extensions.php:36
|
595 |
Â
#: includes/views/wcpdf-extensions.php:135
|
596 |
Â
msgid "Two extra stylish premade templates (Modern & Business)"
|
597 |
-
msgstr ""
|
598 |
Â
|
599 |
Â
#: includes/views/wcpdf-extensions.php:38
|
600 |
Â
msgid "Upload automatically to dropbox"
|
601 |
-
msgstr ""
|
602 |
Â
|
603 |
Â
#: includes/views/wcpdf-extensions.php:40
|
604 |
Â
#: includes/views/wcpdf-extensions.php:97
|
@@ -614,11 +669,11 @@ msgstr ""
|
|
614 |
Â
|
615 |
Â
#: includes/views/wcpdf-extensions.php:43
|
616 |
Â
msgid "Get WooCommerce PDF Invoices & Packing Slips Bundle"
|
617 |
-
msgstr ""
|
618 |
Â
|
619 |
Â
#: includes/views/wcpdf-extensions.php:52
|
620 |
Â
msgid "Go Pro: Proforma invoices, credit notes (=refunds) & more!"
|
621 |
-
msgstr "Upgrade auf Pro: Proforma Rechnung,
|
622 |
Â
|
623 |
Â
#: includes/views/wcpdf-extensions.php:54
|
624 |
Â
msgid ""
|
@@ -633,47 +688,56 @@ msgstr "Hole WooCommerce PDF Invoices & Packing Slips Professional!"
|
|
633 |
Â
|
634 |
Â
#: includes/views/wcpdf-extensions.php:71
|
635 |
Â
msgid "Automatically send payment reminders to your customers"
|
636 |
-
msgstr ""
|
637 |
Â
|
638 |
Â
#: includes/views/wcpdf-extensions.php:73
|
639 |
Â
msgid "WooCommerce Smart Reminder emails"
|
640 |
-
msgstr ""
|
641 |
Â
|
642 |
Â
#: includes/views/wcpdf-extensions.php:75
|
643 |
Â
msgid "<b>Completely automatic</b> scheduled emails"
|
644 |
-
msgstr ""
|
645 |
Â
|
646 |
Â
#: includes/views/wcpdf-extensions.php:76
|
647 |
Â
msgid ""
|
648 |
Â
"<b>Rich text editor</b> for the email text, including placeholders for data "
|
649 |
Â
"from the order (name, order total, etc)"
|
650 |
Â
msgstr ""
|
Â
|
|
Â
|
|
651 |
Â
|
652 |
Â
#: includes/views/wcpdf-extensions.php:77
|
653 |
Â
msgid ""
|
654 |
Â
"Configure the exact requirements for sending an email (time after order, "
|
655 |
Â
"order status, payment method)"
|
656 |
Â
msgstr ""
|
Â
|
|
Â
|
|
657 |
Â
|
658 |
Â
#: includes/views/wcpdf-extensions.php:78
|
659 |
Â
msgid ""
|
660 |
Â
"Fully <b>WPML Compatible</b> – emails will be automatically sent in the "
|
661 |
Â
"order language."
|
662 |
Â
msgstr ""
|
Â
|
|
Â
|
|
663 |
Â
|
664 |
Â
#: includes/views/wcpdf-extensions.php:79
|
665 |
Â
msgid ""
|
666 |
Â
"<b>Super versatile!</b> Can be used for any kind of reminder email (review "
|
667 |
Â
"reminders, repeat purchases)"
|
668 |
Â
msgstr ""
|
Â
|
|
Â
|
|
669 |
Â
|
670 |
Â
#: includes/views/wcpdf-extensions.php:80
|
671 |
Â
msgid "Integrates seamlessly with the PDF Invoices & Packing Slips plugin"
|
672 |
Â
msgstr ""
|
Â
|
|
673 |
Â
|
674 |
Â
#: includes/views/wcpdf-extensions.php:82
|
675 |
Â
msgid "Get WooCommerce Smart Reminder Emails"
|
676 |
-
msgstr ""
|
677 |
Â
|
678 |
Â
#: includes/views/wcpdf-extensions.php:91
|
679 |
Â
msgid "Upload all invoices automatically to your dropbox"
|
@@ -715,7 +779,7 @@ msgstr "Für individuelle Vorlagen kontaktiert uns auf %s."
|
|
715 |
Â
|
716 |
Â
#: includes/views/wcpdf-extensions.php:146
|
717 |
Â
msgid "Hide this message"
|
718 |
-
msgstr ""
|
719 |
Â
|
720 |
Â
#: includes/views/wcpdf-settings-page.php:8
|
721 |
Â
msgid "WooCommerce PDF Invoices"
|
@@ -785,7 +849,7 @@ msgstr "Lieferadresse:"
|
|
785 |
Â
msgid "Shipping Method:"
|
786 |
Â
msgstr "Versandart:"
|
787 |
Â
|
788 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
789 |
Â
#, php-format
|
790 |
Â
msgid ""
|
791 |
Â
"WooCommerce PDF Invoices & Packing Slips requires %sWooCommerce%s to be "
|
@@ -794,90 +858,69 @@ msgstr ""
|
|
794 |
Â
"WooCommerce PDF Invoices & Packing Slips benötigt %sWooCommerce%s "
|
795 |
Â
"installiert und aktiviert!"
|
796 |
Â
|
797 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
798 |
Â
msgid ""
|
799 |
Â
"WooCommerce PDF Invoices & Packing Slips requires PHP 5.3 or higher (5.6 or "
|
800 |
Â
"higher recommended)."
|
801 |
Â
msgstr ""
|
Â
|
|
Â
|
|
802 |
Â
|
803 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
804 |
Â
msgid "How to update your PHP version"
|
805 |
-
msgstr ""
|
806 |
Â
|
807 |
-
#~ msgid "
|
808 |
-
#~ msgstr "
|
809 |
Â
|
810 |
Â
#~ msgid ""
|
811 |
-
#~ "
|
812 |
-
#~ "By default, numbering starts from the WooCommerce Order Number of the "
|
813 |
-
#~ "first invoice that is created and increases for every new invoice. Note "
|
814 |
-
#~ "that if you override this and set it lower than the highest (PDF) invoice "
|
815 |
-
#~ "number, this could create double invoice numbers!"
|
816 |
Â
#~ msgstr ""
|
817 |
-
#~ "
|
818 |
-
#~ "
|
819 |
-
#~ "Bestellnummer auf der ersten generierten Rechnung und erhöht mit jeder "
|
820 |
-
#~ "neuen Rechnung. Beachte bitte das die Überschreibung der höchsten (PDF) "
|
821 |
-
#~ "Rechnungsnummer mit einer kleineren Nummer zu doppelten Rechnungsnummern "
|
822 |
-
#~ "führen kann."
|
823 |
-
|
824 |
-
#~ msgid "Invoice number format"
|
825 |
-
#~ msgstr "Rechnungsnummer"
|
826 |
-
|
827 |
-
#~ msgid "Template"
|
828 |
-
#~ msgstr "Vorlage"
|
829 |
-
|
830 |
-
#~ msgid "Admin New Order email"
|
831 |
-
#~ msgstr "Admin Neue Bestellung E-Mail"
|
832 |
-
|
833 |
-
#~ msgid "Customer Processing Order email"
|
834 |
-
#~ msgstr "Kunde In Bearbeitung E-Mail"
|
835 |
Â
|
836 |
-
#~ msgid "
|
837 |
-
#~ msgstr "
|
838 |
Â
|
839 |
-
#~ msgid "
|
840 |
-
#~ msgstr "
|
841 |
Â
|
842 |
-
#~ msgid "PDF
|
843 |
-
#~ msgstr "PDF
|
844 |
Â
|
845 |
-
#~ msgid "
|
846 |
-
#~ msgstr "
|
847 |
Â
|
848 |
Â
#~ msgid ""
|
849 |
-
#~ "
|
850 |
-
#~ "
|
Â
|
|
851 |
Â
#~ msgstr ""
|
852 |
-
#~ "
|
853 |
-
#~ "
|
Â
|
|
Â
|
|
854 |
Â
|
855 |
-
#~ msgid "
|
856 |
-
#~ msgstr "
|
857 |
Â
|
858 |
-
#~ msgid "
|
859 |
-
#~ msgstr "
|
860 |
Â
|
861 |
-
#~ msgid "PDF
|
862 |
-
#~ msgstr "PDF
|
863 |
Â
|
864 |
-
#~ msgid "
|
865 |
-
#~ msgstr "
|
866 |
Â
|
867 |
-
#~ msgid "
|
868 |
-
#~ msgstr "
|
869 |
Â
|
870 |
-
#~ msgid "
|
871 |
-
#~ msgstr ""
|
872 |
-
#~ "Stylisch moderne Rechnungen & Lieferscheine mit Miniaturbildern vom "
|
873 |
-
#~ "Produkt!"
|
874 |
Â
|
875 |
-
#~ msgid "
|
876 |
-
#~ msgstr "
|
877 |
Â
|
878 |
-
#~ msgid ""
|
879 |
-
#~
|
880 |
-
#~ "to the WooCommerce emails of your choice."
|
881 |
-
#~ msgstr ""
|
882 |
-
#~ "Hinzufügen einer beliebigen <b>Datei </b> (beispielweise AGB, "
|
883 |
-
#~ "Widerrufsbelehrung) zum WooCommerce E-Mail"
|
1 |
+
# Translation of Plugins - WooCommerce PDF Invoices & Packing Slips - Stable (latest release) in German
|
2 |
+
# This file is distributed under the same license as the Plugins - WooCommerce PDF Invoices & Packing Slips - Stable (latest release) package.
|
3 |
Â
msgid ""
|
4 |
Â
msgstr ""
|
5 |
+
"Project-Id-Version: Plugins - WooCommerce PDF Invoices & Packing Slips - "
|
6 |
+
"Stable (latest release)\n"
|
7 |
+
"POT-Creation-Date: 2017-06-13 13:13+0200\n"
|
8 |
+
"PO-Revision-Date: 2018-02-06 14:16+0100\n"
|
9 |
+
"Last-Translator: Thomas Bunte <thomas@bunte-tk.de>\n"
|
10 |
+
"Language-Team: \n"
|
11 |
+
"Language: de\n"
|
12 |
Â
"MIME-Version: 1.0\n"
|
13 |
Â
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
Â
"Content-Transfer-Encoding: 8bit\n"
|
Â
|
|
Â
|
|
15 |
Â
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
16 |
+
"X-Generator: Poedit 2.0.6\n"
|
Â
|
|
Â
|
|
17 |
Â
|
18 |
Â
#: includes/class-wcpdf-admin.php:72 includes/class-wcpdf-admin.php:174
|
19 |
Â
msgid "Invoice Number"
|
25 |
Â
|
26 |
Â
#: includes/class-wcpdf-admin.php:115
|
27 |
Â
msgid "PDF Invoice data"
|
28 |
+
msgstr "PDF Rechnungsdaten"
|
29 |
Â
|
30 |
Â
#: includes/class-wcpdf-admin.php:166
|
31 |
Â
#: includes/documents/class-wcpdf-invoice.php:32
|
42 |
Â
|
43 |
Â
#: includes/class-wcpdf-admin.php:189
|
44 |
Â
msgid "Set invoice number & date"
|
45 |
+
msgstr "Erstellen Sie Rechnungsnummer und Rechnungsdatum"
|
46 |
Â
|
47 |
Â
#: includes/class-wcpdf-admin.php:196
|
48 |
Â
msgid "Invoice Number (unformatted!)"
|
49 |
+
msgstr "Rechnungsnummer (unformatiert)"
|
50 |
Â
|
51 |
Â
#: includes/class-wcpdf-admin.php:206 includes/class-wcpdf-admin.php:208
|
52 |
Â
msgid "h"
|
67 |
Â
|
68 |
Â
#: includes/class-wcpdf-main.php:141
|
69 |
Â
msgid "Some of the export parameters are missing."
|
70 |
+
msgstr "Einige Export Parameter fehlen"
|
71 |
Â
|
72 |
Â
#: includes/class-wcpdf-settings-callbacks.php:27
|
73 |
Â
msgid ""
|
74 |
Â
"<b>Warning!</b> The settings below are meant for debugging/development only. "
|
75 |
Â
"Do not use them on a live website!"
|
76 |
Â
msgstr ""
|
77 |
+
"<b>Achtung!</b> Die unten stehenden Einstellungen sind für Entwickler "
|
78 |
+
"vorgehalten. Nutzen Sie diese bitte nur wenn Ihre Website offline ist!"
|
79 |
Â
|
80 |
Â
#: includes/class-wcpdf-settings-callbacks.php:36
|
81 |
Â
msgid ""
|
93 |
Â
|
94 |
Â
#: includes/class-wcpdf-settings-callbacks.php:325
|
95 |
Â
msgid "Save"
|
96 |
+
msgstr "Speichern"
|
97 |
Â
|
98 |
Â
#: includes/class-wcpdf-settings-debug.php:34
|
99 |
Â
msgid "Debug settings"
|
100 |
+
msgstr "Einstellungen debuggen"
|
101 |
Â
|
102 |
Â
#: includes/class-wcpdf-settings-debug.php:40
|
103 |
Â
msgid "Legacy mode"
|
104 |
+
msgstr "Legacy Modus "
|
105 |
Â
|
106 |
Â
#: includes/class-wcpdf-settings-debug.php:46
|
107 |
Â
msgid ""
|
108 |
Â
"Legacy mode ensures compatibility with templates and filters from previous "
|
109 |
Â
"versions."
|
110 |
Â
msgstr ""
|
111 |
+
"Der Legacy-Modus sorgt für Kompatibilität mit Vorlagen und Filtern aus "
|
112 |
+
"früheren Versionen."
|
113 |
Â
|
114 |
Â
#: includes/class-wcpdf-settings-debug.php:52
|
115 |
Â
msgid "Enable debug output"
|
116 |
+
msgstr "Debug Ausgabe Aktivieren"
|
117 |
Â
|
118 |
Â
#: includes/class-wcpdf-settings-debug.php:58
|
119 |
Â
msgid ""
|
120 |
Â
"Enable this option to output plugin errors if you're getting a blank page or "
|
121 |
Â
"other PDF generation issues"
|
122 |
Â
msgstr ""
|
123 |
+
"Diese Option aktivieren um Fehler auszugeben, wenn beim Generieren der PDF "
|
124 |
+
"Probleme auftreten sollten. "
|
125 |
Â
|
126 |
Â
#: includes/class-wcpdf-settings-debug.php:64
|
127 |
Â
msgid "Output to HTML"
|
128 |
+
msgstr "Als HTML ausgeben"
|
129 |
Â
|
130 |
Â
#: includes/class-wcpdf-settings-debug.php:70
|
131 |
Â
msgid ""
|
132 |
Â
"Send the template output as HTML to the browser instead of creating a PDF."
|
133 |
Â
msgstr ""
|
134 |
+
"Die Template-Ausgabe als HTML an den Browser senden, anstatt eine PDF zu "
|
135 |
+
"erstellen."
|
136 |
Â
|
137 |
Â
#: includes/class-wcpdf-settings-documents.php:29
|
138 |
Â
#: includes/class-wcpdf-settings.php:84
|
139 |
Â
msgid "Documents"
|
140 |
+
msgstr "Dokumente"
|
141 |
Â
|
142 |
Â
#: includes/class-wcpdf-settings-documents.php:45
|
143 |
Â
msgid ""
|
144 |
Â
"All available documents are listed below. Click on a document to configure "
|
145 |
Â
"it."
|
146 |
Â
msgstr ""
|
147 |
+
"Alle verfügbaren Dokumente sind unten aufgeführt. Klicken Sie auf ein "
|
148 |
+
"Dokument, um es zu konfigurieren."
|
149 |
Â
|
150 |
Â
#: includes/class-wcpdf-settings-general.php:37
|
151 |
Â
msgid "General settings"
|
190 |
Â
|
191 |
Â
#: includes/class-wcpdf-settings-general.php:86
|
192 |
Â
msgid "Extended currency symbol support"
|
193 |
+
msgstr "Support für erweiterte Währungs Zeichen"
|
194 |
Â
|
195 |
Â
#: includes/class-wcpdf-settings-general.php:92
|
196 |
Â
msgid "Enable this if your currency symbol is not displaying properly"
|
197 |
Â
msgstr ""
|
198 |
+
"Aktivieren Sie diese Option, wenn Ihr Währungssymbol nicht korrekt "
|
199 |
+
"ausgespielt wird."
|
200 |
Â
|
201 |
Â
#: includes/class-wcpdf-settings-general.php:98
|
202 |
Â
msgid "Shop header/logo"
|
267 |
Â
|
268 |
Â
#: includes/class-wcpdf-settings.php:71
|
269 |
Â
msgid "Documentation"
|
270 |
+
msgstr "Dokumentation"
|
271 |
Â
|
272 |
Â
#: includes/class-wcpdf-settings.php:72
|
273 |
Â
msgid "Support Forum"
|
274 |
+
msgstr "Support Forum"
|
275 |
Â
|
276 |
Â
#: includes/class-wcpdf-settings.php:83
|
277 |
Â
msgid "General"
|
283 |
Â
|
284 |
Â
#: includes/compatibility/class-wc-core-compatibility.php:222
|
285 |
Â
msgid "WooCommerce"
|
286 |
+
msgstr "WooCommerce"
|
287 |
Â
|
288 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:113
|
289 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:176
|
301 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:669
|
302 |
Â
#, php-format
|
303 |
Â
msgid "(includes %s)"
|
304 |
+
msgstr "(enthält %s)"
|
305 |
Â
|
306 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:672
|
307 |
Â
#, php-format
|
308 |
Â
msgid "(Includes %s)"
|
309 |
+
msgstr "(inkl. %s)"
|
310 |
Â
|
311 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:702
|
312 |
Â
msgid "Subtotal"
|
336 |
Â
msgid "Total"
|
337 |
Â
msgstr "Gesamtsumme"
|
338 |
Â
|
339 |
+
#: includes/documents/abstract-wcpdf-order-document.php:679
|
340 |
Â
msgid "Admin email"
|
341 |
+
msgstr "Admin E-Mail"
|
342 |
Â
|
343 |
+
#: includes/documents/abstract-wcpdf-order-document.php:682
|
344 |
Â
msgid "Manual email"
|
345 |
+
msgstr "Manuelle E-Mail"
|
346 |
Â
|
Â
|
|
347 |
Â
#: includes/documents/class-wcpdf-invoice.php:85
|
348 |
Â
msgid "invoice"
|
349 |
Â
msgid_plural "invoices"
|
353 |
Â
#: includes/documents/class-wcpdf-invoice.php:130
|
354 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:94
|
355 |
Â
msgid "Enable"
|
356 |
+
msgstr "Aktivieren"
|
357 |
Â
|
358 |
Â
#: includes/documents/class-wcpdf-invoice.php:141
|
359 |
Â
msgid "Attach to:"
|
360 |
+
msgstr "Anhängen an"
|
361 |
Â
|
362 |
Â
#: includes/documents/class-wcpdf-invoice.php:148
|
363 |
Â
#, php-format
|
372 |
Â
|
373 |
Â
#: includes/documents/class-wcpdf-invoice.php:154
|
374 |
Â
msgid "Display shipping address"
|
375 |
+
msgstr "Lieferadresse anzeigen"
|
376 |
Â
|
377 |
Â
#: includes/documents/class-wcpdf-invoice.php:160
|
378 |
Â
msgid ""
|
379 |
Â
"Display shipping address (in addition to the default billing address) if "
|
380 |
Â
"different from billing address"
|
381 |
Â
msgstr ""
|
382 |
+
"Lieferadresse auf Rechnung ergänzend anzeigen bei abweichender "
|
383 |
+
"Rechnungsadresse"
|
384 |
Â
|
385 |
Â
#: includes/documents/class-wcpdf-invoice.php:166
|
386 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:117
|
387 |
Â
msgid "Display email address"
|
388 |
+
msgstr "Email Adresse anzeigen"
|
389 |
Â
|
390 |
Â
#: includes/documents/class-wcpdf-invoice.php:177
|
391 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:128
|
392 |
Â
msgid "Display phone number"
|
393 |
+
msgstr "Telefonnummer anzeigen"
|
394 |
Â
|
395 |
Â
#: includes/documents/class-wcpdf-invoice.php:188
|
396 |
Â
msgid "Display invoice date"
|
398 |
Â
|
399 |
Â
#: includes/documents/class-wcpdf-invoice.php:200
|
400 |
Â
msgid "Display invoice number"
|
401 |
+
msgstr "Rechnungsnummer anzeigen"
|
402 |
Â
|
403 |
Â
#: includes/documents/class-wcpdf-invoice.php:212
|
404 |
Â
msgid "Next invoice number (without prefix/suffix etc.)"
|
411 |
Â
"you override this and set it lower than the current/highest number, this "
|
412 |
Â
"could create duplicate numbers!"
|
413 |
Â
msgstr ""
|
414 |
+
"Dies ist die Nummer welche für die nächste Rechnung verwendet wird. "
|
415 |
+
"Normalerweise startet die Rechnungsnummerierung mit der Nummer 1und erhöht "
|
416 |
+
"sich mit jeder neuen Rechnung. Beachte bitte das die Ãœberschreibung der "
|
417 |
+
"höchsten (PDF) Rechnungsnummer mit einer kleineren Nummer zu doppelten "
|
418 |
+
"Rechnungsnummern führen kann."
|
419 |
Â
|
420 |
Â
#: includes/documents/class-wcpdf-invoice.php:224
|
421 |
Â
msgid "Number format"
|
422 |
+
msgstr "Nummernformat"
|
423 |
Â
|
424 |
Â
#: includes/documents/class-wcpdf-invoice.php:232
|
425 |
Â
msgid "Prefix"
|
430 |
Â
"to use the invoice year and/or month, use [invoice_year] or [invoice_month] "
|
431 |
Â
"respectively"
|
432 |
Â
msgstr ""
|
433 |
+
"Um das Rechnungsjahr bzw. den Rechnungsmonat zu verwenden, verwenden Sie "
|
434 |
+
"[invoice_year] bzw.[invoice_month]."
|
435 |
Â
|
436 |
Â
#: includes/documents/class-wcpdf-invoice.php:237
|
437 |
Â
msgid "Suffix"
|
457 |
Â
|
458 |
Â
#: includes/documents/class-wcpdf-invoice.php:254
|
459 |
Â
msgid "Reset invoice number yearly"
|
460 |
+
msgstr "Rechnungsnummer jährlich zurücksetzen"
|
461 |
Â
|
462 |
Â
#: includes/documents/class-wcpdf-invoice.php:265
|
463 |
Â
msgid "Allow My Account invoice download"
|
464 |
+
msgstr "Download der Rechnung über Mein Account zulassen"
|
465 |
Â
|
466 |
Â
#: includes/documents/class-wcpdf-invoice.php:272
|
467 |
Â
msgid "Only when an invoice is already created/emailed"
|
468 |
+
msgstr "Nur wenn eine Rechnung erstellt/verschickt wurde"
|
469 |
Â
|
470 |
Â
#: includes/documents/class-wcpdf-invoice.php:273
|
471 |
Â
msgid "Only for specific order statuses (define below)"
|
472 |
+
msgstr "Nur für bestimmte Auftragsstatus (Definiere unten)"
|
473 |
Â
|
474 |
Â
#: includes/documents/class-wcpdf-invoice.php:274
|
475 |
Â
msgid "Always"
|
476 |
+
msgstr "Immer"
|
477 |
Â
|
478 |
Â
#: includes/documents/class-wcpdf-invoice.php:275
|
479 |
Â
msgid "Never"
|
480 |
+
msgstr "Niemals"
|
481 |
Â
|
482 |
Â
#: includes/documents/class-wcpdf-invoice.php:290
|
483 |
Â
msgid "Enable invoice number column in the orders list"
|
485 |
Â
|
486 |
Â
#: includes/documents/class-wcpdf-invoice.php:301
|
487 |
Â
msgid "Disable for free products"
|
488 |
+
msgstr "Für kostenlose Produkte deaktivieren"
|
489 |
Â
|
490 |
Â
#: includes/documents/class-wcpdf-invoice.php:307
|
491 |
+
#, fuzzy
|
492 |
+
#| msgid ""
|
493 |
+
#| "Disable automatic creation/attachment of invoices when only free products "
|
494 |
+
#| "are ordered"
|
495 |
Â
msgid ""
|
496 |
Â
"Disable automatic creation/attachment when only free products are ordered"
|
497 |
Â
msgstr ""
|
498 |
+
"Deaktiviere das automatische Erstellen/Anhängen von Rechnungen wenn "
|
499 |
+
"kostenlose Produkte bestellt wurden"
|
500 |
Â
|
501 |
Â
#: includes/documents/class-wcpdf-invoice.php:321
|
502 |
Â
msgid "Invoice numbers are created by a third-party extension."
|
503 |
+
msgstr "Rechnungsnummern werden von einer Drittanbieter-Erweiterung erstellt."
|
504 |
Â
|
505 |
Â
#: includes/documents/class-wcpdf-invoice.php:323
|
506 |
Â
#, php-format
|
507 |
Â
msgid "Configure it <a href=\"%s\">here</a>."
|
508 |
+
msgstr "Konfigurieren Sie es <a href=\"%s\">hier</a>."
|
509 |
Â
|
510 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:32
|
511 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:41
|
514 |
Â
msgid "Packing Slip"
|
515 |
Â
msgstr "Lieferschein"
|
516 |
Â
|
Â
|
|
517 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:53
|
518 |
Â
msgid "packing-slip"
|
519 |
Â
msgid_plural "packing-slips"
|
522 |
Â
|
523 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:105
|
524 |
Â
msgid "Display billing address"
|
525 |
+
msgstr "Rechnungsadresse anzeigen"
|
526 |
Â
|
527 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:111
|
528 |
Â
msgid ""
|
529 |
Â
"Display billing address (in addition to the default shipping address) if "
|
530 |
Â
"different from shipping address"
|
531 |
Â
msgstr ""
|
532 |
+
"Rechnungsadresse anzeigen (zusätzlich zur Standardversandadresse), falls "
|
533 |
+
"abweichend von der Versandadresse"
|
534 |
Â
|
535 |
Â
#: includes/legacy/class-wcpdf-legacy-document.php:32
|
536 |
Â
msgid "Legacy Document"
|
537 |
+
msgstr "Legacy Dokument"
|
538 |
+
|
539 |
+
#: includes/legacy/class-wcpdf-legacy.php:70
|
540 |
+
msgid "Error"
|
541 |
+
msgstr "Fehler"
|
542 |
+
|
543 |
+
#: includes/legacy/class-wcpdf-legacy.php:71
|
544 |
+
msgid ""
|
545 |
+
"An outdated template or action hook was used to generate the PDF. Legacy "
|
546 |
+
"mode has been activated, please try again by reloading this page."
|
547 |
Â
msgstr ""
|
548 |
+
"Ein veraltetes Template oder Action Hook wurde verwendet, um das PDF zu "
|
549 |
+
"erzeugen. Der Legacy-Modus wurde aktiviert, bitte versuchen Sie es erneut, "
|
550 |
+
"indem Sie diese Seite neu laden."
|
551 |
+
|
552 |
+
#: includes/legacy/class-wcpdf-legacy.php:74
|
553 |
+
msgid "The following function was called"
|
554 |
+
msgstr "Die folgende Funktion wurde aufgerufen"
|
555 |
Â
|
556 |
Â
#: includes/views/wcpdf-extensions.php:15
|
557 |
Â
msgid "Check out these premium extensions!"
|
566 |
Â
"Premium PDF Invoice bundle: Everything you need for a perfect invoicing "
|
567 |
Â
"system"
|
568 |
Â
msgstr ""
|
569 |
+
"Premium PDF Invoice Bundle: Alles was Sie für ein perfektes "
|
570 |
+
"Abrechnungssystem benötigen"
|
571 |
Â
|
572 |
Â
#: includes/views/wcpdf-extensions.php:23
|
573 |
Â
msgid ""
|
574 |
Â
"Supercharge WooCommerce PDF Invoices & Packing Slips with the all our "
|
575 |
Â
"premium extensions:"
|
576 |
Â
msgstr ""
|
577 |
+
"Verbessere WooCommerce PDF Invoices & Packing Slips mit diesen Premium-"
|
578 |
+
"Erweiterungen:"
|
579 |
Â
|
580 |
Â
#: includes/views/wcpdf-extensions.php:24
|
581 |
Â
msgid "Professional features:"
|
582 |
+
msgstr "Professionelle Features:"
|
583 |
Â
|
584 |
Â
#: includes/views/wcpdf-extensions.php:26
|
585 |
Â
#: includes/views/wcpdf-extensions.php:56
|
586 |
Â
msgid "Email/print/download <b>PDF Credit Notes & Proforma invoices</b>"
|
587 |
+
msgstr ""
|
588 |
+
"E-Mail/Druck/Download <b>PDF Rechnungskorrektur & Proforma Rechnung</b>"
|
589 |
Â
|
590 |
Â
#: includes/views/wcpdf-extensions.php:27
|
591 |
Â
#: includes/views/wcpdf-extensions.php:57
|
593 |
Â
"Send out a separate <b>notification email</b> with (or without) PDF invoices/"
|
594 |
Â
"packing slips, for example to a drop-shipper or a supplier."
|
595 |
Â
msgstr ""
|
596 |
+
"Sende eine separate <b>E-Mail-Benachrichtigung</b> mit (oder ohne) PDF "
|
597 |
+
"invoices/packing slips, zum Beispiel zu einem Drop-Shipper oder einem "
|
598 |
+
"Lieferanten."
|
599 |
Â
|
600 |
Â
#: includes/views/wcpdf-extensions.php:28
|
601 |
Â
#: includes/views/wcpdf-extensions.php:58
|
603 |
Â
"Attach <b>up to 3 static files</b> (for example a terms & conditions "
|
604 |
Â
"document) to the WooCommerce emails of your choice."
|
605 |
Â
msgstr ""
|
606 |
+
"Hänge <b>bis zu 3 Dateien</b> (zum Beispiel die AGB) an die WooCommerce E-"
|
607 |
+
"Mails deiner Wahl an."
|
608 |
Â
|
609 |
Â
#: includes/views/wcpdf-extensions.php:29
|
610 |
Â
#: includes/views/wcpdf-extensions.php:59
|
635 |
Â
#: includes/views/wcpdf-extensions.php:33
|
636 |
Â
#: includes/views/wcpdf-extensions.php:131
|
637 |
Â
msgid "Advanced, customizable templates"
|
638 |
+
msgstr "Erweiterte, anpassbare Vorlagen"
|
639 |
Â
|
640 |
Â
#: includes/views/wcpdf-extensions.php:35
|
641 |
Â
#: includes/views/wcpdf-extensions.php:134
|
643 |
Â
"Completely customize the invoice contents (prices, taxes, thumbnails) to "
|
644 |
Â
"your needs with a drag & drop customizer"
|
645 |
Â
msgstr ""
|
646 |
+
"Stelle die Rechnungen (Preise, Steuern, Thumbnails) komplett per Drag- & "
|
647 |
+
"Drop auf deine Bedürfnisse ein"
|
648 |
Â
|
649 |
Â
#: includes/views/wcpdf-extensions.php:36
|
650 |
Â
#: includes/views/wcpdf-extensions.php:135
|
651 |
Â
msgid "Two extra stylish premade templates (Modern & Business)"
|
652 |
+
msgstr "Zwei zusätzliche stilvolle vorgefertigte Vorlagen (Modern & Business)"
|
653 |
Â
|
654 |
Â
#: includes/views/wcpdf-extensions.php:38
|
655 |
Â
msgid "Upload automatically to dropbox"
|
656 |
+
msgstr "Automatischer Upload in die Dropbox"
|
657 |
Â
|
658 |
Â
#: includes/views/wcpdf-extensions.php:40
|
659 |
Â
#: includes/views/wcpdf-extensions.php:97
|
669 |
Â
|
670 |
Â
#: includes/views/wcpdf-extensions.php:43
|
671 |
Â
msgid "Get WooCommerce PDF Invoices & Packing Slips Bundle"
|
672 |
+
msgstr "Hol Dir das WooCommerce PDF Invoices & Packing Slips Bundle"
|
673 |
Â
|
674 |
Â
#: includes/views/wcpdf-extensions.php:52
|
675 |
Â
msgid "Go Pro: Proforma invoices, credit notes (=refunds) & more!"
|
676 |
+
msgstr "Upgrade auf Pro: Proforma Rechnung, Rechnungskorrektur & mehr!"
|
677 |
Â
|
678 |
Â
#: includes/views/wcpdf-extensions.php:54
|
679 |
Â
msgid ""
|
688 |
Â
|
689 |
Â
#: includes/views/wcpdf-extensions.php:71
|
690 |
Â
msgid "Automatically send payment reminders to your customers"
|
691 |
+
msgstr "Automatisch Zahlungserinnerungen an Ihre Kunden senden"
|
692 |
Â
|
693 |
Â
#: includes/views/wcpdf-extensions.php:73
|
694 |
Â
msgid "WooCommerce Smart Reminder emails"
|
695 |
+
msgstr "WooCommerce Smart Reminder Emails"
|
696 |
Â
|
697 |
Â
#: includes/views/wcpdf-extensions.php:75
|
698 |
Â
msgid "<b>Completely automatic</b> scheduled emails"
|
699 |
+
msgstr "<b>Vollautomatische</b> geplant e-Mails"
|
700 |
Â
|
701 |
Â
#: includes/views/wcpdf-extensions.php:76
|
702 |
Â
msgid ""
|
703 |
Â
"<b>Rich text editor</b> for the email text, including placeholders for data "
|
704 |
Â
"from the order (name, order total, etc)"
|
705 |
Â
msgstr ""
|
706 |
+
"<b>Rich Text Editor</b> für den E-Mail-Text, inklusive Platzhalter für Daten "
|
707 |
+
"aus der Bestellung (Name, Auftragssumme, etc.)"
|
708 |
Â
|
709 |
Â
#: includes/views/wcpdf-extensions.php:77
|
710 |
Â
msgid ""
|
711 |
Â
"Configure the exact requirements for sending an email (time after order, "
|
712 |
Â
"order status, payment method)"
|
713 |
Â
msgstr ""
|
714 |
+
"Konfigurieren Sie die genauen Voraussetzungen für das Versenden einer E-Mail "
|
715 |
+
"(Zeit nach der Bestellung, Bestellstatus, Zahlungsweise)."
|
716 |
Â
|
717 |
Â
#: includes/views/wcpdf-extensions.php:78
|
718 |
Â
msgid ""
|
719 |
Â
"Fully <b>WPML Compatible</b> – emails will be automatically sent in the "
|
720 |
Â
"order language."
|
721 |
Â
msgstr ""
|
722 |
+
"Vollständig <b>WPML-kompatibel</b> - E-Mails werden automatisch in der "
|
723 |
+
"Bestellsprache versendet."
|
724 |
Â
|
725 |
Â
#: includes/views/wcpdf-extensions.php:79
|
726 |
Â
msgid ""
|
727 |
Â
"<b>Super versatile!</b> Can be used for any kind of reminder email (review "
|
728 |
Â
"reminders, repeat purchases)"
|
729 |
Â
msgstr ""
|
730 |
+
"<b>Super vielseitig einsetzbar!</b> Kann für jede Art von Erinnerungs-E-Mail "
|
731 |
+
"verwendet werden (Wiederholungserinnerungen, Wiederholungskäufe"
|
732 |
Â
|
733 |
Â
#: includes/views/wcpdf-extensions.php:80
|
734 |
Â
msgid "Integrates seamlessly with the PDF Invoices & Packing Slips plugin"
|
735 |
Â
msgstr ""
|
736 |
+
"Lässt sich nahtlos in das Plugin PDF Invoices & Packing Slips integrieren."
|
737 |
Â
|
738 |
Â
#: includes/views/wcpdf-extensions.php:82
|
739 |
Â
msgid "Get WooCommerce Smart Reminder Emails"
|
740 |
+
msgstr "WooCommerce Smart Reminder EMails ordern"
|
741 |
Â
|
742 |
Â
#: includes/views/wcpdf-extensions.php:91
|
743 |
Â
msgid "Upload all invoices automatically to your dropbox"
|
779 |
Â
|
780 |
Â
#: includes/views/wcpdf-extensions.php:146
|
781 |
Â
msgid "Hide this message"
|
782 |
+
msgstr "Diese Nachricht ausblenden"
|
783 |
Â
|
784 |
Â
#: includes/views/wcpdf-settings-page.php:8
|
785 |
Â
msgid "WooCommerce PDF Invoices"
|
849 |
Â
msgid "Shipping Method:"
|
850 |
Â
msgstr "Versandart:"
|
851 |
Â
|
852 |
+
#: woocommerce-pdf-invoices-packingslips.php:229
|
853 |
Â
#, php-format
|
854 |
Â
msgid ""
|
855 |
Â
"WooCommerce PDF Invoices & Packing Slips requires %sWooCommerce%s to be "
|
858 |
Â
"WooCommerce PDF Invoices & Packing Slips benötigt %sWooCommerce%s "
|
859 |
Â
"installiert und aktiviert!"
|
860 |
Â
|
861 |
+
#: woocommerce-pdf-invoices-packingslips.php:241
|
862 |
Â
msgid ""
|
863 |
Â
"WooCommerce PDF Invoices & Packing Slips requires PHP 5.3 or higher (5.6 or "
|
864 |
Â
"higher recommended)."
|
865 |
Â
msgstr ""
|
866 |
+
"WooCommerce PDF Invoices & Packing Slips erfordert PHP 5.3 oder höher (5.6 "
|
867 |
+
"oder höher empfohlen)."
|
868 |
Â
|
869 |
+
#: woocommerce-pdf-invoices-packingslips.php:242
|
870 |
Â
msgid "How to update your PHP version"
|
871 |
+
msgstr "So aktualisieren Sie Ihre PHP-Version"
|
872 |
Â
|
873 |
+
#~ msgid "Ewout Fernhout"
|
874 |
+
#~ msgstr "Ewout Fernhout"
|
875 |
Â
|
876 |
Â
#~ msgid ""
|
877 |
+
#~ "Create, print & email PDF invoices & packing slips for WooCommerce orders."
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
878 |
Â
#~ msgstr ""
|
879 |
+
#~ "Erstelle, drucke & verschicke PDF Rechnungen & Lieferscheine per Email "
|
880 |
+
#~ "für WooCommerce Bestellungen."
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
881 |
Â
|
882 |
+
#~ msgid "http://www.wpovernight.com"
|
883 |
+
#~ msgstr "http://www.wpovernight.com"
|
884 |
Â
|
885 |
+
#~ msgid "PDF Packing Slip"
|
886 |
+
#~ msgstr "PDF Lieferschein"
|
887 |
Â
|
888 |
+
#~ msgid "PDF Invoice"
|
889 |
+
#~ msgstr "PDF Rechnung"
|
890 |
Â
|
891 |
+
#~ msgid "PDF Packing Slips"
|
892 |
+
#~ msgstr "PDF Lieferscheine"
|
893 |
Â
|
894 |
Â
#~ msgid ""
|
895 |
+
#~ "Before version 1.5 of PDF Invoices, temporary files were stored in the "
|
896 |
+
#~ "plugin folder. This setting is only intended for backwards compatibility, "
|
897 |
+
#~ "not recommended on new installs!"
|
898 |
Â
#~ msgstr ""
|
899 |
+
#~ "Vor Version 1.5 von PDF Invoices, wurden temporäre Dateien im Plugin-"
|
900 |
+
#~ "Ordner gespeichert. Diese Einstellung ist nur für die "
|
901 |
+
#~ "Abwärtskompatibilität bestimmt und wird nicht für Neuinstallationen "
|
902 |
+
#~ "empfohlen!"
|
903 |
Â
|
904 |
+
#~ msgid "Use old tmp folder"
|
905 |
+
#~ msgstr "Alten tmp Ordner benutzen"
|
906 |
Â
|
907 |
+
#~ msgid "Display built-in sequential invoice number"
|
908 |
+
#~ msgstr "Anzeige integrierte fortlaufende Rechnungsnummer"
|
909 |
Â
|
910 |
+
#~ msgid "PDF Template settings"
|
911 |
+
#~ msgstr "PDF Vorlageneinstellungen"
|
912 |
Â
|
913 |
+
#~ msgid "Interface"
|
914 |
+
#~ msgstr "Interface"
|
915 |
Â
|
916 |
+
#~ msgid "Customer Invoice email"
|
917 |
+
#~ msgstr "Kunde Rechnung E-Mail"
|
918 |
Â
|
919 |
+
#~ msgid "Customer Completed Order email"
|
920 |
+
#~ msgstr "Kunde Bestellung abgeschlossen E-Mail"
|
Â
|
|
Â
|
|
921 |
Â
|
922 |
+
#~ msgid "Customer Processing Order email"
|
923 |
+
#~ msgstr "Kunde In Bearbeitung E-Mail"
|
924 |
Â
|
925 |
+
#~ msgid "Template"
|
926 |
+
#~ msgstr "Vorlage"
|
Â
|
|
Â
|
|
Â
|
|
Â
|
languages/woocommerce-pdf-invoices-packing-slips-de_DE_formal.mo
CHANGED
Binary file
|
languages/woocommerce-pdf-invoices-packing-slips-de_DE_formal.po
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
Â
msgid ""
|
2 |
Â
msgstr ""
|
3 |
Â
"Project-Id-Version: WooCommerce PDF Invoices & Packing Slips\n"
|
4 |
-
"POT-Creation-Date: 2017-06-
|
5 |
-
"PO-Revision-Date:
|
6 |
-
"Last-Translator:
|
7 |
Â
"Language-Team: PROnatur24 <info@pronatur24.eu>\n"
|
8 |
Â
"Language: de_DE\n"
|
9 |
Â
"MIME-Version: 1.0\n"
|
10 |
Â
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
Â
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit
|
13 |
Â
"X-Poedit-Basepath: ..\n"
|
14 |
Â
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
15 |
Â
"X-Poedit-SourceCharset: UTF-8\n"
|
@@ -26,7 +26,7 @@ msgstr "PDF erstellen"
|
|
26 |
Â
|
27 |
Â
#: includes/class-wcpdf-admin.php:115
|
28 |
Â
msgid "PDF Invoice data"
|
29 |
-
msgstr ""
|
30 |
Â
|
31 |
Â
#: includes/class-wcpdf-admin.php:166
|
32 |
Â
#: includes/documents/class-wcpdf-invoice.php:32
|
@@ -43,11 +43,11 @@ msgstr "Rechnungsdatum:"
|
|
43 |
Â
|
44 |
Â
#: includes/class-wcpdf-admin.php:189
|
45 |
Â
msgid "Set invoice number & date"
|
46 |
-
msgstr ""
|
47 |
Â
|
48 |
Â
#: includes/class-wcpdf-admin.php:196
|
49 |
Â
msgid "Invoice Number (unformatted!)"
|
50 |
-
msgstr ""
|
51 |
Â
|
52 |
Â
#: includes/class-wcpdf-admin.php:206 includes/class-wcpdf-admin.php:208
|
53 |
Â
msgid "h"
|
@@ -68,13 +68,15 @@ msgstr "Du hast keine Berechtigung diese Seite anzuzeigen."
|
|
68 |
Â
|
69 |
Â
#: includes/class-wcpdf-main.php:141
|
70 |
Â
msgid "Some of the export parameters are missing."
|
71 |
-
msgstr ""
|
72 |
Â
|
73 |
Â
#: includes/class-wcpdf-settings-callbacks.php:27
|
74 |
Â
msgid ""
|
75 |
Â
"<b>Warning!</b> The settings below are meant for debugging/development only. "
|
76 |
Â
"Do not use them on a live website!"
|
77 |
Â
msgstr ""
|
Â
|
|
Â
|
|
78 |
Â
|
79 |
Â
#: includes/class-wcpdf-settings-callbacks.php:36
|
80 |
Â
msgid ""
|
@@ -92,51 +94,58 @@ msgstr "Bildauflösung"
|
|
92 |
Â
|
93 |
Â
#: includes/class-wcpdf-settings-callbacks.php:325
|
94 |
Â
msgid "Save"
|
95 |
-
msgstr ""
|
96 |
Â
|
97 |
Â
#: includes/class-wcpdf-settings-debug.php:34
|
98 |
Â
msgid "Debug settings"
|
99 |
-
msgstr ""
|
100 |
Â
|
101 |
Â
#: includes/class-wcpdf-settings-debug.php:40
|
102 |
Â
msgid "Legacy mode"
|
103 |
-
msgstr ""
|
104 |
Â
|
105 |
Â
#: includes/class-wcpdf-settings-debug.php:46
|
106 |
Â
msgid ""
|
107 |
Â
"Legacy mode ensures compatibility with templates and filters from previous "
|
108 |
Â
"versions."
|
109 |
Â
msgstr ""
|
Â
|
|
Â
|
|
110 |
Â
|
111 |
Â
#: includes/class-wcpdf-settings-debug.php:52
|
112 |
Â
msgid "Enable debug output"
|
113 |
-
msgstr ""
|
114 |
Â
|
115 |
Â
#: includes/class-wcpdf-settings-debug.php:58
|
116 |
Â
msgid ""
|
117 |
Â
"Enable this option to output plugin errors if you're getting a blank page or "
|
118 |
Â
"other PDF generation issues"
|
119 |
Â
msgstr ""
|
Â
|
|
Â
|
|
120 |
Â
|
121 |
Â
#: includes/class-wcpdf-settings-debug.php:64
|
122 |
Â
msgid "Output to HTML"
|
123 |
-
msgstr ""
|
124 |
Â
|
125 |
Â
#: includes/class-wcpdf-settings-debug.php:70
|
126 |
Â
msgid ""
|
127 |
Â
"Send the template output as HTML to the browser instead of creating a PDF."
|
128 |
Â
msgstr ""
|
Â
|
|
129 |
Â
|
130 |
Â
#: includes/class-wcpdf-settings-documents.php:29
|
131 |
Â
#: includes/class-wcpdf-settings.php:84
|
132 |
Â
msgid "Documents"
|
133 |
-
msgstr ""
|
134 |
Â
|
135 |
Â
#: includes/class-wcpdf-settings-documents.php:45
|
136 |
Â
msgid ""
|
137 |
Â
"All available documents are listed below. Click on a document to configure "
|
138 |
Â
"it."
|
139 |
Â
msgstr ""
|
Â
|
|
Â
|
|
140 |
Â
|
141 |
Â
#: includes/class-wcpdf-settings-general.php:37
|
142 |
Â
msgid "General settings"
|
@@ -181,11 +190,13 @@ msgstr "Letter"
|
|
181 |
Â
|
182 |
Â
#: includes/class-wcpdf-settings-general.php:86
|
183 |
Â
msgid "Extended currency symbol support"
|
184 |
-
msgstr ""
|
185 |
Â
|
186 |
Â
#: includes/class-wcpdf-settings-general.php:92
|
187 |
Â
msgid "Enable this if your currency symbol is not displaying properly"
|
188 |
Â
msgstr ""
|
Â
|
|
Â
|
|
189 |
Â
|
190 |
Â
#: includes/class-wcpdf-settings-general.php:98
|
191 |
Â
msgid "Shop header/logo"
|
@@ -256,11 +267,11 @@ msgstr "Einstellungen"
|
|
256 |
Â
|
257 |
Â
#: includes/class-wcpdf-settings.php:71
|
258 |
Â
msgid "Documentation"
|
259 |
-
msgstr ""
|
260 |
Â
|
261 |
Â
#: includes/class-wcpdf-settings.php:72
|
262 |
Â
msgid "Support Forum"
|
263 |
-
msgstr ""
|
264 |
Â
|
265 |
Â
#: includes/class-wcpdf-settings.php:83
|
266 |
Â
msgid "General"
|
@@ -272,7 +283,7 @@ msgstr "Status"
|
|
272 |
Â
|
273 |
Â
#: includes/compatibility/class-wc-core-compatibility.php:222
|
274 |
Â
msgid "WooCommerce"
|
275 |
-
msgstr ""
|
276 |
Â
|
277 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:113
|
278 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:176
|
@@ -290,12 +301,12 @@ msgstr "Versandart"
|
|
290 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:669
|
291 |
Â
#, php-format
|
292 |
Â
msgid "(includes %s)"
|
293 |
-
msgstr ""
|
294 |
Â
|
295 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:672
|
296 |
Â
#, php-format
|
297 |
Â
msgid "(Includes %s)"
|
298 |
-
msgstr ""
|
299 |
Â
|
300 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:702
|
301 |
Â
msgid "Subtotal"
|
@@ -325,13 +336,13 @@ msgstr "Gesamtsumme ohne MwSt."
|
|
325 |
Â
msgid "Total"
|
326 |
Â
msgstr "Gesamtsumme"
|
327 |
Â
|
328 |
-
#: includes/documents/abstract-wcpdf-order-document.php:
|
329 |
Â
msgid "Admin email"
|
330 |
-
msgstr ""
|
331 |
Â
|
332 |
-
#: includes/documents/abstract-wcpdf-order-document.php:
|
333 |
Â
msgid "Manual email"
|
334 |
-
msgstr ""
|
335 |
Â
|
336 |
Â
# This is a filename (prefix). do not use spaces or special characters!
|
337 |
Â
#: includes/documents/class-wcpdf-invoice.php:85
|
@@ -343,11 +354,11 @@ msgstr[1] "Rechnungen"
|
|
343 |
Â
#: includes/documents/class-wcpdf-invoice.php:130
|
344 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:94
|
345 |
Â
msgid "Enable"
|
346 |
-
msgstr ""
|
347 |
Â
|
348 |
Â
#: includes/documents/class-wcpdf-invoice.php:141
|
349 |
Â
msgid "Attach to:"
|
350 |
-
msgstr ""
|
351 |
Â
|
352 |
Â
#: includes/documents/class-wcpdf-invoice.php:148
|
353 |
Â
#, php-format
|
@@ -362,23 +373,25 @@ msgstr ""
|
|
362 |
Â
|
363 |
Â
#: includes/documents/class-wcpdf-invoice.php:154
|
364 |
Â
msgid "Display shipping address"
|
365 |
-
msgstr ""
|
366 |
Â
|
367 |
Â
#: includes/documents/class-wcpdf-invoice.php:160
|
368 |
Â
msgid ""
|
369 |
Â
"Display shipping address (in addition to the default billing address) if "
|
370 |
Â
"different from billing address"
|
371 |
Â
msgstr ""
|
Â
|
|
Â
|
|
372 |
Â
|
373 |
Â
#: includes/documents/class-wcpdf-invoice.php:166
|
374 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:117
|
375 |
Â
msgid "Display email address"
|
376 |
-
msgstr ""
|
377 |
Â
|
378 |
Â
#: includes/documents/class-wcpdf-invoice.php:177
|
379 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:128
|
380 |
Â
msgid "Display phone number"
|
381 |
-
msgstr ""
|
382 |
Â
|
383 |
Â
#: includes/documents/class-wcpdf-invoice.php:188
|
384 |
Â
msgid "Display invoice date"
|
@@ -386,7 +399,7 @@ msgstr "Rechnungsdatum anzeigen"
|
|
386 |
Â
|
387 |
Â
#: includes/documents/class-wcpdf-invoice.php:200
|
388 |
Â
msgid "Display invoice number"
|
389 |
-
msgstr ""
|
390 |
Â
|
391 |
Â
#: includes/documents/class-wcpdf-invoice.php:212
|
392 |
Â
msgid "Next invoice number (without prefix/suffix etc.)"
|
@@ -399,10 +412,14 @@ msgid ""
|
|
399 |
Â
"you override this and set it lower than the current/highest number, this "
|
400 |
Â
"could create duplicate numbers!"
|
401 |
Â
msgstr ""
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
402 |
Â
|
403 |
Â
#: includes/documents/class-wcpdf-invoice.php:224
|
404 |
Â
msgid "Number format"
|
405 |
-
msgstr ""
|
406 |
Â
|
407 |
Â
#: includes/documents/class-wcpdf-invoice.php:232
|
408 |
Â
msgid "Prefix"
|
@@ -413,6 +430,8 @@ msgid ""
|
|
413 |
Â
"to use the invoice year and/or month, use [invoice_year] or [invoice_month] "
|
414 |
Â
"respectively"
|
415 |
Â
msgstr ""
|
Â
|
|
Â
|
|
416 |
Â
|
417 |
Â
#: includes/documents/class-wcpdf-invoice.php:237
|
418 |
Â
msgid "Suffix"
|
@@ -438,27 +457,27 @@ msgstr ""
|
|
438 |
Â
|
439 |
Â
#: includes/documents/class-wcpdf-invoice.php:254
|
440 |
Â
msgid "Reset invoice number yearly"
|
441 |
-
msgstr ""
|
442 |
Â
|
443 |
Â
#: includes/documents/class-wcpdf-invoice.php:265
|
444 |
Â
msgid "Allow My Account invoice download"
|
445 |
-
msgstr ""
|
446 |
Â
|
447 |
Â
#: includes/documents/class-wcpdf-invoice.php:272
|
448 |
Â
msgid "Only when an invoice is already created/emailed"
|
449 |
-
msgstr ""
|
450 |
Â
|
451 |
Â
#: includes/documents/class-wcpdf-invoice.php:273
|
452 |
Â
msgid "Only for specific order statuses (define below)"
|
453 |
-
msgstr ""
|
454 |
Â
|
455 |
Â
#: includes/documents/class-wcpdf-invoice.php:274
|
456 |
Â
msgid "Always"
|
457 |
-
msgstr ""
|
458 |
Â
|
459 |
Â
#: includes/documents/class-wcpdf-invoice.php:275
|
460 |
Â
msgid "Never"
|
461 |
-
msgstr ""
|
462 |
Â
|
463 |
Â
#: includes/documents/class-wcpdf-invoice.php:290
|
464 |
Â
msgid "Enable invoice number column in the orders list"
|
@@ -466,21 +485,24 @@ msgstr "Aktivierung Spalte Rechnungsnummer in Bestellübersicht"
|
|
466 |
Â
|
467 |
Â
#: includes/documents/class-wcpdf-invoice.php:301
|
468 |
Â
msgid "Disable for free products"
|
469 |
-
msgstr ""
|
470 |
Â
|
471 |
Â
#: includes/documents/class-wcpdf-invoice.php:307
|
472 |
Â
msgid ""
|
473 |
Â
"Disable automatic creation/attachment when only free products are ordered"
|
474 |
Â
msgstr ""
|
Â
|
|
Â
|
|
475 |
Â
|
476 |
Â
#: includes/documents/class-wcpdf-invoice.php:321
|
477 |
Â
msgid "Invoice numbers are created by a third-party extension."
|
478 |
Â
msgstr ""
|
Â
|
|
479 |
Â
|
480 |
Â
#: includes/documents/class-wcpdf-invoice.php:323
|
481 |
Â
#, php-format
|
482 |
Â
msgid "Configure it <a href=\"%s\">here</a>."
|
483 |
-
msgstr ""
|
484 |
Â
|
485 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:32
|
486 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:41
|
@@ -498,17 +520,36 @@ msgstr[1] "Lieferscheine"
|
|
498 |
Â
|
499 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:105
|
500 |
Â
msgid "Display billing address"
|
501 |
-
msgstr ""
|
502 |
Â
|
503 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:111
|
504 |
Â
msgid ""
|
505 |
Â
"Display billing address (in addition to the default shipping address) if "
|
506 |
Â
"different from shipping address"
|
507 |
Â
msgstr ""
|
Â
|
|
Â
|
|
508 |
Â
|
509 |
Â
#: includes/legacy/class-wcpdf-legacy-document.php:32
|
510 |
Â
msgid "Legacy Document"
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
511 |
Â
msgstr ""
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
512 |
Â
|
513 |
Â
#: includes/views/wcpdf-extensions.php:15
|
514 |
Â
msgid "Check out these premium extensions!"
|
@@ -523,16 +564,20 @@ msgid ""
|
|
523 |
Â
"Premium PDF Invoice bundle: Everything you need for a perfect invoicing "
|
524 |
Â
"system"
|
525 |
Â
msgstr ""
|
Â
|
|
Â
|
|
526 |
Â
|
527 |
Â
#: includes/views/wcpdf-extensions.php:23
|
528 |
Â
msgid ""
|
529 |
Â
"Supercharge WooCommerce PDF Invoices & Packing Slips with the all our "
|
530 |
Â
"premium extensions:"
|
531 |
Â
msgstr ""
|
Â
|
|
Â
|
|
532 |
Â
|
533 |
Â
#: includes/views/wcpdf-extensions.php:24
|
534 |
Â
msgid "Professional features:"
|
535 |
-
msgstr ""
|
536 |
Â
|
537 |
Â
#: includes/views/wcpdf-extensions.php:26
|
538 |
Â
#: includes/views/wcpdf-extensions.php:56
|
@@ -545,6 +590,8 @@ msgid ""
|
|
545 |
Â
"Send out a separate <b>notification email</b> with (or without) PDF invoices/"
|
546 |
Â
"packing slips, for example to a drop-shipper or a supplier."
|
547 |
Â
msgstr ""
|
Â
|
|
Â
|
|
548 |
Â
|
549 |
Â
#: includes/views/wcpdf-extensions.php:28
|
550 |
Â
#: includes/views/wcpdf-extensions.php:58
|
@@ -552,6 +599,8 @@ msgid ""
|
|
552 |
Â
"Attach <b>up to 3 static files</b> (for example a terms & conditions "
|
553 |
Â
"document) to the WooCommerce emails of your choice."
|
554 |
Â
msgstr ""
|
Â
|
|
Â
|
|
555 |
Â
|
556 |
Â
#: includes/views/wcpdf-extensions.php:29
|
557 |
Â
#: includes/views/wcpdf-extensions.php:59
|
@@ -559,9 +608,9 @@ msgid ""
|
|
559 |
Â
"Use <b>separate numbering systems</b> and/or format for proforma invoices "
|
560 |
Â
"and credit notes or utilize the main invoice numbering system"
|
561 |
Â
msgstr ""
|
562 |
-
"
|
563 |
-
"Rechnungen und Gutschriften oder
|
564 |
-
"Rechnungsnummerierung"
|
565 |
Â
|
566 |
Â
#: includes/views/wcpdf-extensions.php:30
|
567 |
Â
#: includes/views/wcpdf-extensions.php:60
|
@@ -582,7 +631,7 @@ msgstr "Nutzung vom Plugin für Multisprachen <b>WPML</b> Einrichtungen"
|
|
582 |
Â
#: includes/views/wcpdf-extensions.php:33
|
583 |
Â
#: includes/views/wcpdf-extensions.php:131
|
584 |
Â
msgid "Advanced, customizable templates"
|
585 |
-
msgstr ""
|
586 |
Â
|
587 |
Â
#: includes/views/wcpdf-extensions.php:35
|
588 |
Â
#: includes/views/wcpdf-extensions.php:134
|
@@ -590,15 +639,17 @@ msgid ""
|
|
590 |
Â
"Completely customize the invoice contents (prices, taxes, thumbnails) to "
|
591 |
Â
"your needs with a drag & drop customizer"
|
592 |
Â
msgstr ""
|
Â
|
|
Â
|
|
593 |
Â
|
594 |
Â
#: includes/views/wcpdf-extensions.php:36
|
595 |
Â
#: includes/views/wcpdf-extensions.php:135
|
596 |
Â
msgid "Two extra stylish premade templates (Modern & Business)"
|
597 |
-
msgstr ""
|
598 |
Â
|
599 |
Â
#: includes/views/wcpdf-extensions.php:38
|
600 |
Â
msgid "Upload automatically to dropbox"
|
601 |
-
msgstr ""
|
602 |
Â
|
603 |
Â
#: includes/views/wcpdf-extensions.php:40
|
604 |
Â
#: includes/views/wcpdf-extensions.php:97
|
@@ -614,7 +665,7 @@ msgstr ""
|
|
614 |
Â
|
615 |
Â
#: includes/views/wcpdf-extensions.php:43
|
616 |
Â
msgid "Get WooCommerce PDF Invoices & Packing Slips Bundle"
|
617 |
-
msgstr ""
|
618 |
Â
|
619 |
Â
#: includes/views/wcpdf-extensions.php:52
|
620 |
Â
msgid "Go Pro: Proforma invoices, credit notes (=refunds) & more!"
|
@@ -633,47 +684,56 @@ msgstr "Hole WooCommerce PDF Invoices & Packing Slips Professional!"
|
|
633 |
Â
|
634 |
Â
#: includes/views/wcpdf-extensions.php:71
|
635 |
Â
msgid "Automatically send payment reminders to your customers"
|
636 |
-
msgstr ""
|
637 |
Â
|
638 |
Â
#: includes/views/wcpdf-extensions.php:73
|
639 |
Â
msgid "WooCommerce Smart Reminder emails"
|
640 |
-
msgstr ""
|
641 |
Â
|
642 |
Â
#: includes/views/wcpdf-extensions.php:75
|
643 |
Â
msgid "<b>Completely automatic</b> scheduled emails"
|
644 |
-
msgstr ""
|
645 |
Â
|
646 |
Â
#: includes/views/wcpdf-extensions.php:76
|
647 |
Â
msgid ""
|
648 |
Â
"<b>Rich text editor</b> for the email text, including placeholders for data "
|
649 |
Â
"from the order (name, order total, etc)"
|
650 |
Â
msgstr ""
|
Â
|
|
Â
|
|
651 |
Â
|
652 |
Â
#: includes/views/wcpdf-extensions.php:77
|
653 |
Â
msgid ""
|
654 |
Â
"Configure the exact requirements for sending an email (time after order, "
|
655 |
Â
"order status, payment method)"
|
656 |
Â
msgstr ""
|
Â
|
|
Â
|
|
657 |
Â
|
658 |
Â
#: includes/views/wcpdf-extensions.php:78
|
659 |
Â
msgid ""
|
660 |
Â
"Fully <b>WPML Compatible</b> – emails will be automatically sent in the "
|
661 |
Â
"order language."
|
662 |
Â
msgstr ""
|
Â
|
|
Â
|
|
663 |
Â
|
664 |
Â
#: includes/views/wcpdf-extensions.php:79
|
665 |
Â
msgid ""
|
666 |
Â
"<b>Super versatile!</b> Can be used for any kind of reminder email (review "
|
667 |
Â
"reminders, repeat purchases)"
|
668 |
Â
msgstr ""
|
Â
|
|
Â
|
|
669 |
Â
|
670 |
Â
#: includes/views/wcpdf-extensions.php:80
|
671 |
Â
msgid "Integrates seamlessly with the PDF Invoices & Packing Slips plugin"
|
672 |
Â
msgstr ""
|
Â
|
|
673 |
Â
|
674 |
Â
#: includes/views/wcpdf-extensions.php:82
|
675 |
Â
msgid "Get WooCommerce Smart Reminder Emails"
|
676 |
-
msgstr ""
|
677 |
Â
|
678 |
Â
#: includes/views/wcpdf-extensions.php:91
|
679 |
Â
msgid "Upload all invoices automatically to your dropbox"
|
@@ -715,7 +775,7 @@ msgstr "Für individuelle Vorlagen kontaktiert uns auf %s."
|
|
715 |
Â
|
716 |
Â
#: includes/views/wcpdf-extensions.php:146
|
717 |
Â
msgid "Hide this message"
|
718 |
-
msgstr ""
|
719 |
Â
|
720 |
Â
#: includes/views/wcpdf-settings-page.php:8
|
721 |
Â
msgid "WooCommerce PDF Invoices"
|
@@ -785,7 +845,7 @@ msgstr "Lieferadresse:"
|
|
785 |
Â
msgid "Shipping Method:"
|
786 |
Â
msgstr "Versandart:"
|
787 |
Â
|
788 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
789 |
Â
#, php-format
|
790 |
Â
msgid ""
|
791 |
Â
"WooCommerce PDF Invoices & Packing Slips requires %sWooCommerce%s to be "
|
@@ -794,15 +854,17 @@ msgstr ""
|
|
794 |
Â
"WooCommerce PDF Invoices & Packing Slips benötigt %sWooCommerce%s "
|
795 |
Â
"installiert und aktiviert!"
|
796 |
Â
|
797 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
798 |
Â
msgid ""
|
799 |
Â
"WooCommerce PDF Invoices & Packing Slips requires PHP 5.3 or higher (5.6 or "
|
800 |
Â
"higher recommended)."
|
801 |
Â
msgstr ""
|
Â
|
|
Â
|
|
802 |
Â
|
803 |
-
#: woocommerce-pdf-invoices-packingslips.php:
|
804 |
Â
msgid "How to update your PHP version"
|
805 |
-
msgstr ""
|
806 |
Â
|
807 |
Â
#~ msgid "Attach invoice to:"
|
808 |
Â
#~ msgstr "Rechnung anfügen zu:"
|
1 |
Â
msgid ""
|
2 |
Â
msgstr ""
|
3 |
Â
"Project-Id-Version: WooCommerce PDF Invoices & Packing Slips\n"
|
4 |
+
"POT-Creation-Date: 2017-06-13 13:13+0200\n"
|
5 |
+
"PO-Revision-Date: 2018-02-06 13:05+0100\n"
|
6 |
+
"Last-Translator: Thomas Bunte <thomas@bunte-tk.de>\n"
|
7 |
Â
"Language-Team: PROnatur24 <info@pronatur24.eu>\n"
|
8 |
Â
"Language: de_DE\n"
|
9 |
Â
"MIME-Version: 1.0\n"
|
10 |
Â
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
Â
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.0.6\n"
|
13 |
Â
"X-Poedit-Basepath: ..\n"
|
14 |
Â
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
15 |
Â
"X-Poedit-SourceCharset: UTF-8\n"
|
26 |
Â
|
27 |
Â
#: includes/class-wcpdf-admin.php:115
|
28 |
Â
msgid "PDF Invoice data"
|
29 |
+
msgstr "PDF Rechnungs Daten"
|
30 |
Â
|
31 |
Â
#: includes/class-wcpdf-admin.php:166
|
32 |
Â
#: includes/documents/class-wcpdf-invoice.php:32
|
43 |
Â
|
44 |
Â
#: includes/class-wcpdf-admin.php:189
|
45 |
Â
msgid "Set invoice number & date"
|
46 |
+
msgstr "Erstellen Sie Rechnungsnummer und Rechnungsdatum"
|
47 |
Â
|
48 |
Â
#: includes/class-wcpdf-admin.php:196
|
49 |
Â
msgid "Invoice Number (unformatted!)"
|
50 |
+
msgstr "Rechnungsnummer (unformatiert!)"
|
51 |
Â
|
52 |
Â
#: includes/class-wcpdf-admin.php:206 includes/class-wcpdf-admin.php:208
|
53 |
Â
msgid "h"
|
68 |
Â
|
69 |
Â
#: includes/class-wcpdf-main.php:141
|
70 |
Â
msgid "Some of the export parameters are missing."
|
71 |
+
msgstr "Einige der Exportparameter fehlen."
|
72 |
Â
|
73 |
Â
#: includes/class-wcpdf-settings-callbacks.php:27
|
74 |
Â
msgid ""
|
75 |
Â
"<b>Warning!</b> The settings below are meant for debugging/development only. "
|
76 |
Â
"Do not use them on a live website!"
|
77 |
Â
msgstr ""
|
78 |
+
"<b>Achtung:</b> Die folgenden Einstellungen sind nur für die Fehlersuche / "
|
79 |
+
"Entwicklung gedacht. Verwenden Sie sie nicht auf einer Live-Website!"
|
80 |
Â
|
81 |
Â
#: includes/class-wcpdf-settings-callbacks.php:36
|
82 |
Â
msgid ""
|
94 |
Â
|
95 |
Â
#: includes/class-wcpdf-settings-callbacks.php:325
|
96 |
Â
msgid "Save"
|
97 |
+
msgstr "Speichern"
|
98 |
Â
|
99 |
Â
#: includes/class-wcpdf-settings-debug.php:34
|
100 |
Â
msgid "Debug settings"
|
101 |
+
msgstr "Debug Einstellungen"
|
102 |
Â
|
103 |
Â
#: includes/class-wcpdf-settings-debug.php:40
|
104 |
Â
msgid "Legacy mode"
|
105 |
+
msgstr "Legacy mode"
|
106 |
Â
|
107 |
Â
#: includes/class-wcpdf-settings-debug.php:46
|
108 |
Â
msgid ""
|
109 |
Â
"Legacy mode ensures compatibility with templates and filters from previous "
|
110 |
Â
"versions."
|
111 |
Â
msgstr ""
|
112 |
+
"Der Legacy-Modus sorgt für Kompatibilität mit Vorlagen und Filtern aus "
|
113 |
+
"früheren Versionen."
|
114 |
Â
|
115 |
Â
#: includes/class-wcpdf-settings-debug.php:52
|
116 |
Â
msgid "Enable debug output"
|
117 |
+
msgstr "Debug-Ausgabe aktivieren"
|
118 |
Â
|
119 |
Â
#: includes/class-wcpdf-settings-debug.php:58
|
120 |
Â
msgid ""
|
121 |
Â
"Enable this option to output plugin errors if you're getting a blank page or "
|
122 |
Â
"other PDF generation issues"
|
123 |
Â
msgstr ""
|
124 |
+
"Aktivieren Sie diese Option um Plugin-Fehler auszugeben, wenn Sie eine leere "
|
125 |
+
"Seite oder andere PDF-Generierung-Probleme bekommen"
|
126 |
Â
|
127 |
Â
#: includes/class-wcpdf-settings-debug.php:64
|
128 |
Â
msgid "Output to HTML"
|
129 |
+
msgstr "HTML-Ausgabe"
|
130 |
Â
|
131 |
Â
#: includes/class-wcpdf-settings-debug.php:70
|
132 |
Â
msgid ""
|
133 |
Â
"Send the template output as HTML to the browser instead of creating a PDF."
|
134 |
Â
msgstr ""
|
135 |
+
"Senden die Ausgabe als HTML an einen Browser, anstatt ein PDF zu erstellen."
|
136 |
Â
|
137 |
Â
#: includes/class-wcpdf-settings-documents.php:29
|
138 |
Â
#: includes/class-wcpdf-settings.php:84
|
139 |
Â
msgid "Documents"
|
140 |
+
msgstr "Dokumente"
|
141 |
Â
|
142 |
Â
#: includes/class-wcpdf-settings-documents.php:45
|
143 |
Â
msgid ""
|
144 |
Â
"All available documents are listed below. Click on a document to configure "
|
145 |
Â
"it."
|
146 |
Â
msgstr ""
|
147 |
+
"Alle verfügbaren Dokumente sind unten aufgeführt. Klicken Sie auf ein "
|
148 |
+
"Dokument, um es zu konfigurieren."
|
149 |
Â
|
150 |
Â
#: includes/class-wcpdf-settings-general.php:37
|
151 |
Â
msgid "General settings"
|
190 |
Â
|
191 |
Â
#: includes/class-wcpdf-settings-general.php:86
|
192 |
Â
msgid "Extended currency symbol support"
|
193 |
+
msgstr "Support für erweiterte Währungs Zeichen"
|
194 |
Â
|
195 |
Â
#: includes/class-wcpdf-settings-general.php:92
|
196 |
Â
msgid "Enable this if your currency symbol is not displaying properly"
|
197 |
Â
msgstr ""
|
198 |
+
"Aktivieren Sie diese Option, wenn Ihre Währungssymbol nicht korrekt "
|
199 |
+
"ausgespielt wird."
|
200 |
Â
|
201 |
Â
#: includes/class-wcpdf-settings-general.php:98
|
202 |
Â
msgid "Shop header/logo"
|
267 |
Â
|
268 |
Â
#: includes/class-wcpdf-settings.php:71
|
269 |
Â
msgid "Documentation"
|
270 |
+
msgstr "Dokumentation"
|
271 |
Â
|
272 |
Â
#: includes/class-wcpdf-settings.php:72
|
273 |
Â
msgid "Support Forum"
|
274 |
+
msgstr "Support Forum"
|
275 |
Â
|
276 |
Â
#: includes/class-wcpdf-settings.php:83
|
277 |
Â
msgid "General"
|
283 |
Â
|
284 |
Â
#: includes/compatibility/class-wc-core-compatibility.php:222
|
285 |
Â
msgid "WooCommerce"
|
286 |
+
msgstr "WooCommerce"
|
287 |
Â
|
288 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:113
|
289 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:176
|
301 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:669
|
302 |
Â
#, php-format
|
303 |
Â
msgid "(includes %s)"
|
304 |
+
msgstr "(enthält %s)"
|
305 |
Â
|
306 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:672
|
307 |
Â
#, php-format
|
308 |
Â
msgid "(Includes %s)"
|
309 |
+
msgstr "(Enthält %s)"
|
310 |
Â
|
311 |
Â
#: includes/documents/abstract-wcpdf-order-document-methods.php:702
|
312 |
Â
msgid "Subtotal"
|
336 |
Â
msgid "Total"
|
337 |
Â
msgstr "Gesamtsumme"
|
338 |
Â
|
339 |
+
#: includes/documents/abstract-wcpdf-order-document.php:679
|
340 |
Â
msgid "Admin email"
|
341 |
+
msgstr "Admin E-Mail"
|
342 |
Â
|
343 |
+
#: includes/documents/abstract-wcpdf-order-document.php:682
|
344 |
Â
msgid "Manual email"
|
345 |
+
msgstr "Manuelle E-Mail"
|
346 |
Â
|
347 |
Â
# This is a filename (prefix). do not use spaces or special characters!
|
348 |
Â
#: includes/documents/class-wcpdf-invoice.php:85
|
354 |
Â
#: includes/documents/class-wcpdf-invoice.php:130
|
355 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:94
|
356 |
Â
msgid "Enable"
|
357 |
+
msgstr "Aktivieren"
|
358 |
Â
|
359 |
Â
#: includes/documents/class-wcpdf-invoice.php:141
|
360 |
Â
msgid "Attach to:"
|
361 |
+
msgstr "Anhängen an"
|
362 |
Â
|
363 |
Â
#: includes/documents/class-wcpdf-invoice.php:148
|
364 |
Â
#, php-format
|
373 |
Â
|
374 |
Â
#: includes/documents/class-wcpdf-invoice.php:154
|
375 |
Â
msgid "Display shipping address"
|
376 |
+
msgstr "Lieferadresse anzeigen"
|
377 |
Â
|
378 |
Â
#: includes/documents/class-wcpdf-invoice.php:160
|
379 |
Â
msgid ""
|
380 |
Â
"Display shipping address (in addition to the default billing address) if "
|
381 |
Â
"different from billing address"
|
382 |
Â
msgstr ""
|
383 |
+
"Zeigt die Lieferadresse auf der Rechnung (zusätzlich zu den Standard-"
|
384 |
+
"Rechnungsadresse), falls abweichend von Rechnungsadresse"
|
385 |
Â
|
386 |
Â
#: includes/documents/class-wcpdf-invoice.php:166
|
387 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:117
|
388 |
Â
msgid "Display email address"
|
389 |
+
msgstr "E-Mail-Adresse anzeigen"
|
390 |
Â
|
391 |
Â
#: includes/documents/class-wcpdf-invoice.php:177
|
392 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:128
|
393 |
Â
msgid "Display phone number"
|
394 |
+
msgstr "Telefonnummer anzeigen"
|
395 |
Â
|
396 |
Â
#: includes/documents/class-wcpdf-invoice.php:188
|
397 |
Â
msgid "Display invoice date"
|
399 |
Â
|
400 |
Â
#: includes/documents/class-wcpdf-invoice.php:200
|
401 |
Â
msgid "Display invoice number"
|
402 |
+
msgstr "Rechnungsnummer anzeigen"
|
403 |
Â
|
404 |
Â
#: includes/documents/class-wcpdf-invoice.php:212
|
405 |
Â
msgid "Next invoice number (without prefix/suffix etc.)"
|
412 |
Â
"you override this and set it lower than the current/highest number, this "
|
413 |
Â
"could create duplicate numbers!"
|
414 |
Â
msgstr ""
|
415 |
+
"Dies ist die Nummer, die für das nächste Dokument verwendet wird. "
|
416 |
+
"Standardmäßig beginnt die Nummerierung bei 1 und erhöht sich mit jedem neuen "
|
417 |
+
"Dokument. Beachten Sie, dass, wenn Sie dies überschreiben und es niedriger "
|
418 |
+
"als die aktuelle/höchste Zahl setzen, dies zu doppelten Zahlen führen kann!"
|
419 |
Â
|
420 |
Â
#: includes/documents/class-wcpdf-invoice.php:224
|
421 |
Â
msgid "Number format"
|
422 |
+
msgstr "Nummernformat"
|
423 |
Â
|
424 |
Â
#: includes/documents/class-wcpdf-invoice.php:232
|
425 |
Â
msgid "Prefix"
|
430 |
Â
"to use the invoice year and/or month, use [invoice_year] or [invoice_month] "
|
431 |
Â
"respectively"
|
432 |
Â
msgstr ""
|
433 |
+
"Um das Rechnungsjahr bzw. den Rechnungsmonat zu verwenden, verwenden Sie "
|
434 |
+
"[invoice_year] bzw.[invoice_month]."
|
435 |
Â
|
436 |
Â
#: includes/documents/class-wcpdf-invoice.php:237
|
437 |
Â
msgid "Suffix"
|
457 |
Â
|
458 |
Â
#: includes/documents/class-wcpdf-invoice.php:254
|
459 |
Â
msgid "Reset invoice number yearly"
|
460 |
+
msgstr "Rechnungsnummer jährlich zurücksetzen"
|
461 |
Â
|
462 |
Â
#: includes/documents/class-wcpdf-invoice.php:265
|
463 |
Â
msgid "Allow My Account invoice download"
|
464 |
+
msgstr "Erlauben Sie den Download der Rechnung im Kunden-Konto"
|
465 |
Â
|
466 |
Â
#: includes/documents/class-wcpdf-invoice.php:272
|
467 |
Â
msgid "Only when an invoice is already created/emailed"
|
468 |
+
msgstr "Nur wenn eine Rechnung bereits erstellt bzw. versendet wurde."
|
469 |
Â
|
470 |
Â
#: includes/documents/class-wcpdf-invoice.php:273
|
471 |
Â
msgid "Only for specific order statuses (define below)"
|
472 |
+
msgstr "Nur für bestimmten Bestellstatus (Definition unten)"
|
473 |
Â
|
474 |
Â
#: includes/documents/class-wcpdf-invoice.php:274
|
475 |
Â
msgid "Always"
|
476 |
+
msgstr "Immer"
|
477 |
Â
|
478 |
Â
#: includes/documents/class-wcpdf-invoice.php:275
|
479 |
Â
msgid "Never"
|
480 |
+
msgstr "Niemals"
|
481 |
Â
|
482 |
Â
#: includes/documents/class-wcpdf-invoice.php:290
|
483 |
Â
msgid "Enable invoice number column in the orders list"
|
485 |
Â
|
486 |
Â
#: includes/documents/class-wcpdf-invoice.php:301
|
487 |
Â
msgid "Disable for free products"
|
488 |
+
msgstr "Für kostenlose Produkte deaktivieren"
|
489 |
Â
|
490 |
Â
#: includes/documents/class-wcpdf-invoice.php:307
|
491 |
Â
msgid ""
|
492 |
Â
"Disable automatic creation/attachment when only free products are ordered"
|
493 |
Â
msgstr ""
|
494 |
+
"Deaktivieren Sie das automatische Erstellen/Anhängen, wenn nur kostenlose "
|
495 |
+
"Produkte bestellt werden."
|
496 |
Â
|
497 |
Â
#: includes/documents/class-wcpdf-invoice.php:321
|
498 |
Â
msgid "Invoice numbers are created by a third-party extension."
|
499 |
Â
msgstr ""
|
500 |
+
"Rechnungsnummern entstehen durch eine Erweiterung eines Drittanbieters."
|
501 |
Â
|
502 |
Â
#: includes/documents/class-wcpdf-invoice.php:323
|
503 |
Â
#, php-format
|
504 |
Â
msgid "Configure it <a href=\"%s\">here</a>."
|
505 |
+
msgstr "Konfigurieren Sie es <a href=\"%s\">hier</a>."
|
506 |
Â
|
507 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:32
|
508 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:41
|
520 |
Â
|
521 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:105
|
522 |
Â
msgid "Display billing address"
|
523 |
+
msgstr "Rechnungsadresse anzeigen"
|
524 |
Â
|
525 |
Â
#: includes/documents/class-wcpdf-packing-slip.php:111
|
526 |
Â
msgid ""
|
527 |
Â
"Display billing address (in addition to the default shipping address) if "
|
528 |
Â
"different from shipping address"
|
529 |
Â
msgstr ""
|
530 |
+
"Rechnungsadresse anzeigen (zusätzlich zur Standard-Lieferadresse), falls "
|
531 |
+
"abweichend von der Versandadresse"
|
532 |
Â
|
533 |
Â
#: includes/legacy/class-wcpdf-legacy-document.php:32
|
534 |
Â
msgid "Legacy Document"
|
535 |
+
msgstr "Legacy Dokument"
|
536 |
+
|
537 |
+
#: includes/legacy/class-wcpdf-legacy.php:70
|
538 |
+
msgid "Error"
|
539 |
+
msgstr "Fehler"
|
540 |
+
|
541 |
+
#: includes/legacy/class-wcpdf-legacy.php:71
|
542 |
+
msgid ""
|
543 |
+
"An outdated template or action hook was used to generate the PDF. Legacy "
|
544 |
+
"mode has been activated, please try again by reloading this page."
|
545 |
Â
msgstr ""
|
546 |
+
"Ein veraltetes Template oder Action Hook wurde verwendet, um das PDF zu "
|
547 |
+
"erzeugen. Der Legacy-Modus wurde aktiviert, bitte versuchen Sie es erneut, "
|
548 |
+
"indem Sie diese Seite neu laden."
|
549 |
+
|
550 |
+
#: includes/legacy/class-wcpdf-legacy.php:74
|
551 |
+
msgid "The following function was called"
|
552 |
+
msgstr "Die folgende Funktion wurde aufgerufen"
|
553 |
Â
|
554 |
Â
#: includes/views/wcpdf-extensions.php:15
|
555 |
Â
msgid "Check out these premium extensions!"
|
564 |
Â
"Premium PDF Invoice bundle: Everything you need for a perfect invoicing "
|
565 |
Â
"system"
|
566 |
Â
msgstr ""
|
567 |
+
"Premium PDF Invoice Bundle: Alles was Sie für ein perfektes "
|
568 |
+
"Abrechnungssystem benötigen"
|
569 |
Â
|
570 |
Â
#: includes/views/wcpdf-extensions.php:23
|
571 |
Â
msgid ""
|
572 |
Â
"Supercharge WooCommerce PDF Invoices & Packing Slips with the all our "
|
573 |
Â
"premium extensions:"
|
574 |
Â
msgstr ""
|
575 |
+
"Verbessere WooCommerce PDF Invoices & Packing Slips mit diesen Premium-"
|
576 |
+
"Erweiterungen:"
|
577 |
Â
|
578 |
Â
#: includes/views/wcpdf-extensions.php:24
|
579 |
Â
msgid "Professional features:"
|
580 |
+
msgstr "Professionelle Features:"
|
581 |
Â
|
582 |
Â
#: includes/views/wcpdf-extensions.php:26
|
583 |
Â
#: includes/views/wcpdf-extensions.php:56
|
590 |
Â
"Send out a separate <b>notification email</b> with (or without) PDF invoices/"
|
591 |
Â
"packing slips, for example to a drop-shipper or a supplier."
|
592 |
Â
msgstr ""
|
593 |
+
"Senden Sie eine separate <b>Benachrichtigungs-E-Mail</b> mit (oder ohne) PDF-"
|
594 |
+
"Rechnungen/Packzettel, z.B. an einen Drop-Shipper oder Lieferanten."
|
595 |
Â
|
596 |
Â
#: includes/views/wcpdf-extensions.php:28
|
597 |
Â
#: includes/views/wcpdf-extensions.php:58
|
599 |
Â
"Attach <b>up to 3 static files</b> (for example a terms & conditions "
|
600 |
Â
"document) to the WooCommerce emails of your choice."
|
601 |
Â
msgstr ""
|
602 |
+
"Hängen Sie <b>bis zu 3 statische Dateien</b> (z.B. ein AGB-Dokument) an die "
|
603 |
+
"WooCommerce-E-Mails Ihrer Wahl an."
|
604 |
Â
|
605 |
Â
#: includes/views/wcpdf-extensions.php:29
|
606 |
Â
#: includes/views/wcpdf-extensions.php:59
|
608 |
Â
"Use <b>separate numbering systems</b> and/or format for proforma invoices "
|
609 |
Â
"and credit notes or utilize the main invoice numbering system"
|
610 |
Â
msgstr ""
|
611 |
+
"Wendet ein <b>separates Nummerierungssystem</b> und/oder Format für Proforma "
|
612 |
+
"Rechnungen und Gutschriften oder passt das Hauptsystem der "
|
613 |
+
"Rechnungsnummerierung an"
|
614 |
Â
|
615 |
Â
#: includes/views/wcpdf-extensions.php:30
|
616 |
Â
#: includes/views/wcpdf-extensions.php:60
|
631 |
Â
#: includes/views/wcpdf-extensions.php:33
|
632 |
Â
#: includes/views/wcpdf-extensions.php:131
|
633 |
Â
msgid "Advanced, customizable templates"
|
634 |
+
msgstr "Erweiterte, anpassbare Vorlagen"
|
635 |
Â
|
636 |
Â
#: includes/views/wcpdf-extensions.php:35
|
637 |
Â
#: includes/views/wcpdf-extensions.php:134
|
639 |
Â
"Completely customize the invoice contents (prices, taxes, thumbnails) to "
|
640 |
Â
"your needs with a drag & drop customizer"
|
641 |
Â
msgstr ""
|
642 |
+
"Passen Sie den Rechnungsinhalt (Preise, Steuern, Thumbnails) mit einem Drag "
|
643 |
+
"& Drop-Customizer vollständig an Ihre Bedürfnisse an."
|
644 |
Â
|
645 |
Â
#: includes/views/wcpdf-extensions.php:36
|
646 |
Â
#: includes/views/wcpdf-extensions.php:135
|
647 |
Â
msgid "Two extra stylish premade templates (Modern & Business)"
|
648 |
+
msgstr "Zwei extra stylische vorgefertigte Templates (Modern & Business)"
|
649 |
Â
|
650 |
Â
#: includes/views/wcpdf-extensions.php:38
|
651 |
Â
msgid "Upload automatically to dropbox"
|
652 |
+
msgstr "Automatischer Upload in die Dropbox"
|
653 |
Â
|
654 |
Â
#: includes/views/wcpdf-extensions.php:40
|
655 |
Â
#: includes/views/wcpdf-extensions.php:97
|
665 |
Â
|
666 |
Â
#: includes/views/wcpdf-extensions.php:43
|
667 |
Â
msgid "Get WooCommerce PDF Invoices & Packing Slips Bundle"
|
668 |
+
msgstr "WooCommerce PDF Invoices & Packing Slips ordern"
|
669 |
Â
|
670 |
Â
#: includes/views/wcpdf-extensions.php:52
|
671 |
Â
msgid "Go Pro: Proforma invoices, credit notes (=refunds) & more!"
|
684 |
Â
|
685 |
Â
#: includes/views/wcpdf-extensions.php:71
|
686 |
Â
msgid "Automatically send payment reminders to your customers"
|
687 |
+
msgstr "Automatisch Zahlungserinnerungen an Ihre Kunden senden"
|
688 |
Â
|
689 |
Â
#: includes/views/wcpdf-extensions.php:73
|
690 |
Â
msgid "WooCommerce Smart Reminder emails"
|
691 |
+
msgstr "WooCommerce Smart Erinnerungsmails"
|
692 |
Â
|
693 |
Â
#: includes/views/wcpdf-extensions.php:75
|
694 |
Â
msgid "<b>Completely automatic</b> scheduled emails"
|
695 |
+
msgstr "<b>Vollautomatische</b> geplant e-Mails"
|
696 |
Â
|
697 |
Â
#: includes/views/wcpdf-extensions.php:76
|
698 |
Â
msgid ""
|
699 |
Â
"<b>Rich text editor</b> for the email text, including placeholders for data "
|
700 |
Â
"from the order (name, order total, etc)"
|
701 |
Â
msgstr ""
|
702 |
+
"<b>Rich Text Editor</b> für den E-Mail-Text, inklusive Platzhalter für Daten "
|
703 |
+
"aus der Bestellung (Name, Auftragssumme, etc.)"
|
704 |
Â
|
705 |
Â
#: includes/views/wcpdf-extensions.php:77
|
706 |
Â
msgid ""
|
707 |
Â
"Configure the exact requirements for sending an email (time after order, "
|
708 |
Â
"order status, payment method)"
|
709 |
Â
msgstr ""
|
710 |
+
"Konfigurieren Sie die genauen Voraussetzungen für das Versenden einer E-Mail "
|
711 |
+
"(Zeit nach der Bestellung, Bestellstatus, Zahlungsweise)."
|
712 |
Â
|
713 |
Â
#: includes/views/wcpdf-extensions.php:78
|
714 |
Â
msgid ""
|
715 |
Â
"Fully <b>WPML Compatible</b> – emails will be automatically sent in the "
|
716 |
Â
"order language."
|
717 |
Â
msgstr ""
|
718 |
+
"Vollständig <b>WPML-kompatibel</b> - E-Mails werden automatisch in der "
|
719 |
+
"Bestellsprache versendet."
|
720 |
Â
|
721 |
Â
#: includes/views/wcpdf-extensions.php:79
|
722 |
Â
msgid ""
|
723 |
Â
"<b>Super versatile!</b> Can be used for any kind of reminder email (review "
|
724 |
Â
"reminders, repeat purchases)"
|
725 |
Â
msgstr ""
|
726 |
+
"<b>Super vielseitig einsetzbar!</b> Kann für jede Art von Erinnerungs-E-Mail "
|
727 |
+
"verwendet werden (Wiederholungserinnerungen, Wiederholungskäufe"
|
728 |
Â
|
729 |
Â
#: includes/views/wcpdf-extensions.php:80
|
730 |
Â
msgid "Integrates seamlessly with the PDF Invoices & Packing Slips plugin"
|
731 |
Â
msgstr ""
|
732 |
+
"Lässt sich nahtlos in das Plugin PDF Invoices & Packing Slips integrieren."
|
733 |
Â
|
734 |
Â
#: includes/views/wcpdf-extensions.php:82
|
735 |
Â
msgid "Get WooCommerce Smart Reminder Emails"
|
736 |
+
msgstr "WooCommerce Smart Erinnerungsmails ordern"
|
737 |
Â
|
738 |
Â
#: includes/views/wcpdf-extensions.php:91
|
739 |
Â
msgid "Upload all invoices automatically to your dropbox"
|
775 |
Â
|
776 |
Â
#: includes/views/wcpdf-extensions.php:146
|
777 |
Â
msgid "Hide this message"
|
778 |
+
msgstr "Diese Nachricht ausblenden"
|
779 |
Â
|
780 |
Â
#: includes/views/wcpdf-settings-page.php:8
|
781 |
Â
msgid "WooCommerce PDF Invoices"
|
845 |
Â
msgid "Shipping Method:"
|
846 |
Â
msgstr "Versandart:"
|
847 |
Â
|
848 |
+
#: woocommerce-pdf-invoices-packingslips.php:229
|
849 |
Â
#, php-format
|
850 |
Â
msgid ""
|
851 |
Â
"WooCommerce PDF Invoices & Packing Slips requires %sWooCommerce%s to be "
|
854 |
Â
"WooCommerce PDF Invoices & Packing Slips benötigt %sWooCommerce%s "
|
855 |
Â
"installiert und aktiviert!"
|
856 |
Â
|
857 |
+
#: woocommerce-pdf-invoices-packingslips.php:241
|
858 |
Â
msgid ""
|
859 |
Â
"WooCommerce PDF Invoices & Packing Slips requires PHP 5.3 or higher (5.6 or "
|
860 |
Â
"higher recommended)."
|
861 |
Â
msgstr ""
|
862 |
+
"WooCommerce PDF Invoices & Packing Slips erfordert PHP 5.3 oder höher (5.6 "
|
863 |
+
"oder höher empfohlen)."
|
864 |
Â
|
865 |
+
#: woocommerce-pdf-invoices-packingslips.php:242
|
866 |
Â
msgid "How to update your PHP version"
|
867 |
+
msgstr "So aktualisieren Sie Ihre PHP-Version"
|
868 |
Â
|
869 |
Â
#~ msgid "Attach invoice to:"
|
870 |
Â
#~ msgstr "Rechnung anfügen zu:"
|
readme.txt
CHANGED
@@ -1,234 +1,241 @@
|
|
1 |
-
=== WooCommerce PDF Invoices & Packing Slips ===
|
2 |
-
Contributors: pomegranate
|
3 |
-
Donate link: https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-bundle/
|
4 |
-
Tags: woocommerce, pdf, invoices, packing slips, print, delivery notes, invoice, packing slip, export, email, bulk, automatic
|
5 |
-
Requires at least: 3.5
|
6 |
-
Tested up to: 4.9
|
7 |
-
Requires PHP: 5.3
|
8 |
-
Stable tag: 2.1.
|
9 |
-
License: GPLv2 or later
|
10 |
-
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
-
|
12 |
-
Create, print & automatically email PDF invoices & packing slips for WooCommerce orders.
|
13 |
-
|
14 |
-
== Description ==
|
15 |
-
|
16 |
-
This WooCommerce extension automatically adds a PDF invoice to the order confirmation emails sent out to your customers. Includes a basic template (additional templates are available from [WP Overnight](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-premium-templates/)) as well as the possibility to modify/create your own templates. In addition, you can choose to download or print invoices and packing slips from the WooCommerce order admin.
|
17 |
-
|
18 |
-
= Main features =
|
19 |
-
* Automatically attach invoice PDF to WooCommerce emails of your choice
|
20 |
-
* Download the PDF invoice / packing slip from the order admin page
|
21 |
-
* Generate PDF invoices / packings slips in bulk
|
22 |
-
* **Fully customizable** HTML/CSS invoice templates
|
23 |
-
* Download invoices from the My Account page
|
24 |
-
* Sequential invoice numbers - with custom formatting
|
25 |
-
* **Available in: Czech, Dutch, English, Finnish, French, German, Hungarian, Italian, Japanese (see FAQ for adding custom fonts!), Norwegian, Polish, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish & Ukrainian**
|
26 |
-
|
27 |
-
In addition to this, we offer several premium extensions:
|
28 |
-
|
29 |
-
* Create/email PDF Proforma Invoices, Credit Notes (for Refunds), email Packing Slips & more with [WooCommerce PDF Invoices & Packing Slips Professional](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-professional/)
|
30 |
-
* Upload all invoices automatically to Dropbox with [WooCommerce PDF Invoices & Packing Slips to Dropbox](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-dropbox/)
|
31 |
-
* Automatically send new orders or packing slips to your printer, as soon as the customer orders! [WooCommerce Automatic Order Printing](https://www.simbahosting.co.uk/s3/product/woocommerce-automatic-order-printing/?affiliates=2) (from our partners at Simba Hosting)
|
32 |
-
* More advanced & stylish templates with [WooCommerce PDF Invoices & Packing Slips Premium Templates](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-premium-templates/)
|
33 |
-
|
34 |
-
= Fully customizable =
|
35 |
-
In addition to a number of default settings (including a custom header/logo) and several layout fields that you can use out of the box, the plugin contains HTML/CSS based templates that allow for customization & full control over the PDF output. Copy the templates to your theme folder and you don't have to worry that your customizations will be overwritten when you update the plugin.
|
36 |
-
|
37 |
-
* Insert customer header image/logo
|
38 |
-
* Modify shop data / footer / disclaimer etc. on the invoices & packing slips
|
39 |
-
* Select paper size (Letter or A4)
|
40 |
-
* Translation ready
|
41 |
-
|
42 |
-
== Installation ==
|
43 |
-
|
44 |
-
= Minimum Requirements =
|
45 |
-
|
46 |
-
* WooCommerce 2.2 or later
|
47 |
-
* WordPress 3.5 or later
|
48 |
-
|
49 |
-
= Automatic installation =
|
50 |
-
Automatic installation is the easiest option as WordPress handles the file transfers itself and you don't even need to leave your web browser. To do an automatic install of WooCommerce PDF Invoices & Packing Slips, log in to your WordPress admin panel, navigate to the Plugins menu and click Add New.
|
51 |
-
|
52 |
-
In the search field type "WooCommerce PDF Invoices & Packing Slips" and click Search Plugins. You can install it by simply clicking Install Now. After clicking that link you will be asked if you're sure you want to install the plugin. Click yes and WordPress will automatically complete the installation. After installation has finished, click the 'activate plugin' link.
|
53 |
-
|
54 |
-
= Manual installation via the WordPress interface =
|
55 |
-
1. Download the plugin zip file to your computer
|
56 |
-
2. Go to the WordPress admin panel menu Plugins > Add New
|
57 |
-
3. Choose upload
|
58 |
-
4. Upload the plugin zip file, the plugin will now be installed
|
59 |
-
5. After installation has finished, click the 'activate plugin' link
|
60 |
-
|
61 |
-
= Manual installation via FTP =
|
62 |
-
1. Download the plugin file to your computer and unzip it
|
63 |
-
2. Using an FTP program, or your hosting control panel, upload the unzipped plugin folder to your WordPress installation's wp-content/plugins/ directory.
|
64 |
-
3. Activate the plugin from the Plugins menu within the WordPress admin.
|
65 |
-
|
66 |
-
== Frequently Asked Questions ==
|
67 |
-
|
68 |
-
= Where can I find the documentation? =
|
69 |
-
|
70 |
-
[WooCommerce PDF Invoices & Packing Slips documentation](http://docs.wpovernight.com/woocommerce-pdf-invoices-packing-slips/)
|
71 |
-
|
72 |
-
= It's not working! =
|
73 |
-
|
74 |
-
Check out our step by step diagnostic instructions here: https://wordpress.org/support/topic/read-this-first-9/
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
= Where can I find more templates? =
|
81 |
-
|
82 |
-
Go to [wpovernight.com](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-premium-templates/) to checkout more templates! These include templates with more tax details and product thumbnails. Need a custom templates? Contact us at support@wpovernight.com for more information.
|
83 |
-
|
84 |
-
= Can I create/send a proforma invoice or a credit note? =
|
85 |
-
This is a feature of our Professional extension, which can be found at [wpovernight.com](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-professional/)
|
86 |
-
|
87 |
-
= Can I contribute to the code? =
|
88 |
-
You're more than welcome! This plugin is hosted on github, where you can post issues or make pull requests.
|
89 |
-
https://github.com/wpovernight/woocommerce-pdf-invoices-packing-slips
|
90 |
-
|
91 |
-
= How can I display the HTML/CSS source for debugging/developing templates? =
|
92 |
-
There's a setting on the Status tab of the settings page that allows you to toggle HTML output. Don't forget to turn if off after you're done testing!
|
93 |
-
|
94 |
-
|
95 |
-
== Screenshots ==
|
96 |
-
|
97 |
-
1. Simple invoice PDF
|
98 |
-
2. Simple packing slip PDF
|
99 |
-
3. Quickly print individual invoices or packing slips from the order list
|
100 |
-
4. Print invoices or packing slips in bulk
|
101 |
-
5. Attach invoices to any WooCommerce email
|
102 |
-
6. Set shop name, address, header logo, etc.
|
103 |
-
|
104 |
-
== Changelog ==
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
* Feature:
|
109 |
-
|
110 |
-
|
111 |
-
* Fix:
|
112 |
-
|
113 |
-
= 2.1.
|
114 |
-
*
|
115 |
-
*
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
* Feature:
|
122 |
-
*
|
123 |
-
*
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
* Fix:
|
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 |
-
* Fix:
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
*
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
*
|
172 |
-
*
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
*
|
177 |
-
*
|
178 |
-
* Fix:
|
179 |
-
* Fix:
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
*
|
184 |
-
* Fix:
|
185 |
-
*
|
186 |
-
*
|
187 |
-
*
|
188 |
-
|
189 |
-
= 2.0.
|
190 |
-
*
|
191 |
-
* Fix:
|
192 |
-
|
193 |
-
|
194 |
-
*
|
195 |
-
|
196 |
-
|
197 |
-
* Fix:
|
198 |
-
*
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
* Fix: order
|
203 |
-
* Fix:
|
204 |
-
* Fix:
|
205 |
-
*
|
206 |
-
*
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
* Fix:
|
211 |
-
|
212 |
-
|
213 |
-
*
|
214 |
-
*
|
215 |
-
|
216 |
-
|
217 |
-
*
|
218 |
-
|
219 |
-
|
220 |
-
*
|
221 |
-
*
|
222 |
-
*
|
223 |
-
*
|
224 |
-
*
|
225 |
-
|
226 |
-
|
227 |
-
*
|
228 |
-
* Fix:
|
229 |
-
*
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
=
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
234 |
Â
2.0 is a BIG update! Make a full site backup before upgrading!
|
1 |
+
=== WooCommerce PDF Invoices & Packing Slips ===
|
2 |
+
Contributors: pomegranate
|
3 |
+
Donate link: https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-bundle/
|
4 |
+
Tags: woocommerce, pdf, invoices, packing slips, print, delivery notes, invoice, packing slip, export, email, bulk, automatic
|
5 |
+
Requires at least: 3.5
|
6 |
+
Tested up to: 4.9
|
7 |
+
Requires PHP: 5.3
|
8 |
+
Stable tag: 2.1.5
|
9 |
+
License: GPLv2 or later
|
10 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
+
|
12 |
+
Create, print & automatically email PDF invoices & packing slips for WooCommerce orders.
|
13 |
+
|
14 |
+
== Description ==
|
15 |
+
|
16 |
+
This WooCommerce extension automatically adds a PDF invoice to the order confirmation emails sent out to your customers. Includes a basic template (additional templates are available from [WP Overnight](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-premium-templates/)) as well as the possibility to modify/create your own templates. In addition, you can choose to download or print invoices and packing slips from the WooCommerce order admin.
|
17 |
+
|
18 |
+
= Main features =
|
19 |
+
* Automatically attach invoice PDF to WooCommerce emails of your choice
|
20 |
+
* Download the PDF invoice / packing slip from the order admin page
|
21 |
+
* Generate PDF invoices / packings slips in bulk
|
22 |
+
* **Fully customizable** HTML/CSS invoice templates
|
23 |
+
* Download invoices from the My Account page
|
24 |
+
* Sequential invoice numbers - with custom formatting
|
25 |
+
* **Available in: Czech, Dutch, English, Finnish, French, German, Hungarian, Italian, Japanese (see FAQ for adding custom fonts!), Norwegian, Polish, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish & Ukrainian**
|
26 |
+
|
27 |
+
In addition to this, we offer several premium extensions:
|
28 |
+
|
29 |
+
* Create/email PDF Proforma Invoices, Credit Notes (for Refunds), email Packing Slips & more with [WooCommerce PDF Invoices & Packing Slips Professional](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-professional/)
|
30 |
+
* Upload all invoices automatically to Dropbox with [WooCommerce PDF Invoices & Packing Slips to Dropbox](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-dropbox/)
|
31 |
+
* Automatically send new orders or packing slips to your printer, as soon as the customer orders! [WooCommerce Automatic Order Printing](https://www.simbahosting.co.uk/s3/product/woocommerce-automatic-order-printing/?affiliates=2) (from our partners at Simba Hosting)
|
32 |
+
* More advanced & stylish templates with [WooCommerce PDF Invoices & Packing Slips Premium Templates](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-premium-templates/)
|
33 |
+
|
34 |
+
= Fully customizable =
|
35 |
+
In addition to a number of default settings (including a custom header/logo) and several layout fields that you can use out of the box, the plugin contains HTML/CSS based templates that allow for customization & full control over the PDF output. Copy the templates to your theme folder and you don't have to worry that your customizations will be overwritten when you update the plugin.
|
36 |
+
|
37 |
+
* Insert customer header image/logo
|
38 |
+
* Modify shop data / footer / disclaimer etc. on the invoices & packing slips
|
39 |
+
* Select paper size (Letter or A4)
|
40 |
+
* Translation ready
|
41 |
+
|
42 |
+
== Installation ==
|
43 |
+
|
44 |
+
= Minimum Requirements =
|
45 |
+
|
46 |
+
* WooCommerce 2.2 or later
|
47 |
+
* WordPress 3.5 or later
|
48 |
+
|
49 |
+
= Automatic installation =
|
50 |
+
Automatic installation is the easiest option as WordPress handles the file transfers itself and you don't even need to leave your web browser. To do an automatic install of WooCommerce PDF Invoices & Packing Slips, log in to your WordPress admin panel, navigate to the Plugins menu and click Add New.
|
51 |
+
|
52 |
+
In the search field type "WooCommerce PDF Invoices & Packing Slips" and click Search Plugins. You can install it by simply clicking Install Now. After clicking that link you will be asked if you're sure you want to install the plugin. Click yes and WordPress will automatically complete the installation. After installation has finished, click the 'activate plugin' link.
|
53 |
+
|
54 |
+
= Manual installation via the WordPress interface =
|
55 |
+
1. Download the plugin zip file to your computer
|
56 |
+
2. Go to the WordPress admin panel menu Plugins > Add New
|
57 |
+
3. Choose upload
|
58 |
+
4. Upload the plugin zip file, the plugin will now be installed
|
59 |
+
5. After installation has finished, click the 'activate plugin' link
|
60 |
+
|
61 |
+
= Manual installation via FTP =
|
62 |
+
1. Download the plugin file to your computer and unzip it
|
63 |
+
2. Using an FTP program, or your hosting control panel, upload the unzipped plugin folder to your WordPress installation's wp-content/plugins/ directory.
|
64 |
+
3. Activate the plugin from the Plugins menu within the WordPress admin.
|
65 |
+
|
66 |
+
== Frequently Asked Questions ==
|
67 |
+
|
68 |
+
= Where can I find the documentation? =
|
69 |
+
|
70 |
+
[WooCommerce PDF Invoices & Packing Slips documentation](http://docs.wpovernight.com/woocommerce-pdf-invoices-packing-slips/)
|
71 |
+
|
72 |
+
= It's not working! =
|
73 |
+
|
74 |
+
Check out our step by step diagnostic instructions here: https://wordpress.org/support/topic/read-this-first-9/
|
75 |
+
|
76 |
+
|
77 |
+
|
78 |
+
|
79 |
+
|
80 |
+
= Where can I find more templates? =
|
81 |
+
|
82 |
+
Go to [wpovernight.com](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-premium-templates/) to checkout more templates! These include templates with more tax details and product thumbnails. Need a custom templates? Contact us at support@wpovernight.com for more information.
|
83 |
+
|
84 |
+
= Can I create/send a proforma invoice or a credit note? =
|
85 |
+
This is a feature of our Professional extension, which can be found at [wpovernight.com](https://wpovernight.com/downloads/woocommerce-pdf-invoices-packing-slips-professional/)
|
86 |
+
|
87 |
+
= Can I contribute to the code? =
|
88 |
+
You're more than welcome! This plugin is hosted on github, where you can post issues or make pull requests.
|
89 |
+
https://github.com/wpovernight/woocommerce-pdf-invoices-packing-slips
|
90 |
+
|
91 |
+
= How can I display the HTML/CSS source for debugging/developing templates? =
|
92 |
+
There's a setting on the Status tab of the settings page that allows you to toggle HTML output. Don't forget to turn if off after you're done testing!
|
93 |
+
|
94 |
+
|
95 |
+
== Screenshots ==
|
96 |
+
|
97 |
+
1. Simple invoice PDF
|
98 |
+
2. Simple packing slip PDF
|
99 |
+
3. Quickly print individual invoices or packing slips from the order list
|
100 |
+
4. Print invoices or packing slips in bulk
|
101 |
+
5. Attach invoices to any WooCommerce email
|
102 |
+
6. Set shop name, address, header logo, etc.
|
103 |
+
|
104 |
+
== Changelog ==
|
105 |
+
|
106 |
+
|
107 |
+
= 2.1.5 =
|
108 |
+
* Feature: Filter for number store table (wpo_wcpdf_number_store_table_name)
|
109 |
+
* Fix: prevent accessing order properties as custom field/order meta
|
110 |
+
* Fix: prevent wrong application of wpo_wcpdf_filename filter
|
111 |
+
* Fix: Improved tax rate calculation fallback
|
112 |
+
|
113 |
+
= 2.1.4 =
|
114 |
+
* Fix: WooCommerce 3.3 action buttons
|
115 |
+
* Feature: Added row classes for WooCommerce Composite Products
|
116 |
+
|
117 |
+
= 2.1.3 =
|
118 |
+
* Fix: Fatal PHP error on My Account page.
|
119 |
+
|
120 |
+
= 2.1.2 =
|
121 |
+
* Feature: New action wpo_wcpdf_init_document
|
122 |
+
* Fix: Use title getters for my-account and backend buttons
|
123 |
+
* Fix: Legacy Premium Templates reference
|
124 |
+
* Tweak: Skip documents overview in settings, default to invoice
|
125 |
+
|
126 |
+
= 2.1.1 =
|
127 |
+
* Fix: WooCommerce Order Status & Actions Manager emails compatibility
|
128 |
+
* Feature: sort orders by invoice number column
|
129 |
+
* Tweak: pass document object to title filters
|
130 |
+
* Tweak: use title getter in template files (instead of title string)
|
131 |
+
|
132 |
+
= 2.1.0 =
|
133 |
+
* Feature: WooCommerce Order Status & Actions Manager emails compatibility
|
134 |
+
* Fix: Better url fallback for images stored in cloud
|
135 |
+
* Update: dompdf library updated to 0.8.2 - DOMDocument parser set to default again
|
136 |
+
|
137 |
+
= 2.0.15 =
|
138 |
+
* Fix: Prevent saving invoice number/date from order details page when not edited
|
139 |
+
|
140 |
+
= 2.0.14 =
|
141 |
+
* Feature: Manually resend specific order emails in WooCommerce 3.2+
|
142 |
+
* Tweak: Show full size logo preview in settings
|
143 |
+
* Tweak: Custom field fallback to underscore prefixed meta key
|
144 |
+
* Dev: added `wpo_wcpdf_before_sequential_number_increment` action
|
145 |
+
|
146 |
+
= 2.0.13 =
|
147 |
+
* Fix: Minor XSS issue on settings screens by escaping and sanitizing 'tab' & 'section' GET variables. Discovered by Detectify.
|
148 |
+
* Fix: Pakistani Rupee Symbol
|
149 |
+
* Feature: Automatically enable extended currency symbol support for currencies not supported by Open Sans
|
150 |
+
* Dev: added `wpo_wcpdf_document_number_settings` filter
|
151 |
+
|
152 |
+
= 2.0.12 =
|
153 |
+
* Option: Use different HTML parser (debug settings)
|
154 |
+
|
155 |
+
= 2.0.11 =
|
156 |
+
* Fix: Improved fonts update routine (now preserves custom fonts)
|
157 |
+
* Fix: Enable HTML5 parser by default (fixes issues with libxml)
|
158 |
+
* Tweak: Show both PHP & WP Memory limit in Status tab
|
159 |
+
|
160 |
+
= 2.0.10 =
|
161 |
+
* Fix: Set invoice number backend button
|
162 |
+
* Fix: Thumbail paths
|
163 |
+
* Tweak: Make dompdf options filterable
|
164 |
+
|
165 |
+
= 2.0.9 =
|
166 |
+
* Feature: use `[invoice_date="ymd"]` in invoice number prefix or suffix to include a specific date format in the invoice number
|
167 |
+
* Fix: Postmeta table prefix for invoice counter
|
168 |
+
* Fix: 0% tax rates
|
169 |
+
|
170 |
+
= 2.0.8 =
|
171 |
+
* Feature: Add support for Bedrock / alternative folder structures
|
172 |
+
* Dev: Filter for merged documents
|
173 |
+
* Fix: Better attributes fallback for product variations
|
174 |
+
|
175 |
+
= 2.0.7 =
|
176 |
+
* Feature: Added button to delete legacy settings
|
177 |
+
* Feature: Option to enable font subsetting
|
178 |
+
* Fix: Invoice number sequence for databases with alternative auto_increment_increment settings
|
179 |
+
* Fix: Fallback function for MB String (mb_stripos)
|
180 |
+
|
181 |
+
= 2.0.6 =
|
182 |
+
* Feature: Improved third party invoice number filters (`wpo_wcpdf_external_invoice_number_enabled` & `wpo_wcpdf_external_invoice_number`)
|
183 |
+
* Fix: Underline position for Open Sans font
|
184 |
+
* Fix: Invoice number auto_increment for servers that restarted frequently
|
185 |
+
* Fix: Dompdf log file location (preventing open base_dir notices breaking PDF header)
|
186 |
+
* Fix: 1.6.6 Settings migration duplicates merging
|
187 |
+
* Tweak: Clear fonts folder when manually reinstalling fonts
|
188 |
+
|
189 |
+
= 2.0.5 =
|
190 |
+
* Feature: Remove temporary files (Status tab)
|
191 |
+
* Fix: Page number replacement
|
192 |
+
* Tweak: Fallback functions for MB String extension
|
193 |
+
* Tweak: Improved wpo_wcpdf_check_privs usability for my account privileges
|
194 |
+
* Legacy support: added wc_price alias for format_price method in document
|
195 |
+
|
196 |
+
= 2.0.4 =
|
197 |
+
* Fix: Apply filters for custom invoice number formatting in document too
|
198 |
+
* Fix: Parent fallback for missing dates from refunds
|
199 |
+
|
200 |
+
= 2.0.3 =
|
201 |
+
* Fix: Better support for legacy invoice number filter (`wpo_wcpdf_invoice_number` - replaced by `wpo_wcpdf_formatted_document_number`)
|
202 |
+
* Fix: Document number formatting fallback to order date if no document date available
|
203 |
+
* Fix: Updated classmap: PSR loading didn't work on some installations
|
204 |
+
* Fix: Prevent order notes from all orders showing when document is not loaded properly in filter
|
205 |
+
* Tweak: Disable deprecation notices during email sending
|
206 |
+
* Tweak: ignore outdated language packs
|
207 |
+
|
208 |
+
= 2.0.2 =
|
209 |
+
* Fix: order notes using correct order_id
|
210 |
+
* Fix: WC3.0 deprecation notice for currency
|
211 |
+
* Fix: Avoid crashing on PHP5.2 and older
|
212 |
+
* Fix: Only use PHP MB String when present
|
213 |
+
* Fix: Remote images
|
214 |
+
* Fix: Download option
|
215 |
+
|
216 |
+
= 2.0.1 =
|
217 |
+
* Fix: PHP 5.4 issue
|
218 |
+
|
219 |
+
= 2.0.0 =
|
220 |
+
* New: Better structured & more advanced settings for documents
|
221 |
+
* New: Option to enable & disable Packing Slips or Invoices
|
222 |
+
* New: Invoice number sequence stored separately for improved speed & performance
|
223 |
+
* New: Completely rewritten codebase for more flexibility & better reliability
|
224 |
+
* New: Updated PDF library to DOMPDF 0.8
|
225 |
+
* New: PDF Library made pluggable (by using the `wpo_wcpdf_pdf_maker` filter)
|
226 |
+
* New: lots of new functions & filters to allow developers to hook into the plugin
|
227 |
+
* Changed: **$wpo_wcpdf variable is now deprecated** (legacy mode available & automatically enabled on update)
|
228 |
+
* Fix: Improved PHP 7 & 7.1 support
|
229 |
+
* Fix: Positive prices for refunds
|
230 |
+
* Fix: Use parent for attributes retrieved for product variations
|
231 |
+
* Fix: Set content type to PDF for download
|
232 |
+
|
233 |
+
= 1.6.6 =
|
234 |
+
* Feature: Facilitate downgrading from 2.0 (re-installing fonts & resetting version)
|
235 |
+
* Fix: Update currencies font (added Georgian Lari)
|
236 |
+
* Translations: Added Indonesian
|
237 |
+
|
238 |
+
== Upgrade Notice ==
|
239 |
+
|
240 |
+
= 2.1.5 =
|
241 |
Â
2.0 is a BIG update! Make a full site backup before upgrading!
|
woocommerce-pdf-invoices-packingslips.php
CHANGED
@@ -1,357 +1,357 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Plugin Name: WooCommerce PDF Invoices & Packing Slips
|
4 |
-
* Plugin URI: http://www.wpovernight.com
|
5 |
-
* Description: Create, print & email PDF invoices & packing slips for WooCommerce orders.
|
6 |
-
* Version: 2.1.
|
7 |
-
* Author: Ewout Fernhout
|
8 |
-
* Author URI: http://www.wpovernight.com
|
9 |
-
* License: GPLv2 or later
|
10 |
-
* License URI: http://www.opensource.org/licenses/gpl-license.php
|
11 |
-
* Text Domain: woocommerce-pdf-invoices-packing-slips
|
12 |
-
* WC requires at least: 2.2.0
|
13 |
-
* WC tested up to: 3.3.0
|
14 |
-
*/
|
15 |
-
|
16 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
17 |
-
exit; // Exit if accessed directly
|
18 |
-
}
|
19 |
-
|
20 |
-
if ( !class_exists( 'WPO_WCPDF' ) ) :
|
21 |
-
|
22 |
-
class WPO_WCPDF {
|
23 |
-
|
24 |
-
public $version = '2.1.
|
25 |
-
public $plugin_basename;
|
26 |
-
public $legacy_mode;
|
27 |
-
|
28 |
-
protected static $_instance = null;
|
29 |
-
|
30 |
-
/**
|
31 |
-
* Main Plugin Instance
|
32 |
-
*
|
33 |
-
* Ensures only one instance of plugin is loaded or can be loaded.
|
34 |
-
*/
|
35 |
-
public static function instance() {
|
36 |
-
if ( is_null( self::$_instance ) ) {
|
37 |
-
self::$_instance = new self();
|
38 |
-
}
|
39 |
-
return self::$_instance;
|
40 |
-
}
|
41 |
-
|
42 |
-
/**
|
43 |
-
* Constructor
|
44 |
-
*/
|
45 |
-
public function __construct() {
|
46 |
-
$this->plugin_basename = plugin_basename(__FILE__);
|
47 |
-
|
48 |
-
$this->define( 'WPO_WCPDF_VERSION', $this->version );
|
49 |
-
|
50 |
-
// load the localisation & classes
|
51 |
-
add_action( 'plugins_loaded', array( $this, 'translations' ) );
|
52 |
-
add_filter( 'load_textdomain_mofile', array( $this, 'textdomain_fallback' ), 10, 2 );
|
53 |
-
add_action( 'plugins_loaded', array( $this, 'load_classes' ), 9 );
|
54 |
-
add_action( 'in_plugin_update_message-'.$this->plugin_basename, array( $this, 'in_plugin_update_message' ) );
|
55 |
-
}
|
56 |
-
|
57 |
-
/**
|
58 |
-
* Define constant if not already set
|
59 |
-
* @param string $name
|
60 |
-
* @param string|bool $value
|
61 |
-
*/
|
62 |
-
private function define( $name, $value ) {
|
63 |
-
if ( ! defined( $name ) ) {
|
64 |
-
define( $name, $value );
|
65 |
-
}
|
66 |
-
}
|
67 |
-
|
68 |
-
|
69 |
-
/**
|
70 |
-
* Load the translation / textdomain files
|
71 |
-
*
|
72 |
-
* Note: the first-loaded translation file overrides any following ones if the same translation is present
|
73 |
-
*/
|
74 |
-
public function translations() {
|
75 |
-
$locale = apply_filters( 'plugin_locale', get_locale(), 'woocommerce-pdf-invoices-packing-slips' );
|
76 |
-
$dir = trailingslashit( WP_LANG_DIR );
|
77 |
-
|
78 |
-
$textdomains = array( 'woocommerce-pdf-invoices-packing-slips' );
|
79 |
-
if ( $this->legacy_mode_enabled() === true ) {
|
80 |
-
$textdomains[] = 'wpo_wcpdf';
|
81 |
-
}
|
82 |
-
|
83 |
-
/**
|
84 |
-
* Frontend/global Locale. Looks in:
|
85 |
-
*
|
86 |
-
* - WP_LANG_DIR/woocommerce-pdf-invoices-packing-slips/woocommerce-pdf-invoices-packing-slips-LOCALE.mo
|
87 |
-
* - WP_LANG_DIR/plugins/woocommerce-pdf-invoices-packing-slips-LOCALE.mo
|
88 |
-
* - woocommerce-pdf-invoices-packing-slips-pro/languages/woocommerce-pdf-invoices-packing-slips-LOCALE.mo (which if not found falls back to:)
|
89 |
-
* - WP_LANG_DIR/plugins/woocommerce-pdf-invoices-packing-slips-LOCALE.mo
|
90 |
-
*/
|
91 |
-
foreach ($textdomains as $textdomain) {
|
92 |
-
load_textdomain( $textdomain, $dir . 'woocommerce-pdf-invoices-packing-slips/woocommerce-pdf-invoices-packing-slips-' . $locale . '.mo' );
|
93 |
-
load_textdomain( $textdomain, $dir . 'plugins/woocommerce-pdf-invoices-packing-slips-' . $locale . '.mo' );
|
94 |
-
load_plugin_textdomain( $textdomain, false, dirname( plugin_basename(__FILE__) ) . '/languages' );
|
95 |
-
}
|
96 |
-
}
|
97 |
-
|
98 |
-
/**
|
99 |
-
* Maintain backwards compatibility with old translation files
|
100 |
-
* Uses old .mo file if it exists in any of the override locations
|
101 |
-
*/
|
102 |
-
public function textdomain_fallback( $mofile, $textdomain ) {
|
103 |
-
$plugin_domain = 'woocommerce-pdf-invoices-packing-slips';
|
104 |
-
$old_domain = 'wpo_wcpdf';
|
105 |
-
|
106 |
-
if ($textdomain == $old_domain) {
|
107 |
-
$textdomain = $plugin_domain;
|
108 |
-
$mofile = str_replace( "{$old_domain}-", "{$textdomain}-", $mofile ); // with trailing dash to target file and not folder
|
109 |
-
}
|
110 |
-
|
111 |
-
if ( $textdomain === $plugin_domain ) {
|
112 |
-
$old_mofile = str_replace( "{$textdomain}-", "{$old_domain}-", $mofile ); // with trailing dash to target file and not folder
|
113 |
-
if ( file_exists( $old_mofile ) ) {
|
114 |
-
// we have an old override - use it
|
115 |
-
return $old_mofile;
|
116 |
-
}
|
117 |
-
|
118 |
-
// prevent loading outdated language packs
|
119 |
-
$pofile = str_replace('.mo', '.po', $mofile);
|
120 |
-
if ( file_exists( $pofile ) ) {
|
121 |
-
// load po file
|
122 |
-
$podata = file_get_contents($pofile);
|
123 |
-
// set revision date threshold
|
124 |
-
$block_before = strtotime( '2017-05-15' );
|
125 |
-
// read revision date
|
126 |
-
preg_match('~PO-Revision-Date: (.*?)\\\n~s',$podata,$matches);
|
127 |
-
if (isset($matches[1])) {
|
128 |
-
$revision_date = $matches[1];
|
129 |
-
if ( $revision_timestamp = strtotime($revision_date) ) {
|
130 |
-
// check if revision is before threshold date
|
131 |
-
if ( $revision_timestamp < $block_before ) {
|
132 |
-
// try bundled
|
133 |
-
$bundled_file = $this->plugin_path() . '/languages/'. basename( $mofile );
|
134 |
-
if (file_exists($bundled_file)) {
|
135 |
-
return $bundled_file;
|
136 |
-
} else {
|
137 |
-
return '';
|
138 |
-
}
|
139 |
-
// delete po & mo file if possible
|
140 |
-
// @unlink($pofile);
|
141 |
-
// @unlink($mofile);
|
142 |
-
}
|
143 |
-
}
|
144 |
-
}
|
145 |
-
}
|
146 |
-
}
|
147 |
-
|
148 |
-
return $mofile;
|
149 |
-
}
|
150 |
-
|
151 |
-
/**
|
152 |
-
* Load the main plugin classes and functions
|
153 |
-
*/
|
154 |
-
public function includes() {
|
155 |
-
// WooCommerce compatibility classes
|
156 |
-
include_once( $this->plugin_path() . '/includes/compatibility/abstract-wc-data-compatibility.php' );
|
157 |
-
include_once( $this->plugin_path() . '/includes/compatibility/class-wc-date-compatibility.php' );
|
158 |
-
include_once( $this->plugin_path() . '/includes/compatibility/class-wc-core-compatibility.php' );
|
159 |
-
include_once( $this->plugin_path() . '/includes/compatibility/class-wc-order-compatibility.php' );
|
160 |
-
include_once( $this->plugin_path() . '/includes/compatibility/class-wc-product-compatibility.php' );
|
161 |
-
include_once( $this->plugin_path() . '/includes/compatibility/wc-datetime-functions-compatibility.php' );
|
162 |
-
|
163 |
-
// Third party compatibility
|
164 |
-
include_once( $this->plugin_path() . '/includes/compatibility/class-wcpdf-compatibility-third-party-plugins.php' );
|
165 |
-
|
166 |
-
// Plugin classes
|
167 |
-
include_once( $this->plugin_path() . '/includes/wcpdf-functions.php' );
|
168 |
-
$this->settings = include_once( $this->plugin_path() . '/includes/class-wcpdf-settings.php' );
|
169 |
-
$this->documents = include_once( $this->plugin_path() . '/includes/class-wcpdf-documents.php' );
|
170 |
-
$this->main = include_once( $this->plugin_path() . '/includes/class-wcpdf-main.php' );
|
171 |
-
include_once( $this->plugin_path() . '/includes/class-wcpdf-assets.php' );
|
172 |
-
include_once( $this->plugin_path() . '/includes/class-wcpdf-admin.php' );
|
173 |
-
include_once( $this->plugin_path() . '/includes/class-wcpdf-frontend.php' );
|
174 |
-
include_once( $this->plugin_path() . '/includes/class-wcpdf-install.php' );
|
175 |
-
|
176 |
-
// Backwards compatibility with self
|
177 |
-
include_once( $this->plugin_path() . '/includes/legacy/class-wcpdf-legacy.php' );
|
178 |
-
include_once( $this->plugin_path() . '/includes/legacy/class-wcpdf-legacy-deprecated-hooks.php' );
|
179 |
-
|
180 |
-
// PHP MB String fallback functions
|
181 |
-
include_once( $this->plugin_path() . '/includes/compatibility/mb-string-compatibility.php' );
|
182 |
-
}
|
183 |
-
|
184 |
-
|
185 |
-
/**
|
186 |
-
* Instantiate classes when woocommerce is activated
|
187 |
-
*/
|
188 |
-
public function load_classes() {
|
189 |
-
if ( $this->is_woocommerce_activated() === false ) {
|
190 |
-
add_action( 'admin_notices', array ( $this, 'need_woocommerce' ) );
|
191 |
-
return;
|
192 |
-
}
|
193 |
-
|
194 |
-
if ( version_compare( PHP_VERSION, '5.3', '<' ) ) {
|
195 |
-
add_action( 'admin_notices', array ( $this, 'required_php_version' ) );
|
196 |
-
return;
|
197 |
-
}
|
198 |
-
|
199 |
-
// all systems ready - GO!
|
200 |
-
$this->includes();
|
201 |
-
}
|
202 |
-
|
203 |
-
/**
|
204 |
-
* Check if legacy mode is enabled
|
205 |
-
*/
|
206 |
-
public function legacy_mode_enabled() {
|
207 |
-
if (!isset($this->legacy_mode)) {
|
208 |
-
$debug_settings = get_option( 'wpo_wcpdf_settings_debug' );
|
209 |
-
$this->legacy_mode = isset($debug_settings['legacy_mode']);
|
210 |
-
}
|
211 |
-
return $this->legacy_mode;
|
212 |
-
}
|
213 |
-
|
214 |
-
|
215 |
-
/**
|
216 |
-
* Check if woocommerce is activated
|
217 |
-
*/
|
218 |
-
public function is_woocommerce_activated() {
|
219 |
-
$blog_plugins = get_option( 'active_plugins', array() );
|
220 |
-
$site_plugins = is_multisite() ? (array) maybe_unserialize( get_site_option('active_sitewide_plugins' ) ) : array();
|
221 |
-
|
222 |
-
if ( in_array( 'woocommerce/woocommerce.php', $blog_plugins ) || isset( $site_plugins['woocommerce/woocommerce.php'] ) ) {
|
223 |
-
return true;
|
224 |
-
} else {
|
225 |
-
return false;
|
226 |
-
}
|
227 |
-
}
|
228 |
-
|
229 |
-
/**
|
230 |
-
* WooCommerce not active notice.
|
231 |
-
*
|
232 |
-
* @return string Fallack notice.
|
233 |
-
*/
|
234 |
-
|
235 |
-
public function need_woocommerce() {
|
236 |
-
$error = sprintf( __( 'WooCommerce PDF Invoices & Packing Slips requires %sWooCommerce%s to be installed & activated!' , 'woocommerce-pdf-invoices-packing-slips' ), '<a href="http://wordpress.org/extend/plugins/woocommerce/">', '</a>' );
|
237 |
-
|
238 |
-
$message = '<div class="error"><p>' . $error . '</p></div>';
|
239 |
-
|
240 |
-
echo $message;
|
241 |
-
}
|
242 |
-
|
243 |
-
/**
|
244 |
-
* PHP version requirement notice
|
245 |
-
*/
|
246 |
-
|
247 |
-
public function required_php_version() {
|
248 |
-
$error = __( 'WooCommerce PDF Invoices & Packing Slips requires PHP 5.3 or higher (5.6 or higher recommended).', 'woocommerce-pdf-invoices-packing-slips' );
|
249 |
-
$how_to_update = __( 'How to update your PHP version', 'woocommerce-pdf-invoices-packing-slips' );
|
250 |
-
$message = sprintf('<div class="error"><p>%s</p><p><a href="%s">%s</a></p></div>', $error, 'http://docs.wpovernight.com/general/how-to-update-your-php-version/', $how_to_update);
|
251 |
-
|
252 |
-
echo $message;
|
253 |
-
}
|
254 |
-
|
255 |
-
/**
|
256 |
-
* Show plugin changes. Code adapted from W3 Total Cache.
|
257 |
-
*/
|
258 |
-
public function in_plugin_update_message( $args ) {
|
259 |
-
$transient_name = 'wpo_wcpdf_upgrade_notice_' . $args['Version'];
|
260 |
-
|
261 |
-
if ( false === ( $upgrade_notice = get_transient( $transient_name ) ) ) {
|
262 |
-
$response = wp_safe_remote_get( 'https://plugins.svn.wordpress.org/woocommerce-pdf-invoices-packing-slips/trunk/readme.txt' );
|
263 |
-
|
264 |
-
if ( ! is_wp_error( $response ) && ! empty( $response['body'] ) ) {
|
265 |
-
$upgrade_notice = self::parse_update_notice( $response['body'], $args['new_version'] );
|
266 |
-
set_transient( $transient_name, $upgrade_notice, DAY_IN_SECONDS );
|
267 |
-
}
|
268 |
-
}
|
269 |
-
|
270 |
-
echo wp_kses_post( $upgrade_notice );
|
271 |
-
}
|
272 |
-
|
273 |
-
/**
|
274 |
-
* Parse update notice from readme file.
|
275 |
-
*
|
276 |
-
* @param string $content
|
277 |
-
* @param string $new_version
|
278 |
-
* @return string
|
279 |
-
*/
|
280 |
-
private function parse_update_notice( $content, $new_version ) {
|
281 |
-
// Output Upgrade Notice.
|
282 |
-
$matches = null;
|
283 |
-
$regexp = '~==\s*Upgrade Notice\s*==\s*=\s*(.*)\s*=(.*)(=\s*' . preg_quote( $new_version ) . '\s*=|$)~Uis';
|
284 |
-
$upgrade_notice = '';
|
285 |
-
|
286 |
-
|
287 |
-
if ( preg_match( $regexp, $content, $matches ) ) {
|
288 |
-
$notices = (array) preg_split( '~[\r\n]+~', trim( $matches[2] ) );
|
289 |
-
|
290 |
-
// Convert the full version strings to minor versions.
|
291 |
-
$notice_version_parts = explode( '.', trim( $matches[1] ) );
|
292 |
-
$current_version_parts = explode( '.', $this->version );
|
293 |
-
|
294 |
-
if ( 3 !== sizeof( $notice_version_parts ) ) {
|
295 |
-
return;
|
296 |
-
}
|
297 |
-
|
298 |
-
$notice_version = $notice_version_parts[0] . '.' . $notice_version_parts[1];
|
299 |
-
$current_version = $current_version_parts[0] . '.' . $current_version_parts[1];
|
300 |
-
|
301 |
-
// Check the latest stable version and ignore trunk.
|
302 |
-
if ( version_compare( $current_version, $notice_version, '<' ) ) {
|
303 |
-
|
304 |
-
$upgrade_notice .= '</p><p class="wpo_wcpdf_upgrade_notice">';
|
305 |
-
|
306 |
-
foreach ( $notices as $index => $line ) {
|
307 |
-
$upgrade_notice .= preg_replace( '~\[([^\]]*)\]\(([^\)]*)\)~', '<a href="${2}">${1}</a>', $line );
|
308 |
-
}
|
309 |
-
}
|
310 |
-
}
|
311 |
-
|
312 |
-
return wp_kses_post( $upgrade_notice );
|
313 |
-
}
|
314 |
-
|
315 |
-
/**
|
316 |
-
* Get the plugin url.
|
317 |
-
* @return string
|
318 |
-
*/
|
319 |
-
public function plugin_url() {
|
320 |
-
return untrailingslashit( plugins_url( '/', __FILE__ ) );
|
321 |
-
}
|
322 |
-
|
323 |
-
/**
|
324 |
-
* Get the plugin path.
|
325 |
-
* @return string
|
326 |
-
*/
|
327 |
-
public function plugin_path() {
|
328 |
-
return untrailingslashit( plugin_dir_path( __FILE__ ) );
|
329 |
-
}
|
330 |
-
|
331 |
-
} // class WPO_WCPDF
|
332 |
-
|
333 |
-
endif; // class_exists
|
334 |
-
|
335 |
-
/**
|
336 |
-
* Returns the main instance of WooCommerce PDF Invoices & Packing Slips to prevent the need to use globals.
|
337 |
-
*
|
338 |
-
* @since 1.6
|
339 |
-
* @return WPO_WCPDF
|
340 |
-
*/
|
341 |
-
function WPO_WCPDF() {
|
342 |
-
return WPO_WCPDF::instance();
|
343 |
-
}
|
344 |
-
|
345 |
-
WPO_WCPDF(); // load plugin
|
346 |
-
|
347 |
-
// legacy class for plugin detecting
|
348 |
-
if ( !class_exists( 'WooCommerce_PDF_Invoices' ) ) {
|
349 |
-
class WooCommerce_PDF_Invoices{
|
350 |
-
public static $version;
|
351 |
-
|
352 |
-
public function __construct() {
|
353 |
-
self::$version = WPO_WCPDF()->version;
|
354 |
-
}
|
355 |
-
}
|
356 |
-
new WooCommerce_PDF_Invoices();
|
357 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Name: WooCommerce PDF Invoices & Packing Slips
|
4 |
+
* Plugin URI: http://www.wpovernight.com
|
5 |
+
* Description: Create, print & email PDF invoices & packing slips for WooCommerce orders.
|
6 |
+
* Version: 2.1.5
|
7 |
+
* Author: Ewout Fernhout
|
8 |
+
* Author URI: http://www.wpovernight.com
|
9 |
+
* License: GPLv2 or later
|
10 |
+
* License URI: http://www.opensource.org/licenses/gpl-license.php
|
11 |
+
* Text Domain: woocommerce-pdf-invoices-packing-slips
|
12 |
+
* WC requires at least: 2.2.0
|
13 |
+
* WC tested up to: 3.3.0
|
14 |
+
*/
|
15 |
+
|
16 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
17 |
+
exit; // Exit if accessed directly
|
18 |
+
}
|
19 |
+
|
20 |
+
if ( !class_exists( 'WPO_WCPDF' ) ) :
|
21 |
+
|
22 |
+
class WPO_WCPDF {
|
23 |
+
|
24 |
+
public $version = '2.1.5';
|
25 |
+
public $plugin_basename;
|
26 |
+
public $legacy_mode;
|
27 |
+
|
28 |
+
protected static $_instance = null;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Main Plugin Instance
|
32 |
+
*
|
33 |
+
* Ensures only one instance of plugin is loaded or can be loaded.
|
34 |
+
*/
|
35 |
+
public static function instance() {
|
36 |
+
if ( is_null( self::$_instance ) ) {
|
37 |
+
self::$_instance = new self();
|
38 |
+
}
|
39 |
+
return self::$_instance;
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Constructor
|
44 |
+
*/
|
45 |
+
public function __construct() {
|
46 |
+
$this->plugin_basename = plugin_basename(__FILE__);
|
47 |
+
|
48 |
+
$this->define( 'WPO_WCPDF_VERSION', $this->version );
|
49 |
+
|
50 |
+
// load the localisation & classes
|
51 |
+
add_action( 'plugins_loaded', array( $this, 'translations' ) );
|
52 |
+
add_filter( 'load_textdomain_mofile', array( $this, 'textdomain_fallback' ), 10, 2 );
|
53 |
+
add_action( 'plugins_loaded', array( $this, 'load_classes' ), 9 );
|
54 |
+
add_action( 'in_plugin_update_message-'.$this->plugin_basename, array( $this, 'in_plugin_update_message' ) );
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Define constant if not already set
|
59 |
+
* @param string $name
|
60 |
+
* @param string|bool $value
|
61 |
+
*/
|
62 |
+
private function define( $name, $value ) {
|
63 |
+
if ( ! defined( $name ) ) {
|
64 |
+
define( $name, $value );
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Load the translation / textdomain files
|
71 |
+
*
|
72 |
+
* Note: the first-loaded translation file overrides any following ones if the same translation is present
|
73 |
+
*/
|
74 |
+
public function translations() {
|
75 |
+
$locale = apply_filters( 'plugin_locale', get_locale(), 'woocommerce-pdf-invoices-packing-slips' );
|
76 |
+
$dir = trailingslashit( WP_LANG_DIR );
|
77 |
+
|
78 |
+
$textdomains = array( 'woocommerce-pdf-invoices-packing-slips' );
|
79 |
+
if ( $this->legacy_mode_enabled() === true ) {
|
80 |
+
$textdomains[] = 'wpo_wcpdf';
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Frontend/global Locale. Looks in:
|
85 |
+
*
|
86 |
+
* - WP_LANG_DIR/woocommerce-pdf-invoices-packing-slips/woocommerce-pdf-invoices-packing-slips-LOCALE.mo
|
87 |
+
* - WP_LANG_DIR/plugins/woocommerce-pdf-invoices-packing-slips-LOCALE.mo
|
88 |
+
* - woocommerce-pdf-invoices-packing-slips-pro/languages/woocommerce-pdf-invoices-packing-slips-LOCALE.mo (which if not found falls back to:)
|
89 |
+
* - WP_LANG_DIR/plugins/woocommerce-pdf-invoices-packing-slips-LOCALE.mo
|
90 |
+
*/
|
91 |
+
foreach ($textdomains as $textdomain) {
|
92 |
+
load_textdomain( $textdomain, $dir . 'woocommerce-pdf-invoices-packing-slips/woocommerce-pdf-invoices-packing-slips-' . $locale . '.mo' );
|
93 |
+
load_textdomain( $textdomain, $dir . 'plugins/woocommerce-pdf-invoices-packing-slips-' . $locale . '.mo' );
|
94 |
+
load_plugin_textdomain( $textdomain, false, dirname( plugin_basename(__FILE__) ) . '/languages' );
|
95 |
+
}
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Maintain backwards compatibility with old translation files
|
100 |
+
* Uses old .mo file if it exists in any of the override locations
|
101 |
+
*/
|
102 |
+
public function textdomain_fallback( $mofile, $textdomain ) {
|
103 |
+
$plugin_domain = 'woocommerce-pdf-invoices-packing-slips';
|
104 |
+
$old_domain = 'wpo_wcpdf';
|
105 |
+
|
106 |
+
if ($textdomain == $old_domain) {
|
107 |
+
$textdomain = $plugin_domain;
|
108 |
+
$mofile = str_replace( "{$old_domain}-", "{$textdomain}-", $mofile ); // with trailing dash to target file and not folder
|
109 |
+
}
|
110 |
+
|
111 |
+
if ( $textdomain === $plugin_domain ) {
|
112 |
+
$old_mofile = str_replace( "{$textdomain}-", "{$old_domain}-", $mofile ); // with trailing dash to target file and not folder
|
113 |
+
if ( file_exists( $old_mofile ) ) {
|
114 |
+
// we have an old override - use it
|
115 |
+
return $old_mofile;
|
116 |
+
}
|
117 |
+
|
118 |
+
// prevent loading outdated language packs
|
119 |
+
$pofile = str_replace('.mo', '.po', $mofile);
|
120 |
+
if ( file_exists( $pofile ) ) {
|
121 |
+
// load po file
|
122 |
+
$podata = file_get_contents($pofile);
|
123 |
+
// set revision date threshold
|
124 |
+
$block_before = strtotime( '2017-05-15' );
|
125 |
+
// read revision date
|
126 |
+
preg_match('~PO-Revision-Date: (.*?)\\\n~s',$podata,$matches);
|
127 |
+
if (isset($matches[1])) {
|
128 |
+
$revision_date = $matches[1];
|
129 |
+
if ( $revision_timestamp = strtotime($revision_date) ) {
|
130 |
+
// check if revision is before threshold date
|
131 |
+
if ( $revision_timestamp < $block_before ) {
|
132 |
+
// try bundled
|
133 |
+
$bundled_file = $this->plugin_path() . '/languages/'. basename( $mofile );
|
134 |
+
if (file_exists($bundled_file)) {
|
135 |
+
return $bundled_file;
|
136 |
+
} else {
|
137 |
+
return '';
|
138 |
+
}
|
139 |
+
// delete po & mo file if possible
|
140 |
+
// @unlink($pofile);
|
141 |
+
// @unlink($mofile);
|
142 |
+
}
|
143 |
+
}
|
144 |
+
}
|
145 |
+
}
|
146 |
+
}
|
147 |
+
|
148 |
+
return $mofile;
|
149 |
+
}
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Load the main plugin classes and functions
|
153 |
+
*/
|
154 |
+
public function includes() {
|
155 |
+
// WooCommerce compatibility classes
|
156 |
+
include_once( $this->plugin_path() . '/includes/compatibility/abstract-wc-data-compatibility.php' );
|
157 |
+
include_once( $this->plugin_path() . '/includes/compatibility/class-wc-date-compatibility.php' );
|
158 |
+
include_once( $this->plugin_path() . '/includes/compatibility/class-wc-core-compatibility.php' );
|
159 |
+
include_once( $this->plugin_path() . '/includes/compatibility/class-wc-order-compatibility.php' );
|
160 |
+
include_once( $this->plugin_path() . '/includes/compatibility/class-wc-product-compatibility.php' );
|
161 |
+
include_once( $this->plugin_path() . '/includes/compatibility/wc-datetime-functions-compatibility.php' );
|
162 |
+
|
163 |
+
// Third party compatibility
|
164 |
+
include_once( $this->plugin_path() . '/includes/compatibility/class-wcpdf-compatibility-third-party-plugins.php' );
|
165 |
+
|
166 |
+
// Plugin classes
|
167 |
+
include_once( $this->plugin_path() . '/includes/wcpdf-functions.php' );
|
168 |
+
$this->settings = include_once( $this->plugin_path() . '/includes/class-wcpdf-settings.php' );
|
169 |
+
$this->documents = include_once( $this->plugin_path() . '/includes/class-wcpdf-documents.php' );
|
170 |
+
$this->main = include_once( $this->plugin_path() . '/includes/class-wcpdf-main.php' );
|
171 |
+
include_once( $this->plugin_path() . '/includes/class-wcpdf-assets.php' );
|
172 |
+
include_once( $this->plugin_path() . '/includes/class-wcpdf-admin.php' );
|
173 |
+
include_once( $this->plugin_path() . '/includes/class-wcpdf-frontend.php' );
|
174 |
+
include_once( $this->plugin_path() . '/includes/class-wcpdf-install.php' );
|
175 |
+
|
176 |
+
// Backwards compatibility with self
|
177 |
+
include_once( $this->plugin_path() . '/includes/legacy/class-wcpdf-legacy.php' );
|
178 |
+
include_once( $this->plugin_path() . '/includes/legacy/class-wcpdf-legacy-deprecated-hooks.php' );
|
179 |
+
|
180 |
+
// PHP MB String fallback functions
|
181 |
+
include_once( $this->plugin_path() . '/includes/compatibility/mb-string-compatibility.php' );
|
182 |
+
}
|
183 |
+
|
184 |
+
|
185 |
+
/**
|
186 |
+
* Instantiate classes when woocommerce is activated
|
187 |
+
*/
|
188 |
+
public function load_classes() {
|
189 |
+
if ( $this->is_woocommerce_activated() === false ) {
|
190 |
+
add_action( 'admin_notices', array ( $this, 'need_woocommerce' ) );
|
191 |
+
return;
|
192 |
+
}
|
193 |
+
|
194 |
+
if ( version_compare( PHP_VERSION, '5.3', '<' ) ) {
|
195 |
+
add_action( 'admin_notices', array ( $this, 'required_php_version' ) );
|
196 |
+
return;
|
197 |
+
}
|
198 |
+
|
199 |
+
// all systems ready - GO!
|
200 |
+
$this->includes();
|
201 |
+
}
|
202 |
+
|
203 |
+
/**
|
204 |
+
* Check if legacy mode is enabled
|
205 |
+
*/
|
206 |
+
public function legacy_mode_enabled() {
|
207 |
+
if (!isset($this->legacy_mode)) {
|
208 |
+
$debug_settings = get_option( 'wpo_wcpdf_settings_debug' );
|
209 |
+
$this->legacy_mode = isset($debug_settings['legacy_mode']);
|
210 |
+
}
|
211 |
+
return $this->legacy_mode;
|
212 |
+
}
|
213 |
+
|
214 |
+
|
215 |
+
/**
|
216 |
+
* Check if woocommerce is activated
|
217 |
+
*/
|
218 |
+
public function is_woocommerce_activated() {
|
219 |
+
$blog_plugins = get_option( 'active_plugins', array() );
|
220 |
+
$site_plugins = is_multisite() ? (array) maybe_unserialize( get_site_option('active_sitewide_plugins' ) ) : array();
|
221 |
+
|
222 |
+
if ( in_array( 'woocommerce/woocommerce.php', $blog_plugins ) || isset( $site_plugins['woocommerce/woocommerce.php'] ) ) {
|
223 |
+
return true;
|
224 |
+
} else {
|
225 |
+
return false;
|
226 |
+
}
|
227 |
+
}
|
228 |
+
|
229 |
+
/**
|
230 |
+
* WooCommerce not active notice.
|
231 |
+
*
|
232 |
+
* @return string Fallack notice.
|
233 |
+
*/
|
234 |
+
|
235 |
+
public function need_woocommerce() {
|
236 |
+
$error = sprintf( __( 'WooCommerce PDF Invoices & Packing Slips requires %sWooCommerce%s to be installed & activated!' , 'woocommerce-pdf-invoices-packing-slips' ), '<a href="http://wordpress.org/extend/plugins/woocommerce/">', '</a>' );
|
237 |
+
|
238 |
+
$message = '<div class="error"><p>' . $error . '</p></div>';
|
239 |
+
|
240 |
+
echo $message;
|
241 |
+
}
|
242 |
+
|
243 |
+
/**
|
244 |
+
* PHP version requirement notice
|
245 |
+
*/
|
246 |
+
|
247 |
+
public function required_php_version() {
|
248 |
+
$error = __( 'WooCommerce PDF Invoices & Packing Slips requires PHP 5.3 or higher (5.6 or higher recommended).', 'woocommerce-pdf-invoices-packing-slips' );
|
249 |
+
$how_to_update = __( 'How to update your PHP version', 'woocommerce-pdf-invoices-packing-slips' );
|
250 |
+
$message = sprintf('<div class="error"><p>%s</p><p><a href="%s">%s</a></p></div>', $error, 'http://docs.wpovernight.com/general/how-to-update-your-php-version/', $how_to_update);
|
251 |
+
|
252 |
+
echo $message;
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Show plugin changes. Code adapted from W3 Total Cache.
|
257 |
+
*/
|
258 |
+
public function in_plugin_update_message( $args ) {
|
259 |
+
$transient_name = 'wpo_wcpdf_upgrade_notice_' . $args['Version'];
|
260 |
+
|
261 |
+
if ( false === ( $upgrade_notice = get_transient( $transient_name ) ) ) {
|
262 |
+
$response = wp_safe_remote_get( 'https://plugins.svn.wordpress.org/woocommerce-pdf-invoices-packing-slips/trunk/readme.txt' );
|
263 |
+
|
264 |
+
if ( ! is_wp_error( $response ) && ! empty( $response['body'] ) ) {
|
265 |
+
$upgrade_notice = self::parse_update_notice( $response['body'], $args['new_version'] );
|
266 |
+
set_transient( $transient_name, $upgrade_notice, DAY_IN_SECONDS );
|
267 |
+
}
|
268 |
+
}
|
269 |
+
|
270 |
+
echo wp_kses_post( $upgrade_notice );
|
271 |
+
}
|
272 |
+
|
273 |
+
/**
|
274 |
+
* Parse update notice from readme file.
|
275 |
+
*
|
276 |
+
* @param string $content
|
277 |
+
* @param string $new_version
|
278 |
+
* @return string
|
279 |
+
*/
|
280 |
+
private function parse_update_notice( $content, $new_version ) {
|
281 |
+
// Output Upgrade Notice.
|
282 |
+
$matches = null;
|
283 |
+
$regexp = '~==\s*Upgrade Notice\s*==\s*=\s*(.*)\s*=(.*)(=\s*' . preg_quote( $new_version ) . '\s*=|$)~Uis';
|
284 |
+
$upgrade_notice = '';
|
285 |
+
|
286 |
+
|
287 |
+
if ( preg_match( $regexp, $content, $matches ) ) {
|
288 |
+
$notices = (array) preg_split( '~[\r\n]+~', trim( $matches[2] ) );
|
289 |
+
|
290 |
+
// Convert the full version strings to minor versions.
|
291 |
+
$notice_version_parts = explode( '.', trim( $matches[1] ) );
|
292 |
+
$current_version_parts = explode( '.', $this->version );
|
293 |
+
|
294 |
+
if ( 3 !== sizeof( $notice_version_parts ) ) {
|
295 |
+
return;
|
296 |
+
}
|
297 |
+
|
298 |
+
$notice_version = $notice_version_parts[0] . '.' . $notice_version_parts[1];
|
299 |
+
$current_version = $current_version_parts[0] . '.' . $current_version_parts[1];
|
300 |
+
|
301 |
+
// Check the latest stable version and ignore trunk.
|
302 |
+
if ( version_compare( $current_version, $notice_version, '<' ) ) {
|
303 |
+
|
304 |
+
$upgrade_notice .= '</p><p class="wpo_wcpdf_upgrade_notice">';
|
305 |
+
|
306 |
+
foreach ( $notices as $index => $line ) {
|
307 |
+
$upgrade_notice .= preg_replace( '~\[([^\]]*)\]\(([^\)]*)\)~', '<a href="${2}">${1}</a>', $line );
|
308 |
+
}
|
309 |
+
}
|
310 |
+
}
|
311 |
+
|
312 |
+
return wp_kses_post( $upgrade_notice );
|
313 |
+
}
|
314 |
+
|
315 |
+
/**
|
316 |
+
* Get the plugin url.
|
317 |
+
* @return string
|
318 |
+
*/
|
319 |
+
public function plugin_url() {
|
320 |
+
return untrailingslashit( plugins_url( '/', __FILE__ ) );
|
321 |
+
}
|
322 |
+
|
323 |
+
/**
|
324 |
+
* Get the plugin path.
|
325 |
+
* @return string
|
326 |
+
*/
|
327 |
+
public function plugin_path() {
|
328 |
+
return untrailingslashit( plugin_dir_path( __FILE__ ) );
|
329 |
+
}
|
330 |
+
|
331 |
+
} // class WPO_WCPDF
|
332 |
+
|
333 |
+
endif; // class_exists
|
334 |
+
|
335 |
+
/**
|
336 |
+
* Returns the main instance of WooCommerce PDF Invoices & Packing Slips to prevent the need to use globals.
|
337 |
+
*
|
338 |
+
* @since 1.6
|
339 |
+
* @return WPO_WCPDF
|
340 |
+
*/
|
341 |
+
function WPO_WCPDF() {
|
342 |
+
return WPO_WCPDF::instance();
|
343 |
+
}
|
344 |
+
|
345 |
+
WPO_WCPDF(); // load plugin
|
346 |
+
|
347 |
+
// legacy class for plugin detecting
|
348 |
+
if ( !class_exists( 'WooCommerce_PDF_Invoices' ) ) {
|
349 |
+
class WooCommerce_PDF_Invoices{
|
350 |
+
public static $version;
|
351 |
+
|
352 |
+
public function __construct() {
|
353 |
+
self::$version = WPO_WCPDF()->version;
|
354 |
+
}
|
355 |
+
}
|
356 |
+
new WooCommerce_PDF_Invoices();
|
357 |
+
}
|