WooCommerce Square - Version 2.0.3

Version Description

  • 2019.08.19 =
  • Tweak - Re-introduce the "inventory sync" toggle to allow syncing product data without affecting inventory
  • Fix - Adjust v1 upgrades to properly toggle inventory sync when not enabled in v1
  • Fix - Ensure product prices are correctly converted to and from cents regardless of the decimal place setting
  • Fix - Don't block the product stock management UI when product sync is disabled
  • Fix - Ensure products that have multiple attributes that aren't used for variations can be synced
  • Misc - Add support for WooCommerce 3.7
Download this release

Release Info

Developer automattic
Plugin Icon 128x128 WooCommerce Square
Version 2.0.3
Comparing to
See all releases

Code changes from version 2.0.2 to 2.0.3

assets/js/admin/wc-square-admin-products.coffee CHANGED
@@ -15,6 +15,10 @@ jQuery( document ).ready ( $ ) ->
15
  if 'product' isnt typenow
16
  return
17
 
 
 
 
 
18
 
19
  # products edit screen
20
  if 'edit-product' is pagenow
@@ -82,21 +86,13 @@ jQuery( document ).ready ( $ ) ->
82
  # individual product edit screen
83
  if 'product' is pagenow
84
 
85
-
86
- syncCheckboxID = '#_' + wc_square_admin_products.synced_with_square_taxonomy
87
- $hasCustomAttributes = $( '#wc-square-has-multiple-custom-attributes' )
88
-
89
- # bail out if there are too many custom attributes, until removed & product updated
90
- if $hasCustomAttributes and $hasCustomAttributes.length > 0
91
- $( syncCheckboxID ).prop( 'disabled', true )
92
- $( syncCheckboxID ).prop( 'checked', false )
93
- return
94
 
95
 
96
  isVariable = ->
97
-
98
  return $( '#product-type' ).val() in wc_square_admin_products.variable_product_types
99
 
 
100
  ###*
101
  # Checks whether the product has a SKU.
102
  #
@@ -107,22 +103,15 @@ jQuery( document ).ready ( $ ) ->
107
 
108
 
109
  ###*
110
- # Checks whether the product has more than one attribute.
111
  #
112
  # @since 2.0.0
113
  ###
114
  hasMultipleAttributes = ->
115
- $disabledOptions = $( '.attribute_taxonomy' ).find( 'option:disabled' )
116
- return $disabledOptions and $disabledOptions.length > 1
117
 
 
118
 
119
- ###*
120
- # Checks whether the product has than one custom attribute.
121
- #
122
- # @since 2.0.0
123
- ###
124
- hasMultipleCustomAttributes = ->
125
-
126
 
127
 
128
  ###*
@@ -160,11 +149,10 @@ jQuery( document ).ready ( $ ) ->
160
  # @since 2.0.0
161
  ###
162
  handleAttributes = ( syncCheckboxID ) ->
163
- $( '#variable_product_options' ).on 'reload', ( e ) ->
164
 
165
- $disabledOptions = $( '.attribute_taxonomy' ).find( 'option:disabled' )
166
 
167
- if $disabledOptions and $disabledOptions.length > 1
168
  $( '.wc-square-sync-with-square-error.multiple_attributes' ).show()
169
  $( syncCheckboxID ).prop( 'disabled', true )
170
  $( syncCheckboxID ).prop( 'checked', false )
@@ -177,6 +165,7 @@ jQuery( document ).ready ( $ ) ->
177
 
178
  .trigger( 'reload' )
179
 
 
180
  # fire once on page load
181
  handleSKU( syncCheckboxID )
182
  handleAttributes( syncCheckboxID )
@@ -199,6 +188,10 @@ jQuery( document ).ready ( $ ) ->
199
 
200
  $( syncCheckboxID ).on 'change', ( e ) ->
201
 
 
 
 
 
202
  variableProduct = $.inArray( $( '#product-type' ).val(), wc_square_admin_products.variable_product_types ) isnt -1
203
 
204
  if $( this ).is( ':checked' ) and $( '#_square_item_variation_id' ).length > 0
@@ -290,6 +283,7 @@ jQuery( document ).ready ( $ ) ->
290
  # disable stock management inputs
291
  $variationManageInput.prop( 'disabled', true ).prop( 'checked', true ).change()
292
  $variationStockInput.prop( 'readonly', true )
 
293
 
294
  # add a note that the variation stock is managed by square, but check if it wasn't added already to avoid duplicates
295
  if 0 is $variationManageField.find( '.description' ).length
@@ -322,6 +316,7 @@ jQuery( document ).ready ( $ ) ->
322
  quantity = response.data
323
 
324
  $variationStockInput.val( quantity )
 
325
  $variationStockInput.prop( 'readonly', false )
326
  $variationStockField.find( '.description' ).remove()
327
 
@@ -340,6 +335,7 @@ jQuery( document ).ready ( $ ) ->
340
  $variationStockInput.prop( 'readonly', false )
341
  $variationManageInput.prop( 'disabled', false )
342
  $variationManageInput.next( '.description' ).remove()
 
343
 
344
 
345
  # initial page load handling
@@ -348,6 +344,7 @@ jQuery( document ).ready ( $ ) ->
348
  # trigger an update if the product type changes
349
  $( '#product-type' ).on 'change', ( e ) ->
350
  $( syncCheckboxID ).trigger 'change'
 
351
  # trigger an update for variable products when variations are loaded
352
  $( '#woocommerce-product-data' ).on 'woocommerce_variations_loaded', ( e ) ->
353
  $( syncCheckboxID ).trigger 'change'
15
  if 'product' isnt typenow
16
  return
17
 
18
+ # bail if product sync is disabled
19
+ if not wc_square_admin_products.is_product_sync_enabled
20
+ return
21
+
22
 
23
  # products edit screen
24
  if 'edit-product' is pagenow
86
  # individual product edit screen
87
  if 'product' is pagenow
88
 
89
+ syncCheckboxID = '#_' + wc_square_admin_products.synced_with_square_taxonomy
 
 
 
 
 
 
 
 
90
 
91
 
92
  isVariable = ->
 
93
  return $( '#product-type' ).val() in wc_square_admin_products.variable_product_types
94
 
95
+
96
  ###*
97
  # Checks whether the product has a SKU.
98
  #
103
 
104
 
105
  ###*
106
+ # Checks whether the product has more than one variation attribute.
107
  #
108
  # @since 2.0.0
109
  ###
110
  hasMultipleAttributes = ->
 
 
111
 
112
+ $variation_attributes = $( '.woocommerce_attribute_data input[name^="attribute_variation"]:checked' )
113
 
114
+ return isVariable() and $variation_attributes and $variation_attributes.length > 1
 
 
 
 
 
 
115
 
116
 
117
  ###*
149
  # @since 2.0.0
150
  ###
151
  handleAttributes = ( syncCheckboxID ) ->
 
152
 
153
+ $( '#variable_product_options' ).on 'reload', ( e ) ->
154
 
155
+ if hasMultipleAttributes()
156
  $( '.wc-square-sync-with-square-error.multiple_attributes' ).show()
157
  $( syncCheckboxID ).prop( 'disabled', true )
158
  $( syncCheckboxID ).prop( 'checked', false )
165
 
166
  .trigger( 'reload' )
167
 
168
+
169
  # fire once on page load
170
  handleSKU( syncCheckboxID )
171
  handleAttributes( syncCheckboxID )
188
 
189
  $( syncCheckboxID ).on 'change', ( e ) ->
190
 
191
+ # only handle stock fields if inventory sync is enabled
192
+ if not wc_square_admin_products.is_inventory_sync_enabled
193
+ return
194
+
195
  variableProduct = $.inArray( $( '#product-type' ).val(), wc_square_admin_products.variable_product_types ) isnt -1
196
 
197
  if $( this ).is( ':checked' ) and $( '#_square_item_variation_id' ).length > 0
283
  # disable stock management inputs
284
  $variationManageInput.prop( 'disabled', true ).prop( 'checked', true ).change()
285
  $variationStockInput.prop( 'readonly', true )
286
+ $( '#wc_square_variation_manage_stock' ).prop( 'disabled', false )
287
 
288
  # add a note that the variation stock is managed by square, but check if it wasn't added already to avoid duplicates
289
  if 0 is $variationManageField.find( '.description' ).length
316
  quantity = response.data
317
 
318
  $variationStockInput.val( quantity )
319
+ $variationStockField.parent().find( 'input[name^="variable_original_stock"]' ).val( quantity )
320
  $variationStockInput.prop( 'readonly', false )
321
  $variationStockField.find( '.description' ).remove()
322
 
335
  $variationStockInput.prop( 'readonly', false )
336
  $variationManageInput.prop( 'disabled', false )
337
  $variationManageInput.next( '.description' ).remove()
338
+ $( '#wc_square_variation_manage_stock' ).prop( 'disabled', true )
339
 
340
 
341
  # initial page load handling
344
  # trigger an update if the product type changes
345
  $( '#product-type' ).on 'change', ( e ) ->
346
  $( syncCheckboxID ).trigger 'change'
347
+
348
  # trigger an update for variable products when variations are loaded
349
  $( '#woocommerce-product-data' ).on 'woocommerce_variations_loaded', ( e ) ->
350
  $( syncCheckboxID ).trigger 'change'
assets/js/admin/wc-square-admin-products.min.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";(function(){var g=[].indexOf;jQuery(document).ready(function(d){var e,t,r,i,s,n,a,o,c,p,u,_,l,h,f,m,w;if(w=null!=(h=window.typenow)?h:"",l=null!=(f=window.pagenow)?f:"","product"===w)return"edit-product"===l&&d("button.editinline").on("click",function(e){var r,t,c;return r=d(this).closest("tr"),c=r.find("th.check-column input").val(),t={action:"wc_square_is_product_synced_with_square",security:wc_square_admin_products.is_product_synced_with_square_nonce,product_id:r.find("th.check-column input").val()},d.post(wc_square_admin_products.ajax_url,t,function(e){var r,t,i,s,n,a,o;if(r=d("tr#edit-"+c),n=r.find("select.square-synced"),s=r.find("input[name=_sku]"),i=r.find("input[name=_manage_stock]"),o=r.find("select[name=_stock_status]"),a=r.find("input[name=_stock]"),t=r.find(".wc-square-sync-with-square-errors"),e&&e.data)return"multiple_attributes"===e.data?(n.prop("checked",!1),n.prop("disabled",!0),void t.find(".multiple_attributes").show()):(n.val("missing_sku"===e.data?"no":e.data),s.on("change keyup keypress",function(e){return""===d(this).val()?(n.val("no"),n.prop("disabled",!0),t.find(".missing_sku").show()):(n.prop("disabled",!1),n.trigger("change"),t.find(".missing_sku").hide())}).trigger("change"),n.on("change",function(e){return"no"===d(this).val()?(i.prop("disabled",!1),o.prop("disabled",!1),a.prop("disabled",!1)):(i.prop("checked",!0),d(".stock_qty_field").show(),i.prop("disabled",!0),o.prop("disabled",!0),a.prop("disabled",!0))}).trigger("change"))})}),"product"===l?(m="#_"+wc_square_admin_products.synced_with_square_taxonomy,(e=d("#wc-square-has-multiple-custom-attributes"))&&0<e.length?(d(m).prop("disabled",!0),void d(m).prop("checked",!1)):(p=function(){var e;return e=d("#product-type").val(),0<=g.call(wc_square_admin_products.variable_product_types,e)},c=function(){return""!==d("#_sku").val()},o=function(){var e;return(e=d(".attribute_taxonomy").find("option:disabled"))&&1<e.length},function(){},a=function(t){return d("#variable_product_options").on("reload",function(e){var r;return(r=d(".attribute_taxonomy").find("option:disabled"))&&1<r.length?(d(".wc-square-sync-with-square-error.multiple_attributes").show(),d(t).prop("disabled",!0),d(t).prop("checked",!1)):(d(".wc-square-sync-with-square-error.multiple_attributes").hide(),c()&&d(t).prop("disabled",!1)),d(t).trigger("change")}).trigger("reload")},function(r){if(!p())return d("#_sku").on("change keypress keyup",function(e){return""===d(this).val()?(d(".wc-square-sync-with-square-error.missing_sku").show(),d(r).prop("disabled",!0),d(r).prop("checked",!1)):(d(".wc-square-sync-with-square-error.missing_sku").hide(),o()||d(r).prop("disabled",!1)),d(r).trigger("change")}).trigger("change")}(m),a(m),s=d(".stock_fields"),n=s.find("#_stock"),r=d("._manage_stock_field"),i=r.find("#_manage_stock"),t=r.find(".description"),u=t.text(),_=d("#_manage_stock").is(":checked"),d(m).on("change",function(e){var a,r;return r=-1!==d.inArray(d("#product-type").val(),wc_square_admin_products.variable_product_types),d(this).is(":checked")&&0<d("#_square_item_variation_id").length?(a=!0,t.html('<a href="'+wc_square_admin_products.settings_url+'">'+wc_square_admin_products.i18n.synced_with_square+"</a>"),i.prop("disabled",!0).prop("checked",!r).change(),n.prop("readonly",!0),r||s.show(),wc_square_admin_products.is_woocommerce_sor&&!r?(0===d("p._stock_field span.description").length&&n.after('<span class="description" style="display:block;clear:both;"><a href="#" id="fetch-stock-with-square">'+wc_square_admin_products.i18n.fetch_stock_with_square+'</a><div class="spinner" style="float:none;"></div></span>'),d("#fetch-stock-with-square").on("click",function(e){var t,r;return e.preventDefault(),(t=d("p._stock_field span.description .spinner")).css("visibility","visible"),r={action:"wc_square_fetch_product_stock_with_square",security:wc_square_admin_products.fetch_product_stock_with_square_nonce,product_id:d("#post_ID").val()},d.post(wc_square_admin_products.ajax_url,r,function(e){var r;return e&&e.success?(r=e.data,n.val(r),s.find("input[name=_original_stock]").val(r),n.prop("readonly",!1),d("p._stock_field span.description").remove()):(e.data&&(d(".inventory-fetch-error").remove(),t.after('<span class="inventory-fetch-error" style="display:inline-block;color:red;">'+e.data+"</span>")),t.css("visibility","hidden"),console.log(e))})})):wc_square_admin_products.is_square_sor&&0===d("p._stock_field span.description").length&&n.after('<span class="description" style="display:block;clear:both;">'+wc_square_admin_products.i18n.managed_by_square+"</span>")):(a=!1,d("p._stock_field span.description").remove(),n.prop("readonly",!1),t.html(u),i.prop("disabled",!1).prop("checked",_),_&&s.show()),d(".woocommerce_variation").each(function(){var e,r,i,s,t,n;return n=d(this).find("h3 > a").attr("rel"),e=(r=d(".variable_manage_stock")).parent(),s=d(this).find(".wc_input_stock"),i=s.parent(),a?(r.prop("disabled",!0).prop("checked",!0).change(),s.prop("readonly",!0),0===e.find(".description").length&&r.after('<span class="description">('+wc_square_admin_products.i18n.managed_by_square+")</span>"),wc_square_admin_products.is_woocommerce_sor?(t="fetch-stock-with-square-"+n,0===i.find("span.description").length&&s.after('<span class="description" style="display:block;clear:both;"><a href="#" id="'+t+'">'+wc_square_admin_products.i18n.fetch_stock_with_square+'</a><div class="spinner" style="float:none;"></div></span>'),d("#"+t).on("click",function(e){var t,r;return e.preventDefault(),(t=d(this).next(".spinner")).css("visibility","visible"),r={action:"wc_square_fetch_product_stock_with_square",security:wc_square_admin_products.fetch_product_stock_with_square_nonce,product_id:n},d.post(wc_square_admin_products.ajax_url,r,function(e){var r;return e&&e.success?(r=e.data,s.val(r),s.prop("readonly",!1),i.find(".description").remove()):(e.data&&(d(".inventory-fetch-error").remove(),t.after('<span class="inventory-fetch-error" style="display:inline-block;color:red;">'+e.data+"</span>")),t.css("visibility","hidden"),console.log(e))})})):void 0):(s.prop("readonly",!1),r.prop("disabled",!1),r.next(".description").remove())})}).trigger("change"),d("#product-type").on("change",function(e){return d(m).trigger("change")}),d("#woocommerce-product-data").on("woocommerce_variations_loaded",function(e){return d(m).trigger("change")}))):void 0})}).call(void 0);
2
  //# sourceMappingURL=wc-square-admin-products.min.js.map
1
+ "use strict";(function(){var w=[].indexOf;jQuery(document).ready(function(d){var t,e,i,a,n,r,s,c,o,_,p,u,l,h,f,m;if(m=null!=(l=window.typenow)?l:"",u=null!=(h=window.pagenow)?h:"","product"===m&&wc_square_admin_products.is_product_sync_enabled)return"edit-product"===u&&d("button.editinline").on("click",function(e){var r,t,o;return r=d(this).closest("tr"),o=r.find("th.check-column input").val(),t={action:"wc_square_is_product_synced_with_square",security:wc_square_admin_products.is_product_synced_with_square_nonce,product_id:r.find("th.check-column input").val()},d.post(wc_square_admin_products.ajax_url,t,function(e){var r,t,i,a,n,s,c;if(r=d("tr#edit-"+o),n=r.find("select.square-synced"),a=r.find("input[name=_sku]"),i=r.find("input[name=_manage_stock]"),c=r.find("select[name=_stock_status]"),s=r.find("input[name=_stock]"),t=r.find(".wc-square-sync-with-square-errors"),e&&e.data)return"multiple_attributes"===e.data?(n.prop("checked",!1),n.prop("disabled",!0),void t.find(".multiple_attributes").show()):(n.val("missing_sku"===e.data?"no":e.data),a.on("change keyup keypress",function(e){return""===d(this).val()?(n.val("no"),n.prop("disabled",!0),t.find(".missing_sku").show()):(n.prop("disabled",!1),n.trigger("change"),t.find(".missing_sku").hide())}).trigger("change"),n.on("change",function(e){return"no"===d(this).val()?(i.prop("disabled",!1),c.prop("disabled",!1),s.prop("disabled",!1)):(i.prop("checked",!0),d(".stock_qty_field").show(),i.prop("disabled",!0),c.prop("disabled",!0),s.prop("disabled",!0))}).trigger("change"))})}),"product"===u?(f="#_"+wc_square_admin_products.synced_with_square_taxonomy,o=function(){var e;return e=d("#product-type").val(),0<=w.call(wc_square_admin_products.variable_product_types,e)},c=function(){return""!==d("#_sku").val()},s=function(){var e;return e=d('.woocommerce_attribute_data input[name^="attribute_variation"]:checked'),o()&&e&&1<e.length},r=function(r){return d("#variable_product_options").on("reload",function(e){return s()?(d(".wc-square-sync-with-square-error.multiple_attributes").show(),d(r).prop("disabled",!0),d(r).prop("checked",!1)):(d(".wc-square-sync-with-square-error.multiple_attributes").hide(),c()&&d(r).prop("disabled",!1)),d(r).trigger("change")}).trigger("reload")},function(r){if(!o())return d("#_sku").on("change keypress keyup",function(e){return""===d(this).val()?(d(".wc-square-sync-with-square-error.missing_sku").show(),d(r).prop("disabled",!0),d(r).prop("checked",!1)):(d(".wc-square-sync-with-square-error.missing_sku").hide(),s()||d(r).prop("disabled",!1)),d(r).trigger("change")}).trigger("change")}(f),r(f),a=d(".stock_fields"),n=a.find("#_stock"),e=d("._manage_stock_field"),i=e.find("#_manage_stock"),t=e.find(".description"),_=t.text(),p=d("#_manage_stock").is(":checked"),d(f).on("change",function(e){var s,r;if(wc_square_admin_products.is_inventory_sync_enabled)return r=-1!==d.inArray(d("#product-type").val(),wc_square_admin_products.variable_product_types),d(this).is(":checked")&&0<d("#_square_item_variation_id").length?(s=!0,t.html('<a href="'+wc_square_admin_products.settings_url+'">'+wc_square_admin_products.i18n.synced_with_square+"</a>"),i.prop("disabled",!0).prop("checked",!r).change(),n.prop("readonly",!0),r||a.show(),wc_square_admin_products.is_woocommerce_sor&&!r?(0===d("p._stock_field span.description").length&&n.after('<span class="description" style="display:block;clear:both;"><a href="#" id="fetch-stock-with-square">'+wc_square_admin_products.i18n.fetch_stock_with_square+'</a><div class="spinner" style="float:none;"></div></span>'),d("#fetch-stock-with-square").on("click",function(e){var t,r;return e.preventDefault(),(t=d("p._stock_field span.description .spinner")).css("visibility","visible"),r={action:"wc_square_fetch_product_stock_with_square",security:wc_square_admin_products.fetch_product_stock_with_square_nonce,product_id:d("#post_ID").val()},d.post(wc_square_admin_products.ajax_url,r,function(e){var r;return e&&e.success?(r=e.data,n.val(r),a.find("input[name=_original_stock]").val(r),n.prop("readonly",!1),d("p._stock_field span.description").remove()):(e.data&&(d(".inventory-fetch-error").remove(),t.after('<span class="inventory-fetch-error" style="display:inline-block;color:red;">'+e.data+"</span>")),t.css("visibility","hidden"),console.log(e))})})):wc_square_admin_products.is_square_sor&&0===d("p._stock_field span.description").length&&n.after('<span class="description" style="display:block;clear:both;">'+wc_square_admin_products.i18n.managed_by_square+"</span>")):(s=!1,d("p._stock_field span.description").remove(),n.prop("readonly",!1),t.html(_),i.prop("disabled",!1).prop("checked",p),p&&a.show()),d(".woocommerce_variation").each(function(){var e,r,i,a,t,n;return n=d(this).find("h3 > a").attr("rel"),e=(r=d(".variable_manage_stock")).parent(),a=d(this).find(".wc_input_stock"),i=a.parent(),s?(r.prop("disabled",!0).prop("checked",!0).change(),a.prop("readonly",!0),d("#wc_square_variation_manage_stock").prop("disabled",!1),0===e.find(".description").length&&r.after('<span class="description">('+wc_square_admin_products.i18n.managed_by_square+")</span>"),wc_square_admin_products.is_woocommerce_sor?(t="fetch-stock-with-square-"+n,0===i.find("span.description").length&&a.after('<span class="description" style="display:block;clear:both;"><a href="#" id="'+t+'">'+wc_square_admin_products.i18n.fetch_stock_with_square+'</a><div class="spinner" style="float:none;"></div></span>'),d("#"+t).on("click",function(e){var t,r;return e.preventDefault(),(t=d(this).next(".spinner")).css("visibility","visible"),r={action:"wc_square_fetch_product_stock_with_square",security:wc_square_admin_products.fetch_product_stock_with_square_nonce,product_id:n},d.post(wc_square_admin_products.ajax_url,r,function(e){var r;return e&&e.success?(r=e.data,a.val(r),i.parent().find('input[name^="variable_original_stock"]').val(r),a.prop("readonly",!1),i.find(".description").remove()):(e.data&&(d(".inventory-fetch-error").remove(),t.after('<span class="inventory-fetch-error" style="display:inline-block;color:red;">'+e.data+"</span>")),t.css("visibility","hidden"),console.log(e))})})):void 0):(a.prop("readonly",!1),r.prop("disabled",!1),r.next(".description").remove(),d("#wc_square_variation_manage_stock").prop("disabled",!0))})}).trigger("change"),d("#product-type").on("change",function(e){return d(f).trigger("change")}),d("#woocommerce-product-data").on("woocommerce_variations_loaded",function(e){return d(f).trigger("change")})):void 0})}).call(void 0);
2
  //# sourceMappingURL=wc-square-admin-products.min.js.map
assets/js/admin/wc-square-admin-products.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../admin/wc-square-admin-products.coffee","../admin/wc-square-admin-products.js"],"names":["indexOf","jQuery","document","ready","$","$hasCustomAttributes","$manageDesc","$manageField","$manageInput","$stockFields","$stockInput","handleAttributes","hasMultipleAttributes","hasSKU","isVariable","manageDescOriginal","manageStockOriginal","pagenow","ref","ref1","syncCheckboxID","typenow","window","on","e","$row","data","postID","security","this","closest","find","val","action","wc_square_admin_products","is_product_synced_with_square_nonce","product_id","post","ajax_url","response","$editRow","$errors","$manageStock","$sku","$squareSynced","$stockQty","$stockStatus","prop","show","trigger","hide","synced_with_square_taxonomy","length","ref2","call","variable_product_types","$disabledOptions","handleSKU","text","is","useSquare","variableProduct","inArray","html","settings_url","i18n","synced_with_square","change","is_woocommerce_sor","after","fetch_stock_with_square","$spinner","preventDefault","css","fetch_product_stock_with_square_nonce","quantity","success","remove","console","log","is_square_sor","managed_by_square","each","$variationManageField","$variationManageInput","$variationStockField","$variationStockInput","fetchVariationStockActionID","variationID","attr","parent","next","undefined"],"mappings":"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","file":"wc-square-admin-products.min.js"}
1
+ {"version":3,"sources":["../admin/wc-square-admin-products.coffee","../admin/wc-square-admin-products.js"],"names":["indexOf","jQuery","document","ready","$","$manageDesc","$manageField","$manageInput","$stockFields","$stockInput","handleAttributes","hasMultipleAttributes","hasSKU","isVariable","manageDescOriginal","manageStockOriginal","pagenow","ref","ref1","syncCheckboxID","typenow","window","wc_square_admin_products","is_product_sync_enabled","on","e","$row","data","postID","security","this","closest","find","val","action","is_product_synced_with_square_nonce","product_id","post","ajax_url","response","$editRow","$errors","$manageStock","$sku","$squareSynced","$stockQty","$stockStatus","prop","show","trigger","hide","synced_with_square_taxonomy","ref2","call","variable_product_types","$variation_attributes","length","handleSKU","text","is","useSquare","variableProduct","is_inventory_sync_enabled","inArray","html","settings_url","i18n","synced_with_square","change","is_woocommerce_sor","after","fetch_stock_with_square","$spinner","preventDefault","css","fetch_product_stock_with_square_nonce","quantity","success","remove","console","log","is_square_sor","managed_by_square","each","$variationManageField","$variationManageInput","$variationStockField","$variationStockInput","fetchVariationStockActionID","variationID","attr","parent","next","undefined"],"mappings":"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","file":"wc-square-admin-products.min.js"}
assets/js/admin/wc-square-admin-settings.coffee CHANGED
@@ -21,6 +21,21 @@ jQuery( document ).ready ( $ ) ->
21
 
22
  system_of_record = $( this ).val()
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  if 'square' is system_of_record
25
  $( '#wc_square_hide_missing_products' ).closest( 'tr' ).show()
26
  else
21
 
22
  system_of_record = $( this ).val()
23
 
24
+ $inventory_sync = $( '#wc_square_enable_inventory_sync' )
25
+ $inventory_sync_row = $inventory_sync.closest( 'tr' )
26
+
27
+ # toggle the "Sync inventory" setting depending on the SOR
28
+ if system_of_record in [ 'square', 'woocommerce' ]
29
+
30
+ $inventory_sync.next( 'span' ).html( wc_square_admin_settings.i18n.sync_inventory_label[system_of_record] )
31
+
32
+ $inventory_sync_row.find( '.description' ).html( wc_square_admin_settings.i18n.sync_inventory_description[system_of_record] )
33
+
34
+ $inventory_sync_row.show()
35
+ else
36
+ $inventory_sync_row.hide()
37
+
38
+ # toggle the "Hide missing products" setting depending on the SOR
39
  if 'square' is system_of_record
40
  $( '#wc_square_hide_missing_products' ).closest( 'tr' ).show()
41
  else
