spree_core 6.0.0.beta4 → 6.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/app/helpers/spree/images_helper.rb +0 -57
  4. data/app/jobs/spree/base_job.rb +21 -0
  5. data/app/jobs/spree/carts/reap_expired_job.rb +2 -2
  6. data/app/jobs/spree/collections/regenerate_time_based_job.rb +6 -3
  7. data/app/jobs/spree/orders/finalize_stale_drafts_job.rb +8 -5
  8. data/app/jobs/spree/payments/cancel_unused_sessions_job.rb +61 -0
  9. data/app/jobs/spree/seller_payouts/sweep_seller_job.rb +2 -0
  10. data/app/mailers/spree/admin_user_mailer.rb +4 -19
  11. data/app/mailers/spree/base_mailer.rb +96 -13
  12. data/app/mailers/spree/email_template_mailer.rb +27 -0
  13. data/app/mailers/spree/export_mailer.rb +3 -4
  14. data/app/mailers/spree/import_mailer.rb +3 -4
  15. data/app/mailers/spree/invitation_mailer.rb +24 -7
  16. data/app/mailers/spree/seller_user_mailer.rb +4 -16
  17. data/app/mailers/spree/webhook_mailer.rb +2 -2
  18. data/app/models/concerns/spree/acted_by.rb +1 -1
  19. data/app/models/concerns/spree/admin_user_methods.rb +13 -1
  20. data/app/models/concerns/spree/api_typed.rb +91 -0
  21. data/app/models/concerns/spree/calculator/tiers.rb +76 -0
  22. data/app/models/concerns/spree/customer_methods.rb +15 -14
  23. data/app/models/concerns/spree/email_template_identity.rb +52 -0
  24. data/app/models/concerns/spree/parameterizable_name.rb +2 -0
  25. data/app/models/concerns/spree/payment_session_transitions.rb +8 -2
  26. data/app/models/concerns/spree/post_sale/taxation.rb +54 -0
  27. data/app/models/concerns/spree/post_sale/taxed_line.rb +51 -0
  28. data/app/models/concerns/spree/preference_schema.rb +4 -12
  29. data/app/models/concerns/spree/product_scopes.rb +11 -1
  30. data/app/models/concerns/spree/provider_listing.rb +41 -0
  31. data/app/models/concerns/spree/publishable.rb +82 -14
  32. data/app/models/concerns/spree/purchase/addresses.rb +23 -10
  33. data/app/models/concerns/spree/purchase/currency.rb +1 -1
  34. data/app/models/concerns/spree/purchase/deprecated_aliases.rb +87 -0
  35. data/app/models/concerns/spree/purchase/gift_cards.rb +10 -4
  36. data/app/models/concerns/spree/purchase/locale.rb +1 -1
  37. data/app/models/concerns/spree/purchase/payment_processing.rb +7 -3
  38. data/app/models/concerns/spree/purchase/purchase_order.rb +2 -2
  39. data/app/models/concerns/spree/purchase/totals.rb +49 -1
  40. data/app/models/concerns/spree/receivable.rb +1 -1
  41. data/app/models/concerns/spree/searchable.rb +0 -4
  42. data/app/models/concerns/spree/secret_preferences.rb +59 -0
  43. data/app/models/concerns/spree/single_store_resource.rb +1 -1
  44. data/app/models/concerns/spree/stores/email_branding.rb +31 -0
  45. data/app/models/concerns/spree/type_labels.rb +38 -0
  46. data/app/models/concerns/spree/typed_adjustment_line.rb +1 -1
  47. data/app/models/concerns/spree/typed_associations.rb +6 -0
  48. data/app/models/spree/address.rb +11 -1
  49. data/app/models/spree/adjusters/promotion.rb +1 -15
  50. data/app/models/spree/allowed_origin.rb +0 -1
  51. data/app/models/spree/api_key.rb +5 -6
  52. data/app/models/spree/authentication/strategies/oidc_strategy.rb +5 -5
  53. data/app/models/spree/base.rb +70 -22
  54. data/app/models/spree/calculator/flat_percent_item_total.rb +1 -3
  55. data/app/models/spree/calculator/flat_rate.rb +1 -3
  56. data/app/models/spree/calculator/flexi_rate.rb +1 -3
  57. data/app/models/spree/calculator/percent_on_line_item.rb +1 -1
  58. data/app/models/spree/calculator/price_sack.rb +1 -3
  59. data/app/models/spree/calculator/shipping/digital_delivery.rb +1 -3
  60. data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +1 -3
  61. data/app/models/spree/calculator/shipping/flat_rate.rb +1 -3
  62. data/app/models/spree/calculator/shipping/flexi_rate.rb +1 -3
  63. data/app/models/spree/calculator/shipping/per_item.rb +1 -3
  64. data/app/models/spree/calculator/shipping/price_sack.rb +1 -3
  65. data/app/models/spree/calculator/tiered_flat_rate.rb +6 -23
  66. data/app/models/spree/calculator/tiered_percent.rb +7 -25
  67. data/app/models/spree/cart.rb +78 -18
  68. data/app/models/spree/channel/gating.rb +1 -1
  69. data/app/models/spree/channel.rb +4 -4
  70. data/app/models/spree/claim.rb +21 -1
  71. data/app/models/spree/claim_line_item.rb +41 -6
  72. data/app/models/spree/collection.rb +0 -1
  73. data/app/models/spree/collection_rule.rb +5 -21
  74. data/app/models/spree/commission_line.rb +1 -1
  75. data/app/models/spree/commission_rate.rb +2 -3
  76. data/app/models/spree/commission_rate_value.rb +1 -1
  77. data/app/models/spree/commission_rule.rb +4 -11
  78. data/app/models/spree/commission_rules/product_rule.rb +1 -1
  79. data/app/models/spree/company_invitation.rb +1 -0
  80. data/app/models/spree/consent_record.rb +0 -1
  81. data/app/models/spree/credit_card.rb +1 -1
  82. data/app/models/spree/current.rb +23 -0
  83. data/app/models/spree/custom_field.rb +2 -2
  84. data/app/models/spree/custom_field_definition.rb +9 -23
  85. data/app/models/spree/custom_fields/boolean.rb +1 -1
  86. data/app/models/spree/custom_fields/json.rb +1 -1
  87. data/app/models/spree/data_feed/google.rb +0 -2
  88. data/app/models/spree/data_request.rb +1 -1
  89. data/app/models/spree/delivery_method.rb +30 -13
  90. data/app/models/spree/delivery_method_rule.rb +4 -11
  91. data/app/models/spree/delivery_rate.rb +4 -5
  92. data/app/models/spree/delivery_rate_provider/base.rb +1 -0
  93. data/app/models/spree/delivery_zone.rb +0 -1
  94. data/app/models/spree/delivery_zone_member.rb +4 -4
  95. data/app/models/spree/digital_asset.rb +7 -0
  96. data/app/models/spree/digital_asset_provider/base.rb +2 -0
  97. data/app/models/spree/digital_link.rb +2 -5
  98. data/app/models/spree/discount.rb +1 -1
  99. data/app/models/spree/email_template.rb +25 -0
  100. data/app/models/spree/email_template_draft.rb +13 -0
  101. data/app/models/spree/email_template_revision.rb +17 -0
  102. data/app/models/spree/email_templates/entry.rb +118 -0
  103. data/app/models/spree/email_templates/sample_record.rb +16 -0
  104. data/app/models/spree/emails/branding.rb +80 -0
  105. data/app/models/spree/exchange.rb +15 -1
  106. data/app/models/spree/exchange_line_item.rb +121 -5
  107. data/app/models/spree/export.rb +0 -1
  108. data/app/models/spree/exports/products.rb +10 -1
  109. data/app/models/spree/exports/report.rb +1 -1
  110. data/app/models/spree/fee.rb +4 -2
  111. data/app/models/spree/fulfillment.rb +53 -27
  112. data/app/models/spree/fulfillment_changer.rb +2 -2
  113. data/app/models/spree/fulfillment_item.rb +0 -4
  114. data/app/models/spree/fulfillment_provider/base.rb +1 -0
  115. data/app/models/spree/gateway/bogus.rb +4 -0
  116. data/app/models/spree/gateway/custom_payment_source_method.rb +5 -0
  117. data/app/models/spree/gateway.rb +5 -1
  118. data/app/models/spree/gift_card.rb +12 -1
  119. data/app/models/spree/gift_card_batch.rb +0 -1
  120. data/app/models/spree/import.rb +2 -7
  121. data/app/models/spree/import_mapping.rb +1 -2
  122. data/app/models/spree/import_row.rb +2 -2
  123. data/app/models/spree/import_schemas/products.rb +1 -0
  124. data/app/models/spree/integration.rb +8 -18
  125. data/app/models/spree/invitation.rb +5 -5
  126. data/app/models/spree/line_item.rb +13 -2
  127. data/app/models/spree/locale.rb +11 -8
  128. data/app/models/spree/market.rb +1 -0
  129. data/app/models/spree/newsletter_subscriber.rb +3 -0
  130. data/app/models/spree/order.rb +56 -138
  131. data/app/models/spree/order_group.rb +11 -2
  132. data/app/models/spree/order_inventory.rb +10 -5
  133. data/app/models/spree/order_promotion.rb +1 -1
  134. data/app/models/spree/order_routing/has_strategy_preference.rb +1 -1
  135. data/app/models/spree/order_routing/strategy/base.rb +4 -2
  136. data/app/models/spree/order_routing/strategy/rules.rb +1 -1
  137. data/app/models/spree/order_routing_rule.rb +6 -22
  138. data/app/models/spree/package_type.rb +1 -2
  139. data/app/models/spree/payment/gateway_options.rb +14 -52
  140. data/app/models/spree/payment/processing.rb +2 -4
  141. data/app/models/spree/payment.rb +20 -5
  142. data/app/models/spree/payment_method/session_instrumentation.rb +1 -0
  143. data/app/models/spree/payment_method/store_credit.rb +4 -4
  144. data/app/models/spree/payment_method.rb +36 -4
  145. data/app/models/spree/payment_session.rb +5 -1
  146. data/app/models/spree/payment_setup_session.rb +1 -0
  147. data/app/models/spree/payout_provider/base.rb +3 -1
  148. data/app/models/spree/pickup_point_provider/base.rb +2 -0
  149. data/app/models/spree/price_list.rb +1 -2
  150. data/app/models/spree/price_rules/channel_rule.rb +1 -1
  151. data/app/models/spree/price_rules/customer_group_rule.rb +1 -1
  152. data/app/models/spree/product.rb +31 -7
  153. data/app/models/spree/product_submission.rb +0 -12
  154. data/app/models/spree/product_type.rb +0 -1
  155. data/app/models/spree/promotion/actions/create_line_items.rb +27 -17
  156. data/app/models/spree/promotion/rules/category.rb +0 -4
  157. data/app/models/spree/promotion/rules/channel.rb +0 -4
  158. data/app/models/spree/promotion/rules/country.rb +0 -4
  159. data/app/models/spree/promotion/rules/currency.rb +0 -4
  160. data/app/models/spree/promotion/rules/customer_group.rb +0 -4
  161. data/app/models/spree/promotion/rules/first_order.rb +0 -4
  162. data/app/models/spree/promotion/rules/item_total.rb +4 -8
  163. data/app/models/spree/promotion/rules/market.rb +0 -4
  164. data/app/models/spree/promotion/rules/one_use_per_user.rb +0 -4
  165. data/app/models/spree/promotion/rules/option_value.rb +0 -3
  166. data/app/models/spree/promotion/rules/product.rb +0 -4
  167. data/app/models/spree/promotion/rules/user.rb +0 -4
  168. data/app/models/spree/promotion/rules/user_logged_in.rb +0 -4
  169. data/app/models/spree/promotion.rb +35 -6
  170. data/app/models/spree/promotion_action.rb +7 -14
  171. data/app/models/spree/promotion_action_line_item.rb +1 -1
  172. data/app/models/spree/promotion_handler/coupon.rb +59 -27
  173. data/app/models/spree/promotion_rule.rb +7 -14
  174. data/app/models/spree/purchase_order.rb +1 -0
  175. data/app/models/spree/quantity_rule.rb +1 -1
  176. data/app/models/spree/refund.rb +28 -3
  177. data/app/models/spree/return.rb +30 -2
  178. data/app/models/spree/return_line_item.rb +65 -14
  179. data/app/models/spree/role.rb +7 -7
  180. data/app/models/spree/saved_report.rb +1 -1
  181. data/app/models/spree/seller.rb +2 -1
  182. data/app/models/spree/seller_payout.rb +7 -0
  183. data/app/models/spree/seller_requirement.rb +4 -12
  184. data/app/models/spree/seller_requirement_custom_field.rb +1 -2
  185. data/app/models/spree/seller_requirement_submission.rb +2 -2
  186. data/app/models/spree/seller_requirements/accept_terms.rb +2 -3
  187. data/app/models/spree/seller_transfer.rb +5 -0
  188. data/app/models/spree/shipping_label.rb +1 -0
  189. data/app/models/spree/stock/availability_validator.rb +2 -2
  190. data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
  191. data/app/models/spree/stock/packer.rb +2 -2
  192. data/app/models/spree/stock/splitter/weight.rb +1 -1
  193. data/app/models/spree/stock_level/custom_events.rb +6 -0
  194. data/app/models/spree/stock_level.rb +1 -1
  195. data/app/models/spree/stock_movement.rb +1 -1
  196. data/app/models/spree/stock_receipt_item.rb +1 -1
  197. data/app/models/spree/stock_reservation.rb +2 -2
  198. data/app/models/spree/stock_transfer.rb +4 -2
  199. data/app/models/spree/store.rb +33 -7
  200. data/app/models/spree/store_credit.rb +8 -9
  201. data/app/models/spree/store_credit_event.rb +5 -5
  202. data/app/models/spree/tax_exemption_certificate.rb +2 -0
  203. data/app/models/spree/tax_identifier.rb +3 -1
  204. data/app/models/spree/tax_line.rb +53 -3
  205. data/app/models/spree/tax_provider/base.rb +71 -14
  206. data/app/models/spree/tax_provider/internal.rb +59 -33
  207. data/app/models/spree/tax_provider/recorded_share.rb +114 -0
  208. data/app/models/spree/tax_rate.rb +1 -2
  209. data/app/models/spree/taxonomy.rb +0 -1
  210. data/app/models/spree/variant.rb +4 -3
  211. data/app/models/spree/variant_media.rb +1 -1
  212. data/app/models/spree/webhook_endpoint.rb +10 -13
  213. data/app/models/spree/wishlist.rb +1 -6
  214. data/app/models/spree/wishlist_item/custom_events.rb +6 -0
  215. data/app/presenters/spree/csv/customer_presenter.rb +1 -1
  216. data/app/presenters/spree/csv/newsletter_subscriber_presenter.rb +1 -1
  217. data/app/presenters/spree/csv/order_line_item_presenter.rb +1 -1
  218. data/app/presenters/spree/csv/product_variant_presenter.rb +42 -12
  219. data/app/serializers/spree/emails/base_serializer.rb +14 -0
  220. data/app/serializers/spree/emails/export_serializer.rb +13 -0
  221. data/app/serializers/spree/emails/import_serializer.rb +19 -0
  222. data/app/serializers/spree/emails/invitation_serializer.rb +28 -0
  223. data/app/serializers/spree/emails/store_serializer.rb +31 -0
  224. data/app/serializers/spree/emails/user_serializer.rb +12 -0
  225. data/app/serializers/spree/emails/webhook_endpoint_serializer.rb +16 -0
  226. data/app/services/spree/carts/create.rb +8 -2
  227. data/app/services/spree/carts/destroy.rb +2 -2
  228. data/app/services/spree/carts/remove_out_of_stock_items.rb +2 -2
  229. data/app/services/spree/carts/split_by_seller.rb +1 -1
  230. data/app/services/spree/carts/update.rb +19 -5
  231. data/app/services/spree/catalogs/set_product_terms.rb +1 -1
  232. data/app/services/spree/categories/add_products.rb +13 -31
  233. data/app/services/spree/categories/remove_products.rb +12 -51
  234. data/app/services/spree/checkout/advance.rb +1 -4
  235. data/app/services/spree/collections/add_products.rb +10 -23
  236. data/app/services/spree/collections/remove_products.rb +7 -43
  237. data/app/services/spree/coupon_codes/bulk_generate.rb +8 -14
  238. data/app/services/spree/data_requests/create.rb +1 -1
  239. data/app/services/spree/deliveries/destroy.rb +2 -2
  240. data/app/services/spree/email_templates/check.rb +58 -0
  241. data/app/services/spree/email_templates/no_sample_record.rb +7 -0
  242. data/app/services/spree/email_templates/preview.rb +99 -0
  243. data/app/services/spree/emails/file_system.rb +23 -0
  244. data/app/services/spree/emails/filters.rb +84 -0
  245. data/app/services/spree/emails/liquid_context.rb +48 -0
  246. data/app/services/spree/emails/rendered_email.rb +14 -0
  247. data/app/services/spree/emails/renderer.rb +125 -0
  248. data/app/services/spree/emails/template.rb +51 -0
  249. data/app/services/spree/emails/template_data.rb +23 -0
  250. data/app/services/spree/emails/template_resolver.rb +109 -0
  251. data/app/services/spree/emails/text_converter.rb +72 -0
  252. data/app/services/spree/emails/translation_inliner.rb +134 -0
  253. data/app/services/spree/imports/row_processors/price_list_price.rb +10 -10
  254. data/app/services/spree/imports/row_processors/product_variant.rb +65 -34
  255. data/app/services/spree/imports/row_processors/purchase_order.rb +13 -13
  256. data/app/services/spree/locales.rb +4 -5
  257. data/app/services/spree/newsletter/subscribe.rb +8 -12
  258. data/app/services/spree/orders/build_fulfillments.rb +3 -2
  259. data/app/services/spree/orders/create.rb +2 -1
  260. data/app/services/spree/orders/discounts/create.rb +7 -4
  261. data/app/services/spree/orders/discounts/destroy.rb +1 -0
  262. data/app/services/spree/orders/discounts/update.rb +1 -0
  263. data/app/services/spree/orders/fees/create.rb +1 -0
  264. data/app/services/spree/orders/fees/destroy.rb +1 -0
  265. data/app/services/spree/orders/fees/update.rb +1 -0
  266. data/app/services/spree/orders/remove_line_item.rb +13 -3
  267. data/app/services/spree/orders/update.rb +10 -6
  268. data/app/services/spree/orders/update_item.rb +6 -3
  269. data/app/services/spree/orders/update_statuses.rb +3 -1
  270. data/app/services/spree/product_memberships.rb +61 -0
  271. data/app/services/spree/returns/eligibility_validator.rb +1 -1
  272. data/app/services/spree/search_provider/custom_field_schema.rb +2 -2
  273. data/app/services/spree/seeds/commission_rates.rb +1 -1
  274. data/app/services/spree/seeds/digital_delivery.rb +1 -1
  275. data/app/services/spree/seeds/payment_methods.rb +2 -2
  276. data/app/services/spree/seeds/saved_reports.rb +3 -3
  277. data/app/services/spree/sellers/requirements.rb +1 -2
  278. data/app/services/spree/shipping_labels/confirm_refund.rb +1 -1
  279. data/app/services/spree/shipping_labels/store_file.rb +3 -3
  280. data/app/services/spree/stock_levels/correct.rb +3 -3
  281. data/app/services/spree/stock_reservations/reserve.rb +2 -3
  282. data/app/services/spree/store_credits/apply.rb +15 -13
  283. data/app/services/spree/stores/provision_defaults.rb +15 -14
  284. data/app/subscribers/spree/seller_onboarding_subscriber.rb +1 -1
  285. data/app/views/layouts/spree/base_mailer.html.erb +2 -43
  286. data/app/views/layouts/spree/base_mailer.liquid +79 -0
  287. data/app/views/spree/admin_user_mailer/password_reset_email.liquid +14 -0
  288. data/app/views/spree/export_mailer/export_done.liquid +12 -0
  289. data/app/views/spree/import_mailer/import_done.liquid +15 -0
  290. data/app/views/spree/invitation_mailer/invitation_accepted.liquid +9 -0
  291. data/app/views/spree/invitation_mailer/invitation_email.liquid +13 -0
  292. data/app/views/spree/seller_user_mailer/password_reset_email.liquid +14 -0
  293. data/app/views/spree/shared/_mailer_button.html.erb +4 -5
  294. data/app/views/spree/shared/_mailer_hero.html.erb +6 -5
  295. data/app/views/spree/shared/_summary_row.liquid +8 -0
  296. data/app/views/spree/webhook_mailer/endpoint_disabled.liquid +21 -0
  297. data/app/workflows/spree/carts/add_item.rb +4 -4
  298. data/app/workflows/spree/carts/complete.rb +13 -3
  299. data/app/workflows/spree/carts/merge.rb +1 -1
  300. data/app/workflows/spree/carts/recalculate_totals.rb +5 -0
  301. data/app/workflows/spree/carts/upsert_items.rb +18 -9
  302. data/app/workflows/spree/claims/approve.rb +5 -22
  303. data/app/workflows/spree/claims/cancel.rb +5 -21
  304. data/app/workflows/spree/claims/create.rb +15 -0
  305. data/app/workflows/spree/claims/deny.rb +7 -0
  306. data/app/workflows/spree/claims/resolve.rb +34 -31
  307. data/app/workflows/spree/customers/anonymize.rb +3 -4
  308. data/app/workflows/spree/customers/create.rb +1 -1
  309. data/app/workflows/spree/data_requests/fulfill.rb +2 -2
  310. data/app/workflows/spree/deliveries/update_tracking.rb +1 -1
  311. data/app/workflows/spree/email_templates/discard_draft.rb +20 -0
  312. data/app/workflows/spree/email_templates/publish.rb +70 -0
  313. data/app/workflows/spree/email_templates/restore_revision.rb +33 -0
  314. data/app/workflows/spree/email_templates/revert.rb +29 -0
  315. data/app/workflows/spree/email_templates/save_draft.rb +85 -0
  316. data/app/workflows/spree/exchanges/approve.rb +5 -22
  317. data/app/workflows/spree/exchanges/cancel.rb +5 -21
  318. data/app/workflows/spree/exchanges/create.rb +6 -0
  319. data/app/workflows/spree/exchanges/fulfill.rb +75 -51
  320. data/app/workflows/spree/exchanges/receive.rb +6 -65
  321. data/app/workflows/spree/fulfillments/cancel.rb +1 -1
  322. data/app/workflows/spree/fulfillments/create.rb +51 -47
  323. data/app/workflows/spree/fulfillments/fulfill.rb +23 -27
  324. data/app/workflows/spree/fulfillments/mark_delivered.rb +1 -1
  325. data/app/workflows/spree/fulfillments/replacements.rb +59 -0
  326. data/app/workflows/spree/gift_cards/apply.rb +2 -2
  327. data/app/workflows/spree/orders/add_item.rb +5 -1
  328. data/app/workflows/spree/orders/cancel.rb +3 -3
  329. data/app/workflows/spree/orders/complete.rb +16 -8
  330. data/app/workflows/spree/payments/process.rb +2 -2
  331. data/app/workflows/spree/post_sale/approval.rb +35 -0
  332. data/app/workflows/spree/post_sale/cancellation.rb +44 -0
  333. data/app/workflows/spree/post_sale/receipt.rb +92 -0
  334. data/app/workflows/spree/products/nested_attributes.rb +1 -1
  335. data/app/workflows/spree/purchase_orders/cancel.rb +1 -1
  336. data/app/workflows/spree/purchase_orders/close.rb +3 -31
  337. data/app/workflows/spree/purchase_orders/mark_draft.rb +2 -2
  338. data/app/workflows/spree/purchase_orders/mark_ordered.rb +2 -2
  339. data/app/workflows/spree/purchase_orders/receive.rb +1 -1
  340. data/app/workflows/spree/purchase_orders/update.rb +5 -34
  341. data/app/workflows/spree/receivables/closing_short.rb +46 -0
  342. data/app/workflows/spree/receivables/draft_editing.rb +48 -0
  343. data/app/workflows/spree/refunds/create.rb +5 -2
  344. data/app/workflows/spree/refunds/order_payments.rb +14 -2
  345. data/app/workflows/spree/refunds/tax_credit.rb +67 -0
  346. data/app/workflows/spree/returns/approve.rb +5 -22
  347. data/app/workflows/spree/returns/cancel.rb +5 -22
  348. data/app/workflows/spree/returns/create.rb +8 -0
  349. data/app/workflows/spree/returns/receive.rb +5 -76
  350. data/app/workflows/spree/returns/refund.rb +31 -8
  351. data/app/workflows/spree/seller_requirement_submissions/create.rb +1 -2
  352. data/app/workflows/spree/seller_transfers/reverse.rb +28 -1
  353. data/app/workflows/spree/shipping_labels/purchase.rb +8 -8
  354. data/app/workflows/spree/shipping_labels/record.rb +5 -5
  355. data/app/workflows/spree/shipping_labels/refund.rb +2 -2
  356. data/app/workflows/spree/stock_receipts/recording.rb +4 -4
  357. data/app/workflows/spree/stock_transfers/cancel.rb +2 -2
  358. data/app/workflows/spree/stock_transfers/close.rb +3 -30
  359. data/app/workflows/spree/stock_transfers/mark_draft.rb +1 -1
  360. data/app/workflows/spree/stock_transfers/mark_in_transit.rb +3 -3
  361. data/app/workflows/spree/stock_transfers/mark_ready.rb +2 -2
  362. data/app/workflows/spree/stock_transfers/receive.rb +1 -1
  363. data/app/workflows/spree/stock_transfers/update.rb +5 -33
  364. data/config/i18n-tasks.yml +32 -18
  365. data/config/initializers/alba.rb +7 -0
  366. data/config/language_names.csv +264 -0
  367. data/config/locales/ar.yml +811 -0
  368. data/config/locales/be.yml +855 -0
  369. data/config/locales/bg.yml +723 -0
  370. data/config/locales/ca.yml +689 -0
  371. data/config/locales/cs.yml +855 -0
  372. data/config/locales/da.yml +771 -0
  373. data/config/locales/de-CH.yml +248 -0
  374. data/config/locales/de.yml +835 -0
  375. data/config/locales/el.yml +769 -0
  376. data/config/locales/en.yml +37 -503
  377. data/config/locales/es-CL.yml +301 -0
  378. data/config/locales/es-EC.yml +186 -0
  379. data/config/locales/es-MX.yml +334 -0
  380. data/config/locales/es.yml +831 -0
  381. data/config/locales/et.yml +644 -0
  382. data/config/locales/fa.yml +709 -0
  383. data/config/locales/fi.yml +771 -0
  384. data/config/locales/fr.yml +830 -0
  385. data/config/locales/hu.yml +751 -0
  386. data/config/locales/id.yml +756 -0
  387. data/config/locales/it.yml +833 -0
  388. data/config/locales/ja.yml +726 -0
  389. data/config/locales/km.yml +759 -0
  390. data/config/locales/ko.yml +575 -0
  391. data/config/locales/ku.yml +753 -0
  392. data/config/locales/lt.yml +821 -0
  393. data/config/locales/lv.yml +685 -0
  394. data/config/locales/nb.yml +824 -0
  395. data/config/locales/ne.yml +823 -0
  396. data/config/locales/nl.yml +826 -0
  397. data/config/locales/pl.yml +835 -0
  398. data/config/locales/pt-BR.yml +547 -0
  399. data/config/locales/pt.yml +636 -0
  400. data/config/locales/ro.yml +750 -0
  401. data/config/locales/ru.yml +834 -0
  402. data/config/locales/sk.yml +680 -0
  403. data/config/locales/sl-SI.yml +600 -0
  404. data/config/locales/sv.yml +827 -0
  405. data/config/locales/th.yml +745 -0
  406. data/config/locales/tr.yml +777 -0
  407. data/config/locales/uk.yml +836 -0
  408. data/config/locales/vi.yml +768 -0
  409. data/config/locales/zh-CN.yml +786 -0
  410. data/config/locales/zh-TW.yml +834 -0
  411. data/db/migrate/20260925000001_add_replacement_to_spree_fulfillment_items.rb +5 -0
  412. data/db/migrate/20261001000001_add_post_sale_tax.rb +30 -0
  413. data/db/migrate/20261001000001_convert_preferences_to_json.rb +166 -0
  414. data/db/migrate/20261001000001_create_spree_email_templates.rb +52 -0
  415. data/lib/generators/spree/dummy/dummy_generator.rb +0 -9
  416. data/lib/generators/spree/dummy/templates/rails/test.rb +7 -0
  417. data/lib/spree/checkout/default_requirements.rb +37 -13
  418. data/lib/spree/core/configuration.rb +1 -1
  419. data/lib/spree/core/controller_helpers/store.rb +1 -1
  420. data/lib/spree/core/dependencies.rb +5 -4
  421. data/lib/spree/core/emails/escaped_output.rb +60 -0
  422. data/lib/spree/core/engine.rb +48 -167
  423. data/lib/spree/core/permissions/default_catalog.rb +5 -0
  424. data/lib/spree/core/preferences/json_conversion.rb +182 -0
  425. data/lib/spree/core/preferences/masking.rb +4 -1
  426. data/lib/spree/core/preferences/preferable.rb +137 -83
  427. data/lib/spree/core/preferences/preferable_class_methods.rb +81 -146
  428. data/lib/spree/core/previews/import_preview.rb +10 -0
  429. data/lib/spree/core/tax/provider_error.rb +37 -0
  430. data/lib/spree/core/version.rb +1 -1
  431. data/lib/spree/core.rb +85 -370
  432. data/lib/spree/emails/editable_templates.rb +82 -0
  433. data/lib/spree/events/catalog.rb +189 -0
  434. data/lib/spree/events.rb +21 -1
  435. data/lib/spree/hooks.rb +0 -17
  436. data/lib/spree/i18n.rb +32 -15
  437. data/lib/spree/reporting/adapters/live.rb +6 -6
  438. data/lib/spree/reporting/default_vocabulary.rb +22 -10
  439. data/lib/spree/reporting/hydration.rb +1 -1
  440. data/lib/spree/reporting/query.rb +8 -0
  441. data/lib/spree/reporting/schema.rb +10 -10
  442. data/lib/spree/testing_support/editable_email_templates.rb +61 -0
  443. data/lib/spree/testing_support/emails.rb +22 -0
  444. data/lib/spree/testing_support/factories/cart_factory.rb +1 -1
  445. data/lib/spree/testing_support/factories/email_template_factory.rb +28 -0
  446. data/lib/spree/testing_support/factories/order_factory.rb +2 -2
  447. data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
  448. data/lib/spree/testing_support/factories/stock_factory.rb +1 -1
  449. data/lib/spree/testing_support/factories/variant_factory.rb +1 -1
  450. data/lib/spree/testing_support/i18n.rb +3 -94
  451. data/lib/spree/testing_support/lifecycle_events.rb +1 -1
  452. data/lib/spree/testing_support/order_walkthrough.rb +1 -1
  453. data/lib/spree/testing_support/preferences.rb +0 -5
  454. data/lib/spree/testing_support/store.rb +9 -1
  455. data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +45 -0
  456. data/lib/tasks/categories_and_collections.rake +3 -3
  457. data/lib/tasks/core.rake +6 -4
  458. data/lib/tasks/media.rake +3 -3
  459. data/lib/tasks/package_types.rake +1 -1
  460. data/lib/tasks/preferences_json.rake +101 -0
  461. data/spec/fixtures/mailer_views/custom_views_probe_mailer/welcome_email.html.erb +4 -0
  462. metadata +188 -44
  463. data/app/models/acts_as_taggable_on/tag_decorator.rb +0 -10
  464. data/app/models/concerns/spree/has_image_alt_text.rb +0 -18
  465. data/app/models/spree/base_analytics_event_handler.rb +0 -54
  466. data/app/models/spree/invitations/store.rb +0 -6
  467. data/app/models/spree/preference.rb +0 -14
  468. data/app/models/spree/promotion_handler/page.rb +0 -25
  469. data/app/models/spree/promotion_handler/promotion_duplicator.rb +0 -60
  470. data/app/models/spree/stock/differentiator.rb +0 -45
  471. data/app/presenters/spree/filters/options_presenter.rb +0 -47
  472. data/app/services/spree/carts/empty.rb +0 -42
  473. data/app/services/spree/country_to_timezone.rb +0 -273
  474. data/app/services/spree/payments/create.rb +0 -92
  475. data/app/validators/spree/url_validator.rb +0 -23
  476. data/app/views/active_storage/blobs/_blob.html.erb +0 -14
  477. data/app/views/spree/admin_user_mailer/password_reset_email.html.erb +0 -8
  478. data/app/views/spree/export_mailer/export_done.html.erb +0 -7
  479. data/app/views/spree/import_mailer/import_done.html.erb +0 -12
  480. data/app/views/spree/invitation_mailer/invitation_accepted.html.erb +0 -4
  481. data/app/views/spree/invitation_mailer/invitation_email.html.erb +0 -12
  482. data/app/views/spree/seller_user_mailer/password_reset_email.html.erb +0 -8
  483. data/app/views/spree/shared/_base_mailer_footer.html.erb +0 -19
  484. data/app/views/spree/shared/_base_mailer_header.html.erb +0 -8
  485. data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +0 -399
  486. data/app/views/spree/shared/_mailer_logo.html.erb +0 -41
  487. data/app/views/spree/shared/_purchased_items_styles.html.erb +0 -119
  488. data/app/views/spree/webhook_mailer/endpoint_disabled.html.erb +0 -51
  489. data/app/views/spree/webhook_mailer/endpoint_disabled.text.erb +0 -10
  490. data/app/workflows/spree/fulfillments/purchase_label.rb +0 -40
  491. data/app/workflows/spree/returns/purchase_label.rb +0 -32
  492. data/lib/spree/analytics.rb +0 -11
  493. data/lib/spree/core/preferences/scoped_store.rb +0 -34
  494. data/lib/spree/core/preferences/store.rb +0 -105
  495. data/lib/spree/translation_migrations.rb +0 -52
