spree_core 6.0.0.beta3 → 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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/app/helpers/spree/images_helper.rb +0 -57
- data/app/jobs/spree/base_job.rb +21 -0
- data/app/jobs/spree/carts/reap_expired_job.rb +2 -2
- data/app/jobs/spree/collections/regenerate_time_based_job.rb +6 -3
- data/app/jobs/spree/orders/finalize_stale_drafts_job.rb +8 -5
- data/app/jobs/spree/payments/cancel_unused_sessions_job.rb +61 -0
- data/app/jobs/spree/seller_payouts/sweep_seller_job.rb +2 -0
- data/app/mailers/spree/admin_user_mailer.rb +4 -19
- data/app/mailers/spree/base_mailer.rb +96 -13
- data/app/mailers/spree/email_template_mailer.rb +27 -0
- data/app/mailers/spree/export_mailer.rb +3 -4
- data/app/mailers/spree/import_mailer.rb +3 -4
- data/app/mailers/spree/invitation_mailer.rb +24 -7
- data/app/mailers/spree/seller_user_mailer.rb +4 -16
- data/app/mailers/spree/webhook_mailer.rb +2 -2
- data/app/models/concerns/spree/acted_by.rb +1 -1
- data/app/models/concerns/spree/admin_user_methods.rb +13 -1
- data/app/models/concerns/spree/api_typed.rb +91 -0
- data/app/models/concerns/spree/calculator/tiers.rb +76 -0
- data/app/models/concerns/spree/customer_methods.rb +15 -14
- data/app/models/concerns/spree/email_template_identity.rb +52 -0
- data/app/models/concerns/spree/parameterizable_name.rb +2 -0
- data/app/models/concerns/spree/payment_session_transitions.rb +8 -2
- data/app/models/concerns/spree/post_sale/taxation.rb +54 -0
- data/app/models/concerns/spree/post_sale/taxed_line.rb +51 -0
- data/app/models/concerns/spree/preference_schema.rb +4 -12
- data/app/models/concerns/spree/product_scopes.rb +11 -1
- data/app/models/concerns/spree/provider_listing.rb +41 -0
- data/app/models/concerns/spree/publishable.rb +82 -14
- data/app/models/concerns/spree/purchase/addresses.rb +23 -10
- data/app/models/concerns/spree/purchase/currency.rb +1 -1
- data/app/models/concerns/spree/purchase/deprecated_aliases.rb +87 -0
- data/app/models/concerns/spree/purchase/gift_cards.rb +10 -4
- data/app/models/concerns/spree/purchase/locale.rb +1 -1
- data/app/models/concerns/spree/purchase/payment_processing.rb +7 -3
- data/app/models/concerns/spree/purchase/purchase_order.rb +2 -2
- data/app/models/concerns/spree/purchase/totals.rb +49 -1
- data/app/models/concerns/spree/receivable.rb +1 -1
- data/app/models/concerns/spree/searchable.rb +0 -4
- data/app/models/concerns/spree/secret_preferences.rb +59 -0
- data/app/models/concerns/spree/single_store_resource.rb +1 -1
- data/app/models/concerns/spree/stores/email_branding.rb +31 -0
- data/app/models/concerns/spree/type_labels.rb +38 -0
- data/app/models/concerns/spree/typed_adjustment_line.rb +1 -1
- data/app/models/concerns/spree/typed_associations.rb +6 -0
- data/app/models/spree/address.rb +11 -1
- data/app/models/spree/adjusters/promotion.rb +1 -15
- data/app/models/spree/allowed_origin.rb +0 -1
- data/app/models/spree/api_key.rb +5 -6
- data/app/models/spree/authentication/strategies/oidc_strategy.rb +5 -5
- data/app/models/spree/base.rb +70 -22
- data/app/models/spree/calculator/flat_percent_item_total.rb +1 -3
- data/app/models/spree/calculator/flat_rate.rb +1 -3
- data/app/models/spree/calculator/flexi_rate.rb +1 -3
- data/app/models/spree/calculator/percent_on_line_item.rb +1 -1
- data/app/models/spree/calculator/price_sack.rb +1 -3
- data/app/models/spree/calculator/shipping/digital_delivery.rb +1 -3
- data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +1 -3
- data/app/models/spree/calculator/shipping/flat_rate.rb +1 -3
- data/app/models/spree/calculator/shipping/flexi_rate.rb +1 -3
- data/app/models/spree/calculator/shipping/per_item.rb +1 -3
- data/app/models/spree/calculator/shipping/price_sack.rb +1 -3
- data/app/models/spree/calculator/tiered_flat_rate.rb +6 -23
- data/app/models/spree/calculator/tiered_percent.rb +7 -25
- data/app/models/spree/cart.rb +78 -18
- data/app/models/spree/channel/gating.rb +1 -1
- data/app/models/spree/channel.rb +4 -4
- data/app/models/spree/claim.rb +21 -1
- data/app/models/spree/claim_line_item.rb +41 -6
- data/app/models/spree/collection.rb +0 -1
- data/app/models/spree/collection_rule.rb +5 -21
- data/app/models/spree/commission_line.rb +1 -1
- data/app/models/spree/commission_rate.rb +2 -3
- data/app/models/spree/commission_rate_value.rb +1 -1
- data/app/models/spree/commission_rule.rb +4 -11
- data/app/models/spree/commission_rules/product_rule.rb +1 -1
- data/app/models/spree/company_invitation.rb +1 -0
- data/app/models/spree/consent_record.rb +0 -1
- data/app/models/spree/credit_card.rb +1 -1
- data/app/models/spree/current.rb +23 -0
- data/app/models/spree/custom_field.rb +2 -2
- data/app/models/spree/custom_field_definition.rb +9 -23
- data/app/models/spree/custom_fields/boolean.rb +1 -1
- data/app/models/spree/custom_fields/json.rb +1 -1
- data/app/models/spree/data_feed/google.rb +0 -2
- data/app/models/spree/data_request.rb +1 -1
- data/app/models/spree/delivery_method.rb +30 -13
- data/app/models/spree/delivery_method_rule.rb +4 -11
- data/app/models/spree/delivery_rate.rb +4 -5
- data/app/models/spree/delivery_rate_provider/base.rb +1 -0
- data/app/models/spree/delivery_zone.rb +0 -1
- data/app/models/spree/delivery_zone_member.rb +4 -4
- data/app/models/spree/digital_asset.rb +7 -0
- data/app/models/spree/digital_asset_provider/base.rb +2 -0
- data/app/models/spree/digital_link.rb +2 -5
- data/app/models/spree/discount.rb +1 -1
- data/app/models/spree/email_template.rb +25 -0
- data/app/models/spree/email_template_draft.rb +13 -0
- data/app/models/spree/email_template_revision.rb +17 -0
- data/app/models/spree/email_templates/entry.rb +118 -0
- data/app/models/spree/email_templates/sample_record.rb +16 -0
- data/app/models/spree/emails/branding.rb +80 -0
- data/app/models/spree/exchange.rb +15 -1
- data/app/models/spree/exchange_line_item.rb +121 -5
- data/app/models/spree/export.rb +0 -1
- data/app/models/spree/exports/products.rb +10 -1
- data/app/models/spree/exports/report.rb +1 -1
- data/app/models/spree/fee.rb +4 -2
- data/app/models/spree/fulfillment.rb +53 -27
- data/app/models/spree/fulfillment_changer.rb +2 -2
- data/app/models/spree/fulfillment_item.rb +0 -4
- data/app/models/spree/fulfillment_provider/base.rb +1 -0
- data/app/models/spree/gateway/bogus.rb +4 -0
- data/app/models/spree/gateway/custom_payment_source_method.rb +5 -0
- data/app/models/spree/gateway.rb +5 -1
- data/app/models/spree/gift_card.rb +12 -1
- data/app/models/spree/gift_card_batch.rb +0 -1
- data/app/models/spree/import.rb +2 -7
- data/app/models/spree/import_mapping.rb +1 -2
- data/app/models/spree/import_row.rb +2 -2
- data/app/models/spree/import_schemas/products.rb +1 -0
- data/app/models/spree/integration.rb +8 -18
- data/app/models/spree/invitation.rb +5 -5
- data/app/models/spree/line_item.rb +13 -2
- data/app/models/spree/locale.rb +11 -8
- data/app/models/spree/market.rb +1 -0
- data/app/models/spree/newsletter_subscriber.rb +3 -0
- data/app/models/spree/order.rb +56 -138
- data/app/models/spree/order_group.rb +11 -2
- data/app/models/spree/order_inventory.rb +10 -5
- data/app/models/spree/order_promotion.rb +1 -1
- data/app/models/spree/order_routing/has_strategy_preference.rb +1 -1
- data/app/models/spree/order_routing/strategy/base.rb +4 -2
- data/app/models/spree/order_routing/strategy/rules.rb +1 -1
- data/app/models/spree/order_routing_rule.rb +6 -22
- data/app/models/spree/package_type.rb +1 -2
- data/app/models/spree/payment/gateway_options.rb +14 -52
- data/app/models/spree/payment/processing.rb +2 -4
- data/app/models/spree/payment.rb +20 -5
- data/app/models/spree/payment_method/session_instrumentation.rb +1 -0
- data/app/models/spree/payment_method/store_credit.rb +4 -4
- data/app/models/spree/payment_method.rb +36 -4
- data/app/models/spree/payment_session.rb +5 -1
- data/app/models/spree/payment_setup_session.rb +1 -0
- data/app/models/spree/payout_provider/base.rb +3 -1
- data/app/models/spree/pickup_point_provider/base.rb +2 -0
- data/app/models/spree/price_list.rb +1 -2
- data/app/models/spree/price_rules/channel_rule.rb +1 -1
- data/app/models/spree/price_rules/customer_group_rule.rb +1 -1
- data/app/models/spree/product.rb +31 -7
- data/app/models/spree/product_submission.rb +0 -12
- data/app/models/spree/product_type.rb +0 -1
- data/app/models/spree/promotion/actions/create_line_items.rb +27 -17
- data/app/models/spree/promotion/rules/category.rb +0 -4
- data/app/models/spree/promotion/rules/channel.rb +0 -4
- data/app/models/spree/promotion/rules/country.rb +0 -4
- data/app/models/spree/promotion/rules/currency.rb +0 -4
- data/app/models/spree/promotion/rules/customer_group.rb +0 -4
- data/app/models/spree/promotion/rules/first_order.rb +0 -4
- data/app/models/spree/promotion/rules/item_total.rb +4 -8
- data/app/models/spree/promotion/rules/market.rb +0 -4
- data/app/models/spree/promotion/rules/one_use_per_user.rb +0 -4
- data/app/models/spree/promotion/rules/option_value.rb +0 -3
- data/app/models/spree/promotion/rules/product.rb +0 -4
- data/app/models/spree/promotion/rules/user.rb +0 -4
- data/app/models/spree/promotion/rules/user_logged_in.rb +0 -4
- data/app/models/spree/promotion.rb +35 -6
- data/app/models/spree/promotion_action.rb +7 -14
- data/app/models/spree/promotion_action_line_item.rb +1 -1
- data/app/models/spree/promotion_handler/coupon.rb +59 -27
- data/app/models/spree/promotion_rule.rb +7 -14
- data/app/models/spree/purchase_order.rb +1 -0
- data/app/models/spree/quantity_rule.rb +1 -1
- data/app/models/spree/refund.rb +28 -3
- data/app/models/spree/return.rb +30 -2
- data/app/models/spree/return_line_item.rb +65 -14
- data/app/models/spree/role.rb +7 -7
- data/app/models/spree/saved_report.rb +1 -1
- data/app/models/spree/seller.rb +2 -1
- data/app/models/spree/seller_payout.rb +7 -0
- data/app/models/spree/seller_requirement.rb +4 -12
- data/app/models/spree/seller_requirement_custom_field.rb +1 -2
- data/app/models/spree/seller_requirement_submission.rb +2 -2
- data/app/models/spree/seller_requirements/accept_terms.rb +2 -3
- data/app/models/spree/seller_transfer.rb +5 -0
- data/app/models/spree/shipping_label.rb +1 -0
- data/app/models/spree/stock/availability_validator.rb +2 -2
- data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
- data/app/models/spree/stock/packer.rb +2 -2
- data/app/models/spree/stock/splitter/weight.rb +1 -1
- data/app/models/spree/stock_level/custom_events.rb +6 -0
- data/app/models/spree/stock_level.rb +1 -1
- data/app/models/spree/stock_movement.rb +1 -1
- data/app/models/spree/stock_receipt_item.rb +1 -1
- data/app/models/spree/stock_reservation.rb +2 -2
- data/app/models/spree/stock_transfer.rb +4 -2
- data/app/models/spree/store.rb +33 -7
- data/app/models/spree/store_credit.rb +8 -9
- data/app/models/spree/store_credit_event.rb +5 -5
- data/app/models/spree/tax_exemption_certificate.rb +2 -0
- data/app/models/spree/tax_identifier.rb +3 -1
- data/app/models/spree/tax_line.rb +53 -3
- data/app/models/spree/tax_provider/base.rb +71 -14
- data/app/models/spree/tax_provider/internal.rb +59 -33
- data/app/models/spree/tax_provider/recorded_share.rb +114 -0
- data/app/models/spree/tax_rate.rb +1 -2
- data/app/models/spree/taxonomy.rb +0 -1
- data/app/models/spree/variant.rb +4 -3
- data/app/models/spree/variant_media.rb +1 -1
- data/app/models/spree/webhook_endpoint.rb +10 -13
- data/app/models/spree/wishlist.rb +1 -6
- data/app/models/spree/wishlist_item/custom_events.rb +6 -0
- data/app/presenters/spree/csv/customer_presenter.rb +1 -1
- data/app/presenters/spree/csv/newsletter_subscriber_presenter.rb +1 -1
- data/app/presenters/spree/csv/order_line_item_presenter.rb +1 -1
- data/app/presenters/spree/csv/product_variant_presenter.rb +42 -12
- data/app/serializers/spree/emails/base_serializer.rb +14 -0
- data/app/serializers/spree/emails/export_serializer.rb +13 -0
- data/app/serializers/spree/emails/import_serializer.rb +19 -0
- data/app/serializers/spree/emails/invitation_serializer.rb +28 -0
- data/app/serializers/spree/emails/store_serializer.rb +31 -0
- data/app/serializers/spree/emails/user_serializer.rb +12 -0
- data/app/serializers/spree/emails/webhook_endpoint_serializer.rb +16 -0
- data/app/services/spree/carts/create.rb +8 -2
- data/app/services/spree/carts/destroy.rb +2 -2
- data/app/services/spree/carts/remove_out_of_stock_items.rb +2 -2
- data/app/services/spree/carts/split_by_seller.rb +1 -1
- data/app/services/spree/carts/update.rb +19 -5
- data/app/services/spree/catalogs/set_product_terms.rb +1 -1
- data/app/services/spree/categories/add_products.rb +13 -31
- data/app/services/spree/categories/remove_products.rb +12 -51
- data/app/services/spree/checkout/advance.rb +1 -4
- data/app/services/spree/collections/add_products.rb +10 -23
- data/app/services/spree/collections/remove_products.rb +7 -43
- data/app/services/spree/coupon_codes/bulk_generate.rb +8 -14
- data/app/services/spree/data_requests/create.rb +1 -1
- data/app/services/spree/deliveries/destroy.rb +2 -2
- data/app/services/spree/email_templates/check.rb +58 -0
- data/app/services/spree/email_templates/no_sample_record.rb +7 -0
- data/app/services/spree/email_templates/preview.rb +99 -0
- data/app/services/spree/emails/file_system.rb +23 -0
- data/app/services/spree/emails/filters.rb +84 -0
- data/app/services/spree/emails/liquid_context.rb +48 -0
- data/app/services/spree/emails/rendered_email.rb +14 -0
- data/app/services/spree/emails/renderer.rb +125 -0
- data/app/services/spree/emails/template.rb +51 -0
- data/app/services/spree/emails/template_data.rb +23 -0
- data/app/services/spree/emails/template_resolver.rb +109 -0
- data/app/services/spree/emails/text_converter.rb +72 -0
- data/app/services/spree/emails/translation_inliner.rb +134 -0
- data/app/services/spree/imports/row_processors/price_list_price.rb +10 -10
- data/app/services/spree/imports/row_processors/product_variant.rb +65 -34
- data/app/services/spree/imports/row_processors/purchase_order.rb +13 -13
- data/app/services/spree/locales.rb +4 -5
- data/app/services/spree/newsletter/subscribe.rb +8 -12
- data/app/services/spree/orders/build_fulfillments.rb +3 -2
- data/app/services/spree/orders/create.rb +2 -1
- data/app/services/spree/orders/discounts/create.rb +7 -4
- data/app/services/spree/orders/discounts/destroy.rb +1 -0
- data/app/services/spree/orders/discounts/update.rb +1 -0
- data/app/services/spree/orders/fees/create.rb +1 -0
- data/app/services/spree/orders/fees/destroy.rb +1 -0
- data/app/services/spree/orders/fees/update.rb +1 -0
- data/app/services/spree/orders/remove_line_item.rb +13 -3
- data/app/services/spree/orders/update.rb +10 -6
- data/app/services/spree/orders/update_item.rb +6 -3
- data/app/services/spree/orders/update_statuses.rb +3 -1
- data/app/services/spree/product_memberships.rb +61 -0
- data/app/services/spree/returns/eligibility_validator.rb +1 -1
- data/app/services/spree/search_provider/custom_field_schema.rb +2 -2
- data/app/services/spree/seeds/commission_rates.rb +1 -1
- data/app/services/spree/seeds/digital_delivery.rb +1 -1
- data/app/services/spree/seeds/payment_methods.rb +2 -2
- data/app/services/spree/seeds/saved_reports.rb +3 -3
- data/app/services/spree/sellers/requirements.rb +1 -2
- data/app/services/spree/shipping_labels/confirm_refund.rb +1 -1
- data/app/services/spree/shipping_labels/store_file.rb +3 -3
- data/app/services/spree/stock_levels/correct.rb +3 -3
- data/app/services/spree/stock_reservations/reserve.rb +2 -3
- data/app/services/spree/store_credits/apply.rb +15 -13
- data/app/services/spree/stores/provision_defaults.rb +15 -14
- data/app/subscribers/spree/seller_onboarding_subscriber.rb +1 -1
- data/app/views/layouts/spree/base_mailer.html.erb +2 -43
- data/app/views/layouts/spree/base_mailer.liquid +79 -0
- data/app/views/spree/admin_user_mailer/password_reset_email.liquid +14 -0
- data/app/views/spree/export_mailer/export_done.liquid +12 -0
- data/app/views/spree/import_mailer/import_done.liquid +15 -0
- data/app/views/spree/invitation_mailer/invitation_accepted.liquid +9 -0
- data/app/views/spree/invitation_mailer/invitation_email.liquid +13 -0
- data/app/views/spree/seller_user_mailer/password_reset_email.liquid +14 -0
- data/app/views/spree/shared/_mailer_button.html.erb +4 -5
- data/app/views/spree/shared/_mailer_hero.html.erb +6 -5
- data/app/views/spree/shared/_summary_row.liquid +8 -0
- data/app/views/spree/webhook_mailer/endpoint_disabled.liquid +21 -0
- data/app/workflows/spree/carts/add_item.rb +4 -4
- data/app/workflows/spree/carts/complete.rb +13 -3
- data/app/workflows/spree/carts/merge.rb +1 -1
- data/app/workflows/spree/carts/recalculate_totals.rb +5 -0
- data/app/workflows/spree/carts/upsert_items.rb +18 -9
- data/app/workflows/spree/claims/approve.rb +5 -22
- data/app/workflows/spree/claims/cancel.rb +5 -21
- data/app/workflows/spree/claims/create.rb +15 -0
- data/app/workflows/spree/claims/deny.rb +7 -0
- data/app/workflows/spree/claims/resolve.rb +34 -31
- data/app/workflows/spree/customers/anonymize.rb +3 -4
- data/app/workflows/spree/customers/create.rb +1 -1
- data/app/workflows/spree/data_requests/fulfill.rb +2 -2
- data/app/workflows/spree/deliveries/update_tracking.rb +1 -1
- data/app/workflows/spree/email_templates/discard_draft.rb +20 -0
- data/app/workflows/spree/email_templates/publish.rb +70 -0
- data/app/workflows/spree/email_templates/restore_revision.rb +33 -0
- data/app/workflows/spree/email_templates/revert.rb +29 -0
- data/app/workflows/spree/email_templates/save_draft.rb +85 -0
- data/app/workflows/spree/exchanges/approve.rb +5 -22
- data/app/workflows/spree/exchanges/cancel.rb +5 -21
- data/app/workflows/spree/exchanges/create.rb +6 -0
- data/app/workflows/spree/exchanges/fulfill.rb +75 -51
- data/app/workflows/spree/exchanges/receive.rb +6 -65
- data/app/workflows/spree/fulfillments/cancel.rb +1 -1
- data/app/workflows/spree/fulfillments/create.rb +51 -47
- data/app/workflows/spree/fulfillments/fulfill.rb +23 -27
- data/app/workflows/spree/fulfillments/mark_delivered.rb +1 -1
- data/app/workflows/spree/fulfillments/replacements.rb +59 -0
- data/app/workflows/spree/gift_cards/apply.rb +2 -2
- data/app/workflows/spree/orders/add_item.rb +5 -1
- data/app/workflows/spree/orders/cancel.rb +3 -3
- data/app/workflows/spree/orders/complete.rb +16 -8
- data/app/workflows/spree/payments/process.rb +2 -2
- data/app/workflows/spree/post_sale/approval.rb +35 -0
- data/app/workflows/spree/post_sale/cancellation.rb +44 -0
- data/app/workflows/spree/post_sale/receipt.rb +92 -0
- data/app/workflows/spree/products/nested_attributes.rb +1 -1
- data/app/workflows/spree/purchase_orders/cancel.rb +1 -1
- data/app/workflows/spree/purchase_orders/close.rb +3 -31
- data/app/workflows/spree/purchase_orders/mark_draft.rb +2 -2
- data/app/workflows/spree/purchase_orders/mark_ordered.rb +2 -2
- data/app/workflows/spree/purchase_orders/receive.rb +1 -1
- data/app/workflows/spree/purchase_orders/update.rb +5 -34
- data/app/workflows/spree/receivables/closing_short.rb +46 -0
- data/app/workflows/spree/receivables/draft_editing.rb +48 -0
- data/app/workflows/spree/refunds/create.rb +5 -2
- data/app/workflows/spree/refunds/order_payments.rb +14 -2
- data/app/workflows/spree/refunds/tax_credit.rb +67 -0
- data/app/workflows/spree/returns/approve.rb +5 -22
- data/app/workflows/spree/returns/cancel.rb +5 -22
- data/app/workflows/spree/returns/create.rb +8 -0
- data/app/workflows/spree/returns/receive.rb +5 -76
- data/app/workflows/spree/returns/refund.rb +31 -8
- data/app/workflows/spree/seller_requirement_submissions/create.rb +1 -2
- data/app/workflows/spree/seller_transfers/reverse.rb +28 -1
- data/app/workflows/spree/shipping_labels/purchase.rb +8 -8
- data/app/workflows/spree/shipping_labels/record.rb +5 -5
- data/app/workflows/spree/shipping_labels/refund.rb +2 -2
- data/app/workflows/spree/stock_receipts/recording.rb +4 -4
- data/app/workflows/spree/stock_transfers/cancel.rb +2 -2
- data/app/workflows/spree/stock_transfers/close.rb +3 -30
- data/app/workflows/spree/stock_transfers/mark_draft.rb +1 -1
- data/app/workflows/spree/stock_transfers/mark_in_transit.rb +3 -3
- data/app/workflows/spree/stock_transfers/mark_ready.rb +2 -2
- data/app/workflows/spree/stock_transfers/receive.rb +1 -1
- data/app/workflows/spree/stock_transfers/update.rb +5 -33
- data/config/i18n-tasks.yml +32 -18
- data/config/initializers/alba.rb +7 -0
- data/config/language_names.csv +264 -0
- data/config/locales/ar.yml +811 -0
- data/config/locales/be.yml +855 -0
- data/config/locales/bg.yml +723 -0
- data/config/locales/ca.yml +689 -0
- data/config/locales/cs.yml +855 -0
- data/config/locales/da.yml +771 -0
- data/config/locales/de-CH.yml +248 -0
- data/config/locales/de.yml +835 -0
- data/config/locales/el.yml +769 -0
- data/config/locales/en.yml +37 -503
- data/config/locales/es-CL.yml +301 -0
- data/config/locales/es-EC.yml +186 -0
- data/config/locales/es-MX.yml +334 -0
- data/config/locales/es.yml +831 -0
- data/config/locales/et.yml +644 -0
- data/config/locales/fa.yml +709 -0
- data/config/locales/fi.yml +771 -0
- data/config/locales/fr.yml +830 -0
- data/config/locales/hu.yml +751 -0
- data/config/locales/id.yml +756 -0
- data/config/locales/it.yml +833 -0
- data/config/locales/ja.yml +726 -0
- data/config/locales/km.yml +759 -0
- data/config/locales/ko.yml +575 -0
- data/config/locales/ku.yml +753 -0
- data/config/locales/lt.yml +821 -0
- data/config/locales/lv.yml +685 -0
- data/config/locales/nb.yml +824 -0
- data/config/locales/ne.yml +823 -0
- data/config/locales/nl.yml +826 -0
- data/config/locales/pl.yml +835 -0
- data/config/locales/pt-BR.yml +547 -0
- data/config/locales/pt.yml +636 -0
- data/config/locales/ro.yml +750 -0
- data/config/locales/ru.yml +834 -0
- data/config/locales/sk.yml +680 -0
- data/config/locales/sl-SI.yml +600 -0
- data/config/locales/sv.yml +827 -0
- data/config/locales/th.yml +745 -0
- data/config/locales/tr.yml +777 -0
- data/config/locales/uk.yml +836 -0
- data/config/locales/vi.yml +768 -0
- data/config/locales/zh-CN.yml +786 -0
- data/config/locales/zh-TW.yml +834 -0
- data/db/migrate/20260925000001_add_replacement_to_spree_fulfillment_items.rb +5 -0
- data/db/migrate/20261001000001_add_post_sale_tax.rb +30 -0
- data/db/migrate/20261001000001_convert_preferences_to_json.rb +166 -0
- data/db/migrate/20261001000001_create_spree_email_templates.rb +52 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +0 -9
- data/lib/generators/spree/dummy/templates/rails/test.rb +7 -0
- data/lib/spree/checkout/default_requirements.rb +37 -13
- data/lib/spree/core/configuration.rb +1 -1
- data/lib/spree/core/controller_helpers/store.rb +1 -1
- data/lib/spree/core/dependencies.rb +5 -4
- data/lib/spree/core/emails/escaped_output.rb +60 -0
- data/lib/spree/core/engine.rb +48 -167
- data/lib/spree/core/permissions/default_catalog.rb +5 -0
- data/lib/spree/core/preferences/json_conversion.rb +182 -0
- data/lib/spree/core/preferences/masking.rb +4 -1
- data/lib/spree/core/preferences/preferable.rb +137 -83
- data/lib/spree/core/preferences/preferable_class_methods.rb +81 -146
- data/lib/spree/core/previews/import_preview.rb +10 -0
- data/lib/spree/core/tax/provider_error.rb +37 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +85 -370
- data/lib/spree/emails/editable_templates.rb +82 -0
- data/lib/spree/events/catalog.rb +189 -0
- data/lib/spree/events.rb +21 -1
- data/lib/spree/hooks.rb +0 -17
- data/lib/spree/i18n.rb +32 -15
- data/lib/spree/reporting/adapters/live.rb +6 -6
- data/lib/spree/reporting/default_vocabulary.rb +22 -10
- data/lib/spree/reporting/hydration.rb +1 -1
- data/lib/spree/reporting/query.rb +8 -0
- data/lib/spree/reporting/schema.rb +10 -10
- data/lib/spree/testing_support/editable_email_templates.rb +61 -0
- data/lib/spree/testing_support/emails.rb +22 -0
- data/lib/spree/testing_support/factories/cart_factory.rb +1 -1
- data/lib/spree/testing_support/factories/email_template_factory.rb +28 -0
- data/lib/spree/testing_support/factories/order_factory.rb +2 -2
- data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
- data/lib/spree/testing_support/factories/stock_factory.rb +1 -1
- data/lib/spree/testing_support/factories/variant_factory.rb +1 -1
- data/lib/spree/testing_support/i18n.rb +3 -94
- data/lib/spree/testing_support/lifecycle_events.rb +1 -1
- data/lib/spree/testing_support/order_walkthrough.rb +1 -1
- data/lib/spree/testing_support/preferences.rb +0 -5
- data/lib/spree/testing_support/store.rb +9 -1
- data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +45 -0
- data/lib/tasks/categories_and_collections.rake +3 -3
- data/lib/tasks/core.rake +6 -4
- data/lib/tasks/media.rake +3 -3
- data/lib/tasks/package_types.rake +1 -1
- data/lib/tasks/preferences_json.rake +101 -0
- data/spec/fixtures/mailer_views/custom_views_probe_mailer/welcome_email.html.erb +4 -0
- metadata +188 -44
- data/app/models/acts_as_taggable_on/tag_decorator.rb +0 -10
- data/app/models/concerns/spree/has_image_alt_text.rb +0 -18
- data/app/models/spree/base_analytics_event_handler.rb +0 -54
- data/app/models/spree/invitations/store.rb +0 -6
- data/app/models/spree/preference.rb +0 -14
- data/app/models/spree/promotion_handler/page.rb +0 -25
- data/app/models/spree/promotion_handler/promotion_duplicator.rb +0 -60
- data/app/models/spree/stock/differentiator.rb +0 -45
- data/app/presenters/spree/filters/options_presenter.rb +0 -47
- data/app/services/spree/carts/empty.rb +0 -42
- data/app/services/spree/country_to_timezone.rb +0 -273
- data/app/services/spree/payments/create.rb +0 -92
- data/app/validators/spree/url_validator.rb +0 -23
- data/app/views/active_storage/blobs/_blob.html.erb +0 -14
- data/app/views/spree/admin_user_mailer/password_reset_email.html.erb +0 -8
- data/app/views/spree/export_mailer/export_done.html.erb +0 -7
- data/app/views/spree/import_mailer/import_done.html.erb +0 -12
- data/app/views/spree/invitation_mailer/invitation_accepted.html.erb +0 -4
- data/app/views/spree/invitation_mailer/invitation_email.html.erb +0 -12
- data/app/views/spree/seller_user_mailer/password_reset_email.html.erb +0 -8
- data/app/views/spree/shared/_base_mailer_footer.html.erb +0 -19
- data/app/views/spree/shared/_base_mailer_header.html.erb +0 -8
- data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +0 -399
- data/app/views/spree/shared/_mailer_logo.html.erb +0 -41
- data/app/views/spree/shared/_purchased_items_styles.html.erb +0 -119
- data/app/views/spree/webhook_mailer/endpoint_disabled.html.erb +0 -51
- data/app/views/spree/webhook_mailer/endpoint_disabled.text.erb +0 -10
- data/app/workflows/spree/fulfillments/purchase_label.rb +0 -40
- data/app/workflows/spree/returns/purchase_label.rb +0 -32
- data/lib/spree/analytics.rb +0 -11
- data/lib/spree/core/preferences/scoped_store.rb +0 -34
- data/lib/spree/core/preferences/store.rb +0 -105
- data/lib/spree/translation_migrations.rb +0 -52
|
@@ -0,0 +1,771 @@
|
|
|
1
|
+
---
|
|
2
|
+
da:
|
|
3
|
+
activemodel:
|
|
4
|
+
errors:
|
|
5
|
+
messages:
|
|
6
|
+
blank: må ikke være tom
|
|
7
|
+
activerecord:
|
|
8
|
+
attributes:
|
|
9
|
+
spree/address:
|
|
10
|
+
address1: Adresse
|
|
11
|
+
address2: Ekstra Adresse
|
|
12
|
+
city: By
|
|
13
|
+
company: Firma
|
|
14
|
+
country: Land
|
|
15
|
+
label: Adressenavn
|
|
16
|
+
phone: Telefon
|
|
17
|
+
state: Område
|
|
18
|
+
spree/country:
|
|
19
|
+
iso: ISO
|
|
20
|
+
iso3: ISO3
|
|
21
|
+
iso_name: ISO-navn
|
|
22
|
+
name: Navn
|
|
23
|
+
numcode: ISO-kode
|
|
24
|
+
spree/credit_card:
|
|
25
|
+
cc_type: Type
|
|
26
|
+
month: Måned
|
|
27
|
+
number: Nummer
|
|
28
|
+
verification_value: CVV-kode
|
|
29
|
+
year: År
|
|
30
|
+
spree/customer_group:
|
|
31
|
+
description: Beskrivelse
|
|
32
|
+
name: Navn
|
|
33
|
+
spree/gift_card:
|
|
34
|
+
amount_used: Anvendt beløb
|
|
35
|
+
expires_at: Udløber
|
|
36
|
+
spree/import:
|
|
37
|
+
preferred_delimiter: Skilletegn
|
|
38
|
+
spree/import_mapping:
|
|
39
|
+
file_column: Filkolonne
|
|
40
|
+
schema_field: Skemafelt
|
|
41
|
+
spree/import_row:
|
|
42
|
+
row_number: Nummer
|
|
43
|
+
spree/inventory_unit:
|
|
44
|
+
state: Delstat
|
|
45
|
+
spree/invitation:
|
|
46
|
+
inviter: Inviterende
|
|
47
|
+
spree/line_item:
|
|
48
|
+
price: Pris
|
|
49
|
+
quantity: Antal
|
|
50
|
+
spree/option_type:
|
|
51
|
+
filterable: Filtrerbar
|
|
52
|
+
kind: Type
|
|
53
|
+
name: Navn
|
|
54
|
+
spree/option_value:
|
|
55
|
+
color_code: Farvekode
|
|
56
|
+
image: Prøvebillede
|
|
57
|
+
spree/order:
|
|
58
|
+
checkout_complete: Købet er gennemført
|
|
59
|
+
completed_at: Gennemført
|
|
60
|
+
considered_risky: Anses risikabel
|
|
61
|
+
coupon_code: Rabatkode
|
|
62
|
+
created_at: Oprettet
|
|
63
|
+
email: E-mail-adresse
|
|
64
|
+
internal_note: Intern note
|
|
65
|
+
ip_address: IP-adresse
|
|
66
|
+
item_count: Varer
|
|
67
|
+
item_total: Total
|
|
68
|
+
number: Ordrenummer
|
|
69
|
+
payment_state: Betalingsstatus
|
|
70
|
+
shipment_state: Leveringsstatus
|
|
71
|
+
special_instructions: Særlige forhold
|
|
72
|
+
state: Område
|
|
73
|
+
total: Total
|
|
74
|
+
spree/order/bill_address:
|
|
75
|
+
address1: Adresse
|
|
76
|
+
city: By
|
|
77
|
+
phone: Telefon
|
|
78
|
+
state: Område
|
|
79
|
+
spree/order/ship_address:
|
|
80
|
+
address1: Adresse
|
|
81
|
+
city: By
|
|
82
|
+
phone: Telefon
|
|
83
|
+
state: Område
|
|
84
|
+
spree/payment:
|
|
85
|
+
amount: Beløb
|
|
86
|
+
number: Nummer
|
|
87
|
+
spree/payment_method:
|
|
88
|
+
name: Navn
|
|
89
|
+
spree/policy:
|
|
90
|
+
body: Indhold
|
|
91
|
+
owner: Politik for
|
|
92
|
+
spree/price_list:
|
|
93
|
+
description: Beskrivelse
|
|
94
|
+
ends_at: Slutter
|
|
95
|
+
match_policy: Matchpolitik
|
|
96
|
+
name: Navn
|
|
97
|
+
priority: Prioritet
|
|
98
|
+
starts_at: Starter
|
|
99
|
+
status: Status
|
|
100
|
+
spree/price_rule:
|
|
101
|
+
priority: Prioritet
|
|
102
|
+
type: Type
|
|
103
|
+
spree/product:
|
|
104
|
+
available_on: Kan købes fra
|
|
105
|
+
cost_currency: Kostvaluta
|
|
106
|
+
cost_price: Kostpris
|
|
107
|
+
description: Beskrivelse
|
|
108
|
+
discontinue_on: Udgår den
|
|
109
|
+
less_than: Mindre end
|
|
110
|
+
make_active_at: Aktivér den
|
|
111
|
+
master_price: Hovedpris
|
|
112
|
+
more_than: Mere end
|
|
113
|
+
name: Navn
|
|
114
|
+
on_hand: På lager
|
|
115
|
+
tax_category: Momskategori
|
|
116
|
+
spree/promotion:
|
|
117
|
+
advertise: Reklamér
|
|
118
|
+
code: Kode
|
|
119
|
+
description: Beskrivelse
|
|
120
|
+
event_name: Eventnavn
|
|
121
|
+
expires_at: Udløber
|
|
122
|
+
generate_code: Generér rabatkode
|
|
123
|
+
name: Navn
|
|
124
|
+
path: Sti
|
|
125
|
+
promotion_category: Kampagnekategori
|
|
126
|
+
starts_at: Starter
|
|
127
|
+
usage_limit: Brugsbegrænsning
|
|
128
|
+
spree/promotion_category:
|
|
129
|
+
code: Kode
|
|
130
|
+
spree/property:
|
|
131
|
+
name: Navn
|
|
132
|
+
presentation: Præsentation
|
|
133
|
+
spree/role:
|
|
134
|
+
name: Navn
|
|
135
|
+
spree/shipment:
|
|
136
|
+
number: Nummer
|
|
137
|
+
spree/state:
|
|
138
|
+
abbr: Forkortelse
|
|
139
|
+
name: Navn
|
|
140
|
+
spree/store:
|
|
141
|
+
address: Adresse
|
|
142
|
+
contact_phone: Kontakttelefon
|
|
143
|
+
mail_from_address: Mail fra-adresse
|
|
144
|
+
meta_description: Meta beskrivelse
|
|
145
|
+
meta_keywords: Meta nøgleord
|
|
146
|
+
name: Navn
|
|
147
|
+
preferred_digital_asset_authorized_clicks: Grænse for downloadklik
|
|
148
|
+
preferred_digital_asset_authorized_days: Grænse for downloaddage
|
|
149
|
+
preferred_limit_digital_download_count: Begræns antal downloads af digitale links
|
|
150
|
+
preferred_limit_digital_download_days: Begræns dage for download af digitale links
|
|
151
|
+
seo_robots: SEO Robots
|
|
152
|
+
seo_title: SEO titel
|
|
153
|
+
storefront_custom_code_body_end: Brugerdefineret kode før afsluttende body-tag
|
|
154
|
+
storefront_custom_code_body_start: Brugerdefineret kode efter åbnende body-tag
|
|
155
|
+
storefront_custom_code_head: Brugerdefineret kode i sidens head
|
|
156
|
+
url: URL
|
|
157
|
+
spree/store_credit:
|
|
158
|
+
amount_used: Anvendt beløb
|
|
159
|
+
spree/tax_category:
|
|
160
|
+
description: Beskrivelse
|
|
161
|
+
name: Navn
|
|
162
|
+
spree/tax_rate:
|
|
163
|
+
amount: Antal
|
|
164
|
+
included_in_price: Inkluderet i prisen
|
|
165
|
+
show_rate_in_label: Vis i label
|
|
166
|
+
spree/taxon:
|
|
167
|
+
name: Navn
|
|
168
|
+
permalink: Permalink
|
|
169
|
+
position: Position
|
|
170
|
+
sort_order: Sorteringsrækkefølge
|
|
171
|
+
spree/taxonomy:
|
|
172
|
+
name: Navn
|
|
173
|
+
spree/user:
|
|
174
|
+
avatar: Avatar
|
|
175
|
+
email: E-mail-adresse
|
|
176
|
+
password: Adgangskode
|
|
177
|
+
password_confirmation: Bekræft adgangskode
|
|
178
|
+
spree/variant:
|
|
179
|
+
cost_currency: Kostvaluta
|
|
180
|
+
cost_price: Kostpris
|
|
181
|
+
depth: Dybte
|
|
182
|
+
height: Højde
|
|
183
|
+
price: Pris
|
|
184
|
+
sku: SKU
|
|
185
|
+
weight: Vægt
|
|
186
|
+
width: Bredde
|
|
187
|
+
spree/zone:
|
|
188
|
+
description: Beskrivelse
|
|
189
|
+
name: Navn
|
|
190
|
+
user:
|
|
191
|
+
current_sign_in: Nuværende login den
|
|
192
|
+
last_sign_in: Sidste login den
|
|
193
|
+
sign_in_count: Antal logins
|
|
194
|
+
errors:
|
|
195
|
+
messages:
|
|
196
|
+
blank: må ikke være tom
|
|
197
|
+
models:
|
|
198
|
+
spree/allowed_origin:
|
|
199
|
+
attributes:
|
|
200
|
+
origin:
|
|
201
|
+
must_be_origin_only: skal være en oprindelse (skema og vært) uden sti, forespørgsel eller fragment
|
|
202
|
+
spree/classification:
|
|
203
|
+
attributes:
|
|
204
|
+
taxon_id:
|
|
205
|
+
already_linked: Er allerede linket med et produkt.
|
|
206
|
+
spree/credit_card:
|
|
207
|
+
attributes:
|
|
208
|
+
base:
|
|
209
|
+
card_expired: Kortet er udløbet
|
|
210
|
+
expiry_invalid: Udløbsdatoen er ugyldig
|
|
211
|
+
spree/gift_card:
|
|
212
|
+
attributes:
|
|
213
|
+
base:
|
|
214
|
+
cannot_destroy_used_gift_card: Kan ikke slette et anvendt gavekort
|
|
215
|
+
spree/import:
|
|
216
|
+
attributes:
|
|
217
|
+
attachment:
|
|
218
|
+
content_type: har en indholdstype, der ikke er tilladt
|
|
219
|
+
type:
|
|
220
|
+
inclusion: er ikke med på listen over tilladte typer
|
|
221
|
+
spree/line_item:
|
|
222
|
+
attributes:
|
|
223
|
+
currency:
|
|
224
|
+
must_match_order_currency: Skal matche ordren's valuta
|
|
225
|
+
spree/market:
|
|
226
|
+
attributes:
|
|
227
|
+
base:
|
|
228
|
+
cannot_destroy_default_market: Standardmarkedet kan ikke slettes.
|
|
229
|
+
cannot_destroy_last_market: Det eneste marked kan ikke slettes.
|
|
230
|
+
spree/market_country:
|
|
231
|
+
attributes:
|
|
232
|
+
country:
|
|
233
|
+
already_in_market: er allerede tildelt et andet marked i denne butik
|
|
234
|
+
not_in_shipping_zone: er ikke dækket af nogen forsendelseszone. Opret venligst en forsendelseszone først.
|
|
235
|
+
spree/payment:
|
|
236
|
+
attributes:
|
|
237
|
+
amount:
|
|
238
|
+
greater_than_max_amount: er større end det tilladte maksimumbeløb på %{max_amount}
|
|
239
|
+
spree/price_list:
|
|
240
|
+
attributes:
|
|
241
|
+
ends_at:
|
|
242
|
+
must_be_after_starts_at: skal være efter starttidspunktet
|
|
243
|
+
spree/product:
|
|
244
|
+
attributes:
|
|
245
|
+
base:
|
|
246
|
+
cannot_destroy_if_attached_to_line_items: Produkter, der er tilføjet til afgivne ordrer, kan ikke slettes. Lad dem i stedet udgå.
|
|
247
|
+
discontinue_on:
|
|
248
|
+
invalid_date_range: skal være senere end tilgængelighedsdatoen
|
|
249
|
+
spree/product_publication:
|
|
250
|
+
attributes:
|
|
251
|
+
unpublished_at:
|
|
252
|
+
must_be_after_published_at: skal være efter udgivelsesdatoen
|
|
253
|
+
spree/promotion:
|
|
254
|
+
attributes:
|
|
255
|
+
expires_at:
|
|
256
|
+
invalid_date_range: skal være senere end startdatoen
|
|
257
|
+
spree/refund:
|
|
258
|
+
attributes:
|
|
259
|
+
amount:
|
|
260
|
+
greater_than_allowed: højere end tilladt
|
|
261
|
+
spree/store:
|
|
262
|
+
attributes:
|
|
263
|
+
base:
|
|
264
|
+
cannot_destroy_only_store: Den eneste butik kan ikke slettes.
|
|
265
|
+
spree/store_credit:
|
|
266
|
+
attributes:
|
|
267
|
+
amount_authorized:
|
|
268
|
+
exceeds_total_credits: Overstiger den samlede kredit.
|
|
269
|
+
amount_used:
|
|
270
|
+
cannot_be_greater_than_amount: Kan ikke være større end beløbet.
|
|
271
|
+
greater_than_zero_restrict_delete: er større end nul. Butikskredit kan ikke slettes.
|
|
272
|
+
spree/user:
|
|
273
|
+
attributes:
|
|
274
|
+
bill_address_id:
|
|
275
|
+
belongs_to_other_user: tilhører en anden bruger
|
|
276
|
+
deprecated_in_completed_order: forældet i en gennemført ordre
|
|
277
|
+
ship_address_id:
|
|
278
|
+
belongs_to_other_user: tilhører en anden bruger
|
|
279
|
+
deprecated_in_completed_order: forældet i en gennemført ordre
|
|
280
|
+
spree/variant:
|
|
281
|
+
attributes:
|
|
282
|
+
base:
|
|
283
|
+
cannot_destroy_if_attached_to_line_items: Varianter, der er tilføjet til afgivne ordrer, kan ikke slettes. Lad dem i stedet udgå.
|
|
284
|
+
spree/webhook_endpoint:
|
|
285
|
+
attributes:
|
|
286
|
+
url:
|
|
287
|
+
internal_address_not_allowed: må ikke pege på en intern eller privat netværksadresse
|
|
288
|
+
models:
|
|
289
|
+
spree/address:
|
|
290
|
+
one: Adresse
|
|
291
|
+
other: Adresser
|
|
292
|
+
spree/classification:
|
|
293
|
+
one: Klassifikation
|
|
294
|
+
other: Klassifikationer
|
|
295
|
+
spree/country:
|
|
296
|
+
one: Land
|
|
297
|
+
other: Lande
|
|
298
|
+
spree/credit_card:
|
|
299
|
+
one: Betalingskort
|
|
300
|
+
other: Betalingskort
|
|
301
|
+
spree/customer_group:
|
|
302
|
+
one: Kundegruppe
|
|
303
|
+
other: Kundegrupper
|
|
304
|
+
spree/customer_group_user:
|
|
305
|
+
one: Kundegruppebruger
|
|
306
|
+
other: Kundegruppebrugere
|
|
307
|
+
spree/export:
|
|
308
|
+
one: Eksport
|
|
309
|
+
other: Eksporter
|
|
310
|
+
spree/integration:
|
|
311
|
+
one: Integration
|
|
312
|
+
other: Integrationer
|
|
313
|
+
spree/inventory_unit:
|
|
314
|
+
one: Inventory Unit
|
|
315
|
+
other: Inventory Units
|
|
316
|
+
spree/line_item:
|
|
317
|
+
one: Ordrelinje
|
|
318
|
+
other: Ordrelinjer
|
|
319
|
+
spree/option_type:
|
|
320
|
+
one: Indstillingstype
|
|
321
|
+
other: Indstillingstyper
|
|
322
|
+
spree/option_value:
|
|
323
|
+
one: Indstillingsværdi
|
|
324
|
+
other: Indstillingsværdier
|
|
325
|
+
spree/order:
|
|
326
|
+
one: Ordre
|
|
327
|
+
other: Ordrer
|
|
328
|
+
spree/payment:
|
|
329
|
+
one: Betaling
|
|
330
|
+
other: Betalinger
|
|
331
|
+
spree/payment_method:
|
|
332
|
+
one: Betalingsmetode
|
|
333
|
+
other: Betalingsmetoder
|
|
334
|
+
spree/price:
|
|
335
|
+
one: Pris
|
|
336
|
+
other: Priser
|
|
337
|
+
spree/price_list:
|
|
338
|
+
one: Prisliste
|
|
339
|
+
other: Prislister
|
|
340
|
+
spree/price_rule:
|
|
341
|
+
one: Prisregel
|
|
342
|
+
other: Prisregler
|
|
343
|
+
spree/product:
|
|
344
|
+
one: Vare
|
|
345
|
+
other: Varer
|
|
346
|
+
spree/promotion:
|
|
347
|
+
one: Kampagne
|
|
348
|
+
other: Kampagner
|
|
349
|
+
spree/promotion_category:
|
|
350
|
+
one: Kampagnekategori
|
|
351
|
+
other: Kampagnekategorier
|
|
352
|
+
spree/property:
|
|
353
|
+
one: Egenskab
|
|
354
|
+
other: Egenskaber
|
|
355
|
+
spree/refund_reason:
|
|
356
|
+
one: Refunderingsårsag
|
|
357
|
+
other: Refunderingsårsager
|
|
358
|
+
spree/role:
|
|
359
|
+
one: Rolle
|
|
360
|
+
other: Roller
|
|
361
|
+
spree/shipment:
|
|
362
|
+
one: Levering
|
|
363
|
+
other: Leveringer
|
|
364
|
+
spree/shipping_method:
|
|
365
|
+
one: Forsendelsesmetode
|
|
366
|
+
other: Forsendelsesmetoder
|
|
367
|
+
spree/state:
|
|
368
|
+
one: Delstat
|
|
369
|
+
other: Delstater
|
|
370
|
+
spree/stock_location:
|
|
371
|
+
one: Lagerlokation
|
|
372
|
+
other: Lagerlokationer
|
|
373
|
+
spree/stock_movement:
|
|
374
|
+
one: Lagerbevægelse
|
|
375
|
+
other: Lagerbevægelser
|
|
376
|
+
spree/stock_transfer:
|
|
377
|
+
one: Lageroverførsel
|
|
378
|
+
other: Lageroverførsler
|
|
379
|
+
spree/store:
|
|
380
|
+
one: Butik
|
|
381
|
+
other: Butikker
|
|
382
|
+
spree/store_credit:
|
|
383
|
+
one: Butikskredit
|
|
384
|
+
other: Butikskreditter
|
|
385
|
+
spree/tax_category:
|
|
386
|
+
one: Momskategori
|
|
387
|
+
other: Momskategorier
|
|
388
|
+
spree/tax_rate:
|
|
389
|
+
one: Momssats
|
|
390
|
+
other: Momssatser
|
|
391
|
+
spree/taxon:
|
|
392
|
+
one: Takson
|
|
393
|
+
other: Taksoner
|
|
394
|
+
spree/taxonomy:
|
|
395
|
+
one: Taksonomi
|
|
396
|
+
other: Taksonomier
|
|
397
|
+
spree/user:
|
|
398
|
+
one: Bruger
|
|
399
|
+
other: Brugere
|
|
400
|
+
spree/variant:
|
|
401
|
+
one: Variant
|
|
402
|
+
other: Varianter
|
|
403
|
+
spree/zone:
|
|
404
|
+
one: Zone
|
|
405
|
+
other: Zoner
|
|
406
|
+
errors:
|
|
407
|
+
messages:
|
|
408
|
+
already_confirmed: er blevet bekræftet
|
|
409
|
+
not_found: ikke fundet
|
|
410
|
+
not_locked: var ikke låst
|
|
411
|
+
not_saved:
|
|
412
|
+
one: '1 fejl forhindrede %{resource} i at blive gemt:'
|
|
413
|
+
other: "%{count} fejl forhindrede %{resource} i at blive gemt:"
|
|
414
|
+
number:
|
|
415
|
+
percentage:
|
|
416
|
+
format:
|
|
417
|
+
precision: 1
|
|
418
|
+
spree:
|
|
419
|
+
accepts_email_marketing: Accepterer e-mailmarketing
|
|
420
|
+
account: Konto
|
|
421
|
+
active: Aktiv
|
|
422
|
+
address: Adresse
|
|
423
|
+
address1: Adresse
|
|
424
|
+
address2: Adresse (fortsat)
|
|
425
|
+
adjustment: Justering
|
|
426
|
+
adjustment_labels:
|
|
427
|
+
tax_rates:
|
|
428
|
+
excluding_tax: "%{name}%{amount}"
|
|
429
|
+
including_tax: "%{name}%{amount} (inkluderet i prisen)"
|
|
430
|
+
adjustments_deleted: Reguleringer slettet
|
|
431
|
+
all: Alle
|
|
432
|
+
amount: Beløb
|
|
433
|
+
api_key_no_current_key: Ingen API-nøgle godkendte denne anmodning
|
|
434
|
+
api_key_scopes_immutable: kan ikke ændres, efter at nøglen er oprettet; opret en ny nøgle med de scopes, du har brug for, og tilbagekald denne
|
|
435
|
+
approver: Godkendt af
|
|
436
|
+
availability: tilgængelighed
|
|
437
|
+
backorderable: Ventelist mulig
|
|
438
|
+
bill_address: Faktureringsadresse
|
|
439
|
+
billing_address: Faktureringsadresse
|
|
440
|
+
calculator: Beregner
|
|
441
|
+
canceled: Annulleret
|
|
442
|
+
canceler: Annulleret af
|
|
443
|
+
cannot_be_destroyed: Ordren kan ikke slettes.
|
|
444
|
+
capture: hæv beløb (capture)
|
|
445
|
+
cart: Indkøbskurv
|
|
446
|
+
cart_already_updated: Kurven er allerede blevet opdateret.
|
|
447
|
+
cart_line_item:
|
|
448
|
+
delivery_unavailable: "%{li_name} kan ikke leveres til den valgte adresse"
|
|
449
|
+
discontinued: "%{li_name} blev fjernet, fordi den er udgået"
|
|
450
|
+
out_of_stock: "%{li_name} blev fjernet, fordi den var udsolgt"
|
|
451
|
+
categories: Kategorier
|
|
452
|
+
category: Kategori
|
|
453
|
+
channel: Salgskanal
|
|
454
|
+
channels: Salgskanaler
|
|
455
|
+
checkout: Til kassen
|
|
456
|
+
checkout_requirements:
|
|
457
|
+
email_required: E-mailadresse er påkrævet
|
|
458
|
+
line_items_required: Tilføj mindst én vare til din kurv
|
|
459
|
+
payment_required: Tilføj en betalingsmetode
|
|
460
|
+
ship_address_required: Leveringsadresse er påkrævet
|
|
461
|
+
city: By
|
|
462
|
+
color_code: Farvekode
|
|
463
|
+
company: Firma
|
|
464
|
+
compare_at_amount: Sammenligningsbeløb
|
|
465
|
+
compare_at_price: Sammenligningspris
|
|
466
|
+
complete: afsluttet
|
|
467
|
+
confirm: Bekræft
|
|
468
|
+
cost_price: Kostpris
|
|
469
|
+
count_on_hand: Antal tilgængelig
|
|
470
|
+
country: Land
|
|
471
|
+
coupon_code: Rabatkode
|
|
472
|
+
coupon_code_already_applied: Rabatkoden er allerede anvendt på denne ordre
|
|
473
|
+
coupon_code_applied: Rabatten er trukket fra din ordre.
|
|
474
|
+
coupon_code_better_exists: Den tidligere rabatkode giver en bedre pris
|
|
475
|
+
coupon_code_expired: Rabatkoden er udløbet
|
|
476
|
+
coupon_code_max_usage: Rabatkoden har nået maksimum brug
|
|
477
|
+
coupon_code_not_eligible: Denne rabatkode kan ikke anvendes på denne ordre
|
|
478
|
+
coupon_code_not_found: Rabatkoden eksisterer ikke. Prøv venligst igen.
|
|
479
|
+
coupon_code_used: Den rabatkode, du indtastede, er allerede blevet brugt. Prøv venligst igen.
|
|
480
|
+
created_at: Oprettet den
|
|
481
|
+
credit_card: Kreditkort
|
|
482
|
+
currency: Valuta
|
|
483
|
+
currency_not_supported_by_store: understøttes ikke af denne butik
|
|
484
|
+
customer: Kunde
|
|
485
|
+
customers: Kunder
|
|
486
|
+
default: Standard
|
|
487
|
+
default_stock_location_name: Butikslokation
|
|
488
|
+
default_wishlist_name: Ønskeliste
|
|
489
|
+
delivery: Levering
|
|
490
|
+
depth: Dybde
|
|
491
|
+
description: Beskrivelse
|
|
492
|
+
destination: Destination
|
|
493
|
+
destroy: Slet
|
|
494
|
+
details: Detaljer
|
|
495
|
+
digital:
|
|
496
|
+
digital_delivery: Digital levering
|
|
497
|
+
digital_assets: Digitale aktiver
|
|
498
|
+
discontinued: Udgået
|
|
499
|
+
discontinued_variants_present: Nogle varelinjer i denne ordre indeholder produkter, der ikke længere er tilgængelige.
|
|
500
|
+
display_delivery_range: Levering på %{delivery_range} hverdage
|
|
501
|
+
draft: Kladde
|
|
502
|
+
eligibility_errors:
|
|
503
|
+
messages:
|
|
504
|
+
no_matching_channel: Denne rabatkode kan ikke bruges på denne salgskanal.
|
|
505
|
+
no_matching_market: Denne rabatkode kan ikke bruges på dit marked.
|
|
506
|
+
wrong_country: Denne rabatkode kan ikke bruges i dit land
|
|
507
|
+
email: E-mail
|
|
508
|
+
error: fejl
|
|
509
|
+
error_user_destroy_with_orders: En bruger, der er knyttet til ordrer, kan ikke slettes
|
|
510
|
+
error_user_does_not_have_any_store_credits: Brugeren har ingen tilgængelig butikskredit
|
|
511
|
+
errors:
|
|
512
|
+
messages:
|
|
513
|
+
cannot_delete_default_channel: Standardkanalen kan ikke slettes. Gør først en anden kanal til standard.
|
|
514
|
+
channel_store_mismatch: skal tilhøre den samme butik
|
|
515
|
+
invalid_order_routing_rule: er ikke en registreret ordrerutningsregel
|
|
516
|
+
invalid_order_routing_strategy: er ikke en registreret ordrerutningsstrategi
|
|
517
|
+
store_association_can_not_be_changed: Butikstilknytningen kan ikke ændres
|
|
518
|
+
store_is_already_set: Butikken er allerede angivet
|
|
519
|
+
expired: Udløbet
|
|
520
|
+
export_mailer:
|
|
521
|
+
export_done:
|
|
522
|
+
message: Godt arbejde, din eksport er klar! Brug venligst linket nedenfor til at downloade den.
|
|
523
|
+
subject: Din eksport %{export_number} blev behandlet!
|
|
524
|
+
greeting: Hej %{user_name},
|
|
525
|
+
field: Felt
|
|
526
|
+
first_name: Fornavn
|
|
527
|
+
flat_percent: Fast procentsats
|
|
528
|
+
flat_rate_per_order: Fast pris (per ordre)
|
|
529
|
+
flexible_rate: Flexible pris
|
|
530
|
+
free: Gratis
|
|
531
|
+
gateway: Betalingsleverandør
|
|
532
|
+
gateway_error: Betalingsleverandørfejl
|
|
533
|
+
gift_card: Gavekort
|
|
534
|
+
gift_card_already_redeemed: Gavekortet er allerede blevet indløst.
|
|
535
|
+
gift_card_applied: Gavekortet blev anvendt på din ordre!
|
|
536
|
+
gift_card_customer_not_logged_in: Gavekort kan ikke anvendes som gæstebruger.
|
|
537
|
+
gift_card_expired: Gavekortet er udløbet.
|
|
538
|
+
gift_card_mismatched_currency: Gavekort kan ikke anvendes med den nuværende valuta.
|
|
539
|
+
gift_card_mismatched_customer: Dette gavekort er knyttet til en anden bruger.
|
|
540
|
+
gift_card_not_found: Gavekortet blev ikke fundet.
|
|
541
|
+
gift_card_removed: Gavekortet blev fjernet fra din ordre
|
|
542
|
+
gift_card_using_store_credit_error: Du kan ikke anvende gavekortet, efter at du har anvendt butikskredit.
|
|
543
|
+
height: Højde
|
|
544
|
+
i18n:
|
|
545
|
+
this_file_language: Danish (DA)
|
|
546
|
+
idempotency_key_reused: Denne Idempotency-Key er allerede blevet brugt med andre anmodningsparametre.
|
|
547
|
+
image: Billed
|
|
548
|
+
import: Importér
|
|
549
|
+
in_stock: På lager
|
|
550
|
+
internal_note: Intern note
|
|
551
|
+
inventory: Beholdning
|
|
552
|
+
invitation_mailer:
|
|
553
|
+
greeting: Hej %{user_name},
|
|
554
|
+
invitation_accepted:
|
|
555
|
+
body: "%{invitee_name} har accepteret din invitation til at deltage i %{resource_name}"
|
|
556
|
+
subject: "%{invitee_name} har accepteret din invitation til at deltage i %{resource_name}"
|
|
557
|
+
invitation_email:
|
|
558
|
+
body: "%{inviter_name} har inviteret dig til at deltage i %{resource_name}"
|
|
559
|
+
link_description: 'For at acceptere denne invitation skal du klikke på linket nedenfor:'
|
|
560
|
+
subject: Invitation til at deltage i %{resource_name}
|
|
561
|
+
iso: ISO Alpha-2
|
|
562
|
+
item: Varer
|
|
563
|
+
items_cannot_be_shipped: Vi kan ikke levere til adressen. Vælg venlist en anden adresse.
|
|
564
|
+
key: Nøgle
|
|
565
|
+
kind: Type
|
|
566
|
+
label: Etiket
|
|
567
|
+
last_name: Efternavn
|
|
568
|
+
line_item: Varelinje
|
|
569
|
+
line_items: Varelinjer
|
|
570
|
+
link: Link
|
|
571
|
+
locale: Sprog
|
|
572
|
+
locale_not_supported_by_store: understøttes ikke af denne butik
|
|
573
|
+
manual: Manuel
|
|
574
|
+
market: Marked
|
|
575
|
+
me_no_current_user: Ingen administratorbruger godkendte denne anmodning
|
|
576
|
+
media: Medier
|
|
577
|
+
meta_description: Metabeskrivelse
|
|
578
|
+
meta_keywords: Metanøgleord
|
|
579
|
+
metadata: Metadata
|
|
580
|
+
min_quantity: Min. mængde
|
|
581
|
+
month: Måned
|
|
582
|
+
name: Navn
|
|
583
|
+
new_variant: Ny variant
|
|
584
|
+
no_cc_type: Ikke relevant
|
|
585
|
+
none: Ingen
|
|
586
|
+
number: Nummer
|
|
587
|
+
on_hand: På lager
|
|
588
|
+
only_active_products_can_be_added_to_cart: Kladde- og arkiverede produkter kan ikke føjes til kurven. Markér venligst produktet som aktivt først.
|
|
589
|
+
open: Åben
|
|
590
|
+
option_name: Indstillingsnavn
|
|
591
|
+
option_type: Alternativ udgave
|
|
592
|
+
option_value: Alternativ værdi
|
|
593
|
+
options: Indstillinger
|
|
594
|
+
or: eller
|
|
595
|
+
order: Ordre
|
|
596
|
+
order_canceled: Ordren er blevet annulleret
|
|
597
|
+
order_routing:
|
|
598
|
+
strategies:
|
|
599
|
+
legacy: Ældre
|
|
600
|
+
rules: Regler (sorteret)
|
|
601
|
+
order_summary: Ordreoversigt
|
|
602
|
+
orders: Ordrer
|
|
603
|
+
out_of_stock: Ikke på lager
|
|
604
|
+
password: Adgangskode
|
|
605
|
+
path: Sti
|
|
606
|
+
payment: Betaling
|
|
607
|
+
payment_method: Betalingsmetode
|
|
608
|
+
payment_methods: Betalingsmetoder
|
|
609
|
+
payment_processing_failed: Betalingen kunne ikke gennemføres. Hver venlig at checke de detaljer du har indtastet.
|
|
610
|
+
payment_source: Betalingskilde
|
|
611
|
+
percent: Procent
|
|
612
|
+
percent_per_item: Percent Per Item
|
|
613
|
+
phone: Telefonnummer
|
|
614
|
+
price: Pris
|
|
615
|
+
price_range: Prisklasse
|
|
616
|
+
price_rules:
|
|
617
|
+
channel_rule:
|
|
618
|
+
description: Anvend prissætning baseret på salgskanalen
|
|
619
|
+
customer_group_rule:
|
|
620
|
+
description: Anvend priser på bestemte kundegrupper
|
|
621
|
+
price_sack: Prisgruppe
|
|
622
|
+
prices: Priser
|
|
623
|
+
privacy_policy: Privatlivspolitik
|
|
624
|
+
processing: Behandler
|
|
625
|
+
product: Vare
|
|
626
|
+
product_translations: Produktoversættelser
|
|
627
|
+
products: Varer
|
|
628
|
+
products_cannot_be_shipped: Vi kan ikke sende %{product_names} til din nuværende placering i øjeblikket. Ændr venligst din leveringsadresse, eller fjern %{product_names} fra din kurv.
|
|
629
|
+
promotion: Kampagne
|
|
630
|
+
promotion_action_types:
|
|
631
|
+
create_adjustment:
|
|
632
|
+
description: Creates a promotion credit adjustment on the order
|
|
633
|
+
name: Create adjustment
|
|
634
|
+
create_line_items:
|
|
635
|
+
description: Populates the cart with the specified quantity of variant
|
|
636
|
+
name: Create line items
|
|
637
|
+
promotion_actions: Handlinger
|
|
638
|
+
promotion_already_used: Du kan ikke slette en kampagne, der allerede er blevet anvendt
|
|
639
|
+
promotion_label: Kampagne (%{name})
|
|
640
|
+
promotion_rule_types:
|
|
641
|
+
category:
|
|
642
|
+
description: Ordren indeholder produkter i bestemte kategorier
|
|
643
|
+
name: Kategorier
|
|
644
|
+
channel:
|
|
645
|
+
description: Begræns til ordrer afgivet via valgte kanal(er)
|
|
646
|
+
name: Kanal(er)
|
|
647
|
+
country:
|
|
648
|
+
description: Begræns til ordrer med leveringsadresse i et bestemt land
|
|
649
|
+
name: Land
|
|
650
|
+
currency:
|
|
651
|
+
description: Begræns til ordrer i en bestemt valuta
|
|
652
|
+
name: Valuta
|
|
653
|
+
customer:
|
|
654
|
+
description: Kun tilgængelig for de angivne kunder
|
|
655
|
+
name: Kunder
|
|
656
|
+
customer_group:
|
|
657
|
+
description: Kun tilgængelig for kunder i bestemte kundegrupper
|
|
658
|
+
name: Kundegruppe(r)
|
|
659
|
+
customer_logged_in:
|
|
660
|
+
description: Kun tilgængelig for kunder, der er logget ind
|
|
661
|
+
name: Kun kunder, der er logget ind
|
|
662
|
+
first_order:
|
|
663
|
+
description: Skal være kundens første ordre
|
|
664
|
+
name: Første ordre
|
|
665
|
+
item_total:
|
|
666
|
+
description: Ordre som møder disse kriterier
|
|
667
|
+
name: Totalpris
|
|
668
|
+
market:
|
|
669
|
+
description: Begræns til ordrer afgivet på valgte marked(er)
|
|
670
|
+
name: Marked(er)
|
|
671
|
+
product:
|
|
672
|
+
description: Ordrer inkluderer angivne vare(r)
|
|
673
|
+
name: Vare(r)
|
|
674
|
+
promotions: Kampagner
|
|
675
|
+
quantity: Antal
|
|
676
|
+
query: Forespørgsel
|
|
677
|
+
reason: Anledning
|
|
678
|
+
received: Modtaget
|
|
679
|
+
reference: Reference
|
|
680
|
+
refund: Tilbagebetal
|
|
681
|
+
refund_amount: Refunderingsbeløb
|
|
682
|
+
registration: Registrering
|
|
683
|
+
remove: Fjern
|
|
684
|
+
remove_gift_card_on_completed_order_error: Du kan ikke fjerne gavekortet, efter at ordren er afgivet
|
|
685
|
+
resellable: Kan videresælges
|
|
686
|
+
resend: Gensend
|
|
687
|
+
response_code: Svarkode
|
|
688
|
+
return: vend tilbage
|
|
689
|
+
returned: Returneret
|
|
690
|
+
returns_policy: Returpolitik
|
|
691
|
+
row: Række
|
|
692
|
+
rules: Regler
|
|
693
|
+
say_no: Nej
|
|
694
|
+
say_yes: Ja
|
|
695
|
+
scope: Område
|
|
696
|
+
ship: lever
|
|
697
|
+
ship_address: Leveringsadresse
|
|
698
|
+
shipment: Levering
|
|
699
|
+
shipped: Leveret
|
|
700
|
+
shipping: Levering
|
|
701
|
+
shipping_address: Leveringsadresse
|
|
702
|
+
shipping_flat_rate_per_order: Fastpris
|
|
703
|
+
shipping_flexible_rate: Variabel fragtpris
|
|
704
|
+
shipping_policy: Forsendelsespolitik
|
|
705
|
+
shipping_price_sack: Prissænkning
|
|
706
|
+
shipping_rates:
|
|
707
|
+
display_price:
|
|
708
|
+
excluding_tax: "%{price} (+ %{tax_amount} %{tax_rate_name})"
|
|
709
|
+
including_tax: "%{price} (inkl. %{tax_amount} %{tax_rate_name})"
|
|
710
|
+
sku: Varenummer
|
|
711
|
+
source: Kilde
|
|
712
|
+
status: Status
|
|
713
|
+
stock_location: Lagersted
|
|
714
|
+
stock_locations: Lagersteder
|
|
715
|
+
stock_transfer:
|
|
716
|
+
errors:
|
|
717
|
+
must_have_variant: Du skal tilføje mindst én variant
|
|
718
|
+
same_location: kan ikke være den samme som destinationslokationen
|
|
719
|
+
variants_unavailable: Nogle varianter er ikke tilgængelige på %{stock}
|
|
720
|
+
store: Butik
|
|
721
|
+
store_credit:
|
|
722
|
+
allocated: Tilføjet
|
|
723
|
+
authorized: Autoriseret
|
|
724
|
+
captured: Brugt
|
|
725
|
+
credit: Kredit
|
|
726
|
+
eligible: Berettiget
|
|
727
|
+
store_credit_name: Butikskredit
|
|
728
|
+
store_credit_payment_method:
|
|
729
|
+
currency_mismatch: Butikskredittens valuta stemmer ikke overens med ordrens valuta
|
|
730
|
+
insufficient_authorized_amount: Kan ikke opkræve mere end det autoriserede beløb
|
|
731
|
+
insufficient_funds: Den resterende butikskredit er ikke tilstrækkelig
|
|
732
|
+
successful_action: Vellykket butikskredit-%{action}
|
|
733
|
+
unable_to_credit: 'Kan ikke kreditere kode: %{auth_code}'
|
|
734
|
+
unable_to_find: Kunne ikke finde butikskredit
|
|
735
|
+
unable_to_find_for_action: 'Kunne ikke finde butikskredit for autorisationskode: %{auth_code} til handling: %{action}'
|
|
736
|
+
unable_to_void: 'Kan ikke annullere kode: %{auth_code}'
|
|
737
|
+
tags: Tags
|
|
738
|
+
tax: Moms
|
|
739
|
+
tax_category: Momskategori
|
|
740
|
+
terms_of_service: Servicevilkår
|
|
741
|
+
total: Total
|
|
742
|
+
tracking: Sporing
|
|
743
|
+
tracking_number: Track & trace nummer
|
|
744
|
+
tracking_url: Track & trace url
|
|
745
|
+
type: Type
|
|
746
|
+
unable_to_connect_to_gateway: Ude af stand til at forbinde til betalingsleverandør.
|
|
747
|
+
updated_at: Opdateret
|
|
748
|
+
url: URL
|
|
749
|
+
user: Bruger
|
|
750
|
+
validation:
|
|
751
|
+
must_be_int: skal være et heltal
|
|
752
|
+
value: Værdi
|
|
753
|
+
variant: Variant
|
|
754
|
+
variants: Varianter
|
|
755
|
+
verified: Bekræftet
|
|
756
|
+
void: Tom
|
|
757
|
+
webhook_mailer:
|
|
758
|
+
endpoint_disabled:
|
|
759
|
+
disabled_at_label: Deaktiveret
|
|
760
|
+
heading: Webhook-endepunkt deaktiveret
|
|
761
|
+
instructions: Kontrollér venligst endepunktets URL og service, og genaktivér det derefter under Indstillinger → Udviklere → Webhooks.
|
|
762
|
+
message: Webhook-endepunktet "%{endpoint_name}" er blevet deaktiveret automatisk efter gentagne leveringsfejl.
|
|
763
|
+
name_label: Navn
|
|
764
|
+
reason_label: Årsag
|
|
765
|
+
subject: 'Webhook-endepunkt deaktiveret: %{endpoint_name}'
|
|
766
|
+
url_label: URL
|
|
767
|
+
weight: Vægt
|
|
768
|
+
weight_unit: Vægtenhed
|
|
769
|
+
width: Bredde
|
|
770
|
+
year: År
|
|
771
|
+
zip: Postnummer
|