assets/js/admin/wc-square-admin-settings.min.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";(function(){jQuery(document).ready(function(a){var n,c,e,s;if(null!=(e=window.typenow)?e:"","woocommerce_page_wc-settings"===(null!=(s=window.pagenow)?s:""))return a("#wc_square_system_of_record").change(function(){return"square"===a(this).val()?a("#wc_square_hide_missing_products").closest("tr").show():a("#wc_square_hide_missing_products").closest("tr").hide()}).change(),a(".js-import-square-products").on("click",function(e){return e.preventDefault(),new a.WCBackboneModal.View({target:"wc-square-import-products"}),a("#btn-close").on("click",function(e){return e.preventDefault(),a("button.modal-close").trigger("click")}),a("#btn-ok").on("click",function(e){var s;return e.preventDefault(),a(this).unbind(),s={action:"wc_square_import_products_from_square",dispatch:wc_square_admin_settings.sync_in_background,security:wc_square_admin_settings.import_products_from_square},a.post(wc_square_admin_settings.ajax_url,s,function(e){var s;return s=e.data?e.data:null,e.success&&s?alert(s):!e.success&&s&&alert(s),location.reload()})})}),a("#wc-square-sync").on("click",function(e){return e.preventDefault(),new a.WCBackboneModal.View({target:"wc-square-sync"}),a("#btn-close").on("click",function(e){return e.preventDefault(),a("button.modal-close").trigger("click")}),a("#btn-ok").on("click",function(e){var s;return e.preventDefault(),a(this).unbind(),a("table.sync").block({message:null,overlayCSS:{opacity:"0.2"}}),a("table.records").block({message:null,overlayCSS:{opacity:"0.2"}}),a("#wc-square_clear-sync-records").prop("disabled",!0),s={action:"wc_square_sync_products_with_square",dispatch:wc_square_admin_settings.sync_in_background,security:wc_square_admin_settings.sync_products_with_square},a.post(wc_square_admin_settings.ajax_url,s,function(e){return e&&e.success?location.reload():(a("#wc-square_clear-sync-records").prop("disabled",!1),a("table.sync").unblock(),a("table.records").unblock(),console.log(e))})})}),c='<tr><td colspan="4"><em>'+wc_square_admin_settings.i18n.no_records_found+"</em></td></tr>",a("#wc-square_clear-sync-records").on("click",function(e){var s;return e.preventDefault(),a("table.records").block({message:null,overlayCSS:{opacity:"0.2"}}),s={action:"wc_square_handle_sync_records",id:"all",handle:"delete",security:wc_square_admin_settings.handle_sync_with_square_records},a.post(wc_square_admin_settings.ajax_url,s,function(e){return e&&e.success?(a("table.records tbody").html(c),a("#wc-square_clear-sync-records").prop("disabled",!0)):(e.data&&alert(e.data),console.log(e)),a("table.records").unblock()})}),a(".records .actions button.action").on("click",function(e){var t,s,r;return e.preventDefault(),a("table.records").block({message:null,overlayCSS:{opacity:"0.2"}}),r=a(this).data("id"),t=a(this).data("action"),s={action:"wc_square_handle_sync_records",id:r,handle:t,security:wc_square_admin_settings.handle_sync_with_square_records},a.post(wc_square_admin_settings.ajax_url,s,function(e){var s;return e&&e.success?(s="#record-"+r,"delete"===t?(a(s).remove(),a("table.records tbody tr").length||(a("table.records tbody").html(c),a("#wc-square_clear-sync-records").prop("disabled",!0))):"resolve"!==t&&"unsync"!==t||(a(s+" .type").html('<mark class="resolved"><span>'+wc_square_admin_settings.i18n.resolved+"</span></mark>"),a(s+" .actions").html("&mdash;"))):(e&&e.data&&alert(e.data),console.log({record:r,action:t,response:e})),a("table.records").unblock()})}),n=function(e){var r,s;return(r=a("span.progress"))&&0!==r.length||(a("p.sync-result").append(' <span class="progress" style="display:block"></span>'),r=a("span.progress")),s={action:"wc_square_get_sync_with_square_status",security:wc_square_admin_settings.get_sync_with_square_status_nonce,job_id:e},a.post(wc_square_admin_settings.ajax_url,s,function(e){var s,t;if(e&&e.data)return e.success&&e.data.id?(a("table.sync .spinner").css("visibility","visible"),a("#wc-square_clear-sync-records").prop("disabled",!0),a("table.records .actions button").prop("disabled",!0),"completed"!==(t=e.data.status)&&"failed"!==t?(s=" ","product_import"===e.data.action?(s+=wc_square_admin_settings.i18n.skipped+": "+parseInt(e.data.skipped_products_count,10)+"<br/>",s+=wc_square_admin_settings.i18n.imported+": "+parseInt(e.data.processed_products_count,10)):e.data.percentage&&(s+=parseInt(e.data.percentage,10)+"%"),r.html(s),setTimeout(function(){return n(e.data.id)},3e4)):location.reload()):(a("#wc-square_clear-sync-records").prop("disabled",!1),a("table.records .actions button").prop("disabled",!1),a("table.sync .spinner").css("visibility","hidden"),console.log(e))})},wc_square_admin_settings.existing_sync_job_id?n(wc_square_admin_settings.existing_sync_job_id):void 0})}).call(void 0);
2
  //# sourceMappingURL=wc-square-admin-settings.min.js.map
1
+ "use strict";(function(){jQuery(document).ready(function(n){var a,c,e,s;if(null!=(e=window.typenow)?e:"","woocommerce_page_wc-settings"===(null!=(s=window.pagenow)?s:""))return n("#wc_square_system_of_record").change(function(){var e,s,t;return t=n(this).val(),s=(e=n("#wc_square_enable_inventory_sync")).closest("tr"),"square"===t||"woocommerce"===t?(e.next("span").html(wc_square_admin_settings.i18n.sync_inventory_label[t]),s.find(".description").html(wc_square_admin_settings.i18n.sync_inventory_description[t]),s.show()):s.hide(),"square"===t?n("#wc_square_hide_missing_products").closest("tr").show():n("#wc_square_hide_missing_products").closest("tr").hide()}).change(),n(".js-import-square-products").on("click",function(e){return e.preventDefault(),new n.WCBackboneModal.View({target:"wc-square-import-products"}),n("#btn-close").on("click",function(e){return e.preventDefault(),n("button.modal-close").trigger("click")}),n("#btn-ok").on("click",function(e){var s;return e.preventDefault(),n(this).unbind(),s={action:"wc_square_import_products_from_square",dispatch:wc_square_admin_settings.sync_in_background,security:wc_square_admin_settings.import_products_from_square},n.post(wc_square_admin_settings.ajax_url,s,function(e){var s;return s=e.data?e.data:null,e.success&&s?alert(s):!e.success&&s&&alert(s),location.reload()})})}),n("#wc-square-sync").on("click",function(e){return e.preventDefault(),new n.WCBackboneModal.View({target:"wc-square-sync"}),n("#btn-close").on("click",function(e){return e.preventDefault(),n("button.modal-close").trigger("click")}),n("#btn-ok").on("click",function(e){var s;return e.preventDefault(),n(this).unbind(),n("table.sync").block({message:null,overlayCSS:{opacity:"0.2"}}),n("table.records").block({message:null,overlayCSS:{opacity:"0.2"}}),n("#wc-square_clear-sync-records").prop("disabled",!0),s={action:"wc_square_sync_products_with_square",dispatch:wc_square_admin_settings.sync_in_background,security:wc_square_admin_settings.sync_products_with_square},n.post(wc_square_admin_settings.ajax_url,s,function(e){return e&&e.success?location.reload():(n("#wc-square_clear-sync-records").prop("disabled",!1),n("table.sync").unblock(),n("table.records").unblock(),console.log(e))})})}),c='<tr><td colspan="4"><em>'+wc_square_admin_settings.i18n.no_records_found+"</em></td></tr>",n("#wc-square_clear-sync-records").on("click",function(e){var s;return e.preventDefault(),n("table.records").block({message:null,overlayCSS:{opacity:"0.2"}}),s={action:"wc_square_handle_sync_records",id:"all",handle:"delete",security:wc_square_admin_settings.handle_sync_with_square_records},n.post(wc_square_admin_settings.ajax_url,s,function(e){return e&&e.success?(n("table.records tbody").html(c),n("#wc-square_clear-sync-records").prop("disabled",!0)):(e.data&&alert(e.data),console.log(e)),n("table.records").unblock()})}),n(".records .actions button.action").on("click",function(e){var t,s,r;return e.preventDefault(),n("table.records").block({message:null,overlayCSS:{opacity:"0.2"}}),r=n(this).data("id"),t=n(this).data("action"),s={action:"wc_square_handle_sync_records",id:r,handle:t,security:wc_square_admin_settings.handle_sync_with_square_records},n.post(wc_square_admin_settings.ajax_url,s,function(e){var s;return e&&e.success?(s="#record-"+r,"delete"===t?(n(s).remove(),n("table.records tbody tr").length||(n("table.records tbody").html(c),n("#wc-square_clear-sync-records").prop("disabled",!0))):"resolve"!==t&&"unsync"!==t||(n(s+" .type").html('<mark class="resolved"><span>'+wc_square_admin_settings.i18n.resolved+"</span></mark>"),n(s+" .actions").html("&mdash;"))):(e&&e.data&&alert(e.data),console.log({record:r,action:t,response:e})),n("table.records").unblock()})}),a=function(e){var r,s;return(r=n("span.progress"))&&0!==r.length||(n("p.sync-result").append(' <span class="progress" style="display:block"></span>'),r=n("span.progress")),s={action:"wc_square_get_sync_with_square_status",security:wc_square_admin_settings.get_sync_with_square_status_nonce,job_id:e},n.post(wc_square_admin_settings.ajax_url,s,function(e){var s,t;if(e&&e.data)return e.success&&e.data.id?(n("table.sync .spinner").css("visibility","visible"),n("#wc-square_clear-sync-records").prop("disabled",!0),n("table.records .actions button").prop("disabled",!0),"completed"!==(t=e.data.status)&&"failed"!==t?(s=" ","product_import"===e.data.action?(s+=wc_square_admin_settings.i18n.skipped+": "+parseInt(e.data.skipped_products_count,10)+"<br/>",s+=wc_square_admin_settings.i18n.imported+": "+parseInt(e.data.processed_products_count,10)):e.data.percentage&&(s+=parseInt(e.data.percentage,10)+"%"),r.html(s),setTimeout(function(){return a(e.data.id)},3e4)):location.reload()):(n("#wc-square_clear-sync-records").prop("disabled",!1),n("table.records .actions button").prop("disabled",!1),n("table.sync .spinner").css("visibility","hidden"),console.log(e))})},wc_square_admin_settings.existing_sync_job_id?a(wc_square_admin_settings.existing_sync_job_id):void 0})}).call(void 0);
2
  //# sourceMappingURL=wc-square-admin-settings.min.js.map
assets/js/admin/wc-square-admin-settings.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../admin/wc-square-admin-settings.coffee","../admin/wc-square-admin-settings.js"],"names":["jQuery","document","ready","$","getSyncStatus","noRecordsFoundRow","ref","ref1","window","typenow","pagenow","change","this","val","closest","show","hide","on","e","preventDefault","WCBackboneModal","View","target","trigger","data","dispatch","unbind","action","wc_square_admin_settings","sync_in_background","security","import_products_from_square","post","ajax_url","response","message","success","alert","location","reload","block","overlayCSS","opacity","prop","sync_products_with_square","unblock","console","log","i18n","no_records_found","handle","id","handle_sync_with_square_records","html","recordId","rowId","remove","length","resolved","record","job_id","$progress","append","get_sync_with_square_status_nonce","progress","ref2","css","status","skipped","parseInt","skipped_products_count","imported","processed_products_count","percentage","setTimeout","existing_sync_job_id","call","undefined"],"mappings":"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","file":"wc-square-admin-settings.min.js"}
1
+ {"version":3,"sources":["../admin/wc-square-admin-settings.coffee","../admin/wc-square-admin-settings.js"],"names":["jQuery","document","ready","$","getSyncStatus","noRecordsFoundRow","ref","ref1","window","typenow","pagenow","change","$inventory_sync","$inventory_sync_row","system_of_record","this","val","closest","next","html","wc_square_admin_settings","i18n","sync_inventory_label","find","sync_inventory_description","show","hide","on","e","preventDefault","WCBackboneModal","View","target","trigger","data","dispatch","unbind","action","sync_in_background","security","import_products_from_square","post","ajax_url","response","message","success","alert","location","reload","block","overlayCSS","opacity","prop","sync_products_with_square","unblock","console","log","no_records_found","handle","id","handle_sync_with_square_records","recordId","rowId","remove","length","resolved","record","job_id","$progress","append","get_sync_with_square_status_nonce","progress","ref2","css","status","skipped","parseInt","skipped_products_count","imported","processed_products_count","percentage","setTimeout","existing_sync_job_id","call","undefined"],"mappings":"cAAA,WAOAA,OAAQC,UAAWC,MAAM,SAAEC,GAE1B,IAAAC,EAAAC,EAAAC,EAAAC,EAKA,GALA,OAAAD,EAAAE,OAAAC,SAAAH,EAA2B,GAKtB,kCAJL,OAAAC,EAAAC,OAAAE,SAAAH,EAA2B,IAqP3B,OA5OAJ,EAAG,+BAAgCQ,OAAQ,WAE1C,IAAAC,EAAAC,EAAAC,EAiBA,OAjBAA,EAAmBX,EAAGY,MAAOC,MAG7BH,GADAD,EAAsBT,EAAG,qCACac,QAAS,MAGtB,WAAtBH,GAAgC,gBAAhCA,GAEFF,EAAgBM,KAAM,QAASC,KAAMC,yBAAyBC,KAAKC,qBAAqBR,IAExFD,EAAoBU,KAAM,gBAAiBJ,KAAMC,yBAAyBC,KAAKG,2BAA2BV,IAE1GD,EAAoBY,QAEpBZ,EAAoBa,OAGlB,WAAYZ,EACdX,EAAG,oCAAqCc,QAAS,MAAOQ,OAExDtB,EAAG,oCAAqCc,QAAS,MAAOS,SAExDf,SAEFR,EAAG,8BAA+BwB,GAAG,QAAS,SAAEC,GAO9CA,OANDA,EAAEC,iBAEF,IAAI1B,EAAE2B,gBAAgBC,KACrB,CAAAC,OAAS,8BAEV7B,EAAG,cAAewB,GAAG,QAAS,SAAEC,GAHhC,OAICA,EAAEC,iBACF1B,EAAG,sBAAuB8B,QAAS,WAEpC9B,EAAG,WAAYwB,GAAG,QAAS,SAAEC,GAC5B,IAAAM,EAKCC,OALDP,EAAEC,iBACF1B,EAAGY,MAAOqB,SAEVF,EACC,CAAAG,OAAW,wCACXF,SAAWf,yBAAyBkB,mBACpCC,SAAWnB,yBAAyBoB,6BAErCrC,EAAEsC,KAAKrB,yBAAyBsB,SAAUR,EAAM,SAAES,GAEjD,IAAAC,EAEA,OAFAA,EAAaD,EAAST,KAAUS,EAAST,KAAU,KAEhDS,EAASE,SAAYD,EACvBE,MAAOF,IACID,EAASE,SAAYD,GAChCE,MAAOF,GAERG,SAASC,eAGZ7C,EAAG,mBAAoBwB,GAAG,QAAS,SAAEC,GCO9B,ODNNA,EAAEC,iBAGF,IAAI1B,EAAE2B,gBAAgBC,KACrB,CAAAC,OAAS,mBAGV7B,EAAG,cAAewB,GAAG,QAAS,SAAEC,GCJ5B,ODKHA,EAAEC,iBACF1B,EAAG,sBAAuB8B,QAAS,WAGpC9B,EAAG,WAAYwB,GAAG,QAAS,SAAEC,GAC5B,IAAAM,EAeCC,OAfDP,EAAEC,iBACF1B,EAAGY,MAAOqB,SAEVjC,EAAG,cAAe8C,MACjB,CAAAL,QAAa,KACbM,WACC,CAAAC,QAAY,SACdhD,EAAG,iBAAkB8C,MACpB,CAAAL,QAAa,KACbM,WACC,CAAAC,QAAY,SACdhD,EAAG,iCAAkCiD,KAAM,YAAY,GAEvDlB,EACC,CAAAG,OAAW,sCACXF,SAAWf,yBAAyBkB,mBACpCC,SAAWnB,yBAAyBiC,2BAErClD,EAAEsC,KAAKrB,yBAAyBsB,SAAUR,EAAM,SAAES,GACjD,OAAGA,GAAaA,EAASE,QACxBE,SAASC,UAET7C,EAAG,iCAAkCiD,KAAM,YAAY,GACvDjD,EAAG,cAAemD,UAClBnD,EAAG,iBAAkBmD,UACrBC,QAAQC,IAAKb,UAIjBtC,EAAoB,2BAA6Be,yBAAyBC,KAAKoC,iBAAmB,kBAGlGtD,EAAG,iCAAkCwB,GAAG,QAAS,SAAEC,GAClD,IAAAM,EAUCwB,OAVD9B,EAAEC,iBAEF1B,EAAG,iBAAkB8C,MACpB,CAAAL,QAAa,KACbM,WACC,CAAAC,QAAY,SAEdjB,EACC,CAAAG,OAAW,gCACXsB,GAAW,MACXD,OAAW,SACXnB,SAAWnB,yBAAyBwC,iCAErCzD,EAAEsC,KAAKrB,yBAAyBsB,SAAUR,EAAM,SAAES,GCSzC,ODRLA,GAAaA,EAASE,SACxB1C,EAAG,uBAAwBgB,KAAMd,GACjCF,EAAG,iCAAiCiD,KAAM,YAAY,KAEjDT,EAAST,MACbY,MAAOH,EAAST,MACjBqB,QAAQC,IAAKb,IAEdxC,EAAG,iBAAkBmD,cAGvBnD,EAAG,mCAAoCwB,GAAG,QAAS,SAAEC,GACpD,IAAAS,EAAAH,EAAA2B,EAYCH,OAZD9B,EAAEC,iBAEF1B,EAAG,iBAAkB8C,MACpB,CAAAL,QAAa,KACbM,WACC,CAAAC,QAAY,SAEdU,EAAW1D,EAAGY,MAAOmB,KAAM,MAC3BG,EAAWlC,EAAGY,MAAOmB,KAAM,UAC3BA,EACC,CAAAG,OAAa,gCACbsB,GAAaE,EACbH,OAAarB,EACbE,SAAanB,yBAAyBwC,iCAEvCzD,EAAEsC,KAAKrB,yBAAyBsB,SAAUR,EAAM,SAAES,GACjD,IAAAmB,EAuBEnB,OAvBCA,GAAaA,EAASE,SAExBiB,EAAQ,WAAaD,EAElB,WAAYxB,GAEdlC,EAAG2D,GAAQC,SAEJ5D,EAAG,0BAA2B6D,SACpC7D,EAAG,uBAAwBgB,KAAMd,GACjCF,EAAG,iCAAiCiD,KAAM,YAAY,KAEhD,YAAaf,GAAU,WAAYA,IAE1ClC,EAAG2D,EAAQ,UAAW3C,KAAM,gCAAkCC,yBAAyBC,KAAK4C,SAAY,kBACxG9D,EAAG2D,EAAQ,aAAc3C,KAAM,cAG7BwB,GAAaA,EAAST,MACxBY,MAAOH,EAAST,MACjBqB,QAAQC,IAAK,CACZU,OAAWL,EACXxB,OAAWA,EACXM,SAAWA,KAGbxC,EAAG,iBAAkBmD,cAUvBlD,EAAgB,SAAE+D,GAEjB,IAAAC,EAAAlC,EASCK,OATD6B,EAAYjE,EAAG,mBAEyB,IAApBiE,EAAUJ,SAE7B7D,EAAG,iBAAkBkE,OAAQ,yDAC7BD,EAAYjE,EAAG,kBAEhB+B,EACC,CAAAG,OAAW,wCACXE,SAAWnB,yBAAyBkD,kCACpCH,OAAWA,GAEZhE,EAAEsC,KAAKrB,yBAAyBsB,SAAUR,EAAM,SAAES,GACjD,IAAA4B,EAAAC,EAAA,GAAG7B,GAAaA,EAAST,KACxB,OAAGS,EAASE,SAAYF,EAAST,KAAKyB,IAGrCxD,EAAG,uBAAwBsE,IAAK,aAAc,WAE9CtE,EAAG,iCAAkCiD,KAAM,YAAY,GACvDjD,EAAG,iCAAkCiD,KAAM,YAAY,GAGtB,eAAjCoB,EAAG7B,EAAST,KAAKwC,SAA6B,WAA3CF,GAEFD,EAAW,IAGR,mBAAoB5B,EAAST,KAAKG,QACpCkC,GAAYnD,yBAAyBC,KAAKsD,QAAU,KAAOC,SAAUjC,EAAST,KAAK2C,uBAAwB,IAAO,QAClHN,GAAYnD,yBAAyBC,KAAKyD,SAAW,KAAOF,SAAUjC,EAAST,KAAK6C,yBAA0B,KACvGpC,EAAST,KAAK8C,aACrBT,GAAYK,SAAUjC,EAAST,KAAK8C,WAAY,IAAO,KAExDZ,EAAUjD,KAAMoD,GAGTU,WAAY,WAHnBb,OAIChE,EAAeuC,EAAST,KAAKyB,KAC5B,MAIFZ,SAASC,WAGV7C,EAAG,iCAAkCiD,KAAM,YAAY,GACvDjD,EAAG,iCAAkCiD,KAAM,YAAY,GACvDjD,EAAG,uBAAwBsE,IAAK,aAAc,UAC9ClB,QAAQC,IAAKb,OAGdvB,yBAAyB8D,qBAC3B9E,EAAegB,yBAAyB8D,2BADzC,MCNIC,UDzPLC","file":"wc-square-admin-settings.min.js"}
i18n/languages/woocommerce-square.pot CHANGED
@@ -2,16 +2,17 @@
2
  # This file is distributed under the GNU General Public License v3.0.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WooCommerce Square 2.0.0\n"
6
  "Report-Msgid-Bugs-To: "
7
- "https://woocommerce.com/my-account/marketplace-ticket-form/\n"
8
- "POT-Creation-Date: 2019-07-22 18:56:57+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
  "PO-Revision-Date: 2019-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
- "Language-Team: LANGUAGE <LL@li.org>\n"
 
15
 
16
  #: includes/AJAX.php:104
17
  msgid "Please mark product as un-synced and save, then synced again."
@@ -64,7 +65,7 @@ msgid "No sync job in progress found %s"
64
  msgstr ""
65
 
66
  #: includes/Admin/Privacy.php:46 includes/Admin/Settings_Page.php:55
67
- #: includes/Gateway.php:58 includes/Settings.php:143 includes/Settings.php:558
68
  msgid "Square"
69
  msgstr ""
70
 
@@ -98,48 +99,42 @@ msgid ""
98
  msgstr ""
99
 
100
  #: includes/Admin/Products.php:64
101
- msgid "Products with more than one attribute cannot be synced with Square."
102
  msgstr ""
103
 
104
- #: includes/Admin/Products.php:65
105
- msgid ""
106
- "Products with more than one custom attribute cannot be synced with Square. "
107
- "Remove the attribute(s) and update the product to dismiss this notice."
108
- msgstr ""
109
-
110
- #: includes/Admin/Products.php:147 includes/Admin.php:111
111
  msgid "Synced with Square"
112
  msgstr ""
113
 
114
- #: includes/Admin/Products.php:251
115
  msgid "Update product data with Square data"
116
  msgstr ""
117
 
118
- #: includes/Admin/Products.php:251
119
  msgid "Send product data to Square"
120
  msgstr ""
121
 
122
- #: includes/Admin/Products.php:255
123
  msgid "Sync with Square"
124
  msgstr ""
125
 
126
- #: includes/Admin/Products.php:290
127
  msgid "Sync with Square?"
128
  msgstr ""
129
 
130
- #: includes/Admin/Products.php:294
131
  msgid "No change"
132
  msgstr ""
133
 
134
- #: includes/Admin/Products.php:296
135
  msgid "No"
136
  msgstr ""
137
 
138
- #: includes/Admin/Products.php:297
139
  msgid "Yes"
140
  msgstr ""
141
 
142
- #: includes/Admin/Products.php:648
143
  #. translators: Placeholder: %1$s - date (localized), %2$s - time (localized),
144
  #. %3$s - opening <a> HTML link tag, %4$s closing </a> HTML link tag
145
  msgid ""
@@ -173,10 +168,13 @@ msgid ""
173
  msgstr ""
174
 
175
  #: includes/Admin/Settings_Page.php:184 includes/Admin/Sync_Page.php:366
 
 
 
176
  msgid "Cancel"
177
  msgstr ""
178
 
179
- #: includes/Admin/Settings_Page.php:185 includes/Settings.php:157
180
  msgid "Import Products"
181
  msgstr ""
182
 
@@ -249,6 +247,7 @@ msgstr ""
249
 
250
  #: includes/Admin/Sync_Page.php:164 includes/Admin/Sync_Page.php:270
251
  #: includes/Admin/Sync_Page.php:311
 
252
  msgid "Actions"
253
  msgstr ""
254
 
@@ -277,6 +276,7 @@ msgid "Sync now"
277
  msgstr ""
278
 
279
  #: includes/Admin/Sync_Page.php:268 includes/Admin/Sync_Page.php:309
 
280
  msgid "Status"
281
  msgstr ""
282
 
@@ -330,30 +330,49 @@ msgstr ""
330
  msgid "Start sync"
331
  msgstr ""
332
 
333
- #: includes/Admin.php:112
334
  msgid "Managed by Square"
335
  msgstr ""
336
 
337
- #: includes/Admin.php:113
338
- msgid "Fetch stock with Square"
339
  msgstr ""
340
 
341
- #: includes/Admin.php:143 includes/Sync/Records/Record.php:206
342
  msgid "Resolved"
343
  msgstr ""
344
 
345
- #: includes/Admin.php:144
346
  msgid "No records found"
347
  msgstr ""
348
 
349
- #: includes/Admin.php:145
350
  msgid "Skipped"
351
  msgstr ""
352
 
353
- #: includes/Admin.php:146
354
  msgid "Imported"
355
  msgstr ""
356
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
357
  #: includes/Emails/Sync_Completed.php:51
358
  msgid "Square sync completed"
359
  msgstr ""
@@ -408,7 +427,7 @@ msgstr ""
408
  msgid "Inspect status logs"
409
  msgstr ""
410
 
411
- #: includes/Emails/Sync_Completed.php:232 includes/Settings.php:171
412
  msgid "Enable Logging"
413
  msgstr ""
414
 
@@ -418,6 +437,7 @@ msgid "The sync job has failed. Check sync records, or %s."
418
  msgstr ""
419
 
420
  #: includes/Gateway/API/Requests/Orders.php:81
 
421
  msgid "Discount"
422
  msgstr ""
423
 
@@ -426,6 +446,9 @@ msgid "Postal code"
426
  msgstr ""
427
 
428
  #: includes/Gateway/Payment_Form.php:147 includes/Gateway.php:188
 
 
 
429
  msgid "An error occurred, please try again or try an alternate form of payment."
430
  msgstr ""
431
 
@@ -443,7 +466,7 @@ msgid ""
443
  "from your Square dashboard."
444
  msgstr ""
445
 
446
- #: includes/Gateway.php:491
447
  msgid "Customer Profiles"
448
  msgstr ""
449
 
@@ -463,19 +486,19 @@ msgstr ""
463
  msgid "Success! You can now sync your products."
464
  msgstr ""
465
 
466
- #: includes/Handlers/Connection.php:113 includes/Handlers/Connection.php:153
467
  msgid "Sorry, you do not have permission to manage the Square connection."
468
  msgstr ""
469
 
470
- #: includes/Handlers/Connection.php:183
471
  msgid "Disconnected successfully"
472
  msgstr ""
473
 
474
- #: includes/Handlers/Connection.php:367
475
  msgid "Connect with Square"
476
  msgstr ""
477
 
478
- #: includes/Handlers/Connection.php:387
479
  msgid "Disconnect from Square"
480
  msgstr ""
481
 
@@ -483,38 +506,38 @@ msgstr ""
483
  msgid "Product not synced with Square"
484
  msgstr ""
485
 
486
- #: includes/Handlers/Sync.php:315
487
  #. translators: Placeholder: %d number of products processed
488
  msgid "Updated data for %d product."
489
  msgid_plural "Updated data for %d products."
490
  msgstr[0] ""
491
  msgstr[1] ""
492
 
493
- #: includes/Plugin.php:278
494
  msgid ""
495
  "Heads up! There may be a problem with your connection to Square. In order "
496
  "to continue accepting payments, please %1$sdisconnect and re-connect your "
497
  "site%2$s."
498
  msgstr ""
499
 
500
- #: includes/Plugin.php:290
501
  msgid "You are connected to Square!"
502
  msgstr ""
503
 
504
- #: includes/Plugin.php:297
505
  msgid "To get started, set your business location."
506
  msgstr ""
507
 
508
- #: includes/Plugin.php:303
509
  #. translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag
510
  msgid "Visit the %1$splugin settings%2$s to set your business location."
511
  msgstr ""
512
 
513
- #: includes/Plugin.php:312
514
  msgid "You are ready to sync products!"
515
  msgstr ""
516
 
517
- #: includes/Plugin.php:318
518
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - product count, %3$s -
519
  #. </strong> tag, %4$s - <a> tag, %5$s - </a> tag
520
  msgid ""
@@ -522,7 +545,7 @@ msgid ""
522
  "now &raquo;%5$s"
523
  msgstr ""
524
 
525
- #: includes/Plugin.php:327
526
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s -
527
  #. <a> tag, %4$s - </a> tag
528
  msgid ""
@@ -530,39 +553,39 @@ msgid ""
530
  "products to sync data &raquo;%4$s"
531
  msgstr ""
532
 
533
- #: includes/Plugin.php:340
534
  msgid ""
535
  "Heads up! Square is configured to sync product inventory, but WooCommerce "
536
  "stock management is disabled. Please %1$senable stock management%2$s to "
537
  "ensure product inventory counts are kept in sync."
538
  msgstr ""
539
 
540
- #: includes/Plugin.php:353
541
  msgid "To get started, connect with Square."
542
  msgstr ""
543
 
544
- #: includes/Plugin.php:359
545
  #. translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag
546
  msgid "To get started, %1$sconnect with Square &raquo;%2$s"
547
  msgstr ""
548
 
549
- #: includes/Plugin.php:366
550
  #. translators: Placeholders: %1$s - plugin name
551
  msgid "Thanks for installing %1$s!"
552
  msgstr ""
553
 
554
- #: includes/Plugin.php:387
555
- #. translators: Placeholders: %1$s - plugin name, %2$s - opening <a> HTML link
556
- #. tag, %3$s - closing </a> HTML link tag, %4$s - opening <a> HTML link tag,
557
- #. %5$s - closing </a> HTML link tag
558
  msgid ""
559
- "%1$s has been updated to version 2.0.0. In order to continue syncing "
560
- "product inventory, please make sure to disconnect and reconnect with Square "
561
- "from the %2$splugin settings%3$s and re-sync your products. Read more in "
562
- "the %4$supdated documentation%5$s."
563
  msgstr ""
564
 
565
- #: includes/Plugin.php:420
566
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s -
567
  #. 2-character country code, %4$s - comma separated list of 2-character country
568
  #. codes
@@ -571,7 +594,7 @@ msgid ""
571
  "accept transactions from merchants outside of %4$s."
572
  msgstr ""
573
 
574
- #: includes/Plugin.php:442
575
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s -
576
  #. <a> tag, %4$s - </a> tag
577
  msgid ""
@@ -580,14 +603,14 @@ msgid ""
580
  "successfully with Square. %3$sRead more here%4$s on how to resolve this."
581
  msgstr ""
582
 
583
- #: includes/Plugin.php:469
584
  msgid ""
585
  "%1$sWooCommerce Square:%2$s Product prices are entered inclusive of tax, "
586
  "but Square does not support syncing tax-inclusive prices. Please make sure "
587
  "your Square tax rates match your WooCommerce tax rates."
588
  msgstr ""
589
 
590
- #: includes/Plugin.php:495
591
  msgid ""
592
  "Heads up! Your store currency is %1$s but your configured Square business "
593
  "location currency is %2$s, so payments cannot be processed. Please "
@@ -617,17 +640,19 @@ msgid "Business location"
617
  msgstr ""
618
 
619
  #: includes/Settings.php:125
620
- #. translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag
 
621
  msgid ""
622
- "Select a location to link to this site. You must have %1$sLocations%2$s set "
623
- "and approved in Square."
 
624
  msgstr ""
625
 
626
- #: includes/Settings.php:132
627
  msgid "Product system of record"
628
  msgstr ""
629
 
630
- #: includes/Settings.php:137
631
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s -
632
  #. <a> tag, %4$s - </a> tag
633
  msgid ""
@@ -636,7 +661,7 @@ msgid ""
636
  "here%4$s to read more about choosing a system of record."
637
  msgstr ""
638
 
639
- #: includes/Settings.php:142
640
  msgid "Do not sync product data"
641
  msgstr ""
642
 
@@ -644,38 +669,46 @@ msgstr ""
644
  msgid "WooCommerce"
645
  msgstr ""
646
 
647
- #: includes/Settings.php:150
 
 
 
 
 
 
 
 
648
  msgid "Handle missing products"
649
  msgstr ""
650
 
651
- #: includes/Settings.php:151
652
  msgid "Hide synced products when not found in Square"
653
  msgstr ""
654
 
655
- #: includes/Settings.php:153
656
  msgid ""
657
  "Products not found in Square will be hidden in the WooCommerce product "
658
  "catalog."
659
  msgstr ""
660
 
661
- #: includes/Settings.php:166
662
  msgid "Connection"
663
  msgstr ""
664
 
665
- #: includes/Settings.php:175
666
  #. translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag
667
  msgid "Log debug messages to the %1$sWooCommerce status log%2$s"
668
  msgstr ""
669
 
670
- #: includes/Settings.php:202
671
  msgid "Please choose a location"
672
  msgstr ""
673
 
674
- #: includes/Settings.php:232
675
  msgid "Import all products from Square"
676
  msgstr ""
677
 
678
- #: includes/Sync/Manual_Synchronization.php:1059
679
  msgid "Product could not be updated in Square"
680
  msgstr ""
681
 
@@ -717,6 +750,8 @@ msgid "%s not found in Square."
717
  msgstr ""
718
 
719
  #: includes/Sync/Records/Record.php:542
 
 
720
  msgid "Delete"
721
  msgstr ""
722
 
@@ -761,43 +796,2320 @@ msgstr ""
761
  msgid "Data must be a non-empty string"
762
  msgstr ""
763
 
764
- #. Plugin URI of the plugin/theme
765
- msgid "https://woocommerce.com/products/square/"
 
 
 
 
 
766
  msgstr ""
767
 
768
- #. Description of the plugin/theme
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
769
  msgid ""
770
- "Adds ability to sync inventory between WooCommerce and Square POS. In "
771
- "addition, you can also make purchases through the Square payment gateway."
772
  msgstr ""
773
 
774
- #. Author URI of the plugin/theme
775
- msgid "https://www.woocommerce.com/"
776
  msgstr ""
777
 
778
- #: includes/Admin/Sync_Page.php:262
779
- msgctxt "Delete all records"
780
- msgid "Clear history"
781
  msgstr ""
782
 
783
- #: includes/Admin/Sync_Page.php:267 includes/Admin/Sync_Page.php:308
784
- msgctxt "Date - Time"
785
- msgid "Time"
786
  msgstr ""
787
 
788
- #: includes/Emails/Sync_Completed.php:53
789
- msgctxt "Email subject"
790
- msgid "[WooCommerce] Square sync completed"
791
  msgstr ""
792
 
793
- #: includes/Emails/Sync_Completed.php:54
794
- msgctxt "Email heading with merge tag placeholder"
795
- msgid "Square sync completed for {product_count}"
796
  msgstr ""
797
 
798
- #: includes/Emails/Sync_Completed.php:55
799
- msgctxt "Email body with merge tag placeholders"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
800
  msgid ""
801
- "Square sync completed for {site_title} at {sync_completed_date} "
802
- "{sync_completed_time}."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
803
  msgstr ""
2
  # This file is distributed under the GNU General Public License v3.0.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WooCommerce Square 2.0.3\n"
6
  "Report-Msgid-Bugs-To: "
7
+ "https://github.com/woocommerce/woocommerce-square/issues\n"
8
+ "POT-Creation-Date: 2019-08-19 13:09:58+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
  "PO-Revision-Date: 2019-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
15
+ "X-Generator: grunt-wp-i18n 1.0.3\n"
16
 
17
  #: includes/AJAX.php:104
18
  msgid "Please mark product as un-synced and save, then synced again."
65
  msgstr ""
66
 
67
  #: includes/Admin/Privacy.php:46 includes/Admin/Settings_Page.php:55
68
+ #: includes/Gateway.php:58 includes/Settings.php:144 includes/Settings.php:566
69
  msgid "Square"
70
  msgstr ""
71
 
99
  msgstr ""
100
 
101
  #: includes/Admin/Products.php:64
102
+ msgid "Products with multiple variation attributes cannot be synced with Square."
103
  msgstr ""
104
 
105
+ #: includes/Admin/Products.php:168 includes/Admin.php:113
 
 
 
 
 
 
106
  msgid "Synced with Square"
107
  msgstr ""
108
 
109
+ #: includes/Admin/Products.php:264
110
  msgid "Update product data with Square data"
111
  msgstr ""
112
 
113
+ #: includes/Admin/Products.php:264
114
  msgid "Send product data to Square"
115
  msgstr ""
116
 
117
+ #: includes/Admin/Products.php:268
118
  msgid "Sync with Square"
119
  msgstr ""
120
 
121
+ #: includes/Admin/Products.php:303
122
  msgid "Sync with Square?"
123
  msgstr ""
124
 
125
+ #: includes/Admin/Products.php:307
126
  msgid "No change"
127
  msgstr ""
128
 
129
+ #: includes/Admin/Products.php:309
130
  msgid "No"
131
  msgstr ""
132
 
133
+ #: includes/Admin/Products.php:310
134
  msgid "Yes"
135
  msgstr ""
136
 
137
+ #: includes/Admin/Products.php:672
138
  #. translators: Placeholder: %1$s - date (localized), %2$s - time (localized),
139
  #. %3$s - opening <a> HTML link tag, %4$s closing </a> HTML link tag
140
  msgid ""
168
  msgstr ""
169
 
170
  #: includes/Admin/Settings_Page.php:184 includes/Admin/Sync_Page.php:366
171
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:133
172
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-order-partial-capture.php:66
173
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:227
174
  msgid "Cancel"
175
  msgstr ""
176
 
177
+ #: includes/Admin/Settings_Page.php:185 includes/Settings.php:165
178
  msgid "Import Products"
179
  msgstr ""
180
 
247
 
248
  #: includes/Admin/Sync_Page.php:164 includes/Admin/Sync_Page.php:270
249
  #: includes/Admin/Sync_Page.php:311
250
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:426
251
  msgid "Actions"
252
  msgstr ""
253
 
276
  msgstr ""
277
 
278
  #: includes/Admin/Sync_Page.php:268 includes/Admin/Sync_Page.php:309
279
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:97
280
  msgid "Status"
281
  msgstr ""
282
 
330
  msgid "Start sync"
331
  msgstr ""
332
 
333
+ #: includes/Admin.php:114
334
  msgid "Managed by Square"
335
  msgstr ""
336
 
337
+ #: includes/Admin.php:115
338
+ msgid "Fetch stock from Square"
339
  msgstr ""
340
 
341
+ #: includes/Admin.php:147 includes/Sync/Records/Record.php:206
342
  msgid "Resolved"
343
  msgstr ""
344
 
345
+ #: includes/Admin.php:148
346
  msgid "No records found"
347
  msgstr ""
348
 
349
+ #: includes/Admin.php:149
350
  msgid "Skipped"
351
  msgstr ""
352
 
353
+ #: includes/Admin.php:150
354
  msgid "Imported"
355
  msgstr ""
356
 
357
+ #: includes/Admin.php:152
358
+ msgid "Enable to fetch inventory changes from Square"
359
+ msgstr ""
360
+
361
+ #: includes/Admin.php:153
362
+ msgid "Enable to push inventory changes to Square"
363
+ msgstr ""
364
+
365
+ #: includes/Admin.php:156 includes/Settings.php:154
366
+ msgid "Inventory is fetched from Square periodically and updated in WooCommerce"
367
+ msgstr ""
368
+
369
+ #: includes/Admin.php:159
370
+ #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag
371
+ msgid ""
372
+ "Inventory is %1$salways fetched from Square%2$s periodically to account for "
373
+ "sales from other channels."
374
+ msgstr ""
375
+
376
  #: includes/Emails/Sync_Completed.php:51
377
  msgid "Square sync completed"
378
  msgstr ""
427
  msgid "Inspect status logs"
428
  msgstr ""
429
 
430
+ #: includes/Emails/Sync_Completed.php:232 includes/Settings.php:179
431
  msgid "Enable Logging"
432
  msgstr ""
433
 
437
  msgstr ""
438
 
439
  #: includes/Gateway/API/Requests/Orders.php:81
440
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay.php:555
441
  msgid "Discount"
442
  msgstr ""
443
 
446
  msgstr ""
447
 
448
  #: includes/Gateway/Payment_Form.php:147 includes/Gateway.php:188
449
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Hosted_Payment_Handler.php:216
450
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2758
451
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:376
452
  msgid "An error occurred, please try again or try an alternate form of payment."
453
  msgstr ""
454
 
466
  "from your Square dashboard."
467
  msgstr ""
468
 
469
+ #: includes/Gateway.php:496
470
  msgid "Customer Profiles"
471
  msgstr ""
472
 
486
  msgid "Success! You can now sync your products."
487
  msgstr ""
488
 
489
+ #: includes/Handlers/Connection.php:113 includes/Handlers/Connection.php:159
490
  msgid "Sorry, you do not have permission to manage the Square connection."
491
  msgstr ""
492
 
493
+ #: includes/Handlers/Connection.php:189
494
  msgid "Disconnected successfully"
495
  msgstr ""
496
 
497
+ #: includes/Handlers/Connection.php:373
498
  msgid "Connect with Square"
499
  msgstr ""
500
 
501
+ #: includes/Handlers/Connection.php:393
502
  msgid "Disconnect from Square"
503
  msgstr ""
504
 
506
  msgid "Product not synced with Square"
507
  msgstr ""
508
 
509
+ #: includes/Handlers/Sync.php:318
510
  #. translators: Placeholder: %d number of products processed
511
  msgid "Updated data for %d product."
512
  msgid_plural "Updated data for %d products."
513
  msgstr[0] ""
514
  msgstr[1] ""
515
 
516
+ #: includes/Plugin.php:269
517
  msgid ""
518
  "Heads up! There may be a problem with your connection to Square. In order "
519
  "to continue accepting payments, please %1$sdisconnect and re-connect your "
520
  "site%2$s."
521
  msgstr ""
522
 
523
+ #: includes/Plugin.php:281
524
  msgid "You are connected to Square!"
525
  msgstr ""
526
 
527
+ #: includes/Plugin.php:288
528
  msgid "To get started, set your business location."
529
  msgstr ""
530
 
531
+ #: includes/Plugin.php:294
532
  #. translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag
533
  msgid "Visit the %1$splugin settings%2$s to set your business location."
534
  msgstr ""
535
 
536
+ #: includes/Plugin.php:303
537
  msgid "You are ready to sync products!"
538
  msgstr ""
539
 
540
+ #: includes/Plugin.php:309
541
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - product count, %3$s -
542
  #. </strong> tag, %4$s - <a> tag, %5$s - </a> tag
543
  msgid ""
545
  "now &raquo;%5$s"
546
  msgstr ""
547
 
548
+ #: includes/Plugin.php:318
549
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s -
550
  #. <a> tag, %4$s - </a> tag
551
  msgid ""
553
  "products to sync data &raquo;%4$s"
554
  msgstr ""
555
 
556
+ #: includes/Plugin.php:331
557
  msgid ""
558
  "Heads up! Square is configured to sync product inventory, but WooCommerce "
559
  "stock management is disabled. Please %1$senable stock management%2$s to "
560
  "ensure product inventory counts are kept in sync."
561
  msgstr ""
562
 
563
+ #: includes/Plugin.php:344
564
  msgid "To get started, connect with Square."
565
  msgstr ""
566
 
567
+ #: includes/Plugin.php:350
568
  #. translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag
569
  msgid "To get started, %1$sconnect with Square &raquo;%2$s"
570
  msgstr ""
571
 
572
+ #: includes/Plugin.php:357
573
  #. translators: Placeholders: %1$s - plugin name
574
  msgid "Thanks for installing %1$s!"
575
  msgstr ""
576
 
577
+ #: includes/Plugin.php:378
578
+ #. translators: Placeholders: %1$s - plugin name, %2$ - plugin version number,
579
+ #. %3$s - opening <a> HTML link tag, %4$s - closing </a> HTML link tag, %5$s -
580
+ #. opening <a> HTML link tag, %6$s - closing </a> HTML link tag
581
  msgid ""
582
+ "%1$s has been updated to version %2$s. In order to continue syncing product "
583
+ "inventory, please make sure to disconnect and reconnect with Square from "
584
+ "the %3$splugin settings%4$s and re-sync your products. Read more in the "
585
+ "%5$supdated documentation%6$s."
586
  msgstr ""
587
 
588
+ #: includes/Plugin.php:412
589
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s -
590
  #. 2-character country code, %4$s - comma separated list of 2-character country
591
  #. codes
594
  "accept transactions from merchants outside of %4$s."
595
  msgstr ""
596
 
597
+ #: includes/Plugin.php:434
598
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s -
599
  #. <a> tag, %4$s - </a> tag
600
  msgid ""
603
  "successfully with Square. %3$sRead more here%4$s on how to resolve this."
604
  msgstr ""
605
 
606
+ #: includes/Plugin.php:461
607
  msgid ""
608
  "%1$sWooCommerce Square:%2$s Product prices are entered inclusive of tax, "
609
  "but Square does not support syncing tax-inclusive prices. Please make sure "
610
  "your Square tax rates match your WooCommerce tax rates."
611
  msgstr ""
612
 
613
+ #: includes/Plugin.php:487
614
  msgid ""
615
  "Heads up! Your store currency is %1$s but your configured Square business "
616
  "location currency is %2$s, so payments cannot be processed. Please "
640
  msgstr ""
641
 
642
  #: includes/Settings.php:125
643
+ #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s -
644
+ #. <a> tag, %4$s - </a> tag
645
  msgid ""
646
+ "Select a location to link to this site. Only %1$sactive%2$s "
647
+ "%3$slocations%4$s that support credit card processing in Square can be "
648
+ "linked."
649
  msgstr ""
650
 
651
+ #: includes/Settings.php:133
652
  msgid "Product system of record"
653
  msgstr ""
654
 
655
+ #: includes/Settings.php:138
656
  #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s -
657
  #. <a> tag, %4$s - </a> tag
658
  msgid ""
661
  "here%4$s to read more about choosing a system of record."
662
  msgstr ""
663
 
664
+ #: includes/Settings.php:143
665
  msgid "Do not sync product data"
666
  msgstr ""
667
 
669
  msgid "WooCommerce"
670
  msgstr ""
671
 
672
+ #: includes/Settings.php:151
673
+ msgid "Sync inventory"
674
+ msgstr ""
675
+
676
+ #: includes/Settings.php:152
677
+ msgid "Enable to sync product inventory with Square"
678
+ msgstr ""
679
+
680
+ #: includes/Settings.php:158
681
  msgid "Handle missing products"
682
  msgstr ""
683
 
684
+ #: includes/Settings.php:159
685
  msgid "Hide synced products when not found in Square"
686
  msgstr ""
687
 
688
+ #: includes/Settings.php:161
689
  msgid ""
690
  "Products not found in Square will be hidden in the WooCommerce product "
691
  "catalog."
692
  msgstr ""
693
 
694
+ #: includes/Settings.php:174
695
  msgid "Connection"
696
  msgstr ""
697
 
698
+ #: includes/Settings.php:183
699
  #. translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag
700
  msgid "Log debug messages to the %1$sWooCommerce status log%2$s"
701
  msgstr ""
702
 
703
+ #: includes/Settings.php:210
704
  msgid "Please choose a location"
705
  msgstr ""
706
 
707
+ #: includes/Settings.php:240
708
  msgid "Import all products from Square"
709
  msgstr ""
710
 
711
+ #: includes/Sync/Manual_Synchronization.php:1084
712
  msgid "Product could not be updated in Square"
713
  msgstr ""
714
 
750
  msgstr ""
751
 
752
  #: includes/Sync/Records/Record.php:542
753
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:92
754
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:819
755
  msgid "Delete"
756
  msgstr ""
757
 
796
  msgid "Data must be a non-empty string"
797
  msgstr ""
798
 
799
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_AdminView.php:48
800
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_AdminView.php:63
801
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_AdminView.php:64
802
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:89
803
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:19
804
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:30
805
+ msgid "Scheduled Actions"
806
  msgstr ""
807
 
808
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_InvalidActionException.php:22
809
+ msgid "Action [%s] has invalid arguments. It cannot be JSON decoded to an array."
810
+ msgstr ""
811
+
812
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:96
813
+ msgid "Hook"
814
+ msgstr ""
815
+
816
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:98
817
+ msgid "Arguments"
818
+ msgstr ""
819
+
820
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:99
821
+ msgid "Group"
822
+ msgstr ""
823
+
824
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:100
825
+ msgid "Recurrence"
826
+ msgstr ""
827
+
828
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:101
829
+ msgid "Scheduled Date"
830
+ msgstr ""
831
+
832
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:102
833
+ msgid "Log"
834
+ msgstr ""
835
+
836
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:122
837
+ msgid "Claim ID"
838
+ msgstr ""
839
+
840
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:129
841
+ msgid "Run"
842
+ msgstr ""
843
+
844
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:130
845
+ msgid "Process the action now as if it were run as part of a queue"
846
+ msgstr ""
847
+
848
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:134
849
+ msgid "Cancel the action now to avoid it being run in future"
850
+ msgstr ""
851
+
852
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:143
853
+ msgid "%s year"
854
+ msgid_plural "%s years"
855
+ msgstr[0] ""
856
+ msgstr[1] ""
857
+
858
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:147
859
+ msgid "%s month"
860
+ msgid_plural "%s months"
861
+ msgstr[0] ""
862
+ msgstr[1] ""
863
+
864
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:151
865
+ msgid "%s week"
866
+ msgid_plural "%s weeks"
867
+ msgstr[0] ""
868
+ msgstr[1] ""
869
+
870
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:155
871
+ msgid "%s day"
872
+ msgid_plural "%s days"
873
+ msgstr[0] ""
874
+ msgstr[1] ""
875
+
876
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:159
877
+ msgid "%s hour"
878
+ msgid_plural "%s hours"
879
+ msgstr[0] ""
880
+ msgstr[1] ""
881
+
882
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:163
883
+ msgid "%s minute"
884
+ msgid_plural "%s minutes"
885
+ msgstr[0] ""
886
+ msgstr[1] ""
887
+
888
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:167
889
+ msgid "%s second"
890
+ msgid_plural "%s seconds"
891
+ msgstr[0] ""
892
+ msgstr[1] ""
893
+
894
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:194
895
+ msgid "Now!"
896
+ msgstr ""
897
+
898
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:227
899
+ msgid "Every %s"
900
+ msgstr ""
901
+
902
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:231
903
+ msgid "Cron %s"
904
+ msgstr ""
905
+
906
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:235
907
+ msgid "Non-repeating"
908
+ msgstr ""
909
+
910
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:321
911
  msgid ""
912
+ "Maximum simultaneous batches already in progress (%s queues). No actions "
913
+ "will be processed until the current batches are complete."
914
  msgstr ""
915
 
916
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:336
917
+ msgid "Successfully executed action: %s"
918
  msgstr ""
919
 
920
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:339
921
+ msgid "Successfully canceled action: %s"
 
922
  msgstr ""
923
 
924
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:342
925
+ msgid "Successfully processed change for action: %s"
 
926
  msgstr ""
927
 
928
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:347
929
+ msgid "Could not process change for action: \"%s\" (ID: %d). Error: %s"
 
930
  msgstr ""
931
 
932
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:392
933
+ msgid " (%s ago)"
 
934
  msgstr ""
935
 
936
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:394
937
+ msgid " (%s)"
938
+ msgstr ""
939
+
940
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_ListTable.php:531
941
+ msgid "Search hook, args and claim ID"
942
+ msgstr ""
943
+
944
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Logger.php:61
945
+ msgid "action created"
946
+ msgstr ""
947
+
948
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Logger.php:65
949
+ msgid "action canceled"
950
+ msgstr ""
951
+
952
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Logger.php:69
953
+ msgid "action started"
954
+ msgstr ""
955
+
956
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Logger.php:73
957
+ msgid "action complete"
958
+ msgstr ""
959
+
960
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Logger.php:77
961
+ msgid "action failed: %s"
962
+ msgstr ""
963
+
964
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Logger.php:81
965
+ msgid "action timed out after %s seconds"
966
+ msgstr ""
967
+
968
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Logger.php:86
969
+ msgid "unexpected shutdown: PHP Fatal error %s in %s on line %s"
970
+ msgstr ""
971
+
972
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Logger.php:91
973
+ msgid "action reset"
974
+ msgstr ""
975
+
976
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Logger.php:95
977
+ msgid "action ignored"
978
+ msgstr ""
979
+
980
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_QueueRunner.php:110
981
+ msgid "Every minute"
982
+ msgstr ""
983
+
984
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Store.php:152
985
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Store.php:169
986
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:268
987
+ msgid "Invalid schedule. Cannot save action."
988
+ msgstr ""
989
+
990
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Store.php:181
991
+ msgid "Complete"
992
+ msgstr ""
993
+
994
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Store.php:182
995
+ msgid "Pending"
996
+ msgstr ""
997
+
998
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Store.php:183
999
+ msgid "In-progress"
1000
+ msgstr ""
1001
+
1002
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Store.php:184
1003
+ msgid "Failed"
1004
+ msgstr ""
1005
+
1006
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_Store.php:185
1007
+ msgid "Canceled"
1008
+ msgstr ""
1009
+
1010
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:31
1011
+ #. translators: %s php class name
1012
+ msgid "The %s class can only be run within WP CLI."
1013
+ msgstr ""
1014
+
1015
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:59
1016
+ msgid "There are too many concurrent batches, but the run is forced to continue."
1017
+ msgstr ""
1018
+
1019
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:61
1020
+ msgid "There are too many concurrent batches."
1021
+ msgstr ""
1022
+
1023
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:92
1024
+ msgid "Running %d action"
1025
+ msgid_plural "Running %d actions"
1026
+ msgstr[0] ""
1027
+ msgstr[1] ""
1028
+
1029
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:109
1030
+ msgid "The claim has been lost. Aborting current batch."
1031
+ msgstr ""
1032
+
1033
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:139
1034
+ #. translators: %s refers to the action ID
1035
+ msgid "Started processing action %s"
1036
+ msgstr ""
1037
+
1038
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:156
1039
+ #. translators: %s refers to the action ID
1040
+ msgid "Completed processing action %s with hook: %s"
1041
+ msgstr ""
1042
+
1043
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:171
1044
+ #. translators: %1$s refers to the action ID, %2$s refers to the Exception
1045
+ #. message
1046
+ msgid "Error processing action %1$s: %2$s"
1047
+ msgstr ""
1048
+
1049
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:183
1050
+ msgid "second"
1051
+ msgid_plural "seconds"
1052
+ msgstr[0] ""
1053
+ msgstr[1] ""
1054
+
1055
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_QueueRunner.php:187
1056
+ msgid "Attempting to reduce used memory..."
1057
+ msgstr ""
1058
+
1059
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_Scheduler_command.php:87
1060
+ #. translators: %d refers to how many scheduled taks were found to run
1061
+ msgid "Found %d scheduled task"
1062
+ msgid_plural "Found %d scheduled tasks"
1063
+ msgstr[0] ""
1064
+ msgstr[1] ""
1065
+
1066
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_Scheduler_command.php:104
1067
+ #. translators: %d refers to the total number of batches executed
1068
+ msgid "%d batch executed."
1069
+ msgid_plural "%d batches executed."
1070
+ msgstr[0] ""
1071
+ msgstr[1] ""
1072
+
1073
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_Scheduler_command.php:123
1074
+ #. translators: %s refers to the exception error message.
1075
+ msgid "There was an error running the action scheduler: %s"
1076
+ msgstr ""
1077
+
1078
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_WPCLI_Scheduler_command.php:140
1079
+ #. translators: %d refers to the total number of taskes completed
1080
+ msgid "%d scheduled task completed."
1081
+ msgid_plural "%d scheduled tasks completed."
1082
+ msgstr[0] ""
1083
+ msgstr[1] ""
1084
+
1085
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:27
1086
+ msgid "Error saving action: %s"
1087
+ msgstr ""
1088
+
1089
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:51
1090
+ msgid "Unable to save action."
1091
+ msgstr ""
1092
+
1093
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:441
1094
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:452
1095
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:478
1096
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:755
1097
+ msgid "Unidentified action %s"
1098
+ msgstr ""
1099
+
1100
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:590
1101
+ msgid "Unable to claim actions. Database error."
1102
+ msgstr ""
1103
+
1104
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:610
1105
+ msgid "The group \"%s\" does not exist."
1106
+ msgstr ""
1107
+
1108
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:678
1109
+ msgid "Unable to unlock claim %s. Database error."
1110
+ msgstr ""
1111
+
1112
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:692
1113
+ msgid "Unable to unlock claim on action %s. Database error."
1114
+ msgstr ""
1115
+
1116
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:703
1117
+ msgid "Unable to mark failure on action %s. Database error."
1118
+ msgstr ""
1119
+
1120
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore.php:727
1121
+ msgid "Invalid action ID. No status found."
1122
+ msgstr ""
1123
+
1124
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostStatusRegistrar.php:37
1125
+ msgid "Failed <span class=\"count\">(%s)</span>"
1126
+ msgid_plural "Failed <span class=\"count\">(%s)</span>"
1127
+ msgstr[0] ""
1128
+ msgstr[1] ""
1129
+
1130
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostStatusRegistrar.php:51
1131
+ msgid "In-Progress <span class=\"count\">(%s)</span>"
1132
+ msgid_plural "In-Progress <span class=\"count\">(%s)</span>"
1133
+ msgstr[0] ""
1134
+ msgstr[1] ""
1135
+
1136
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:20
1137
+ msgid "Scheduled actions are hooks triggered on a cetain date and time."
1138
+ msgstr ""
1139
+
1140
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:31
1141
+ msgid "Scheduled Action"
1142
+ msgstr ""
1143
+
1144
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:33
1145
+ msgid "Add"
1146
+ msgstr ""
1147
+
1148
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:34
1149
+ msgid "Add New Scheduled Action"
1150
+ msgstr ""
1151
+
1152
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:35
1153
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:226
1154
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:758
1155
+ msgid "Edit"
1156
+ msgstr ""
1157
+
1158
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:36
1159
+ msgid "Edit Scheduled Action"
1160
+ msgstr ""
1161
+
1162
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:37
1163
+ msgid "New Scheduled Action"
1164
+ msgstr ""
1165
+
1166
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:38
1167
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:39
1168
+ msgid "View Action"
1169
+ msgstr ""
1170
+
1171
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:40
1172
+ msgid "Search Scheduled Actions"
1173
+ msgstr ""
1174
+
1175
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:41
1176
+ msgid "No actions found"
1177
+ msgstr ""
1178
+
1179
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:42
1180
+ msgid "No actions found in trash"
1181
+ msgstr ""
1182
+
1183
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_TaxonomyRegistrar.php:14
1184
+ msgid "Action Group"
1185
+ msgstr ""
1186
+
1187
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/Lifecycle.php:374
1188
+ msgid "Awesome"
1189
+ msgstr ""
1190
+
1191
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/Lifecycle.php:375
1192
+ msgid "Fantastic"
1193
+ msgstr ""
1194
+
1195
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/Lifecycle.php:376
1196
+ msgid "Cowabunga"
1197
+ msgstr ""
1198
+
1199
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/Lifecycle.php:377
1200
+ msgid "Congratulations"
1201
+ msgstr ""
1202
+
1203
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/Lifecycle.php:378
1204
+ msgid "Hot dog"
1205
+ msgstr ""
1206
+
1207
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/Lifecycle.php:385
1208
+ #. translators: Placeholders: %1$s - plugin name, %2$s - <a> tag, %3$s - </a>
1209
+ #. tag, %4$s - <a> tag, %5$s - </a> tag
1210
  msgid ""
