spree_core 6.0.0.beta4 → 6.0.0.rc2

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 (575) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  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/search_provider/index_job.rb +4 -0
  10. data/app/jobs/spree/seller_payouts/sweep_seller_job.rb +2 -0
  11. data/app/jobs/spree/uploads/purge_unattached_job.rb +49 -0
  12. data/app/mailers/spree/admin_user_mailer.rb +4 -19
  13. data/app/mailers/spree/base_mailer.rb +97 -13
  14. data/app/mailers/spree/email_template_mailer.rb +27 -0
  15. data/app/mailers/spree/export_mailer.rb +3 -4
  16. data/app/mailers/spree/import_mailer.rb +3 -4
  17. data/app/mailers/spree/invitation_mailer.rb +24 -7
  18. data/app/mailers/spree/seller_user_mailer.rb +4 -16
  19. data/app/mailers/spree/webhook_mailer.rb +2 -2
  20. data/app/models/concerns/spree/acted_by.rb +1 -1
  21. data/app/models/concerns/spree/admin_user_methods.rb +15 -1
  22. data/app/models/concerns/spree/api_typed.rb +91 -0
  23. data/app/models/concerns/spree/calculated_adjustments.rb +41 -13
  24. data/app/models/concerns/spree/calculator/currency_amounts.rb +1 -1
  25. data/app/models/concerns/spree/calculator/tiers.rb +63 -0
  26. data/app/models/concerns/spree/canonical_decimals.rb +61 -0
  27. data/app/models/concerns/spree/customer_methods.rb +23 -18
  28. data/app/models/concerns/spree/derived_number.rb +11 -13
  29. data/app/models/concerns/spree/email_template_identity.rb +52 -0
  30. data/app/models/concerns/spree/parameterizable_name.rb +2 -0
  31. data/app/models/concerns/spree/payment_session_transitions.rb +8 -2
  32. data/app/models/concerns/spree/post_sale/taxation.rb +54 -0
  33. data/app/models/concerns/spree/post_sale/taxed_line.rb +51 -0
  34. data/app/models/concerns/spree/preference_schema/json_schema.rb +139 -0
  35. data/app/models/concerns/spree/preference_schema.rb +62 -32
  36. data/app/models/concerns/spree/product_scopes.rb +16 -2
  37. data/app/models/concerns/spree/provider_listing.rb +41 -0
  38. data/app/models/concerns/spree/publishable.rb +82 -14
  39. data/app/models/concerns/spree/purchase/addresses.rb +23 -10
  40. data/app/models/concerns/spree/purchase/currency.rb +1 -1
  41. data/app/models/concerns/spree/purchase/deprecated_aliases.rb +87 -0
  42. data/app/models/concerns/spree/purchase/gift_cards.rb +10 -4
  43. data/app/models/concerns/spree/purchase/locale.rb +1 -1
  44. data/app/models/concerns/spree/purchase/payment_processing.rb +8 -4
  45. data/app/models/concerns/spree/purchase/purchase_order.rb +9 -4
  46. data/app/models/concerns/spree/purchase/store_credits.rb +36 -1
  47. data/app/models/concerns/spree/purchase/totals.rb +49 -8
  48. data/app/models/concerns/spree/ransackable_attributes.rb +46 -0
  49. data/app/models/concerns/spree/receivable.rb +1 -1
  50. data/app/models/concerns/spree/searchable.rb +0 -4
  51. data/app/models/concerns/spree/secret_preferences.rb +59 -0
  52. data/app/models/concerns/spree/signed_id_attachments.rb +54 -0
  53. data/app/models/concerns/spree/single_store_resource.rb +1 -1
  54. data/app/models/concerns/spree/stores/email_branding.rb +32 -0
  55. data/app/models/concerns/spree/stores/markets.rb +5 -2
  56. data/app/models/concerns/spree/type_labels.rb +38 -0
  57. data/app/models/concerns/spree/typed_adjustment_line.rb +5 -6
  58. data/app/models/concerns/spree/typed_associations.rb +12 -18
  59. data/app/models/concerns/spree/vat_price_calculation.rb +5 -6
  60. data/app/models/spree/address.rb +12 -2
  61. data/app/models/spree/adjusters/largest_remainder.rb +14 -1
  62. data/app/models/spree/adjusters/promotion.rb +4 -19
  63. data/app/models/spree/allowed_origin.rb +3 -1
  64. data/app/models/spree/api_key.rb +5 -6
  65. data/app/models/spree/authentication/strategies/oidc_strategy.rb +5 -5
  66. data/app/models/spree/base.rb +99 -22
  67. data/app/models/spree/calculator/flat_percent_item_total.rb +2 -4
  68. data/app/models/spree/calculator/flat_rate.rb +3 -5
  69. data/app/models/spree/calculator/flexi_rate.rb +4 -6
  70. data/app/models/spree/calculator/percent_on_line_item.rb +2 -2
  71. data/app/models/spree/calculator/price_sack.rb +5 -7
  72. data/app/models/spree/calculator/shipping/digital_delivery.rb +3 -5
  73. data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +7 -7
  74. data/app/models/spree/calculator/shipping/flat_rate.rb +5 -7
  75. data/app/models/spree/calculator/shipping/flexi_rate.rb +4 -6
  76. data/app/models/spree/calculator/shipping/per_item.rb +3 -5
  77. data/app/models/spree/calculator/shipping/price_sack.rb +5 -7
  78. data/app/models/spree/calculator/tiered_flat_rate.rb +7 -24
  79. data/app/models/spree/calculator/tiered_percent.rb +7 -25
  80. data/app/models/spree/cart.rb +78 -18
  81. data/app/models/spree/catalog.rb +1 -0
  82. data/app/models/spree/catalog_price.rb +0 -7
  83. data/app/models/spree/catalog_price_tier.rb +0 -8
  84. data/app/models/spree/category.rb +3 -1
  85. data/app/models/spree/channel/gating.rb +3 -2
  86. data/app/models/spree/channel.rb +6 -4
  87. data/app/models/spree/claim.rb +22 -1
  88. data/app/models/spree/claim_line_item.rb +41 -6
  89. data/app/models/spree/collection.rb +2 -1
  90. data/app/models/spree/collection_rule.rb +5 -21
  91. data/app/models/spree/commission_line.rb +1 -1
  92. data/app/models/spree/commission_rate.rb +7 -4
  93. data/app/models/spree/commission_rate_value.rb +1 -1
  94. data/app/models/spree/commission_rule.rb +4 -11
  95. data/app/models/spree/commission_rules/category_rule.rb +2 -5
  96. data/app/models/spree/commission_rules/item_total_rule.rb +2 -2
  97. data/app/models/spree/commission_rules/product_rule.rb +1 -1
  98. data/app/models/spree/commission_rules/seller_rule.rb +2 -5
  99. data/app/models/spree/company.rb +1 -0
  100. data/app/models/spree/company_invitation.rb +1 -0
  101. data/app/models/spree/consent_record.rb +0 -1
  102. data/app/models/spree/credit_card.rb +1 -1
  103. data/app/models/spree/current.rb +23 -0
  104. data/app/models/spree/custom_field.rb +2 -2
  105. data/app/models/spree/custom_field_definition.rb +20 -35
  106. data/app/models/spree/custom_fields/boolean.rb +1 -1
  107. data/app/models/spree/custom_fields/json.rb +1 -1
  108. data/app/models/spree/customer_group.rb +1 -0
  109. data/app/models/spree/data_feed/google.rb +0 -2
  110. data/app/models/spree/data_request.rb +2 -1
  111. data/app/models/spree/delivery_method.rb +36 -14
  112. data/app/models/spree/delivery_method_rule.rb +4 -11
  113. data/app/models/spree/delivery_method_rules/channel_rule.rb +2 -5
  114. data/app/models/spree/delivery_method_rules/item_total_rule.rb +2 -2
  115. data/app/models/spree/delivery_profile.rb +1 -0
  116. data/app/models/spree/delivery_rate.rb +7 -8
  117. data/app/models/spree/delivery_rate_provider/base.rb +1 -0
  118. data/app/models/spree/delivery_zone.rb +1 -2
  119. data/app/models/spree/delivery_zone_member.rb +4 -4
  120. data/app/models/spree/digital_asset.rb +7 -0
  121. data/app/models/spree/digital_asset_provider/base.rb +2 -0
  122. data/app/models/spree/digital_link.rb +2 -5
  123. data/app/models/spree/discount.rb +1 -1
  124. data/app/models/spree/email_template.rb +25 -0
  125. data/app/models/spree/email_template_draft.rb +13 -0
  126. data/app/models/spree/email_template_revision.rb +17 -0
  127. data/app/models/spree/email_templates/entry.rb +118 -0
  128. data/app/models/spree/email_templates/sample_record.rb +16 -0
  129. data/app/models/spree/emails/branding.rb +80 -0
  130. data/app/models/spree/exchange.rb +16 -1
  131. data/app/models/spree/exchange_line_item.rb +121 -5
  132. data/app/models/spree/export.rb +0 -1
  133. data/app/models/spree/exports/products.rb +10 -1
  134. data/app/models/spree/exports/report.rb +3 -3
  135. data/app/models/spree/fee.rb +4 -2
  136. data/app/models/spree/file_upload.rb +155 -0
  137. data/app/models/spree/fulfillment.rb +66 -30
  138. data/app/models/spree/fulfillment_changer.rb +2 -2
  139. data/app/models/spree/fulfillment_group.rb +6 -1
  140. data/app/models/spree/fulfillment_item.rb +0 -4
  141. data/app/models/spree/fulfillment_provider/base.rb +1 -0
  142. data/app/models/spree/gateway/bogus.rb +6 -0
  143. data/app/models/spree/gateway/custom_payment_source_method.rb +5 -0
  144. data/app/models/spree/gateway.rb +6 -2
  145. data/app/models/spree/gift_card.rb +18 -8
  146. data/app/models/spree/gift_card_batch.rb +3 -5
  147. data/app/models/spree/import.rb +5 -7
  148. data/app/models/spree/import_mapping.rb +1 -2
  149. data/app/models/spree/import_row.rb +2 -2
  150. data/app/models/spree/import_schemas/products.rb +1 -0
  151. data/app/models/spree/integration.rb +9 -19
  152. data/app/models/spree/invitation.rb +5 -5
  153. data/app/models/spree/line_item.rb +15 -4
  154. data/app/models/spree/locale.rb +11 -8
  155. data/app/models/spree/market.rb +8 -2
  156. data/app/models/spree/media.rb +1 -9
  157. data/app/models/spree/newsletter_subscriber.rb +4 -0
  158. data/app/models/spree/option_type.rb +2 -1
  159. data/app/models/spree/option_value.rb +2 -1
  160. data/app/models/spree/order.rb +60 -142
  161. data/app/models/spree/order_group.rb +18 -4
  162. data/app/models/spree/order_inventory.rb +10 -5
  163. data/app/models/spree/order_promotion.rb +1 -1
  164. data/app/models/spree/order_routing/has_strategy_preference.rb +1 -1
  165. data/app/models/spree/order_routing/strategy/base.rb +4 -2
  166. data/app/models/spree/order_routing/strategy/rules.rb +1 -1
  167. data/app/models/spree/order_routing_rule.rb +6 -22
  168. data/app/models/spree/package_type.rb +2 -2
  169. data/app/models/spree/payment/gateway_options.rb +15 -53
  170. data/app/models/spree/payment/processing.rb +2 -4
  171. data/app/models/spree/payment.rb +21 -13
  172. data/app/models/spree/payment_method/check.rb +2 -0
  173. data/app/models/spree/payment_method/session_instrumentation.rb +1 -0
  174. data/app/models/spree/payment_method/store_credit.rb +15 -13
  175. data/app/models/spree/payment_method.rb +78 -6
  176. data/app/models/spree/payment_session.rb +5 -1
  177. data/app/models/spree/payment_setup_session.rb +1 -0
  178. data/app/models/spree/payout_provider/base.rb +3 -1
  179. data/app/models/spree/pickup_point_provider/base.rb +2 -0
  180. data/app/models/spree/policy.rb +1 -0
  181. data/app/models/spree/price.rb +17 -14
  182. data/app/models/spree/price_adjustment_tier.rb +4 -0
  183. data/app/models/spree/price_list.rb +14 -9
  184. data/app/models/spree/price_rules/channel_rule.rb +3 -6
  185. data/app/models/spree/price_rules/customer_group_rule.rb +3 -6
  186. data/app/models/spree/price_rules/market_rule.rb +2 -5
  187. data/app/models/spree/price_rules/user_rule.rb +1 -3
  188. data/app/models/spree/product/channels.rb +9 -2
  189. data/app/models/spree/product.rb +54 -30
  190. data/app/models/spree/product_submission.rb +0 -12
  191. data/app/models/spree/product_type.rb +1 -1
  192. data/app/models/spree/promotion/actions/create_line_items.rb +28 -18
  193. data/app/models/spree/promotion/rules/category.rb +1 -5
  194. data/app/models/spree/promotion/rules/channel.rb +2 -9
  195. data/app/models/spree/promotion/rules/country.rb +3 -8
  196. data/app/models/spree/promotion/rules/currency.rb +1 -5
  197. data/app/models/spree/promotion/rules/customer_group.rb +2 -9
  198. data/app/models/spree/promotion/rules/first_order.rb +0 -4
  199. data/app/models/spree/promotion/rules/item_total.rb +6 -10
  200. data/app/models/spree/promotion/rules/market.rb +2 -9
  201. data/app/models/spree/promotion/rules/one_use_per_user.rb +0 -4
  202. data/app/models/spree/promotion/rules/option_value.rb +2 -6
  203. data/app/models/spree/promotion/rules/product.rb +1 -5
  204. data/app/models/spree/promotion/rules/user.rb +0 -4
  205. data/app/models/spree/promotion/rules/user_logged_in.rb +0 -4
  206. data/app/models/spree/promotion.rb +36 -6
  207. data/app/models/spree/promotion_action.rb +7 -14
  208. data/app/models/spree/promotion_action_line_item.rb +1 -1
  209. data/app/models/spree/promotion_handler/coupon.rb +59 -27
  210. data/app/models/spree/promotion_rule.rb +7 -14
  211. data/app/models/spree/purchase_order.rb +3 -0
  212. data/app/models/spree/quantity_rule.rb +1 -1
  213. data/app/models/spree/refund.rb +41 -18
  214. data/app/models/spree/return.rb +31 -2
  215. data/app/models/spree/return_line_item.rb +65 -14
  216. data/app/models/spree/role.rb +7 -7
  217. data/app/models/spree/saved_report.rb +2 -1
  218. data/app/models/spree/search_provider/base.rb +4 -0
  219. data/app/models/spree/seller.rb +10 -2
  220. data/app/models/spree/seller_payout.rb +8 -0
  221. data/app/models/spree/seller_requirement.rb +5 -12
  222. data/app/models/spree/seller_requirement_custom_field.rb +1 -2
  223. data/app/models/spree/seller_requirement_submission.rb +3 -2
  224. data/app/models/spree/seller_requirements/accept_terms.rb +2 -3
  225. data/app/models/spree/seller_transfer.rb +6 -0
  226. data/app/models/spree/shipping_label.rb +2 -0
  227. data/app/models/spree/stock/availability_validator.rb +2 -2
  228. data/app/models/spree/stock/estimator.rb +1 -1
  229. data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
  230. data/app/models/spree/stock/packer.rb +2 -2
  231. data/app/models/spree/stock/splitter/weight.rb +1 -1
  232. data/app/models/spree/stock_level/custom_events.rb +6 -0
  233. data/app/models/spree/stock_level.rb +3 -1
  234. data/app/models/spree/stock_location.rb +1 -0
  235. data/app/models/spree/stock_movement.rb +1 -1
  236. data/app/models/spree/stock_receipt_item.rb +1 -1
  237. data/app/models/spree/stock_reservation.rb +2 -2
  238. data/app/models/spree/stock_transfer.rb +6 -2
  239. data/app/models/spree/store.rb +70 -19
  240. data/app/models/spree/store_credit.rb +13 -13
  241. data/app/models/spree/store_credit_event.rb +5 -5
  242. data/app/models/spree/supplier.rb +1 -0
  243. data/app/models/spree/tax_category.rb +1 -0
  244. data/app/models/spree/tax_exemption_certificate.rb +3 -0
  245. data/app/models/spree/tax_identifier.rb +3 -1
  246. data/app/models/spree/tax_line.rb +53 -3
  247. data/app/models/spree/tax_provider/base.rb +71 -14
  248. data/app/models/spree/tax_provider/internal.rb +70 -41
  249. data/app/models/spree/tax_provider/recorded_share.rb +114 -0
  250. data/app/models/spree/tax_rate.rb +30 -8
  251. data/app/models/spree/taxon.rb +1 -1
  252. data/app/models/spree/taxonomy.rb +0 -1
  253. data/app/models/spree/update_status.rb +25 -0
  254. data/app/models/spree/variant.rb +10 -12
  255. data/app/models/spree/variant_media.rb +1 -1
  256. data/app/models/spree/webhook_delivery.rb +1 -0
  257. data/app/models/spree/webhook_endpoint.rb +46 -13
  258. data/app/models/spree/wishlist.rb +1 -6
  259. data/app/models/spree/wishlist_item/custom_events.rb +6 -0
  260. data/app/presenters/spree/csv/customer_presenter.rb +1 -1
  261. data/app/presenters/spree/csv/newsletter_subscriber_presenter.rb +1 -1
  262. data/app/presenters/spree/csv/order_line_item_presenter.rb +10 -6
  263. data/app/presenters/spree/csv/price_list_price_presenter.rb +3 -8
  264. data/app/presenters/spree/csv/product_variant_presenter.rb +59 -20
  265. data/app/presenters/spree/csv/purchase_order_item_presenter.rb +1 -3
  266. data/app/serializers/spree/emails/base_serializer.rb +14 -0
  267. data/app/serializers/spree/emails/export_serializer.rb +13 -0
  268. data/app/serializers/spree/emails/import_serializer.rb +19 -0
  269. data/app/serializers/spree/emails/invitation_serializer.rb +28 -0
  270. data/app/serializers/spree/emails/store_serializer.rb +31 -0
  271. data/app/serializers/spree/emails/user_serializer.rb +12 -0
  272. data/app/serializers/spree/emails/webhook_endpoint_serializer.rb +16 -0
  273. data/app/services/spree/carts/create.rb +8 -2
  274. data/app/services/spree/carts/destroy.rb +2 -2
  275. data/app/services/spree/carts/remove_out_of_stock_items.rb +2 -2
  276. data/app/services/spree/carts/split_by_seller.rb +1 -1
  277. data/app/services/spree/carts/update.rb +22 -8
  278. data/app/services/spree/catalogs/set_product_terms.rb +1 -1
  279. data/app/services/spree/categories/add_products.rb +13 -31
  280. data/app/services/spree/categories/remove_products.rb +12 -51
  281. data/app/services/spree/checkout/advance.rb +1 -4
  282. data/app/services/spree/collections/add_products.rb +10 -23
  283. data/app/services/spree/collections/remove_products.rb +7 -43
  284. data/app/services/spree/coupon_codes/bulk_generate.rb +8 -14
  285. data/app/services/spree/data_requests/create.rb +1 -1
  286. data/app/services/spree/deliveries/destroy.rb +2 -2
  287. data/app/services/spree/email_templates/check.rb +58 -0
  288. data/app/services/spree/email_templates/no_sample_record.rb +7 -0
  289. data/app/services/spree/email_templates/preview.rb +99 -0
  290. data/app/services/spree/emails/file_system.rb +23 -0
  291. data/app/services/spree/emails/filters.rb +84 -0
  292. data/app/services/spree/emails/liquid_context.rb +48 -0
  293. data/app/services/spree/emails/rendered_email.rb +14 -0
  294. data/app/services/spree/emails/renderer.rb +125 -0
  295. data/app/services/spree/emails/template.rb +51 -0
  296. data/app/services/spree/emails/template_data.rb +23 -0
  297. data/app/services/spree/emails/template_resolver.rb +109 -0
  298. data/app/services/spree/emails/text_converter.rb +72 -0
  299. data/app/services/spree/emails/translation_inliner.rb +134 -0
  300. data/app/services/spree/imports/row_processors/price_list_price.rb +10 -10
  301. data/app/services/spree/imports/row_processors/product_variant.rb +77 -34
  302. data/app/services/spree/imports/row_processors/purchase_order.rb +13 -13
  303. data/app/services/spree/locales.rb +43 -10
  304. data/app/services/spree/newsletter/subscribe.rb +8 -12
  305. data/app/services/spree/orders/build_fulfillments.rb +3 -2
  306. data/app/services/spree/orders/create.rb +5 -4
  307. data/app/services/spree/orders/discounts/create.rb +14 -11
  308. data/app/services/spree/orders/discounts/destroy.rb +1 -0
  309. data/app/services/spree/orders/discounts/update.rb +1 -0
  310. data/app/services/spree/orders/fees/create.rb +1 -0
  311. data/app/services/spree/orders/fees/destroy.rb +1 -0
  312. data/app/services/spree/orders/fees/update.rb +1 -0
  313. data/app/services/spree/orders/remove_line_item.rb +13 -3
  314. data/app/services/spree/orders/update.rb +10 -6
  315. data/app/services/spree/orders/update_item.rb +6 -3
  316. data/app/services/spree/orders/update_statuses.rb +3 -1
  317. data/app/services/spree/prices/bulk_upsert.rb +32 -25
  318. data/app/services/spree/product_memberships.rb +61 -0
  319. data/app/services/spree/returns/eligibility_validator.rb +1 -1
  320. data/app/services/spree/search_provider/custom_field_schema.rb +2 -2
  321. data/app/services/spree/seeds/commission_rates.rb +1 -1
  322. data/app/services/spree/seeds/digital_delivery.rb +1 -1
  323. data/app/services/spree/seeds/payment_methods.rb +2 -2
  324. data/app/services/spree/seeds/saved_reports.rb +3 -3
  325. data/app/services/spree/seeds/stores.rb +1 -1
  326. data/app/services/spree/sellers/requirements.rb +1 -2
  327. data/app/services/spree/shipping_labels/confirm_refund.rb +1 -1
  328. data/app/services/spree/shipping_labels/store_file.rb +3 -3
  329. data/app/services/spree/stock_levels/correct.rb +3 -3
  330. data/app/services/spree/stock_reservations/reserve.rb +2 -3
  331. data/app/services/spree/store_credits/apply.rb +15 -13
  332. data/app/services/spree/stores/provision_defaults.rb +23 -25
  333. data/app/services/spree/update_check.rb +160 -0
  334. data/app/services/spree/uploads/assign_stores.rb +92 -0
  335. data/app/subscribers/spree/seller_onboarding_subscriber.rb +1 -1
  336. data/app/validators/spree/attachment_content_type_validator.rb +19 -2
  337. data/app/validators/spree/locale_codes_validator.rb +22 -0
  338. data/app/views/layouts/spree/base_mailer.html.erb +2 -43
  339. data/app/views/layouts/spree/base_mailer.liquid +79 -0
  340. data/app/views/spree/admin_user_mailer/password_reset_email.liquid +14 -0
  341. data/app/views/spree/export_mailer/export_done.liquid +12 -0
  342. data/app/views/spree/import_mailer/import_done.liquid +15 -0
  343. data/app/views/spree/invitation_mailer/invitation_accepted.liquid +9 -0
  344. data/app/views/spree/invitation_mailer/invitation_email.liquid +13 -0
  345. data/app/views/spree/seller_user_mailer/password_reset_email.liquid +14 -0
  346. data/app/views/spree/shared/_mailer_button.html.erb +4 -5
  347. data/app/views/spree/shared/_mailer_hero.html.erb +6 -5
  348. data/app/views/spree/shared/_summary_row.liquid +8 -0
  349. data/app/views/spree/webhook_mailer/endpoint_disabled.liquid +21 -0
  350. data/app/workflows/spree/carts/add_item.rb +4 -4
  351. data/app/workflows/spree/carts/complete.rb +13 -3
  352. data/app/workflows/spree/carts/merge.rb +1 -1
  353. data/app/workflows/spree/carts/recalculate_totals.rb +5 -0
  354. data/app/workflows/spree/carts/upsert_items.rb +18 -9
  355. data/app/workflows/spree/claims/approve.rb +5 -22
  356. data/app/workflows/spree/claims/cancel.rb +5 -21
  357. data/app/workflows/spree/claims/create.rb +15 -0
  358. data/app/workflows/spree/claims/deny.rb +7 -0
  359. data/app/workflows/spree/claims/resolve.rb +34 -31
  360. data/app/workflows/spree/customers/anonymize.rb +3 -4
  361. data/app/workflows/spree/customers/create.rb +1 -1
  362. data/app/workflows/spree/data_requests/fulfill.rb +2 -2
  363. data/app/workflows/spree/deliveries/update_tracking.rb +1 -1
  364. data/app/workflows/spree/email_templates/discard_draft.rb +20 -0
  365. data/app/workflows/spree/email_templates/publish.rb +70 -0
  366. data/app/workflows/spree/email_templates/restore_revision.rb +33 -0
  367. data/app/workflows/spree/email_templates/revert.rb +29 -0
  368. data/app/workflows/spree/email_templates/save_draft.rb +85 -0
  369. data/app/workflows/spree/exchanges/approve.rb +5 -22
  370. data/app/workflows/spree/exchanges/cancel.rb +5 -21
  371. data/app/workflows/spree/exchanges/create.rb +6 -0
  372. data/app/workflows/spree/exchanges/fulfill.rb +75 -51
  373. data/app/workflows/spree/exchanges/receive.rb +6 -65
  374. data/app/workflows/spree/fulfillments/cancel.rb +1 -1
  375. data/app/workflows/spree/fulfillments/create.rb +53 -49
  376. data/app/workflows/spree/fulfillments/fulfill.rb +23 -27
  377. data/app/workflows/spree/fulfillments/mark_delivered.rb +1 -1
  378. data/app/workflows/spree/fulfillments/replacements.rb +59 -0
  379. data/app/workflows/spree/gift_cards/apply.rb +2 -2
  380. data/app/workflows/spree/orders/add_item.rb +5 -1
  381. data/app/workflows/spree/orders/cancel.rb +3 -3
  382. data/app/workflows/spree/orders/complete.rb +16 -8
  383. data/app/workflows/spree/payments/capture.rb +20 -5
  384. data/app/workflows/spree/payments/process.rb +5 -3
  385. data/app/workflows/spree/post_sale/approval.rb +35 -0
  386. data/app/workflows/spree/post_sale/cancellation.rb +44 -0
  387. data/app/workflows/spree/post_sale/receipt.rb +92 -0
  388. data/app/workflows/spree/price_lists/update.rb +4 -4
  389. data/app/workflows/spree/products/nested_attributes.rb +1 -1
  390. data/app/workflows/spree/purchase_orders/cancel.rb +1 -1
  391. data/app/workflows/spree/purchase_orders/close.rb +3 -31
  392. data/app/workflows/spree/purchase_orders/create.rb +3 -1
  393. data/app/workflows/spree/purchase_orders/mark_draft.rb +2 -2
  394. data/app/workflows/spree/purchase_orders/mark_ordered.rb +2 -2
  395. data/app/workflows/spree/purchase_orders/receive.rb +1 -1
  396. data/app/workflows/spree/purchase_orders/update.rb +5 -34
  397. data/app/workflows/spree/receivables/closing_short.rb +46 -0
  398. data/app/workflows/spree/receivables/draft_editing.rb +48 -0
  399. data/app/workflows/spree/refunds/create.rb +5 -2
  400. data/app/workflows/spree/refunds/order_payments.rb +14 -2
  401. data/app/workflows/spree/refunds/tax_credit.rb +67 -0
  402. data/app/workflows/spree/returns/approve.rb +5 -22
  403. data/app/workflows/spree/returns/cancel.rb +5 -22
  404. data/app/workflows/spree/returns/create.rb +8 -0
  405. data/app/workflows/spree/returns/receive.rb +5 -76
  406. data/app/workflows/spree/returns/refund.rb +31 -8
  407. data/app/workflows/spree/seller_requirement_submissions/create.rb +1 -2
  408. data/app/workflows/spree/seller_transfers/reverse.rb +28 -1
  409. data/app/workflows/spree/shipping_labels/purchase.rb +8 -8
  410. data/app/workflows/spree/shipping_labels/record.rb +7 -7
  411. data/app/workflows/spree/shipping_labels/refund.rb +2 -2
  412. data/app/workflows/spree/stock_receipts/recording.rb +4 -4
  413. data/app/workflows/spree/stock_transfers/cancel.rb +2 -2
  414. data/app/workflows/spree/stock_transfers/close.rb +3 -30
  415. data/app/workflows/spree/stock_transfers/create.rb +3 -1
  416. data/app/workflows/spree/stock_transfers/mark_draft.rb +1 -1
  417. data/app/workflows/spree/stock_transfers/mark_in_transit.rb +3 -3
  418. data/app/workflows/spree/stock_transfers/mark_ready.rb +2 -2
  419. data/app/workflows/spree/stock_transfers/receive.rb +1 -1
  420. data/app/workflows/spree/stock_transfers/update.rb +5 -33
  421. data/config/currency_exponents.json +180 -0
  422. data/config/i18n-tasks.yml +32 -18
  423. data/config/initializers/alba.rb +7 -0
  424. data/config/language_names.csv +264 -0
  425. data/config/locales/ar.yml +811 -0
  426. data/config/locales/be.yml +855 -0
  427. data/config/locales/bg.yml +723 -0
  428. data/config/locales/ca.yml +689 -0
  429. data/config/locales/content_locales.rb +9 -0
  430. data/config/locales/cs.yml +855 -0
  431. data/config/locales/da.yml +771 -0
  432. data/config/locales/de-CH.yml +248 -0
  433. data/config/locales/de.yml +835 -0
  434. data/config/locales/el.yml +769 -0
  435. data/config/locales/en.yml +47 -505
  436. data/config/locales/es-CL.yml +301 -0
  437. data/config/locales/es-EC.yml +186 -0
  438. data/config/locales/es-MX.yml +334 -0
  439. data/config/locales/es.yml +831 -0
  440. data/config/locales/et.yml +644 -0
  441. data/config/locales/fa.yml +709 -0
  442. data/config/locales/fi.yml +771 -0
  443. data/config/locales/fr.yml +830 -0
  444. data/config/locales/hu.yml +751 -0
  445. data/config/locales/id.yml +756 -0
  446. data/config/locales/it.yml +833 -0
  447. data/config/locales/ja.yml +726 -0
  448. data/config/locales/km.yml +759 -0
  449. data/config/locales/ko.yml +575 -0
  450. data/config/locales/ku.yml +753 -0
  451. data/config/locales/lt.yml +821 -0
  452. data/config/locales/lv.yml +685 -0
  453. data/config/locales/nb.yml +824 -0
  454. data/config/locales/ne.yml +823 -0
  455. data/config/locales/nl.yml +826 -0
  456. data/config/locales/pl.yml +835 -0
  457. data/config/locales/pt-BR.yml +547 -0
  458. data/config/locales/pt.yml +636 -0
  459. data/config/locales/ro.yml +750 -0
  460. data/config/locales/ru.yml +834 -0
  461. data/config/locales/sk.yml +680 -0
  462. data/config/locales/sl-SI.yml +600 -0
  463. data/config/locales/sv.yml +827 -0
  464. data/config/locales/th.yml +745 -0
  465. data/config/locales/tr.yml +777 -0
  466. data/config/locales/uk.yml +836 -0
  467. data/config/locales/vi.yml +768 -0
  468. data/config/locales/zh-CN.yml +786 -0
  469. data/config/locales/zh-TW.yml +834 -0
  470. data/db/migrate/20260925000001_add_replacement_to_spree_fulfillment_items.rb +5 -0
  471. data/db/migrate/20261001000001_add_post_sale_tax.rb +30 -0
  472. data/db/migrate/20261001000001_convert_preferences_to_json.rb +166 -0
  473. data/db/migrate/20261001000001_create_spree_email_templates.rb +52 -0
  474. data/db/migrate/20261009000001_change_money_columns_to_decimal_19_4.rb +116 -0
  475. data/db/migrate/20261010000001_add_store_id_to_active_storage_blobs.rb +12 -0
  476. data/lib/generators/spree/dummy/dummy_generator.rb +0 -9
  477. data/lib/generators/spree/dummy/templates/rails/test.rb +26 -0
  478. data/lib/spree/checkout/default_requirements.rb +37 -13
  479. data/lib/spree/core/configuration.rb +19 -1
  480. data/lib/spree/core/controller_helpers/store.rb +1 -1
  481. data/lib/spree/core/dependencies.rb +5 -4
  482. data/lib/spree/core/emails/escaped_output.rb +60 -0
  483. data/lib/spree/core/engine.rb +72 -165
  484. data/lib/spree/core/permissions/default_catalog.rb +5 -0
  485. data/lib/spree/core/preferences/invalid_preferences.rb +18 -0
  486. data/lib/spree/core/preferences/json_conversion.rb +186 -0
  487. data/lib/spree/core/preferences/masking.rb +55 -2
  488. data/lib/spree/core/preferences/preferable.rb +343 -103
  489. data/lib/spree/core/preferences/preferable_class_methods.rb +188 -136
  490. data/lib/spree/core/previews/import_preview.rb +10 -0
  491. data/lib/spree/core/ransack_configuration.rb +13 -2
  492. data/lib/spree/core/tax/provider_error.rb +37 -0
  493. data/lib/spree/core/version.rb +1 -1
  494. data/lib/spree/core.rb +91 -373
  495. data/lib/spree/emails/editable_templates.rb +82 -0
  496. data/lib/spree/events/catalog.rb +189 -0
  497. data/lib/spree/events.rb +21 -1
  498. data/lib/spree/hooks.rb +0 -17
  499. data/lib/spree/i18n.rb +32 -15
  500. data/lib/spree/iso_data.rb +7 -0
  501. data/lib/spree/localized_number.rb +6 -0
  502. data/lib/spree/migrations.rb +4 -1
  503. data/lib/spree/money.rb +196 -15
  504. data/lib/spree/reporting/adapters/base.rb +7 -6
  505. data/lib/spree/reporting/adapters/live.rb +6 -6
  506. data/lib/spree/reporting/default_vocabulary.rb +22 -10
  507. data/lib/spree/reporting/hydration.rb +1 -1
  508. data/lib/spree/reporting/query.rb +8 -0
  509. data/lib/spree/reporting/registry.rb +13 -0
  510. data/lib/spree/reporting/schema.rb +10 -10
  511. data/lib/spree/testing_support/editable_email_templates.rb +61 -0
  512. data/lib/spree/testing_support/emails.rb +22 -0
  513. data/lib/spree/testing_support/factories/cart_factory.rb +1 -1
  514. data/lib/spree/testing_support/factories/email_template_factory.rb +28 -0
  515. data/lib/spree/testing_support/factories/order_factory.rb +2 -2
  516. data/lib/spree/testing_support/factories/product_factory.rb +9 -0
  517. data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
  518. data/lib/spree/testing_support/factories/stock_factory.rb +1 -1
  519. data/lib/spree/testing_support/factories/variant_factory.rb +1 -1
  520. data/lib/spree/testing_support/i18n.rb +3 -94
  521. data/lib/spree/testing_support/lifecycle_events.rb +1 -1
  522. data/lib/spree/testing_support/order_walkthrough.rb +1 -1
  523. data/lib/spree/testing_support/preferences.rb +0 -5
  524. data/lib/spree/testing_support/store.rb +9 -1
  525. data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +67 -1
  526. data/lib/spree/uploads.rb +101 -0
  527. data/lib/tasks/categories_and_collections.rake +3 -3
  528. data/lib/tasks/core.rake +6 -4
  529. data/lib/tasks/markets.rake +2 -1
  530. data/lib/tasks/media.rake +3 -3
  531. data/lib/tasks/migrate_users_to_customers.rake +23 -18
  532. data/lib/tasks/money.rake +46 -0
  533. data/lib/tasks/package_types.rake +1 -1
  534. data/lib/tasks/preferences_json.rake +101 -0
  535. data/lib/tasks/seller_sample_data.rake +2 -2
  536. data/lib/tasks/store_settings.rake +13 -6
  537. data/lib/tasks/typed_adjustments_migration.rake +1 -1
  538. data/lib/tasks/uploads.rake +19 -0
  539. data/spec/fixtures/mailer_views/custom_views_probe_mailer/welcome_email.html.erb +4 -0
  540. metadata +219 -46
  541. data/app/jobs/spree/products/touch_categories_job.rb +0 -15
  542. data/app/jobs/spree/products/touch_taxons_job.rb +0 -13
  543. data/app/models/acts_as_taggable_on/tag_decorator.rb +0 -10
  544. data/app/models/concerns/spree/has_image_alt_text.rb +0 -18
  545. data/app/models/spree/base_analytics_event_handler.rb +0 -54
  546. data/app/models/spree/invitations/store.rb +0 -6
  547. data/app/models/spree/preference.rb +0 -14
  548. data/app/models/spree/promotion_handler/page.rb +0 -25
  549. data/app/models/spree/promotion_handler/promotion_duplicator.rb +0 -60
  550. data/app/models/spree/stock/differentiator.rb +0 -45
  551. data/app/presenters/spree/filters/options_presenter.rb +0 -47
  552. data/app/services/spree/carts/empty.rb +0 -42
  553. data/app/services/spree/country_to_timezone.rb +0 -273
  554. data/app/services/spree/payments/create.rb +0 -92
  555. data/app/validators/spree/url_validator.rb +0 -23
  556. data/app/views/active_storage/blobs/_blob.html.erb +0 -14
  557. data/app/views/spree/admin_user_mailer/password_reset_email.html.erb +0 -8
  558. data/app/views/spree/export_mailer/export_done.html.erb +0 -7
  559. data/app/views/spree/import_mailer/import_done.html.erb +0 -12
  560. data/app/views/spree/invitation_mailer/invitation_accepted.html.erb +0 -4
  561. data/app/views/spree/invitation_mailer/invitation_email.html.erb +0 -12
  562. data/app/views/spree/seller_user_mailer/password_reset_email.html.erb +0 -8
  563. data/app/views/spree/shared/_base_mailer_footer.html.erb +0 -19
  564. data/app/views/spree/shared/_base_mailer_header.html.erb +0 -8
  565. data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +0 -399
  566. data/app/views/spree/shared/_mailer_logo.html.erb +0 -41
  567. data/app/views/spree/shared/_purchased_items_styles.html.erb +0 -119
  568. data/app/views/spree/webhook_mailer/endpoint_disabled.html.erb +0 -51
  569. data/app/views/spree/webhook_mailer/endpoint_disabled.text.erb +0 -10
  570. data/app/workflows/spree/fulfillments/purchase_label.rb +0 -40
  571. data/app/workflows/spree/returns/purchase_label.rb +0 -32
  572. data/lib/spree/analytics.rb +0 -11
  573. data/lib/spree/core/preferences/scoped_store.rb +0 -34
  574. data/lib/spree/core/preferences/store.rb +0 -105
  575. data/lib/spree/translation_migrations.rb +0 -52