@@ -0,0 +1,835 @@
1
+ ---
2
+ pl:
3
+ activemodel:
4
+ errors:
5
+ messages:
6
+ blank: nie może być puste
7
+ activerecord:
8
+ attributes:
9
+ spree/address:
10
+ address1: Adres
11
+ address2: Adres (cd.)
12
+ city: Miasto
13
+ company: Company
14
+ country: Państwo
15
+ label: Nazwa adresu
16
+ phone: Telefon
17
+ state: Województwo
18
+ spree/calculator/tiered_flat_rate:
19
+ preferred_base_amount: Preferowana podstawowa kwota
20
+ preferred_tiers: Preferowane poziomy
21
+ spree/calculator/tiered_percent:
22
+ preferred_base_percent: Preferowany podstawowy procent
23
+ preferred_tiers: Preferowane poziomy
24
+ spree/country:
25
+ iso: ISO
26
+ iso3: ISO3
27
+ iso_name: Nazwa ISO
28
+ name: Nazwa
29
+ numcode: Kod ISO
30
+ spree/credit_card:
31
+ base: Baza
32
+ cc_type: Typ
33
+ month: Miesiąc
34
+ name: Nazwa
35
+ number: Numer
36
+ verification_value: Wartość weryfikacyjna
37
+ year: Rok
38
+ spree/customer_group:
39
+ description: Opis
40
+ name: Nazwa
41
+ spree/gift_card:
42
+ amount_used: Wykorzystana kwota
43
+ expires_at: Wygasa
44
+ spree/import:
45
+ preferred_delimiter: Separator
46
+ spree/import_mapping:
47
+ file_column: Kolumna pliku
48
+ schema_field: Pole schematu
49
+ spree/import_row:
50
+ row_number: Numer
51
+ spree/inventory_unit:
52
+ state: Stan
53
+ spree/invitation:
54
+ inviter: Zapraszający
55
+ spree/line_item:
56
+ price: Cena
57
+ quantity: Ilość
58
+ spree/option_type:
59
+ filterable: Filtrowalny
60
+ kind: Rodzaj
61
+ name: Nazwa
62
+ spree/option_value:
63
+ color_code: Kod koloru
64
+ image: Obraz próbki
65
+ spree/order:
66
+ checkout_complete: Zamówienie zakończone
67
+ completed_at: Zakończone o
68
+ considered_risky: Ryzykowne
69
+ coupon_code: Kod kuponu
70
+ created_at: Data zamówienia
71
+ email: E-mail klienta
72
+ internal_note: Notatka wewnętrzna
73
+ ip_address: Adres IP
74
+ item_count: Pozycje
75
+ item_total: Towar razem
76
+ number: Ilość
77
+ payment_state: Stan płatności
78
+ shipment_state: Stan wysyłki
79
+ special_instructions: Specjalne instrukcje
80
+ state: Stan
81
+ total: Razem
82
+ spree/order/bill_address:
83
+ address1: Ulica na fakturze
84
+ city: Miasto na fakturze
85
+ phone: Telefon na fakturze
86
+ state: Województwo na fakturze
87
+ spree/order/ship_address:
88
+ address1: Ulica do wysyłki
89
+ city: Miasto do wysyłki
90
+ phone: Telefon do wysyłki
91
+ state: Województwo do wysyłki
92
+ spree/payment:
93
+ amount: Wartość
94
+ number: Numer
95
+ spree/payment_method:
96
+ name: Nazwa
97
+ spree/policy:
98
+ body: Treść
99
+ owner: Regulamin dla
100
+ spree/price_list:
101
+ description: Opis
102
+ ends_at: Kończy się
103
+ match_policy: Reguła dopasowania
104
+ name: Nazwa
105
+ priority: Priorytet
106
+ starts_at: Rozpoczyna się
107
+ status: Status
108
+ spree/price_rule:
109
+ priority: Priorytet
110
+ type: Typ
111
+ spree/product:
112
+ available_on: Dostępne od
113
+ cost_currency: Waluta kosztu
114
+ cost_price: Cena kosztu
115
+ description: Opis
116
+ discontinue_on: Przerwij w dniu
117
+ less_than: Mniej niż
118
+ make_active_at: Aktywuj o
119
+ master_price: Cena podstawowa
120
+ more_than: Więcej niż
121
+ name: Nazwa
122
+ on_hand: W magazynie
123
+ tax_category: Kategoria podatku
124
+ spree/promotion:
125
+ advertise: Zareklamuj
126
+ code: Kod
127
+ description: Opis
128
+ event_name: Nazwa zdarzenia
129
+ expires_at: Data wygaśnięcia
130
+ generate_code: Wygeneruj kod kuponu
131
+ name: Nazwa
132
+ path: Ścieżka
133
+ promotion_category: Kategoria Promocji
134
+ starts_at: Data rozpoczęcia
135
+ usage_limit: Limit wykorzystania
136
+ spree/promotion_category:
137
+ code: Code
138
+ name: Nazwa
139
+ spree/property:
140
+ name: Nazwa
141
+ presentation: Prezentacja
142
+ spree/role:
143
+ name: Nazwa
144
+ spree/shipment:
145
+ number: Liczba
146
+ spree/state:
147
+ abbr: Skrót
148
+ name: Nazwa
149
+ spree/store:
150
+ address: Adres
151
+ contact_phone: Telefon kontaktowy
152
+ mail_from_address: Adres email nadawcy
153
+ meta_description: Meta opis
154
+ meta_keywords: Meta słowa kluczowe
155
+ name: Nazwa
156
+ preferred_digital_asset_authorized_clicks: Limit kliknięć pobierania
157
+ preferred_digital_asset_authorized_days: Limit dni pobierania
158
+ preferred_limit_digital_download_count: Limit liczby pobrań plików cyfrowych
159
+ preferred_limit_digital_download_days: Limit dni pobierania plików cyfrowych
160
+ seo_robots: Roboty SEO
161
+ seo_title: Tytuł SEO
162
+ storefront_custom_code_body_end: Własny kod przed zamykającym tagiem body
163
+ storefront_custom_code_body_start: Własny kod po otwierającym tagu body
164
+ storefront_custom_code_head: Własny kod w sekcji head strony
165
+ url: URL
166
+ spree/store_credit:
167
+ amount_used: Wykorzystana kwota
168
+ spree/tax_category:
169
+ description: Opis
170
+ name: Nazwa
171
+ spree/tax_rate:
172
+ amount: Stawka
173
+ included_in_price: Ujęty w cenie
174
+ show_rate_in_label: Pokaż stawkę w etykiecie
175
+ spree/taxon:
176
+ name: Nazwa
177
+ permalink: Stały link
178
+ position: Pozycja
179
+ sort_order: Kolejność sortowania
180
+ spree/taxonomy:
181
+ name: Nazwa
182
+ spree/user:
183
+ avatar: Awatar
184
+ email: E-mail
185
+ password: Hasło
186
+ password_confirmation: Potwierdzenie hasła
187
+ spree/variant:
188
+ cost_currency: Waluta kosztu
189
+ cost_price: o
190
+ depth: Długość
191
+ height: Wysokość
192
+ price: Cena
193
+ sku: SKU
194
+ weight: Waga
195
+ width: Szerość
196
+ spree/zone:
197
+ description: Opis
198
+ name: Nazwa
199
+ user:
200
+ current_sign_in: Bieżące logowanie o
201
+ last_sign_in: Ostatnie logowanie o
202
+ sign_in_count: Liczba logowań
203
+ errors:
204
+ messages:
205
+ blank: nie może być puste
206
+ models:
207
+ spree/allowed_origin:
208
+ attributes:
209
+ origin:
210
+ must_be_origin_only: musi być źródłem (schemat i host) bez ścieżki, zapytania ani fragmentu
211
+ spree/classification:
212
+ attributes:
213
+ taxon_id:
214
+ already_linked: jest już połączony z tym produktem
215
+ spree/credit_card:
216
+ attributes:
217
+ base:
218
+ card_expired: Ważność karty wygasła
219
+ expiry_invalid: Nieprawidłowa data wygaśnięcia ważności karty
220
+ spree/gift_card:
221
+ attributes:
222
+ base:
223
+ cannot_destroy_used_gift_card: Nie można usunąć wykorzystanej karty podarunkowej
224
+ spree/import:
225
+ attributes:
226
+ attachment:
227
+ content_type: ma niedozwolony typ zawartości
228
+ type:
229
+ inclusion: nie znajduje się na liście dozwolonych typów
230
+ spree/line_item:
231
+ attributes:
232
+ currency:
233
+ must_match_order_currency: Musi odpowiadać walucie zamówienia
234
+ spree/market:
235
+ attributes:
236
+ base:
237
+ cannot_destroy_default_market: Nie można usunąć domyślnego rynku.
238
+ cannot_destroy_last_market: Nie można usunąć jedynego rynku.
239
+ spree/market_country:
240
+ attributes:
241
+ country:
242
+ already_in_market: jest już przypisany do innego rynku w tym sklepie
243
+ not_in_shipping_zone: nie jest objęty żadną strefą wysyłki. Najpierw skonfiguruj strefę wysyłki.
244
+ spree/payment:
245
+ attributes:
246
+ amount:
247
+ greater_than_max_amount: jest większa niż dozwolona maksymalna kwota %{max_amount}
248
+ spree/price_list:
249
+ attributes:
250
+ ends_at:
251
+ must_be_after_starts_at: musi być późniejszy niż data rozpoczęcia
252
+ spree/product:
253
+ attributes:
254
+ base:
255
+ cannot_destroy_if_attached_to_line_items: Nie można usunąć produktów, które są dołączone do elementów zamówienia.
256
+ discontinue_on:
257
+ invalid_date_range: musi być późniejsza niż data dostępności
258
+ spree/product_publication:
259
+ attributes:
260
+ unpublished_at:
261
+ must_be_after_published_at: musi być późniejszy niż data publikacji
262
+ spree/promotion:
263
+ attributes:
264
+ expires_at:
265
+ invalid_date_range: musi być późniejsza niż data rozpoczęcia
266
+ spree/refund:
267
+ attributes:
268
+ amount:
269
+ greater_than_allowed: jest większa niż dozwolona kwota.
270
+ spree/store:
271
+ attributes:
272
+ base:
273
+ cannot_destroy_only_store: Nie można usunąć jedynego sklepu.
274
+ spree/store_credit:
275
+ attributes:
276
+ amount_authorized:
277
+ exceeds_total_credits: Przekracza całkowitą liczbę kredytów.
278
+ amount_used:
279
+ cannot_be_greater_than_amount: Nie może być większa niż kwota.
280
+ greater_than_zero_restrict_delete: jest większe od zera. Nie można usunąć kredytu w sklepie.
281
+ spree/user:
282
+ attributes:
283
+ bill_address_id:
284
+ belongs_to_other_user: należy do innego użytkownika
285
+ deprecated_in_completed_order: wycofany w zrealizowanym zamówieniu
286
+ ship_address_id:
287
+ belongs_to_other_user: należy do innego użytkownika
288
+ deprecated_in_completed_order: wycofany w zrealizowanym zamówieniu
289
+ spree/variant:
290
+ attributes:
291
+ base:
292
+ cannot_destroy_if_attached_to_line_items: Nie można usunąć wariantów po ich dołączeniu do elementów zamówienia.
293
+ spree/webhook_endpoint:
294
+ attributes:
295
+ url:
296
+ internal_address_not_allowed: nie może wskazywać na wewnętrzny lub prywatny adres sieciowy
297
+ models:
298
+ spree/address:
299
+ one: Adres
300
+ other: Adresy
301
+ spree/classification:
302
+ one: Klasyfikacja
303
+ other: Klasyfikacje
304
+ spree/country:
305
+ one: Kraj
306
+ other: Kraje
307
+ spree/credit_card:
308
+ one: Karta kredytowa
309
+ other: Karty kredytowe
310
+ spree/customer_group:
311
+ one: Grupa klientów
312
+ other: Grupy klientów
313
+ spree/customer_group_user:
314
+ one: Użytkownik grupy klientów
315
+ other: Użytkownicy grupy klientów
316
+ spree/export:
317
+ one: Eksport
318
+ other: Eksporty
319
+ spree/integration:
320
+ one: Integracja
321
+ other: Integracje
322
+ spree/inventory_unit:
323
+ one: Jednostka magazynowa
324
+ other: Jednostki magazynowe
325
+ spree/line_item:
326
+ one: Jednostka linii
327
+ other: Jednostki linii
328
+ spree/option_type:
329
+ one: Typ opcji
330
+ other: Typy opcji
331
+ spree/option_value:
332
+ one: Wartość opcji
333
+ other: Wartości opcji
334
+ spree/order:
335
+ one: Zamówienie
336
+ other: Zamówienia
337
+ spree/payment:
338
+ one: Płatność
339
+ other: Płatności
340
+ spree/payment_method:
341
+ one: Metoda płatności
342
+ other: Metody płatności
343
+ spree/price:
344
+ one: Cena
345
+ other: Ceny
346
+ spree/price_list:
347
+ one: Cennik
348
+ other: Cenniki
349
+ spree/price_rule:
350
+ one: Reguła cenowa
351
+ other: Reguły cenowe
352
+ spree/product:
353
+ one: Produkt
354
+ other: Produkty
355
+ spree/promotion:
356
+ one: Promocja
357
+ other: Promocje
358
+ spree/promotion_category:
359
+ one: Kategoria promocji
360
+ other: Kategorie promocji
361
+ spree/property:
362
+ one: Właściwość
363
+ other: Właściwości
364
+ spree/refund_reason:
365
+ one: Powód do zwrotu
366
+ other: Powody do zwrotu
367
+ spree/role:
368
+ one: Rola
369
+ other: Role
370
+ spree/shipment:
371
+ one: Wysyłka
372
+ other: Wysyłki
373
+ spree/shipping_method:
374
+ one: Sposób wysyłki
375
+ other: Sposoby wysyłki
376
+ spree/state:
377
+ one: Stan
378
+ other: Stany
379
+ spree/stock_location:
380
+ one: Lokalizacja magazynu
381
+ other: Lokalizacje magazynu
382
+ spree/stock_movement:
383
+ one: Przemieszczenie zapasu magazynowego
384
+ other: Przemieszczenia zapasu magazynowego
385
+ spree/stock_transfer:
386
+ one: Transfer zapasu magazynowego
387
+ other: Transfery zapasu magazynowego
388
+ spree/store:
389
+ one: Sklep
390
+ other: Sklepy
391
+ spree/store_credit:
392
+ one: Kredyt sklepowy
393
+ other: Kredyty sklepowe
394
+ spree/tax_category:
395
+ one: Kategoria podatku
396
+ other: Kategorie podatku
397
+ spree/tax_rate:
398
+ one: Stawka podatku
399
+ other: Stawki podatku
400
+ spree/taxon:
401
+ one: Takson
402
+ other: Taksony
403
+ spree/taxonomy:
404
+ one: Taksonomia
405
+ other: Taksonomie
406
+ spree/user:
407
+ one: Użytkownik
408
+ other: Użytkownicy
409
+ spree/variant:
410
+ one: Odmiana
411
+ other: Odmiany
412
+ spree/zone:
413
+ one: Strefa
414
+ other: Strefy
415
+ errors:
416
+ messages:
417
+ already_confirmed: już zostało potwierdzone
418
+ not_found: nie znaleziono
419
+ not_locked: nie zostało zablokowane
420
+ not_saved:
421
+ one: '1 błąd uniemożliwił zachowanie tego %{resource}:'
422
+ other: "%{count} błędy(-ów) uniemożliwiło zachowanie tego %{resource}:"
423
+ number:
424
+ percentage:
425
+ format:
426
+ precision: 1
427
+ spree:
428
+ accept: Akceptuj
429
+ accepted: Zaakceptowano
430
+ accepts_email_marketing: Wyraża zgodę na marketing e-mailowy
431
+ account: Konto
432
+ active: Aktywny
433
+ address: Adres
434
+ address1: Adres
435
+ address2: Adres (cd.)
436
+ adjustment: Poprawka
437
+ adjustment_labels:
438
+ tax_rates:
439
+ excluding_tax: "%{name}%{amount}"
440
+ including_tax: "%{name}%{amount} (wliczone w cenę)"
441
+ adjustments_deleted: Korekty usunięte
442
+ admin_user_mailer:
443
+ password_reset_email:
444
+ action: Zresetuj hasło
445
+ expiry_notice: Ten link do resetowania hasła wkrótce wygaśnie. Jeśli to nie Ty wysłałeś prośbę, nie musisz nic robić.
446
+ greeting: Cześć %{name},
447
+ ignore_notice: Jeśli nie prosiłeś o zresetowanie hasła, możesz bezpiecznie zignorować tę wiadomość. Twoje hasło nie zostanie zmienione.
448
+ instructions: Otrzymaliśmy prośbę o zresetowanie hasła do Twojego konta administratora %{store_name}. Kliknij przycisk poniżej, aby wybrać nowe hasło.
449
+ subject: Instrukcje resetowania hasła
450
+ all: Wszystko
451
+ amount: Kwota
452
+ api_key_no_current_key: Żaden klucz API nie uwierzytelnił tego żądania
453
+ api_key_scopes_immutable: nie mogą być zmienione po utworzeniu klucza; utwórz nowy klucz z potrzebnymi zakresami i unieważnij ten
454
+ approver: Zatwierdzający
455
+ authorized: Upoważniony
456
+ availability: dostępność
457
+ backorderable: Możliwość cofnięcia zamówienia
458
+ backordered: Zaległe
459
+ bill_address: Adres do zapłaty
460
+ billing_address: Adres do zapłaty
461
+ calculator: Kalkulator
462
+ canceled: Anulowano
463
+ canceler: Osoba anulująca
464
+ cannot_be_destroyed: Nie można usunąć zamówienia.
465
+ capture: Przechwyć
466
+ cart: Koszyk
467
+ cart_already_updated: Koszyk został już zaktualizowany.
468
+ cart_line_item:
469
+ delivery_unavailable: Produkt %{li_name} nie może zostać dostarczony pod wybrany adres
470
+ discontinued: "%{li_name} został usunięty, ponieważ został wycofany"
471
+ out_of_stock: "%{li_name} został usunięty, ponieważ został wyprzedany"
472
+ categories: Kategorie
473
+ category: Kategoria
474
+ channel: Kanał
475
+ channels: Kanały sprzedaży
476
+ checkout: Złożenie zamówienia
477
+ checkout_requirements:
478
+ email_required: Adres e-mail jest wymagany
479
+ line_items_required: Dodaj co najmniej jeden produkt do koszyka
480
+ payment_required: Dodaj metodę płatności
481
+ ship_address_required: Adres wysyłki jest wymagany
482
+ city: Miasto
483
+ color_code: Kod koloru
484
+ company: Firma
485
+ compare_at_amount: Kwota porównawcza
486
+ compare_at_price: Cena porównawcza
487
+ complete: zakończono
488
+ confirm: Potwierdź
489
+ cost_price: Cena kosztu
490
+ count_on_hand: Policz dostępne
491
+ country: Kraj
492
+ coupon_code: Kod kuponu
493
+ coupon_code_already_applied: Do tego zamówienia wykorzystano już kod kuponu
494
+ coupon_code_applied: Kod kuponu został zastosowany do Twojego zamówienia.
495
+ coupon_code_better_exists: Poprzednio zastosowany kod kuponu jest korzystniejszy
496
+ coupon_code_expired: Kod kuponu wygasł
497
+ coupon_code_max_usage: Przekroczono limit wykorzystania kodu kuponu
498
+ coupon_code_not_eligible: Podany kod kuponu nie jest możliwy do wykorzystania z tym zamówieniem
499
+ coupon_code_not_found: Podany kod kuponu nie istnieje. Spróbuj ponownie.
500
+ coupon_code_unknown_error: W tej chwili nie można zastosować tego kodu kuponu do koszyka.
501
+ coupon_code_used: Wprowadzony kod kuponu został już wykorzystany. Spróbuj ponownie.
502
+ created_at: Utworzono
503
+ credit_card: Karta kredytowa
504
+ currency: Waluta
505
+ currency_not_supported_by_store: nie jest obsługiwana przez ten sklep
506
+ customer: Klient
507
+ customers: Klienci
508
+ default: Domyślny
509
+ default_stock_location_name: Lokalizacja sklepu
510
+ default_wishlist_name: Lista życzeń
511
+ delivery: Dostawa
512
+ depth: Głębokość
513
+ description: Opis
514
+ destination: Przeznaczenie
515
+ destroy: Zniszcz
516
+ details: Szczegóły
517
+ digital:
518
+ digital_delivery: Dostawa cyfrowa
519
+ digital_assets: Pliki cyfrowe
520
+ discontinued: Przerwane
521
+ discontinued_variants_present: Niektóre elementy zamówienia w tym zamówieniu zawierają produkty, które nie są już dostępne.
522
+ display_delivery_range: Dostawa w ciągu %{delivery_range} dni roboczych
523
+ draft: Wersja robocza
524
+ eligibility_errors:
525
+ messages:
526
+ has_excluded_product: Twój koszyk zawiera produkt, który zapobiega zastosowaniu tego kodu kuponu.
527
+ item_total_less_than: Tego kodu kuponu nie można zastosować do zamówień mniejszych niż %{amount}.
528
+ item_total_less_than_or_equal: tego kodu kuponu nie można zastosować do zamówień mniejszych lub równych %{amount}.
529
+ item_total_more_than: Tego kodu kuponu nie można zastosować do zamówień wyższych niż %{amount}.
530
+ item_total_more_than_or_equal: Tego kodu kuponu nie można zastosować do zamówień wyższych lub równych %{amount}.
531
+ limit_once_per_user: tego kodu kuponu można użyć tylko raz na użytkownika.
532
+ missing_product: Nie można zastosować tego kodu kuponu, ponieważ nie masz w koszyku wszystkich potrzebnych produktów.
533
+ missing_taxon: Musisz dodać produkt ze wszystkich odpowiednich kategorii przed zastosowaniem tego kodu kuponu.
534
+ no_applicable_products: Przed zastosowaniem tego kodu kuponu musisz dodać odpowiedni produkt.
535
+ no_matching_channel: Ten kod kuponu nie jest ważny dla tego kanału sprzedaży.
536
+ no_matching_market: Ten kod kuponu nie jest ważny na Twoim rynku.
537
+ no_matching_taxons: Przed zastosowaniem tego kodu kuponu musisz dodać produkt z odpowiedniej kategorii.
538
+ no_user_or_email_specified: Musisz się zalogować lub podać swój adres e-mail przed zastosowaniem tego kodu kuponu.
539
+ no_user_specified: Musisz się zalogować przed zastosowaniem tego kodu kuponu.
540
+ not_first_order: Ten kod kuponu można zastosować tylko do pierwszego zamówienia.
541
+ wrong_country: Ten kod kuponu nie obowiązuje w Twoim kraju
542
+ email: E-mail
543
+ error: błąd
544
+ error_user_destroy_with_orders: Nie można usunąć użytkownika powiązanego z zamówieniami
545
+ error_user_does_not_have_any_store_credits: Użytkownik nie posiada dostępnego kredytu sklepowego
546
+ errors:
547
+ messages:
548
+ cannot_delete_default_channel: Nie można usunąć domyślnego kanału. Najpierw ustaw inny kanał jako domyślny.
549
+ channel_store_mismatch: musi należeć do tego samego sklepu
550
+ invalid_order_routing_rule: nie jest zarejestrowaną regułą routingu zamówień
551
+ invalid_order_routing_strategy: nie jest zarejestrowaną strategią routingu zamówień
552
+ store_association_can_not_be_changed: Powiązania ze sklepem nie można zmienić
553
+ store_is_already_set: Sklep jest już ustawiony
554
+ expired: Wygasłe
555
+ export_mailer:
556
+ export_done:
557
+ message: Świetnie, Twój eksport jest gotowy! Skorzystaj z poniższego linku, aby go pobrać.
558
+ subject: Twój eksport %{export_number} został pomyślnie przetworzony!
559
+ greeting: Cześć %{user_name},
560
+ field: Pole
561
+ first_name: Imię
562
+ flat_percent: Jednolite oprocentowanie
563
+ flat_rate_per_order: jednolita stawka (za zamówienie)
564
+ flexible_rate: Stawka elastyczna
565
+ free: Bezpłatnie
566
+ gateway: Brama
567
+ gateway_error: Błąd bramy
568
+ gift_card: Karta podarunkowa
569
+ gift_card_already_redeemed: Karta podarunkowa została już wykorzystana.
570
+ gift_card_applied: Karta podarunkowa została pomyślnie zastosowana do Twojego zamówienia!
571
+ gift_card_customer_not_logged_in: Karty podarunkowej nie można zastosować jako gość.
572
+ gift_card_expired: Karta podarunkowa wygasła.
573
+ gift_card_mismatched_currency: Karty podarunkowej nie można zastosować w bieżącej walucie.
574
+ gift_card_mismatched_customer: Ta karta podarunkowa jest powiązana z innym użytkownikiem.
575
+ gift_card_not_found: Nie znaleziono karty podarunkowej.
576
+ gift_card_removed: Karta podarunkowa została pomyślnie usunięta z Twojego zamówienia
577
+ gift_card_using_store_credit_error: Nie możesz zastosować karty podarunkowej po zastosowaniu kredytu sklepowego.
578
+ height: Wysokość
579
+ i18n:
580
+ this_file_language: Polski (PL)
581
+ idempotency_key_reused: Ten klucz Idempotency-Key został już użyty z innymi parametrami żądania.
582
+ image: Obraz
583
+ import: Importuj
584
+ in_stock: W Magazynie
585
+ inactive: Nieaktywny
586
+ incomplete: Incomplete
587
+ insufficient_stock_lines_present: Niektóre elementy zamówienia w tym zamówieniu mają niewystarczającą liczbę.
588
+ internal_note: Notatka wewnętrzna
589
+ inventory: Inwentarz
590
+ invitation_mailer:
591
+ greeting: Cześć %{user_name},
592
+ invitation_accepted:
593
+ body: "%{invitee_name} zaakceptował(a) Twoje zaproszenie do dołączenia do %{resource_name}"
594
+ subject: "%{invitee_name} zaakceptował(a) Twoje zaproszenie do dołączenia do %{resource_name}"
595
+ invitation_email:
596
+ body: "%{inviter_name} zaprosił(a) Cię do dołączenia do %{resource_name}"
597
+ link_description: 'Aby zaakceptować to zaproszenie, kliknij poniższy link:'
598
+ subject: Zaproszenie do dołączenia do %{resource_name}
599
+ iso: ISO Alpha-2
600
+ item: Pozycja
601
+ items_cannot_be_shipped: Nie można było obliczyć stawek wysyłki dla wybranych pozycji.
602
+ key: Klucz
603
+ kind: Rodzaj
604
+ label: Etykieta
605
+ last_name: Nazwisko
606
+ line_item: Pozycja zamówienia
607
+ line_items: Pozycje zamówienia
608
+ link: Link
609
+ locale: Język
610
+ locale_not_supported_by_store: nie jest obsługiwany przez ten sklep
611
+ manual: Ręcznie
612
+ market: Rynek
613
+ me_no_current_user: Żaden użytkownik administracyjny nie uwierzytelnił tego żądania
614
+ media: Multimedia
615
+ meta_description: Meta opis
616
+ meta_keywords: Meta słowa kluczowe
617
+ meta_title: Meta tytuł
618
+ metadata: Metadane
619
+ min_quantity: Minimalna ilość
620
+ month: Miesiąc
621
+ name: Nazwa
622
+ new_variant: Nowa odmiana
623
+ no_cc_type: Nie dotyczy
624
+ no_payment_found: Nie znaleziono płatności
625
+ none: Brak
626
+ number: Numer
627
+ on_hand: na stanie
628
+ only_active_products_can_be_added_to_cart: Produkty w wersji roboczej i zarchiwizowane nie mogą być dodane do koszyka, najpierw oznacz produkt jako aktywny.
629
+ open: Otwórz
630
+ option_name: Nazwa opcji
631
+ option_type: Typ opcji
632
+ option_value: Wartość opcji
633
+ options: Opcje
634
+ or: lub
635
+ order: Zamówienie
636
+ order_canceled: Zamówienie zostało odwołane
637
+ order_routing:
638
+ strategies:
639
+ legacy: Tradycyjna
640
+ rules: Reguły (uporządkowane)
641
+ order_summary: Podsumowanie zamówienia
642
+ orders: Zamówienia
643
+ out_of_stock: Brak w magazynie
644
+ password: Hasło
645
+ path: Ścieżka
646
+ payment: Płatność
647
+ payment_method: Metoda płatności
648
+ payment_method_not_supported: Ta metoda płatności nie jest obsługiwana. Proszę wybrać inną.
649
+ payment_methods: Metody płatności
650
+ payment_processing_failed: Nie udało się przetworzyć płatności, sprawdź podane przez Ciebie dane
651
+ payment_source: Źródło płatności
652
+ pending: W toku
653
+ percent: procent
654
+ percent_per_item: Procent na pozycję
655
+ phone: Telefon
656
+ price: Cena
657
+ price_range: Zakres cen
658
+ price_rules:
659
+ channel_rule:
660
+ description: Zastosuj ceny w zależności od kanału sprzedaży
661
+ customer_group_rule:
662
+ description: Zastosuj ceny do określonych grup klientów
663
+ price_sack: Worek cenowy
664
+ prices: Ceny
665
+ privacy_policy: Polityka prywatności
666
+ processing: Przetwarzanie
667
+ product: Produkt
668
+ product_translations: Tłumaczenia produktów
669
+ products: Produkty
670
+ products_cannot_be_shipped: Nie możemy obecnie wysłać %{product_names} do Twojej obecnej lokalizacji. Zmień adres wysyłki lub usuń %{product_names} z koszyka.
671
+ promotion: Promocja
672
+ promotion_action_types:
673
+ create_adjustment:
674
+ description: Tworzy poprawkę kredytu promocyjnego w zamówieniu
675
+ name: Utwórz poprawkę
676
+ create_item_adjustments:
677
+ description: Tworzy kredyt promocyjny dostosowany do elementu zamówienia
678
+ name: Utwórz dostosowanie według pozycji
679
+ create_line_items:
680
+ description: Zapełnia koszyk określoną ilością odmiany
681
+ name: Utwórz pozycje linii
682
+ free_shipping:
683
+ description: Wszystkie przesyłki objęte zamówieniem są bezpłatne
684
+ name: Darmowa przesyłka
685
+ promotion_actions: Działania promocyjne
686
+ promotion_already_used: Nie możesz usunąć promocji, która została już zastosowana
687
+ promotion_label: Propocja (%{name})
688
+ promotion_rule_types:
689
+ category:
690
+ description: Zamówienie zawiera produkty z określonych kategorii
691
+ name: Kategorie
692
+ channel:
693
+ description: Ogranicz do zamówień złożonych przez wybrany kanał(y)
694
+ name: Kanał(y)
695
+ country:
696
+ description: Zamówienie jest wysyłane do właściwego (lub domyślnego) kraju
697
+ name: Państwo
698
+ currency:
699
+ description: Ogranicz do zamówień w określonej walucie
700
+ name: Waluta
701
+ customer:
702
+ description: Dostępne tylko dla określonych klientów
703
+ name: Klienci
704
+ customer_group:
705
+ description: Dostępne tylko dla klientów z określonych grup klientów
706
+ name: Grupy klientów
707
+ customer_logged_in:
708
+ description: Dostępne tylko dla zalogowanych klientów
709
+ name: Tylko zalogowani klienci
710
+ first_order:
711
+ description: Musi to być pierwsze zamówienie klienta
712
+ name: Pierwsze zamówienie
713
+ item_total:
714
+ description: Całkowita wartość zamówienia spełnia te kryteria
715
+ name: Wartość całkowita
716
+ market:
717
+ description: Ogranicz do zamówień złożonych na wybranym rynku(ach)
718
+ name: Rynek(i)
719
+ one_use_per_user:
720
+ description: Tylko jedno użycie na użytkownika
721
+ name: Jedno użycie na użytkownika
722
+ option_value:
723
+ description: Zamówienie obejmuje określone produkty z pasującymi wartościami opcji
724
+ name: Wartość opcji
725
+ product:
726
+ description: Zamówienie zawiera określone produkty
727
+ name: Produkt(y)
728
+ promotions: Promocje
729
+ quantity: Liczba
730
+ query: Zapytanie
731
+ reason: Powód
732
+ received: Odebrane
733
+ reference: Odnośnik
734
+ refund: Zwrot funduszy
735
+ refund_amount: Kwota zwrotu
736
+ refunds: Zwroty kosztów
737
+ registration: Rejestracja
738
+ rejected: Odrzucono
739
+ remove: Usuń
740
+ remove_gift_card_on_completed_order_error: Nie możesz usunąć karty podarunkowej po złożeniu zamówienia
741
+ resellable: Odsprzedawalne
742
+ resend: Prześlij ponownie
743
+ response_code: Kod odpowiedzi
744
+ return: zwróć
745
+ returned: Zwrócono
746
+ returns_policy: Polityka zwrotów
747
+ row: Wiersz
748
+ rules: Reguły
749
+ say_no: Nie
750
+ say_yes: Tak
751
+ scope: Zakres
752
+ selected_quantity_not_available: wybrana dla %{item} nie jest dostępna.
753
+ ship: wyślij
754
+ ship_address: Adres wysyłki
755
+ shipment: Wysyłka
756
+ shipped: Wysłane
757
+ shipping: Koszt wysyłki
758
+ shipping_address: Adres wysyłki
759
+ shipping_flat_rate_per_item: Jednolita stawka na pozycję paczki
760
+ shipping_flat_rate_per_order: Jednolita stawka
761
+ shipping_flexible_rate: Elastyczna stawka na pozycję paczki
762
+ shipping_policy: Polityka wysyłki
763
+ shipping_price_sack: Worek cenowy
764
+ shipping_rates:
765
+ display_price:
766
+ excluding_tax: "%{price} (+ %{tax_amount} %{tax_rate_name})"
767
+ including_tax: "%{price} (incl. %{tax_amount} %{tax_rate_name})"
768
+ sku: SKU
769
+ slug: Slug
770
+ source: Źródło
771
+ status: Status
772
+ stock_location: Lokalizacja magazynu
773
+ stock_locations: Lokalizacje magazynów
774
+ stock_transfer:
775
+ errors:
776
+ must_have_variant: Musisz dodać co najmniej jeden wariant.
777
+ same_location: nie może być taka sama jak lokalizacja docelowa
778
+ variants_unavailable: Niektóre warianty są niedostępne w %{stock}
779
+ store: Zachowaj
780
+ store_credit:
781
+ allocated: Dodany
782
+ authorized: Upoważniony
783
+ captured: Wykoszystany
784
+ credit: Kredyt
785
+ eligible: Kwalifikujący się
786
+ store_credit_name: Kredyt sklepowy
787
+ store_credit_payment_method:
788
+ currency_mismatch: Waluta kredytu w sklepie nie jest zgodna z walutą zamówienia
789
+ insufficient_authorized_amount: Nie można przechwycić więcej niż dozwolona kwota
790
+ insufficient_funds: Pozostała kwota kredytu w sklepie jest niewystarczająca
791
+ successful_action: Pomyślny kredyt sklepowy %{action}
792
+ unable_to_credit: 'Unable to credit code: %{auth_code}'
793
+ unable_to_find: Nie można znaleźć kredytu sklepowego
794
+ unable_to_find_for_action: 'Nie udało się znaleźć kredytu w sklepie dla kodu autoryzacji: %{auth_code} dla akcji: %{action}'
795
+ unable_to_void: 'Nie można unieważnić kodu: %{auth_code}'
796
+ success: Sukces
797
+ tags: Tags
798
+ tax: Podatek
799
+ tax_category: Kategoria podatkowa
800
+ terms_of_service: Regulamin
801
+ there_are_no_items_for_this_order: W zamówieniu brak pozycji. Aby kontynuować, dodaj towar.
802
+ tiered_flat_rate: Poziomowa stawka ryczałtowa
803
+ tiered_percent: Poziomowa stawka procentowa
804
+ total: razem
805
+ track_inventory: Śledzenie zapasów
806
+ tracking: Śledzenie przesyłki
807
+ tracking_number: Numer przesyłki
808
+ tracking_url: URL do śledzenia przesyłki
809
+ type: Typ
810
+ unable_to_connect_to_gateway: Nie można połączyć się z bramą.
811
+ updated_at: Zaktualizowano
812
+ url: URL
813
+ user: Użytkownik
814
+ validation:
815
+ must_be_int: musi być liczbą całkowitą
816
+ value: Wartość
817
+ variant: Odmiana
818
+ variants: Odmiany
819
+ verified: Zweryfikowane
820
+ void: Nieważne
821
+ webhook_mailer:
822
+ endpoint_disabled:
823
+ disabled_at_label: Wyłączono
824
+ heading: Punkt końcowy webhooka wyłączony
825
+ instructions: Sprawdź adres URL punktu końcowego i usługę, a następnie włącz go ponownie w Ustawienia → Programiści → Webhooki.
826
+ message: Punkt końcowy webhooka "%{endpoint_name}" został automatycznie wyłączony po wielokrotnych nieudanych dostarczeniach.
827
+ name_label: Nazwa
828
+ reason_label: Powód
829
+ subject: 'Punkt końcowy webhooka wyłączony: %{endpoint_name}'
830
+ url_label: URL
831
+ weight: Waga
832
+ weight_unit: Jednostka wagi
833
+ width: Szerokość
834
+ year: Rok
835
+ zip: Kod