1211
+ "Are you having a great experience with %1$s so far? Please consider "
1212
+ "%2$sleaving a review%3$s! If things aren't going quite as expected, we're "
1213
+ "happy to help -- please %4$sreach out to our support team%5$s."
1214
+ msgstr ""
1215
+
1216
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:183
1217
+ msgid ""
1218
+ "Thanks for installing %1$s! To get started, take a minute to %2$sread the "
1219
+ "documentation%3$s :)"
1220
+ msgstr ""
1221
+
1222
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:211
1223
+ msgid ""
1224
+ "Thanks for installing %1$s! To get started, take a minute to complete these "
1225
+ "%2$squick and easy setup steps%3$s :)"
1226
+ msgstr ""
1227
+
1228
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:236
1229
+ msgid "Setup"
1230
+ msgstr ""
1231
+
1232
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:304
1233
+ #. translators: Placeholders: %s - plugin name
1234
+ msgid "%s &rsaquo; Setup"
1235
+ msgstr ""
1236
+
1237
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:352
1238
+ msgid "Oops! An error occurred, please try again."
1239
+ msgstr ""
1240
+
1241
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:490
1242
+ msgid "Ready!"
1243
+ msgstr ""
1244
+
1245
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:583
1246
+ #. translators: Placeholder: %s - plugin name
1247
+ msgid "Welcome to %s!"
1248
+ msgstr ""
1249
+
1250
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:596
1251
+ msgid ""
1252
+ "This quick setup wizard will help you configure the basic settings and get "
1253
+ "you started."
1254
+ msgstr ""
1255
+
1256
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:610
1257
+ msgid "%s is ready!"
1258
+ msgstr ""
1259
+
1260
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:662
1261
+ msgid "Next step"
1262
+ msgstr ""
1263
+
1264
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:688
1265
+ msgid "You can also:"
1266
+ msgstr ""
1267
+
1268
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:732
1269
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:762
1270
+ msgid "View the Docs"
1271
+ msgstr ""
1272
+
1273
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:733
1274
+ msgid "See more setup options"
1275
+ msgstr ""
1276
+
1277
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:734
1278
+ msgid "Learn more about customizing the plugin"
1279
+ msgstr ""
1280
+
1281
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:758
1282
+ msgid "Review Your Settings"
1283
+ msgstr ""
1284
+
1285
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:766
1286
+ msgid "Leave a Review"
1287
+ msgstr ""
1288
+
1289
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:790
1290
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:660
1291
+ msgid "Continue"
1292
+ msgstr ""
1293
+
1294
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:950
1295
+ msgid "Return to the WordPress Dashboard"
1296
+ msgstr ""
1297
+
1298
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:952
1299
+ msgid "Not right now"
1300
+ msgstr ""
1301
+
1302
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:954
1303
+ msgid "Skip this step"
1304
+ msgstr ""
1305
+
1306
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-framework-bootstrap.php:268
1307
+ msgid ""
1308
+ "The following plugin is disabled because it is out of date and incompatible "
1309
+ "with newer plugins on your site:"
1310
+ msgid_plural ""
1311
+ "The following plugins are disabled because they are out of date and "
1312
+ "incompatible with newer plugins on your site:"
1313
+ msgstr[0] ""
1314
+ msgstr[1] ""
1315
+
1316
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-framework-bootstrap.php:282
1317
+ msgid ""
1318
+ "To resolve this, please %1$supdate%2$s (recommended) %3$sor%4$s "
1319
+ "%5$sdeactivate%6$s the above plugin, or %7$sdeactivate the following%8$s:"
1320
+ msgid_plural ""
1321
+ "To resolve this, please %1$supdate%2$s (recommended) %3$sor%4$s "
1322
+ "%5$sdeactivate%6$s the above plugins, or %7$sdeactivate the following%8$s:"
1323
+ msgstr[0] ""
1324
+ msgstr[1] ""
1325
+
1326
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-framework-bootstrap.php:303
1327
+ msgid ""
1328
+ "The following plugins are inactive because they require a newer version of "
1329
+ "WooCommerce:"
1330
+ msgstr ""
1331
+
1332
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-framework-bootstrap.php:303
1333
+ msgid ""
1334
+ "The following plugin is inactive because it requires a newer version of "
1335
+ "WooCommerce:"
1336
+ msgstr ""
1337
+
1338
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-framework-bootstrap.php:308
1339
+ #. translators: Placeholders: %1$s - plugin name, %2$s - WooCommerce version
1340
+ #. number
1341
+ msgid "%1$s requires WooCommerce %2$s or newer"
1342
+ msgstr ""
1343
+
1344
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-framework-bootstrap.php:312
1345
+ #. translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag
1346
+ msgid "Please %1$supdate WooCommerce%2$s"
1347
+ msgstr ""
1348
+
1349
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin-dependencies.php:148
1350
+ #. translators: Placeholders: %1$s - plugin name, %2$s - a PHP
1351
+ #. extension/comma-separated list of PHP extensions
1352
+ msgid ""
1353
+ "%1$s requires the %2$s PHP extension to function. Contact your host or "
1354
+ "server administrator to install and configure the missing extension."
1355
+ msgid_plural ""
1356
+ "%1$s requires the following PHP extensions to function: %2$s. Contact your "
1357
+ "host or server administrator to install and configure the missing "
1358
+ "extensions."
1359
+ msgstr[0] ""
1360
+ msgstr[1] ""
1361
+
1362
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin-dependencies.php:176
1363
+ #. translators: Placeholders: %1$s - plugin name, %2$s - a PHP
1364
+ #. function/comma-separated list of PHP functions
1365
+ msgid ""
1366
+ "%1$s requires the %2$s PHP function to exist. Contact your host or server "
1367
+ "administrator to install and configure the missing function."
1368
+ msgid_plural ""
1369
+ "%1$s requires the following PHP functions to exist: %2$s. Contact your "
1370
+ "host or server administrator to install and configure the missing functions."
1371
+ msgstr[0] ""
1372
+ msgstr[1] ""
1373
+
1374
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin-dependencies.php:206
1375
+ #. translators: Placeholders: %s - plugin name
1376
+ msgid ""
1377
+ "%s may behave unexpectedly because the following PHP configuration settings "
1378
+ "are required:"
1379
+ msgstr ""
1380
+
1381
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin-dependencies.php:220
1382
+ msgid "%s or higher"
1383
+ msgstr ""
1384
+
1385
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin-dependencies.php:230
1386
+ msgid ""
1387
+ "Please contact your hosting provider or server administrator to configure "
1388
+ "these settings."
1389
+ msgstr ""
1390
+
1391
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin-dependencies.php:252
1392
+ #. translators: Placeholders: %1$s - <strong>, %2$s - </strong>
1393
+ msgid ""
1394
+ "Hey there! We've noticed that your server is running %1$san outdated "
1395
+ "version of PHP%2$s, which is the programming language that WooCommerce and "
1396
+ "its extensions are built on.\n"
1397
+ "\t\t\t\t\tThe PHP version that is currently used for your site is no longer "
1398
+ "maintained, nor %1$sreceives security updates%2$s; newer versions are "
1399
+ "faster and more secure.\n"
1400
+ "\t\t\t\t\tAs a result, %3$s no longer supports this version and you should "
1401
+ "upgrade PHP as soon as possible.\n"
1402
+ "\t\t\t\t\tYour hosting provider can do this for you. %4$sHere are some "
1403
+ "resources to help you upgrade%5$s and to explain PHP versions further."
1404
+ msgstr ""
1405
+
1406
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin-dependencies.php:271
1407
+ #. translators: Placeholders: %1$s - WooCommerce version number, %2$s -
1408
+ #. <strong>, %3$s - </strong>, %4$s - Plugin name, %5$s - <a> tag, %6$s - </a>
1409
+ #. tag
1410
+ msgid ""
1411
+ "Hey there! We've noticed that your site is running version %1$s of "
1412
+ "WooCommerce, but %2$sWooCommerce 3.0 or higher will soon be required%3$s by "
1413
+ "%4$s. We recommend you %5$supdate WooCommerce%6$s to the latest version as "
1414
+ "soon as possible."
1415
+ msgstr ""
1416
+
1417
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin.php:297
1418
+ #. translators: Placeholders: %s - plugin name
1419
+ msgid "You cannot clone instances of %s."
1420
+ msgstr ""
1421
+
1422
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin.php:308
1423
+ #. translators: Placeholders: %s - plugin name
1424
+ msgid "You cannot unserialize instances of %s."
1425
+ msgstr ""
1426
+
1427
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin.php:529
1428
+ #. translators: Docs as in Documentation
1429
+ msgid "Docs"
1430
+ msgstr ""
1431
+
1432
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin.php:622
1433
+ msgid "%1$s - A minimum of %2$s is required."
1434
+ msgstr ""
1435
+
1436
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin.php:631
1437
+ msgid "Set as %1$s - %2$s is required."
1438
+ msgstr ""
1439
+
1440
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin.php:854
1441
+ msgid "Configure"
1442
+ msgstr ""
1443
+
1444
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Hosted_Payment_Handler.php:178
1445
+ msgid ""
1446
+ "There was a problem processing your order and it is being placed on hold "
1447
+ "for review. Please contact us to complete the transaction."
1448
+ msgstr ""
1449
+
1450
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Hosted_Payment_Handler.php:319
1451
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:444
1452
+ #. translators: Placeholders: %s - a WooCommerce order ID
1453
+ msgid "Could not find order %s"
1454
+ msgstr ""
1455
+
1456
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:151
1457
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2351
1458
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/payment-tokens/class-sv-wc-payment-gateway-payment-tokens-handler.php:163
1459
+ #. translators: Placeholders: %1$s - status code, %2$s - status message
1460
+ #. translators: Placeholders: %1$s - payment request response status code, %2$s
1461
+ #. - payment request response status message
1462
+ msgid "Status code %1$s: %2$s"
1463
+ msgstr ""
1464
+
1465
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:154
1466
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2354
1467
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/payment-tokens/class-sv-wc-payment-gateway-payment-tokens-handler.php:166
1468
+ #. translators: Placeholders: %s - status code
1469
+ #. translators: Placeholders: %s - payment request response status code
1470
+ msgid "Status code: %s"
1471
+ msgstr ""
1472
+
1473
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:157
1474
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2357
1475
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/payment-tokens/class-sv-wc-payment-gateway-payment-tokens-handler.php:169
1476
+ #. translators: Placeholders; %s - status message
1477
+ #. translators: Placeholders: %s - payment request response status message
1478
+ msgid "Status message: %s"
1479
+ msgstr ""
1480
+
1481
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:162
1482
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2362
1483
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/payment-tokens/class-sv-wc-payment-gateway-payment-tokens-handler.php:176
1484
+ msgid "Transaction ID %s"
1485
+ msgstr ""
1486
+
1487
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:203
1488
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:508
1489
+ #. translators: Placeholders: %s - payment gateway title (such as
1490
+ #. Authorize.net, Braintree, etc)
1491
+ msgid "%s duplicate transaction received"
1492
+ msgstr ""
1493
+
1494
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:206
1495
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:511
1496
+ msgid "Order %s is already paid for."
1497
+ msgstr ""
1498
+
1499
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:266
1500
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2694
1501
+ msgid ""
1502
+ "Your order has been received and is being reviewed. Thank you for your "
1503
+ "business."
1504
+ msgstr ""
1505
+
1506
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:273
1507
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:851
1508
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1732
1509
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-pre-orders.php:363
1510
+ #. translators: This is a message describing that the transaction in question
1511
+ #. only performed a credit card authorization and did not capture any funds.
1512
+ msgid "Authorization only transaction"
1513
+ msgstr ""
1514
+
1515
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:361
1516
+ #. translators: Placeholders: %s - payment gateway title
1517
+ msgid "%s Transaction Held for Review"
1518
+ msgstr ""
1519
+
1520
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:432
1521
+ #. translators: Placeholders: %s - payment gateway title
1522
+ msgid "%s Payment Failed"
1523
+ msgstr ""
1524
+
1525
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Abstract_Payment_Handler.php:459
1526
+ #. translators: Placeholders: %s - payment gateway title
1527
+ msgid "%s Transaction Cancelled"
1528
+ msgstr ""
1529
+
1530
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Capture.php:157
1531
+ msgid "Order cannot be captured"
1532
+ msgstr ""
1533
+
1534
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Capture.php:162
1535
+ msgid "Transaction authorization has expired"
1536
+ msgstr ""
1537
+
1538
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Capture.php:167
1539
+ msgid "Transaction has already been fully captured"
1540
+ msgstr ""
1541
+
1542
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Capture.php:172
1543
+ msgid "Transaction cannot be captured"
1544
+ msgstr ""
1545
+
1546
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Capture.php:188
1547
+ #. translators: Placeholders: %1$s - payment gateway title (such as
1548
+ #. Authorize.net, Braintree, etc), %2$s - transaction amount. Definitions:
1549
+ #. Capture, as in capture funds from a credit card.
1550
+ msgid "%1$s Capture of %2$s Approved"
1551
+ msgstr ""
1552
+
1553
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Capture.php:195
1554
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:670
1555
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:755
1556
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2030
1557
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2261
1558
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2575
1559
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2620
1560
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-pre-orders.php:346
1561
+ #. translators: Placeholders: %s - transaction ID
1562
+ msgid "(Transaction ID %s)"
1563
+ msgstr ""
1564
+
1565
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/Handlers/Capture.php:226
1566
+ #. translators: Placeholders: %1$s - payment gateway title (such as
1567
+ #. Authorize.net, Braintree, etc), %2$s - failure message. Definitions:
1568
+ #. "capture" as in capturing funds from a credit card.
1569
+ msgid "%1$s Capture Failed: %2$s"
1570
+ msgstr ""
1571
+
1572
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-order.php:119
1573
+ msgid "Are you sure you wish to process this capture? The action cannot be undone."
1574
+ msgstr ""
1575
+
1576
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-order.php:122
1577
+ msgid ""
1578
+ "Something went wrong, and the capture could no be completed. Please try "
1579
+ "again."
1580
+ msgstr ""
1581
+
1582
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-order.php:166
1583
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-order.php:241
1584
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-order.php:304
1585
+ #. translators: verb, as in "Capture credit card charge". Used when an
1586
+ #. amount has been pre-authorized before, but funds have not yet been captured
1587
+ #. (taken) from the card. Capturing the charge will take the money from the
1588
+ #. credit card and put it in the merchant's pockets.
1589
+ msgid "Capture Charge"
1590
+ msgstr ""
1591
+
1592
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-order.php:294
1593
+ msgid "This charge has been fully captured."
1594
+ msgstr ""
1595
+
1596
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-order.php:296
1597
+ msgid "This charge can no longer be captured."
1598
+ msgstr ""
1599
+
1600
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-order.php:298
1601
+ msgid "This charge cannot be captured."
1602
+ msgstr ""
1603
+
1604
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:90
1605
+ msgid "Are you sure you want to remove this token?"
1606
+ msgstr ""
1607
+
1608
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:100
1609
+ msgid "Invalid token data"
1610
+ msgstr ""
1611
+
1612
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:104
1613
+ msgid "An error occurred. Please try again."
1614
+ msgstr ""
1615
+
1616
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:453
1617
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-user-handler.php:302
1618
+ msgid "(%s)"
1619
+ msgstr ""
1620
+
1621
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:483
1622
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:664
1623
+ msgid "Default"
1624
+ msgstr ""
1625
+
1626
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:519
1627
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:552
1628
+ msgid "Token ID"
1629
+ msgstr ""
1630
+
1631
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:524
1632
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:299
1633
+ msgid "Card Type"
1634
+ msgstr ""
1635
+
1636
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:529
1637
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:565
1638
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:191
1639
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:297
1640
+ msgid "Last Four"
1641
+ msgstr ""
1642
+
1643
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:536
1644
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:320
1645
+ msgid "Expiration (MM/YY)"
1646
+ msgstr ""
1647
+
1648
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:557
1649
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:427
1650
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:298
1651
+ #. translators: e-check account type, HTML form field label
1652
+ msgid "Account Type"
1653
+ msgstr ""
1654
+
1655
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:560
1656
+ msgid "Checking"
1657
+ msgstr ""
1658
+
1659
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:561
1660
+ msgid "Savings"
1661
+ msgstr ""
1662
+
1663
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:662
1664
+ msgid "Refresh"
1665
+ msgstr ""
1666
+
1667
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:664
1668
+ msgid "Add New"
1669
+ msgstr ""
1670
+
1671
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:667
1672
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:759
1673
+ msgid "Save"
1674
+ msgstr ""
1675
+
1676
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-payment-token-editor.php:690
1677
+ msgid "Remove"
1678
+ msgstr ""
1679
+
1680
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-user-handler.php:221
1681
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:208
1682
+ msgid "%s Payment Tokens"
1683
+ msgstr ""
1684
+
1685
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/class-sv-wc-payment-gateway-admin-user-handler.php:299
1686
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:663
1687
+ msgid "Customer ID"
1688
+ msgstr ""
1689
+
1690
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:32
1691
+ msgid "This section contains configuration settings for this gateway."
1692
+ msgstr ""
1693
+
1694
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:53
1695
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1267
1696
+ #. translators: environment as in a software environment (test/production)
1697
+ msgid "Environment"
1698
+ msgstr ""
1699
+
1700
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:54
1701
+ msgid "The transaction environment for this gateway."
1702
+ msgstr ""
1703
+
1704
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:61
1705
+ msgid "Tokenization Enabled"
1706
+ msgstr ""
1707
+
1708
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:62
1709
+ msgid "Displays whether or not tokenization is enabled for this gateway."
1710
+ msgstr ""
1711
+
1712
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:75
1713
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1197
1714
+ msgid "Debug Mode"
1715
+ msgstr ""
1716
+
1717
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:76
1718
+ msgid "Displays whether or not debug logging is enabled for this gateway."
1719
+ msgstr ""
1720
+
1721
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:79
1722
+ msgid "Display at Checkout & Log"
1723
+ msgstr ""
1724
+
1725
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:81
1726
+ msgid "Display at Checkout"
1727
+ msgstr ""
1728
+
1729
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:83
1730
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1205
1731
+ msgid "Save to Log"
1732
+ msgstr ""
1733
+
1734
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-admin-gateway-status.php:85
1735
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1203
1736
+ msgid "Off"
1737
+ msgstr ""
1738
+
1739
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-order-partial-capture.php:30
1740
+ msgid "Authorization total"
1741
+ msgstr ""
1742
+
1743
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-order-partial-capture.php:34
1744
+ msgid "Amount already captured"
1745
+ msgstr ""
1746
+
1747
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-order-partial-capture.php:40
1748
+ msgid "Remaining order total"
1749
+ msgstr ""
1750
+
1751
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-order-partial-capture.php:46
1752
+ msgid "Capture amount"
1753
+ msgstr ""
1754
+
1755
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-order-partial-capture.php:53
1756
+ msgid "Comment (optional):"
1757
+ msgstr ""
1758
+
1759
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-order-partial-capture.php:65
1760
+ msgid "Capture %s"
1761
+ msgstr ""
1762
+
1763
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-user-payment-token-editor-token.php:48
1764
+ msgid "-- Select an option --"
1765
+ msgstr ""
1766
+
1767
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-user-payment-token-editor.php:59
1768
+ msgid "No saved payment tokens"
1769
+ msgstr ""
1770
+
1771
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/admin/views/html-user-profile-field-customer-id.php:30
1772
+ msgid "The gateway customer ID for the user. Only edit this if necessary."
1773
+ msgstr ""
1774
+
1775
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:98
1776
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-frontend.php:131
1777
+ msgid "An error occurred, please try again or try an alternate form of payment"
1778
+ msgstr ""
1779
+
1780
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:99
1781
+ msgid ""
1782
+ "We cannot process your order with the payment information that you "
1783
+ "provided. Please use a different payment account or an alternate payment "
1784
+ "method."
1785
+ msgstr ""
1786
+
1787
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:100
1788
+ msgid ""
1789
+ "This order is being placed on hold for review. Please contact us to "
1790
+ "complete the transaction."
1791
+ msgstr ""
1792
+
1793
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:105
1794
+ msgid ""
1795
+ "This order is being placed on hold for review due to an incorrect card "
1796
+ "verification number. You may contact the store to complete the transaction."
1797
+ msgstr ""
1798
+
1799
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:106
1800
+ msgid "The card verification number is invalid, please try again."
1801
+ msgstr ""
1802
+
1803
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:107
1804
+ msgid "Please enter your card verification number and try again."
1805
+ msgstr ""
1806
+
1807
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:110
1808
+ msgid ""
1809
+ "That card type is not accepted, please use an alternate card or other form "
1810
+ "of payment."
1811
+ msgstr ""
1812
+
1813
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:111
1814
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:115
1815
+ msgid ""
1816
+ "The card type is invalid or does not correlate with the credit card number. "
1817
+ " Please try again or use an alternate card or other form of payment."
1818
+ msgstr ""
1819
+
1820
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:112
1821
+ msgid "Please select the card type and try again."
1822
+ msgstr ""
1823
+
1824
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:116
1825
+ msgid "The card number is invalid, please re-enter and try again."
1826
+ msgstr ""
1827
+
1828
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:117
1829
+ msgid "Please enter your card number and try again."
1830
+ msgstr ""
1831
+
1832
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:120
1833
+ msgid "The card expiration date is invalid, please re-enter and try again."
1834
+ msgstr ""
1835
+
1836
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:121
1837
+ msgid "The card expiration month is invalid, please re-enter and try again."
1838
+ msgstr ""
1839
+
1840
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:122
1841
+ msgid "The card expiration year is invalid, please re-enter and try again."
1842
+ msgstr ""
1843
+
1844
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:123
1845
+ msgid "Please enter your card expiration date and try again."
1846
+ msgstr ""
1847
+
1848
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:126
1849
+ msgid "The bank routing number is invalid, please re-enter and try again."
1850
+ msgstr ""
1851
+
1852
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:127
1853
+ msgid "The bank account number is invalid, please re-enter and try again."
1854
+ msgstr ""
1855
+
1856
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:130
1857
+ msgid ""
1858
+ "The provided card is expired, please use an alternate card or other form of "
1859
+ "payment."
1860
+ msgstr ""
1861
+
1862
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:131
1863
+ msgid ""
1864
+ "The provided card was declined, please use an alternate card or other form "
1865
+ "of payment."
1866
+ msgstr ""
1867
+
1868
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:132
1869
+ msgid ""
1870
+ "Insufficient funds in account, please use an alternate card or other form "
1871
+ "of payment."
1872
+ msgstr ""
1873
+
1874
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:133
1875
+ msgid ""
1876
+ "The card is inactivate or not authorized for card-not-present transactions, "
1877
+ "please use an alternate card or other form of payment."
1878
+ msgstr ""
1879
+
1880
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:134
1881
+ msgid ""
1882
+ "The credit limit for the card has been reached, please use an alternate "
1883
+ "card or other form of payment."
1884
+ msgstr ""
1885
+
1886
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:135
1887
+ msgid "The card verification number does not match. Please re-enter and try again."
1888
+ msgstr ""
1889
+
1890
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/api/class-sv-wc-payment-gateway-api-response-message-helper.php:136
1891
+ msgid ""
1892
+ "The provided address does not match the billing address for cardholder. "
1893
+ "Please verify the address and try again."
1894
+ msgstr ""
1895
+
1896
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:83
1897
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:101
1898
+ msgid "Apple Pay"
1899
+ msgstr ""
1900
+
1901
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:107
1902
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1143
1903
+ msgid "Enable / Disable"
1904
+ msgstr ""
1905
+
1906
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:108
1907
+ msgid "Accept Apple Pay"
1908
+ msgstr ""
1909
+
1910
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:115
1911
+ msgid "Allow Apple Pay on"
1912
+ msgstr ""
1913
+
1914
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:125
1915
+ msgid "Button Style"
1916
+ msgstr ""
1917
+
1918
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:128
1919
+ msgid "Black"
1920
+ msgstr ""
1921
+
1922
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:129
1923
+ msgid "White"
1924
+ msgstr ""
1925
+
1926
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:130
1927
+ msgid "White with outline"
1928
+ msgstr ""
1929
+
1930
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:142
1931
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1318
1932
+ msgid "Connection Settings"
1933
+ msgstr ""
1934
+
1935
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:148
1936
+ msgid "Apple Merchant ID"
1937
+ msgstr ""
1938
+
1939
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:152
1940
+ msgid "This is found in your %1$sApple developer account%2$s"
1941
+ msgstr ""
1942
+
1943
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:159
1944
+ msgid "Certificate Path"
1945
+ msgstr ""
1946
+
1947
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:164
1948
+ #. translators: Placeholders: %s - the server's web root path
1949
+ msgid "For reference, your current web root path is: %s"
1950
+ msgstr ""
1951
+
1952
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:177
1953
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:187
1954
+ msgid "Processing Gateway"
1955
+ msgstr ""
1956
+
1957
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:195
1958
+ msgid "Test Mode"
1959
+ msgstr ""
1960
+
1961
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:196
1962
+ msgid ""
1963
+ "Enable to test Apple Pay functionality throughout your sites without "
1964
+ "processing real payments."
1965
+ msgstr ""
1966
+
1967
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:305
1968
+ msgid "Your site must be served over HTTPS with a valid SSL certificate."
1969
+ msgstr ""
1970
+
1971
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:315
1972
+ #. translators: Placeholders: %1$s - plugin name, %2$s - a
1973
+ #. currency/comma-separated list of currencies, %3$s - <a> tag, %4$s - </a> tag
1974
+ msgid ""
1975
+ "Accepts payment in %1$s only. %2$sConfigure%3$s WooCommerce to accept %1$s "
1976
+ "to enable Apple Pay."
1977
+ msgid_plural ""
1978
+ "Accepts payment in one of %1$s only. %2$sConfigure%3$s WooCommerce to "
1979
+ "accept one of %1$s to enable Apple Pay."
1980
+ msgstr[0] ""
1981
+ msgstr[1] ""
1982
+
1983
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:334
1984
+ msgid ""
1985
+ "Your %1$sMerchant Identity Certificate%2$s cannot be found. Please check "
1986
+ "your path configuration."
1987
+ msgstr ""
1988
+
1989
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:341
1990
+ msgid "Apple Pay is disabled."
1991
+ msgstr ""
1992
+
1993
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:380
1994
+ msgid "Single products"
1995
+ msgstr ""
1996
+
1997
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:381
1998
+ msgid "Cart"
1999
+ msgstr ""
2000
+
2001
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-admin.php:382
2002
+ msgid "Checkout"
2003
+ msgstr ""
2004
+
2005
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-frontend.php:168
2006
+ msgid "Buy with"
2007
+ msgstr ""
2008
+
2009
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-frontend.php:302
2010
+ msgid "Pay with"
2011
+ msgstr ""
2012
+
2013
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-frontend.php:308
2014
+ msgid "or"
2015
+ msgstr ""
2016
+
2017
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-orders.php:86
2018
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-orders.php:93
2019
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-orders.php:106
2020
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-orders.php:115
2021
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-orders.php:127
2022
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-orders.php:171
2023
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-orders.php:181
2024
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay-orders.php:183
2025
+ msgid "Error %d: Unable to create order. Please try again."
2026
+ msgstr ""
2027
+
2028
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay.php:120
2029
+ msgid "Apple Pay payment authorized."
2030
+ msgstr ""
2031
+
2032
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay.php:156
2033
+ msgid "Apple Pay payment failed. %s"
2034
+ msgstr ""
2035
+
2036
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay.php:545
2037
+ msgid "Subtotal"
2038
+ msgstr ""
2039
+
2040
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay.php:565
2041
+ msgid "Shipping"
2042
+ msgstr ""
2043
+
2044
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay.php:575
2045
+ msgid "Fees"
2046
+ msgstr ""
2047
+
2048
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/apple-pay/class-sv-wc-payment-gateway-apple-pay.php:585
2049
+ msgid "Taxes"
2050
+ msgstr ""
2051
+
2052
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:60
2053
+ msgid ""
2054
+ "Payment error, please try another payment method or contact us to complete "
2055
+ "your transaction."
2056
+ msgstr ""
2057
+
2058
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:160
2059
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:479
2060
+ msgid "Card expiration date is invalid"
2061
+ msgstr ""
2062
+
2063
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:184
2064
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:472
2065
+ msgid "Card number is missing"
2066
+ msgstr ""
2067
+
2068
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:190
2069
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:475
2070
+ msgid "Card number is invalid (wrong length)"
2071
+ msgstr ""
2072
+
2073
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:195
2074
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:474
2075
+ msgid "Card number is invalid (only digits allowed)"
2076
+ msgstr ""
2077
+
2078
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:200
2079
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:473
2080
+ msgid "Card number is invalid"
2081
+ msgstr ""
2082
+
2083
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:227
2084
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:477
2085
+ msgid "Card security code is invalid (only digits are allowed)"
2086
+ msgstr ""
2087
+
2088
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:233
2089
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:478
2090
+ msgid "Card security code is invalid (must be 3 or 4 digits)"
2091
+ msgstr ""
2092
+
2093
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:239
2094
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:476
2095
+ msgid "Card security code is missing"
2096
+ msgstr ""
2097
+
2098
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:266
2099
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:488
2100
+ msgid "Routing Number is missing"
2101
+ msgstr ""
2102
+
2103
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:273
2104
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:489
2105
+ msgid "Routing Number is invalid (only digits are allowed)"
2106
+ msgstr ""
2107
+
2108
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:279
2109
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:490
2110
+ msgid "Routing number is invalid (must be 9 digits)"
2111
+ msgstr ""
2112
+
2113
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:288
2114
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:485
2115
+ msgid "Account Number is missing"
2116
+ msgstr ""
2117
+
2118
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:295
2119
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:486
2120
+ msgid "Account Number is invalid (only digits are allowed)"
2121
+ msgstr ""
2122
+
2123
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:301
2124
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:487
2125
+ msgid "Account number is invalid (must be between 5 and 17 digits)"
2126
+ msgstr ""
2127
+
2128
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:308
2129
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:484
2130
+ msgid "Drivers license number is invalid"
2131
+ msgstr ""
2132
+
2133
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:314
2134
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:480
2135
+ msgid "Check Number is invalid (only digits are allowed)"
2136
+ msgstr ""
2137
+
2138
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:484
2139
+ msgid "Unknown error"
2140
+ msgstr ""
2141
+
2142
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:493
2143
+ msgid "Payment method address could not be updated. %s"
2144
+ msgstr ""
2145
+
2146
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:660
2147
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2610
2148
+ #. translators: Placeholders: %1$s - payment method title, %2$s - payment
2149
+ #. account type (savings/checking) (may or may not be available), %3$s - last
2150
+ #. four digits of the account
2151
+ msgid "%1$s Check Transaction Approved: %2$s account ending in %3$s"
2152
+ msgstr ""
2153
+
2154
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:665
2155
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2615
2156
+ #. translators: Placeholders: %s - check number
2157
+ msgid "Check number %s"
2158
+ msgstr ""
2159
+
2160
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:734
2161
+ #. translators: Placeholders: %1$s - payment method title, %2$s - environment
2162
+ #. ("Test"), %3$s - transaction type (authorization/charge), %4$s - card type
2163
+ #. (mastercard, visa, ...), %5$s - last four digits of the card
2164
+ msgid "%1$s %2$s %3$s Approved: %4$s ending in %5$s"
2165
+ msgstr ""
2166
+
2167
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:747
2168
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:675
2169
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2567
2170
+ #. translators: Placeholders: %s - expiry date
2171
+ msgid "(expires %s)"
2172
+ msgstr ""
2173
+
2174
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:819
2175
+ #. translators: Placeholders: %s - failure message
2176
+ msgid "Tokenization Request Failed: %s"
2177
+ msgstr ""
2178
+
2179
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:830
2180
+ #. translators: Placeholders: %1$s - payment method title, %2$s - failure
2181
+ #. message
2182
+ msgid "%1$s Tokenization Request Failed: %2$s"
2183
+ msgstr ""
2184
+
2185
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:888
2186
+ #. translators: Placeholders: %s - failure message. Payment method as in a
2187
+ #. specific credit card, e-check or bank account
2188
+ msgid "Oops, adding your new payment method failed: %s"
2189
+ msgstr ""
2190
+
2191
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:929
2192
+ #. translators: Payment method as in a specific credit card. Placeholders: %1$s
2193
+ #. - card type (visa, mastercard, ...), %2$s - last four digits of the card,
2194
+ #. %3$s - card expiry date
2195
+ msgid "Nice! New payment method added: %1$s ending in %2$s (expires %3$s)"
2196
+ msgstr ""
2197
+
2198
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:939
2199
+ #. translators: Payment method as in a specific e-check account. Placeholders:
2200
+ #. %1$s - account type (checking/savings), %2$s - last four digits of the
2201
+ #. account
2202
+ msgid "Nice! New payment method added: %1$s account ending in %2$s"
2203
+ msgstr ""
2204
+
2205
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:946
2206
+ #. translators: Payment method as in a specific credit card, e-check or bank
2207
+ #. account
2208
+ msgid "Nice! New payment method added."
2209
+ msgstr ""
2210
+
2211
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:1066
2212
+ #. translators: Placeholders: %1$s - site title, %2$s - customer email. Payment
2213
+ #. method as in a specific credit card, e-check or bank account
2214
+ msgid "%1$s - Add Payment Method for %2$s"
2215
+ msgstr ""
2216
+
2217
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:179
2218
+ msgid "PayPal"
2219
+ msgstr ""
2220
+
2221
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:180
2222
+ msgid "Checking Account"
2223
+ msgstr ""
2224
+
2225
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:181
2226
+ msgid "Savings Account"
2227
+ msgstr ""
2228
+
2229
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:182
2230
+ msgid "Credit / Debit Card"
2231
+ msgstr ""
2232
+
2233
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:183
2234
+ msgid "Bank Account"
2235
+ msgstr ""
2236
+
2237
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:296
2238
+ msgid "Thank you for your order, please click the button below to pay."
2239
+ msgstr ""
2240
+
2241
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:297
2242
+ msgid "Thank you for your order. We are now redirecting you to complete payment."
2243
+ msgstr ""
2244
+
2245
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:298
2246
+ msgid "Pay Now"
2247
+ msgstr ""
2248
+
2249
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:299
2250
+ msgid "Cancel Order"
2251
+ msgstr ""
2252
+
2253
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:596
2254
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/payment-tokens/class-sv-wc-payment-gateway-payment-tokens-handler.php:832
2255
+ #. translators: Placeholders: %1$s - payment gateway title (such as
2256
+ #. Authorize.net, Braintree, etc), %2$s - payment method name (mastercard, bank
2257
+ #. account, etc), %3$s - last four digits of the card/account, %4$s -
2258
+ #. card/account expiry date
2259
+ msgid "%1$s Payment Method Saved: %2$s ending in %3$s (expires %4$s)"
2260
+ msgstr ""
2261
+
2262
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:607
2263
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/payment-tokens/class-sv-wc-payment-gateway-payment-tokens-handler.php:843
2264
+ #. translators: Placeholders: %1$s - payment gateway title (such as CyberSouce,
2265
+ #. NETbilling, etc), %2$s - account type (checking/savings - may or may not be
2266
+ #. available), %3$s - last four digits of the account
2267
+ msgid "%1$s eCheck Payment Method Saved: %2$s account ending in %3$s"
2268
+ msgstr ""
2269
+
2270
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:616
2271
+ #. translators: Placeholders: %s - payment gateway title (such as CyberSouce,
2272
+ #. NETbilling, etc)
2273
+ msgid "%s Payment Method Saved"
2274
+ msgstr ""
2275
+
2276
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-hosted.php:625
2277
+ #. translators: Placeholders: %s - a failed tokenization API error
2278
+ msgid "Tokenization failed. %s"
2279
+ msgstr ""
2280
+
2281
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:228
2282
+ msgid "Oops, there was an error updating your payment method. Please try again."
2283
+ msgstr ""
2284
+
2285
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:229
2286
+ msgid "Are you sure you want to delete this payment method?"
2287
+ msgstr ""
2288
+
2289
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:287
2290
+ #. translators: Payment method as in a specific credit card, eCheck or bank
2291
+ #. account
2292
+ msgid "You do not have any saved payment methods."
2293
+ msgstr ""
2294
+
2295
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:326
2296
+ #. translators: Payment method as in a specific credit card, eCheck or bank
2297
+ #. account
2298
+ msgid "My Payment Methods"
2299
+ msgstr ""
2300
+
2301
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:334
2302
+ #. translators: Payment method as in a specific credit card, e-check or bank
2303
+ #. account
2304
+ msgid "Add New Payment Method"
2305
+ msgstr ""
2306
+
2307
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:422
2308
+ msgid "Method"
2309
+ msgstr ""
2310
+
2311
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:423
2312
+ msgid "Details"
2313
+ msgstr ""
2314
+
2315
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:424
2316
+ msgid "Expires"
2317
+ msgstr ""
2318
+
2319
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:425
2320
+ msgid "Default?"
2321
+ msgstr ""
2322
+
2323
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:462
2324
+ msgid "Credit/Debit Cards"
2325
+ msgstr ""
2326
+
2327
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:471
2328
+ msgid "Bank Accounts"
2329
+ msgstr ""
2330
+
2331
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:526
2332
+ msgid "N/A"
2333
+ msgstr ""
2334
+
2335
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:638
2336
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:199
2337
+ msgid "Nickname"
2338
+ msgstr ""
2339
+
2340
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:973
2341
+ msgid "Oops, you took too long, please try again."
2342
+ msgstr ""
2343
+
2344
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:986
2345
+ msgid "There was an error with your request, please try again."
2346
+ msgstr ""
2347
+
2348
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:999
2349
+ #. translators: Payment method as in a specific credit card, e-check or bank
2350
+ #. account
2351
+ msgid "Error removing payment method"
2352
+ msgstr ""
2353
+
2354
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-my-payment-methods.php:1004
2355
+ #. translators: Payment method as in a specific credit card, e-check or bank
2356
+ #. account
2357
+ msgid "Payment method deleted."
2358
+ msgstr ""
2359
+
2360
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:302
2361
+ msgid "Card Number"
2362
+ msgstr ""
2363
+
2364
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:323
2365
+ msgid "MM / YY"
2366
+ msgstr ""
2367
+
2368
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:341
2369
+ msgid "Card Security Code"
2370
+ msgstr ""
2371
+
2372
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:344
2373
+ msgid "CSC"
2374
+ msgstr ""
2375
+
2376
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:384
2377
+ msgid "Where do I find this?"
2378
+ msgstr ""
2379
+
2380
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:390
2381
+ #. translators: e-check routing number, HTML form field label,
2382
+ #. https:en.wikipedia.org/wiki/Routing_transit_number
2383
+ msgid "Routing Number"
2384
+ msgstr ""
2385
+
2386
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:409
2387
+ #. translators: e-check account number, HTML form field label
2388
+ msgid "Account Number"
2389
+ msgstr ""
2390
+
2391
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:475
2392
+ #. translators: Test mode refers to the current software environment
2393
+ msgid "TEST MODE ENABLED"
2394
+ msgstr ""
2395
+
2396
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:577
2397
+ #. translators: Payment method as in a specific credit card, eCheck or bank
2398
+ #. account
2399
+ msgid "Manage Payment Methods"
2400
+ msgstr ""
2401
+
2402
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:714
2403
+ msgid "Use a new card"
2404
+ msgstr ""
2405
+
2406
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:714
2407
+ msgid "Use a new bank account"
2408
+ msgstr ""
2409
+
2410
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:777
2411
+ #. translators: account as in customer's account on the eCommerce site
2412
+ msgid "Securely Save to Account"
2413
+ msgstr ""
2414
+
2415
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-plugin.php:603
2416
+ #. translators: Placeholders: %1$s - plugin name, %2$s - <a> tag, %3$s - </a>
2417
+ #. tag
2418
+ msgid ""
2419
+ "%1$s: WooCommerce is not being forced over SSL; your customers' payment "
2420
+ "data may be at risk. %2$sVerify your site URLs here%3$s"
2421
+ msgstr ""
2422
+
2423
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-plugin.php:620
2424
+ #. translators: Placeholders: %s - payment gateway name
2425
+ msgid ""
2426
+ "%s will soon require TLS 1.2 support to process transactions and your "
2427
+ "server environment may need to be updated. Please contact your hosting "
2428
+ "provider to confirm that your site can send and receive TLS 1.2 connections "
2429
+ "and request they make any necessary updates."
2430
+ msgstr ""
2431
+
2432
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-plugin.php:676
2433
+ #. translators: Placeholders: %1$s - plugin name, %2$s - a
2434
+ #. currency/comma-separated list of currencies, %3$s - <a> tag, %4$s - </a> tag
2435
+ msgid ""
2436
+ "%1$s accepts payment in %2$s only. %3$sConfigure%4$s WooCommerce to accept "
2437
+ "%2$s to enable this gateway for checkout."
2438
+ msgid_plural ""
2439
+ "%1$s accepts payment in one of %2$s only. %3$sConfigure%4$s WooCommerce to "
2440
+ "accept one of %2$s to enable this gateway for checkout."
2441
+ msgstr[0] ""
2442
+ msgstr[1] ""
2443
+
2444
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-plugin.php:711
2445
+ #. translators: Placeholders: %1$s - payment gateway name, %2$s - opening <a>
2446
+ #. tag, %3$s - closing </a> tag
2447
+ msgid ""
2448
+ "Heads up! %1$s is currently configured to log transaction data for "
2449
+ "debugging purposes. If you are not experiencing any problems with payment "
2450
+ "processing, we recommend %2$sturning off Debug Mode%3$s"
2451
+ msgstr ""
2452
+
2453
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-plugin.php:750
2454
+ #. translators: Placeholders: %1$s - payment gateway title (such as
2455
+ #. Authorize.net, Braintree, etc), %2$s - <a> tag, %3$s - </a> tag
2456
+ msgid ""
2457
+ "%1$s is inactive for subscription transactions. Please %2$senable "
2458
+ "tokenization%3$s to activate %1$s for Subscriptions."
2459
+ msgstr ""
2460
+
2461
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-plugin.php:768
2462
+ #. translators: Placeholders: %1$s - payment gateway title (such as
2463
+ #. Authorize.net, Braintree, etc), %2$s - <a> tag, %3$s - </a> tag
2464
+ msgid ""
2465
+ "%1$s is inactive for pre-order transactions. Please %2$senable "
2466
+ "tokenization%3$s to activate %1$s for Pre-Orders."
2467
+ msgstr ""
2468
+
2469
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-plugin.php:805
2470
+ msgid ""
2471
+ "You must enable tokenization for this gateway in order to support automatic "
2472
+ "renewal payments with the WooCommerce Subscriptions extension."
2473
+ msgstr ""
2474
+
2475
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-plugin.php:806
2476
+ msgid "Inactive"
2477
+ msgstr ""
2478
+
2479
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:114
2480
+ msgid "%s Customer ID"
2481
+ msgstr ""
2482
+
2483
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:183
2484
+ msgid "Type"
2485
+ msgstr ""
2486
+
2487
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:253
2488
+ msgid "Removed payment token \"%d\""
2489
+ msgstr ""
2490
+
2491
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-privacy.php:300
2492
+ msgid "Expiry Date"
2493
+ msgstr ""
2494
+
2495
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:340
2496
+ msgid "you successfully processed a payment!"
2497
+ msgstr ""
2498
+
2499
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:345
2500
+ msgid "you successfully processed a refund!"
2501
+ msgstr ""
2502
+
2503
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:481
2504
+ msgid "Check Number is missing"
2505
+ msgstr ""
2506
+
2507
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:482
2508
+ msgid "Drivers license state is missing"
2509
+ msgstr ""
2510
+
2511
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:483
2512
+ msgid "Drivers license number is missing"
2513
+ msgstr ""
2514
+
2515
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:660
2516
+ msgid "Place order"
2517
+ msgstr ""
2518
+
2519
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:692
2520
+ msgid "Thank you for your order."
2521
+ msgstr ""
2522
+
2523
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1102
2524
+ msgid "Credit Card"
2525
+ msgstr ""
2526
+
2527
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1104
2528
+ msgid "eCheck"
2529
+ msgstr ""
2530
+
2531
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1122
2532
+ msgid "Pay securely using your credit card."
2533
+ msgstr ""
2534
+
2535
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1124
2536
+ msgid "Pay securely using your checking account."
2537
+ msgstr ""
2538
+
2539
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1144
2540
+ msgid "Enable this gateway"
2541
+ msgstr ""
2542
+
2543
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1150
2544
+ msgid "Title"
2545
+ msgstr ""
2546
+
2547
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1152
2548
+ msgid "Payment method title that the customer will see during checkout."
2549
+ msgstr ""
2550
+
2551
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1157
2552
+ msgid "Description"
2553
+ msgstr ""
2554
+
2555
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1159
2556
+ msgid "Payment method description that the customer will see during checkout."
2557
+ msgstr ""
2558
+
2559
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1188
2560
+ msgid "Detailed Decline Messages"
2561
+ msgstr ""
2562
+
2563
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1190
2564
+ msgid ""
2565
+ "Check to enable detailed decline messages to the customer during checkout "
2566
+ "when possible, rather than a generic decline message."
2567
+ msgstr ""
2568
+
2569
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1200
2570
+ #. translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag
2571
+ msgid ""
2572
+ "Show Detailed Error Messages and API requests/responses on the checkout "
2573
+ "page and/or save them to the %1$sdebug log%2$s"
2574
+ msgstr ""
2575
+
2576
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1204
2577
+ msgid "Show on Checkout Page"
2578
+ msgstr ""
2579
+
2580
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1207
2581
+ #. translators: show debugging information on both checkout page and in the log
2582
+ msgid "Both"
2583
+ msgstr ""
2584
+
2585
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1270
2586
+ msgid "Select the gateway environment to use for transactions."
2587
+ msgstr ""
2588
+
2589
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1324
2590
+ msgid "Share connection settings"
2591
+ msgstr ""
2592
+
2593
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1326
2594
+ msgid "Use connection/authentication settings from other gateway"
2595
+ msgstr ""
2596
+
2597
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1329
2598
+ msgid "Disabled because the other gateway is using these settings"
2599
+ msgstr ""
2600
+
2601
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1346
2602
+ msgid "Card Verification (CSC)"
2603
+ msgstr ""
2604
+
2605
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1347
2606
+ msgid "Display the Card Security Code (CV2) field on checkout"
2607
+ msgstr ""
2608
+
2609
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1355
2610
+ msgid "Saved Card Verification"
2611
+ msgstr ""
2612
+
2613
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1356
2614
+ msgid "Display the Card Security Code field when paying with a saved card"
2615
+ msgstr ""
2616
+
2617
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1685
2618
+ #. translators: Placeholders: %1$s - site title, %2$s - order number
2619
+ msgid "%1$s - Order %2$s"
2620
+ msgstr ""
2621
+
2622
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1813
2623
+ #. translators: Placeholders: %1$s - site title, %2$s - order number.
2624
+ #. Definitions: Capture as in capture funds from a credit card.
2625
+ msgid "%1$s - Capture for Order %2$s"
2626
+ msgstr ""
2627
+
2628
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:1956
2629
+ #. translators: Placeholders: %1$s - site title, %2$s - order number
2630
+ msgid "%1$s - Refund for Order %2$s"
2631
+ msgstr ""
2632
+
2633
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2023
2634
+ #. translators: Placeholders: %1$s - payment gateway title (such as
2635
+ #. Authorize.net, Braintree, etc), %2$s - a monetary amount
2636
+ msgid "%1$s Refund in the amount of %2$s approved."
2637
+ msgstr ""
2638
+
2639
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2051
2640
+ #. translators: Placeholders: %1$s - payment gateway title (such as
2641
+ #. Authorize.net, Braintree, etc), %2$s - error code, %3$s - error message
2642
+ msgid "%1$s Refund Failed: %2$s - %3$s"
2643
+ msgstr ""
2644
+
2645
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2059
2646
+ #. translators: Placeholders: %1$s - payment gateway title (such as
2647
+ #. Authorize.net, Braintree, etc), %2$s - error message
2648
+ msgid "%1$s Refund Failed: %2$s"
2649
+ msgstr ""
2650
+
2651
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2080
2652
+ #. translators: Placeholders: %s - payment gateway title (such as
2653
+ #. Authorize.net, Braintree, etc)
2654
+ msgid "%s Order completely refunded."
2655
+ msgstr ""
2656
+
2657
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2135
2658
+ msgid ""
2659
+ "Oops, you cannot partially void this order. Please use the full order "
2660
+ "amount."
2661
+ msgstr ""
2662
+
2663
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2222
2664
+ #. translators: Placeholders: %1$s - payment gateway title, %2$s - error code,
2665
+ #. %3$s - error message. Void as in to void an order.
2666
+ msgid "%1$s Void Failed: %2$s - %3$s"
2667
+ msgstr ""
2668
+
2669
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2230
2670
+ #. translators: Placeholders: %1$s - payment gateway title, %2$s - error
2671
+ #. message. Void as in to void an order.
2672
+ msgid "%1$s Void Failed: %2$s"
2673
+ msgstr ""
2674
+
2675
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2254
2676
+ #. translators: Placeholders: %1$s - payment gateway title, %2$s - a monetary
2677
+ #. amount. Void as in to void an order.
2678
+ msgid "%1$s Void in the amount of %2$s approved."
2679
+ msgstr ""
2680
+
2681
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2546
2682
+ #. translators: Placeholders: %1$s - payment method title, %2$s - environment
2683
+ #. ("Test"), %3$s - transaction type (authorization/charge)
2684
+ msgid "%1$s %2$s %3$s Approved"
2685
+ msgstr ""
2686
+
2687
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2556
2688
+ #. translators: Placeholders: %1$s - credit card type (MasterCard, Visa,
2689
+ #. etc...), %2$s - last four digits of the card
2690
+ msgid "%1$s ending in %2$s"
2691
+ msgstr ""
2692
+
2693
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2652
2694
+ #. translators: Placeholders: %1$s - payment gateway title, %2$s - message
2695
+ #. (probably reason for the transaction being held for review)
2696
+ msgid "%1$s Transaction Held for Review (%2$s)"
2697
+ msgstr ""
2698
+
2699
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2741
2700
+ #. translators: Placeholders: %1$s - payment gateway title, %2$s - error
2701
+ #. message; e.g. Order Note: [Payment method] Payment failed [error]
2702
+ msgid "%1$s Payment Failed (%2$s)"
2703
+ msgstr ""
2704
+
2705
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2776
2706
+ #. translators: Placeholders: %1$s - payment gateway title, %2$s -
2707
+ #. message/error
2708
+ msgid "%1$s Transaction Cancelled (%2$s)"
2709
+ msgstr ""
2710
+
2711
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3021
2712
+ msgid "Transaction Type"
2713
+ msgstr ""
2714
+
2715
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3023
2716
+ msgid ""
2717
+ "Select how transactions should be processed. Charge submits all "
2718
+ "transactions for settlement, Authorization simply authorizes the order "
2719
+ "total for capture later."
2720
+ msgstr ""
2721
+
2722
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3034
2723
+ msgid "Charge Virtual-Only Orders"
2724
+ msgstr ""
2725
+
2726
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3036
2727
+ msgid ""
2728
+ "If the order contains exclusively virtual items, enable this to immediately "
2729
+ "charge, rather than authorize, the transaction."
2730
+ msgstr ""
2731
+
2732
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3044
2733
+ msgid "Enable Partial Capture"
2734
+ msgstr ""
2735
+
2736
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3046
2737
+ msgid "Allow orders to be partially captured multiple times."
2738
+ msgstr ""
2739
+
2740
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3058
2741
+ msgid "Capture Paid Orders"
2742
+ msgstr ""
2743
+
2744
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3061
2745
+ msgid "Automatically capture orders when they are changed to %s."
2746
+ msgstr ""
2747
+
2748
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3062
2749
+ msgid "a paid status"
2750
+ msgstr ""
2751
+
2752
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3252
2753
+ msgid "Accepted Card Logos"
2754
+ msgstr ""
2755
+
2756
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3254
2757
+ msgid ""
2758
+ "These are the card logos that are displayed to customers as accepted during "
2759
+ "checkout."
2760
+ msgstr ""
2761
+
2762
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3257
2763
+ #. translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag
2764
+ msgid ""
2765
+ "This setting %1$sdoes not%2$s change which card types the gateway will "
2766
+ "accept. Accepted cards are configured from your payment processor account."
2767
+ msgstr ""
2768
+
2769
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3348
2770
+ #. translators:
2771
+ #. http:www.cybersource.com/products/payment_security/payment_tokenization/ and
2772
+ #. https:en.wikipedia.org/wiki/Tokenization_(data_security)
2773
+ msgid "Tokenization"
2774
+ msgstr ""
2775
+
2776
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3349
2777
+ msgid "Allow customers to securely save their payment details for future checkout."
2778
+ msgstr ""
2779
+
2780
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-pre-orders.php:254
2781
+ msgid "Pre-Order Tokenization attempt failed (%s)"
2782
+ msgstr ""
2783
+
2784
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-pre-orders.php:300
2785
+ msgid "%s - Pre-Order Release Payment for Order %s"
2786
+ msgstr ""
2787
+
2788
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-pre-orders.php:304
2789
+ msgid "Payment token missing/invalid."
2790
+ msgstr ""
2791
+
2792
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-pre-orders.php:329
2793
+ msgid "%s %s Pre-Order Release Payment Approved: %s ending in %s (expires %s)"
2794
+ msgstr ""
2795
+
2796
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-pre-orders.php:340
2797
+ msgid "%s eCheck Pre-Order Release Payment Approved: %s ending in %s"
2798
+ msgstr ""
2799
+
2800
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-pre-orders.php:382
2801
+ msgid "Pre-Order Release Payment Failed: %s"
2802
+ msgstr ""
2803
+
2804
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:213
2805
+ msgid "Subscription Renewal: payment token is missing/invalid."
2806
+ msgstr ""
2807
+
2808
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:239
2809
+ msgid "%1$s - Subscription Renewal Order %2$s"
2810
+ msgstr ""
2811
+
2812
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:371
2813
+ #. translators: Placeholders: %1$s - payment gateway title, %2$s - error
2814
+ #. message; e.g. Order Note: [Payment method] Payment Change failed [error]
2815
+ msgid "%1$s Payment Change Failed (%2$s)"
2816
+ msgstr ""
2817
+
2818
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:511
2819
+ msgid "Via %s ending in %s"
2820
+ msgstr ""
2821
+
2822
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:538
2823
+ msgid "Subscriptions"
2824
+ msgstr ""
2825
+
2826
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:607
2827
+ msgid ""
2828
+ "This payment method is tied to a subscription and cannot be deleted. Please "
2829
+ "switch the subscription to another method first."
2830
+ msgstr ""
2831
+
2832
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:659
2833
+ msgid "Payment Token"
2834
+ msgstr ""
2835
+
2836
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:688
2837
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:693
2838
+ msgid "%s is required."
2839
+ msgstr ""
2840
+
2841
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/payment-tokens/class-sv-wc-payment-gateway-payment-tokens-handler.php:171
2842
+ msgid "Unknown Error"
2843
+ msgstr ""
2844
+
2845
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/utilities/class-sv-wp-background-job-handler.php:643
2846
+ msgid "Job data key \"%s\" not set"
2847
+ msgstr ""
2848
+
2849
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/utilities/class-sv-wp-background-job-handler.php:647
2850
+ msgid "Job data key \"%s\" is not an array"
2851
+ msgstr ""
2852
+
2853
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/utilities/class-sv-wp-background-job-handler.php:883
2854
+ msgid "Every %d Minutes"
2855
+ msgstr ""
2856
+
2857
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/utilities/class-sv-wp-background-job-handler.php:1047
2858
+ msgid "Background Processing Test"
2859
+ msgstr ""
2860
+
2861
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/utilities/class-sv-wp-background-job-handler.php:1048
2862
+ msgid "Run Test"
2863
+ msgstr ""
2864
+
2865
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/utilities/class-sv-wp-background-job-handler.php:1049
2866
+ msgid ""
2867
+ "This tool will test whether your server is capable of processing background "
2868
+ "jobs."
2869
+ msgstr ""
2870
+
2871
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/utilities/class-sv-wp-background-job-handler.php:1067
2872
+ msgid "Success! You should be able to process background jobs."
2873
+ msgstr ""
2874
+
2875
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/utilities/class-sv-wp-background-job-handler.php:1070
2876
+ msgid ""
2877
+ "Could not connect. Please ask your hosting company to ensure your server "
2878
+ "has loopback connections enabled."
2879
+ msgstr ""
2880
+
2881
+ #. Plugin URI of the plugin/theme
2882
+ msgid "https://woocommerce.com/products/square/"
2883
+ msgstr ""
2884
+
2885
+ #. Description of the plugin/theme
2886
+ msgid ""
2887
+ "Adds ability to sync inventory between WooCommerce and Square POS. In "
2888
+ "addition, you can also make purchases through the Square payment gateway."
2889
+ msgstr ""
2890
+
2891
+ #. Author URI of the plugin/theme
2892
+ msgid "https://www.woocommerce.com/"
2893
+ msgstr ""
2894
+
2895
+ #: includes/Admin/Sync_Page.php:262
2896
+ msgctxt "Delete all records"
2897
+ msgid "Clear history"
2898
+ msgstr ""
2899
+
2900
+ #: includes/Admin/Sync_Page.php:267 includes/Admin/Sync_Page.php:308
2901
+ msgctxt "Date - Time"
2902
+ msgid "Time"
2903
+ msgstr ""
2904
+
2905
+ #: includes/Emails/Sync_Completed.php:53
2906
+ msgctxt "Email subject"
2907
+ msgid "[WooCommerce] Square sync completed"
2908
+ msgstr ""
2909
+
2910
+ #: includes/Emails/Sync_Completed.php:54
2911
+ msgctxt "Email heading with merge tag placeholder"
2912
+ msgid "Square sync completed for {product_count}"
2913
+ msgstr ""
2914
+
2915
+ #: includes/Emails/Sync_Completed.php:55
2916
+ msgctxt "Email body with merge tag placeholders"
2917
+ msgid ""
2918
+ "Square sync completed for {site_title} at {sync_completed_date} "
2919
+ "{sync_completed_time}."
2920
+ msgstr ""
2921
+
2922
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostStatusRegistrar.php:36
2923
+ msgctxt "post"
2924
+ msgid "Failed"
2925
+ msgstr ""
2926
+
2927
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostStatusRegistrar.php:50
2928
+ msgctxt "post"
2929
+ msgid "In-Progress"
2930
+ msgstr ""
2931
+
2932
+ #: vendor/prospress/action-scheduler/classes/ActionScheduler_wpPostStore_PostTypeRegistrar.php:32
2933
+ msgctxt "Admin menu name"
2934
+ msgid "Scheduled Actions"
2935
+ msgstr ""
2936
+
2937
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:397
2938
+ msgctxt "enhanced select"
2939
+ msgid "No matches found"
2940
+ msgstr ""
2941
+
2942
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:398
2943
+ msgctxt "enhanced select"
2944
+ msgid "Loading failed"
2945
+ msgstr ""
2946
+
2947
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:399
2948
+ msgctxt "enhanced select"
2949
+ msgid "Please enter 1 or more characters"
2950
+ msgstr ""
2951
+
2952
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:400
2953
+ msgctxt "enhanced select"
2954
+ msgid "Please enter %qty% or more characters"
2955
+ msgstr ""
2956
+
2957
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:401
2958
+ msgctxt "enhanced select"
2959
+ msgid "Please delete 1 character"
2960
+ msgstr ""
2961
+
2962
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:402
2963
+ msgctxt "enhanced select"
2964
+ msgid "Please delete %qty% characters"
2965
+ msgstr ""
2966
+
2967
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:403
2968
+ msgctxt "enhanced select"
2969
+ msgid "You can only select 1 item"
2970
+ msgstr ""
2971
+
2972
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:404
2973
+ msgctxt "enhanced select"
2974
+ msgid "You can only select %qty% items"
2975
+ msgstr ""
2976
+
2977
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:405
2978
+ msgctxt "enhanced select"
2979
+ msgid "Loading more results&hellip;"
2980
+ msgstr ""
2981
+
2982
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/admin/abstract-sv-wc-plugin-admin-setup-wizard.php:406
2983
+ msgctxt "enhanced select"
2984
+ msgid "Searching&hellip;"
2985
+ msgstr ""
2986
+
2987
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-helper.php:408
2988
+ msgctxt "coordinating conjunction for a list of items: a, b, and c"
2989
+ msgid "and"
2990
+ msgstr ""
2991
+
2992
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin.php:534
2993
+ msgctxt "noun"
2994
+ msgid "Support"
2995
+ msgstr ""
2996
+
2997
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/class-sv-wc-plugin.php:539
2998
+ msgctxt "verb"
2999
+ msgid "Review"
3000
+ msgstr ""
3001
+
3002
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:736
3003
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2548
3004
+ msgctxt "noun, software environment"
3005
+ msgid "Test"
3006
+ msgstr ""
3007
+
3008
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:737
3009
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2549
3010
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3027
3011
+ msgctxt "credit card transaction type"
3012
+ msgid "Authorization"
3013
+ msgstr ""
3014
+
3015
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-direct.php:737
3016
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2549
3017
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3026
3018
+ msgctxt "noun, credit card transaction type"
3019
+ msgid "Charge"
3020
+ msgstr ""
3021
+
3022
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:192
3023
+ msgctxt "payment method type"
3024
+ msgid "Account"
3025
+ msgstr ""
3026
+
3027
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:228
3028
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3285
3029
+ msgctxt "credit card type"
3030
+ msgid "Visa"
3031
+ msgstr ""
3032
+
3033
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:232
3034
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3286
3035
+ msgctxt "credit card type"
3036
+ msgid "MasterCard"
3037
+ msgstr ""
3038
+
3039
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:236
3040
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3287
3041
+ msgctxt "credit card type"
3042
+ msgid "American Express"
3043
+ msgstr ""
3044
+
3045
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:240
3046
+ msgctxt "credit card type"
3047
+ msgid "Diners Club"
3048
+ msgstr ""
3049
+
3050
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:244
3051
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3288
3052
+ msgctxt "credit card type"
3053
+ msgid "Discover"
3054
+ msgstr ""
3055
+
3056
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:248
3057
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3290
3058
+ msgctxt "credit card type"
3059
+ msgid "JCB"
3060
+ msgstr ""
3061
+
3062
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:252
3063
+ msgctxt "credit card type"
3064
+ msgid "CarteBleue"
3065
+ msgstr ""
3066
+
3067
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:256
3068
+ msgctxt "credit card type"
3069
+ msgid "Maestro"
3070
+ msgstr ""
3071
+
3072
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-helper.php:260
3073
+ msgctxt "credit card type"
3074
+ msgid "Laser"
3075
+ msgstr ""
3076
+
3077
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3289
3078
+ msgctxt "credit card type"
3079
+ msgid "Diners"
3080
+ msgstr ""
3081
+
3082
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:435
3083
+ #. translators: http:www.investopedia.com/terms/c/checkingaccount.asp
3084
+ msgctxt "account type"
3085
+ msgid "Checking"
3086
+ msgstr ""
3087
+
3088
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway-payment-form.php:437
3089
+ #. translators: http:www.investopedia.com/terms/s/savingsaccount.asp
3090
+ msgctxt "account type"
3091
+ msgid "Savings"
3092
+ msgstr ""
3093
+
3094
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:2329
3095
+ msgctxt "hash before order number"
3096
+ msgid "#"
3097
+ msgstr ""
3098
+
3099
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/integrations/class-sv-wc-payment-gateway-integration-subscriptions.php:568
3100
+ msgctxt "hash before order number"
3101
+ msgid "#%s"
3102
+ msgstr ""
3103
+
3104
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3055
3105
+ msgctxt ""
3106
+ "coordinating conjunction for a list of order statuses: on-hold, processing, "
3107
+ "or completed"
3108
+ msgid "or"
3109
+ msgstr ""
3110
+
3111
+ #: vendor/skyverge/wc-plugin-framework/woocommerce/payment-gateway/class-sv-wc-payment-gateway.php:3891
3112
+ #. translators: https:www.skyverge.com/for-translators-environments/
3113
+ msgctxt "software environment"
3114
+ msgid "Production"
3115
  msgstr ""