@@ -0,0 +1,759 @@
1
+ ---
2
+ km:
3
+ activemodel:
4
+ errors:
5
+ messages:
6
+ blank: មិនអាចទុកឱ្យទទេបានទេ
7
+ activerecord:
8
+ attributes:
9
+ spree/address:
10
+ address1: អាសយដ្ឋាន
11
+ address2: អាសយដ្ឋាន (បន្ត)
12
+ city: ស្រុក/ក្រុង
13
+ company: ក្រុមហ៊ុន
14
+ country: ប្រទេស
15
+ label: ឈ្មោះអាសយដ្ឋាន
16
+ phone: ទូរស័ព្ទ
17
+ state: ខេត្ត/រដ្ឋ
18
+ spree/country:
19
+ iso: ISO
20
+ iso3: ISO3
21
+ iso_name: ឈ្មោះ ISO
22
+ name: ឈ្មោះ
23
+ numcode: កូដ ISO
24
+ spree/credit_card:
25
+ cc_type: ប្រភេទ
26
+ month: ខែ
27
+ number: លេខ
28
+ verification_value: ទិន្នន័យផ្ទៀងផ្ទាត់
29
+ year: ឆ្នាំ
30
+ spree/customer_group:
31
+ description: ការពិពណ៌នា
32
+ name: ឈ្មោះ
33
+ spree/gift_card:
34
+ amount_used: ចំនួនទឹកប្រាក់ដែលបានប្រើ
35
+ expires_at: ផុតកំណត់នៅ
36
+ spree/import:
37
+ preferred_delimiter: សញ្ញាបំបែក
38
+ spree/import_mapping:
39
+ file_column: ជួរឈរឯកសារ
40
+ schema_field: វាលគ្រោងឆ្អឹង
41
+ spree/import_row:
42
+ row_number: លេខ
43
+ spree/inventory_unit:
44
+ state: ខេត្ត/រដ្ឋ
45
+ spree/invitation:
46
+ inviter: អ្នកអញ្ជើញ
47
+ spree/line_item:
48
+ price: តម្លៃ
49
+ quantity: ចំនួន
50
+ spree/option_type:
51
+ filterable: អាចត្រងបាន
52
+ kind: ប្រភេទ
53
+ name: ឈ្មោះ
54
+ spree/option_value:
55
+ color_code: កូដពណ៌
56
+ image: រូបភាពគំរូ
57
+ spree/order:
58
+ checkout_complete: បានបង់ប្រាក់រួច
59
+ completed_at: បង់កាល
60
+ coupon_code: កូដបញ្ចុះតម្លៃ
61
+ created_at: ថ្ងៃបញ្ជា
62
+ email: អ៊ីម៉ែលរបស់អតិថិជន
63
+ internal_note: កំណត់ចំណាំផ្ទៃក្នុង
64
+ ip_address: លេខ IP
65
+ item_count: ទំនិញ
66
+ item_total: ទំនិញសរុប
67
+ number: លេខ
68
+ payment_state: ការបង់ប្រាក់
69
+ shipment_state: ស្ថានភាព​នៃការ​ដឹកជញ្ជូន
70
+ special_instructions: សេចក្ដីណែនាំ​ពិសេស
71
+ state: ខេត្ត/រដ្ឋ
72
+ total: សរុប
73
+ spree/order/bill_address:
74
+ address1: អាសយដ្ឋានទូរទាត់ លេខផ្លូវ
75
+ city: អាសយដ្ឋានទូរទាត់ ស្រុក/ក្រុង
76
+ phone: អាសយដ្ឋានទូរទាត់ ទូរស័ព្ទ
77
+ state: អាសយដ្ឋានទូរទាត់ ខេត្ត/រដ្ឋ
78
+ spree/order/ship_address:
79
+ address1: អាសយដ្ឋានទទួលទំនិញ លេខផ្លូវ
80
+ city: អាសយដ្ឋានទទួលទំនិញ ស្រុក/ក្រុង
81
+ phone: អាសយដ្ឋានទទួលទំនិញ ទូរស័ព្ទ
82
+ state: អាសយដ្ឋានទទួលទំនិញ ខេត្ត/រឮ
83
+ spree/payment:
84
+ amount: តម្លៃ
85
+ number: លេខ
86
+ spree/payment_method:
87
+ name: វិធីបង់ប្រាក់
88
+ spree/policy:
89
+ body: មាតិកា
90
+ owner: គោលការណ៍សម្រាប់
91
+ spree/price_list:
92
+ description: ការពិពណ៌នា
93
+ ends_at: បញ្ចប់នៅ
94
+ match_policy: គោលការណ៍ផ្គូផ្គង
95
+ name: ឈ្មោះ
96
+ priority: អាទិភាព
97
+ starts_at: ចាប់ផ្តើមនៅ
98
+ status: ស្ថានភាព
99
+ spree/price_rule:
100
+ priority: អាទិភាព
101
+ type: ប្រភេទ
102
+ spree/product:
103
+ available_on: មានសុពលភាព​នៅ
104
+ cost_currency: រូបិយវត្ថុ
105
+ cost_price: តម្លៃនាំចូល
106
+ description: ពិពណ៌នា
107
+ discontinue_on: ឈប់លក់នៅ
108
+ less_than: តិចជាង
109
+ make_active_at: ធ្វើឱ្យសកម្មនៅ
110
+ master_price: តម្លៃលក់
111
+ more_than: ច្រើនជាង
112
+ name: ឈ្មោះទំនិញ
113
+ on_hand: នៅក្នុងឃ្លាំង
114
+ tax_category: ប្រភេទពន្ធ
115
+ spree/promotion:
116
+ advertise: ការផ្សាយពាជ្ជកម្ម
117
+ code: កូដ
118
+ description: ពិពណ៌នា
119
+ event_name: ឈ្មោះព្រិត្តិការណ៍
120
+ expires_at: ផុតសុពលភាព​នៅ
121
+ generate_code: បង្កើតកូដបញ្ចុះតម្លៃ
122
+ name: ឈ្មោះ
123
+ path: អាសយដ្ឋានឯកសារ
124
+ promotion_category: ប្រភេទប្រូម៉ូសិន
125
+ starts_at: ចាប់ផ្ដើមនៅ
126
+ usage_limit: កំណត់​ការ​ប្រើប្រាស់
127
+ spree/promotion_category:
128
+ code: កូដ
129
+ name: ប្រភេទប្រម៉ូសិន
130
+ spree/property:
131
+ name: ឈ្មោះ
132
+ presentation: បង្ហាញជា
133
+ spree/role:
134
+ name: ឈ្មោះ
135
+ spree/shipment:
136
+ number: លេខ
137
+ spree/state:
138
+ abbr: សរសេរកាត់
139
+ name: ឈ្មោះ
140
+ spree/store:
141
+ address: អាសយដ្ឋាន
142
+ contact_phone: ទូរស័ព្ទទំនាក់ទំនង
143
+ name: ឈ្មោះ
144
+ preferred_digital_asset_authorized_clicks: ដែនកំណត់ចំនួនការទាញយក
145
+ preferred_digital_asset_authorized_days: ដែនកំណត់ចំនួនថ្ងៃទាញយក
146
+ preferred_limit_digital_download_count: កំណត់ចំនួនការទាញយកតំណឌីជីថល
147
+ preferred_limit_digital_download_days: កំណត់ចំនួនថ្ងៃទាញយកតំណឌីជីថល
148
+ seo_robots: SEO Robots
149
+ seo_title: ដាក់ចំណងជើង SEO
150
+ storefront_custom_code_body_end: កូដផ្ទាល់ខ្លួនមុនពេលបិទ tag body
151
+ storefront_custom_code_body_start: កូដផ្ទាល់ខ្លួនបន្ទាប់ពីបើក tag body
152
+ storefront_custom_code_head: កូដផ្ទាល់ខ្លួននៅក្នុង head របស់ទំព័រ
153
+ spree/store_credit:
154
+ amount_used: ចំនួនទឹកប្រាក់ដែលបានប្រើ
155
+ spree/tax_category:
156
+ description: ចំណាំ
157
+ name: ឈ្មោះ
158
+ spree/tax_rate:
159
+ amount: អត្រា
160
+ included_in_price: ត្រូវបានបូកបញ្ចូលក្នុងតម្លៃ
161
+ show_rate_in_label: បង្ហាញក្នុងស្លាកតម្លៃ
162
+ spree/taxon:
163
+ name: ឈ្មោះ
164
+ permalink: ភ្ជាប់បង្ហាញ (Permalink)
165
+ position: ទីតាំង
166
+ sort_order: លំដាប់តម្រៀប
167
+ spree/taxonomy:
168
+ name: ឈ្មោះ
169
+ spree/user:
170
+ avatar: រូបតំណាង
171
+ email: អ៊ីម៉ែល
172
+ password: ពាក្យសម្ងាត់
173
+ password_confirmation: បញ្ជាក់ពាក្យសម្ងាត់ម្ដងទៀត
174
+ spree/variant:
175
+ cost_currency: រូបិយវត្ថុ
176
+ cost_price: តម្លៃនាំចូល
177
+ depth: ជម្រៅ
178
+ height: កម្ពស់
179
+ price: តម្លៃលក់
180
+ sku: កូដ
181
+ weight: ទម្ងន់
182
+ width: ប្រវែង
183
+ spree/zone:
184
+ description: ពិពណ៌នា
185
+ name: ឈ្មោះតំបន់
186
+ user:
187
+ current_sign_in: ការចូលបច្ចុប្បន្ននៅ
188
+ last_sign_in: ការចូលចុងក្រោយនៅ
189
+ sign_in_count: ចំនួនការចូល
190
+ errors:
191
+ messages:
192
+ blank: មិនអាចទុកឱ្យទទេបានទេ
193
+ models:
194
+ spree/allowed_origin:
195
+ attributes:
196
+ origin:
197
+ must_be_origin_only: ត្រូវតែជា origin (scheme និង host) ដោយគ្មាន path, query ឬ fragment
198
+ spree/credit_card:
199
+ attributes:
200
+ base:
201
+ card_expired: ប័ណ្ណអស់សុពលភាព
202
+ expiry_invalid: ការផុតកំណត់មិនត្រឹមត្រូវ
203
+ spree/gift_card:
204
+ attributes:
205
+ base:
206
+ cannot_destroy_used_gift_card: មិនអាចលុបកាតអំណោយដែលបានប្រើរួចបានទេ
207
+ spree/import:
208
+ attributes:
209
+ attachment:
210
+ content_type: មានប្រភេទមាតិកាដែលមិនត្រូវបានអនុញ្ញាត
211
+ type:
212
+ inclusion: មិនមាននៅក្នុងបញ្ជីប្រភេទដែលត្រូវបានអនុញ្ញាត
213
+ spree/market:
214
+ attributes:
215
+ base:
216
+ cannot_destroy_default_market: មិនអាចលុបទីផ្សារលំនាំដើមបានទេ។
217
+ cannot_destroy_last_market: មិនអាចលុបទីផ្សារតែមួយគត់បានទេ។
218
+ spree/market_country:
219
+ attributes:
220
+ country:
221
+ already_in_market: ត្រូវបានកំណត់ទៅទីផ្សារផ្សេងទៀតក្នុងហាងនេះរួចហើយ
222
+ not_in_shipping_zone: មិនត្រូវបានគ្របដណ្តប់ដោយតំបន់ដឹកជញ្ជូនណាមួយឡើយ។ សូមរៀបចំតំបន់ដឹកជញ្ជូនជាមុនសិន។
223
+ spree/payment:
224
+ attributes:
225
+ amount:
226
+ greater_than_max_amount: ច្រើនជាងចំនួនអតិបរមាដែលអនុញ្ញាត %{max_amount}
227
+ spree/price_list:
228
+ attributes:
229
+ ends_at:
230
+ must_be_after_starts_at: ត្រូវតែបន្ទាប់ពីពេលចាប់ផ្តើម
231
+ spree/product:
232
+ attributes:
233
+ base:
234
+ cannot_destroy_if_attached_to_line_items: មិនអាចលុបផលិតផលដែលត្រូវបានបន្ថែមទៅការបញ្ជាទិញដែលបានដាក់បានទេ។ ក្នុងករណីបែបនេះ សូមឈប់លក់វា។
235
+ discontinue_on:
236
+ invalid_date_range: ត្រូវតែយឺតជាងកាលបរិច្ឆេទដែលមាន
237
+ spree/product_publication:
238
+ attributes:
239
+ unpublished_at:
240
+ must_be_after_published_at: ត្រូវតែបន្ទាប់ពីកាលបរិច្ឆេទផ្សាយ
241
+ spree/promotion:
242
+ attributes:
243
+ expires_at:
244
+ invalid_date_range: ត្រូវតែយឺតជាងកាលបរិច្ឆេទចាប់ផ្តើម
245
+ spree/store:
246
+ attributes:
247
+ base:
248
+ cannot_destroy_only_store: មិនអាចលុបហាងតែមួយគត់បានទេ។
249
+ spree/store_credit:
250
+ attributes:
251
+ amount_authorized:
252
+ exceeds_total_credits: លើសពីឥណទានសរុប។
253
+ amount_used:
254
+ cannot_be_greater_than_amount: មិនអាចច្រើនជាងចំនួនទឹកប្រាក់បានទេ។
255
+ greater_than_zero_restrict_delete: ច្រើនជាងសូន្យ។ មិនអាចលុបឥណទានហាងបានទេ។
256
+ spree/user:
257
+ attributes:
258
+ bill_address_id:
259
+ belongs_to_other_user: ជារបស់អ្នកប្រើផ្សេងទៀត
260
+ deprecated_in_completed_order: ត្រូវបានបោះបង់នៅក្នុងការបញ្ជាទិញដែលបានបញ្ចប់
261
+ ship_address_id:
262
+ belongs_to_other_user: ជារបស់អ្នកប្រើផ្សេងទៀត
263
+ deprecated_in_completed_order: ត្រូវបានបោះបង់នៅក្នុងការបញ្ជាទិញដែលបានបញ្ចប់
264
+ spree/variant:
265
+ attributes:
266
+ base:
267
+ cannot_destroy_if_attached_to_line_items: មិនអាចលុបវ៉ារ្យ៉ង់ដែលត្រូវបានបន្ថែមទៅការបញ្ជាទិញដែលបានដាក់បានទេ។ ក្នុងករណីបែបនេះ សូមឈប់លក់វា។
268
+ spree/webhook_endpoint:
269
+ attributes:
270
+ url:
271
+ internal_address_not_allowed: មិនត្រូវចង្អុលទៅអាសយដ្ឋានបណ្តាញផ្ទៃក្នុង ឬឯកជនទេ
272
+ models:
273
+ spree/address:
274
+ one: អាសយដ្ឋាន
275
+ other: អាសយដ្ឋាន
276
+ spree/classification:
277
+ one: ការចាត់ថ្នាក់
278
+ other: ការចាត់ថ្នាក់
279
+ spree/country:
280
+ one: ប្រទេស
281
+ other: ប្រទេស
282
+ spree/credit_card:
283
+ one: ប័ណ្ណឥណទាន
284
+ other: ប័ណ្ណឥណទាន
285
+ spree/customer_group:
286
+ one: ក្រុមអតិថិជន
287
+ other: ក្រុមអតិថិជន
288
+ spree/customer_group_user:
289
+ one: អ្នកប្រើក្រុមអតិថិជន
290
+ other: អ្នកប្រើក្រុមអតិថិជន
291
+ spree/export:
292
+ one: ការនាំចេញ
293
+ other: ការនាំចេញ
294
+ spree/integration:
295
+ one: ការរួមបញ្ចូល
296
+ other: ការរួមបញ្ចូល
297
+ spree/inventory_unit:
298
+ one: ឯកតារក្សា
299
+ other: ឯកតារក្សា
300
+ spree/line_item:
301
+ one:
302
+ other:
303
+ spree/option_type:
304
+ one: ប្រភេទជម្រើស
305
+ other: ប្រភេទជម្រើស
306
+ spree/option_value:
307
+ one: តម្លៃជម្រើស
308
+ other: តម្លៃជម្រើស
309
+ spree/order:
310
+ one: បញ្ជាទិញ
311
+ other: បញ្ជាទិញ
312
+ spree/payment:
313
+ one: ការទូរទាត់
314
+ other: ការទូរទាត់
315
+ spree/payment_method:
316
+ one: វិធីបង់ប្រាក់
317
+ other: វិធីបង់ប្រាក់
318
+ spree/price:
319
+ one: តម្លៃ
320
+ other: តម្លៃ
321
+ spree/price_list:
322
+ one: បញ្ជីតម្លៃ
323
+ other: បញ្ជីតម្លៃ
324
+ spree/price_rule:
325
+ one: ច្បាប់តម្លៃ
326
+ other: ច្បាប់តម្លៃ
327
+ spree/product:
328
+ one: ទំនិញ
329
+ other: ទំនិញ
330
+ spree/promotion:
331
+ one: ប្រូម៉ូសិន
332
+ other: ប្រូម៉ូសិន
333
+ spree/promotion_category:
334
+ one: ប្រភេទប្រូម៉ូសិន
335
+ other: ប្រភេទប្រូម៉ូសិន
336
+ spree/property:
337
+ one: លក្ខណៈ
338
+ other: លក្ខណៈ
339
+ spree/refund_reason:
340
+ one: មូលហេតុ​ដែល​សង​រទំនិញវិញ
341
+ other: មូលហេតុនៃការសងប្រាក់វិញ
342
+ spree/role:
343
+ one: តួរនាទី
344
+ other: តួរនាទី
345
+ spree/shipment:
346
+ one: ដឹកជញ្ជូន
347
+ other: ដឹកជញ្ជូន
348
+ spree/shipping_method:
349
+ one: វិធីដឹកជញ្ជូន
350
+ other: វិធីដឹកជញ្ជូន
351
+ spree/state:
352
+ one: ប្រទេស
353
+ other: ប្រទេស
354
+ spree/stock_location:
355
+ one: ទីតាំងស្តុក
356
+ other: ទីតាំងស្តុក
357
+ spree/stock_movement:
358
+ one: ចលនាស្តុក
359
+ other: ចលនាស្តុក
360
+ spree/stock_transfer:
361
+ one: ការផ្ទេរស្តុក
362
+ other: ការផ្ទេរស្តុក
363
+ spree/store:
364
+ one: ហាង
365
+ other: ហាង
366
+ spree/store_credit:
367
+ one: ឥណទានហាង
368
+ other: ឥណទានហាង
369
+ spree/tax_category:
370
+ one: ប្រភេទពន្ធ
371
+ other: ប្រភេទពន្ធ
372
+ spree/tax_rate:
373
+ one: អត្រាពន្អ
374
+ other: អត្រាពន្អ
375
+ spree/taxon:
376
+ one: ចំណាត់ថ្នាក់
377
+ other: ចំណាត់ថ្នាក់
378
+ spree/taxonomy:
379
+ one: ចំណាត់ថ្នាក់
380
+ other: ចំណាត់ថ្នាក់
381
+ spree/user:
382
+ one: អ្នកប្រើប្រាស់
383
+ other: អ្នកប្រើប្រាស់
384
+ spree/variant:
385
+ one: ប្រភេទ
386
+ other: ប្រភេទ
387
+ spree/zone:
388
+ one: តំបន់
389
+ other: តំបន់
390
+ errors:
391
+ messages:
392
+ already_confirmed: ត្រូវបានបញ្ជាក់រួចហើយ
393
+ not_found: មិនមានទេ
394
+ not_locked: ត្រូវបានបិទ
395
+ not_saved:
396
+ one: មានកំហុស​ មួយ ដែល​មិន​ឲ្យ​រក្សាទុក %{resource} មួយនេះ ៖
397
+ other: មាន​កំហុស %{count} ដែល​មិន​ឲ្យ​រក្សាទុក %{resource} មួយនេះ ៖
398
+ number:
399
+ percentage:
400
+ format:
401
+ precision: 1
402
+ spree:
403
+ accepts_email_marketing: ទទួលយកការផ្សាយពាណិជ្ជកម្មតាមអ៊ីមែល
404
+ account: គណនី
405
+ active: ដំណើរការ
406
+ address: អាសយដ្ឋាន
407
+ address1: អាសយដ្ឋាន
408
+ address2: អាសយដ្ឋាន (បន្ត)
409
+ adjustment: កែប្រែ
410
+ adjustment_labels:
411
+ tax_rates:
412
+ excluding_tax: "%{name}%{amount}"
413
+ including_tax: "%{name}%{amount} (រួមបញ្ចូលក្នុងតម្លៃ)"
414
+ adjustments_deleted: ការកែតម្រូវត្រូវបានលុប
415
+ all: ទាំងអស់
416
+ amount: តម្លៃ
417
+ api_key_no_current_key: គ្មាន API key ណាបានផ្ទៀងផ្ទាត់សំណើនេះទេ
418
+ api_key_scopes_immutable: មិនអាចផ្លាស់ប្តូរបានទេបន្ទាប់ពី key ត្រូវបានបង្កើត។ សូមបង្កើត key ថ្មីជាមួយ scopes ដែលអ្នកត្រូវការ ហើយដកហូត key នេះ
419
+ approver: បញ្ជាក់ដោយ
420
+ availability: ភាពអាចរកបាន
421
+ backorderable: អាចកក់មុនបាន
422
+ bill_address: អាសយដ្ឋានទទួលវិក្កយបត្រ
423
+ billing_address: អាសយដ្ឋានទូរទាត់
424
+ calculator: ម៉ាស៊ីនគិតលេខ
425
+ canceled: បានបោះបង់
426
+ canceler: បោះបង់ដោយ
427
+ cannot_be_destroyed: មិនអាចលុបការបញ្ជាទិញបានទេ។
428
+ capture: ទូទាត់ប្រាក់
429
+ cart: កន្ត្រក
430
+ cart_already_updated: រទេះត្រូវបានធ្វើបច្ចុប្បន្នភាពរួចហើយ។
431
+ cart_line_item:
432
+ delivery_unavailable: "%{li_name} មិនអាចដឹកជញ្ជូនទៅអាសយដ្ឋានដែលបានជ្រើសរើសបានទេ"
433
+ discontinued: "%{li_name} ត្រូវបានដកចេញ ដោយសារវាត្រូវបានឈប់លក់"
434
+ out_of_stock: "%{li_name} ត្រូវបានដកចេញ ដោយសារវាលក់អស់"
435
+ categories: ប្រភេទទំនិញ
436
+ category: ប្រភេទទំនិញ
437
+ channel: ឆានែលលក់
438
+ channels: ឆានែលលក់
439
+ checkout: បង់ប្រាក់
440
+ checkout_requirements:
441
+ email_required: តម្រូវឱ្យមានអាសយដ្ឋានអ៊ីមែល
442
+ line_items_required: បន្ថែមទំនិញយ៉ាងហោចណាស់មួយទៅរទេះរបស់អ្នក
443
+ payment_required: បន្ថែមវិធីបង់ប្រាក់
444
+ ship_address_required: តម្រូវឱ្យមានអាសយដ្ឋានដឹកជញ្ជូន
445
+ city: ក្រុង/ស្រុក
446
+ color_code: កូដពណ៌
447
+ company: ក្រុមហ៊ុន
448
+ compare_at_amount: ចំនួនទឹកប្រាក់ប្រៀបធៀប
449
+ compare_at_price: តម្លៃប្រៀបធៀប
450
+ complete: រួចរាលើ
451
+ confirm: បញ្ជាក់
452
+ cost_price: តម្លៃ
453
+ count_on_hand: ទំនិញ​ដែល​កំពុងមានស្រាប់
454
+ country: ប្រទេស
455
+ coupon_code: កូដបញ្ចុះតម្លៃ
456
+ coupon_code_already_applied: កូដបញ្ចុះតម្លៃត្រូវបានប្រើប្រាស់សម្រាប់ការបញ្ជាទិញនេះរួចហើយ ។
457
+ coupon_code_applied: កូដបញ្ចុះតម្លៃត្រូវបានអនុវត្ត​សម្រាប់ការបញ្ជាទិញរបស់អ្នកដោយជោគជ័យ ។
458
+ coupon_code_better_exists: កូដបញ្ចុះតម្លៃដែល​ប្រើមុន​ទទួល​បាន​ការ​បញ្ចុះតម្លៃច្រើនជាង ។
459
+ coupon_code_expired: កូដបញ្ចុះតម្លៃអស់សុពលភាព
460
+ coupon_code_max_usage: កូដបញ្ចុះតម្លៃ​អស់​ចំនួន​ប្រើប្រាស់
461
+ coupon_code_not_eligible: កូដបញ្ចុះតម្លៃមួយនេះ ពុំអាចប្រើប្រាស់សម្រាប់ការបញ្ជាទិញនេះទេ ។
462
+ coupon_code_not_found: កូដបញ្ចុះតម្លៃដែល​អ្នកបានបញ្ចូល​គ្មាន​នោះទេ ។ សូម​ព្យាយាមម្ដងទៀត ។
463
+ coupon_code_used: កូដគូប៉ុងដែលអ្នកបានបញ្ចូលត្រូវបានប្រើរួចហើយ។ សូមព្យាយាមម្តងទៀត។
464
+ created_at: បង្កើតកាល
465
+ credit_card: ប័ណ្ណឥណទាន
466
+ currency: រូបិយវត្ថុ
467
+ currency_not_supported_by_store: មិនត្រូវបានគាំទ្រដោយហាងនេះទេ
468
+ customer: អតិថិជន
469
+ customers: អតិថិជន
470
+ default: ទម្រង់ដើម
471
+ default_stock_location_name: ទីតាំងហាង
472
+ default_wishlist_name: បញ្ជីប្រាថ្នា
473
+ delivery: ដឹកជញ្ជូន
474
+ depth: ជម្រៅ
475
+ description: ពិពណ៌នា
476
+ destination: ទិសដៅ
477
+ destroy: លុបចោល
478
+ digital:
479
+ digital_delivery: ការដឹកជញ្ជូនឌីជីថល
480
+ digital_assets: ទ្រព្យសកម្មឌីជីថល
481
+ discontinued: បានឈប់លក់
482
+ discontinued_variants_present: ទំនិញខ្លះក្នុងការបញ្ជាទិញនេះមានផលិតផលដែលលែងមានទៀតហើយ។
483
+ display_delivery_range: ដឹកជញ្ជូនក្នុងរយៈពេល %{delivery_range} ថ្ងៃធ្វើការ
484
+ draft: សេចក្តីព្រាង
485
+ eligibility_errors:
486
+ messages:
487
+ no_matching_channel: កូដប័ណ្ណបញ្ចុះតម្លៃនេះមិនអាចប្រើបានសម្រាប់ឆានែលលក់នេះទេ។
488
+ no_matching_market: កូដប័ណ្ណបញ្ចុះតម្លៃនេះមិនអាចប្រើបាននៅក្នុងទីផ្សាររបស់អ្នកទេ។
489
+ wrong_country: កូដគូប៉ុងនេះមិនមានសិទ្ធិនៅក្នុងប្រទេសរបស់អ្នកទេ
490
+ email: អ៊ីម៉ែល
491
+ error: កំហុស
492
+ error_user_destroy_with_orders: មិនអាចលុបអ្នកប្រើដែលភ្ជាប់ជាមួយការបញ្ជាទិញបានទេ
493
+ error_user_does_not_have_any_store_credits: អ្នកប្រើមិនមានឥណទានហាងណាមួយដែលអាចប្រើបានទេ
494
+ errors:
495
+ messages:
496
+ cannot_delete_default_channel: មិនអាចលុបឆានែលលំនាំដើមបានទេ។ សូមដំឡើងឆានែលផ្សេងទៀតជាលំនាំដើមជាមុនសិន។
497
+ channel_store_mismatch: ត្រូវតែជារបស់ហាងតែមួយ
498
+ invalid_order_routing_rule: មិនមែនជាច្បាប់នាំផ្លូវការបញ្ជាទិញដែលបានចុះបញ្ជីទេ
499
+ invalid_order_routing_strategy: មិនមែនជាយុទ្ធសាស្ត្រនាំផ្លូវការបញ្ជាទិញដែលបានចុះបញ្ជីទេ
500
+ store_association_can_not_be_changed: ការភ្ជាប់ហាងមិនអាចផ្លាស់ប្តូរបានទេ
501
+ store_is_already_set: ហាងត្រូវបានកំណត់រួចហើយ
502
+ expired: ផុតកំណត់
503
+ export_mailer:
504
+ export_done:
505
+ message: ការងារល្អ ការនាំចេញរបស់អ្នករួចរាល់ហើយ! សូមប្រើតំណខាងក្រោមដើម្បីទាញយកវា។
506
+ subject: ការនាំចេញ %{export_number} របស់អ្នកត្រូវបានដំណើរការដោយជោគជ័យ!
507
+ greeting: សួស្តី %{user_name},
508
+ field: វាល
509
+ first_name: ឈ្មោះ
510
+ flat_percent: អត្រាថេរ
511
+ flat_rate_per_order: អត្រាងាប់ (ក្នុងមួយបញ្ជាទិញ)
512
+ flexible_rate: អត្រាបត់បែន
513
+ free: ឥតគិតថ្លៃ
514
+ gateway: ច្រកចេញចូល
515
+ gateway_error: កំហុសផ្នែកច្រកចេញចូល
516
+ gift_card: កាតអំណោយ
517
+ gift_card_already_redeemed: កាតអំណោយត្រូវបានដោះប្តូររួចហើយ។
518
+ gift_card_applied: កាតអំណោយត្រូវបានអនុវត្តទៅការបញ្ជាទិញរបស់អ្នកដោយជោគជ័យ!
519
+ gift_card_customer_not_logged_in: មិនអាចអនុវត្តកាតអំណោយជាមួយអ្នកប្រើជាភ្ញៀវបានទេ។
520
+ gift_card_expired: កាតអំណោយបានផុតកំណត់។
521
+ gift_card_mismatched_currency: មិនអាចអនុវត្តកាតអំណោយជាមួយរូបិយប័ណ្ណបច្ចុប្បន្នបានទេ។
522
+ gift_card_mismatched_customer: កាតអំណោយនេះត្រូវបានភ្ជាប់ជាមួយអ្នកប្រើផ្សេងទៀត។
523
+ gift_card_not_found: រកមិនឃើញកាតអំណោយទេ។
524
+ gift_card_removed: កាតអំណោយត្រូវបានដកចេញពីការបញ្ជាទិញរបស់អ្នកដោយជោគជ័យ
525
+ gift_card_using_store_credit_error: អ្នកមិនអាចអនុវត្តកាតអំណោយបន្ទាប់ពីអ្នកបានអនុវត្តឥណទានហាងបានទេ។
526
+ height: កម្ពស់
527
+ i18n:
528
+ this_file_language: ភាសាខ្មែរ (KM)
529
+ idempotency_key_reused: Idempotency-Key នេះត្រូវបានប្រើរួចហើយជាមួយប៉ារ៉ាម៉ែត្រសំណើផ្សេងគ្នា។
530
+ image: រូបភាព
531
+ import: នាំចូល
532
+ in_stock: មានស្តុក
533
+ internal_note: កំណត់ចំណាំផ្ទៃក្នុង
534
+ inventory: ទំនិញ
535
+ invitation_mailer:
536
+ greeting: សួស្តី %{user_name},
537
+ invitation_accepted:
538
+ body: "%{invitee_name} បានទទួលយកការអញ្ជើញរបស់អ្នកដើម្បីចូលរួម %{resource_name}"
539
+ subject: "%{invitee_name} បានទទួលយកការអញ្ជើញរបស់អ្នកដើម្បីចូលរួម %{resource_name}"
540
+ invitation_email:
541
+ body: "%{inviter_name} បានអញ្ជើញអ្នកឱ្យចូលរួម %{resource_name}"
542
+ link_description: ដើម្បីទទួលយកការអញ្ជើញនេះ សូមចុចតំណខាងក្រោម៖
543
+ subject: ការអញ្ជើញឱ្យចូលរួម %{resource_name}
544
+ iso: ISO Alpha-2
545
+ item: មុខទំនិញ
546
+ items_cannot_be_shipped: យើងខ្ញុំ​មិនអាចដឹកទំនិញដែលអ្នក​បាន​ជ្រើស​ទៅកាន់អាសយដ្ឋានរបស់អ្នកទេ ។ សូម​ជ្រើស​យក​ទីតាំងផ្សេង​ដើម្បី​ទទួល​ទំនិញ ។
547
+ key: សោ
548
+ kind: ប្រភេទ
549
+ label: ស្លាក
550
+ last_name: ត្រកូល
551
+ line_item: ធាតុបន្ទាត់
552
+ line_items: ធាតុបន្ទាត់
553
+ link: តំណ
554
+ locale: ភាសា
555
+ locale_not_supported_by_store: មិនត្រូវបានគាំទ្រដោយហាងនេះទេ
556
+ manual: ដោយដៃ
557
+ market: ទីផ្សារ
558
+ me_no_current_user: គ្មានអ្នកប្រើរដ្ឋបាលណាបានផ្ទៀងផ្ទាត់សំណើនេះទេ
559
+ media: មេឌៀ
560
+ meta_description: បរិយាយសម្រាប់គេរកឃើញ​តាម​អ៊ីនធឺណិត
561
+ meta_keywords: ពាក្យ​សម្ងាន់ៗ ឲ្យ​គេរក
562
+ metadata: Metadata
563
+ min_quantity: បរិមាណអប្បបរមា
564
+ month: ខែ
565
+ name: ឈ្មោះ
566
+ new_variant: គំរូថ្មី
567
+ no_cc_type: N/A
568
+ no_payment_found: ពុំ​មាន​ការ​ទូរទាត់ណា
569
+ none: ទទេ
570
+ number: លេខ
571
+ on_hand: មាន​ស្រាប់
572
+ only_active_products_can_be_added_to_cart: ផលិតផលសេចក្តីព្រាង និងផលិតផលដែលបានទុកក្នុងបណ្ណសារមិនអាចបន្ថែមទៅរទេះបានទេ សូមកំណត់ផលិតផលជាសកម្មជាមុនសិន។
573
+ open: បើក
574
+ option_name: ឈ្មោះជម្រើស
575
+ option_type: ប្រភេទជម្រើស
576
+ option_value: ជម្រើស
577
+ options: ជម្រើស
578
+ or: ឬ
579
+ order: បញ្ជាទិញ
580
+ order_routing:
581
+ strategies:
582
+ legacy: ចាស់
583
+ rules: ច្បាប់ (តាមលំដាប់)
584
+ order_summary: ព័ត៌មាន​លំអិត
585
+ orders: បញ្ជាទិញ
586
+ out_of_stock: ដាច់ស្តុក
587
+ password: ពាក្យសម្ងាត់
588
+ path: ទីតាំងឯកសារ
589
+ payment: ការទូរទាត់
590
+ payment_method: វិធីបង់ប្រាក់
591
+ payment_methods: វិធីបង់ប្រាក់
592
+ payment_processing_failed: មិនអាចធ្វ់​ការ​បង់ប្រាក់បានទេ ។ សូមពិនិត្យ​ឡើងវិញ​នូវ​គ្រប់ព័ត៌មាន​ដែល​អ្នក​បាន​បំពេញ ។
593
+ payment_source: ប្រភពបង់ប្រាក់
594
+ pending: រង់ចាំ
595
+ percent: ភាគរយ
596
+ percent_per_item: ភាគរយ​លើ​មុខទំនិញ
597
+ phone: ទូរស័ព្ទ
598
+ price: តម្លៃ
599
+ price_range: ចន្លោះតម្លៃ
600
+ price_rules:
601
+ channel_rule:
602
+ description: កំណត់តម្លៃផ្អែកលើឆានែលលក់
603
+ customer_group_rule:
604
+ description: អនុវត្តតម្លៃទៅក្រុមអតិថិជនជាក់លាក់
605
+ price_sack: Price Sack
606
+ prices: តម្លៃ
607
+ privacy_policy: គោលការណ៍ឯកជនភាព
608
+ processing: កំពុងដំណើរការ
609
+ product: ទំនិញ
610
+ product_translations: ការបកប្រែផលិតផល
611
+ products: ទំនិញ
612
+ products_cannot_be_shipped: យើងមិនអាចដឹកជញ្ជូន %{product_names} ទៅទីតាំងបច្ចុប្បន្នរបស់អ្នកនៅពេលនេះបានទេ។ សូមផ្លាស់ប្តូរអាសយដ្ឋានដឹកជញ្ជូនរបស់អ្នក ឬដក %{product_names} ចេញពីរទេះរបស់អ្នក។
613
+ promotion: ការបញ្ចុះតម្លៃ
614
+ promotion_action_types:
615
+ create_adjustment:
616
+ description: បន្ថែមការកែប្រែតម្លៃបញ្ចុះ​ក្នុង​បញ្ជាទិញ
617
+ name: បង្កើតការកែប្រែ
618
+ create_line_items:
619
+ description: បន្ថែម​ការ​កែប្រែតម្លៃបញ្ចុះ​សម្រាប់ទំនិញណាមួយ​ក្នុង​បញ្ជាទិញ
620
+ name: បង្កើត
621
+ promotion_actions: ប្រតិបត្តិការ
622
+ promotion_already_used: អ្នកមិនអាចលុបប្រូម៉ូសិនដែលត្រូវបានអនុវត្តរួចហើយបានទេ
623
+ promotion_label: ប្រូម៉ូសិន (%{name})
624
+ promotion_rule_types:
625
+ category:
626
+ description: ការបញ្ជាទិញរួមមានផលិតផលក្នុងប្រភេទដែលបានបញ្ជាក់
627
+ name: ប្រភេទ
628
+ channel:
629
+ description: កំណត់ត្រឹមការបញ្ជាទិញដែលធ្វើឡើងតាមរយៈឆានែលដែលបានបញ្ជាក់
630
+ name: ឆានែល
631
+ country:
632
+ description: កំណត់ត្រឹមការបញ្ជាទិញដែលមានអាសយដ្ឋានដឹកជញ្ជូននៅក្នុងប្រទេសជាក់លាក់
633
+ name: ប្រទេស
634
+ currency:
635
+ description: កំណត់ត្រឹមការបញ្ជាទិញក្នុងរូបិយប័ណ្ណជាក់លាក់
636
+ name: រូបិយប័ណ្ណ
637
+ customer:
638
+ description: មានសម្រាប់តែអតិថិជនដែលបានបញ្ជាក់ប៉ុណ្ណោះ
639
+ name: អតិថិជន
640
+ customer_group:
641
+ description: មានសម្រាប់តែអតិថិជននៅក្នុងក្រុមអតិថិជនដែលបានបញ្ជាក់ប៉ុណ្ណោះ
642
+ name: ក្រុមអតិថិជន
643
+ customer_logged_in:
644
+ description: មានសម្រាប់តែអតិថិជនដែលបានចូលគណនីប៉ុណ្ណោះ
645
+ name: តែអតិថិជនដែលបានចូលគណនី
646
+ first_order:
647
+ description: ត្រូវតារជាការ​ជាវដំបូងរបស់​អតិថិជន
648
+ name: បញ្ជាទិញដំបូង
649
+ item_total:
650
+ description: សរុបនៃបញ្ជាទិញ​តាម​ត្រូវ​នឹង​ការទាមទារ
651
+ name: ទំនិញសរុប
652
+ market:
653
+ description: កំណត់ត្រឹមការបញ្ជាទិញដែលធ្វើឡើងនៅក្នុងទីផ្សារដែលបានបញ្ជាក់
654
+ name: ទីផ្សារ
655
+ one_use_per_user:
656
+ description: អ្នកប្រើប្រាស់មួយ​ប្រើបាន​តែមួយដងតែប៉ុណ្ណោះ
657
+ name: ម្នាក់បានតែម្ដង
658
+ product:
659
+ description: បញ្ជាទិញ​មាន​មុខទំនិញបានកំណត់
660
+ name: ទំនិញ
661
+ promotions: ការបញ្ចុះតម្លៃ
662
+ quantity: ចំនួន
663
+ query: សំណួរ
664
+ reason: មូលហេតុ
665
+ received: បានទទួល
666
+ reference: លេខយោង
667
+ refund: សងប្រាក់
668
+ refund_amount: ចំនួនទឹកប្រាក់សងវិញ
669
+ registration: ចុះឈ្មោះ
670
+ remove: ដកចេញ
671
+ remove_gift_card_on_completed_order_error: អ្នកមិនអាចដកកាតអំណោយចេញបន្ទាប់ពីការបញ្ជាទិញត្រូវបានដាក់បានទេ
672
+ resellable: អាចលក់បន្តបាន
673
+ resend: ផ្ញើឡើងវិញ
674
+ response_code: កូដឆ្លើយតប
675
+ return: សងវិញ
676
+ returned: បានសងវិញរួច
677
+ returns_policy: គោលការណ៍ប្រគល់ត្រឡប់
678
+ row: ជួរដេក
679
+ rules: វិធី
680
+ scope: តំបន់
681
+ selected_quantity_not_available: ដែលបានជ្រើសរើសនៃ %{item} មិនមានទេ។
682
+ ship: ផ្ញើ
683
+ ship_address: អាសយដ្ឋាន​ទទួល​ទំនិញ
684
+ shipment: ការដឹកជញ្ជូន
685
+ shipped: បានដឹករួច
686
+ shipping: កំពុងឲ្យទៅអ្នកទទួល
687
+ shipping_address: អាសយដ្ឋាន​ទទួល
688
+ shipping_flat_rate_per_item: អត្រាងាប់លើទំនិញនីមួយៗ
689
+ shipping_flat_rate_per_order: អត្រាងាប់
690
+ shipping_flexible_rate: អត្រាបត់បែន​លើ​ទំនិញនីមួយៗ
691
+ shipping_policy: គោលការណ៍ដឹកជញ្ជូន
692
+ shipping_rates:
693
+ display_price:
694
+ excluding_tax: "%{price} (+ %{tax_amount} %{tax_rate_name})"
695
+ including_tax: "%{price} (រួមបញ្ចូល %{tax_amount} %{tax_rate_name})"
696
+ sku: កូដ SKU
697
+ source: ប្រភព
698
+ status: ស្ថានភាព
699
+ stock_location: ទីតាំងឃ្លាំង
700
+ stock_locations: ទីតាំងឃ្លាំង
701
+ stock_transfer:
702
+ errors:
703
+ must_have_variant: អ្នកត្រូវតែបន្ថែមវ៉ារ្យ៉ង់យ៉ាងហោចណាស់មួយ
704
+ same_location: មិនអាចដូចគ្នានឹងទីតាំងគោលដៅបានទេ
705
+ variants_unavailable: វ៉ារ្យ៉ង់ខ្លះមិនមាននៅ %{stock} ទេ
706
+ store: ហាង
707
+ store_credit:
708
+ allocated: បានបន្ថែម
709
+ authorized: បានអនុញ្ញាត
710
+ captured: បានប្រើ
711
+ credit: ឥណទាន
712
+ eligible: មានសិទ្ធិ
713
+ store_credit_name: ឈ្មោះឥណទានហាង
714
+ store_credit_payment_method:
715
+ currency_mismatch: រូបិយប័ណ្ណឥណទានមិនត្រូវគ្នានឹងរូបិយប័ណ្ណបញ្ជាទិញទេ
716
+ insufficient_authorized_amount: ចំនួនទឹកប្រាក់ដែលមានការអនុញ្ញាតមិនគ្រប់គ្រាន់
717
+ insufficient_funds: ឥណទានមិនគ្រប់គ្រាន់
718
+ successful_action: សកម្មភាព %{action} ត្រូវបានធ្វើរួច
719
+ unable_to_credit: 'មិនអាចផ្តល់ឥណទាន: %{auth_code}'
720
+ unable_to_find: មិនអាចរកឃើញ
721
+ unable_to_find_for_action: មិនអាចរកកាតឥណទាន %{auth_code} សម្រាប់សកម្មភាព %{action}
722
+ unable_to_void: 'មិនអាចចាត់ទុកជាមោឃៈ : %{auth_code}'
723
+ success: ជោគជ័យ
724
+ tags: ស្លាក
725
+ tax: ពន្ធ
726
+ tax_category: ប្រភេទពន្ធ
727
+ terms_of_service: លក្ខខណ្ឌនៃសេវាកម្ម
728
+ there_are_no_items_for_this_order: ក្នុង​បញ្ជាទិញនេះ ពុំ​មាន​មុខទំនិញណាឡើយ ។ សូមមត្តា​បន្ថែម​ទំនិញណាមួយ​ដើម្បីបន្ត​បញ្ជាទិញនេះ ។
729
+ total: សរុប
730
+ tracking: តាមដាន
731
+ tracking_number: លេខតាមដាន
732
+ tracking_url: ភ្ជាប់​មើល
733
+ type: ប្រភេទ
734
+ unable_to_connect_to_gateway: មិនអាចតភ្ជាប់ទៅកាន់ច្រកចេញចោល
735
+ updated_at: បានធ្វើបច្ចុប្បន្នភាពនៅ
736
+ url: URL
737
+ user: អ្នកប្រើប្រាស់
738
+ validation:
739
+ must_be_int: ត្រូវតែជាលេខធំជាងសូន្យ
740
+ value: តម្លៃ
741
+ variant: ផ្សេងៗ
742
+ variants: ប្រភេទផ្សេងៗ
743
+ verified: បានផ្ទៀងផ្ទាត់
744
+ void: លុបចោល
745
+ webhook_mailer:
746
+ endpoint_disabled:
747
+ disabled_at_label: បានបិទនៅ
748
+ heading: Webhook Endpoint ត្រូវបានបិទ
749
+ instructions: សូមពិនិត្យ URL និងសេវាកម្មរបស់ endpoint បន្ទាប់មកបើកវាឡើងវិញនៅក្នុង ការកំណត់ → អ្នកអភិវឌ្ឍន៍ → Webhooks។
750
+ message: Webhook endpoint "%{endpoint_name}" ត្រូវបានបិទដោយស្វ័យប្រវត្តិបន្ទាប់ពីការបរាជ័យក្នុងការបញ្ជូនម្តងហើយម្តងទៀត។
751
+ name_label: ឈ្មោះ
752
+ reason_label: មូលហេតុ
753
+ subject: Webhook endpoint ត្រូវបានបិទ៖ %{endpoint_name}
754
+ url_label: URL
755
+ weight: ទម្ងន់
756
+ weight_unit: ឯកតាទម្ងន់
757
+ width: កម្រាស់
758
+ year: ឆ្នាំ
759
+ zip: កូដប្រៃសនីយ៍