Changeset 3697413
- Timestamp:
- 09/15/2026 04:52:19 PM (5 weeks ago)
- Location:
- woo-postnl/trunk
- Files:
-
- 5 added
- 8 deleted
- 16 edited
-
.npmrc (deleted)
-
.wp-env.json (deleted)
-
AGENTS.md (deleted)
-
CLAUDE.md (deleted)
-
assets/js/admin-settings.js (modified) (2 diffs)
-
assets/js/new-api-key-banner.js (added)
-
docs (deleted)
-
languages/postnl-for-woocommerce-nl_NL.mo (modified) ( previous)
-
languages/postnl-for-woocommerce-nl_NL.po (modified) (16 diffs)
-
languages/postnl-for-woocommerce.pot (modified) (14 diffs)
-
phpunit-integration.xml.dist (deleted)
-
phpunit-unit.xml.dist (deleted)
-
postnl-for-woocommerce.php (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
-
src/Admin (added)
-
src/Admin/Api_Key_Banner.php (added)
-
src/Admin/Api_Key_Check.php (added)
-
src/Main.php (modified) (2 diffs)
-
src/Rest_API/Barcode/Key_Validator.php (added)
-
src/Rest_API/Base.php (modified) (2 diffs)
-
src/Rest_API/Service_Factory.php (modified) (7 diffs)
-
src/Shipping_Method/PostNL.php (modified) (4 diffs)
-
src/Shipping_Method/Settings.php (modified) (5 diffs)
-
vendor/autoload.php (modified) (1 diff)
-
vendor/composer/autoload_classmap.php (modified) (2 diffs)
-
vendor/composer/autoload_real.php (modified) (2 diffs)
-
vendor/composer/autoload_static.php (modified) (4 diffs)
-
vendor/composer/installed.php (modified) (2 diffs)
-
vendor/myparcelnl (deleted)
Legend:
- Unmodified
- Added
- Removed
-
woo-postnl/trunk/assets/js/admin-settings.js
r3584070 r3697413 18 18 jQuery( '#woocommerce_postnl_enable_pickup_points' ).on( 'change', this.toggle_default_checkout_tab ); 19 19 this.toggle_default_checkout_tab(); 20 this.init_new_api_key_check(); 21 }, 22 23 // Memoised check results, keyed by environment + key + customer details, so 24 // re-blurring the same values does not spend another barcode. 25 newApiKeyCheckCache: {}, 26 27 // The in-flight check request, aborted when a fresh blur supersedes it. 28 newApiKeyCheckXhr: null, 29 30 /** 31 * Check the "API Key" field against PostNL when the merchant leaves it, so 32 * the status row is right while they are still typing rather than only after 33 * a save. Empty and same-as-old keys are decided here without a call. 34 */ 35 init_new_api_key_check: function() { 36 if ( typeof postnlApiKeyCheck === 'undefined' ) { 37 return; 38 } 39 40 var self = this; 41 jQuery( '#woocommerce_postnl_api_keys_new, #woocommerce_postnl_api_keys_sandbox_new' ).on( 'blur', function() { 42 self.check_new_api_key( jQuery( this ) ); 43 } ); 44 }, 45 46 check_new_api_key: function( $field ) { 47 var isSandbox = $field.attr( 'id' ).indexOf( 'sandbox' ) !== -1; 48 var env = isSandbox ? 'sandbox' : 'production'; 49 var $row = jQuery( '.postnl-new-key-status-row[data-postnl-env="' + env + '"]' ); 50 var key = jQuery.trim( $field.val() ); 51 var oldField = isSandbox ? '#woocommerce_postnl_api_keys_sandbox' : '#woocommerce_postnl_api_keys'; 52 var oldKey = jQuery.trim( jQuery( oldField ).val() || '' ); 53 // The value the field was rendered with, i.e. the saved key. Blurring 54 // it unchanged must not fire a check — the row already shows its state. 55 var savedKey = jQuery.trim( $field.prop( 'defaultValue' ) || '' ); 56 57 // Nothing distinct or unsaved to check: leave the row as rendered. 58 if ( '' === key || key === oldKey || key === savedKey ) { 59 return; 60 } 61 62 var code = jQuery( '#woocommerce_postnl_customer_code' ).val() || ''; 63 var num = jQuery( '#woocommerce_postnl_customer_num' ).val() || ''; 64 var cacheKey = [ env, key, code, num ].join( '|' ); 65 66 if ( this.newApiKeyCheckCache[ cacheKey ] ) { 67 this.render_new_api_key_status( $row, this.newApiKeyCheckCache[ cacheKey ] ); 68 return; 69 } 70 71 if ( this.newApiKeyCheckXhr ) { 72 this.newApiKeyCheckXhr.abort(); 73 } 74 75 var self = this; 76 this.newApiKeyCheckXhr = jQuery.post( 77 postnlApiKeyCheck.ajaxUrl, 78 { 79 action: postnlApiKeyCheck.action, 80 nonce: postnlApiKeyCheck.nonce, 81 environment: env, 82 api_key: key, 83 customer_code: code, 84 customer_num: num 85 } 86 ).done( function( response ) { 87 if ( response && response.success && response.data ) { 88 self.newApiKeyCheckCache[ cacheKey ] = response.data; 89 self.render_new_api_key_status( $row, response.data ); 90 } 91 } ); 92 }, 93 94 render_new_api_key_status: function( $row, data ) { 95 $row.find( '.postnl-new-key-status-label' ).css( 'color', data.color ).text( data.label ); 96 $row.find( '.postnl-new-key-status-summary' ).text( data.summary ); 97 98 var $desc = $row.find( '.postnl-new-key-status-desc' ); 99 if ( data.description ) { 100 $desc.html( data.description ).show(); 101 } else { 102 $desc.empty().hide(); 103 } 20 104 }, 21 105 … … 49 133 display_api_key_field: function() { 50 134 var value = jQuery( '#woocommerce_postnl_environment_mode' ).val(); 135 var productionRows = jQuery( '#woocommerce_postnl_api_keys' ).closest( 'tr' ) 136 .add( jQuery( '#woocommerce_postnl_api_keys_new' ).closest( 'tr' ) ) 137 .add( jQuery( '.postnl-new-key-status-row[data-postnl-env="production"]' ) ); 138 var sandboxRows = jQuery( '#woocommerce_postnl_api_keys_sandbox' ).closest( 'tr' ) 139 .add( jQuery( '#woocommerce_postnl_api_keys_sandbox_new' ).closest( 'tr' ) ) 140 .add( jQuery( '.postnl-new-key-status-row[data-postnl-env="sandbox"]' ) ); 141 51 142 if ( 'production' === value ) { 52 jQuery('#woocommerce_postnl_api_keys').closest('tr').show();53 jQuery('#woocommerce_postnl_api_keys_sandbox').closest('tr').hide();143 productionRows.show(); 144 sandboxRows.hide(); 54 145 } else { 55 jQuery('#woocommerce_postnl_api_keys').closest('tr').hide();56 jQuery('#woocommerce_postnl_api_keys_sandbox').closest('tr').show();146 productionRows.hide(); 147 sandboxRows.show(); 57 148 } 58 149 }, -
woo-postnl/trunk/languages/postnl-for-woocommerce-nl_NL.po
r3673827 r3697413 1 1 msgid "" 2 2 msgstr "" 3 "Project-Id-Version: PostNL for WooCommerce 5.9.1 1\n"3 "Project-Id-Version: PostNL for WooCommerce 5.9.12\n" 4 4 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/postnl-for-woocommerce\n" 5 5 "Last-Translator: \n" … … 101 101 #: src/Frontend/Checkout_Fields.php:102 102 102 #: src/Frontend/Checkout_Fields.php:103 103 #: src/Shipping_Method/Settings.php:2 47103 #: src/Shipping_Method/Settings.php:276 104 104 msgid "House Number Extension" 105 105 msgstr "Huisnummer toevoeging" … … 129 129 130 130 #: src/Frontend/Delivery_Day.php:115 131 #: src/Shipping_Method/Settings.php:3 41131 #: src/Shipping_Method/Settings.php:370 132 132 #: build/postnl-container-frontend.js:1 133 133 #: client/checkout/postnl-container/block.js:282 … … 177 177 178 178 #: src/Helper/Mapping.php:32 179 #: src/Shipping_Method/Settings.php: 372179 #: src/Shipping_Method/Settings.php:401 180 180 msgid "Morning Delivery" 181 181 msgstr "Ochtend Bezorging" … … 186 186 187 187 #: src/Helper/Mapping.php:34 188 #: src/Shipping_Method/Settings.php: 390188 #: src/Shipping_Method/Settings.php:419 189 189 msgid "Evening Delivery" 190 190 msgstr "Avondbezorging" … … 195 195 196 196 #: src/Helper/Mapping.php:42 197 #: src/Shipping_Method/Settings.php:6 42197 #: src/Shipping_Method/Settings.php:671 198 198 #: src/Utils.php:622 199 199 msgid "Standard Shipment Belgium" … … 221 221 msgstr "België binnenland" 222 222 223 #: src/Main.php: 396223 #: src/Main.php:401 224 224 msgid "PostNL plugin requires WooCommerce to be installed and activated!" 225 225 msgstr "De PostNL plugin vereist het installeren en activeren van WooCommerce!" 226 226 227 #: src/Main.php:4 09227 #: src/Main.php:414 228 228 msgid "PostNL plugin requires store country to be Netherlands (NL) or Belgium (BE)!" 229 229 msgstr "De PostNL plugin vereist een winkellocatie in Nederland of België!" 230 230 231 #: src/Main.php:4 87231 #: src/Main.php:492 232 232 msgid "Postnl Checkout Blocks" 233 233 msgstr "" 234 234 235 #: src/Main.php:5 06235 #: src/Main.php:511 236 236 msgid "Leave a review" 237 237 msgstr "Laat een beoordeling achter" 238 238 239 #: src/Main.php:5 26239 #: src/Main.php:531 240 240 msgid "Settings" 241 241 msgstr "" … … 418 418 419 419 #: src/Order/Bulk.php:534 420 #: src/Shipping_Method/Settings.php:6 11420 #: src/Shipping_Method/Settings.php:640 421 421 msgid "Shipping options domestic" 422 422 msgstr "Verzendopties binnenland" 423 423 424 424 #: src/Order/Bulk.php:552 425 #: src/Shipping_Method/Settings.php:6 54425 #: src/Shipping_Method/Settings.php:683 426 426 msgid "Shipping options EU" 427 427 msgstr "Verzendopties EU" … … 684 684 msgstr "Klantnummer is leeg!" 685 685 686 #: src/Rest_API/Base.php:27 3687 #: src/Rest_API/Base.php:28 2688 #: src/Rest_API/Base.php:29 0686 #: src/Rest_API/Base.php:278 687 #: src/Rest_API/Base.php:287 688 #: src/Rest_API/Base.php:295 689 689 msgid "Unknown error!" 690 690 msgstr "Onbekende fout!" … … 883 883 884 884 #: src/Shipping_Method/Fill_In_With_PostNL_Settings.php:67 885 #: src/Shipping_Method/Settings.php:1 15886 #: src/Shipping_Method/Settings.php: 187887 #: src/Shipping_Method/Settings.php:3 07888 #: src/Shipping_Method/Settings.php:3 43889 #: src/Shipping_Method/Settings.php: 374890 #: src/Shipping_Method/Settings.php: 392891 #: src/Shipping_Method/Settings.php: 476892 #: src/Shipping_Method/Settings.php: 484885 #: src/Shipping_Method/Settings.php:144 886 #: src/Shipping_Method/Settings.php:216 887 #: src/Shipping_Method/Settings.php:336 888 #: src/Shipping_Method/Settings.php:372 889 #: src/Shipping_Method/Settings.php:403 890 #: src/Shipping_Method/Settings.php:421 891 #: src/Shipping_Method/Settings.php:505 892 #: src/Shipping_Method/Settings.php:513 893 893 msgid "Enable" 894 894 msgstr "Activeer" … … 1044 1044 1045 1045 #. translators: %1$s & %2$s is replaced with <a> tag. 1046 #: src/Shipping_Method/PostNL.php: 391046 #: src/Shipping_Method/PostNL.php:40 1047 1047 #, php-format 1048 1048 msgid "Below you will find all functions for controlling, preparing and processing your shipment with PostNL. Prerequisite is a valid PostNL business customer contract. If you are not yet a PostNL business customer, you can request a quote %1$shere%2$s." … … 1050 1050 1051 1051 #. Translators: %s is the currency symbol. 1052 #: src/Shipping_Method/PostNL.php: 1171052 #: src/Shipping_Method/PostNL.php:218 1053 1053 #, php-format 1054 1054 msgid "Free shipping from %s" 1055 1055 msgstr "Gratis verzenden vanaf %s" 1056 1056 1057 #: src/Shipping_Method/PostNL.php: 1191057 #: src/Shipping_Method/PostNL.php:220 1058 1058 msgid "Keep empty if you don’t want to use Free shipping" 1059 1059 msgstr "Laat leeg in als je geen gebruik wil maken van Gratis verzenden" 1060 1060 1061 #: src/Shipping_Method/PostNL.php: 1861061 #: src/Shipping_Method/PostNL.php:297 1062 1062 msgid "Country" 1063 1063 msgstr "Land" 1064 1064 1065 #: src/Shipping_Method/PostNL.php: 1891065 #: src/Shipping_Method/PostNL.php:300 1066 1066 msgid "Merchant Code" 1067 1067 msgstr "Verkoperscode" 1068 1068 1069 #: src/Shipping_Method/PostNL.php: 1921069 #: src/Shipping_Method/PostNL.php:303 1070 1070 msgid "Action" 1071 1071 msgstr "Actie" 1072 1072 1073 #: src/Shipping_Method/PostNL.php: 2031074 #: src/Shipping_Method/PostNL.php: 2431073 #: src/Shipping_Method/PostNL.php:314 1074 #: src/Shipping_Method/PostNL.php:354 1075 1075 msgid "Select Country" 1076 1076 msgstr "Selecteer land" 1077 1077 1078 #: src/Shipping_Method/PostNL.php: 2151079 #: src/Shipping_Method/PostNL.php: 2551078 #: src/Shipping_Method/PostNL.php:326 1079 #: src/Shipping_Method/PostNL.php:366 1080 1080 msgid "Enter merchant code" 1081 1081 msgstr "Voer de verkoperscode in" 1082 1082 1083 #: src/Shipping_Method/PostNL.php: 2201084 #: src/Shipping_Method/PostNL.php: 2601083 #: src/Shipping_Method/PostNL.php:331 1084 #: src/Shipping_Method/PostNL.php:371 1085 1085 msgid "Remove" 1086 1086 msgstr "Verwijderen" 1087 1087 1088 #: src/Shipping_Method/PostNL.php: 2291088 #: src/Shipping_Method/PostNL.php:340 1089 1089 msgid "Add Merchant Code" 1090 1090 msgstr "Verkoperscode toevoegen" 1091 1091 1092 #: src/Shipping_Method/PostNL.php: 2911092 #: src/Shipping_Method/PostNL.php:402 1093 1093 msgid "Duplicate countries found and have been removed. Only the last entry for each country will be saved." 1094 1094 msgstr "" 1095 1095 1096 #: src/Shipping_Method/PostNL.php: 3101096 #: src/Shipping_Method/PostNL.php:421 1097 1097 msgid "Some merchant codes were not saved because of missing country or code." 1098 1098 msgstr "" 1099 1099 1100 #: src/Shipping_Method/Settings.php:6 31100 #: src/Shipping_Method/Settings.php:64 1101 1101 msgid "Manual" 1102 1102 msgstr "Handleiding" 1103 1103 1104 1104 #. translators: %1$s & %2$s is replaced with <a> tag. 1105 #: src/Shipping_Method/Settings.php:6 61105 #: src/Shipping_Method/Settings.php:67 1106 1106 #, php-format 1107 1107 msgid "Consult the %1$smanual%2$s for help installing the plug-in." 1108 1108 msgstr "Raadpleeg de %1$shandleiding%2$s voor hulp bij het installeren van de plug-in." 1109 1109 1110 #: src/Shipping_Method/Settings.php:7 01110 #: src/Shipping_Method/Settings.php:71 1111 1111 msgid "Account Settings" 1112 1112 msgstr "Account Instellingen" 1113 1113 1114 1114 #. translators: %1$s & %2$s is replaced with <a> tag. 1115 #: src/Shipping_Method/Settings.php:7 31115 #: src/Shipping_Method/Settings.php:74 1116 1116 #, php-format 1117 1117 msgid "Please configure your shipping parameters and your access towards the PostNL APIs by means of authentication. You can find the details of your PostNL account in Mijn %1$sPostNL%2$s under \"My Account > API beheren\"." 1118 1118 msgstr "Vul hier je klant gegevens in om de plug-in te koppelen aan jouw PostNL account. Jouw klantgegevens kan je vinden in de Mijn %1$sPostNL%2$s omgeving onder “Mijn Account > API beheren”." 1119 1119 1120 #: src/Shipping_Method/Settings.php:7 61120 #: src/Shipping_Method/Settings.php:77 1121 1121 msgid "Environment Mode" 1122 1122 msgstr "Modus omgeving" 1123 1123 1124 #: src/Shipping_Method/Settings.php:7 81124 #: src/Shipping_Method/Settings.php:79 1125 1125 msgid "Choose the environment mode." 1126 1126 msgstr "Kies de modus van de omgeving." 1127 1127 1128 #: src/Shipping_Method/Settings.php:8 11128 #: src/Shipping_Method/Settings.php:82 1129 1129 msgid "Production" 1130 1130 msgstr "Productie" 1131 1131 1132 #: src/Shipping_Method/Settings.php:8 21132 #: src/Shipping_Method/Settings.php:83 1133 1133 msgid "Sandbox" 1134 1134 msgstr "Sandbox" 1135 1135 1136 #: src/Shipping_Method/Settings.php:89 1137 msgid "Production API Key" 1138 msgstr "Productie API Key" 1139 1140 #. translators: %1$s & %2$s is replaced with <a> tag. 1141 #: src/Shipping_Method/Settings.php:92 1142 #, php-format 1143 msgid "Insert your PostNL production API-key. You can find your API-key on Mijn %1$sPostNL%2$s under \"My Account\"." 1144 msgstr "Voer jouw PostNL productie API-key in. Jouw productie en sandbox API-key is te vinden op Mijn %1$sPostNL%2$s onder “My Account”." 1145 1146 #: src/Shipping_Method/Settings.php:98 1136 #: src/Shipping_Method/Settings.php:124 1147 1137 msgid "Sandbox API Key" 1148 1138 msgstr "Sandbox API Key" 1149 1139 1150 #. translators: %1$s & %2$s is replaced with <a> tag. 1151 #: src/Shipping_Method/Settings.php:101 1152 #, php-format 1153 msgid "Insert your PostNL staging API-key. You can find your API-key on Mijn %1$sPostNL%2$s under \"My Account\"." 1154 msgstr "Voer jouw PostNL sandbox API-key in. Jouw productie en sandbox API-key is te vinden op Mijn %1$sPostNL%2$s onder “My Account”." 1155 1156 #: src/Shipping_Method/Settings.php:107 1140 #: src/Shipping_Method/Settings.php:136 1157 1141 msgid "Logging" 1158 1142 msgstr "Logging" 1159 1143 1160 1144 #. translators: %1$s is anchor opener tag and %2$s is anchor closer tag. 1161 #: src/Shipping_Method/Settings.php:1 111145 #: src/Shipping_Method/Settings.php:140 1162 1146 #, php-format 1163 1147 msgid "A log file containing the communication to the PostNL server will be maintained if this option is checked. This can be used in case of technical issues and can be found %1$shere%2$s." 1164 1148 msgstr "Als deze functie is ingeschakeld wordt er een log-bestand opgebouwd die communictie gegevens bevat naar de server van PostNL. Deze gegevens van toegevoegde waarde zijn in geval van technische issues en kunnen %1$shier%2$s gevonden worden." 1165 1149 1166 #: src/Shipping_Method/Settings.php:1 211150 #: src/Shipping_Method/Settings.php:150 1167 1151 msgid "Customer Number" 1168 1152 msgstr "Klantnummer" 1169 1153 1170 #: src/Shipping_Method/Settings.php:1 231154 #: src/Shipping_Method/Settings.php:152 1171 1155 msgid "e.g. \"11223344\"" 1172 1156 msgstr "bijv. “11223344”" 1173 1157 1174 #: src/Shipping_Method/Settings.php:1 291158 #: src/Shipping_Method/Settings.php:158 1175 1159 msgid "Customer Code" 1176 1160 msgstr "Klantcode" 1177 1161 1178 #: src/Shipping_Method/Settings.php:1 311162 #: src/Shipping_Method/Settings.php:160 1179 1163 msgid "e.g. \"DEVC\"" 1180 1164 msgstr "bijv. “DEVC”" 1181 1165 1182 #: src/Shipping_Method/Settings.php:1 381166 #: src/Shipping_Method/Settings.php:167 1183 1167 msgid "Company Name" 1184 1168 msgstr "Bedrijfsnaam" 1185 1169 1186 #: src/Shipping_Method/Settings.php:1 401170 #: src/Shipping_Method/Settings.php:169 1187 1171 msgid "Enter company name - this name will be noted as the sender on the label" 1188 1172 msgstr "Vul bedrijfsnaam in - deze naam wordt genoteerd als afzender op het label" 1189 1173 1190 #: src/Shipping_Method/Settings.php:1 591174 #: src/Shipping_Method/Settings.php:188 1191 1175 msgid "Return Settings" 1192 1176 msgstr "Retour Instellingen" 1193 1177 1194 #: src/Shipping_Method/Settings.php:1 641178 #: src/Shipping_Method/Settings.php:193 1195 1179 msgid "Standard return option" 1196 1180 msgstr "Standaard retour optie" 1197 1181 1198 #: src/Shipping_Method/Settings.php:1 661182 #: src/Shipping_Method/Settings.php:195 1199 1183 msgid "- None: return labels are not automatically created" 1200 1184 msgstr "- Geen: retour-labels worden niet automatisch aangemaakt" 1201 1185 1202 #: src/Shipping_Method/Settings.php:1 671186 #: src/Shipping_Method/Settings.php:196 1203 1187 msgid "- Label in the box: a separate return label is created at the same time as the label for the outward shipment and can be included in the box." 1204 1188 msgstr "- Label in de doos: een los retourlabel wordt tegelijk met het label voor de heenzending aangemaakt en kan in de doos worden meegestuurd." 1205 1189 1206 #: src/Shipping_Method/Settings.php:1 701190 #: src/Shipping_Method/Settings.php:199 1207 1191 msgid "None" 1208 1192 msgstr "Geen" 1209 1193 1210 #: src/Shipping_Method/Settings.php: 1711194 #: src/Shipping_Method/Settings.php:200 1211 1195 msgid "Label in the box" 1212 1196 msgstr "Label in de doos" 1213 1197 1214 #: src/Shipping_Method/Settings.php: 1851198 #: src/Shipping_Method/Settings.php:214 1215 1199 msgid "Directly activate return function for all labels" 1216 1200 msgstr "Retourfunctie direct activeren voor alle labels" 1217 1201 1218 #: src/Shipping_Method/Settings.php: 1901202 #: src/Shipping_Method/Settings.php:219 1219 1203 msgid "Yes, activate return function directly for all orders" 1220 1204 msgstr "Ja, retourfunctie direct activeren voor alle orders" 1221 1205 1222 #: src/Shipping_Method/Settings.php: 1911206 #: src/Shipping_Method/Settings.php:220 1223 1207 msgid "No, activate return function per individual order" 1224 1208 msgstr "Nee, retourfunctie per individuele order activeren" 1225 1209 1226 #: src/Shipping_Method/Settings.php: 1961210 #: src/Shipping_Method/Settings.php:225 1227 1211 msgid "Activate Smart Return" 1228 1212 msgstr "Smart Returns activeren" 1229 1213 1230 #: src/Shipping_Method/Settings.php: 1991231 #: src/Shipping_Method/Settings.php:2 051214 #: src/Shipping_Method/Settings.php:228 1215 #: src/Shipping_Method/Settings.php:234 1232 1216 msgid "Activate" 1233 1217 msgstr "Activeren" 1234 1218 1235 #: src/Shipping_Method/Settings.php:2 031219 #: src/Shipping_Method/Settings.php:232 1236 1220 msgid "Return to home address" 1237 1221 msgstr "Retour naar huisadres" 1238 1222 1239 #: src/Shipping_Method/Settings.php:2 061223 #: src/Shipping_Method/Settings.php:235 1240 1224 msgid "Activate this setting to use a home address for return shipments" 1241 1225 msgstr "" 1242 1226 1243 #: src/Shipping_Method/Settings.php:2 101227 #: src/Shipping_Method/Settings.php:239 1244 1228 msgid "Replynumber" 1245 1229 msgstr "Antwoordnummer" 1246 1230 1247 #: src/Shipping_Method/Settings.php:2 121231 #: src/Shipping_Method/Settings.php:241 1248 1232 msgid "Enter replynumber." 1249 1233 msgstr "Vul de cijfers van het antwoordnummer in." 1250 1234 1251 #: src/Shipping_Method/Settings.php:2 191235 #: src/Shipping_Method/Settings.php:248 1252 1236 msgid "Freepost Zipcode" 1253 1237 msgstr "Postcode antwoordnummer" 1254 1238 1255 #: src/Shipping_Method/Settings.php:2 211239 #: src/Shipping_Method/Settings.php:250 1256 1240 msgid "Enter Freepost Zipcode." 1257 1241 msgstr "Vul de Postcode antwoordnummer." 1258 1242 1259 #: src/Shipping_Method/Settings.php:2 261243 #: src/Shipping_Method/Settings.php:255 1260 1244 msgid "Freepost City" 1261 1245 msgstr "Stad antwoordnummer" 1262 1246 1263 #: src/Shipping_Method/Settings.php:2 281247 #: src/Shipping_Method/Settings.php:257 1264 1248 msgid "Enter Freepost City." 1265 1249 msgstr "Vul de Stad antwoordnummer." 1266 1250 1267 #: src/Shipping_Method/Settings.php:2 331251 #: src/Shipping_Method/Settings.php:262 1268 1252 msgid "Street Address" 1269 1253 msgstr "Straat" 1270 1254 1271 #: src/Shipping_Method/Settings.php:2 351255 #: src/Shipping_Method/Settings.php:264 1272 1256 msgid "Enter Return Street Address." 1273 1257 msgstr "Voer hier de straatnaam in van het retouradres." 1274 1258 1275 #: src/Shipping_Method/Settings.php:2 401259 #: src/Shipping_Method/Settings.php:269 1276 1260 msgid "House Number" 1277 1261 msgstr "Huisnummer" 1278 1262 1279 #: src/Shipping_Method/Settings.php:2 421263 #: src/Shipping_Method/Settings.php:271 1280 1264 msgid "Enter return house number." 1281 1265 msgstr "Voer hier het huisnummer in van het retouradres." 1282 1266 1283 #: src/Shipping_Method/Settings.php:2 491267 #: src/Shipping_Method/Settings.php:278 1284 1268 msgid "Enter return house number extension." 1285 1269 msgstr "Vul hier een huisnummertoevoeging in voor het retouradres." 1286 1270 1287 #: src/Shipping_Method/Settings.php:2 541271 #: src/Shipping_Method/Settings.php:283 1288 1272 msgid "Zipcode" 1289 1273 msgstr "Postcode" 1290 1274 1291 #: src/Shipping_Method/Settings.php:2 561275 #: src/Shipping_Method/Settings.php:285 1292 1276 msgid "Enter Return Zipcode." 1293 1277 msgstr "Voer hier de postcode in van het retouradres." 1294 1278 1295 #: src/Shipping_Method/Settings.php:2 611279 #: src/Shipping_Method/Settings.php:290 1296 1280 msgid "City" 1297 1281 msgstr "Plaats" 1298 1282 1299 #: src/Shipping_Method/Settings.php:2 631283 #: src/Shipping_Method/Settings.php:292 1300 1284 msgid "Enter Return City." 1301 1285 msgstr "Voer hier de plaatsnaam in van het retouradres." 1302 1286 1303 #: src/Shipping_Method/Settings.php:2 681287 #: src/Shipping_Method/Settings.php:297 1304 1288 msgid "Return Customer Code" 1305 1289 msgstr "Klantcode Retouren" 1306 1290 1307 #: src/Shipping_Method/Settings.php:2 701291 #: src/Shipping_Method/Settings.php:299 1308 1292 msgid "Be aware that the Return Customer Code differs from the regular Customer Code. You can find your Return customer code in Mijn PostNL." 1309 1293 msgstr "Let op, de klantcode voor retourzendingen is niet hetzelfde als de klantcode voor heenzendingen. De retour klantcode vind je in jouw Mijn PostNL omgeving." 1310 1294 1311 #: src/Shipping_Method/Settings.php: 2761295 #: src/Shipping_Method/Settings.php:305 1312 1296 msgid "Checkout Settings" 1313 1297 msgstr "Checkout Instellingen" 1314 1298 1315 #: src/Shipping_Method/Settings.php: 2781299 #: src/Shipping_Method/Settings.php:307 1316 1300 msgid "Please configure your checkout preferences." 1317 1301 msgstr "Stel hier jouw checkout voorkeuren in." 1318 1302 1319 #: src/Shipping_Method/Settings.php: 2811303 #: src/Shipping_Method/Settings.php:310 1320 1304 msgid "Shipping Methods" 1321 1305 msgstr "Verzendmethoden" 1322 1306 1323 #: src/Shipping_Method/Settings.php: 2831307 #: src/Shipping_Method/Settings.php:312 1324 1308 msgid "Select Shipping Methods can be associated with PostNL." 1325 1309 msgstr "Selecteer de verzendmethode die gebruikt worden voor verzending met PostNL." 1326 1310 1327 #: src/Shipping_Method/Settings.php: 2891311 #: src/Shipping_Method/Settings.php:318 1328 1312 msgid "Extra fee for the letterboxparcel (24 hours)" 1329 1313 msgstr "Toeslag voor het brievenbuspakje (24 uur)" 1330 1314 1331 #: src/Shipping_Method/Settings.php: 2911315 #: src/Shipping_Method/Settings.php:320 1332 1316 msgid "Extra fee added when Letterboxparcel Standard (24 hours) has been selected." 1333 1317 msgstr "Toeslag die wordt toegevoegd wanneer Brievenbuspakje standaard (24 uur) is geselecteerd." 1334 1318 1335 #: src/Shipping_Method/Settings.php:3 051319 #: src/Shipping_Method/Settings.php:334 1336 1320 msgid "PostNL Pick-up Points" 1337 1321 msgstr "Ophalen bij PostNL-punt" 1338 1322 1339 #: src/Shipping_Method/Settings.php:3 081323 #: src/Shipping_Method/Settings.php:337 1340 1324 msgid "Show PostNL pick-up points in the checkout so that your customers can choose to get their orders delivered at a PostNL pick-up point." 1341 1325 msgstr "Toon de PostNL-punten in de checkout zodat jouw klanten kunnen kiezen om hun bestelling op te halen bij een PostNL-punt." 1342 1326 1343 #: src/Shipping_Method/Settings.php:3 151327 #: src/Shipping_Method/Settings.php:344 1344 1328 msgid "Extra fee pick-up delivery" 1345 1329 msgstr "Toeslag ophalen bij PostNL" 1346 1330 1347 #: src/Shipping_Method/Settings.php:3 171331 #: src/Shipping_Method/Settings.php:346 1348 1332 msgid "Extra fee added when the customer selects a PostNL pick-up point." 1349 1333 msgstr "Toeslag wanneer er voor ophalen bij PostNL is gekozen." 1350 1334 1351 #: src/Shipping_Method/Settings.php:3 441335 #: src/Shipping_Method/Settings.php:373 1352 1336 msgid "Show delivery days in the checkout so that your customers can choose which day to receive their order." 1353 1337 msgstr "Laat jouw klanten kiezen wanneer zij hun bestelling ontvangen door de bezorgdagen in de checkout te tonen." 1354 1338 1355 #: src/Shipping_Method/Settings.php:3 511339 #: src/Shipping_Method/Settings.php:380 1356 1340 msgid "Extra fee home delivery" 1357 1341 msgstr "Toeslag thuisbezorging" 1358 1342 1359 #: src/Shipping_Method/Settings.php:3 531343 #: src/Shipping_Method/Settings.php:382 1360 1344 msgid "Extra fee added when the customer selects home delivery." 1361 1345 msgstr "Toeslag voor verzendingen naar een huisadres." 1362 1346 1363 #: src/Shipping_Method/Settings.php: 2971347 #: src/Shipping_Method/Settings.php:326 1364 1348 msgid "Letterbox fee" 1365 1349 msgstr "Alternatieve verzendkosten Brievenbuspakje" 1366 1350 1367 #: src/Shipping_Method/Settings.php: 2991351 #: src/Shipping_Method/Settings.php:328 1368 1352 msgid "Overrides the shipping cost when all items are eligible for letterbox delivery. Leave empty to use the standard shipping cost. The fee is set to €0 when free shipping applies." 1369 1353 msgstr "Vervangt de verzendkosten wanneer alle artikelen in aanmerking komen voor bezorging als brievenbuspakje. Laat leeg om de standaard verzendkosten te gebruiken. De toeslag wordt op €0 gezet wanneer gratis verzending van toepassing is." 1370 1354 1371 #: src/Shipping_Method/Settings.php:3 591355 #: src/Shipping_Method/Settings.php:388 1372 1356 msgid "Number of Delivery Days" 1373 1357 msgstr "Aantal bezorgdagen" 1374 1358 1375 #: src/Shipping_Method/Settings.php:3 611359 #: src/Shipping_Method/Settings.php:390 1376 1360 msgid "Number of delivery days displayed in the frontend. Maximum will be 12." 1377 1361 msgstr "Aantal getoonde bezorgdagen in de checkout. Maximaal 12 dagen." 1378 1362 1379 #: src/Shipping_Method/Settings.php: 3751363 #: src/Shipping_Method/Settings.php:404 1380 1364 msgid "Enable morning delivery in the checkout so your customers can choose to receive their orders in the morning." 1381 1365 msgstr "Activeer avondbezorging in de checkout zodat jouw klanten kunnen kiezen om ’s avonds de bestelling te ontvangen." 1382 1366 1383 #: src/Shipping_Method/Settings.php: 3821367 #: src/Shipping_Method/Settings.php:411 1384 1368 msgid "Morning Delivery Fee" 1385 1369 msgstr "Toeslag ochtend bezorging" 1386 1370 1387 #: src/Shipping_Method/Settings.php: 3841371 #: src/Shipping_Method/Settings.php:413 1388 1372 msgid "Fee for receiving orders in the morning." 1389 1373 msgstr "De toeslag die jouw klanten betalen om ’s avonds de bestelling te ontvangen." 1390 1374 1391 #: src/Shipping_Method/Settings.php: 3931375 #: src/Shipping_Method/Settings.php:422 1392 1376 msgid "Enable evening delivery in the checkout so your customers can choose to receive their orders in the evening." 1393 1377 msgstr "Activeer avondbezorging in de checkout zodat jouw klanten kunnen kiezen om ’s avonds de bestelling te ontvangen." 1394 1378 1395 #: src/Shipping_Method/Settings.php:4 001379 #: src/Shipping_Method/Settings.php:429 1396 1380 msgid "Evening Delivery Fee" 1397 1381 msgstr "Toeslag avondbezorging" 1398 1382 1399 #: src/Shipping_Method/Settings.php:4 021383 #: src/Shipping_Method/Settings.php:431 1400 1384 msgid "Fee for receiving orders in the evening." 1401 1385 msgstr "De toeslag die jouw klanten betalen om ’s avonds de bestelling te ontvangen." 1402 1386 1403 #: src/Shipping_Method/Settings.php:4 081387 #: src/Shipping_Method/Settings.php:437 1404 1388 msgid "Default Delivery Options Tab" 1405 1389 msgstr "Standaard tabblad in bezorgoptiemenu" 1406 1390 1407 #: src/Shipping_Method/Settings.php:4 101391 #: src/Shipping_Method/Settings.php:439 1408 1392 msgid "Choose which tab is shown first in the delivery options menu at checkout." 1409 1393 msgstr "Selecteer het tabblad wat als eerste getoond wordt in het bezorgoptiemenu in de check-out." 1410 1394 1411 #: src/Shipping_Method/Settings.php:4 141395 #: src/Shipping_Method/Settings.php:443 1412 1396 msgid "Home Delivery" 1413 1397 msgstr "Thuisbezorging/Bezorgdagen" 1414 1398 1415 #: src/Shipping_Method/Settings.php:4 151399 #: src/Shipping_Method/Settings.php:444 1416 1400 msgid "Pickup Points" 1417 1401 msgstr "Afhaalpunten" 1418 1402 1419 #: src/Shipping_Method/Settings.php:4 211403 #: src/Shipping_Method/Settings.php:450 1420 1404 msgid "Transit Time" 1421 1405 msgstr "Overkomstduur" 1422 1406 1423 #: src/Shipping_Method/Settings.php:4 231407 #: src/Shipping_Method/Settings.php:452 1424 1408 msgid "The number of days it takes for the order to be delivered after the order has been placed." 1425 1409 msgstr "Het aantal dagen dat nodig is om de bestelling te bezorgen nadat de bestelling is geplaatst." 1426 1410 1427 #: src/Shipping_Method/Settings.php:4 291411 #: src/Shipping_Method/Settings.php:458 1428 1412 msgid "Cut Off Time" 1429 1413 msgstr "Cut off tijd" 1430 1414 1431 #: src/Shipping_Method/Settings.php:4 311415 #: src/Shipping_Method/Settings.php:460 1432 1416 msgid "If an order is ordered after this time, one day will be added to the transit time." 1433 1417 msgstr "Als een bestelling na de cut off tijd wordt geplaatst, dan wordt er een dag bij de overkomstduur opgeteld." 1434 1418 1435 #: src/Shipping_Method/Settings.php:4 371419 #: src/Shipping_Method/Settings.php:466 1436 1420 msgid "Drop off Days" 1437 1421 msgstr "Verzenddagen" 1438 1422 1439 #: src/Shipping_Method/Settings.php:4 391423 #: src/Shipping_Method/Settings.php:468 1440 1424 #: src/Utils.php:33 1441 1425 msgid "Monday" 1442 1426 msgstr "Maandag" 1443 1427 1444 #: src/Shipping_Method/Settings.php:4 401428 #: src/Shipping_Method/Settings.php:469 1445 1429 msgid "Select which days orders will be shipped." 1446 1430 msgstr "Selecteer op welke dagen bestellingen worden verstuurd." 1447 1431 1448 #: src/Shipping_Method/Settings.php:4 461432 #: src/Shipping_Method/Settings.php:475 1449 1433 #: src/Utils.php:34 1450 1434 msgid "Tuesday" 1451 1435 msgstr "Dinsdag" 1452 1436 1453 #: src/Shipping_Method/Settings.php:4 511437 #: src/Shipping_Method/Settings.php:480 1454 1438 #: src/Utils.php:35 1455 1439 msgid "Wednesday" 1456 1440 msgstr "Woensdag" 1457 1441 1458 #: src/Shipping_Method/Settings.php:4 561442 #: src/Shipping_Method/Settings.php:485 1459 1443 #: src/Utils.php:36 1460 1444 msgid "Thursday" 1461 1445 msgstr "Donderdag" 1462 1446 1463 #: src/Shipping_Method/Settings.php:4 611447 #: src/Shipping_Method/Settings.php:490 1464 1448 #: src/Utils.php:37 1465 1449 msgid "Friday" 1466 1450 msgstr "Vrijdag" 1467 1451 1468 #: src/Shipping_Method/Settings.php:4 661452 #: src/Shipping_Method/Settings.php:495 1469 1453 #: src/Utils.php:38 1470 1454 msgid "Saturday" 1471 1455 msgstr "Zaterdag" 1472 1456 1473 #: src/Shipping_Method/Settings.php: 4711457 #: src/Shipping_Method/Settings.php:500 1474 1458 #: src/Utils.php:39 1475 1459 msgid "Sunday" 1476 1460 msgstr "Zondag" 1477 1461 1478 #: src/Shipping_Method/Settings.php: 4741462 #: src/Shipping_Method/Settings.php:503 1479 1463 msgid "Validate Dutch addresses" 1480 1464 msgstr "Valideer Nederlandse adressen" 1481 1465 1482 #: src/Shipping_Method/Settings.php: 4771466 #: src/Shipping_Method/Settings.php:506 1483 1467 msgid "Based on zipcode and housenumber combination the address is checked." 1484 1468 msgstr "Op basis van de combinatie postcode en huisnummer wordt het adres gecontroleerd." 1485 1469 1486 #: src/Shipping_Method/Settings.php: 4821470 #: src/Shipping_Method/Settings.php:511 1487 1471 msgid "Use PostNL address-field" 1488 1472 msgstr "Gebruik PostNL adresvelden" 1489 1473 1490 #: src/Shipping_Method/Settings.php: 4851474 #: src/Shipping_Method/Settings.php:514 1491 1475 msgid "For zipcode, housenumber, housenumber extension and street separate address fields are displayed when this settings is enabled. This only applies for Dutch addresses." 1492 1476 msgstr "Voor postcode, huisnummer, huisnummer toevoeging en straat voor losse velden getoond als deze instelling geactiveerd is. Dit geldt alleen voor Nederlandse adressen." 1493 1477 1494 #: src/Shipping_Method/Settings.php: 4921478 #: src/Shipping_Method/Settings.php:521 1495 1479 msgid "Shipping Outside Europe Settings" 1496 1480 msgstr "Versturen buiten Europa" 1497 1481 1498 #: src/Shipping_Method/Settings.php: 4941482 #: src/Shipping_Method/Settings.php:523 1499 1483 msgid "Please insert your Parcels non-EU credentials." 1500 1484 msgstr "Vul hier je Pakketten non-EU klantcodegegevens in." 1501 1485 1502 #: src/Shipping_Method/Settings.php: 4971486 #: src/Shipping_Method/Settings.php:526 1503 1487 msgid "Parcels non-EU Barcode Type" 1504 1488 msgstr "Pakketten non-EU Barcode Type" 1505 1489 1506 #: src/Shipping_Method/Settings.php:5 021490 #: src/Shipping_Method/Settings.php:531 1507 1491 msgid "CD" 1508 1492 msgstr "CD" 1509 1493 1510 #: src/Shipping_Method/Settings.php:5 061494 #: src/Shipping_Method/Settings.php:535 1511 1495 msgid "Parcels non-EU Customer Code" 1512 1496 msgstr "Pakketten non-EU Klantcode" 1513 1497 1514 #: src/Shipping_Method/Settings.php:5 111498 #: src/Shipping_Method/Settings.php:540 1515 1499 msgid "1234" 1516 1500 msgstr "1234" 1517 1501 1518 #: src/Shipping_Method/Settings.php:5 151502 #: src/Shipping_Method/Settings.php:544 1519 1503 msgid "Default HS Tariff Code" 1520 1504 msgstr "Standaard GS tarief code" 1521 1505 1522 #: src/Shipping_Method/Settings.php:5 171506 #: src/Shipping_Method/Settings.php:546 1523 1507 msgid "The HS tariff code is used by customs to classify goods. The HS tariff code can be found on the website of the Dutch Chamber of Commerce." 1524 1508 msgstr "De GS tarief code wordt gebruikt door de douane om goederen te classificeren. De GS tarief code van goederen is te vinden op de website van de Nederlandse Kamer van Koophandel." 1525 1509 1526 #: src/Shipping_Method/Settings.php:5 231510 #: src/Shipping_Method/Settings.php:552 1527 1511 msgid "Default Country of Origin" 1528 1512 msgstr "Standaard land van herkomst" 1529 1513 1530 #: src/Shipping_Method/Settings.php:5 251514 #: src/Shipping_Method/Settings.php:554 1531 1515 msgid "Default country of origin is used by customs." 1532 1516 msgstr "De douane bekijkt het land van herkomst." 1533 1517 1534 #: src/Shipping_Method/Settings.php:5 321518 #: src/Shipping_Method/Settings.php:561 1535 1519 msgid "Merchant Customs Code" 1536 1520 msgstr "Handelsdouanecode" 1537 1521 1538 #: src/Shipping_Method/Settings.php:5 341522 #: src/Shipping_Method/Settings.php:563 1539 1523 msgid "Add merchant codes for specific non-EU countries." 1540 1524 msgstr "Voeg handelscodes toe voor specifieke landen buiten de EU." 1541 1525 1542 #: src/Shipping_Method/Settings.php:5 411526 #: src/Shipping_Method/Settings.php:570 1543 1527 msgid "Printer & Email Settings" 1544 1528 msgstr "Printer & Email Instellingen" 1545 1529 1546 #: src/Shipping_Method/Settings.php:5 431530 #: src/Shipping_Method/Settings.php:572 1547 1531 msgid "Please configure your printer and email preferences." 1548 1532 msgstr "Stel hier jouw printer en email voorkeuren in." 1549 1533 1550 #: src/Shipping_Method/Settings.php:5 461534 #: src/Shipping_Method/Settings.php:575 1551 1535 msgid "Printer Type" 1552 1536 msgstr "" 1553 1537 1554 #: src/Shipping_Method/Settings.php:5 481538 #: src/Shipping_Method/Settings.php:577 1555 1539 msgid "It is not recommended to send .pdf files/labels directly to a Zebra printer If you want to send it directly to your Zebra printer, please use .gif files or the native (generic) zpl printer type" 1556 1540 msgstr "Het is af te raden om PDF-bestanden af te drukken met een Zebra-printer. Gebruik voor een Zebra-printer labels in GIF-formaat of in ZPL-formaat" 1557 1541 1558 #: src/Shipping_Method/Settings.php:5 591542 #: src/Shipping_Method/Settings.php:588 1559 1543 msgid "DPI" 1560 1544 msgstr "" 1561 1545 1562 #: src/Shipping_Method/Settings.php:5 691546 #: src/Shipping_Method/Settings.php:598 1563 1547 msgid "Label Format" 1564 1548 msgstr "Labelformaat" 1565 1549 1566 #: src/Shipping_Method/Settings.php: 5711550 #: src/Shipping_Method/Settings.php:600 1567 1551 msgid "Use A6 format in case you use a labelprinter. Use A4 format for other regular printers." 1568 1552 msgstr "Stel A6 formaat in indien je gebruik maakt van een label printen. Gebruik het A4 formaat voor gebruikelijke printers." 1569 1553 1570 #: src/Shipping_Method/Settings.php: 5811554 #: src/Shipping_Method/Settings.php:610 1571 1555 msgid "Shipping confirmation e-mail address" 1572 1556 msgstr "E-mailadres verzendbewijzen" 1573 1557 1574 #: src/Shipping_Method/Settings.php: 5831558 #: src/Shipping_Method/Settings.php:612 1575 1559 msgid "This e-mail address will be used by PostNL for shipping confirmations. If left empty, no sender e-mail will be included." 1576 1560 msgstr "Dit e-mailadres zal worden gebruikt voor de verzendbewijzen voor de verzender. Indien hier niets ingevuld wordt zal de verzender geen digitaal bewijs van verzending ontvangen." 1577 1561 1578 #: src/Shipping_Method/Settings.php: 5871562 #: src/Shipping_Method/Settings.php:616 1579 1563 msgid "WooCommerce Email" 1580 1564 msgstr "WooCommerce Email" 1581 1565 1582 #: src/Shipping_Method/Settings.php: 5891583 #: src/Shipping_Method/Settings.php: 5901566 #: src/Shipping_Method/Settings.php:618 1567 #: src/Shipping_Method/Settings.php:619 1584 1568 msgid "When PostNL label is created send email to customer." 1585 1569 msgstr "Verstuur email naar klant zodra PostNL label gecreëerd is." 1586 1570 1587 #: src/Shipping_Method/Settings.php: 5961571 #: src/Shipping_Method/Settings.php:625 1588 1572 msgid "WooCommerce Email Text" 1589 1573 msgstr "WooCommerce Email Tekst" 1590 1574 1591 #: src/Shipping_Method/Settings.php: 5981575 #: src/Shipping_Method/Settings.php:627 1592 1576 msgid "Text added for tracking note email." 1593 1577 msgstr "Tekst die wordt toegevoegd aan e-mailnotificaties." 1594 1578 1595 #: src/Shipping_Method/Settings.php:6 001596 #: src/Shipping_Method/Settings.php:6 011579 #: src/Shipping_Method/Settings.php:629 1580 #: src/Shipping_Method/Settings.php:630 1597 1581 msgid "This is your track and track link {tracking-link}" 1598 1582 msgstr "Dit is je track & trace link {tracking-link}" 1599 1583 1600 #: src/Shipping_Method/Settings.php:6 051601 #: src/Shipping_Method/Settings.php:7 381584 #: src/Shipping_Method/Settings.php:634 1585 #: src/Shipping_Method/Settings.php:782 1602 1586 msgid "Default shipping Options Settings" 1603 1587 msgstr "Standaard verzendopties instellingen" 1604 1588 1605 #: src/Shipping_Method/Settings.php:6 071606 #: src/Shipping_Method/Settings.php:7 401589 #: src/Shipping_Method/Settings.php:636 1590 #: src/Shipping_Method/Settings.php:784 1607 1591 msgid "Please select Default shipping Options." 1608 1592 msgstr "Selecteer hier standaard verzendopties." 1609 1593 1610 #: src/Shipping_Method/Settings.php:6 131594 #: src/Shipping_Method/Settings.php:642 1611 1595 msgid "Select a default shipping option for domestic orders that are shipped with PostNL." 1612 1596 msgstr "Selecteer een standaard verzendoptie voor alle zendingen die binnen Nederland worden verstuurd met PostNL." 1613 1597 1614 #: src/Shipping_Method/Settings.php:6 171598 #: src/Shipping_Method/Settings.php:646 1615 1599 #: src/Utils.php:615 1616 1600 msgid "Standard shipment" 1617 1601 msgstr "Standaardzending" 1618 1602 1619 #: src/Shipping_Method/Settings.php:6 181620 #: src/Shipping_Method/Settings.php: 6951603 #: src/Shipping_Method/Settings.php:647 1604 #: src/Shipping_Method/Settings.php:724 1621 1605 #: src/Utils.php:616 1622 1606 msgid "ID Check (18+)" 1623 1607 msgstr "ID Check (18+)" 1624 1608 1625 #: src/Shipping_Method/Settings.php:6 191626 #: src/Shipping_Method/Settings.php: 6971609 #: src/Shipping_Method/Settings.php:648 1610 #: src/Shipping_Method/Settings.php:726 1627 1611 msgid "ID Check (18+) + Insured Shipping" 1628 1612 msgstr "ID Check (18+) + Verzekerd verzenden" 1629 1613 1630 #: src/Shipping_Method/Settings.php:6 211614 #: src/Shipping_Method/Settings.php:650 1631 1615 #: src/Utils.php:617 1632 1616 msgid "Return if no answer" 1633 1617 msgstr "Retour bij geen gehoor" 1634 1618 1635 #: src/Shipping_Method/Settings.php:6 221619 #: src/Shipping_Method/Settings.php:651 1636 1620 #: src/Utils.php:618 1637 1621 msgid "Signature on Delivery" 1638 1622 msgstr "Handtekening voor ontvangst" 1639 1623 1640 #: src/Shipping_Method/Settings.php:6 231624 #: src/Shipping_Method/Settings.php:652 1641 1625 #: src/Utils.php:619 1642 1626 msgid "Only Home Address" … … 1647 1631 msgstr "Brievenbuspakje" 1648 1632 1649 #: src/Shipping_Method/Settings.php:6 261633 #: src/Shipping_Method/Settings.php:655 1650 1634 msgid "Signature on Delivery + Insured Shipping" 1651 1635 msgstr "Handtekening voor ontvangst + Verzekerd verzenden" 1652 1636 1653 #: src/Shipping_Method/Settings.php:6 271637 #: src/Shipping_Method/Settings.php:656 1654 1638 msgid "Signature on Delivery + Return if no answer" 1655 1639 msgstr "Handtekening voor ontvangst + Retour bij geen gehoor" 1656 1640 1657 #: src/Shipping_Method/Settings.php:6 281641 #: src/Shipping_Method/Settings.php:657 1658 1642 msgid "Insured Shipping + Return if no answer + Signature on Delivery" 1659 1643 msgstr "Verzekerd Verzenden + Retour bij geen gehoor + Handtekening voor ontvangst" 1660 1644 1661 #: src/Shipping_Method/Settings.php:6 291645 #: src/Shipping_Method/Settings.php:658 1662 1646 msgid "Only Home Address + Return if no answer" 1663 1647 msgstr "Alleen Huisadres + Retour bij geen gehoor" 1664 1648 1665 #: src/Shipping_Method/Settings.php:6 301649 #: src/Shipping_Method/Settings.php:659 1666 1650 msgid "Only Home Address + Return if no answer + Signature on Delivery" 1667 1651 msgstr "Alleen Huisadres + Retour bij geen gehoor + Handtekening voor ontvangst" 1668 1652 1669 #: src/Shipping_Method/Settings.php:6 311653 #: src/Shipping_Method/Settings.php:660 1670 1654 msgid "Only Home Address + Signature on Delivery" 1671 1655 msgstr "Alleen huisadres + Handtekening voor ontvangst" 1672 1656 1673 #: src/Shipping_Method/Settings.php:6 321657 #: src/Shipping_Method/Settings.php:661 1674 1658 msgid "Delivery Code at Door + Insured Shipping" 1675 1659 msgstr "Bezorgcode aan de deur + Verzekerd verzenden" 1676 1660 1677 #: src/Shipping_Method/Settings.php:6 361661 #: src/Shipping_Method/Settings.php:665 1678 1662 msgid "Shipping options Belgium" 1679 1663 msgstr "Standaard verzendopties België" 1680 1664 1681 #: src/Shipping_Method/Settings.php:6 381665 #: src/Shipping_Method/Settings.php:667 1682 1666 msgid "Select a default shipping option for the orders shipped to Belgium with PostNL." 1683 1667 msgstr "Selecteer een standaard verzendoptie voor alle zendingen die naar België worden verstuurd met PostNL." 1684 1668 1685 #: src/Shipping_Method/Settings.php:6 431669 #: src/Shipping_Method/Settings.php:672 1686 1670 msgid "Standard Shipment Belgium + Only Home Address" 1687 1671 msgstr "Standaardzending België + Alleen Huisadres" 1688 1672 1689 #: src/Shipping_Method/Settings.php:6 441673 #: src/Shipping_Method/Settings.php:673 1690 1674 msgid "Standard Shipment Belgium + Signature on Delivery" 1691 1675 msgstr "Standaardzending België + Handtekening voor ontvangst" 1692 1676 1693 #: src/Shipping_Method/Settings.php:6 451677 #: src/Shipping_Method/Settings.php:674 1694 1678 msgid "Standard Shipment Belgium + Insured Shipping" 1695 1679 msgstr "Standaardzending België + Verzekerd Verzenden" 1696 1680 1697 #: src/Shipping_Method/Settings.php:6 461698 #: src/Shipping_Method/Settings.php:6 631699 #: src/Shipping_Method/Settings.php: 6801681 #: src/Shipping_Method/Settings.php:675 1682 #: src/Shipping_Method/Settings.php:692 1683 #: src/Shipping_Method/Settings.php:709 1700 1684 #: src/Utils.php:623 1701 1685 msgid "Boxable Packet" 1702 1686 msgstr "Brievenbuspakje Internationaal" 1703 1687 1704 #: src/Shipping_Method/Settings.php:6 471705 #: src/Shipping_Method/Settings.php:6 641706 #: src/Shipping_Method/Settings.php: 6811688 #: src/Shipping_Method/Settings.php:676 1689 #: src/Shipping_Method/Settings.php:693 1690 #: src/Shipping_Method/Settings.php:710 1707 1691 msgid "Boxable Packet + Track & Trace" 1708 1692 msgstr "Brievenbuspakje Internationaal + Track & Trace" 1709 1693 1710 #: src/Shipping_Method/Settings.php:6 481711 #: src/Shipping_Method/Settings.php:6 651712 #: src/Shipping_Method/Settings.php: 6821694 #: src/Shipping_Method/Settings.php:677 1695 #: src/Shipping_Method/Settings.php:694 1696 #: src/Shipping_Method/Settings.php:711 1713 1697 msgid "Packets" 1714 1698 msgstr "Pakje" 1715 1699 1716 #: src/Shipping_Method/Settings.php:6 491717 #: src/Shipping_Method/Settings.php:6 661718 #: src/Shipping_Method/Settings.php: 6831700 #: src/Shipping_Method/Settings.php:678 1701 #: src/Shipping_Method/Settings.php:695 1702 #: src/Shipping_Method/Settings.php:712 1719 1703 msgid "Packets + Track & Trace" 1720 1704 msgstr "Pakje + Track & Trace" 1721 1705 1722 #: src/Shipping_Method/Settings.php:6 501723 #: src/Shipping_Method/Settings.php:6 671724 #: src/Shipping_Method/Settings.php: 6841706 #: src/Shipping_Method/Settings.php:679 1707 #: src/Shipping_Method/Settings.php:696 1708 #: src/Shipping_Method/Settings.php:713 1725 1709 msgid "Packets + Track & Trace + Insured" 1726 1710 msgstr "Pakje + Track & Trace + Verzekerd Verzenden" 1727 1711 1728 #: src/Shipping_Method/Settings.php:6 561712 #: src/Shipping_Method/Settings.php:685 1729 1713 msgid "Select a default shipping option for the orders shipped within European Union zone." 1730 1714 msgstr "Selecteer een standaard verzendoptie voor alle zendingen die naar EU-landen worden verstuurd met PostNL." 1731 1715 1732 #: src/Shipping_Method/Settings.php:6 601716 #: src/Shipping_Method/Settings.php:689 1733 1717 msgid "EU Parcel + Track & Trace" 1734 1718 msgstr "EU Pakket + Track & Trace" 1735 1719 1736 #: src/Shipping_Method/Settings.php:6 611720 #: src/Shipping_Method/Settings.php:690 1737 1721 msgid "EU Parcel + Track & Trace + Insured" 1738 1722 msgstr "EU Pakket + Track & Trace + Verzekerd Verzenden" 1739 1723 1740 #: src/Shipping_Method/Settings.php:6 621724 #: src/Shipping_Method/Settings.php:691 1741 1725 msgid "EU Parcel + Track & Trace + Insured Plus" 1742 1726 msgstr "EU Pakket + Track & Trace + Verzekerd Verzenden Plus" 1743 1727 1744 #: src/Shipping_Method/Settings.php: 6711745 #: src/Shipping_Method/Settings.php:7 461728 #: src/Shipping_Method/Settings.php:700 1729 #: src/Shipping_Method/Settings.php:790 1746 1730 msgid "Default Shipping International" 1747 1731 msgstr "Standaard verzendopties non-EU" 1748 1732 1749 #: src/Shipping_Method/Settings.php: 6731733 #: src/Shipping_Method/Settings.php:702 1750 1734 msgid "Shipping options non-EU (outside the EU borders)." 1751 1735 msgstr "Selecteer een standaard verzendoptie voor alle zendingen die worden verstuurd met PostNL." 1752 1736 1753 #: src/Shipping_Method/Settings.php: 6771737 #: src/Shipping_Method/Settings.php:706 1754 1738 msgid "Parcel non-EU + Track & Trace" 1755 1739 msgstr "Non-EU Pakket + Track & Trace" 1756 1740 1757 #: src/Shipping_Method/Settings.php: 6781741 #: src/Shipping_Method/Settings.php:707 1758 1742 msgid "Parcel non-EU + Track & Trace + Insured" 1759 1743 msgstr "Non-EU Pakket + Track & Trace + Verzekerd Verzenden" 1760 1744 1761 #: src/Shipping_Method/Settings.php: 6791762 #: src/Shipping_Method/Settings.php:7 521745 #: src/Shipping_Method/Settings.php:708 1746 #: src/Shipping_Method/Settings.php:796 1763 1747 msgid "Parcel non-EU + Track & Trace + Insured Plus" 1764 1748 msgstr "Non-EU Pakket + Track & Trace + Verzekerd Verzenden Plus" 1765 1749 1766 #: src/Shipping_Method/Settings.php: 6881750 #: src/Shipping_Method/Settings.php:717 1767 1751 msgid "Default Shipping Pickup" 1768 1752 msgstr "Standaard verzendmethode afhalen" 1769 1753 1770 #: src/Shipping_Method/Settings.php: 6901754 #: src/Shipping_Method/Settings.php:719 1771 1755 msgid "Shipping options Pickup." 1772 1756 msgstr "Selecteer een standaard verzendoptie voor afhalen bij PostNL." 1773 1757 1774 #: src/Shipping_Method/Settings.php: 6941758 #: src/Shipping_Method/Settings.php:723 1775 1759 msgid "Standard Shipping" 1776 1760 msgstr "Standaardzending" 1777 1761 1778 #: src/Shipping_Method/Settings.php: 6961762 #: src/Shipping_Method/Settings.php:725 1779 1763 #: src/Utils.php:625 1780 1764 msgid "Insured Shipping" 1781 1765 msgstr "Verzekerd verzenden" 1782 1766 1783 #: src/Shipping_Method/Settings.php:7 011767 #: src/Shipping_Method/Settings.php:730 1784 1768 msgid "Default automatic letterboxparcel product" 1785 1769 msgstr "Standaard verzendoptie voor automatische brievenbuspakjes" 1786 1770 1787 1771 #: src/Order/Base.php:317 1788 #: src/Shipping_Method/Settings.php:6 241789 #: src/Shipping_Method/Settings.php:7 071772 #: src/Shipping_Method/Settings.php:653 1773 #: src/Shipping_Method/Settings.php:736 1790 1774 msgid "Letterboxparcel Standard (24 hours)" 1791 1775 msgstr "Brievenbuspakje standaard (24 uur)" 1792 1776 1793 1777 #: src/Order/Base.php:329 1794 #: src/Shipping_Method/Settings.php:6 251795 #: src/Shipping_Method/Settings.php:7 081778 #: src/Shipping_Method/Settings.php:654 1779 #: src/Shipping_Method/Settings.php:737 1796 1780 msgid "Letterboxparcel 48 hours" 1797 1781 msgstr "Brievenbuspakje 48 uur" 1798 1782 1799 #: src/Shipping_Method/Settings.php:7 091783 #: src/Shipping_Method/Settings.php:738 1800 1784 msgid "Let customer decide" 1801 1785 msgstr "Keuze aan ontvanger" 1802 1786 1803 #: src/Shipping_Method/Settings.php:7 131787 #: src/Shipping_Method/Settings.php:742 1804 1788 msgid "Automatically change order status to Completed" 1805 1789 msgstr "Automatische statuswijziging naar Voltooid" 1806 1790 1807 #: src/Shipping_Method/Settings.php:7 151808 #: src/Shipping_Method/Settings.php:7 161791 #: src/Shipping_Method/Settings.php:744 1792 #: src/Shipping_Method/Settings.php:745 1809 1793 msgid "Automatically change order status to Completed once an order has been pre-alerted and printed" 1810 1794 msgstr "Wijzig de status automatisch naar Afgerond nadat een order is aangemaakt en geprint" 1811 1795 1812 #: src/Shipping_Method/Settings.php:7 481796 #: src/Shipping_Method/Settings.php:792 1813 1797 msgid "Select a default shipping option for the orders shipped internationally (outside the EU borders)." 1814 1798 msgstr "" … … 1959 1943 msgstr "" 1960 1944 1945 #: src/Shipping_Method/Settings.php:94 1946 msgid "Old API Key" 1947 msgstr "Oude API Key" 1948 1949 #: src/Shipping_Method/Settings.php:115 1950 msgid "Old Sandbox API Key" 1951 msgstr "Oude Sandbox API Key" 1952 1953 #: src/Rest_API/Barcode/Key_Validator.php:195 1954 msgid "The newly entered API key is invalid. Please check the key and enter it again." 1955 msgstr "Ingevulde nieuwe API key ongeldig. Controleer de key en vul deze opnieuw in." 1956 1957 #: src/Admin/Api_Key_Banner.php:168 1958 msgid "Important: In the latest update of the plug-in, an additional API key field has been added to the account configuration of the PostNL plug-in. This field must be filled in with the new API key that can be obtained via the Self Service module on the PostNL Business Portal. This API key is required to gain access to the new APIs that will be rolled out in a future update of the plug-in. It is very important that this key is entered before the relevant update is performed; otherwise, no connection can be made to the new PostNL APIs, and it will not be possible to create labels or use checkout features such as delivery days and pickup points." 1959 msgstr "Let op: er is in de laatste update van de plug-in een extra API key veld toegevoegd aan de accountconfiguratie van de PostNL plug-in. In dit veld moet de nieuwe API key ingevuld worden die je via de Self Service module in Mijn PostNL Zakelijk kunt verkrijgen. Deze API key is nodig om toegang te krijgen tot de nieuwe API's die zullen worden uitgerold in een toekomstige update van de plug-in. Het is van groot belang dat deze key ingevuld wordt omdat er anders geen verbinding gemaakt kan worden met de nieuwe PostNL API's en er dus geen labels aangemaakt kunnen worden of gebruik gemaakt kan worden van de check-out functies zoals bezorgdagen en afhaalpunten." 1960 1961 #: src/Admin/Api_Key_Banner.php:147 1962 msgid "Remind me later" 1963 msgstr "Herinner me later" 1964 1965 #: src/Admin/Api_Key_Banner.php:150 1966 msgid "Dismiss" 1967 msgstr "Verbergen" 1968 1969 #: src/Admin/Api_Key_Banner.php:141 1970 msgid "PostNL:" 1971 msgstr "" 1972 1973 #: src/Admin/Api_Key_Banner.php:144 1974 msgid "Get your API key" 1975 msgstr "Vraag API-key aan" 1976 1977 #: src/Admin/Api_Key_Banner.php:174 1978 msgid "Important: PostNL is migrating to the new Future-proof API v4. Don't you have an API key yet, or do you have an API key issued before September 14, 2026? Request a new API key below. Enter your PostNL API key in the account configuration of the PostNL plug-in. This key is required to connect to the PostNL APIs. Without it you cannot create labels or use checkout features such as delivery days and pickup points." 1979 msgstr "PostNL stapt over op de nieuwe Future-proof API v4. Heb je nog geen API key of een API key van vóór 14 september 2026? Vraag dan hieronder een nieuwe API-key aan. Voer je PostNL API key in bij de accountconfiguratie van de PostNL-plug-in. Deze API key is vereist om verbinding te maken met de PostNL-API's. Zonder deze API key kun je geen verzendlabels aanmaken en geen gebruikmaken van checkout-functies zoals bezorgdagen en afhaalpunten." 1980 1961 1981 #: src/Order/Base.php:995 1962 1982 msgid "PostNL returned a label without a barcode. Please try generating the label again." … … 2008 2028 msgstr "" 2009 2029 2030 #: src/Shipping_Method/PostNL.php:166 2031 msgid "API key status" 2032 msgstr "API key-status" 2033 2034 #: src/Shipping_Method/Settings.php:96 2035 msgid "The key you were using before. It is locked because new keys go in the field below." 2036 msgstr "" 2037 2038 #: src/Shipping_Method/Settings.php:103 2039 msgid "API Key" 2040 msgstr "" 2041 2042 #: src/Shipping_Method/Settings.php:105 2043 msgid "Enter your PostNL API key here. You can get it from the Self Service module on the PostNL Business Portal." 2044 msgstr "" 2045 2046 #: src/Shipping_Method/Settings.php:117 2047 msgid "The sandbox key you were using before. It is locked because new keys go in the field below." 2048 msgstr "" 2049 2050 #: src/Shipping_Method/Settings.php:126 2051 msgid "Enter your PostNL sandbox API key here. You can get it from the Self Service module on the PostNL Business Portal." 2052 msgstr "" 2053 2054 #: src/Shipping_Method/Settings.php:1128 2055 msgid "Self Service module on the PostNL Business Portal" 2056 msgstr "" 2057 2058 #: src/Shipping_Method/Settings.php:1194 2059 msgid "Valid" 2060 msgstr "" 2061 2062 #: src/Shipping_Method/Settings.php:1196 2063 msgid "Your API key is working and will be used for the new PostNL APIs." 2064 msgstr "" 2065 2066 #: src/Shipping_Method/Settings.php:1203 2067 msgid "Same as old key" 2068 msgstr "" 2069 2070 #: src/Shipping_Method/Settings.php:1205 2071 msgid "This is the key you already had, not a new one." 2072 msgstr "" 2073 2074 #. translators: %s is a link to the PostNL Business Portal Self Service module. 2075 #: src/Shipping_Method/Settings.php:1207 2076 msgid "You need a separate key. Request one from the %s, then paste it into the field above." 2077 msgstr "" 2078 2079 #: src/Shipping_Method/Settings.php:1295 2080 msgid "Not valid" 2081 msgstr "" 2082 2083 #: src/Shipping_Method/Settings.php:1219 2084 msgid "Not set" 2085 msgstr "" 2086 2087 #: src/Shipping_Method/Settings.php:1221 2088 msgid "You have not entered your API key yet." 2089 msgstr "" 2090 2091 #. translators: %s is a link to the PostNL Business Portal Self Service module. 2092 #: src/Shipping_Method/Settings.php:1299 2093 msgid "Check that you copied the whole key with no extra spaces, then save again. If it keeps failing, request a new key from the %s." 2094 msgstr "" 2095 2010 2096 #: templates/emails/plain/smart-return-email.php:30 2011 2097 #: templates/emails/smart-return-email.php:39 … … 2016 2102 msgid "PostNL Smart Return barcode" 2017 2103 msgstr "" 2104 2105 #: src/Admin/Api_Key_Check.php:55 2106 msgid "You are not allowed to do this." 2107 msgstr "" 2108 2109 #: src/Admin/Api_Key_Check.php:91 2110 msgid "Too many checks in a short time. Please wait a moment and try again." 2111 msgstr "" 2112 2113 #: src/Rest_API/Barcode/Key_Validator.php:185 2114 msgid "Fill in your Customer Code and Customer Number first, then check the key again." 2115 msgstr "" 2116 2117 #: src/Rest_API/Barcode/Key_Validator.php:188 2118 msgid "PostNL could not process the check. This usually means the Customer Code or Customer Number does not match this key." 2119 msgstr "" 2120 2121 #: src/Rest_API/Barcode/Key_Validator.php:191 2122 msgid "We could not reach PostNL to check the key. Please try again in a few minutes." 2123 msgstr "" 2124 2125 #: src/Shipping_Method/Settings.php:1185 2126 msgid "Works, not saved yet" 2127 msgstr "" 2128 2129 #: src/Shipping_Method/Settings.php:1187 2130 msgid "This key works. Save changes to start using it." 2131 msgstr "" 2132 2133 #. translators: %s is a link to the PostNL Business Portal Self Service module. 2134 #: src/Shipping_Method/Settings.php:1224 2135 msgid "Request your new key from the %s and enter it above to switch over from your old key." 2136 msgstr "" 2137 2138 #. translators: %s is a link to the PostNL Business Portal Self Service module. 2139 #: src/Shipping_Method/Settings.php:1226 2140 msgid "Request your key from the %s and enter it above — the plug-in needs it to connect to PostNL." 2141 msgstr "" 2142 2143 #: src/Shipping_Method/Settings.php:1264 2144 msgid " The plug-in is still using your old key." 2145 msgstr "" 2146 2147 #: src/Shipping_Method/Settings.php:1265 2148 msgid " The plug-in has no working key to connect with yet." 2149 msgstr "" 2150 2151 #: src/Shipping_Method/Settings.php:1270 2152 #: src/Shipping_Method/Settings.php:1286 2153 msgid "Could not check" 2154 msgstr "" 2155 2156 #: src/Shipping_Method/Settings.php:1272 2157 msgid "PostNL could not process the check." 2158 msgstr "" 2159 2160 #: src/Shipping_Method/Settings.php:1273 2161 msgid "This usually means the Customer Code or Customer Number does not match this key. Check them and save again." 2162 msgstr "" 2163 2164 #: src/Shipping_Method/Settings.php:1278 2165 msgid "Not checked" 2166 msgstr "" 2167 2168 #: src/Shipping_Method/Settings.php:1280 2169 msgid "We have not checked this key yet." 2170 msgstr "" 2171 2172 #: src/Shipping_Method/Settings.php:1281 2173 msgid "Fill in your Customer Code and Customer Number, then save again." 2174 msgstr "" 2175 2176 #: src/Shipping_Method/Settings.php:1288 2177 msgid "We could not reach PostNL to check this key." 2178 msgstr "" 2179 2180 #: src/Shipping_Method/Settings.php:1289 2181 msgid "This is usually temporary. Save again in a few minutes." 2182 msgstr "" 2183 2184 #: src/Shipping_Method/Settings.php:1297 2185 msgid "PostNL rejected this key." 2186 msgstr "" -
woo-postnl/trunk/languages/postnl-for-woocommerce.pot
r3673827 r3697413 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: PostNL for WooCommerce 5.9.1 1\n"5 "Project-Id-Version: PostNL for WooCommerce 5.9.12\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/postnl-for-woocommerce\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026-0 8-31T09:57:49+00:00\n"12 "POT-Creation-Date: 2026-09-15T16:51:55+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.11.0\n" … … 38 38 #: postnl-for-woocommerce.php 39 39 msgid "https://postnl.post/" 40 msgstr "" 41 42 #: src/Admin/Api_Key_Banner.php:141 43 msgid "PostNL:" 44 msgstr "" 45 46 #: src/Admin/Api_Key_Banner.php:144 47 msgid "Get your API key" 48 msgstr "" 49 50 #: src/Admin/Api_Key_Banner.php:147 51 msgid "Remind me later" 52 msgstr "" 53 54 #: src/Admin/Api_Key_Banner.php:150 55 msgid "Dismiss" 56 msgstr "" 57 58 #: src/Admin/Api_Key_Banner.php:168 59 msgid "Important: In the latest update of the plug-in, an additional API key field has been added to the account configuration of the PostNL plug-in. This field must be filled in with the new API key that can be obtained via the Self Service module on the PostNL Business Portal. This API key is required to gain access to the new APIs that will be rolled out in a future update of the plug-in. It is very important that this key is entered before the relevant update is performed; otherwise, no connection can be made to the new PostNL APIs, and it will not be possible to create labels or use checkout features such as delivery days and pickup points." 60 msgstr "" 61 62 #: src/Admin/Api_Key_Banner.php:174 63 msgid "Important: PostNL is migrating to the new Future-proof API v4. Don't you have an API key yet, or do you have an API key issued before September 14, 2026? Request a new API key below. Enter your PostNL API key in the account configuration of the PostNL plug-in. This key is required to connect to the PostNL APIs. Without it you cannot create labels or use checkout features such as delivery days and pickup points." 64 msgstr "" 65 66 #: src/Admin/Api_Key_Check.php:55 67 msgid "You are not allowed to do this." 68 msgstr "" 69 70 #: src/Admin/Api_Key_Check.php:91 71 msgid "Too many checks in a short time. Please wait a moment and try again." 40 72 msgstr "" 41 73 … … 101 133 #: src/Frontend/Checkout_Fields.php:102 102 134 #: src/Frontend/Checkout_Fields.php:103 103 #: src/Shipping_Method/Settings.php:2 47135 #: src/Shipping_Method/Settings.php:276 104 136 msgid "House Number Extension" 105 137 msgstr "" … … 129 161 130 162 #: src/Frontend/Delivery_Day.php:115 131 #: src/Shipping_Method/Settings.php:3 41163 #: src/Shipping_Method/Settings.php:370 132 164 #: build/postnl-container-frontend.js:1 133 165 #: client/checkout/postnl-container/block.js:282 … … 175 207 176 208 #: src/Helper/Mapping.php:32 177 #: src/Shipping_Method/Settings.php: 372209 #: src/Shipping_Method/Settings.php:401 178 210 msgid "Morning Delivery" 179 211 msgstr "" … … 184 216 185 217 #: src/Helper/Mapping.php:34 186 #: src/Shipping_Method/Settings.php: 390218 #: src/Shipping_Method/Settings.php:419 187 219 msgid "Evening Delivery" 188 220 msgstr "" … … 193 225 194 226 #: src/Helper/Mapping.php:42 195 #: src/Shipping_Method/Settings.php:6 42227 #: src/Shipping_Method/Settings.php:671 196 228 #: src/Utils.php:622 197 229 msgid "Standard Shipment Belgium" … … 219 251 msgstr "" 220 252 221 #: src/Main.php: 396253 #: src/Main.php:401 222 254 msgid "PostNL plugin requires WooCommerce to be installed and activated!" 223 255 msgstr "" 224 256 225 #: src/Main.php:4 09257 #: src/Main.php:414 226 258 msgid "PostNL plugin requires store country to be Netherlands (NL) or Belgium (BE)!" 227 259 msgstr "" 228 260 229 #: src/Main.php:4 87261 #: src/Main.php:492 230 262 msgid "Postnl Checkout Blocks" 231 263 msgstr "" 232 264 233 #: src/Main.php:5 06265 #: src/Main.php:511 234 266 msgid "Leave a review" 235 267 msgstr "" 236 268 237 #: src/Main.php:5 26269 #: src/Main.php:531 238 270 msgid "Settings" 239 271 msgstr "" … … 264 296 265 297 #: src/Order/Base.php:317 266 #: src/Shipping_Method/Settings.php:6 24267 #: src/Shipping_Method/Settings.php:7 07298 #: src/Shipping_Method/Settings.php:653 299 #: src/Shipping_Method/Settings.php:736 268 300 msgid "Letterboxparcel Standard (24 hours)" 269 301 msgstr "" 270 302 271 303 #: src/Order/Base.php:329 272 #: src/Shipping_Method/Settings.php:6 25273 #: src/Shipping_Method/Settings.php:7 08304 #: src/Shipping_Method/Settings.php:654 305 #: src/Shipping_Method/Settings.php:737 274 306 msgid "Letterboxparcel 48 hours" 275 307 msgstr "" … … 428 460 429 461 #: src/Order/Bulk.php:534 430 #: src/Shipping_Method/Settings.php:6 11462 #: src/Shipping_Method/Settings.php:640 431 463 msgid "Shipping options domestic" 432 464 msgstr "" 433 465 434 466 #: src/Order/Bulk.php:552 435 #: src/Shipping_Method/Settings.php:6 54467 #: src/Shipping_Method/Settings.php:683 436 468 msgid "Shipping options EU" 437 469 msgstr "" … … 685 717 msgstr "" 686 718 687 #: src/Rest_API/Base.php:273 688 #: src/Rest_API/Base.php:282 689 #: src/Rest_API/Base.php:290 719 #: src/Rest_API/Barcode/Key_Validator.php:185 720 msgid "Fill in your Customer Code and Customer Number first, then check the key again." 721 msgstr "" 722 723 #: src/Rest_API/Barcode/Key_Validator.php:188 724 msgid "PostNL could not process the check. This usually means the Customer Code or Customer Number does not match this key." 725 msgstr "" 726 727 #: src/Rest_API/Barcode/Key_Validator.php:191 728 msgid "We could not reach PostNL to check the key. Please try again in a few minutes." 729 msgstr "" 730 731 #: src/Rest_API/Barcode/Key_Validator.php:195 732 msgid "The newly entered API key is invalid. Please check the key and enter it again." 733 msgstr "" 734 735 #: src/Rest_API/Base.php:278 736 #: src/Rest_API/Base.php:287 737 #: src/Rest_API/Base.php:295 690 738 msgid "Unknown error!" 691 739 msgstr "" … … 930 978 931 979 #: src/Shipping_Method/Fill_In_With_PostNL_Settings.php:67 932 #: src/Shipping_Method/Settings.php:1 15933 #: src/Shipping_Method/Settings.php: 187934 #: src/Shipping_Method/Settings.php:3 07935 #: src/Shipping_Method/Settings.php:3 43936 #: src/Shipping_Method/Settings.php: 374937 #: src/Shipping_Method/Settings.php: 392938 #: src/Shipping_Method/Settings.php: 476939 #: src/Shipping_Method/Settings.php: 484980 #: src/Shipping_Method/Settings.php:144 981 #: src/Shipping_Method/Settings.php:216 982 #: src/Shipping_Method/Settings.php:336 983 #: src/Shipping_Method/Settings.php:372 984 #: src/Shipping_Method/Settings.php:403 985 #: src/Shipping_Method/Settings.php:421 986 #: src/Shipping_Method/Settings.php:505 987 #: src/Shipping_Method/Settings.php:513 940 988 msgid "Enable" 941 989 msgstr "" … … 1091 1139 1092 1140 #. translators: %1$s & %2$s is replaced with <a> tag. 1093 #: src/Shipping_Method/PostNL.php: 391141 #: src/Shipping_Method/PostNL.php:40 1094 1142 msgid "Below you will find all functions for controlling, preparing and processing your shipment with PostNL. Prerequisite is a valid PostNL business customer contract. If you are not yet a PostNL business customer, you can request a quote %1$shere%2$s." 1095 1143 msgstr "" 1096 1144 1145 #: src/Shipping_Method/PostNL.php:166 1146 msgid "API key status" 1147 msgstr "" 1148 1097 1149 #. Translators: %s is the currency symbol. 1098 #: src/Shipping_Method/PostNL.php: 1171150 #: src/Shipping_Method/PostNL.php:218 1099 1151 msgid "Free shipping from %s" 1100 1152 msgstr "" 1101 1153 1102 #: src/Shipping_Method/PostNL.php: 1191154 #: src/Shipping_Method/PostNL.php:220 1103 1155 msgid "Keep empty if you don’t want to use Free shipping" 1104 1156 msgstr "" 1105 1157 1106 #: src/Shipping_Method/PostNL.php: 1861158 #: src/Shipping_Method/PostNL.php:297 1107 1159 msgid "Country" 1108 1160 msgstr "" 1109 1161 1110 #: src/Shipping_Method/PostNL.php: 1891162 #: src/Shipping_Method/PostNL.php:300 1111 1163 msgid "Merchant Code" 1112 1164 msgstr "" 1113 1165 1114 #: src/Shipping_Method/PostNL.php: 1921166 #: src/Shipping_Method/PostNL.php:303 1115 1167 msgid "Action" 1116 1168 msgstr "" 1117 1169 1118 #: src/Shipping_Method/PostNL.php: 2031119 #: src/Shipping_Method/PostNL.php: 2431170 #: src/Shipping_Method/PostNL.php:314 1171 #: src/Shipping_Method/PostNL.php:354 1120 1172 msgid "Select Country" 1121 1173 msgstr "" 1122 1174 1123 #: src/Shipping_Method/PostNL.php: 2151124 #: src/Shipping_Method/PostNL.php: 2551175 #: src/Shipping_Method/PostNL.php:326 1176 #: src/Shipping_Method/PostNL.php:366 1125 1177 msgid "Enter merchant code" 1126 1178 msgstr "" 1127 1179 1128 #: src/Shipping_Method/PostNL.php: 2201129 #: src/Shipping_Method/PostNL.php: 2601180 #: src/Shipping_Method/PostNL.php:331 1181 #: src/Shipping_Method/PostNL.php:371 1130 1182 msgid "Remove" 1131 1183 msgstr "" 1132 1184 1133 #: src/Shipping_Method/PostNL.php: 2291185 #: src/Shipping_Method/PostNL.php:340 1134 1186 msgid "Add Merchant Code" 1135 1187 msgstr "" 1136 1188 1137 #: src/Shipping_Method/PostNL.php: 2911189 #: src/Shipping_Method/PostNL.php:402 1138 1190 msgid "Duplicate countries found and have been removed. Only the last entry for each country will be saved." 1139 1191 msgstr "" 1140 1192 1141 #: src/Shipping_Method/PostNL.php: 3101193 #: src/Shipping_Method/PostNL.php:421 1142 1194 msgid "Some merchant codes were not saved because of missing country or code." 1143 1195 msgstr "" 1144 1196 1145 #: src/Shipping_Method/Settings.php:6 31197 #: src/Shipping_Method/Settings.php:64 1146 1198 msgid "Manual" 1147 1199 msgstr "" 1148 1200 1149 1201 #. translators: %1$s & %2$s is replaced with <a> tag. 1150 #: src/Shipping_Method/Settings.php:6 61202 #: src/Shipping_Method/Settings.php:67 1151 1203 msgid "Consult the %1$smanual%2$s for help installing the plug-in." 1152 1204 msgstr "" 1153 1205 1154 #: src/Shipping_Method/Settings.php:7 01206 #: src/Shipping_Method/Settings.php:71 1155 1207 msgid "Account Settings" 1156 1208 msgstr "" 1157 1209 1158 1210 #. translators: %1$s & %2$s is replaced with <a> tag. 1159 #: src/Shipping_Method/Settings.php:7 31211 #: src/Shipping_Method/Settings.php:74 1160 1212 msgid "Please configure your shipping parameters and your access towards the PostNL APIs by means of authentication. You can find the details of your PostNL account in Mijn %1$sPostNL%2$s under \"My Account > API beheren\"." 1161 1213 msgstr "" 1162 1214 1163 #: src/Shipping_Method/Settings.php:7 61215 #: src/Shipping_Method/Settings.php:77 1164 1216 msgid "Environment Mode" 1165 1217 msgstr "" 1166 1218 1167 #: src/Shipping_Method/Settings.php:7 81219 #: src/Shipping_Method/Settings.php:79 1168 1220 msgid "Choose the environment mode." 1169 1221 msgstr "" 1170 1222 1171 #: src/Shipping_Method/Settings.php:8 11223 #: src/Shipping_Method/Settings.php:82 1172 1224 msgid "Production" 1173 1225 msgstr "" 1174 1226 1175 #: src/Shipping_Method/Settings.php:8 21227 #: src/Shipping_Method/Settings.php:83 1176 1228 msgid "Sandbox" 1177 1229 msgstr "" 1178 1230 1179 #: src/Shipping_Method/Settings.php:89 1180 msgid "Production API Key" 1181 msgstr "" 1182 1183 #. translators: %1$s & %2$s is replaced with <a> tag. 1184 #: src/Shipping_Method/Settings.php:92 1185 msgid "Insert your PostNL production API-key. You can find your API-key on Mijn %1$sPostNL%2$s under \"My Account\"." 1186 msgstr "" 1187 1188 #: src/Shipping_Method/Settings.php:98 1231 #: src/Shipping_Method/Settings.php:94 1232 msgid "Old API Key" 1233 msgstr "" 1234 1235 #: src/Shipping_Method/Settings.php:96 1236 msgid "The key you were using before. It is locked because new keys go in the field below." 1237 msgstr "" 1238 1239 #: src/Shipping_Method/Settings.php:103 1240 msgid "API Key" 1241 msgstr "" 1242 1243 #: src/Shipping_Method/Settings.php:105 1244 msgid "Enter your PostNL API key here. You can get it from the Self Service module on the PostNL Business Portal." 1245 msgstr "" 1246 1247 #: src/Shipping_Method/Settings.php:115 1248 msgid "Old Sandbox API Key" 1249 msgstr "" 1250 1251 #: src/Shipping_Method/Settings.php:117 1252 msgid "The sandbox key you were using before. It is locked because new keys go in the field below." 1253 msgstr "" 1254 1255 #: src/Shipping_Method/Settings.php:124 1189 1256 msgid "Sandbox API Key" 1190 1257 msgstr "" 1191 1258 1192 #. translators: %1$s & %2$s is replaced with <a> tag. 1193 #: src/Shipping_Method/Settings.php:101 1194 msgid "Insert your PostNL staging API-key. You can find your API-key on Mijn %1$sPostNL%2$s under \"My Account\"." 1195 msgstr "" 1196 1197 #: src/Shipping_Method/Settings.php:107 1259 #: src/Shipping_Method/Settings.php:126 1260 msgid "Enter your PostNL sandbox API key here. You can get it from the Self Service module on the PostNL Business Portal." 1261 msgstr "" 1262 1263 #: src/Shipping_Method/Settings.php:136 1198 1264 msgid "Logging" 1199 1265 msgstr "" 1200 1266 1201 1267 #. translators: %1$s is anchor opener tag and %2$s is anchor closer tag. 1202 #: src/Shipping_Method/Settings.php:1 111268 #: src/Shipping_Method/Settings.php:140 1203 1269 msgid "A log file containing the communication to the PostNL server will be maintained if this option is checked. This can be used in case of technical issues and can be found %1$shere%2$s." 1204 1270 msgstr "" 1205 1271 1206 #: src/Shipping_Method/Settings.php:1 211272 #: src/Shipping_Method/Settings.php:150 1207 1273 msgid "Customer Number" 1208 1274 msgstr "" 1209 1275 1210 #: src/Shipping_Method/Settings.php:1 231276 #: src/Shipping_Method/Settings.php:152 1211 1277 msgid "e.g. \"11223344\"" 1212 1278 msgstr "" 1213 1279 1214 #: src/Shipping_Method/Settings.php:1 291280 #: src/Shipping_Method/Settings.php:158 1215 1281 msgid "Customer Code" 1216 1282 msgstr "" 1217 1283 1218 #: src/Shipping_Method/Settings.php:1 311284 #: src/Shipping_Method/Settings.php:160 1219 1285 msgid "e.g. \"DEVC\"" 1220 1286 msgstr "" 1221 1287 1222 #: src/Shipping_Method/Settings.php:1 381288 #: src/Shipping_Method/Settings.php:167 1223 1289 msgid "Company Name" 1224 1290 msgstr "" 1225 1291 1226 #: src/Shipping_Method/Settings.php:1 401292 #: src/Shipping_Method/Settings.php:169 1227 1293 msgid "Enter company name - this name will be noted as the sender on the label" 1228 1294 msgstr "" 1229 1295 1230 #: src/Shipping_Method/Settings.php:1 591296 #: src/Shipping_Method/Settings.php:188 1231 1297 msgid "Return Settings" 1232 1298 msgstr "" 1233 1299 1234 #: src/Shipping_Method/Settings.php:1 641300 #: src/Shipping_Method/Settings.php:193 1235 1301 msgid "Standard return option" 1236 1302 msgstr "" 1237 1303 1238 #: src/Shipping_Method/Settings.php:1 661304 #: src/Shipping_Method/Settings.php:195 1239 1305 msgid "- None: return labels are not automatically created" 1240 1306 msgstr "" 1241 1307 1242 #: src/Shipping_Method/Settings.php:1 671308 #: src/Shipping_Method/Settings.php:196 1243 1309 msgid "- Label in the box: a separate return label is created at the same time as the label for the outward shipment and can be included in the box." 1244 1310 msgstr "" 1245 1311 1246 #: src/Shipping_Method/Settings.php:1 701312 #: src/Shipping_Method/Settings.php:199 1247 1313 msgid "None" 1248 1314 msgstr "" 1249 1315 1250 #: src/Shipping_Method/Settings.php: 1711316 #: src/Shipping_Method/Settings.php:200 1251 1317 msgid "Label in the box" 1252 1318 msgstr "" 1253 1319 1254 #: src/Shipping_Method/Settings.php: 1851320 #: src/Shipping_Method/Settings.php:214 1255 1321 msgid "Directly activate return function for all labels" 1256 1322 msgstr "" 1257 1323 1258 #: src/Shipping_Method/Settings.php: 1901324 #: src/Shipping_Method/Settings.php:219 1259 1325 msgid "Yes, activate return function directly for all orders" 1260 1326 msgstr "" 1261 1327 1262 #: src/Shipping_Method/Settings.php: 1911328 #: src/Shipping_Method/Settings.php:220 1263 1329 msgid "No, activate return function per individual order" 1264 1330 msgstr "" 1265 1331 1266 #: src/Shipping_Method/Settings.php: 1961332 #: src/Shipping_Method/Settings.php:225 1267 1333 msgid "Activate Smart Return" 1268 1334 msgstr "" 1269 1335 1270 #: src/Shipping_Method/Settings.php: 1991271 #: src/Shipping_Method/Settings.php:2 051336 #: src/Shipping_Method/Settings.php:228 1337 #: src/Shipping_Method/Settings.php:234 1272 1338 msgid "Activate" 1273 1339 msgstr "" 1274 1340 1275 #: src/Shipping_Method/Settings.php:2 031341 #: src/Shipping_Method/Settings.php:232 1276 1342 msgid "Return to home address" 1277 1343 msgstr "" 1278 1344 1279 #: src/Shipping_Method/Settings.php:2 061345 #: src/Shipping_Method/Settings.php:235 1280 1346 msgid "Activate this setting to use a home address for return shipments" 1281 1347 msgstr "" 1282 1348 1283 #: src/Shipping_Method/Settings.php:2 101349 #: src/Shipping_Method/Settings.php:239 1284 1350 msgid "Replynumber" 1285 1351 msgstr "" 1286 1352 1287 #: src/Shipping_Method/Settings.php:2 121353 #: src/Shipping_Method/Settings.php:241 1288 1354 msgid "Enter replynumber." 1289 1355 msgstr "" 1290 1356 1291 #: src/Shipping_Method/Settings.php:2 191357 #: src/Shipping_Method/Settings.php:248 1292 1358 msgid "Freepost Zipcode" 1293 1359 msgstr "" 1294 1360 1295 #: src/Shipping_Method/Settings.php:2 211361 #: src/Shipping_Method/Settings.php:250 1296 1362 msgid "Enter Freepost Zipcode." 1297 1363 msgstr "" 1298 1364 1299 #: src/Shipping_Method/Settings.php:2 261365 #: src/Shipping_Method/Settings.php:255 1300 1366 msgid "Freepost City" 1301 1367 msgstr "" 1302 1368 1303 #: src/Shipping_Method/Settings.php:2 281369 #: src/Shipping_Method/Settings.php:257 1304 1370 msgid "Enter Freepost City." 1305 1371 msgstr "" 1306 1372 1307 #: src/Shipping_Method/Settings.php:2 331373 #: src/Shipping_Method/Settings.php:262 1308 1374 msgid "Street Address" 1309 1375 msgstr "" 1310 1376 1311 #: src/Shipping_Method/Settings.php:2 351377 #: src/Shipping_Method/Settings.php:264 1312 1378 msgid "Enter Return Street Address." 1313 1379 msgstr "" 1314 1380 1315 #: src/Shipping_Method/Settings.php:2 401381 #: src/Shipping_Method/Settings.php:269 1316 1382 msgid "House Number" 1317 1383 msgstr "" 1318 1384 1319 #: src/Shipping_Method/Settings.php:2 421385 #: src/Shipping_Method/Settings.php:271 1320 1386 msgid "Enter return house number." 1321 1387 msgstr "" 1322 1388 1323 #: src/Shipping_Method/Settings.php:2 491389 #: src/Shipping_Method/Settings.php:278 1324 1390 msgid "Enter return house number extension." 1325 1391 msgstr "" 1326 1392 1327 #: src/Shipping_Method/Settings.php:2 541393 #: src/Shipping_Method/Settings.php:283 1328 1394 msgid "Zipcode" 1329 1395 msgstr "" 1330 1396 1331 #: src/Shipping_Method/Settings.php:2 561397 #: src/Shipping_Method/Settings.php:285 1332 1398 msgid "Enter Return Zipcode." 1333 1399 msgstr "" 1334 1400 1335 #: src/Shipping_Method/Settings.php:2 611401 #: src/Shipping_Method/Settings.php:290 1336 1402 msgid "City" 1337 1403 msgstr "" 1338 1404 1339 #: src/Shipping_Method/Settings.php:2 631405 #: src/Shipping_Method/Settings.php:292 1340 1406 msgid "Enter Return City." 1341 1407 msgstr "" 1342 1408 1343 #: src/Shipping_Method/Settings.php:2 681409 #: src/Shipping_Method/Settings.php:297 1344 1410 msgid "Return Customer Code" 1345 1411 msgstr "" 1346 1412 1347 #: src/Shipping_Method/Settings.php:2 701413 #: src/Shipping_Method/Settings.php:299 1348 1414 msgid "Be aware that the Return Customer Code differs from the regular Customer Code. You can find your Return customer code in Mijn PostNL." 1349 1415 msgstr "" 1350 1416 1351 #: src/Shipping_Method/Settings.php: 2761417 #: src/Shipping_Method/Settings.php:305 1352 1418 msgid "Checkout Settings" 1353 1419 msgstr "" 1354 1420 1355 #: src/Shipping_Method/Settings.php: 2781421 #: src/Shipping_Method/Settings.php:307 1356 1422 msgid "Please configure your checkout preferences." 1357 1423 msgstr "" 1358 1424 1359 #: src/Shipping_Method/Settings.php: 2811425 #: src/Shipping_Method/Settings.php:310 1360 1426 msgid "Shipping Methods" 1361 1427 msgstr "" 1362 1428 1363 #: src/Shipping_Method/Settings.php: 2831429 #: src/Shipping_Method/Settings.php:312 1364 1430 msgid "Select Shipping Methods can be associated with PostNL." 1365 1431 msgstr "" 1366 1432 1367 #: src/Shipping_Method/Settings.php: 2891433 #: src/Shipping_Method/Settings.php:318 1368 1434 msgid "Extra fee for the letterboxparcel (24 hours)" 1369 1435 msgstr "" 1370 1436 1371 #: src/Shipping_Method/Settings.php: 2911437 #: src/Shipping_Method/Settings.php:320 1372 1438 msgid "Extra fee added when Letterboxparcel Standard (24 hours) has been selected." 1373 1439 msgstr "" 1374 1440 1375 #: src/Shipping_Method/Settings.php: 2971441 #: src/Shipping_Method/Settings.php:326 1376 1442 msgid "Letterbox fee" 1377 1443 msgstr "" 1378 1444 1379 #: src/Shipping_Method/Settings.php: 2991445 #: src/Shipping_Method/Settings.php:328 1380 1446 msgid "Overrides the shipping cost when all items are eligible for letterbox delivery. Leave empty to use the standard shipping cost. The fee is set to €0 when free shipping applies." 1381 1447 msgstr "" 1382 1448 1383 #: src/Shipping_Method/Settings.php:3 051449 #: src/Shipping_Method/Settings.php:334 1384 1450 msgid "PostNL Pick-up Points" 1385 1451 msgstr "" 1386 1452 1387 #: src/Shipping_Method/Settings.php:3 081453 #: src/Shipping_Method/Settings.php:337 1388 1454 msgid "Show PostNL pick-up points in the checkout so that your customers can choose to get their orders delivered at a PostNL pick-up point." 1389 1455 msgstr "" 1390 1456 1391 #: src/Shipping_Method/Settings.php:3 151457 #: src/Shipping_Method/Settings.php:344 1392 1458 msgid "Extra fee pick-up delivery" 1393 1459 msgstr "" 1394 1460 1395 #: src/Shipping_Method/Settings.php:3 171461 #: src/Shipping_Method/Settings.php:346 1396 1462 msgid "Extra fee added when the customer selects a PostNL pick-up point." 1397 1463 msgstr "" 1398 1464 1399 #: src/Shipping_Method/Settings.php:3 441465 #: src/Shipping_Method/Settings.php:373 1400 1466 msgid "Show delivery days in the checkout so that your customers can choose which day to receive their order." 1401 1467 msgstr "" 1402 1468 1403 #: src/Shipping_Method/Settings.php:3 511469 #: src/Shipping_Method/Settings.php:380 1404 1470 msgid "Extra fee home delivery" 1405 1471 msgstr "" 1406 1472 1407 #: src/Shipping_Method/Settings.php:3 531473 #: src/Shipping_Method/Settings.php:382 1408 1474 msgid "Extra fee added when the customer selects home delivery." 1409 1475 msgstr "" 1410 1476 1411 #: src/Shipping_Method/Settings.php:3 591477 #: src/Shipping_Method/Settings.php:388 1412 1478 msgid "Number of Delivery Days" 1413 1479 msgstr "" 1414 1480 1415 #: src/Shipping_Method/Settings.php:3 611481 #: src/Shipping_Method/Settings.php:390 1416 1482 msgid "Number of delivery days displayed in the frontend. Maximum will be 12." 1417 1483 msgstr "" 1418 1484 1419 #: src/Shipping_Method/Settings.php: 3751485 #: src/Shipping_Method/Settings.php:404 1420 1486 msgid "Enable morning delivery in the checkout so your customers can choose to receive their orders in the morning." 1421 1487 msgstr "" 1422 1488 1423 #: src/Shipping_Method/Settings.php: 3821489 #: src/Shipping_Method/Settings.php:411 1424 1490 msgid "Morning Delivery Fee" 1425 1491 msgstr "" 1426 1492 1427 #: src/Shipping_Method/Settings.php: 3841493 #: src/Shipping_Method/Settings.php:413 1428 1494 msgid "Fee for receiving orders in the morning." 1429 1495 msgstr "" 1430 1496 1431 #: src/Shipping_Method/Settings.php: 3931497 #: src/Shipping_Method/Settings.php:422 1432 1498 msgid "Enable evening delivery in the checkout so your customers can choose to receive their orders in the evening." 1433 1499 msgstr "" 1434 1500 1435 #: src/Shipping_Method/Settings.php:4 001501 #: src/Shipping_Method/Settings.php:429 1436 1502 msgid "Evening Delivery Fee" 1437 1503 msgstr "" 1438 1504 1439 #: src/Shipping_Method/Settings.php:4 021505 #: src/Shipping_Method/Settings.php:431 1440 1506 msgid "Fee for receiving orders in the evening." 1441 1507 msgstr "" 1442 1508 1443 #: src/Shipping_Method/Settings.php:4 081509 #: src/Shipping_Method/Settings.php:437 1444 1510 msgid "Default Delivery Options Tab" 1445 1511 msgstr "" 1446 1512 1447 #: src/Shipping_Method/Settings.php:4 101513 #: src/Shipping_Method/Settings.php:439 1448 1514 msgid "Choose which tab is shown first in the delivery options menu at checkout." 1449 1515 msgstr "" 1450 1516 1451 #: src/Shipping_Method/Settings.php:4 141517 #: src/Shipping_Method/Settings.php:443 1452 1518 msgid "Home Delivery" 1453 1519 msgstr "" 1454 1520 1455 #: src/Shipping_Method/Settings.php:4 151521 #: src/Shipping_Method/Settings.php:444 1456 1522 msgid "Pickup Points" 1457 1523 msgstr "" 1458 1524 1459 #: src/Shipping_Method/Settings.php:4 211525 #: src/Shipping_Method/Settings.php:450 1460 1526 msgid "Transit Time" 1461 1527 msgstr "" 1462 1528 1463 #: src/Shipping_Method/Settings.php:4 231529 #: src/Shipping_Method/Settings.php:452 1464 1530 msgid "The number of days it takes for the order to be delivered after the order has been placed." 1465 1531 msgstr "" 1466 1532 1467 #: src/Shipping_Method/Settings.php:4 291533 #: src/Shipping_Method/Settings.php:458 1468 1534 msgid "Cut Off Time" 1469 1535 msgstr "" 1470 1536 1471 #: src/Shipping_Method/Settings.php:4 311537 #: src/Shipping_Method/Settings.php:460 1472 1538 msgid "If an order is ordered after this time, one day will be added to the transit time." 1473 1539 msgstr "" 1474 1540 1475 #: src/Shipping_Method/Settings.php:4 371541 #: src/Shipping_Method/Settings.php:466 1476 1542 msgid "Drop off Days" 1477 1543 msgstr "" 1478 1544 1479 #: src/Shipping_Method/Settings.php:4 391545 #: src/Shipping_Method/Settings.php:468 1480 1546 #: src/Utils.php:33 1481 1547 msgid "Monday" 1482 1548 msgstr "" 1483 1549 1484 #: src/Shipping_Method/Settings.php:4 401550 #: src/Shipping_Method/Settings.php:469 1485 1551 msgid "Select which days orders will be shipped." 1486 1552 msgstr "" 1487 1553 1488 #: src/Shipping_Method/Settings.php:4 461554 #: src/Shipping_Method/Settings.php:475 1489 1555 #: src/Utils.php:34 1490 1556 msgid "Tuesday" 1491 1557 msgstr "" 1492 1558 1493 #: src/Shipping_Method/Settings.php:4 511559 #: src/Shipping_Method/Settings.php:480 1494 1560 #: src/Utils.php:35 1495 1561 msgid "Wednesday" 1496 1562 msgstr "" 1497 1563 1498 #: src/Shipping_Method/Settings.php:4 561564 #: src/Shipping_Method/Settings.php:485 1499 1565 #: src/Utils.php:36 1500 1566 msgid "Thursday" 1501 1567 msgstr "" 1502 1568 1503 #: src/Shipping_Method/Settings.php:4 611569 #: src/Shipping_Method/Settings.php:490 1504 1570 #: src/Utils.php:37 1505 1571 msgid "Friday" 1506 1572 msgstr "" 1507 1573 1508 #: src/Shipping_Method/Settings.php:4 661574 #: src/Shipping_Method/Settings.php:495 1509 1575 #: src/Utils.php:38 1510 1576 msgid "Saturday" 1511 1577 msgstr "" 1512 1578 1513 #: src/Shipping_Method/Settings.php: 4711579 #: src/Shipping_Method/Settings.php:500 1514 1580 #: src/Utils.php:39 1515 1581 msgid "Sunday" 1516 1582 msgstr "" 1517 1583 1518 #: src/Shipping_Method/Settings.php: 4741584 #: src/Shipping_Method/Settings.php:503 1519 1585 msgid "Validate Dutch addresses" 1520 1586 msgstr "" 1521 1587 1522 #: src/Shipping_Method/Settings.php: 4771588 #: src/Shipping_Method/Settings.php:506 1523 1589 msgid "Based on zipcode and housenumber combination the address is checked." 1524 1590 msgstr "" 1525 1591 1526 #: src/Shipping_Method/Settings.php: 4821592 #: src/Shipping_Method/Settings.php:511 1527 1593 msgid "Use PostNL address-field" 1528 1594 msgstr "" 1529 1595 1530 #: src/Shipping_Method/Settings.php: 4851596 #: src/Shipping_Method/Settings.php:514 1531 1597 msgid "For zipcode, housenumber, housenumber extension and street separate address fields are displayed when this settings is enabled. This only applies for Dutch addresses." 1532 1598 msgstr "" 1533 1599 1534 #: src/Shipping_Method/Settings.php: 4921600 #: src/Shipping_Method/Settings.php:521 1535 1601 msgid "Shipping Outside Europe Settings" 1536 1602 msgstr "" 1537 1603 1538 #: src/Shipping_Method/Settings.php: 4941604 #: src/Shipping_Method/Settings.php:523 1539 1605 msgid "Please insert your Parcels non-EU credentials." 1540 1606 msgstr "" 1541 1607 1542 #: src/Shipping_Method/Settings.php: 4971608 #: src/Shipping_Method/Settings.php:526 1543 1609 msgid "Parcels non-EU Barcode Type" 1544 1610 msgstr "" 1545 1611 1546 #: src/Shipping_Method/Settings.php:5 021612 #: src/Shipping_Method/Settings.php:531 1547 1613 msgid "CD" 1548 1614 msgstr "" 1549 1615 1550 #: src/Shipping_Method/Settings.php:5 061616 #: src/Shipping_Method/Settings.php:535 1551 1617 msgid "Parcels non-EU Customer Code" 1552 1618 msgstr "" 1553 1619 1554 #: src/Shipping_Method/Settings.php:5 111620 #: src/Shipping_Method/Settings.php:540 1555 1621 msgid "1234" 1556 1622 msgstr "" 1557 1623 1558 #: src/Shipping_Method/Settings.php:5 151624 #: src/Shipping_Method/Settings.php:544 1559 1625 msgid "Default HS Tariff Code" 1560 1626 msgstr "" 1561 1627 1562 #: src/Shipping_Method/Settings.php:5 171628 #: src/Shipping_Method/Settings.php:546 1563 1629 msgid "The HS tariff code is used by customs to classify goods. The HS tariff code can be found on the website of the Dutch Chamber of Commerce." 1564 1630 msgstr "" 1565 1631 1566 #: src/Shipping_Method/Settings.php:5 231632 #: src/Shipping_Method/Settings.php:552 1567 1633 msgid "Default Country of Origin" 1568 1634 msgstr "" 1569 1635 1570 #: src/Shipping_Method/Settings.php:5 251636 #: src/Shipping_Method/Settings.php:554 1571 1637 msgid "Default country of origin is used by customs." 1572 1638 msgstr "" 1573 1639 1574 #: src/Shipping_Method/Settings.php:5 321640 #: src/Shipping_Method/Settings.php:561 1575 1641 msgid "Merchant Customs Code" 1576 1642 msgstr "" 1577 1643 1578 #: src/Shipping_Method/Settings.php:5 341644 #: src/Shipping_Method/Settings.php:563 1579 1645 msgid "Add merchant codes for specific non-EU countries." 1580 1646 msgstr "" 1581 1647 1582 #: src/Shipping_Method/Settings.php:5 411648 #: src/Shipping_Method/Settings.php:570 1583 1649 msgid "Printer & Email Settings" 1584 1650 msgstr "" 1585 1651 1586 #: src/Shipping_Method/Settings.php:5 431652 #: src/Shipping_Method/Settings.php:572 1587 1653 msgid "Please configure your printer and email preferences." 1588 1654 msgstr "" 1589 1655 1590 #: src/Shipping_Method/Settings.php:5 461656 #: src/Shipping_Method/Settings.php:575 1591 1657 msgid "Printer Type" 1592 1658 msgstr "" 1593 1659 1594 #: src/Shipping_Method/Settings.php:5 481660 #: src/Shipping_Method/Settings.php:577 1595 1661 msgid "It is not recommended to send .pdf files/labels directly to a Zebra printer If you want to send it directly to your Zebra printer, please use .gif files or the native (generic) zpl printer type" 1596 1662 msgstr "" 1597 1663 1598 #: src/Shipping_Method/Settings.php:5 591664 #: src/Shipping_Method/Settings.php:588 1599 1665 msgid "DPI" 1600 1666 msgstr "" 1601 1667 1602 #: src/Shipping_Method/Settings.php:5 691668 #: src/Shipping_Method/Settings.php:598 1603 1669 msgid "Label Format" 1604 1670 msgstr "" 1605 1671 1606 #: src/Shipping_Method/Settings.php: 5711672 #: src/Shipping_Method/Settings.php:600 1607 1673 msgid "Use A6 format in case you use a labelprinter. Use A4 format for other regular printers." 1608 1674 msgstr "" 1609 1675 1610 #: src/Shipping_Method/Settings.php: 5811676 #: src/Shipping_Method/Settings.php:610 1611 1677 msgid "Shipping confirmation e-mail address" 1612 1678 msgstr "" 1613 1679 1614 #: src/Shipping_Method/Settings.php: 5831680 #: src/Shipping_Method/Settings.php:612 1615 1681 msgid "This e-mail address will be used by PostNL for shipping confirmations. If left empty, no sender e-mail will be included." 1616 1682 msgstr "" 1617 1683 1618 #: src/Shipping_Method/Settings.php: 5871684 #: src/Shipping_Method/Settings.php:616 1619 1685 msgid "WooCommerce Email" 1620 1686 msgstr "" 1621 1687 1622 #: src/Shipping_Method/Settings.php: 5891623 #: src/Shipping_Method/Settings.php: 5901688 #: src/Shipping_Method/Settings.php:618 1689 #: src/Shipping_Method/Settings.php:619 1624 1690 msgid "When PostNL label is created send email to customer." 1625 1691 msgstr "" 1626 1692 1627 #: src/Shipping_Method/Settings.php: 5961693 #: src/Shipping_Method/Settings.php:625 1628 1694 msgid "WooCommerce Email Text" 1629 1695 msgstr "" 1630 1696 1631 #: src/Shipping_Method/Settings.php: 5981697 #: src/Shipping_Method/Settings.php:627 1632 1698 msgid "Text added for tracking note email." 1633 1699 msgstr "" 1634 1700 1635 #: src/Shipping_Method/Settings.php:6 001636 #: src/Shipping_Method/Settings.php:6 011701 #: src/Shipping_Method/Settings.php:629 1702 #: src/Shipping_Method/Settings.php:630 1637 1703 msgid "This is your track and track link {tracking-link}" 1638 1704 msgstr "" 1639 1705 1640 #: src/Shipping_Method/Settings.php:6 051641 #: src/Shipping_Method/Settings.php:7 381706 #: src/Shipping_Method/Settings.php:634 1707 #: src/Shipping_Method/Settings.php:782 1642 1708 msgid "Default shipping Options Settings" 1643 1709 msgstr "" 1644 1710 1645 #: src/Shipping_Method/Settings.php:6 071646 #: src/Shipping_Method/Settings.php:7 401711 #: src/Shipping_Method/Settings.php:636 1712 #: src/Shipping_Method/Settings.php:784 1647 1713 msgid "Please select Default shipping Options." 1648 1714 msgstr "" 1649 1715 1650 #: src/Shipping_Method/Settings.php:6 131716 #: src/Shipping_Method/Settings.php:642 1651 1717 msgid "Select a default shipping option for domestic orders that are shipped with PostNL." 1652 1718 msgstr "" 1653 1719 1654 #: src/Shipping_Method/Settings.php:6 171720 #: src/Shipping_Method/Settings.php:646 1655 1721 #: src/Utils.php:615 1656 1722 msgid "Standard shipment" 1657 1723 msgstr "" 1658 1724 1659 #: src/Shipping_Method/Settings.php:6 181660 #: src/Shipping_Method/Settings.php: 6951725 #: src/Shipping_Method/Settings.php:647 1726 #: src/Shipping_Method/Settings.php:724 1661 1727 #: src/Utils.php:616 1662 1728 msgid "ID Check (18+)" 1663 1729 msgstr "" 1664 1730 1665 #: src/Shipping_Method/Settings.php:6 191666 #: src/Shipping_Method/Settings.php: 6971731 #: src/Shipping_Method/Settings.php:648 1732 #: src/Shipping_Method/Settings.php:726 1667 1733 msgid "ID Check (18+) + Insured Shipping" 1668 1734 msgstr "" 1669 1735 1670 #: src/Shipping_Method/Settings.php:6 211736 #: src/Shipping_Method/Settings.php:650 1671 1737 #: src/Utils.php:617 1672 1738 msgid "Return if no answer" 1673 1739 msgstr "" 1674 1740 1675 #: src/Shipping_Method/Settings.php:6 221741 #: src/Shipping_Method/Settings.php:651 1676 1742 #: src/Utils.php:618 1677 1743 msgid "Signature on Delivery" 1678 1744 msgstr "" 1679 1745 1680 #: src/Shipping_Method/Settings.php:6 231746 #: src/Shipping_Method/Settings.php:652 1681 1747 #: src/Utils.php:619 1682 1748 msgid "Only Home Address" 1683 1749 msgstr "" 1684 1750 1685 #: src/Shipping_Method/Settings.php:6 261751 #: src/Shipping_Method/Settings.php:655 1686 1752 msgid "Signature on Delivery + Insured Shipping" 1687 1753 msgstr "" 1688 1754 1689 #: src/Shipping_Method/Settings.php:6 271755 #: src/Shipping_Method/Settings.php:656 1690 1756 msgid "Signature on Delivery + Return if no answer" 1691 1757 msgstr "" 1692 1758 1693 #: src/Shipping_Method/Settings.php:6 281759 #: src/Shipping_Method/Settings.php:657 1694 1760 msgid "Insured Shipping + Return if no answer + Signature on Delivery" 1695 1761 msgstr "" 1696 1762 1697 #: src/Shipping_Method/Settings.php:6 291763 #: src/Shipping_Method/Settings.php:658 1698 1764 msgid "Only Home Address + Return if no answer" 1699 1765 msgstr "" 1700 1766 1701 #: src/Shipping_Method/Settings.php:6 301767 #: src/Shipping_Method/Settings.php:659 1702 1768 msgid "Only Home Address + Return if no answer + Signature on Delivery" 1703 1769 msgstr "" 1704 1770 1705 #: src/Shipping_Method/Settings.php:6 311771 #: src/Shipping_Method/Settings.php:660 1706 1772 msgid "Only Home Address + Signature on Delivery" 1707 1773 msgstr "" 1708 1774 1709 #: src/Shipping_Method/Settings.php:6 321775 #: src/Shipping_Method/Settings.php:661 1710 1776 msgid "Delivery Code at Door + Insured Shipping" 1711 1777 msgstr "" 1712 1778 1713 #: src/Shipping_Method/Settings.php:6 361779 #: src/Shipping_Method/Settings.php:665 1714 1780 msgid "Shipping options Belgium" 1715 1781 msgstr "" 1716 1782 1717 #: src/Shipping_Method/Settings.php:6 381783 #: src/Shipping_Method/Settings.php:667 1718 1784 msgid "Select a default shipping option for the orders shipped to Belgium with PostNL." 1719 1785 msgstr "" 1720 1786 1721 #: src/Shipping_Method/Settings.php:6 431787 #: src/Shipping_Method/Settings.php:672 1722 1788 msgid "Standard Shipment Belgium + Only Home Address" 1723 1789 msgstr "" 1724 1790 1725 #: src/Shipping_Method/Settings.php:6 441791 #: src/Shipping_Method/Settings.php:673 1726 1792 msgid "Standard Shipment Belgium + Signature on Delivery" 1727 1793 msgstr "" 1728 1794 1729 #: src/Shipping_Method/Settings.php:6 451795 #: src/Shipping_Method/Settings.php:674 1730 1796 msgid "Standard Shipment Belgium + Insured Shipping" 1731 1797 msgstr "" 1732 1798 1733 #: src/Shipping_Method/Settings.php:6 461734 #: src/Shipping_Method/Settings.php:6 631735 #: src/Shipping_Method/Settings.php: 6801799 #: src/Shipping_Method/Settings.php:675 1800 #: src/Shipping_Method/Settings.php:692 1801 #: src/Shipping_Method/Settings.php:709 1736 1802 #: src/Utils.php:623 1737 1803 msgid "Boxable Packet" 1738 1804 msgstr "" 1739 1805 1740 #: src/Shipping_Method/Settings.php:6 471741 #: src/Shipping_Method/Settings.php:6 641742 #: src/Shipping_Method/Settings.php: 6811806 #: src/Shipping_Method/Settings.php:676 1807 #: src/Shipping_Method/Settings.php:693 1808 #: src/Shipping_Method/Settings.php:710 1743 1809 msgid "Boxable Packet + Track & Trace" 1744 1810 msgstr "" 1745 1811 1746 #: src/Shipping_Method/Settings.php:6 481747 #: src/Shipping_Method/Settings.php:6 651748 #: src/Shipping_Method/Settings.php: 6821812 #: src/Shipping_Method/Settings.php:677 1813 #: src/Shipping_Method/Settings.php:694 1814 #: src/Shipping_Method/Settings.php:711 1749 1815 msgid "Packets" 1750 1816 msgstr "" 1751 1817 1752 #: src/Shipping_Method/Settings.php:6 491753 #: src/Shipping_Method/Settings.php:6 661754 #: src/Shipping_Method/Settings.php: 6831818 #: src/Shipping_Method/Settings.php:678 1819 #: src/Shipping_Method/Settings.php:695 1820 #: src/Shipping_Method/Settings.php:712 1755 1821 msgid "Packets + Track & Trace" 1756 1822 msgstr "" 1757 1823 1758 #: src/Shipping_Method/Settings.php:6 501759 #: src/Shipping_Method/Settings.php:6 671760 #: src/Shipping_Method/Settings.php: 6841824 #: src/Shipping_Method/Settings.php:679 1825 #: src/Shipping_Method/Settings.php:696 1826 #: src/Shipping_Method/Settings.php:713 1761 1827 msgid "Packets + Track & Trace + Insured" 1762 1828 msgstr "" 1763 1829 1764 #: src/Shipping_Method/Settings.php:6 561830 #: src/Shipping_Method/Settings.php:685 1765 1831 msgid "Select a default shipping option for the orders shipped within European Union zone." 1766 1832 msgstr "" 1767 1833 1768 #: src/Shipping_Method/Settings.php:6 601834 #: src/Shipping_Method/Settings.php:689 1769 1835 msgid "EU Parcel + Track & Trace" 1770 1836 msgstr "" 1771 1837 1772 #: src/Shipping_Method/Settings.php:6 611838 #: src/Shipping_Method/Settings.php:690 1773 1839 msgid "EU Parcel + Track & Trace + Insured" 1774 1840 msgstr "" 1775 1841 1776 #: src/Shipping_Method/Settings.php:6 621842 #: src/Shipping_Method/Settings.php:691 1777 1843 msgid "EU Parcel + Track & Trace + Insured Plus" 1778 1844 msgstr "" 1779 1845 1780 #: src/Shipping_Method/Settings.php: 6711781 #: src/Shipping_Method/Settings.php:7 461846 #: src/Shipping_Method/Settings.php:700 1847 #: src/Shipping_Method/Settings.php:790 1782 1848 msgid "Default Shipping International" 1783 1849 msgstr "" 1784 1850 1785 #: src/Shipping_Method/Settings.php: 6731851 #: src/Shipping_Method/Settings.php:702 1786 1852 msgid "Shipping options non-EU (outside the EU borders)." 1787 1853 msgstr "" 1788 1854 1789 #: src/Shipping_Method/Settings.php: 6771855 #: src/Shipping_Method/Settings.php:706 1790 1856 msgid "Parcel non-EU + Track & Trace" 1791 1857 msgstr "" 1792 1858 1793 #: src/Shipping_Method/Settings.php: 6781859 #: src/Shipping_Method/Settings.php:707 1794 1860 msgid "Parcel non-EU + Track & Trace + Insured" 1795 1861 msgstr "" 1796 1862 1797 #: src/Shipping_Method/Settings.php: 6791798 #: src/Shipping_Method/Settings.php:7 521863 #: src/Shipping_Method/Settings.php:708 1864 #: src/Shipping_Method/Settings.php:796 1799 1865 msgid "Parcel non-EU + Track & Trace + Insured Plus" 1800 1866 msgstr "" 1801 1867 1802 #: src/Shipping_Method/Settings.php: 6881868 #: src/Shipping_Method/Settings.php:717 1803 1869 msgid "Default Shipping Pickup" 1804 1870 msgstr "" 1805 1871 1806 #: src/Shipping_Method/Settings.php: 6901872 #: src/Shipping_Method/Settings.php:719 1807 1873 msgid "Shipping options Pickup." 1808 1874 msgstr "" 1809 1875 1810 #: src/Shipping_Method/Settings.php: 6941876 #: src/Shipping_Method/Settings.php:723 1811 1877 msgid "Standard Shipping" 1812 1878 msgstr "" 1813 1879 1814 #: src/Shipping_Method/Settings.php: 6961880 #: src/Shipping_Method/Settings.php:725 1815 1881 #: src/Utils.php:625 1816 1882 msgid "Insured Shipping" 1817 1883 msgstr "" 1818 1884 1819 #: src/Shipping_Method/Settings.php:7 011885 #: src/Shipping_Method/Settings.php:730 1820 1886 msgid "Default automatic letterboxparcel product" 1821 1887 msgstr "" 1822 1888 1823 #: src/Shipping_Method/Settings.php:7 091889 #: src/Shipping_Method/Settings.php:738 1824 1890 msgid "Let customer decide" 1825 1891 msgstr "" 1826 1892 1827 #: src/Shipping_Method/Settings.php:7 131893 #: src/Shipping_Method/Settings.php:742 1828 1894 msgid "Automatically change order status to Completed" 1829 1895 msgstr "" 1830 1896 1831 #: src/Shipping_Method/Settings.php:7 151832 #: src/Shipping_Method/Settings.php:7 161897 #: src/Shipping_Method/Settings.php:744 1898 #: src/Shipping_Method/Settings.php:745 1833 1899 msgid "Automatically change order status to Completed once an order has been pre-alerted and printed" 1834 1900 msgstr "" 1835 1901 1836 #: src/Shipping_Method/Settings.php:7 481902 #: src/Shipping_Method/Settings.php:792 1837 1903 msgid "Select a default shipping option for the orders shipped internationally (outside the EU borders)." 1904 msgstr "" 1905 1906 #: src/Shipping_Method/Settings.php:1128 1907 msgid "Self Service module on the PostNL Business Portal" 1908 msgstr "" 1909 1910 #: src/Shipping_Method/Settings.php:1185 1911 msgid "Works, not saved yet" 1912 msgstr "" 1913 1914 #: src/Shipping_Method/Settings.php:1187 1915 msgid "This key works. Save changes to start using it." 1916 msgstr "" 1917 1918 #: src/Shipping_Method/Settings.php:1194 1919 msgid "Valid" 1920 msgstr "" 1921 1922 #: src/Shipping_Method/Settings.php:1196 1923 msgid "Your API key is working and will be used for the new PostNL APIs." 1924 msgstr "" 1925 1926 #: src/Shipping_Method/Settings.php:1203 1927 msgid "Same as old key" 1928 msgstr "" 1929 1930 #: src/Shipping_Method/Settings.php:1205 1931 msgid "This is the key you already had, not a new one." 1932 msgstr "" 1933 1934 #. translators: %s is a link to the PostNL Business Portal Self Service module. 1935 #: src/Shipping_Method/Settings.php:1207 1936 msgid "You need a separate key. Request one from the %s, then paste it into the field above." 1937 msgstr "" 1938 1939 #: src/Shipping_Method/Settings.php:1219 1940 msgid "Not set" 1941 msgstr "" 1942 1943 #: src/Shipping_Method/Settings.php:1221 1944 msgid "You have not entered your API key yet." 1945 msgstr "" 1946 1947 #. translators: %s is a link to the PostNL Business Portal Self Service module. 1948 #: src/Shipping_Method/Settings.php:1224 1949 msgid "Request your new key from the %s and enter it above to switch over from your old key." 1950 msgstr "" 1951 1952 #. translators: %s is a link to the PostNL Business Portal Self Service module. 1953 #: src/Shipping_Method/Settings.php:1226 1954 msgid "Request your key from the %s and enter it above — the plug-in needs it to connect to PostNL." 1955 msgstr "" 1956 1957 #: src/Shipping_Method/Settings.php:1264 1958 msgid " The plug-in is still using your old key." 1959 msgstr "" 1960 1961 #: src/Shipping_Method/Settings.php:1265 1962 msgid " The plug-in has no working key to connect with yet." 1963 msgstr "" 1964 1965 #: src/Shipping_Method/Settings.php:1270 1966 #: src/Shipping_Method/Settings.php:1286 1967 msgid "Could not check" 1968 msgstr "" 1969 1970 #: src/Shipping_Method/Settings.php:1272 1971 msgid "PostNL could not process the check." 1972 msgstr "" 1973 1974 #: src/Shipping_Method/Settings.php:1273 1975 msgid "This usually means the Customer Code or Customer Number does not match this key. Check them and save again." 1976 msgstr "" 1977 1978 #: src/Shipping_Method/Settings.php:1278 1979 msgid "Not checked" 1980 msgstr "" 1981 1982 #: src/Shipping_Method/Settings.php:1280 1983 msgid "We have not checked this key yet." 1984 msgstr "" 1985 1986 #: src/Shipping_Method/Settings.php:1281 1987 msgid "Fill in your Customer Code and Customer Number, then save again." 1988 msgstr "" 1989 1990 #: src/Shipping_Method/Settings.php:1288 1991 msgid "We could not reach PostNL to check this key." 1992 msgstr "" 1993 1994 #: src/Shipping_Method/Settings.php:1289 1995 msgid "This is usually temporary. Save again in a few minutes." 1996 msgstr "" 1997 1998 #: src/Shipping_Method/Settings.php:1295 1999 msgid "Not valid" 2000 msgstr "" 2001 2002 #: src/Shipping_Method/Settings.php:1297 2003 msgid "PostNL rejected this key." 2004 msgstr "" 2005 2006 #. translators: %s is a link to the PostNL Business Portal Self Service module. 2007 #: src/Shipping_Method/Settings.php:1299 2008 msgid "Check that you copied the whole key with no extra spaces, then save again. If it keeps failing, request a new key from the %s." 1838 2009 msgstr "" 1839 2010 -
woo-postnl/trunk/postnl-for-woocommerce.php
r3673827 r3697413 8 8 * License: GPLv2 or later 9 9 * License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 * Version: 5.9.1 110 * Version: 5.9.12 11 11 * Requires Plugins: woocommerce 12 12 * Requires PHP: 7.4 -
woo-postnl/trunk/readme.txt
r3673827 r3697413 8 8 WC requires at least: 10.2 9 9 WC tested up to: 11.1 10 Stable tag: 5.9.1 110 Stable tag: 5.9.12 11 11 License: GPLv2 or later 12 12 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 81 81 82 82 == Changelog == 83 84 = 5.9.12 (2026-09-15) = 85 * Add: New API Key field for the upcoming PostNL API migration. Enter the key from the PostNL Business Portal Self Service module; the plugin checks it with PostNL when you save, shows whether it is valid, and a banner reminds you until it is entered. 83 86 84 87 = 5.9.11 (2026-08-31) = -
woo-postnl/trunk/src/Main.php
r3673827 r3697413 29 29 * @var _version 30 30 */ 31 private $version = '5.9.1 1';31 private $version = '5.9.12'; 32 32 33 33 /** … … 225 225 $this->get_frontend(); 226 226 $this->get_product_editor(); 227 228 if ( is_admin() ) { 229 new Admin\Api_Key_Banner(); 230 new Admin\Api_Key_Check(); 231 } 227 232 } 228 233 -
woo-postnl/trunk/src/Rest_API/Base.php
r3512036 r3697413 155 155 */ 156 156 public function set_api_key() { 157 $this->api_key = ( true === $this->is_sandbox ) ? $this->settings->get_api_key_sandbox() : $this->settings->get_api_key(); 157 // get_effective_api_key() is environment-aware and falls back to the 158 // original key for the active environment, so the sandbox path no longer 159 // needs its own branch: it resolves the validated new sandbox key when one 160 // exists and the legacy sandbox key otherwise. 161 $this->api_key = $this->settings->get_effective_api_key(); 158 162 } 159 163 … … 179 183 return array( 180 184 'apikey' => $this->get_api_key(), 185 'NewKey' => $this->settings->get_new_key_header_value(), 181 186 'accept' => 'application/json', 182 187 'Content-Type' => 'application/json', -
woo-postnl/trunk/src/Rest_API/Service_Factory.php
r3673827 r3697413 28 28 use PostNLWooCommerce\Rest_API\SDK\Logger_Adapter; 29 29 use PostNLWooCommerce\Rest_API\V4\Label\Service as V4_Label_Service; 30 use PostNLWooCommerce\Rest_API\V4\Pickup_Location\Service as V4_Pickup_Location_Service; 30 31 use PostNLWooCommerce\Rest_API\V4\Returns\Service as V4_Returns_Service; 31 32 use PostNLWooCommerce\Rest_API\V4\Returns\Smart_Returns_Service as V4_Smart_Returns_Service; 33 use PostNLWooCommerce\Rest_API\V4\Timeframe\Service as V4_Timeframe_Service; 34 use PostNLWooCommerce\Shipping_Method\Settings; 32 35 use Psr\Log\LoggerInterface; 33 36 … … 40 43 * 41 44 * Single factory that resolves the correct service implementation per flow. 42 * Every method returns the Legacy service unless all three conditions hold: 43 * (a) a validated "New API Key" is present on the settings object, 44 * (b) Router::sdk_enabled_for() returns true for the flow, and 45 * (c) a V4 service has been registered for that flow via inject_v4_service(). 45 * Every method returns the Legacy service unless both of these hold: 46 * (a) a validated "New API Key" is present on the settings object, and 47 * (b) Router::sdk_enabled_for() returns true for the flow. 48 * 49 * With those met, a flow resolves to a V4 service registered via 50 * inject_v4_service(), or to one the factory builds itself where it can: 51 * label, return_label, smart_returns, timeframe and pickup_location. The 52 * remaining flows (barcode, letterbox) still require injection. 46 53 * 47 54 * postcode_check_service() is permanently wired to Legacy because postcode_check … … 53 60 * 54 61 * The 'checkout' SUPPORTED_FLOW is never queried directly; the checkout endpoint 55 * is split here into the 'timeframe' and 'pickup_location' flows, both backed by 56 * the shared Legacy\Checkout_Service. 62 * is split here into the 'timeframe' and 'pickup_location' flows. On the legacy 63 * path both are backed by the shared Legacy\Checkout_Service, whose single 64 * response carries delivery days and pickup points together; on V4 they are two 65 * endpoints and so two services, which Frontend\Container recombines. 57 66 * 58 67 * Legacy services are created lazily on first access and memoised so repeated … … 125 134 126 135 /** 136 * Memoised self-built V4 timeframe service. 137 * 138 * Kept out of $v4_services for the same reason as $label_v4_memo. Memoising also 139 * keeps one SDK client — and so one response cache — across both checkout halves 140 * within a request. 141 * 142 * @var V4_Timeframe_Service|null 143 */ 144 private $timeframe_v4_memo = null; 145 146 /** 147 * Memoised self-built V4 pickup-location service. 148 * 149 * Kept out of $v4_services for the same reason as $label_v4_memo. 150 * 151 * @var V4_Pickup_Location_Service|null 152 */ 153 private $pickup_location_v4_memo = null; 154 155 /** 127 156 * Service_Factory constructor. 128 157 * … … 199 228 */ 200 229 public function timeframe_service(): Timeframe_Service_Interface { 201 if ( $this->should_use_v4( 'timeframe' ) && isset( $this->v4_services['timeframe'] ) ) { 202 return $this->v4_services['timeframe']; 230 if ( $this->should_use_v4( 'timeframe' ) ) { 231 if ( isset( $this->v4_services['timeframe'] ) ) { 232 return $this->v4_services['timeframe']; 233 } 234 $v4 = $this->build_v4_timeframe_service(); 235 if ( null !== $v4 ) { 236 return $v4; 237 } 203 238 } 204 239 return $this->legacy_checkout_service(); … … 211 246 */ 212 247 public function pickup_location_service(): Pickup_Location_Service_Interface { 213 if ( $this->should_use_v4( 'pickup_location' ) && isset( $this->v4_services['pickup_location'] ) ) { 214 return $this->v4_services['pickup_location']; 248 if ( $this->should_use_v4( 'pickup_location' ) ) { 249 if ( isset( $this->v4_services['pickup_location'] ) ) { 250 return $this->v4_services['pickup_location']; 251 } 252 $v4 = $this->build_v4_pickup_location_service(); 253 if ( null !== $v4 ) { 254 return $v4; 255 } 215 256 } 216 257 return $this->legacy_checkout_service(); … … 349 390 350 391 /** 392 * Build the V4 timeframe service, or null when this factory cannot. 393 * 394 * Unlike the label and returns services, the V4 checkout services type-hint the 395 * concrete Settings because they read a dozen shipping settings to build their 396 * requests. A factory handed anything else therefore falls back to Legacy rather 397 * than fatalling on the type. In production both call sites (Frontend\Container 398 * and Order\Base) pass Settings::get_instance(), so the guard never trips there. 399 * 400 * @return V4_Timeframe_Service|null 401 * 402 * @since 6.0.0 403 */ 404 private function build_v4_timeframe_service(): ?V4_Timeframe_Service { 405 if ( ! $this->settings instanceof Settings ) { 406 return null; 407 } 408 409 if ( null === $this->timeframe_v4_memo ) { 410 $logger = $this->v4_logger(); 411 $this->timeframe_v4_memo = new V4_Timeframe_Service( 412 new Client_Factory( $this->settings, $logger ), 413 $this->settings, 414 (string) $this->settings->get_api_key_new(), 415 (int) $this->settings->get_number_delivery_days(), 416 $logger 417 ); 418 } 419 420 return $this->timeframe_v4_memo; 421 } 422 423 /** 424 * Build the V4 pickup-location service, or null when this factory cannot. 425 * 426 * Same Settings type constraint as build_v4_timeframe_service(). 427 * 428 * @return V4_Pickup_Location_Service|null 429 * 430 * @since 6.0.0 431 */ 432 private function build_v4_pickup_location_service(): ?V4_Pickup_Location_Service { 433 if ( ! $this->settings instanceof Settings ) { 434 return null; 435 } 436 437 if ( null === $this->pickup_location_v4_memo ) { 438 $logger = $this->v4_logger(); 439 $this->pickup_location_v4_memo = new V4_Pickup_Location_Service( 440 new Client_Factory( $this->settings, $logger ), 441 $this->settings, 442 (string) $this->settings->get_api_key_new(), 443 (int) $this->settings->get_number_pickup_points(), 444 $logger 445 ); 446 } 447 448 return $this->pickup_location_v4_memo; 449 } 450 451 /** 351 452 * Return the shared Legacy\Checkout_Service instance. 352 453 * -
woo-postnl/trunk/src/Shipping_Method/PostNL.php
r3584070 r3697413 8 8 namespace PostNLWooCommerce\Shipping_Method; 9 9 10 use PostNLWooCommerce\Rest_API\Barcode\Key_Validator; 10 11 use PostNLWooCommerce\Utils; 11 12 use WC_Admin_Settings; … … 68 69 public function process_admin_options() { 69 70 parent::process_admin_options(); 71 72 // parent::process_admin_options() writes the new values to the DB but only 73 // updates this method object's cache; the Settings singleton still holds 74 // the pre-save values, and the status row, the NewKey header and the 75 // effective-key selection all read through it for the rest of the request. 76 // Refresh it so the screen that comes back reflects what was just saved. 77 Settings::get_instance()->init_settings(); 78 70 79 $this->process_merchant_codes(); 71 80 … … 74 83 $this->update_option( 'default_checkout_tab', 'delivery_day' ); 75 84 } 85 86 $this->process_new_api_key_validation(); 87 } 88 89 /** 90 * Validate the "New API Key" field whenever settings are saved. 91 * 92 * Runs in both environments so the key can be checked in sandbox as well as 93 * production. Performs a live Barcode API call with the candidate key for the 94 * active environment. Success flips the validated flag on so the plugin starts 95 * routing traffic through the new key; failure leaves the old key in use, 96 * records why, and surfaces the reason to the merchant. 97 */ 98 protected function process_new_api_key_validation() { 99 $settings = Settings::get_instance(); 100 101 // The environment is read from the freshly-posted value on $this rather 102 // than the settings singleton, which may still hold the pre-save value. 103 $is_sandbox = ( 'production' !== $this->get_option( 'environment_mode' ) ); 104 $new_field = $is_sandbox ? 'api_keys_sandbox_new' : 'api_keys_new'; 105 $orig_field = $is_sandbox ? 'api_keys_sandbox' : 'api_keys'; 106 107 $new_key = trim( (string) $this->get_option( $new_field ) ); 108 $original = trim( (string) $this->get_option( $orig_field ) ); 109 110 if ( '' === $new_key || $new_key === $original ) { 111 $settings->set_api_key_new_validated( false, null, $is_sandbox ); 112 $settings->set_new_key_status_reason( '', $is_sandbox ); 113 return; 114 } 115 116 // This exact key already passed validation; skip the live call so an 117 // unrelated settings save doesn't make a blocking request every time. 118 if ( $settings->is_api_key_new_validated_value( $new_key, $is_sandbox ) ) { 119 return; 120 } 121 122 $result = Key_Validator::validate( 123 $new_key, 124 $this->get_option( 'customer_code' ), 125 $this->get_option( 'customer_num' ), 126 $is_sandbox 127 ); 128 129 if ( true === $result ) { 130 $settings->set_api_key_new_validated( true, $new_key, $is_sandbox ); 131 $settings->set_new_key_status_reason( '', $is_sandbox ); 132 return; 133 } 134 135 $reason = $result->get_error_code(); 136 137 // "unreachable" means PostNL never returned a verdict, so we cannot say the 138 // key is bad — leave any previously-validated state as it was rather than 139 // showing a false red. Every other reason is a definite "not usable yet". 140 if ( Key_Validator::REASON_UNREACHABLE !== $reason ) { 141 $settings->set_api_key_new_validated( false, null, $is_sandbox ); 142 } 143 144 $settings->set_new_key_status_reason( $reason, $is_sandbox ); 145 WC_Admin_Settings::add_error( esc_html( Key_Validator::reason_message( $reason ) ) ); 146 } 147 148 /** 149 * Render the status row shown beneath the API Key field: a coloured label, 150 * an em dash and a plain sentence describing the new key's state, driven by 151 * the same value sent in the NewKey header. Hidden by the settings JS for 152 * whichever environment is not currently selected. 153 * 154 * @param string $key Field key. 155 * @param array $data Field data (expects an 'environment' of 'sandbox' or 'production'). 156 * 157 * @return string 158 */ 159 public function generate_postnl_new_key_status_html( $key, $data ) { 160 $is_sandbox = ( isset( $data['environment'] ) && 'sandbox' === $data['environment'] ); 161 $status = Settings::get_instance()->get_new_key_status( $is_sandbox ); 162 163 ob_start(); 164 ?> 165 <tr valign="top" class="postnl-new-key-status-row" data-postnl-env="<?php echo esc_attr( $is_sandbox ? 'sandbox' : 'production' ); ?>"> 166 <th scope="row" class="titledesc"><?php esc_html_e( 'API key status', 'postnl-for-woocommerce' ); ?></th> 167 <td class="forminp"> 168 <p style="margin-top:0;"> 169 <strong class="postnl-new-key-status-label" style="color:<?php echo esc_attr( $status['color'] ); ?>;"><?php echo esc_html( $status['label'] ); ?></strong> 170 — <span class="postnl-new-key-status-summary"><?php echo esc_html( $status['summary'] ); ?></span> 171 </p> 172 <p class="description postnl-new-key-status-desc" style="margin-top:4px;<?php echo empty( $status['description'] ) ? 'display:none;' : ''; ?>"><?php echo wp_kses_post( $status['description'] ); ?></p> 173 </td> 174 </tr> 175 <?php 176 return ob_get_clean(); 76 177 } 77 178 … … 156 257 POSTNL_WC_VERSION, 157 258 true 259 ); 260 261 wp_localize_script( 262 'postnl-admin-settings', 263 'postnlApiKeyCheck', 264 array( 265 'ajaxUrl' => admin_url( 'admin-ajax.php' ), 266 'action' => \PostNLWooCommerce\Admin\Api_Key_Check::AJAX_ACTION, 267 'nonce' => wp_create_nonce( \PostNLWooCommerce\Admin\Api_Key_Check::NONCE_ACTION ), 268 ) 158 269 ); 159 270 } -
woo-postnl/trunk/src/Shipping_Method/Settings.php
r3599159 r3697413 8 8 namespace PostNLWooCommerce\Shipping_Method; 9 9 10 use PostNLWooCommerce\Rest_API\Barcode\Key_Validator; 10 11 use PostNLWooCommerce\Utils; 11 12 … … 58 59 */ 59 60 public function get_setting_fields() { 60 returnarray(61 $fields = array( 61 62 // Manual. 62 63 'user_manual' => array( … … 86 87 'placeholder' => '', 87 88 ), 89 // Legacy production key. Renamed to "Old API Key" and only rendered when 90 // a value is already stored (see the gating in get_setting_fields()); a 91 // fresh install shows the "API Key" field alone. Kept read-only so 92 // merchants enter their key in the new field ahead of the API migration. 88 93 'api_keys' => array( 89 'title' => esc_html__( 'Production API Key', 'postnl-for-woocommerce' ), 94 'title' => esc_html__( 'Old API Key', 'postnl-for-woocommerce' ), 95 'type' => 'text', 96 'description' => esc_html__( 'The key you were using before. It is locked because new keys go in the field below.', 'postnl-for-woocommerce' ), 97 'desc_tip' => false, 98 'default' => '', 99 'placeholder' => '', 100 'custom_attributes' => array( 'readonly' => 'readonly' ), 101 ), 102 'api_keys_new' => array( 103 'title' => esc_html__( 'API Key', 'postnl-for-woocommerce' ), 90 104 'type' => 'text', 91 // translators: %1$s & %2$s is replaced with <a> tag. 92 'description' => sprintf( __( 'Insert your PostNL production API-key. You can find your API-key on Mijn %1$sPostNL%2$s under "My Account".', 'postnl-for-woocommerce' ), '<a href="https://mijn.postnl.nl/c/BP2_Mod_Login.app" target="_blank">', '</a>' ), 93 'desc_tip' => true, 105 'description' => esc_html__( 'Enter your PostNL API key here. You can get it from the Self Service module on the PostNL Business Portal.', 'postnl-for-woocommerce' ), 106 'desc_tip' => false, 94 107 'default' => '', 95 108 'placeholder' => '', 96 109 ), 110 'api_keys_new_status' => array( 111 'type' => 'postnl_new_key_status', 112 'environment' => 'production', 113 ), 97 114 'api_keys_sandbox' => array( 115 'title' => esc_html__( 'Old Sandbox API Key', 'postnl-for-woocommerce' ), 116 'type' => 'text', 117 'description' => esc_html__( 'The sandbox key you were using before. It is locked because new keys go in the field below.', 'postnl-for-woocommerce' ), 118 'desc_tip' => false, 119 'default' => '', 120 'placeholder' => '', 121 'custom_attributes' => array( 'readonly' => 'readonly' ), 122 ), 123 'api_keys_sandbox_new' => array( 98 124 'title' => esc_html__( 'Sandbox API Key', 'postnl-for-woocommerce' ), 99 125 'type' => 'text', 100 // translators: %1$s & %2$s is replaced with <a> tag. 101 'description' => sprintf( __( 'Insert your PostNL staging API-key. You can find your API-key on Mijn %1$sPostNL%2$s under "My Account".', 'postnl-for-woocommerce' ), '<a href="https://mijn.postnl.nl/c/BP2_Mod_Login.app" target="_blank">', '</a>' ), 102 'desc_tip' => true, 126 'description' => esc_html__( 'Enter your PostNL sandbox API key here. You can get it from the Self Service module on the PostNL Business Portal.', 'postnl-for-woocommerce' ), 127 'desc_tip' => false, 103 128 'default' => '', 104 129 'placeholder' => '', 130 ), 131 'api_keys_sandbox_new_status' => array( 132 'type' => 'postnl_new_key_status', 133 'environment' => 'sandbox', 105 134 ), 106 135 'enable_logging' => array( … … 721 750 722 751 ); 752 753 // The legacy key fields are shown only when a key is already stored: a 754 // fresh install enters its key in the new "API Key" field alone. The 755 // decision is made on the saved value (not the posted one) so a failed 756 // save does not make the field flicker in and out. Reading the raw option 757 // directly avoids recursing through get_country_option()/filter_setting_fields(). 758 if ( '' === trim( (string) $this->get_option( 'api_keys' ) ) ) { 759 unset( $fields['api_keys'] ); 760 } 761 762 if ( '' === trim( (string) $this->get_option( 'api_keys_sandbox' ) ) ) { 763 unset( $fields['api_keys_sandbox'] ); 764 } 765 766 return $fields; 723 767 } 724 768 … … 832 876 833 877 /** 878 * Option storing the SHA-256 hash of the new API key value that last 879 * passed validation. Storing a hash (rather than a global yes/no flag) 880 * binds the validated state to the exact key value, so any out-of-band 881 * edit or partial save naturally invalidates the flag. 882 */ 883 const NEW_API_KEY_VALIDATED_HASH_OPTION = 'postnl_api_keys_new_validated_hash'; 884 885 /** 886 * Get the raw value of the new sandbox API key as entered by the merchant. 887 * 888 * @return string 889 */ 890 public function get_api_key_sandbox_new() { 891 return trim( (string) $this->get_country_option( 'api_keys_sandbox_new', '' ) ); 892 } 893 894 /** 895 * Get the raw value of the new API key for the current environment. 896 * 897 * PostNL issues environment-scoped keys, so sandbox and production each have 898 * their own new-key field. Returning the field that matches the active 899 * environment keeps every V4 consumer (Service_Factory, the adoption header, 900 * the effective-key fallback) pointed at the right key without each caller 901 * having to branch on the environment itself. 902 * 903 * @return string 904 */ 905 public function get_api_key_new() { 906 if ( $this->is_sandbox() ) { 907 return $this->get_api_key_sandbox_new(); 908 } 909 910 return trim( (string) $this->get_country_option( 'api_keys_new', '' ) ); 911 } 912 913 /** 914 * The original (pre-migration) API key for the current environment. 915 * 916 * @return string 917 */ 918 public function get_original_api_key() { 919 return $this->is_sandbox() 920 ? trim( (string) $this->get_api_key_sandbox() ) 921 : trim( (string) $this->get_api_key() ); 922 } 923 924 /** 925 * Name of the option storing the validated-key hash for a given environment. 926 * 927 * The validated flag is environment-scoped: a key validated in production must 928 * not be treated as validated in sandbox (and vice versa), otherwise the V4 929 * gate would route a production key against the sandbox host, or the reverse. 930 * A single option cannot hold both, since validating one environment would 931 * overwrite the other, so each environment gets its own option. 932 * 933 * @param bool|null $is_sandbox Environment to scope to, or null for the current one. 934 * 935 * @return string 936 */ 937 protected function validated_hash_option_name( $is_sandbox = null ) { 938 $is_sandbox = ( null === $is_sandbox ) ? $this->is_sandbox() : (bool) $is_sandbox; 939 940 return self::NEW_API_KEY_VALIDATED_HASH_OPTION . ( $is_sandbox ? '_sandbox' : '' ); 941 } 942 943 /** 944 * Whether the currently-entered new API key matches the key that last 945 * passed validation against the PostNL API for the current environment. 946 * 947 * @return bool 948 */ 949 public function is_api_key_new_validated() { 950 return $this->is_api_key_new_validated_value( $this->get_api_key_new() ); 951 } 952 953 /** 954 * Whether a specific key value matches the key that last passed 955 * validation. Takes the value explicitly so callers (e.g. the save-time 956 * handler) can check the freshly-entered key without relying on the 957 * settings object's in-memory cache being up to date. 958 * 959 * @param string $key Candidate key value. 960 * @param bool|null $is_sandbox Environment to check, or null for the current one. 961 * 962 * @return bool 963 */ 964 public function is_api_key_new_validated_value( $key, $is_sandbox = null ) { 965 $key = trim( (string) $key ); 966 if ( '' === $key ) { 967 return false; 968 } 969 970 $stored = (string) get_option( $this->validated_hash_option_name( $is_sandbox ), '' ); 971 if ( '' === $stored ) { 972 return false; 973 } 974 975 return hash_equals( $stored, hash( 'sha256', $key ) ); 976 } 977 978 /** 979 * Record that the currently-entered new API key has passed validation, 980 * or clear the flag entirely. The hash binds the flag to the exact key 981 * value the merchant just successfully tested, scoped to its environment. 982 * 983 * @param bool $validated Validation outcome. 984 * @param string|null $key The exact key value that was validated. When 985 * omitted, falls back to the stored setting — 986 * but callers running mid-save should pass the 987 * freshly-entered value to avoid hashing a 988 * stale cached value. 989 * @param bool|null $is_sandbox Environment to scope to, or null for the current one. 990 */ 991 public function set_api_key_new_validated( $validated, $key = null, $is_sandbox = null ) { 992 $option = $this->validated_hash_option_name( $is_sandbox ); 993 994 if ( ! $validated ) { 995 delete_option( $option ); 996 return; 997 } 998 999 $key = trim( (string) ( null === $key ? $this->get_api_key_new() : $key ) ); 1000 if ( '' === $key ) { 1001 delete_option( $option ); 1002 return; 1003 } 1004 1005 update_option( $option, hash( 'sha256', $key ) ); 1006 } 1007 1008 /** 1009 * Return the API key the plugin should actually send to PostNL for the 1010 * current environment. Falls back to the original key whenever the new 1011 * key is empty, identical, or has not been validated. 1012 * 1013 * @return string 1014 */ 1015 public function get_effective_api_key() { 1016 $original = $this->get_original_api_key(); 1017 $new_key = $this->get_api_key_new(); 1018 1019 if ( '' === $new_key ) { 1020 return $original; 1021 } 1022 1023 if ( $new_key === $original ) { 1024 return $original; 1025 } 1026 1027 if ( ! $this->is_api_key_new_validated() ) { 1028 return $original; 1029 } 1030 1031 return $new_key; 1032 } 1033 1034 /** 1035 * Option storing the reason the new key last failed validation, so the 1036 * settings status row can tell "key rejected" apart from "could not reach 1037 * PostNL" or "customer details missing" — all of which report the same 1038 * "Entered" header value. Only consulted when the header value is "Entered". 1039 */ 1040 const NEW_API_KEY_STATUS_OPTION = 'postnl_api_keys_new_status'; 1041 1042 /** 1043 * Map the new-key state to its NewKey header value. Kept as one pure method 1044 * so the outgoing header and the settings status row can never disagree. 1045 * 1046 * - "No" : the new-key field is empty. 1047 * - "Same" : the new-key field matches the original key. 1048 * - "Entered" : a distinct key was entered but has not passed validation. 1049 * - "Yes" : a distinct new key has been entered and validated. 1050 * 1051 * "Yes" is gated on validation because PostNL defines it as a key that 1052 * "works"; a key that failed our validation reports "Entered" so PostNL does 1053 * not count the merchant as ready to migrate. 1054 * 1055 * @param string $new_key The entered new key. 1056 * @param string $original The original (pre-migration) key. 1057 * @param bool $validated Whether the new key passed validation. 1058 * 1059 * @return string 1060 */ 1061 protected function derive_new_key_header_value( $new_key, $original, $validated ) { 1062 if ( '' === $new_key ) { 1063 return 'No'; 1064 } 1065 1066 if ( $new_key === $original ) { 1067 return 'Same'; 1068 } 1069 1070 if ( ! $validated ) { 1071 return 'Entered'; 1072 } 1073 1074 return 'Yes'; 1075 } 1076 1077 /** 1078 * Value for the NewKey header sent on every outgoing API call, computed for 1079 * the current environment. 1080 * 1081 * @return string 1082 */ 1083 public function get_new_key_header_value() { 1084 return $this->derive_new_key_header_value( 1085 $this->get_api_key_new(), 1086 $this->get_original_api_key(), 1087 $this->is_api_key_new_validated() 1088 ); 1089 } 1090 1091 /** 1092 * Persist (or clear) the reason the new key last failed validation, scoped 1093 * to the given environment. 1094 * 1095 * @param string $reason One of 'invalid', 'rejected', 'unreachable', 'missing', or '' to clear. 1096 * @param bool|null $is_sandbox Environment to scope to, or null for the current one. 1097 */ 1098 public function set_new_key_status_reason( $reason, $is_sandbox = null ) { 1099 $option = self::NEW_API_KEY_STATUS_OPTION . ( $this->resolve_is_sandbox( $is_sandbox ) ? '_sandbox' : '' ); 1100 1101 if ( '' === $reason ) { 1102 delete_option( $option ); 1103 return; 1104 } 1105 1106 update_option( $option, $reason ); 1107 } 1108 1109 /** 1110 * PostNL developer portal page for the API migration. It explains how to 1111 * upgrade PHP, how to request a new API key via the Self Service (SSAM) 1112 * module, and when to update the plug-in for API v4. Confirmed by PostNL as 1113 * the destination for the migration banners (in place of the Self Service 1114 * portal directly), so customers get the full step-by-step instructions first. 1115 */ 1116 const SELF_SERVICE_URL = 'https://developer.postnl.nl/integration-with-postnl/api-overview/future-proof-api-s/plug-ins/'; 1117 1118 /** 1119 * Link to the PostNL Business Portal Self Service module, reused across the 1120 * status row and the migration banner. 1121 * 1122 * @return string 1123 */ 1124 public function self_service_link() { 1125 return sprintf( 1126 '<a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a>', 1127 esc_url( self::SELF_SERVICE_URL ), 1128 esc_html__( 'Self Service module on the PostNL Business Portal', 'postnl-for-woocommerce' ) 1129 ); 1130 } 1131 1132 /** 1133 * Resolve the status of the new key for a given environment: the header value 1134 * plus a colour, label, a one-line summary and a "what to do next" paragraph 1135 * for the settings status row. The label and colour derive from the same 1136 * header value the API calls send, so the screen and PostNL's adoption count 1137 * can never contradict each other. 1138 * 1139 * @param bool|null $is_sandbox Environment to describe, or null for the current one. 1140 * 1141 * @return array{header:string,label:string,color:string,summary:string,description:string} 1142 */ 1143 public function get_new_key_status( $is_sandbox = null ) { 1144 $is_sandbox = $this->resolve_is_sandbox( $is_sandbox ); 1145 1146 $new_key = $is_sandbox ? $this->get_api_key_sandbox_new() : trim( (string) $this->get_country_option( 'api_keys_new', '' ) ); 1147 $original = $is_sandbox ? trim( (string) $this->get_api_key_sandbox() ) : trim( (string) $this->get_api_key() ); 1148 $validated = $this->is_api_key_new_validated_value( $new_key, $is_sandbox ); 1149 1150 // The rendered row describes what is actually stored, so the validated 1151 // state it shows is a saved one. 1152 return $this->build_new_key_status( $new_key, $original, $validated, $is_sandbox, true, $this->resolve_new_key_status_reason( $is_sandbox ) ); 1153 } 1154 1155 /** 1156 * Map a new-key state to the status row's colour, label, one-line summary and 1157 * "what to do next" paragraph. Pure: every input is passed in, so the settings 1158 * render path and the on-blur endpoint produce identical copy for the same 1159 * state and cannot drift. The label and colour follow the same header value 1160 * the API calls send, so the screen and PostNL's adoption count agree. 1161 * 1162 * @param string $new_key The entered new key. 1163 * @param string $original The original (pre-migration) key; '' on a fresh install. 1164 * @param bool $validated Whether the new key has passed validation. 1165 * @param bool $is_sandbox Environment being described. 1166 * @param bool $saved Whether $validated reflects a saved state. A key that 1167 * validates on blur but has not been saved yet gets the 1168 * amber "works, not saved" state instead of green. 1169 * @param string $reason Persisted/derived failure reason for an entered key. 1170 * 1171 * @return array{header:string,label:string,color:string,summary:string,description:string} 1172 */ 1173 public function build_new_key_status( $new_key, $original, $validated, $is_sandbox, $saved, $reason = '' ) { 1174 unset( $is_sandbox ); 1175 1176 $header = $this->derive_new_key_header_value( $new_key, $original, $validated ); 1177 $link = $this->self_service_link(); 1178 $has_old = '' !== trim( (string) $original ); 1179 1180 switch ( $header ) { 1181 case 'Yes': 1182 if ( ! $saved ) { 1183 return array( 1184 'header' => $header, 1185 'label' => __( 'Works, not saved yet', 'postnl-for-woocommerce' ), 1186 'color' => '#dba617', 1187 'summary' => __( 'This key works. Save changes to start using it.', 'postnl-for-woocommerce' ), 1188 'description' => '', 1189 ); 1190 } 1191 1192 return array( 1193 'header' => $header, 1194 'label' => __( 'Valid', 'postnl-for-woocommerce' ), 1195 'color' => '#008a20', 1196 'summary' => __( 'Your API key is working and will be used for the new PostNL APIs.', 'postnl-for-woocommerce' ), 1197 'description' => '', 1198 ); 1199 1200 case 'Same': 1201 return array( 1202 'header' => $header, 1203 'label' => __( 'Same as old key', 'postnl-for-woocommerce' ), 1204 'color' => '#dba617', 1205 'summary' => __( 'This is the key you already had, not a new one.', 'postnl-for-woocommerce' ), 1206 // translators: %s is a link to the PostNL Business Portal Self Service module. 1207 'description' => sprintf( __( 'You need a separate key. Request one from the %s, then paste it into the field above.', 'postnl-for-woocommerce' ), $link ), 1208 ); 1209 1210 case 'Entered': 1211 return array_merge( 1212 array( 'header' => $header ), 1213 $this->get_new_key_invalid_copy( $reason, $has_old, $link ) 1214 ); 1215 1216 default: 1217 return array( 1218 'header' => $header, 1219 'label' => __( 'Not set', 'postnl-for-woocommerce' ), 1220 'color' => '#757575', 1221 'summary' => __( 'You have not entered your API key yet.', 'postnl-for-woocommerce' ), 1222 'description' => $has_old 1223 // translators: %s is a link to the PostNL Business Portal Self Service module. 1224 ? sprintf( __( 'Request your new key from the %s and enter it above to switch over from your old key.', 'postnl-for-woocommerce' ), $link ) 1225 // translators: %s is a link to the PostNL Business Portal Self Service module. 1226 : sprintf( __( 'Request your key from the %s and enter it above — the plug-in needs it to connect to PostNL.', 'postnl-for-woocommerce' ), $link ), 1227 ); 1228 } 1229 } 1230 1231 /** 1232 * The failure reason to describe in the status row. Missing customer details 1233 * is decided live — if they are blank now, that is the reason whatever the 1234 * last save recorded — otherwise the reason persisted at save time is used. 1235 * 1236 * @param bool $is_sandbox Environment to resolve for. 1237 * 1238 * @return string One of the Key_Validator REASON_* slugs, or ''. 1239 */ 1240 protected function resolve_new_key_status_reason( $is_sandbox ) { 1241 if ( '' === trim( (string) $this->get_customer_code() ) || '' === trim( (string) $this->get_customer_num() ) ) { 1242 return Key_Validator::REASON_MISSING; 1243 } 1244 1245 return (string) get_option( self::NEW_API_KEY_STATUS_OPTION . ( $is_sandbox ? '_sandbox' : '' ), '' ); 1246 } 1247 1248 /** 1249 * Label, colour, summary and description for an entered key that is not in 1250 * use, per reason. Only a genuine rejection is red "Not valid"; an outage, a 1251 * mismatch or missing details read as amber "could not check", so an outage 1252 * never tells the merchant their key is invalid. Whether an old key is still 1253 * carrying the plugin is passed in rather than re-read, so the copy is correct 1254 * on a fresh install (where nothing is in use). 1255 * 1256 * @param string $reason One of the Key_Validator REASON_* slugs. 1257 * @param bool $has_old Whether a usable old key is still stored. 1258 * @param string $link Self Service link markup. 1259 * 1260 * @return array{label:string,color:string,summary:string,description:string} 1261 */ 1262 protected function get_new_key_invalid_copy( $reason, $has_old, $link ) { 1263 $tail = $has_old 1264 ? __( ' The plug-in is still using your old key.', 'postnl-for-woocommerce' ) 1265 : __( ' The plug-in has no working key to connect with yet.', 'postnl-for-woocommerce' ); 1266 1267 switch ( $reason ) { 1268 case Key_Validator::REASON_REJECTED: 1269 return array( 1270 'label' => __( 'Could not check', 'postnl-for-woocommerce' ), 1271 'color' => '#dba617', 1272 'summary' => __( 'PostNL could not process the check.', 'postnl-for-woocommerce' ) . $tail, 1273 'description' => __( 'This usually means the Customer Code or Customer Number does not match this key. Check them and save again.', 'postnl-for-woocommerce' ), 1274 ); 1275 1276 case Key_Validator::REASON_MISSING: 1277 return array( 1278 'label' => __( 'Not checked', 'postnl-for-woocommerce' ), 1279 'color' => '#dba617', 1280 'summary' => __( 'We have not checked this key yet.', 'postnl-for-woocommerce' ) . $tail, 1281 'description' => __( 'Fill in your Customer Code and Customer Number, then save again.', 'postnl-for-woocommerce' ), 1282 ); 1283 1284 case Key_Validator::REASON_UNREACHABLE: 1285 return array( 1286 'label' => __( 'Could not check', 'postnl-for-woocommerce' ), 1287 'color' => '#dba617', 1288 'summary' => __( 'We could not reach PostNL to check this key.', 'postnl-for-woocommerce' ) . $tail, 1289 'description' => __( 'This is usually temporary. Save again in a few minutes.', 'postnl-for-woocommerce' ), 1290 ); 1291 1292 case Key_Validator::REASON_INVALID: 1293 default: 1294 return array( 1295 'label' => __( 'Not valid', 'postnl-for-woocommerce' ), 1296 'color' => '#d63638', 1297 'summary' => __( 'PostNL rejected this key.', 'postnl-for-woocommerce' ) . $tail, 1298 // translators: %s is a link to the PostNL Business Portal Self Service module. 1299 'description' => sprintf( __( 'Check that you copied the whole key with no extra spaces, then save again. If it keeps failing, request a new key from the %s.', 'postnl-for-woocommerce' ), $link ), 1300 ); 1301 } 1302 } 1303 1304 /** 1305 * Normalise a nullable environment flag to the current environment. 1306 * 1307 * @param bool|null $is_sandbox Environment flag, or null for the current one. 1308 * 1309 * @return bool 1310 */ 1311 protected function resolve_is_sandbox( $is_sandbox ) { 1312 return ( null === $is_sandbox ) ? $this->is_sandbox() : (bool) $is_sandbox; 1313 } 1314 1315 /** 834 1316 * Get customer number from the settings. 835 1317 * -
woo-postnl/trunk/vendor/autoload.php
r3616204 r3697413 20 20 require_once __DIR__ . '/composer/autoload_real.php'; 21 21 22 return ComposerAutoloaderInit 406b01d6c34e0be97217ff56906cf672::getLoader();22 return ComposerAutoloaderInit512c4666993184005c89805f3a762fb1::getLoader(); -
woo-postnl/trunk/vendor/composer/autoload_classmap.php
r3673827 r3697413 11 11 'FPDF' => $vendorDir . '/setasign/fpdf/fpdf.php', 12 12 'PostNLWooCommerce\\Address_Utils' => $baseDir . '/src/Address_Utils.php', 13 'PostNLWooCommerce\\Admin\\Api_Key_Banner' => $baseDir . '/src/Admin/Api_Key_Banner.php', 14 'PostNLWooCommerce\\Admin\\Api_Key_Check' => $baseDir . '/src/Admin/Api_Key_Check.php', 13 15 'PostNLWooCommerce\\Checkout_Blocks\\Blocks_Integration' => $baseDir . '/src/Checkout_Blocks/Blocks_Integration.php', 14 16 'PostNLWooCommerce\\Checkout_Blocks\\Extend_Block_Core' => $baseDir . '/src/Checkout_Blocks/Extend_Block_Core.php', … … 35 37 'PostNLWooCommerce\\Product\\Product_Editor' => $baseDir . '/src/Product/Product_Editor.php', 36 38 'PostNLWooCommerce\\Product\\Single' => $baseDir . '/src/Product/Single.php', 39 'PostNLWooCommerce\\Rest_API\\Barcode\\Key_Validator' => $baseDir . '/src/Rest_API/Barcode/Key_Validator.php', 37 40 'PostNLWooCommerce\\Rest_API\\Base' => $baseDir . '/src/Rest_API/Base.php', 38 41 'PostNLWooCommerce\\Rest_API\\Base_Info' => $baseDir . '/src/Rest_API/Base_Info.php', -
woo-postnl/trunk/vendor/composer/autoload_real.php
r3616204 r3697413 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 406b01d6c34e0be97217ff56906cf6725 class ComposerAutoloaderInit512c4666993184005c89805f3a762fb1 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 406b01d6c34e0be97217ff56906cf672', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit512c4666993184005c89805f3a762fb1', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 406b01d6c34e0be97217ff56906cf672', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit512c4666993184005c89805f3a762fb1', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 406b01d6c34e0be97217ff56906cf672::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit512c4666993184005c89805f3a762fb1::getInitializer($loader)); 33 33 34 34 $loader->register(true); -
woo-postnl/trunk/vendor/composer/autoload_static.php
r3673827 r3697413 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 406b01d6c34e0be97217ff56906cf6727 class ComposerStaticInit512c4666993184005c89805f3a762fb1 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( … … 34 34 'FPDF' => __DIR__ . '/..' . '/setasign/fpdf/fpdf.php', 35 35 'PostNLWooCommerce\\Address_Utils' => __DIR__ . '/../..' . '/src/Address_Utils.php', 36 'PostNLWooCommerce\\Admin\\Api_Key_Banner' => __DIR__ . '/../..' . '/src/Admin/Api_Key_Banner.php', 37 'PostNLWooCommerce\\Admin\\Api_Key_Check' => __DIR__ . '/../..' . '/src/Admin/Api_Key_Check.php', 36 38 'PostNLWooCommerce\\Checkout_Blocks\\Blocks_Integration' => __DIR__ . '/../..' . '/src/Checkout_Blocks/Blocks_Integration.php', 37 39 'PostNLWooCommerce\\Checkout_Blocks\\Extend_Block_Core' => __DIR__ . '/../..' . '/src/Checkout_Blocks/Extend_Block_Core.php', … … 58 60 'PostNLWooCommerce\\Product\\Product_Editor' => __DIR__ . '/../..' . '/src/Product/Product_Editor.php', 59 61 'PostNLWooCommerce\\Product\\Single' => __DIR__ . '/../..' . '/src/Product/Single.php', 62 'PostNLWooCommerce\\Rest_API\\Barcode\\Key_Validator' => __DIR__ . '/../..' . '/src/Rest_API/Barcode/Key_Validator.php', 60 63 'PostNLWooCommerce\\Rest_API\\Base' => __DIR__ . '/../..' . '/src/Rest_API/Base.php', 61 64 'PostNLWooCommerce\\Rest_API\\Base_Info' => __DIR__ . '/../..' . '/src/Rest_API/Base_Info.php', … … 169 172 { 170 173 return \Closure::bind(function () use ($loader) { 171 $loader->prefixLengthsPsr4 = ComposerStaticInit 406b01d6c34e0be97217ff56906cf672::$prefixLengthsPsr4;172 $loader->prefixDirsPsr4 = ComposerStaticInit 406b01d6c34e0be97217ff56906cf672::$prefixDirsPsr4;173 $loader->classMap = ComposerStaticInit 406b01d6c34e0be97217ff56906cf672::$classMap;174 $loader->prefixLengthsPsr4 = ComposerStaticInit512c4666993184005c89805f3a762fb1::$prefixLengthsPsr4; 175 $loader->prefixDirsPsr4 = ComposerStaticInit512c4666993184005c89805f3a762fb1::$prefixDirsPsr4; 176 $loader->classMap = ComposerStaticInit512c4666993184005c89805f3a762fb1::$classMap; 174 177 175 178 }, null, ClassLoader::class); -
woo-postnl/trunk/vendor/composer/installed.php
r3673827 r3697413 4 4 'pretty_version' => 'dev-main', 5 5 'version' => 'dev-main', 6 'reference' => ' 1444ab808f999823b197930ef567f3c87216ec34',6 'reference' => 'd8de832e9461df73d02e2a492a079d7d6d7a1739', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 25 25 'pretty_version' => 'dev-main', 26 26 'version' => 'dev-main', 27 'reference' => ' 1444ab808f999823b197930ef567f3c87216ec34',27 'reference' => 'd8de832e9461df73d02e2a492a079d7d6d7a1739', 28 28 'type' => 'wordpress-plugin', 29 29 'install_path' => __DIR__ . '/../../',
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)