includes/Admin.php CHANGED
@@ -102,15 +102,17 @@ class Admin {
102
  'settings_url' => esc_url( $this->get_plugin()->get_settings_url() ),
103
  'variable_product_types' => $this->get_variable_product_types(),
104
  'synced_with_square_taxonomy' => Product::SYNCED_WITH_SQUARE_TAXONOMY,
 
105
  'is_woocommerce_sor' => $this->get_plugin()->get_settings_handler()->is_system_of_record_woocommerce(),
106
  'is_square_sor' => $this->get_plugin()->get_settings_handler()->is_system_of_record_square(),
 
107
  'is_product_synced_with_square_nonce' => wp_create_nonce( 'is-product-synced-with-square' ),
108
  'fetch_product_stock_with_square_nonce' => wp_create_nonce( 'fetch-product-stock-with-square' ),
109
 
110
  'i18n' => [
111
  'synced_with_square' => __( 'Synced with Square', 'woocommerce-square' ),
112
  'managed_by_square' => __( 'Managed by Square', 'woocommerce-square' ),
113
- 'fetch_stock_with_square' => __( 'Fetch stock with Square', 'woocommerce-square' ),
114
  ],
115
 
116
  ] );
@@ -130,8 +132,10 @@ class Admin {
130
  wp_localize_script( 'wc-square-admin-settings', 'wc_square_admin_settings', [
131
 
132
  'ajax_url' => admin_url( 'admin-ajax.php' ),
 
133
  'is_woocommerce_sor' => $this->get_plugin()->get_settings_handler()->is_system_of_record_woocommerce(),
134
  'is_square_sor' => $this->get_plugin()->get_settings_handler()->is_system_of_record_square(),
 
135
  'existing_sync_job_id' => $existing_sync_id,
136
  'sync_in_background' => $this->get_plugin()->get_sync_handler()->should_sync_in_background(),
137
  'import_products_from_square' => wp_create_nonce( 'import-products-from-square' ),
@@ -140,10 +144,22 @@ class Admin {
140
  'handle_sync_with_square_records' => wp_create_nonce( 'handle-sync-with-square-records' ),
141
 
142
  'i18n' => [
143
- 'resolved' => __( 'Resolved', 'woocommerce-square' ),
144
- 'no_records_found' => __( 'No records found', 'woocommerce-square' ),
145
- 'skipped' => __( 'Skipped', 'woocommerce-square' ),
146
- 'imported' => __( 'Imported', 'woocommerce-square' ),
 
 
 
 
 
 
 
 
 
 
 
 
147
  ],
148
 
149
  ] );
@@ -167,7 +183,7 @@ class Admin {
167
  *
168
  * @param string[] array of product types
169
  */
170
- return (array) apply_filters( 'wc_square_variable_product_types', [ 'variable', 'variable_subscription'] );
171
  }
172
 
173
 
102
  'settings_url' => esc_url( $this->get_plugin()->get_settings_url() ),
103
  'variable_product_types' => $this->get_variable_product_types(),
104
  'synced_with_square_taxonomy' => Product::SYNCED_WITH_SQUARE_TAXONOMY,
105
+ 'is_product_sync_enabled' => $this->get_plugin()->get_settings_handler()->is_product_sync_enabled(),
106
  'is_woocommerce_sor' => $this->get_plugin()->get_settings_handler()->is_system_of_record_woocommerce(),
107
  'is_square_sor' => $this->get_plugin()->get_settings_handler()->is_system_of_record_square(),
108
+ 'is_inventory_sync_enabled' => $this->get_plugin()->get_settings_handler()->is_inventory_sync_enabled(),
109
  'is_product_synced_with_square_nonce' => wp_create_nonce( 'is-product-synced-with-square' ),
110
  'fetch_product_stock_with_square_nonce' => wp_create_nonce( 'fetch-product-stock-with-square' ),
111
 
112
  'i18n' => [
113
  'synced_with_square' => __( 'Synced with Square', 'woocommerce-square' ),
114
  'managed_by_square' => __( 'Managed by Square', 'woocommerce-square' ),
115
+ 'fetch_stock_with_square' => __( 'Fetch stock from Square', 'woocommerce-square' ),
116
  ],
117
 
118
  ] );
