spree_core 6.0.0.beta4 → 6.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,636 @@
|
|
|
1
|
+
---
|
|
2
|
+
pt:
|
|
3
|
+
activemodel:
|
|
4
|
+
errors:
|
|
5
|
+
messages:
|
|
6
|
+
blank: não pode ficar em branco
|
|
7
|
+
activerecord:
|
|
8
|
+
attributes:
|
|
9
|
+
spree/address:
|
|
10
|
+
address1: Endereço
|
|
11
|
+
address2: Endereço (cont.)
|
|
12
|
+
city: Cidade
|
|
13
|
+
company: Empresa
|
|
14
|
+
country: País
|
|
15
|
+
label: Nome da morada
|
|
16
|
+
phone: Telefone
|
|
17
|
+
state: Estado
|
|
18
|
+
spree/country:
|
|
19
|
+
iso: ISO
|
|
20
|
+
iso3: ISO3
|
|
21
|
+
iso_name: Nome ISO
|
|
22
|
+
name: Nome
|
|
23
|
+
numcode: Código ISO
|
|
24
|
+
spree/credit_card:
|
|
25
|
+
cc_type: Tipo
|
|
26
|
+
month: Mês
|
|
27
|
+
number: Número
|
|
28
|
+
spree/customer_group:
|
|
29
|
+
description: Descrição
|
|
30
|
+
name: Nome
|
|
31
|
+
spree/gift_card:
|
|
32
|
+
amount_used: Montante utilizado
|
|
33
|
+
expires_at: Expira a
|
|
34
|
+
spree/import:
|
|
35
|
+
preferred_delimiter: Delimitador
|
|
36
|
+
spree/import_mapping:
|
|
37
|
+
file_column: Coluna do ficheiro
|
|
38
|
+
schema_field: Campo do esquema
|
|
39
|
+
spree/import_row:
|
|
40
|
+
row_number: Número
|
|
41
|
+
spree/invitation:
|
|
42
|
+
inviter: Quem convidou
|
|
43
|
+
spree/line_item:
|
|
44
|
+
price: Preço
|
|
45
|
+
quantity: Quantidade
|
|
46
|
+
spree/option_type:
|
|
47
|
+
filterable: Filtrável
|
|
48
|
+
kind: Tipo
|
|
49
|
+
name: Nome
|
|
50
|
+
spree/option_value:
|
|
51
|
+
color_code: Código de cor
|
|
52
|
+
image: Imagem da amostra
|
|
53
|
+
spree/order:
|
|
54
|
+
internal_note: Nota interna
|
|
55
|
+
item_count: Artigos
|
|
56
|
+
number: Número
|
|
57
|
+
spree/payment:
|
|
58
|
+
amount: Quantia
|
|
59
|
+
number: Número
|
|
60
|
+
spree/payment_method:
|
|
61
|
+
name: Nome
|
|
62
|
+
spree/policy:
|
|
63
|
+
body: Corpo
|
|
64
|
+
owner: Política para
|
|
65
|
+
spree/price_list:
|
|
66
|
+
description: Descrição
|
|
67
|
+
ends_at: Termina a
|
|
68
|
+
match_policy: Política de correspondência
|
|
69
|
+
name: Nome
|
|
70
|
+
priority: Prioridade
|
|
71
|
+
starts_at: Começa a
|
|
72
|
+
status: Estado
|
|
73
|
+
spree/price_rule:
|
|
74
|
+
priority: Prioridade
|
|
75
|
+
type: Tipo
|
|
76
|
+
spree/product:
|
|
77
|
+
cost_price: Cost Price
|
|
78
|
+
description: Descrição
|
|
79
|
+
discontinue_on: Descontinuar em
|
|
80
|
+
less_than: Inferior a
|
|
81
|
+
make_active_at: Ativar em
|
|
82
|
+
master_price: Master Price
|
|
83
|
+
more_than: Superior a
|
|
84
|
+
name: Nome
|
|
85
|
+
spree/promotion:
|
|
86
|
+
advertise: Advertise
|
|
87
|
+
code: Código
|
|
88
|
+
description: Descrição
|
|
89
|
+
generate_code: Gerar código de cupão
|
|
90
|
+
promotion_category: Categoria de promoção
|
|
91
|
+
spree/promotion_category:
|
|
92
|
+
code: Código
|
|
93
|
+
spree/shipment:
|
|
94
|
+
number: Número
|
|
95
|
+
spree/store:
|
|
96
|
+
address: Morada
|
|
97
|
+
contact_phone: Telefone de contacto
|
|
98
|
+
preferred_digital_asset_authorized_clicks: Limite de cliques de transferência
|
|
99
|
+
preferred_digital_asset_authorized_days: Limite de dias de transferência
|
|
100
|
+
preferred_limit_digital_download_count: Limitar o número de transferências de ligações digitais
|
|
101
|
+
preferred_limit_digital_download_days: Limitar os dias de transferência de ligações digitais
|
|
102
|
+
seo_robots: Robots de SEO
|
|
103
|
+
storefront_custom_code_body_end: Código personalizado antes da etiqueta de fecho do body
|
|
104
|
+
storefront_custom_code_body_start: Código personalizado após a etiqueta de abertura do body
|
|
105
|
+
storefront_custom_code_head: Código personalizado no head da página
|
|
106
|
+
spree/store_credit:
|
|
107
|
+
amount_used: Montante utilizado
|
|
108
|
+
spree/taxon:
|
|
109
|
+
sort_order: Ordem de classificação
|
|
110
|
+
spree/user:
|
|
111
|
+
avatar: Avatar
|
|
112
|
+
user:
|
|
113
|
+
current_sign_in: Início de sessão atual em
|
|
114
|
+
last_sign_in: Último início de sessão em
|
|
115
|
+
sign_in_count: Número de inícios de sessão
|
|
116
|
+
errors:
|
|
117
|
+
messages:
|
|
118
|
+
blank: não pode ficar em branco
|
|
119
|
+
models:
|
|
120
|
+
spree/allowed_origin:
|
|
121
|
+
attributes:
|
|
122
|
+
origin:
|
|
123
|
+
must_be_origin_only: deve ser uma origem (esquema e anfitrião) sem caminho, consulta ou fragmento
|
|
124
|
+
spree/gift_card:
|
|
125
|
+
attributes:
|
|
126
|
+
base:
|
|
127
|
+
cannot_destroy_used_gift_card: Não é possível eliminar um cartão de oferta já utilizado
|
|
128
|
+
spree/import:
|
|
129
|
+
attributes:
|
|
130
|
+
attachment:
|
|
131
|
+
content_type: tem um tipo de conteúdo não permitido
|
|
132
|
+
type:
|
|
133
|
+
inclusion: não está incluído na lista de tipos permitidos
|
|
134
|
+
spree/market:
|
|
135
|
+
attributes:
|
|
136
|
+
base:
|
|
137
|
+
cannot_destroy_default_market: Não é possível eliminar o mercado predefinido.
|
|
138
|
+
cannot_destroy_last_market: Não é possível eliminar o único mercado.
|
|
139
|
+
spree/market_country:
|
|
140
|
+
attributes:
|
|
141
|
+
country:
|
|
142
|
+
already_in_market: já está atribuído a outro mercado nesta loja
|
|
143
|
+
not_in_shipping_zone: não está coberto por nenhuma zona de envio. Configure primeiro uma zona de envio.
|
|
144
|
+
spree/payment:
|
|
145
|
+
attributes:
|
|
146
|
+
amount:
|
|
147
|
+
greater_than_max_amount: é superior ao montante máximo permitido de %{max_amount}
|
|
148
|
+
spree/price_list:
|
|
149
|
+
attributes:
|
|
150
|
+
ends_at:
|
|
151
|
+
must_be_after_starts_at: deve ser posterior à data de início
|
|
152
|
+
spree/product:
|
|
153
|
+
attributes:
|
|
154
|
+
base:
|
|
155
|
+
cannot_destroy_if_attached_to_line_items: Não é possível eliminar produtos que estão adicionados a encomendas efetuadas. Nesses casos, descontinue-os.
|
|
156
|
+
discontinue_on:
|
|
157
|
+
invalid_date_range: deve ser posterior à data de disponibilidade
|
|
158
|
+
spree/product_publication:
|
|
159
|
+
attributes:
|
|
160
|
+
unpublished_at:
|
|
161
|
+
must_be_after_published_at: deve ser posterior à data de publicação
|
|
162
|
+
spree/promotion:
|
|
163
|
+
attributes:
|
|
164
|
+
expires_at:
|
|
165
|
+
invalid_date_range: deve ser posterior à data de início
|
|
166
|
+
spree/store:
|
|
167
|
+
attributes:
|
|
168
|
+
base:
|
|
169
|
+
cannot_destroy_only_store: Não é possível eliminar a única loja.
|
|
170
|
+
spree/store_credit:
|
|
171
|
+
attributes:
|
|
172
|
+
amount_authorized:
|
|
173
|
+
exceeds_total_credits: Excede o total de créditos.
|
|
174
|
+
amount_used:
|
|
175
|
+
cannot_be_greater_than_amount: Não pode ser superior ao montante.
|
|
176
|
+
greater_than_zero_restrict_delete: é superior a zero. Não é possível eliminar o crédito da loja.
|
|
177
|
+
spree/user:
|
|
178
|
+
attributes:
|
|
179
|
+
bill_address_id:
|
|
180
|
+
belongs_to_other_user: pertence a outro utilizador
|
|
181
|
+
deprecated_in_completed_order: obsoleto numa encomenda concluída
|
|
182
|
+
ship_address_id:
|
|
183
|
+
belongs_to_other_user: pertence a outro utilizador
|
|
184
|
+
deprecated_in_completed_order: obsoleto numa encomenda concluída
|
|
185
|
+
spree/variant:
|
|
186
|
+
attributes:
|
|
187
|
+
base:
|
|
188
|
+
cannot_destroy_if_attached_to_line_items: Não é possível eliminar variantes que estão adicionadas a encomendas efetuadas. Nesses casos, descontinue-as.
|
|
189
|
+
spree/webhook_endpoint:
|
|
190
|
+
attributes:
|
|
191
|
+
url:
|
|
192
|
+
internal_address_not_allowed: não deve apontar para um endereço de rede interna ou privada
|
|
193
|
+
models:
|
|
194
|
+
spree/address:
|
|
195
|
+
one: Morada
|
|
196
|
+
other: Moradas
|
|
197
|
+
spree/classification:
|
|
198
|
+
one: Classificação
|
|
199
|
+
other: Classificações
|
|
200
|
+
spree/country:
|
|
201
|
+
one: País
|
|
202
|
+
other: Países
|
|
203
|
+
spree/credit_card:
|
|
204
|
+
one: Cartão de crédito
|
|
205
|
+
other: Cartões de crédito
|
|
206
|
+
spree/customer_group:
|
|
207
|
+
one: Grupo de clientes
|
|
208
|
+
other: Grupos de clientes
|
|
209
|
+
spree/customer_group_user:
|
|
210
|
+
one: Utilizador de grupo de clientes
|
|
211
|
+
other: Utilizadores de grupo de clientes
|
|
212
|
+
spree/export:
|
|
213
|
+
one: Exportação
|
|
214
|
+
other: Exportações
|
|
215
|
+
spree/integration:
|
|
216
|
+
one: Integração
|
|
217
|
+
other: Integrações
|
|
218
|
+
spree/inventory_unit:
|
|
219
|
+
one: Unidade de inventário
|
|
220
|
+
other: Unidades de inventário
|
|
221
|
+
spree/line_item:
|
|
222
|
+
one: Item de linha
|
|
223
|
+
other: Itens de linha
|
|
224
|
+
spree/option_type:
|
|
225
|
+
one: Tipo de opção
|
|
226
|
+
other: Tipos de opção
|
|
227
|
+
spree/option_value:
|
|
228
|
+
one: Valor de opção
|
|
229
|
+
other: Valores de opção
|
|
230
|
+
spree/order:
|
|
231
|
+
one: Encomenda
|
|
232
|
+
other: Encomendas
|
|
233
|
+
spree/payment:
|
|
234
|
+
one: Pagamento
|
|
235
|
+
other: Pagamentos
|
|
236
|
+
spree/payment_method:
|
|
237
|
+
one: Método de pagamento
|
|
238
|
+
other: Métodos de pagamento
|
|
239
|
+
spree/price:
|
|
240
|
+
one: Preço
|
|
241
|
+
other: Preços
|
|
242
|
+
spree/price_list:
|
|
243
|
+
one: Lista de preços
|
|
244
|
+
other: Listas de preços
|
|
245
|
+
spree/price_rule:
|
|
246
|
+
one: Regra de preço
|
|
247
|
+
other: Regras de preço
|
|
248
|
+
spree/product:
|
|
249
|
+
one: Produto
|
|
250
|
+
other: Produtos
|
|
251
|
+
spree/promotion:
|
|
252
|
+
one: Promoção
|
|
253
|
+
other: Promoções
|
|
254
|
+
spree/promotion_category:
|
|
255
|
+
one: Categoria de promoção
|
|
256
|
+
other: Categorias de promoção
|
|
257
|
+
spree/property:
|
|
258
|
+
one: Propriedade
|
|
259
|
+
other: Propriedades
|
|
260
|
+
spree/refund_reason:
|
|
261
|
+
one: Motivo de reembolso
|
|
262
|
+
other: Motivos de reembolso
|
|
263
|
+
spree/role:
|
|
264
|
+
one: Funções
|
|
265
|
+
other: Funções
|
|
266
|
+
spree/shipment:
|
|
267
|
+
one: Envio
|
|
268
|
+
other: Envios
|
|
269
|
+
spree/shipping_method:
|
|
270
|
+
one: Método de envio
|
|
271
|
+
other: Métodos de envio
|
|
272
|
+
spree/state:
|
|
273
|
+
one: Distrito
|
|
274
|
+
other: Distritos
|
|
275
|
+
spree/stock_location:
|
|
276
|
+
one: Localização de stock
|
|
277
|
+
other: Localizações de stock
|
|
278
|
+
spree/stock_movement:
|
|
279
|
+
one: Movimento de stock
|
|
280
|
+
other: Movimentos de stock
|
|
281
|
+
spree/stock_transfer:
|
|
282
|
+
one: Transferência de stock
|
|
283
|
+
other: Transferências de stock
|
|
284
|
+
spree/store:
|
|
285
|
+
one: Loja
|
|
286
|
+
other: Lojas
|
|
287
|
+
spree/store_credit:
|
|
288
|
+
one: Crédito da loja
|
|
289
|
+
other: Créditos da loja
|
|
290
|
+
spree/tax_category:
|
|
291
|
+
one: Categoria de imposto
|
|
292
|
+
other: Categorias de imposto
|
|
293
|
+
spree/tax_rate:
|
|
294
|
+
one: Taxa de imposto
|
|
295
|
+
other: Taxas de imposto
|
|
296
|
+
spree/taxon:
|
|
297
|
+
one: Categoria
|
|
298
|
+
other: Categorias
|
|
299
|
+
spree/taxonomy:
|
|
300
|
+
one: Categoria
|
|
301
|
+
other: Categorias
|
|
302
|
+
spree/user:
|
|
303
|
+
one: Utilizador
|
|
304
|
+
other: Utilizadores
|
|
305
|
+
spree/variant:
|
|
306
|
+
one: Variante
|
|
307
|
+
other: Variantes
|
|
308
|
+
spree/zone:
|
|
309
|
+
one: Zona
|
|
310
|
+
other: Zonas
|
|
311
|
+
errors:
|
|
312
|
+
messages:
|
|
313
|
+
not_saved:
|
|
314
|
+
one: '1 erro impediu que este %{resource} fosse guardado:'
|
|
315
|
+
other: "%{count} erros impediram que este %{resource} fosse guardado:"
|
|
316
|
+
number:
|
|
317
|
+
percentage:
|
|
318
|
+
format:
|
|
319
|
+
precision: 1
|
|
320
|
+
spree:
|
|
321
|
+
accepts_email_marketing: Aceita marketing por e-mail
|
|
322
|
+
account: Conta
|
|
323
|
+
active: Ativo
|
|
324
|
+
address: Morada
|
|
325
|
+
adjustment: Acerto
|
|
326
|
+
adjustment_labels:
|
|
327
|
+
tax_rates:
|
|
328
|
+
excluding_tax: "%{name}%{amount}"
|
|
329
|
+
including_tax: "%{name}%{amount} (Incluído no preço)"
|
|
330
|
+
adjustments_deleted: Ajustes eliminados
|
|
331
|
+
admin_user_mailer:
|
|
332
|
+
password_reset_email:
|
|
333
|
+
action: Redefinir palavra-passe
|
|
334
|
+
expiry_notice: Esta ligação de redefinição de palavra-passe expirará em breve. Se não fez este pedido, não é necessária qualquer ação.
|
|
335
|
+
greeting: Olá %{name},
|
|
336
|
+
ignore_notice: Se não pediu a redefinição da palavra-passe, pode ignorar este e-mail com segurança. A sua palavra-passe não será alterada.
|
|
337
|
+
instructions: Recebemos um pedido para redefinir a palavra-passe da sua conta de administrador da %{store_name}. Clique no botão abaixo para escolher uma nova palavra-passe.
|
|
338
|
+
subject: Instruções para redefinição de palavra-passe
|
|
339
|
+
amount: Montante
|
|
340
|
+
api_key_no_current_key: Nenhuma chave de API autenticou este pedido
|
|
341
|
+
api_key_scopes_immutable: não pode ser alterado depois de a chave ser criada; crie uma nova chave com os âmbitos de que necessita e revogue esta
|
|
342
|
+
availability: disponibilidade
|
|
343
|
+
bill_address: Endereço para Faturação
|
|
344
|
+
billing_address: Endereço para Faturação
|
|
345
|
+
calculator: Calculadora
|
|
346
|
+
canceled: Cancelada
|
|
347
|
+
cannot_be_destroyed: Não é possível eliminar a encomenda.
|
|
348
|
+
capture: Capturar
|
|
349
|
+
cart: Carrinho de Compras
|
|
350
|
+
cart_already_updated: O carrinho já foi atualizado.
|
|
351
|
+
cart_line_item:
|
|
352
|
+
delivery_unavailable: "%{li_name} não pode ser entregue no endereço selecionado"
|
|
353
|
+
discontinued: "%{li_name} foi removido porque foi descontinuado"
|
|
354
|
+
out_of_stock: "%{li_name} foi removido porque esgotou"
|
|
355
|
+
categories: Categorias
|
|
356
|
+
category: Categoria
|
|
357
|
+
channel: Canal de vendas
|
|
358
|
+
channels: Canais de vendas
|
|
359
|
+
checkout: Finalizar compra
|
|
360
|
+
checkout_requirements:
|
|
361
|
+
email_required: O endereço de e-mail é obrigatório
|
|
362
|
+
line_items_required: Adicione pelo menos um artigo ao seu carrinho
|
|
363
|
+
payment_required: Adicione um método de pagamento
|
|
364
|
+
ship_address_required: A morada de envio é obrigatória
|
|
365
|
+
city: Cidade
|
|
366
|
+
color_code: Código de cor
|
|
367
|
+
compare_at_amount: Montante comparativo
|
|
368
|
+
compare_at_price: Preço comparativo
|
|
369
|
+
complete: completo
|
|
370
|
+
confirm: Confirme
|
|
371
|
+
cost_price: Preço de custo
|
|
372
|
+
country: País
|
|
373
|
+
coupon_code: Código do cupão de desconto
|
|
374
|
+
coupon_code_used: O código de cupão que introduziu já foi utilizado. Tente novamente.
|
|
375
|
+
credit_card: Cartão de Crédito
|
|
376
|
+
currency_not_supported_by_store: não é suportado por esta loja
|
|
377
|
+
customer: Cliente
|
|
378
|
+
customers: Clientes
|
|
379
|
+
default: Padrão
|
|
380
|
+
default_stock_location_name: Localização da loja
|
|
381
|
+
default_wishlist_name: Lista de desejos
|
|
382
|
+
delivery: Entrega
|
|
383
|
+
depth: Espessura
|
|
384
|
+
description: Descrição
|
|
385
|
+
destroy: Destruir
|
|
386
|
+
digital:
|
|
387
|
+
digital_delivery: Entrega digital
|
|
388
|
+
digital_assets: Recursos digitais
|
|
389
|
+
discontinued: Descontinuado
|
|
390
|
+
discontinued_variants_present: Alguns itens de linha desta encomenda contêm produtos que já não estão disponíveis.
|
|
391
|
+
display_delivery_range: Entrega em %{delivery_range} dias úteis
|
|
392
|
+
draft: Rascunho
|
|
393
|
+
eligibility_errors:
|
|
394
|
+
messages:
|
|
395
|
+
no_matching_channel: Este código de cupom não é válido para este canal de venda.
|
|
396
|
+
no_matching_market: Este código de cupom não é válido no seu mercado.
|
|
397
|
+
wrong_country: Este código de cupão não é elegível no seu país
|
|
398
|
+
email: Email
|
|
399
|
+
error: erro
|
|
400
|
+
error_user_destroy_with_orders: Não é possível eliminar um utilizador associado a encomendas
|
|
401
|
+
error_user_does_not_have_any_store_credits: O utilizador não tem créditos da loja disponíveis
|
|
402
|
+
errors:
|
|
403
|
+
messages:
|
|
404
|
+
cannot_delete_default_channel: Não é possível eliminar o canal predefinido. Promova primeiro outro canal a predefinido.
|
|
405
|
+
channel_store_mismatch: deve pertencer à mesma loja
|
|
406
|
+
invalid_order_routing_rule: não é uma regra de encaminhamento de encomendas registada
|
|
407
|
+
invalid_order_routing_strategy: não é uma estratégia de encaminhamento de encomendas registada
|
|
408
|
+
store_association_can_not_be_changed: A associação à loja não pode ser alterada
|
|
409
|
+
store_is_already_set: A loja já está definida
|
|
410
|
+
expired: Expirado
|
|
411
|
+
export_mailer:
|
|
412
|
+
export_done:
|
|
413
|
+
message: Bom trabalho, a sua exportação está pronta! Utilize a ligação abaixo para a transferir.
|
|
414
|
+
subject: A sua exportação %{export_number} foi processada com sucesso!
|
|
415
|
+
greeting: Olá %{user_name},
|
|
416
|
+
field: Campo
|
|
417
|
+
first_name: Nome
|
|
418
|
+
flat_percent: Percentagem (flat)
|
|
419
|
+
flat_rate_per_order: "(Flat) taxa (por pedido)"
|
|
420
|
+
flexible_rate: Taxa Flexivel
|
|
421
|
+
free: Grátis
|
|
422
|
+
gateway: Gateway
|
|
423
|
+
gateway_error: Erro na Gateway
|
|
424
|
+
gift_card: Cartão de oferta
|
|
425
|
+
gift_card_already_redeemed: O cartão de oferta já foi resgatado.
|
|
426
|
+
gift_card_applied: O cartão de oferta foi aplicado com sucesso à sua encomenda!
|
|
427
|
+
gift_card_customer_not_logged_in: Não é possível aplicar o cartão de oferta com um utilizador convidado.
|
|
428
|
+
gift_card_expired: O cartão de oferta expirou.
|
|
429
|
+
gift_card_mismatched_currency: Não é possível aplicar o cartão de oferta com a moeda atual.
|
|
430
|
+
gift_card_mismatched_customer: Este cartão de oferta está associado a outro utilizador.
|
|
431
|
+
gift_card_not_found: O cartão de oferta não foi encontrado.
|
|
432
|
+
gift_card_removed: O cartão de oferta foi removido com sucesso da sua encomenda
|
|
433
|
+
gift_card_using_store_credit_error: Não pode aplicar o cartão de oferta depois de ter aplicado o crédito da loja.
|
|
434
|
+
height: Altura
|
|
435
|
+
i18n:
|
|
436
|
+
this_file_language: Português (PT)
|
|
437
|
+
idempotency_key_reused: Esta Idempotency-Key já foi utilizada com parâmetros de pedido diferentes.
|
|
438
|
+
image: Imagem
|
|
439
|
+
import: Importar
|
|
440
|
+
in_stock: Em stock
|
|
441
|
+
internal_note: Nota interna
|
|
442
|
+
inventory: Inventário
|
|
443
|
+
invitation_mailer:
|
|
444
|
+
greeting: Olá %{user_name},
|
|
445
|
+
invitation_accepted:
|
|
446
|
+
body: "%{invitee_name} aceitou o seu convite para se juntar a %{resource_name}"
|
|
447
|
+
subject: "%{invitee_name} aceitou o seu convite para se juntar a %{resource_name}"
|
|
448
|
+
invitation_email:
|
|
449
|
+
body: "%{inviter_name} convidou-o a juntar-se a %{resource_name}"
|
|
450
|
+
link_description: 'Para aceitar este convite, clique na ligação abaixo:'
|
|
451
|
+
subject: Convite para se juntar a %{resource_name}
|
|
452
|
+
iso: ISO Alpha-2
|
|
453
|
+
item: Artigo
|
|
454
|
+
key: Chave
|
|
455
|
+
kind: Tipo
|
|
456
|
+
label: Etiqueta
|
|
457
|
+
last_name: Sobrenome
|
|
458
|
+
line_item: Item de linha
|
|
459
|
+
line_items: Itens de linha
|
|
460
|
+
link: Ligação
|
|
461
|
+
locale: Idioma
|
|
462
|
+
locale_not_supported_by_store: não é suportado por esta loja
|
|
463
|
+
manual: Manual
|
|
464
|
+
market: Mercado
|
|
465
|
+
me_no_current_user: Nenhum utilizador administrador autenticou este pedido
|
|
466
|
+
media: Multimédia
|
|
467
|
+
meta_description: Descrição
|
|
468
|
+
meta_keywords: Palavras-Chave
|
|
469
|
+
metadata: Metadados
|
|
470
|
+
min_quantity: Quantidade mínima
|
|
471
|
+
month: Mês
|
|
472
|
+
name: Nome
|
|
473
|
+
new_variant: Nova Variante
|
|
474
|
+
no_cc_type: N/D
|
|
475
|
+
none: Nenhum
|
|
476
|
+
number: Número
|
|
477
|
+
on_hand: Em Stock
|
|
478
|
+
only_active_products_can_be_added_to_cart: Os produtos em rascunho e arquivados não podem ser adicionados ao carrinho; marque o produto como ativo primeiro.
|
|
479
|
+
option_name: Nome da opção
|
|
480
|
+
option_type: Tipo de Opção
|
|
481
|
+
option_value: Valor da Opção
|
|
482
|
+
options: Opções
|
|
483
|
+
or: ou
|
|
484
|
+
order: Pedido
|
|
485
|
+
order_routing:
|
|
486
|
+
strategies:
|
|
487
|
+
legacy: Legado
|
|
488
|
+
rules: Regras (ordenadas)
|
|
489
|
+
order_summary: Resumo do Pedido
|
|
490
|
+
orders: Encomendas
|
|
491
|
+
out_of_stock: Esgotado
|
|
492
|
+
path: Caminho
|
|
493
|
+
payment: Pagamento
|
|
494
|
+
payment_method: Método de Pagamento
|
|
495
|
+
payment_methods: Métodos de Pagamento
|
|
496
|
+
payment_processing_failed: Pagamento não foi processado, por favor verifique os detalhes informados.
|
|
497
|
+
payment_source: Origem do pagamento
|
|
498
|
+
phone: Telefone
|
|
499
|
+
price: Preço
|
|
500
|
+
price_range: Intervalo de Preço
|
|
501
|
+
price_rules:
|
|
502
|
+
channel_rule:
|
|
503
|
+
description: Aplicar preços com base no canal de venda
|
|
504
|
+
customer_group_rule:
|
|
505
|
+
description: Aplicar preços a grupos de clientes específicos
|
|
506
|
+
price_sack: Saco de Preço
|
|
507
|
+
prices: Preços
|
|
508
|
+
privacy_policy: Política de privacidade
|
|
509
|
+
processing: A processar
|
|
510
|
+
product: Produto
|
|
511
|
+
product_translations: Traduções de produtos
|
|
512
|
+
products: Produtos
|
|
513
|
+
products_cannot_be_shipped: De momento, não podemos enviar %{product_names} para a sua localização atual. Altere a sua morada de envio ou remova %{product_names} do seu carrinho.
|
|
514
|
+
promotion: Promoção
|
|
515
|
+
promotion_already_used: Não pode eliminar uma promoção que já foi aplicada
|
|
516
|
+
promotion_label: Promoção (%{name})
|
|
517
|
+
promotion_rule_types:
|
|
518
|
+
category:
|
|
519
|
+
description: A encomenda inclui produtos das categorias especificadas
|
|
520
|
+
name: Categorias
|
|
521
|
+
channel:
|
|
522
|
+
description: Limitar a pedidos feitos através do(s) canal(is) especificado(s)
|
|
523
|
+
name: Canal(is)
|
|
524
|
+
country:
|
|
525
|
+
description: Limitar a encomendas com morada de envio num país específico
|
|
526
|
+
name: País
|
|
527
|
+
currency:
|
|
528
|
+
description: Limitar a encomendas numa moeda específica
|
|
529
|
+
name: Moeda
|
|
530
|
+
customer:
|
|
531
|
+
description: Disponível apenas para os clientes especificados
|
|
532
|
+
name: Clientes
|
|
533
|
+
customer_group:
|
|
534
|
+
description: Disponível apenas para clientes do(s) grupo(s) de clientes especificado(s)
|
|
535
|
+
name: Grupo(s) de clientes
|
|
536
|
+
customer_logged_in:
|
|
537
|
+
description: Disponível apenas para clientes com sessão iniciada
|
|
538
|
+
name: Apenas clientes com sessão iniciada
|
|
539
|
+
first_order:
|
|
540
|
+
description: Deve ser o primeiro pedido do utilizador
|
|
541
|
+
name: Primeiro pedido
|
|
542
|
+
item_total:
|
|
543
|
+
description: Total do pedio fecha com estes critérios
|
|
544
|
+
market:
|
|
545
|
+
description: Limitar a pedidos feitos no(s) mercado(s) especificado(s)
|
|
546
|
+
name: Mercado(s)
|
|
547
|
+
product:
|
|
548
|
+
description: Pedido inclui produto(s) específico(s)
|
|
549
|
+
name: Produto(s)
|
|
550
|
+
promotions: Promoções
|
|
551
|
+
query: Consulta
|
|
552
|
+
reason: Razões
|
|
553
|
+
received: Recebido
|
|
554
|
+
refund: Restituição
|
|
555
|
+
refund_amount: Montante de reembolso
|
|
556
|
+
registration: Registo
|
|
557
|
+
remove: Remover
|
|
558
|
+
remove_gift_card_on_completed_order_error: Não pode remover o cartão de oferta depois de a encomenda ter sido efetuada
|
|
559
|
+
resellable: Revendível
|
|
560
|
+
resend: Reenviar
|
|
561
|
+
response_code: Código de Resposta
|
|
562
|
+
return: Devolução
|
|
563
|
+
returned: Devolvido
|
|
564
|
+
returns_policy: Política de devoluções
|
|
565
|
+
row: Linha
|
|
566
|
+
rules: Regras
|
|
567
|
+
scope: Scopo
|
|
568
|
+
selected_quantity_not_available: selecionado de %{item} não está disponível.
|
|
569
|
+
ship: entrega
|
|
570
|
+
ship_address: Endereço da Entrega
|
|
571
|
+
shipment: Distribuição
|
|
572
|
+
shipped: enviado
|
|
573
|
+
shipping: Entrega
|
|
574
|
+
shipping_address: Endereço de Entrega
|
|
575
|
+
shipping_policy: Política de envio
|
|
576
|
+
shipping_rates:
|
|
577
|
+
display_price:
|
|
578
|
+
excluding_tax: "%{price} (+ %{tax_amount} %{tax_rate_name})"
|
|
579
|
+
including_tax: "%{price} (incl. %{tax_amount} %{tax_rate_name})"
|
|
580
|
+
sku: SKU
|
|
581
|
+
status: Estado
|
|
582
|
+
stock_transfer:
|
|
583
|
+
errors:
|
|
584
|
+
must_have_variant: Deve adicionar pelo menos uma variante
|
|
585
|
+
same_location: não pode ser igual à localização de destino
|
|
586
|
+
variants_unavailable: Algumas variantes não estão disponíveis em %{stock}
|
|
587
|
+
store: Loja
|
|
588
|
+
store_credit:
|
|
589
|
+
allocated: Adicionado
|
|
590
|
+
authorized: Autorizado
|
|
591
|
+
captured: Utilizado
|
|
592
|
+
credit: Crédito
|
|
593
|
+
eligible: Elegível
|
|
594
|
+
store_credit_name: Crédito da loja
|
|
595
|
+
store_credit_payment_method:
|
|
596
|
+
currency_mismatch: A moeda do crédito da loja não corresponde à moeda da encomenda
|
|
597
|
+
insufficient_authorized_amount: Não é possível capturar mais do que o montante autorizado
|
|
598
|
+
insufficient_funds: O montante de crédito da loja restante não é suficiente
|
|
599
|
+
successful_action: Crédito da loja %{action} com sucesso
|
|
600
|
+
unable_to_credit: 'Não é possível creditar o código: %{auth_code}'
|
|
601
|
+
unable_to_find: Não foi possível encontrar o crédito da loja
|
|
602
|
+
unable_to_find_for_action: 'Não foi possível encontrar o crédito da loja para o código de autorização: %{auth_code} para a ação: %{action}'
|
|
603
|
+
unable_to_void: 'Não é possível anular o código: %{auth_code}'
|
|
604
|
+
tags: Etiquetas
|
|
605
|
+
tax: Imposto
|
|
606
|
+
tax_category: Categoria de Imposto
|
|
607
|
+
terms_of_service: Termos do serviço
|
|
608
|
+
total: Total
|
|
609
|
+
tracking: Rastreio
|
|
610
|
+
type: Tipo
|
|
611
|
+
unable_to_connect_to_gateway: Impossível conectar-se ao Gateway
|
|
612
|
+
updated_at: Atualizado a
|
|
613
|
+
url: URL
|
|
614
|
+
user: utilizador
|
|
615
|
+
validation:
|
|
616
|
+
must_be_int: deve ser um inteiro
|
|
617
|
+
value: Valor
|
|
618
|
+
variant: Variant
|
|
619
|
+
variants: Variantes
|
|
620
|
+
verified: Verificado
|
|
621
|
+
void: Vazio
|
|
622
|
+
webhook_mailer:
|
|
623
|
+
endpoint_disabled:
|
|
624
|
+
disabled_at_label: Desativado a
|
|
625
|
+
heading: Endpoint de webhook desativado
|
|
626
|
+
instructions: Verifique o URL do endpoint e o serviço e, em seguida, reative-o em Definições → Programadores → Webhooks.
|
|
627
|
+
message: O endpoint de webhook "%{endpoint_name}" foi automaticamente desativado após repetidas falhas de entrega.
|
|
628
|
+
name_label: Nome
|
|
629
|
+
reason_label: Motivo
|
|
630
|
+
subject: 'Endpoint de webhook desativado: %{endpoint_name}'
|
|
631
|
+
url_label: URL
|
|
632
|
+
weight: Peso
|
|
633
|
+
weight_unit: Unidade de peso
|
|
634
|
+
width: Largura
|
|
635
|
+
year: Ano
|
|
636
|
+
zip: Código Postal
|