132
  wp_localize_script( 'wc-square-admin-settings', 'wc_square_admin_settings', [
133
 
134
  'ajax_url' => admin_url( 'admin-ajax.php' ),
135
+ 'is_product_sync_enabled' => $this->get_plugin()->get_settings_handler()->is_product_sync_enabled(),
136
  'is_woocommerce_sor' => $this->get_plugin()->get_settings_handler()->is_system_of_record_woocommerce(),
137
  'is_square_sor' => $this->get_plugin()->get_settings_handler()->is_system_of_record_square(),
138
+ 'is_inventory_sync_enabled' => $this->get_plugin()->get_settings_handler()->is_inventory_sync_enabled(),
139
  'existing_sync_job_id' => $existing_sync_id,
140
  'sync_in_background' => $this->get_plugin()->get_sync_handler()->should_sync_in_background(),
141
  'import_products_from_square' => wp_create_nonce( 'import-products-from-square' ),
144
  'handle_sync_with_square_records' => wp_create_nonce( 'handle-sync-with-square-records' ),
145
 
146
  'i18n' => [
147
+ 'resolved' => __( 'Resolved', 'woocommerce-square' ),
148
+ 'no_records_found' => __( 'No records found', 'woocommerce-square' ),
149
+ 'skipped' => __( 'Skipped', 'woocommerce-square' ),
150
+ 'imported' => __( 'Imported', 'woocommerce-square' ),
151
+ 'sync_inventory_label' => [
152
+ 'square' => __( 'Enable to fetch inventory changes from Square', 'woocommerce-square' ),
153
+ 'woocommerce' => __( 'Enable to push inventory changes to Square', 'woocommerce-square' ),
154
+ ],
155
+ 'sync_inventory_description' => [
156
+ 'square' => __( 'Inventory is fetched from Square periodically and updated in WooCommerce', 'woocommerce-square' ),
157
+ 'woocommerce' => sprintf(
158
+ /* translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag */
159
+ __( 'Inventory is %1$salways fetched from Square%2$s periodically to account for sales from other channels.', 'woocommerce-square' ),
160
+ '<strong>', '</strong>'
161
+ ),
162
+ ],
163
  ],
164
 
165
  ] );
183
  *
184
  * @param string[] array of product types
185
  */
186
+ return (array) apply_filters( 'wc_square_variable_product_types', [ 'variable', 'variable-subscription' ] );
187
  }
188
 
189
 
includes/Admin/Products.php CHANGED
@@ -61,8 +61,7 @@ class Products {
61
  $this->product_errors = [
62
  'missing_sku' => __( "Please add a SKU to sync this product with Square. The SKU must match the item's SKU in your Square account.", 'woocommerce-square' ),
63
  'missing_variation_sku' => __( "Please add a SKU to every variation of this variable product for syncing with Square. Each SKU must match the corresponding item's SKU in your Square account.", 'woocommerce-square' ),
64
- 'multiple_attributes' => __( 'Products with more than one attribute cannot be synced with Square.', 'woocommerce-square' ),
65
- 'custom_attributes' => __( 'Products with more than one custom attribute cannot be synced with Square. Remove the attribute(s) and update the product to dismiss this notice.', 'woocommerce-square' ),
66
  ];
67
 
68
  // add hooks
@@ -106,6 +105,8 @@ class Products {
106
  */
107
  private function add_product_edit_screen_hooks() {
108
 
 
 
109
  // handle individual products input fields for setting sync status
110
  add_action( 'woocommerce_product_options_general_product_data', [ $this, 'add_product_data_fields' ] );
111
  add_action( 'woocommerce_admin_process_product_object', [ $this, 'process_product_data' ], 20 );
@@ -115,6 +116,26 @@ class Products {
115
  }
116
 
117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  /**
119
  * Adds hooks to sync products that have been updated.
120
  *
@@ -204,6 +225,11 @@ class Products {
204
  return;
205
  }
206
 
 
 
 
 
 
207
  ?>
208
  <div class="wc-square-sync-with-square options_group show_if_simple show_if_variable">
209
  <?php
@@ -214,32 +240,19 @@ class Products {
214
 
215
  if ( $product_object->is_type( 'variable' ) ) {
216
 
217
- $attributes = $product_object->get_attributes();
218
-
219
- if ( count( $attributes ) > 1 ) {
220
 
221
- /* @type \WC_Product_Attribute[] $attributes */
222
- foreach ( $attributes as $attribute ) {
223
 
224
- if ( ! $attribute->is_taxonomy() ) {
225
-
226
- $errors[] = 'custom_attributes';
227
- echo '<span style="display:none;" id="wc-square-has-multiple-custom-attributes"></span>';
228
- break;
229
- }
230
- }
231
-
232
- if ( ! in_array( 'custom_attributes', $errors, true ) ) {
233
- $errors[] = 'multiple_attributes';
234
- }
235
- }
236
 
237
- foreach ( $product_object->get_children() as $child ) {
238
 
239
- $child = wc_get_product( $child );
240
 
241
- if ( $child && ! $child->get_sku() ) {
242
- $errors[] = 'missing_variation_sku';
 
243
  }
244
  }
245
 
@@ -451,6 +464,11 @@ class Products {
451
  */
452
  public function process_product_data( $product ) {
453
 
 
 
 
 
 
454
  // bail if no valid product found, if it's a variation, errors have already been output
455
  if ( ! $product || ( $product instanceof \WC_Product_Variation || $product->is_type( 'product_variation' ) ) || ! empty( $this->output_errors[ $product->get_id() ] ) ) {
456
  return;
@@ -472,7 +490,7 @@ class Products {
472
 
473
  if ( $is_variable ) {
474
 
475
- if ( isset( $this->product_errors['multiple_attributes'] ) && count( $product->get_attributes() ) > 1 ) {
476
  $errors['multiple_attributes'] = $this->product_errors['multiple_attributes'];
477
  }
478
 
@@ -506,7 +524,10 @@ class Products {
506
  wc_square()->get_message_handler()->add_error( $error );
507
  }
508
 
509
- } elseif ( $set_synced && $is_variable ) {
 
 
 
510
 
511
  // if there are no errors, and the product is variable, force enable stock management for all its variations
512
  foreach ( $product->get_children() as $variation_id ) {
@@ -538,7 +559,7 @@ class Products {
538
  }
539
 
540
  // only send stock updates for Woo SOR
541
- if ( ! wc_square()->get_settings_handler()->is_system_of_record_woocommerce() ) {
542
  return;
543
  }
544
 
@@ -546,8 +567,6 @@ class Products {
546
  return;
547
  }
548
 
549
- $product->set_manage_stock( true );
550
-
551
  $square_id = $product->get_meta( Product::SQUARE_VARIATION_ID_META_KEY );
552
 
553
  // only send when the product has an associated Square ID
@@ -555,6 +574,9 @@ class Products {
555
  return;
556
  }
557
 
 
 
 
558
  $data = $product->get_data();
559
  $changes = $product->get_changes();
560
  $change = 0;
@@ -575,6 +597,8 @@ class Products {
575
 
576
  } catch ( Framework\SV_WC_Plugin_Exception $exception ) {
577
 
 
 
578
  $quantity = (float) $data['stock_quantity'];
579
 
580
  // if the API request fails, set the product quantity back from whence it came
61
  $this->product_errors = [
62
  'missing_sku' => __( "Please add a SKU to sync this product with Square. The SKU must match the item's SKU in your Square account.", 'woocommerce-square' ),
63
  'missing_variation_sku' => __( "Please add a SKU to every variation of this variable product for syncing with Square. Each SKU must match the corresponding item's SKU in your Square account.", 'woocommerce-square' ),
64
+ 'multiple_attributes' => __( 'Products with multiple variation attributes cannot be synced with Square.', 'woocommerce-square' ),
 
65
  ];
66
 
67
  // add hooks
105
  */
106
  private function add_product_edit_screen_hooks() {
107
 
108
+ add_action( 'woocommerce_variation_options', [ $this, 'add_variation_manage_stock' ] );
109
+
110
  // handle individual products input fields for setting sync status
111
  add_action( 'woocommerce_product_options_general_product_data', [ $this, 'add_product_data_fields' ] );
112
  add_action( 'woocommerce_admin_process_product_object', [ $this, 'process_product_data' ], 20 );
116
  }
117
 
118
 
119
+ /**
120
+ * Adds our own hidden "manage stock" input to the variation fields.
121
+ *
122
+ * We disable the core checkbox, but this causes stock management to be disabled for the variations because the
123
+ * disabled field doesn't get POSTed. This overrides the checkbox value so that we can still disable it in the UI.
124
+ *
125
+ * @since 2.0.2
126
+ *
127
+ * @param int $loop currently looped variation
128
+ */
129
+ public function add_variation_manage_stock( $loop ) {
130
+
131
+ if ( ! wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
132
+ return;
133
+ }
134
+
135
+ ?> <input type="hidden" id="wc_square_variation_manage_stock" name="variable_manage_stock[<?php echo esc_attr( $loop ); ?>]" value="1" /> <?php
136
+ }
137
+
138
+
139
  /**
140
  * Adds hooks to sync products that have been updated.
141
  *
225
  return;
226
  }
227
 
228
+ // don't show fields if product sync is disabled
229
+ if ( ! wc_square()->get_settings_handler()->is_product_sync_enabled() ) {
230
+ return;
231
+ }
232
+
233
  ?>
234
  <div class="wc-square-sync-with-square options_group show_if_simple show_if_variable">
235
  <?php
240
 
241
  if ( $product_object->is_type( 'variable' ) ) {
242
 
243
+ if ( Product::has_multiple_variation_attributes( $product_object ) ) {
 
 
244
 
245
+ $errors[] = 'multiple_attributes';
 
246
 
247
+ } else {
 
 
 
 
 
 
 
 
 
 
 
248
 
249
+ foreach ( $product_object->get_children() as $child ) {
250
 
251
+ $child = wc_get_product( $child );
252
 
253
+ if ( $child && ! $child->get_sku() ) {
254
+ $errors[] = 'missing_variation_sku';
255
+ }
256
  }
257
  }
258
 
464
  */
465
  public function process_product_data( $product ) {
466
 
467
+ // don't process fields if product sync is disabled
468
+ if ( ! wc_square()->get_settings_handler()->is_product_sync_enabled() ) {
469
+ return;
470
+ }
471
+
472
  // bail if no valid product found, if it's a variation, errors have already been output
473
  if ( ! $product || ( $product instanceof \WC_Product_Variation || $product->is_type( 'product_variation' ) ) || ! empty( $this->output_errors[ $product->get_id() ] ) ) {
474
  return;
490
 
491
  if ( $is_variable ) {
492
 
493
+ if ( Product::has_multiple_variation_attributes( $product ) ) {
494
  $errors['multiple_attributes'] = $this->product_errors['multiple_attributes'];
495
  }
496
 
524
  wc_square()->get_message_handler()->add_error( $error );
525
  }
526
 
527
+ } elseif ( $set_synced && $is_variable && wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
528
+
529
+ // if syncing inventory with Square, parent variable products don't manage stock
530
+ $product->set_manage_stock( false );
531
 
532
  // if there are no errors, and the product is variable, force enable stock management for all its variations
533
  foreach ( $product->get_children() as $variation_id ) {
559
  }
560
 
561
  // only send stock updates for Woo SOR
562
+ if ( ! wc_square()->get_settings_handler()->is_system_of_record_woocommerce() || ! wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
563
  return;
564
  }
565
 
567
  return;
568
  }
569
 
 
 
570
  $square_id = $product->get_meta( Product::SQUARE_VARIATION_ID_META_KEY );
571
 
572
  // only send when the product has an associated Square ID
574
  return;
575
  }
576
 
577
+ // set to manage stock if not a variable product
578
+ $product->set_manage_stock( ! $product->is_type( 'variable' ) );
579
+
580
  $data = $product->get_data();
581
  $changes = $product->get_changes();
582
  $change = 0;
597
 
598
  } catch ( Framework\SV_WC_Plugin_Exception $exception ) {
599
 
600
+ wc_square()->log( 'Could not adjust Square inventory for ' . $product->get_formatted_name() . '. ' . $exception->getMessage() );
601
+
602
  $quantity = (float) $data['stock_quantity'];
603
 
604
  // if the API request fails, set the product quantity back from whence it came
includes/Admin/Sync_Page.php CHANGED
@@ -47,11 +47,11 @@ class Sync_Page {
47
  ?>
48
  <div id="wc-square-sync-page">
49
 
50
- <h2><?php esc_html_e( 'Update', 'woocommerce-sync' ); ?></h2>
51
  <?php self::output_system_record_of_data_info(); ?>
52
  <?php self::output_sync_status(); ?>
53
 
54
- <h2><?php esc_html_e( 'Sync records', 'woocommerce-sync' ); ?></h2>
55
  <?php self::output_sync_records(); ?>
56
  <?php self::output_sync_with_square_modal_template(); ?>
57
 
47
  ?>
48
  <div id="wc-square-sync-page">
49
 
50
+ <h2><?php esc_html_e( 'Update', 'woocommerce-square' ); ?></h2>
51
  <?php self::output_system_record_of_data_info(); ?>
52
  <?php self::output_sync_status(); ?>
53
 
54
+ <h2><?php esc_html_e( 'Sync records', 'woocommerce-square' ); ?></h2>
55
  <?php self::output_sync_records(); ?>
56
  <?php self::output_sync_with_square_modal_template(); ?>
57
 
includes/Gateway.php CHANGED
@@ -398,6 +398,11 @@ class Gateway extends Framework\SV_WC_Payment_Gateway_Direct {
398
  */
399
  public function restore_refunded_inventory( $order_id, $refund_id ) {
400
 
 
 
 
 
 
401
  $order = wc_get_order( $order_id );
402
 
403
  if ( ! $order instanceof \WC_Order ) {
398
  */
399
  public function restore_refunded_inventory( $order_id, $refund_id ) {
400
 
401
+ // no handling if inventory sync is disabled
402
+ if ( ! $this->get_plugin()->get_settings_handler()->is_inventory_sync_enabled() ) {
403
+ return;
404
+ }
405
+
406
  $order = wc_get_order( $order_id );
407
 
408
  if ( ! $order instanceof \WC_Order ) {
includes/Handlers/Connection.php CHANGED
@@ -122,8 +122,14 @@ class Connection {
122
  $this->schedule_customer_index();
123
 
124
  // on connect after upgrading to v2.0 from v1.0, initiate a catalog sync to refresh the Square item IDs
125
- if ( get_option( 'wc_square_updated_to_2_0_0' ) && $this->get_plugin()->get_settings_handler()->is_system_of_record_square() ) {
126
- $this->get_plugin()->get_sync_handler()->start_manual_sync();
 
 
 
 
 
 
127
  }
128
 
129
  delete_option( 'wc_square_updated_to_2_0_0' );
122
  $this->schedule_customer_index();
123
 
124
  // on connect after upgrading to v2.0 from v1.0, initiate a catalog sync to refresh the Square item IDs
125
+ if ( get_option( 'wc_square_updated_to_2_0_0' ) ) {
126
+
127
+ // delete any old access token from v1, as it will be invalidated
128
+ delete_option( 'woocommerce_square_merchant_access_token' );
129
+
130
+ if ( $this->get_plugin()->get_settings_handler()->is_system_of_record_square() ) {
131
+ $this->get_plugin()->get_sync_handler()->start_manual_sync();
132
+ }
133
  }
134
 
135
  delete_option( 'wc_square_updated_to_2_0_0' );
includes/Handlers/Product.php CHANGED
@@ -121,9 +121,9 @@ class Product {
121
  $variation->update_meta_data( self::SQUARE_VARIATION_ID_META_KEY, $catalog_variation->getId() );
122
 
123
  $variation->set_name( $catalog_variation->getItemVariationData()->getName() );
124
- $variation->set_regular_price( $catalog_variation->getItemVariationData()->getPriceMoney()->getAmount() / 100 );
125
 
126
- if ( $with_inventory ) {
127
  self::update_stock_from_square( $variation, false );
128
  }
129
 
@@ -153,9 +153,9 @@ class Product {
153
 
154
  $product->update_meta_data( self::SQUARE_VARIATION_ID_META_KEY, $catalog_variation->getId() );
155
 
156
- $product->set_regular_price( (float) ( $catalog_variation->getItemVariationData()->getPriceMoney()->getAmount() / 100 ) );
157
 
158
- if ( $with_inventory ) {
159
  self::update_stock_from_square( $product, false );
160
  }
161
  }
@@ -386,7 +386,9 @@ class Product {
386
  $set_term = wp_set_post_terms( $product->get_id(), [ $synced ], self::SYNCED_WITH_SQUARE_TAXONOMY );
387
  $success = is_array( $set_term );
388
 
389
- $product->set_manage_stock( true );
 
 
390
 
391
  $product->save();
392
 
@@ -441,6 +443,96 @@ class Product {
441
  }
442
 
443
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
444
  /**
445
  * Gets an ID list of products that have a synced with Square status set.
446
  *
121
  $variation->update_meta_data( self::SQUARE_VARIATION_ID_META_KEY, $catalog_variation->getId() );
122
 
123
  $variation->set_name( $catalog_variation->getItemVariationData()->getName() );
124
+ $variation->set_regular_price( Money_Utility::cents_to_float( $catalog_variation->getItemVariationData()->getPriceMoney()->getAmount() ) );
125
 
126
+ if ( $with_inventory && wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
127
  self::update_stock_from_square( $variation, false );
128
  }
129
 
153
 
154
  $product->update_meta_data( self::SQUARE_VARIATION_ID_META_KEY, $catalog_variation->getId() );
155
 
156
+ $product->set_regular_price( Money_Utility::cents_to_float( $catalog_variation->getItemVariationData()->getPriceMoney()->getAmount() ) );
157
 
158
+ if ( $with_inventory && wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
159
  self::update_stock_from_square( $product, false );
160
  }
161
  }
386
  $set_term = wp_set_post_terms( $product->get_id(), [ $synced ], self::SYNCED_WITH_SQUARE_TAXONOMY );
387
  $success = is_array( $set_term );
388
 
389
+ if ( wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
390
+ $product->set_manage_stock( ! $product->is_type( 'variable' ) );
391
+ }
392
 
393
  $product->save();
394
 
443
  }
444
 
445
 
446
+ /**
447
+ * Determines if a product can be synced with Square.
448
+ *
449
+ * SKUs and single-dimension attributes are required, so this helps us validate that in case a product has been
450
+ * marked as "Sync with Square" manually.
451
+ *
452
+ * @since 2.0.2
453
+ *
454
+ * @param \WC_Product $product product object
455
+ * @return bool
456
+ */
457
+ public static function can_sync_with_square( \WC_Product $product ) {
458
+
459
+ $can_sync = self::has_sku( $product );
460
+
461
+ if ( $can_sync && $product->is_type( 'variable' ) ) {
462
+ $can_sync = ! self::has_multiple_variation_attributes( $product );
463
+ }
464
+
465
+ return (bool) apply_filters( 'wc_square_product_can_sync_with_square', $can_sync, $product );
466
+ }
467
+
468
+
469
+ /**
470
+ * Determines if a product has a SKU set.
471
+ *
472
+ * For variable products, this checks if at least one of its variations has a SKU.
473
+ *
474
+ * @since 2.0.2
475
+ *
476
+ * @param \WC_Product $product product object
477
+ * @return bool
478
+ */
479
+ public static function has_sku( \WC_Product $product ) {
480
+
481
+ $has_sku = (bool) $product->get_sku();
482
+
483
+ if ( ! $has_sku && $product->is_type( 'variable' ) ) {
484
+
485
+ foreach ( $product->get_children() as $child ) {
486
+
487
+ $child = wc_get_product( $child );
488
+
489
+ if ( ! $child instanceof \WC_Product ) {
490
+ continue;
491
+ }
492
+
493
+ if ( $child->get_sku() ) {
494
+ $has_sku = true;
495
+ break;
496
+ }
497
+ }
498
+ }
499
+
500
+ return $has_sku;
501
+ }
502
+
503
+
504
+ /**
505
+ * Determines if a product has multiple variation attributes.
506
+ *
507
+ * @since 2.0.2
508
+ *
509
+ * @param \WC_Product $product product object
510
+ * @return bool
511
+ */
512
+ public static function has_multiple_variation_attributes( \WC_Product $product ) {
513
+
514
+ $has_attributes = false;
515
+
516
+ if ( $product->is_type( 'variable' ) ) {
517
+
518
+ $variation_attributes = [];
519
+
520
+ foreach ( $product->get_attributes() as $attribute ) {
521
+
522
+ if ( $attribute instanceof \WC_Product_Attribute && $attribute->get_variation() ) {
523
+ $variation_attributes[] = $attribute;
524
+ }
525
+ }
526
+
527
+ if ( count( $variation_attributes ) > 1 ) {
528
+ $has_attributes = true;
529
+ }
530
+ }
531
+
532
+ return $has_attributes;
533
+ }
534
+
535
+
536
  /**
537
  * Gets an ID list of products that have a synced with Square status set.
538
  *
includes/Handlers/Product/Woo_SOR.php CHANGED
@@ -206,11 +206,18 @@ class Woo_SOR extends \WooCommerce\Square\Handlers\Product {
206
 
207
  if ( $product->get_regular_price() || $product->get_sale_price() ) {
208
  $variation_data->setPriceMoney( self::price_to_money( $product->get_sale_price() ?: $product->get_regular_price() ) );
209
- $variation_data->setPricingType( 'FIXED_PRICING' );
 
210
  }
211
 
 
 
212
  $variation_data->setName( $product->get_name() );
213
- $variation_data->setTrackInventory( true );
 
 
 
 
214
  $variation_data->setSku( $product->get_sku() );
215
 
216
  if ( ! $variation_data->getItemId() ) {
206
 
207
  if ( $product->get_regular_price() || $product->get_sale_price() ) {
208
  $variation_data->setPriceMoney( self::price_to_money( $product->get_sale_price() ?: $product->get_regular_price() ) );
209
+ } else {
210
+ $variation_data->setPriceMoney( self::price_to_money( 0 ) );
211
  }
212
 
213
+ $variation_data->setPricingType( 'FIXED_PRICING' );
214
+
215
  $variation_data->setName( $product->get_name() );
216
+
217
+ if ( wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
218
+ $variation_data->setTrackInventory( true );
219
+ }
220
+
221
  $variation_data->setSku( $product->get_sku() );
222
 
223
  if ( ! $variation_data->getItemId() ) {
includes/Handlers/Sync.php CHANGED
@@ -227,6 +227,9 @@ class Sync {
227
  return;
228
  }
229
 
 
 
 
230
  $job = $this->get_plugin()->get_background_job_handler()->create_job( [
231
  'action' => 'poll',
232
  'manual' => false,
227
  return;
228
  }
229
 
230
+ // use this opportunity to clear old background jobs
231
+ $this->get_plugin()->get_background_job_handler()->clear_all_jobs();
232
+
233
  $job = $this->get_plugin()->get_background_job_handler()->create_job( [
234
  'action' => 'poll',
235
  'manual' => false,
includes/Lifecycle.php CHANGED
@@ -52,6 +52,7 @@ class Lifecycle extends Framework\Plugin\Lifecycle {
52
  // plugin upgrade path: maps automatically each semver to upgrade_to_x_y_z() protected method
53
  $this->upgrade_versions = [
54
  '2.0.0',
 
55
  ];
56
  }
57
 
@@ -119,27 +120,52 @@ class Lifecycle extends Framework\Plugin\Lifecycle {
119
  }
120
 
121
  // migrate all the things!
122
- $this->migrate_plugin_settings();
 
123
  $this->migrate_gateway_settings();
124
  $this->migrate_orders();
125
- $this->migrate_products();
126
- $this->migrate_customers();
127
 
128
- // assume a last sync occurred before upgrading
129
- $this->get_plugin()->get_sync_handler()->set_last_synced_at();
130
- $this->get_plugin()->get_sync_handler()->set_inventory_last_synced_at();
 
 
 
 
 
 
 
 
131
 
132
  // mark upgrade complete
133
  update_option( 'wc_square_updated_to_2_0_0', true );
134
  }
135
 
136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  /**
138
  * Migrates plugin settings from v1 to v2.
139
  *
140
  * @see Lifecycle::upgrade_to_2_0_0()
141
  *
142
  * @since 2.0.0
 
 
143
  */
144
  private function migrate_plugin_settings() {
145
 
@@ -186,12 +212,8 @@ class Lifecycle extends Framework\Plugin\Lifecycle {
186
  // toggle debug logging
187
  $new_settings['debug_logging_enabled'] = isset( $legacy_settings['logging'] ) && in_array( $legacy_settings['logging'], [ 'yes', 'no' ], true ) ? $legacy_settings['logging'] : 'no';
188
 
189
- // handle system of record: previously only Square was supported
190
- if ( isset( $legacy_settings['sync_products'] ) && 'yes' === $legacy_settings['sync_products'] ) {
191
- $new_settings['system_of_record'] = 'square';
192
- } else {
193
- $new_settings['system_of_record'] = 'disabled';
194
- }
195
 
196
  // migrate email notification settings: if there's a recipient, we enable email and pass recipient(s) to email setting
197
  if ( isset( $legacy_settings['sync_email'] ) && is_string( $legacy_settings['sync_email'] ) && '' !== trim( $legacy_settings['sync_email'] ) ) {
@@ -208,6 +230,8 @@ class Lifecycle extends Framework\Plugin\Lifecycle {
208
  update_option( 'wc_square_settings', $new_settings );
209
 
210
  $this->get_plugin()->log( 'Plugin settings migration complete.' );
 
 
211
  }
212
 
213
 
@@ -377,4 +401,26 @@ class Lifecycle extends Framework\Plugin\Lifecycle {
377
  }
378
 
379
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
380
  }
52
  // plugin upgrade path: maps automatically each semver to upgrade_to_x_y_z() protected method
53
  $this->upgrade_versions = [
54
  '2.0.0',
55
+ '2.0.3',
56
  ];
57
  }
58
 
120
  }
121
 
122
  // migrate all the things!
123
+ $syncing_products = $this->migrate_plugin_settings();
124
+
125
  $this->migrate_gateway_settings();
126
  $this->migrate_orders();
 
 
127
 
128
+ // only set the products "sync" status if v2 is now configured to sync products
129
+ if ( $syncing_products ) {
130
+
131
+ $this->migrate_products();
132
+
133
+ // assume a last sync occurred before upgrading
134
+ $this->get_plugin()->get_sync_handler()->set_last_synced_at();
135
+ $this->get_plugin()->get_sync_handler()->set_inventory_last_synced_at();
136
+ }
137
+
138
+ $this->migrate_customers();
139
 
140
  // mark upgrade complete
141
  update_option( 'wc_square_updated_to_2_0_0', true );
142
  }
143
 
144
 
145
+ /**
146
+ * Upgrades to version 2.0.3.
147
+ *
148
+ * @since 2.0.3
149
+ */
150
+ protected function upgrade_to_2_0_3() {
151
+
152
+ $v1_settings = get_option( 'woocommerce_squareconnect_settings', [] );
153
+ $v2_settings = get_option( 'wc_square_settings', [] );
154
+
155
+ $v2_settings = $this->get_migrated_system_of_record( $v1_settings, $v2_settings );
156
+
157
+ update_option( 'wc_square_settings', $v2_settings );
158
+ }
159
+
160
+
161
  /**
162
  * Migrates plugin settings from v1 to v2.
163
  *
164
  * @see Lifecycle::upgrade_to_2_0_0()
165
  *
166
  * @since 2.0.0
167
+ *
168
+ * @return bool whether a system of record was enabled from migration
169
  */
170
  private function migrate_plugin_settings() {
171
 
212
  // toggle debug logging
213
  $new_settings['debug_logging_enabled'] = isset( $legacy_settings['logging'] ) && in_array( $legacy_settings['logging'], [ 'yes', 'no' ], true ) ? $legacy_settings['logging'] : 'no';
214
 
215
+ // set the SOR and inventory sync values
216
+ $new_settings = $this->get_migrated_system_of_record( $legacy_settings, $new_settings );
 
 
 
 
217
 
218
  // migrate email notification settings: if there's a recipient, we enable email and pass recipient(s) to email setting
219
  if ( isset( $legacy_settings['sync_email'] ) && is_string( $legacy_settings['sync_email'] ) && '' !== trim( $legacy_settings['sync_email'] ) ) {
230
  update_option( 'wc_square_settings', $new_settings );
231
 
232
  $this->get_plugin()->log( 'Plugin settings migration complete.' );
233
+
234
+ return isset( $new_settings['system_of_record'] ) && $new_settings['system_of_record'] !== Settings::SYSTEM_OF_RECORD_DISABLED;
235
  }
236
 
237
 
401
  }
402
 
403
 
404
+ /**
405
+ * Adds the system of record setting to the v2 plugin settings depending on v1 setting values.
406
+ *
407
+ * @since 2.0.2
408
+ *
409
+ * @param array $v1_settings v1 plugin settings
410
+ * @param array $v2_settings v2 plugin settings
411
+ * @return array
412
+ */
413
+ private function get_migrated_system_of_record( $v1_settings, $v2_settings ) {
414
+
415
+ $sync_products = isset( $v1_settings['sync_products'] ) && 'yes' === $v1_settings['sync_products'];
416
+ $sync_inventory = $sync_products && isset( $v1_settings['sync_inventory'] ) && 'yes' === $v1_settings['sync_inventory'];
417
+ $inventory_polling = isset( $v1_settings['inventory_polling'] ) && 'yes' === $v1_settings['inventory_polling'];
418
+
419
+ $v2_settings['system_of_record'] = $sync_products && $inventory_polling ? Settings::SYSTEM_OF_RECORD_SQUARE : Settings::SYSTEM_OF_RECORD_DISABLED;
420
+ $v2_settings['enable_inventory_sync'] = $inventory_polling || $sync_inventory ? 'yes' : 'no';
421
+
422
+ return $v2_settings;
423
+ }
424
+
425
+
426
  }
includes/Plugin.php CHANGED
@@ -41,7 +41,7 @@ class Plugin extends Framework\SV_WC_Payment_Gateway_Plugin {
41
 
42
 
43
  /** plugin version number */
44
- const VERSION = '2.0.2';
45
 
46
  /** plugin ID */
47
  const PLUGIN_ID = 'square';
@@ -209,6 +209,10 @@ class Plugin extends Framework\SV_WC_Payment_Gateway_Plugin {
209
  public function init_plugin() {
210
 
211
  $this->settings_handler = new Settings( $this );
 
 
 
 
212
  }
213
 
214
 
@@ -246,19 +250,6 @@ class Plugin extends Framework\SV_WC_Payment_Gateway_Plugin {
246
  /** Admin methods *************************************************************************************************/
247
 
248
 
249
- /**
250
- * Initializes the admin functionality.
251
- *
252
- * @since 2.0.0
253
- */
254
- public function init_admin() {
255
-
256
- parent::init_admin();
257
-
258
- $this->admin_handler = new Admin( $this );
259
- }
260
-
261
-
262
  /**
263
  * Adds admin notices.
264
  *
@@ -334,7 +325,7 @@ class Plugin extends Framework\SV_WC_Payment_Gateway_Plugin {
334
  }
335
 
336
  // a notice for when WC stock handling is globally disabled
337
- if ( 'yes' !== get_option( 'woocommerce_manage_stock' ) && $this->get_settings_handler()->is_product_sync_enabled() ) {
338
 
339
  $message = sprintf(
340
  __( 'Heads up! Square is configured to sync product inventory, but WooCommerce stock management is disabled. Please %1$senable stock management%2$s to ensure product inventory counts are kept in sync.', 'woocommerce-square' ),
@@ -383,9 +374,10 @@ class Plugin extends Framework\SV_WC_Payment_Gateway_Plugin {
383
 
384
  $this->get_admin_notice_handler()->add_admin_notice(
385
  sprintf(
386
- /* translators: Placeholders: %1$s - plugin name, %2$s - opening <a> HTML link tag, %3$s - closing </a> HTML link tag, %4$s - opening <a> HTML link tag, %5$s - closing </a> HTML link tag*/
387
- esc_html__( '%1$s has been updated to version 2.0.0. In order to continue syncing product inventory, please make sure to disconnect and reconnect with Square from the %2$splugin settings%3$s and re-sync your products. Read more in the %4$supdated documentation%5$s.', 'woocommerce-square' ),
388
  '<strong>' . esc_html( $this->get_plugin_name() ) . '</strong>',
 
389
  '<a href="' . esc_url( $this->get_settings_url() ) . '">', '</a>',
390
  '<a href="' . esc_url( $this->get_documentation_url() ) . '">', '</a>'
391
  ),
41
 
42
 
43
  /** plugin version number */
44
+ const VERSION = '2.0.3';
45
 
46
  /** plugin ID */
47
  const PLUGIN_ID = 'square';
209
  public function init_plugin() {
210
 
211
  $this->settings_handler = new Settings( $this );
212
+
213
+ if ( ! $this->admin_handler && is_admin() ) {
214
+ $this->admin_handler = new Admin( $this );
215
+ }
216
  }
217
 
218
 
250
  /** Admin methods *************************************************************************************************/
251
 
252
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  /**
254
  * Adds admin notices.
255
  *
325
  }
326
 
327
  // a notice for when WC stock handling is globally disabled
328
+ if ( 'yes' !== get_option( 'woocommerce_manage_stock' ) && $this->get_settings_handler()->is_inventory_sync_enabled() ) {
329
 
330
  $message = sprintf(
331
  __( 'Heads up! Square is configured to sync product inventory, but WooCommerce stock management is disabled. Please %1$senable stock management%2$s to ensure product inventory counts are kept in sync.', 'woocommerce-square' ),
374
 
375
  $this->get_admin_notice_handler()->add_admin_notice(
376
  sprintf(
377
+ /* translators: Placeholders: %1$s - plugin name, %2$ - plugin version number, %3$s - opening <a> HTML link tag, %4$s - closing </a> HTML link tag, %5$s - opening <a> HTML link tag, %6$s - closing </a> HTML link tag*/
378
+ esc_html__( '%1$s has been updated to version %2$s. In order to continue syncing product inventory, please make sure to disconnect and reconnect with Square from the %3$splugin settings%4$s and re-sync your products. Read more in the %5$supdated documentation%6$s.', 'woocommerce-square' ),
379
  '<strong>' . esc_html( $this->get_plugin_name() ) . '</strong>',
380
+ $this->get_version(),
381
  '<a href="' . esc_url( $this->get_settings_url() ) . '">', '</a>',
382
  '<a href="' . esc_url( $this->get_documentation_url() ) . '">', '</a>'
383
  ),
includes/Settings.php CHANGED
@@ -121,8 +121,9 @@ class Settings extends \WC_Settings_API {
121
  'type' => 'select',
122
  'class' => 'wc-enhanced-select',
123
  'description' => sprintf(
124
- /* translators: Placeholders: %1$s - <a> tag, %2$s - </a> tag */
125
- __( 'Select a location to link to this site. You must have %1$sLocations%2$s set and approved in Square.', 'woocommerce-square' ),
 
126
  '<a href="https://squareup.com/help/us/en/article/5580-manage-multiple-locations-with-square" target="_blank">', '</a>'
127
  ),
128
  'options' => [], // this is populated on display
@@ -146,6 +147,13 @@ class Settings extends \WC_Settings_API {
146
  'default' => 'disabled',
147
  ];
148
 
 
 
 
 
 
 
 
149
  $fields['hide_missing_products'] = [
150
  'title' => __( 'Handle missing products', 'woocommerce-square' ),
151
  'label' => __( 'Hide synced products when not found in Square', 'woocommerce-square' ),
@@ -387,7 +395,7 @@ class Settings extends \WC_Settings_API {
387
  */
388
  public function is_inventory_sync_enabled() {
389
 
390
- return (bool) apply_filters( 'wc_square_inventory_sync_enabled', $this->is_product_sync_enabled() && 'yes' === get_option( 'woocommerce_manage_stock' ) );
391
  }
392
 
393
 
121
  'type' => 'select',
122
  'class' => 'wc-enhanced-select',
123
  'description' => sprintf(
124
+ /* translators: Placeholders: %1$s - <strong> tag, %2$s - </strong> tag, %3$s - <a> tag, %4$s - </a> tag */
125
+ __( 'Select a location to link to this site. Only %1$sactive%2$s %3$slocations%4$s that support credit card processing in Square can be linked.', 'woocommerce-square' ),
126
+ '<strong>', '</strong>',
127
  '<a href="https://squareup.com/help/us/en/article/5580-manage-multiple-locations-with-square" target="_blank">', '</a>'
128
  ),
129
  'options' => [], // this is populated on display
147
  'default' => 'disabled',
148
  ];
149
 
150
+ $fields['enable_inventory_sync'] = [
151
+ 'title' => __( 'Sync inventory', 'woocommerce-square' ),
152
+ 'label' => '<span>' . __( 'Enable to sync product inventory with Square', 'woocommerce-square' ) . '</span>',
153
+ 'type' => 'checkbox',
154
+ 'description' => __( 'Inventory is fetched from Square periodically and updated in WooCommerce', 'woocommerce-square' ),
155
+ ];
156
+
157
  $fields['hide_missing_products'] = [
158
  'title' => __( 'Handle missing products', 'woocommerce-square' ),
159
  'label' => __( 'Hide synced products when not found in Square', 'woocommerce-square' ),
395
  */
396
  public function is_inventory_sync_enabled() {
397
 
398
+ return (bool) apply_filters( 'wc_square_inventory_sync_enabled', 'yes' === get_option( 'woocommerce_manage_stock' ) && $this->is_product_sync_enabled() && 'yes' === $this->get_option( 'enable_inventory_sync' ) );
399
  }
400
 
401
 
includes/Sync/Interval_Polling.php CHANGED
@@ -52,14 +52,12 @@ class Interval_Polling extends Stepped_Job {
52
 
53
  $next_steps = [
54
  'update_product_data',
55
- 'update_inventory_counts',
56
  ];
 
57
 
58
- } elseif ( $this->is_system_of_record_woocommerce() ) {
59
-
60
- $next_steps = [
61
- 'update_inventory_counts',
62
- ];
63
  }
64
 
65
  $this->set_attr( 'next_steps', $next_steps );
52
 
53
  $next_steps = [
54
  'update_product_data',
 
55
  ];
56
+ }
57
 
58
+ // only pull latest inventory if enabled
59
+ if ( wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
60
+ $next_steps[] = 'update_inventory_counts';
 
 
61
  }
62
 
63
  $this->set_attr( 'next_steps', $next_steps );
includes/Sync/Manual_Synchronization.php CHANGED
@@ -24,6 +24,7 @@
24
  namespace WooCommerce\Square\Sync;
25
 
26
  use SkyVerge\WooCommerce\PluginFramework\v5_4_0 as Framework;
 
27
  use SquareConnect\Model\BatchUpsertCatalogObjectsResponse;
28
  use SquareConnect\Model\CatalogObject;
29
  use SquareConnect\Model\CatalogObjectBatch;
@@ -131,11 +132,29 @@ class Manual_Synchronization extends Stepped_Job {
131
  protected function refresh_category_mappings() {
132
 
133
  $map = Category::get_map();
134
- $category_ids = $this->get_attr( 'category_ids' );
135
  $mapped_categories = [];
136
- $unmapped_categories = [];
137
  $unmapped_category_ids = [];
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  foreach ( $category_ids as $category_id ) {
140
 
141
  if ( isset( $map[ $category_id ] ) ) {
@@ -154,8 +173,6 @@ class Manual_Synchronization extends Stepped_Job {
154
  return isset( $mapped_category['square_id'] ) ? $mapped_category['square_id'] : null;
155
  }, $mapped_categories ) ) );
156
 
157
- // TODO: Handle $square_ids array greater than 1000 in length
158
-
159
  $response = wc_square()->get_api()->batch_retrieve_catalog_objects( $square_ids );
160
 
161
  // swap the square ID into the array key for quick lookup
@@ -166,15 +183,18 @@ class Manual_Synchronization extends Stepped_Job {
166
  }
167
 
168
  // handle response
169
- foreach ( $response->get_data()->getObjects() as $category ) {
 
 
170
 
171
- // don't check for the name, it will get overwritten by the Woo value anyway
172
- if ( isset( $mapped_category_audit[ $category->getId() ] ) ) {
173
 
174
- $category_id = $mapped_category_audit[ $category->getId() ];
175
 
176
- $map[ $category_id ]['version'] = $category->getVersion();
177
- unset( $mapped_category_audit[ $category->getId() ] );
 
178
  }
179
  }
180
 
@@ -205,8 +225,7 @@ class Manual_Synchronization extends Stepped_Job {
205
 
206
  // make the 'name' attribute the array key, for more efficient searching later.
207
  foreach ( $unmapped_category_terms as $unmapped_category_term ) {
208
-
209
- $unmapped_categories[ strtolower( $unmapped_category_term->name ) ] = $unmapped_category_term;
210
  }
211
  }
212
 
@@ -215,8 +234,6 @@ class Manual_Synchronization extends Stepped_Job {
215
  $this->set_attr( 'unmapped_categories', $unmapped_categories );
216
 
217
  Category::update_map( $map );
218
-
219
- $this->complete_step( 'refresh_category_mappings' );
220
  }
221
 
222
 
@@ -246,21 +263,24 @@ class Manual_Synchronization extends Stepped_Job {
246
  $category_map = Category::get_map();
247
  $categories = $response->get_data()->getObjects();
248
 
249
- foreach ( $categories as $category_object ) {
250
 
251
- $unmapped_category_key = strtolower( $category_object->getCategoryData()->getName() );
252
 
253
- if ( isset( $unmapped_categories[ $unmapped_category_key ] ) ) {
254
 
255
- $category_id = $unmapped_categories[ $unmapped_category_key ]['term_id'];
256
 
257
- $category_map[ $category_id ] = [
258
- 'square_id' => $category_object->getId(),
259
- 'square_version' => $category_object->getVersion(),
260
- ];
261
 
262
- $mapped_categories[] = $category_id;
263
- unset( $unmapped_categories[ $unmapped_category_key ] );
 
 
 
 
 
 
264
  }
265
  }
266
 
@@ -313,7 +333,7 @@ class Manual_Synchronization extends Stepped_Job {
313
  'type' => 'CATEGORY',
314
  'id' => $square_id,
315
  'category_data' => [
316
- 'name' => $category->name
317
  ]
318
  ];
319
 
@@ -321,11 +341,10 @@ class Manual_Synchronization extends Stepped_Job {
321
  $catalog_object_data['version'] = $square_version;
322
  }
323
 
324
- // TODO: Handle number of batches > 1000
325
  $batches[] = new \SquareConnect\Model\CatalogObjectBatch( [ 'objects' => [ new \SquareConnect\Model\CatalogObject( $catalog_object_data ) ] ] );
326
  }
327
 
328
- $idempotency_key = wc_square()->get_idempotency_key( md5( serialize( $batches ) ) . '_upsert_categories' );
329
 
330
  $result = wc_square()->get_api()->batch_upsert_catalog_objects( $idempotency_key, $batches );
331
 
@@ -979,6 +998,8 @@ class Manual_Synchronization extends Stepped_Job {
979
  wc_square()->log( 'Mapped ' . count( $in_progress['mapped_client_item_ids'] ) . ' Square IDs in ' . $duration . 's' );
980
  }
981
 
 
 
982
  wc_square()->log( 'Storing Square item data to WooCommerce products' );
983
 
984
  $start = microtime( true );
@@ -1021,6 +1042,8 @@ class Manual_Synchronization extends Stepped_Job {
1021
 
1022
  if ( $product_variation = Product::get_product_by_square_variation_id( $catalog_item_variation->getId() ) ) {
1023
 
 
 
1024
  Product::update_square_meta( $product_variation, [
1025
  'item_variation_id' => $catalog_item_variation->getId(),
1026
  'item_variation_version' => $catalog_item_variation->getVersion(),
@@ -1046,6 +1069,8 @@ class Manual_Synchronization extends Stepped_Job {
1046
  $result['unprocessed'] = array_diff( $product_ids, $result['processed'] );
1047
  }
1048
 
 
 
1049
  $duration = number_format( microtime( true ) - $start, 2 );
1050
 
1051
  wc_square()->log( 'Stored Square data to ' . count( $result['processed'] ) . ' products in ' . $duration . 's' );
@@ -1056,7 +1081,7 @@ class Manual_Synchronization extends Stepped_Job {
1056
  Records::set_record( [
1057
  'type' => 'alert',
1058
  'product_id' => $product_id,
1059
- 'message' => __( 'Product could not be updated in Square' ),
1060
  ] );
1061
  }
1062
 
@@ -1273,6 +1298,8 @@ class Manual_Synchronization extends Stepped_Job {
1273
  return;
1274
  }
1275
 
 
 
1276
  /** @var \SquareConnect\Model\CatalogObject[] */
1277
  $catalog_objects = $products_to_update = [];
1278
 
@@ -1366,7 +1393,11 @@ class Manual_Synchronization extends Stepped_Job {
1366
  throw new Framework\SV_WC_Plugin_Exception( 'Product does not exist in the Square catalog' );
1367
  }
1368
 
1369
- Product::update_from_square( $product, $square_object->getItemData() );
 
 
 
 
1370
 
1371
  if ( ! $product->get_image_id() && $square_object->getImageId() ) {
1372
  Product::update_image_from_square( $product, $square_object->getImageId() );
@@ -1382,9 +1413,116 @@ class Manual_Synchronization extends Stepped_Job {
1382
 
1383
  $this->set_attr( 'catalog_objects_search_response_data', null );
1384
 
 
 
1385
  $this->set_attr( 'processed_product_ids', $processed_product_ids );
1386
  }
1387
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1388
  /**
1389
  * Marks a set of products as failed to sync.
1390
  *
@@ -1483,8 +1621,13 @@ class Manual_Synchronization extends Stepped_Job {
1483
  'update_matched_products',
1484
  'search_matched_products',
1485
  'upsert_new_products',
1486
- 'push_inventory',
1487
  ];
 
 
 
 
 
 
1488
  }
1489
 
1490
  } elseif ( $this->is_system_of_record_square() ) {
@@ -1493,6 +1636,11 @@ class Manual_Synchronization extends Stepped_Job {
1493
  'validate_products',
1494
  'square_sor_sync',
1495
  ];
 
 
 
 
 
1496
  }
1497
 
1498
  $this->set_attr( 'next_steps', $next_steps );
24
  namespace WooCommerce\Square\Sync;
25
 
26
  use SkyVerge\WooCommerce\PluginFramework\v5_4_0 as Framework;
27
+ use SquareConnect\Model\BatchRetrieveInventoryCountsResponse;
28
  use SquareConnect\Model\BatchUpsertCatalogObjectsResponse;
29
  use SquareConnect\Model\CatalogObject;
30
  use SquareConnect\Model\CatalogObjectBatch;
132
  protected function refresh_category_mappings() {
133
 
134
  $map = Category::get_map();
135
+ $category_ids = $this->get_attr( 'refresh_mappings_category_ids', $this->get_attr( 'category_ids' ) );
136
  $mapped_categories = [];
137
+ $unmapped_categories = $this->get_attr( 'unmapped_categories', [] );
138
  $unmapped_category_ids = [];
139
 
140
+ if ( empty( $category_ids ) ) {
141
+ $this->complete_step( 'refresh_category_mappings' );
142
+ return;
143
+ }
144
+
145
+ if ( count( $category_ids ) > $this->get_max_objects_to_retrieve() ) {
146
+
147
+ $category_ids_batch = array_slice( $category_ids, 0, $this->get_max_objects_to_retrieve() );
148
+
149
+ $this->set_attr( 'refresh_mappings_category_ids', array_diff( $category_ids, $category_ids_batch ) );
150
+
151
+ $category_ids = $category_ids_batch;
152
+
153
+ } else {
154
+
155
+ $this->set_attr( 'refresh_mappings_category_ids', [] );
156
+ }
157
+
158
  foreach ( $category_ids as $category_id ) {
159
 
160
  if ( isset( $map[ $category_id ] ) ) {
173
  return isset( $mapped_category['square_id'] ) ? $mapped_category['square_id'] : null;
174
  }, $mapped_categories ) ) );
175
 
 
 
176
  $response = wc_square()->get_api()->batch_retrieve_catalog_objects( $square_ids );
177
 
178
  // swap the square ID into the array key for quick lookup
183
  }
184
 
185
  // handle response
186
+ if ( is_array( $response->get_data()->getObjects() ) ) {
187
+
188
+ foreach ( $response->get_data()->getObjects() as $category ) {
189
 
190
+ // don't check for the name, it will get overwritten by the Woo value anyway
191
+ if ( isset( $mapped_category_audit[ $category->getId() ] ) ) {
192
 
193
+ $category_id = $mapped_category_audit[ $category->getId() ];
194
 
195
+ $map[ $category_id ]['version'] = $category->getVersion();
196
+ unset( $mapped_category_audit[ $category->getId() ] );
197
+ }
198
  }
199
  }
200
 
225
 
226
  // make the 'name' attribute the array key, for more efficient searching later.
227
  foreach ( $unmapped_category_terms as $unmapped_category_term ) {
228
+ $unmapped_categories[ strtolower( wp_specialchars_decode( $unmapped_category_term->name ) ) ] = $unmapped_category_term;
 
229
  }
230
  }
231
 
234
  $this->set_attr( 'unmapped_categories', $unmapped_categories );
235
 
236
  Category::update_map( $map );
 
 
237
  }
238
 
239
 
263
  $category_map = Category::get_map();
264
  $categories = $response->get_data()->getObjects();
265
 
266
+ if ( is_array( $categories ) ) {
267
 
268
+ foreach ( $categories as $category_object ) {
269
 
270
+ $unmapped_category_key = strtolower( $category_object->getCategoryData()->getName() );
271
 
272
+ if ( isset( $unmapped_categories[ $unmapped_category_key ] ) ) {
273
 
274
+ $category_id = $unmapped_categories[ $unmapped_category_key ]['term_id'];
 
 
 
275
 
276
+ $category_map[ $category_id ] = [
277
+ 'square_id' => $category_object->getId(),
278
+ 'square_version' => $category_object->getVersion(),
279
+ ];
280
+
281
+ $mapped_categories[] = $category_id;
282
+ unset( $unmapped_categories[ $unmapped_category_key ] );
283
+ }
284
  }
285
  }
286
 
333
  'type' => 'CATEGORY',
334
  'id' => $square_id,
335
  'category_data' => [
336
+ 'name' => wp_specialchars_decode( $category->name ), // names are stored encoded in the database
337
  ]
338
  ];
339
 
341
  $catalog_object_data['version'] = $square_version;
342
  }
343
 
 
344
  $batches[] = new \SquareConnect\Model\CatalogObjectBatch( [ 'objects' => [ new \SquareConnect\Model\CatalogObject( $catalog_object_data ) ] ] );
345
  }
346
 
347
+ $idempotency_key = wc_square()->get_idempotency_key( md5( serialize( $batches ) . $this->get_attr( 'id' ) ) . '_upsert_categories' );
348
 
349
  $result = wc_square()->get_api()->batch_upsert_catalog_objects( $idempotency_key, $batches );
350
 
998
  wc_square()->log( 'Mapped ' . count( $in_progress['mapped_client_item_ids'] ) . ' Square IDs in ' . $duration . 's' );
999
  }
1000
 
1001
+ $pull_inventory_variation_ids = $this->get_attr( 'pull_inventory_variation_ids', [] );
1002
+
1003
  wc_square()->log( 'Storing Square item data to WooCommerce products' );
1004
 
1005
  $start = microtime( true );
1042
 
1043
  if ( $product_variation = Product::get_product_by_square_variation_id( $catalog_item_variation->getId() ) ) {
1044
 
1045
+ $pull_inventory_variation_ids[] = $catalog_item_variation->getId();
1046
+
1047
  Product::update_square_meta( $product_variation, [
1048
  'item_variation_id' => $catalog_item_variation->getId(),
1049
  'item_variation_version' => $catalog_item_variation->getVersion(),
1069
  $result['unprocessed'] = array_diff( $product_ids, $result['processed'] );
1070
  }
1071
 
1072
+ $this->set_attr( 'pull_inventory_variation_ids', $pull_inventory_variation_ids );
1073
+
1074
  $duration = number_format( microtime( true ) - $start, 2 );
1075
 
1076
  wc_square()->log( 'Stored Square data to ' . count( $result['processed'] ) . ' products in ' . $duration . 's' );
1081
  Records::set_record( [
1082
  'type' => 'alert',
1083
  'product_id' => $product_id,
1084
+ 'message' => __( 'Product could not be updated in Square', 'woocommerce-square' ),
1085
  ] );
1086
  }
1087
 
1298
  return;
1299
  }
1300
 
1301
+ $pull_inventory_variation_ids = $this->get_attr( 'pull_inventory_variation_ids', [] );
1302
+
1303
  /** @var \SquareConnect\Model\CatalogObject[] */
1304
  $catalog_objects = $products_to_update = [];
1305
 
1393
  throw new Framework\SV_WC_Plugin_Exception( 'Product does not exist in the Square catalog' );
1394
  }
1395
 
1396
+ foreach ( $square_object->getItemData()->getVariations() as $variation ) {
1397
+ $pull_inventory_variation_ids[] = $variation->getId();
1398
+ }
1399
+
1400
+ Product::update_from_square( $product, $square_object->getItemData(), false );
1401
 
1402
  if ( ! $product->get_image_id() && $square_object->getImageId() ) {
1403
  Product::update_image_from_square( $product, $square_object->getImageId() );
1413
 
1414
  $this->set_attr( 'catalog_objects_search_response_data', null );
1415
 
1416
+ $this->set_attr( 'pull_inventory_variation_ids', $pull_inventory_variation_ids );
1417
+
1418
  $this->set_attr( 'processed_product_ids', $processed_product_ids );
1419
  }
1420
 
1421
+
1422
+ /**
1423
+ * Pulls the latest inventory counts for the variation IDs in `pull_inventory_variation_ids`.
1424
+ *
1425
+ * @since 2.0.2
1426
+ *
1427
+ * @throws Framework\SV_WC_Plugin_Exception
1428
+ */
1429
+ protected function pull_inventory() {
1430
+
1431
+ $processed_ids = $this->get_attr( 'processed_square_variation_ids', [] );
1432
+
1433
+ $in_progress = wp_parse_args( $this->get_attr( 'in_progress_pull_inventory', [] ), [
1434
+ 'response_data' => null,
1435
+ 'processed_variation_ids' => [],
1436
+ ] );
1437
+
1438
+ $response_data = null;
1439
+
1440
+ // if a response was never cleared, we likely had a timeout
1441
+ if ( null !== $in_progress['response_data'] ) {
1442
+ $response_data = ObjectSerializer::deserialize( json_decode( $in_progress['response_data'], false ), BatchRetrieveInventoryCountsResponse::class );
1443
+ }
1444
+
1445
+ // if the saved response was somehow corrupted, start over
1446
+ if ( ! $response_data instanceof BatchRetrieveInventoryCountsResponse ) {
1447
+
1448
+ $square_variation_ids = $this->get_attr( 'pull_inventory_variation_ids', [] );
1449
+
1450
+ // remove IDs that have already been processed
1451
+ $square_variation_ids = array_diff( $square_variation_ids, $processed_ids );
1452
+
1453
+ if ( empty( $square_variation_ids ) ) {
1454
+
1455
+ $this->complete_step( 'pull_inventory' );
1456
+ return;
1457
+ }
1458
+
1459
+ if ( count( $square_variation_ids ) > 100 ) {
1460
+
1461
+ $variation_ids_batch = array_slice( $square_variation_ids, 0, 100 );
1462
+
1463
+ $this->set_attr( 'pull_inventory_variation_ids', array_diff( $square_variation_ids, $variation_ids_batch ) );
1464
+
1465
+ $square_variation_ids = $variation_ids_batch;
1466
+ }
1467
+
1468
+ $response = wc_square()->get_api()->batch_retrieve_inventory_counts( [
1469
+ 'catalog_object_ids' => array_values( $square_variation_ids ),
1470
+ 'location_ids' => [ wc_square()->get_settings_handler()->get_location_id() ],
1471
+ ] );
1472
+
1473
+ if ( ! $response->get_data() instanceof BatchRetrieveInventoryCountsResponse ) {
1474
+ throw new Framework\SV_WC_Plugin_Exception( 'Response data missing or invalid' );
1475
+ }
1476
+
1477
+ $response_data = $response->get_data();
1478
+
1479
+ // if no counts were returned, there's nothing to process
1480
+ if ( ! is_array( $response_data->getCounts() ) ) {
1481
+
1482
+ $this->set_attr( 'processed_square_variation_ids', array_merge( $processed_ids, $square_variation_ids ) );
1483
+ return;
1484
+ }
1485
+
1486
+ $in_progress['response_data'] = $response_data . '';
1487
+ }
1488
+
1489
+ foreach ( $response_data->getCounts() as $count ) {
1490
+
1491
+ if ( in_array( $count->getCatalogObjectId(), $in_progress['processed_variation_ids'], false ) ) {
1492
+ continue;
1493
+ }
1494
+
1495
+ if ( $this->is_time_exceeded() ) {
1496
+
1497
+ $this->set_attr( 'in_progress_pull_inventory', $in_progress );
1498
+
1499
+ wc_square()->log( 'Time exceeded (pull_inventory)' );
1500
+ return;
1501
+ }
1502
+
1503
+ // Square can return multiple "types" of counts, WooCommerce only distinguishes whether a product is in stock or not
1504
+ if ( 'IN_STOCK' === $count->getState() ) {
1505
+
1506
+ $product = Product::get_product_by_square_variation_id( $count->getCatalogObjectId() );
1507
+
1508
+ if ( $product instanceof \WC_Product ) {
1509
+ $product->set_manage_stock( true );
1510
+ $product->set_stock_quantity( $count->getQuantity() );
1511
+ $product->save();
1512
+ }
1513
+ }
1514
+
1515
+ $in_progress['processed_variation_ids'][] = $count->getCatalogObjectId();
1516
+
1517
+ $this->set_attr( 'in_progress_pull_inventory', $in_progress );
1518
+ }
1519
+
1520
+ $this->set_attr( 'processed_square_variation_ids', array_merge( $processed_ids, $in_progress['processed_variation_ids'] ) );
1521
+
1522
+ // clear any in-progress data
1523
+ $this->set_attr( 'in_progress_pull_inventory', [] );
1524
+ }
1525
+
1526
  /**
1527
  * Marks a set of products as failed to sync.
1528
  *
1621
  'update_matched_products',
1622
  'search_matched_products',
1623
  'upsert_new_products',
 
1624
  ];
1625
+
1626
+ // only handle product inventory if enabled
1627
+ if ( wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
1628
+ $next_steps[] = 'push_inventory';
1629
+ $next_steps[] = 'pull_inventory';
1630
+ }
1631
  }
1632
 
1633
  } elseif ( $this->is_system_of_record_square() ) {
1636
  'validate_products',
1637
  'square_sor_sync',
1638
  ];
1639
+
1640
+ // only pull product inventory if enabled
1641
+ if ( wc_square()->get_settings_handler()->is_inventory_sync_enabled() ) {
1642
+ $next_steps[] = 'pull_inventory';
1643
+ }
1644
  }
1645
 
1646
  $this->set_attr( 'next_steps', $next_steps );
includes/Utilities/Money_Utility.php CHANGED
@@ -50,7 +50,7 @@ class Money_Utility {
50
  public static function amount_to_money( $amount, $currency ) {
51
 
52
  return new \SquareConnect\Model\Money( [
53
- 'amount' => self::amount_to_cents( $amount ),
54
  'currency' => $currency,
55
  ] );
56
  }
@@ -62,11 +62,16 @@ class Money_Utility {
62
  * @since 2.0.0
63
  *
64
  * @param float $amount float amount to convert
 
65
  * @return int
66
  */
67
- public static function amount_to_cents( $amount ) {
68
 
69
- return (int) ( ( 10 ** wc_get_price_decimals() ) * $amount );
 
 
 
 
70
  }
71
 
72
 
@@ -76,11 +81,78 @@ class Money_Utility {
76
  * @since 2.0.0
77
  *
78
  * @param int $cents amount in cents
 
79
  * @return float
80
  */
81
- public static function cents_to_float( $cents ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
 
83
- return (float) ( $cents / ( 10 ** wc_get_price_decimals() ) );
 
 
 
 
 
 
 
 
84
  }
85
 
86
 
50
  public static function amount_to_money( $amount, $currency ) {
51
 
52
  return new \SquareConnect\Model\Money( [
53
+ 'amount' => self::amount_to_cents( $amount, $currency ),
54
  'currency' => $currency,
55
  ] );
56
  }
62
  * @since 2.0.0
63
  *
64
  * @param float $amount float amount to convert
65
+ * @param string $currency currency code for the amount
66
  * @return int
67
  */
68
+ public static function amount_to_cents( $amount, $currency = '' ) {
69
 
70
+ if ( ! $currency ) {
71
+ $currency = get_woocommerce_currency();
72
+ }
73
+
74
+ return (int) ( ( 10 ** self::get_currency_decimals( $currency ) ) * $amount );
75
  }
76
 
77
 
81
  * @since 2.0.0
82
  *
83
  * @param int $cents amount in cents
84
+ * @param string $currency currency code for the amount
85
  * @return float
86
  */
87
+ public static function cents_to_float( $cents, $currency = '' ) {
88
+
89
+ if ( ! $currency ) {
90
+ $currency = get_woocommerce_currency();
91
+ }
92
+
93
+ return (float) ( $cents / ( 10 ** self::get_currency_decimals( $currency ) ) );
94
+ }
95
+
96
+
97
+ /**
98
+ * Gets the standard number of decimals for the given currency.
99
+ *
100
+ * @since 2.0.2
101
+ *
102
+ * @param string $currency currency code
103
+ * @return int
104
+ */
105
+ public static function get_currency_decimals( $currency ) {
106
+
107
+ $other_currencies = [
108
+ 'BIF' => 0,
109
+ 'CLP' => 0,
110
+ 'DJF' => 0,
111
+ 'GNF' => 0,
112
+ 'HUF' => 0,
113
+ 'JPY' => 0,
114
+ 'KMF' => 0,
115
+ 'KRW' => 0,
116
+ 'MGA' => 0,
117
+ 'PYG' => 0,
118
+ 'RWF' => 0,
119
+ 'VND' => 0,
120
+ 'VUV' => 0,
121
+ 'XAF' => 0,
122
+ 'XOF' => 0,
123
+ 'XPF' => 0,
124
+ ];
125
+
126
+ if ( Framework\SV_WC_Plugin_Compatibility::is_wc_version_gte( '3.5' ) ) {
127
+
128
+ $locale_info = include( WC()->plugin_path() . '/i18n/locale-info.php' );
129
+
130
+ $currencies = wp_list_pluck( $locale_info, 'num_decimals', 'currency_code' );
131
+
132
+ // ensure the values set in local-info.php always override the above
133
+ $currencies = array_merge( $other_currencies, $currencies );
134
+
135
+ } else {
136
+
137
+ $currencies = [];
138
+ $currency_codes = get_woocommerce_currencies();
139
+
140
+ foreach ( $currency_codes as $code => $name ) {
141
+ $currencies[ $code ] = 2;
142
+ }
143
+
144
+ $currencies = array_merge( $currencies, $other_currencies );
145
+ }
146
 
147
+ /**
148
+ * Filters the number of decimals to use for a given currency when converting to or from its smallest denomination.
149
+ *
150
+ * @since 2.0.2
151
+ *
152
+ * @param int $decimals number of decimals
153
+ * @param string $currency currency code
154
+ */
155
+ return apply_filters( 'wc_square_currency_decimals', isset( $currencies[ $currency ] ) ? $currencies[ $currency ] : 2, $currency );
156
  }
157
 
158
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: credit card, square, woocommerce, inventory sync
4
  Requires at least: 4.6
5
  Tested up to: 5.2.0
6
  Requires PHP: 5.6
7
- Stable tag: 1.0.38
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -72,6 +72,14 @@ If you get stuck, you can ask for help in the [Plugin Forum](https://wordpress.o
72
 
73
  == Changelog ==
74
 
 
 
 
 
 
 
 
 
75
  = 2.0.2 - 2019.08.13 =
76
  * Tweak – WC 3.7 compatibility.
77
 
4
  Requires at least: 4.6
5
  Tested up to: 5.2.0
6
  Requires PHP: 5.6
7
+ Stable tag: 2.0.3
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
72
 
73
  == Changelog ==
74
 
75
+ = 2.0.3 - 2019.08.19 =
76
+ * Tweak - Re-introduce the "inventory sync" toggle to allow syncing product data without affecting inventory
77
+ * Fix - Adjust v1 upgrades to properly toggle inventory sync when not enabled in v1
78
+ * Fix - Ensure product prices are correctly converted to and from cents regardless of the decimal place setting
79
+ * Fix - Don't block the product stock management UI when product sync is disabled
80
+ * Fix - Ensure products that have multiple attributes that aren't used for variations can be synced
81
+ * Misc - Add support for WooCommerce 3.7
82
+
83
  = 2.0.2 - 2019.08.13 =
84
  * Tweak – WC 3.7 compatibility.
85
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInite107ddb09701c5bfa4c03e7854d385e4::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitdca653ba0a294778f151c44f73d7ca89::getLoader();
vendor/composer/ClassLoader.php CHANGED
@@ -279,7 +279,7 @@ class ClassLoader
279
  */
280
  public function setApcuPrefix($apcuPrefix)
281
  {
282
- $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
283
  }
284
 
285
  /**
279
  */
280
  public function setApcuPrefix($apcuPrefix)
281
  {
282
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
283
  }
284
 
285
  /**
vendor/composer/autoload_classmap.php CHANGED
@@ -3,7 +3,7 @@
3
  // autoload_classmap.php @generated by Composer
4
 
5
  $vendorDir = dirname(dirname(__FILE__));
6
- $baseDir = dirname(dirname($vendorDir));
7
 
8
  return array(
9
  );
3
  // autoload_classmap.php @generated by Composer
4
 
5
  $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  );
vendor/composer/autoload_namespaces.php CHANGED
@@ -3,7 +3,7 @@
3
  // autoload_namespaces.php @generated by Composer
4
 
5
  $vendorDir = dirname(dirname(__FILE__));
6
- $baseDir = dirname(dirname($vendorDir));
7
 
8
  return array(
9
  );
3
  // autoload_namespaces.php @generated by Composer
4
 
5
  $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  );
vendor/composer/autoload_psr4.php CHANGED
@@ -3,7 +3,7 @@
3
  // autoload_psr4.php @generated by Composer
4
 
5
  $vendorDir = dirname(dirname(__FILE__));
6
- $baseDir = dirname(dirname($vendorDir));
7
 
8
  return array(
9
  'SquareConnect\\' => array($vendorDir . '/square/connect/lib'),
3
  // autoload_psr4.php @generated by Composer
4
 
5
  $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  'SquareConnect\\' => array($vendorDir . '/square/connect/lib'),
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInite107ddb09701c5bfa4c03e7854d385e4
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInite107ddb09701c5bfa4c03e7854d385e4
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInite107ddb09701c5bfa4c03e7854d385e4', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInite107ddb09701c5bfa4c03e7854d385e4', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInite107ddb09701c5bfa4c03e7854d385e4::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitdca653ba0a294778f151c44f73d7ca89
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInitdca653ba0a294778f151c44f73d7ca89', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInitdca653ba0a294778f151c44f73d7ca89', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInitdca653ba0a294778f151c44f73d7ca89::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInite107ddb09701c5bfa4c03e7854d385e4
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
@@ -23,8 +23,8 @@ class ComposerStaticInite107ddb09701c5bfa4c03e7854d385e4
23
  public static function getInitializer(ClassLoader $loader)
24
  {
25
  return \Closure::bind(function () use ($loader) {
26
- $loader->prefixLengthsPsr4 = ComposerStaticInite107ddb09701c5bfa4c03e7854d385e4::$prefixLengthsPsr4;
27
- $loader->prefixDirsPsr4 = ComposerStaticInite107ddb09701c5bfa4c03e7854d385e4::$prefixDirsPsr4;
28
 
29
  }, null, ClassLoader::class);
30
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitdca653ba0a294778f151c44f73d7ca89
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
23
  public static function getInitializer(ClassLoader $loader)
24
  {
25
  return \Closure::bind(function () use ($loader) {
26
+ $loader->prefixLengthsPsr4 = ComposerStaticInitdca653ba0a294778f151c44f73d7ca89::$prefixLengthsPsr4;
27
+ $loader->prefixDirsPsr4 = ComposerStaticInitdca653ba0a294778f151c44f73d7ca89::$prefixDirsPsr4;
28
 
29
  }, null, ClassLoader::class);
30
  }
woocommerce-square.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * Plugin Name: WooCommerce Square
4
- * Version: 2.0.2
5
  * Plugin URI: https://woocommerce.com/products/square/
6
  * Description: Adds ability to sync inventory between WooCommerce and Square POS. In addition, you can also make purchases through the Square payment gateway.
7
  * Author: WooCommerce
@@ -19,7 +19,7 @@
19
  * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0
20
  *
21
  * WC requires at least: 3.0
22
- * WC tested up to: 3.7
23
  */
24
 
25
  defined( 'ABSPATH' ) or exit;
1
  <?php
2
  /**
3
  * Plugin Name: WooCommerce Square
4
+ * Version: 2.0.3
5
  * Plugin URI: https://woocommerce.com/products/square/
6
  * Description: Adds ability to sync inventory between WooCommerce and Square POS. In addition, you can also make purchases through the Square payment gateway.
7
  * Author: WooCommerce
19
  * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0
20
  *
21
  * WC requires at least: 3.0
22
+ * WC tested up to: 3.7.0
23
  */
24
 
25
  defined( 'ABSPATH' ) or exit;