spree_core 4.1.5 → 4.2.0.beta
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/app/controllers/spree/base_controller.rb +1 -0
- data/app/finders/spree/products/find.rb +46 -11
- data/app/helpers/spree/base_helper.rb +26 -3
- data/app/helpers/spree/mail_helper.rb +24 -0
- data/app/helpers/spree/products_helper.rb +15 -14
- data/app/mailers/spree/base_mailer.rb +17 -3
- data/app/mailers/spree/order_mailer.rb +11 -2
- data/app/mailers/spree/reimbursement_mailer.rb +4 -2
- data/app/mailers/spree/shipment_mailer.rb +4 -2
- data/app/models/concerns/spree/default_price.rb +2 -1
- data/app/models/concerns/spree/product_scopes.rb +2 -2
- data/app/models/concerns/spree/user_methods.rb +11 -5
- data/app/models/spree/app_configuration.rb +6 -0
- data/app/models/spree/line_item.rb +10 -1
- data/app/models/spree/option_type.rb +5 -1
- data/app/models/spree/order.rb +26 -5
- data/app/models/spree/price.rb +26 -2
- data/app/models/spree/product.rb +19 -9
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +1 -1
- data/app/models/spree/promotion_handler/coupon.rb +1 -1
- data/app/models/spree/reimbursement.rb +2 -0
- data/app/models/spree/shipment.rb +2 -5
- data/app/models/spree/stock_location.rb +13 -2
- data/app/models/spree/store.rb +19 -2
- data/app/models/spree/taxon.rb +6 -0
- data/app/models/spree/variant.rb +29 -2
- data/app/presenters/spree/variant_presenter.rb +7 -0
- data/app/presenters/spree/variants/option_types_presenter.rb +1 -0
- data/app/services/spree/checkout/get_shipping_rates.rb +7 -10
- data/app/views/layouts/spree/base_mailer.html.erb +45 -40
- data/app/views/spree/order_mailer/cancel_email.html.erb +19 -25
- data/app/views/spree/order_mailer/cancel_email.text.erb +24 -2
- data/app/views/spree/order_mailer/confirm_email.html.erb +18 -65
- data/app/views/spree/order_mailer/confirm_email.text.erb +2 -1
- data/app/views/spree/order_mailer/store_owner_notification_email.html.erb +23 -0
- data/app/views/spree/order_mailer/store_owner_notification_email.text.erb +38 -0
- data/app/views/spree/reimbursement_mailer/reimbursement_email.html.erb +53 -58
- data/app/views/spree/reimbursement_mailer/reimbursement_email.text.erb +3 -1
- data/app/views/spree/shared/_base_mailer_footer.html.erb +6 -14
- data/app/views/spree/shared/_base_mailer_header.html.erb +12 -32
- data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +293 -625
- data/app/views/spree/shared/_purchased_items_table.html.erb +60 -0
- data/app/views/spree/shared/purchased_items_table/_adjustment.html.erb +13 -0
- data/app/views/spree/shared/purchased_items_table/_line_item.html.erb +27 -0
- data/app/views/spree/shared/purchased_items_table/_subtotal.html.erb +13 -0
- data/app/views/spree/shared/purchased_items_table/_total.html.erb +13 -0
- data/app/views/spree/shipment_mailer/shipped_email.html.erb +31 -36
- data/app/views/spree/shipment_mailer/shipped_email.text.erb +2 -1
- data/config/initializers/assets.rb +1 -0
- data/config/locales/en.yml +113 -13
- data/db/default/spree/stores.rb +11 -10
- data/db/migrate/20140309033438_create_store_from_preferences.rb +1 -1
- data/db/migrate/20191017121054_add_supported_currencies_to_store.rb +10 -0
- data/db/migrate/20200102141311_add_social_to_spree_stores.rb +3 -0
- data/db/migrate/20200308210757_add_default_locale_to_spree_store.rb +7 -0
- data/db/migrate/20200310145140_add_customer_support_email_to_spree_store.rb +7 -0
- data/db/migrate/20200421095017_add_compare_at_amount_to_spree_prices.rb +7 -0
- data/db/migrate/20200423123001_add_default_country_id_to_spree_store.rb +9 -0
- data/db/migrate/20200430072209_add_footer_fields_to_spree_stores.rb +8 -0
- data/db/migrate/20200513154939_add_show_property_to_spree_product_properties.rb +5 -0
- data/db/migrate/20200607161221_add_store_owner_order_notification_delivered_to_spree_orders.rb +7 -0
- data/db/migrate/20200607161222_add_new_order_notifications_email_to_spree_stores.rb +7 -0
- data/db/migrate/20200826075557_add_unique_index_on_taxon_id_and_product_id_to_spree_products_taxons.rb +5 -0
- data/lib/generators/spree/install/templates/config/initializers/spree.rb +1 -0
- data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js +0 -2
- data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js +0 -2
- data/lib/generators/spree/mailers_preview/mailers_preview_generator.rb +23 -0
- data/lib/generators/spree/mailers_preview/templates/mailers/previews/order_preview.rb +13 -0
- data/lib/generators/spree/mailers_preview/templates/mailers/previews/reimbursement_preview.rb +5 -0
- data/lib/generators/spree/mailers_preview/templates/mailers/previews/shipment_preview.rb +5 -0
- data/lib/generators/spree/mailers_preview/templates/mailers/previews/user_preview.rb +11 -0
- data/lib/spree/core.rb +1 -0
- data/lib/spree/core/controller_helpers/common.rb +1 -0
- data/lib/spree/core/controller_helpers/currency_helpers.rb +15 -0
- data/lib/spree/core/controller_helpers/store.rb +12 -1
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/permitted_attributes.rb +7 -4
- data/lib/spree/testing_support/authorization_helpers.rb +7 -4
- data/lib/spree/testing_support/factories/store_factory.rb +11 -8
- data/spree_core.gemspec +14 -8
- data/vendor/assets/javascripts/cleave.js +1669 -0
- metadata +43 -22
- data/app/views/spree/order_mailer/_adjustment.html.erb +0 -8
- data/app/views/spree/order_mailer/_subtotal.html.erb +0 -8
- data/app/views/spree/order_mailer/_total.html.erb +0 -8
@@ -0,0 +1,60 @@
|
|
1
|
+
<table class="purchase_content">
|
2
|
+
<%= render collection: line_items, partial: 'spree/shared/purchased_items_table/line_item', as: :line_item %>
|
3
|
+
<%= render 'spree/shared/purchased_items_table/subtotal', order: order %>
|
4
|
+
<% if order.line_item_adjustments.exists? %>
|
5
|
+
<% if order.all_adjustments.promotion.eligible.exists? %>
|
6
|
+
<% order.all_adjustments.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
|
7
|
+
<tr>
|
8
|
+
<td></td>
|
9
|
+
<td>
|
10
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
11
|
+
<%= Spree.t(:promotion) %> <%= label %>:
|
12
|
+
</p>
|
13
|
+
</td>
|
14
|
+
<td>
|
15
|
+
<p class="f-fallback purchase_total">
|
16
|
+
<%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency) %>
|
17
|
+
</p>
|
18
|
+
</td>
|
19
|
+
</tr>
|
20
|
+
<% end %>
|
21
|
+
<% end %>
|
22
|
+
<% end %>
|
23
|
+
<% order.shipments.group_by { |s| s.selected_shipping_rate&.name }.each do |name, shipments| %>
|
24
|
+
<tr>
|
25
|
+
<td></td>
|
26
|
+
<td>
|
27
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
28
|
+
<%= Spree.t(:shipping) %> <%= name %>:
|
29
|
+
</p>
|
30
|
+
</td>
|
31
|
+
<td>
|
32
|
+
<p class="f-fallback purchase_total">
|
33
|
+
<%= Spree::Money.new(shipments.sum(&:discounted_cost), currency: order.currency) %>
|
34
|
+
</p>
|
35
|
+
</td>
|
36
|
+
</tr>
|
37
|
+
<% end %>
|
38
|
+
<% if order.all_adjustments.eligible.tax.exists? %>
|
39
|
+
<% order.all_adjustments.eligible.tax.group_by(&:label).each do |label, adjustments| %>
|
40
|
+
<tr>
|
41
|
+
<td></td>
|
42
|
+
<td>
|
43
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
44
|
+
<%= Spree.t(:tax) %> <%= label %>:
|
45
|
+
</p>
|
46
|
+
</td>
|
47
|
+
<td>
|
48
|
+
<p class="f-fallback purchase_total">
|
49
|
+
<%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency) %>
|
50
|
+
</p>
|
51
|
+
</td>
|
52
|
+
</tr>
|
53
|
+
<% end %>
|
54
|
+
<% end %>
|
55
|
+
<% order.adjustments.eligible.each do |adjustment| %>
|
56
|
+
<% next if (adjustment.source_type == 'Spree::TaxRate') || (adjustment.amount == 0) %>
|
57
|
+
<%= render 'spree/shared/purchased_items_table/adjustment', adjustment: adjustment, order: order %>
|
58
|
+
<% end %>
|
59
|
+
<%= render 'spree/shared/purchased_items_table/total', order: order %>
|
60
|
+
</table>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<tr>
|
2
|
+
<td></td>
|
3
|
+
<td>
|
4
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
5
|
+
<%= raw(adjustment.label) %>:
|
6
|
+
</p>
|
7
|
+
</td>
|
8
|
+
<td>
|
9
|
+
<p class="f-fallback purchase_total">
|
10
|
+
<%= Spree::Money.new(adjustment.amount, currency: order.currency) %>
|
11
|
+
</p>
|
12
|
+
</td>
|
13
|
+
</tr>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<tr>
|
2
|
+
<td class="purchase_image">
|
3
|
+
<% if frontend_available? %>
|
4
|
+
<%= link_to(image_tag(variant_image_url(line_item.variant)), spree.product_url(line_item.product)) %>
|
5
|
+
<% else %>
|
6
|
+
<%= image_tag(variant_image_url(line_item.variant)) %>
|
7
|
+
<% end %>
|
8
|
+
</td>
|
9
|
+
<td class="purchase_item">
|
10
|
+
<strong>
|
11
|
+
<span class="f-fallback">
|
12
|
+
<% if frontend_available? %>
|
13
|
+
<%= link_to raw(line_item.name), spree.product_url(line_item.product) %>
|
14
|
+
<% else %>
|
15
|
+
<%= raw(line_item.name) %>
|
16
|
+
<% end %>
|
17
|
+
</span>
|
18
|
+
</strong>
|
19
|
+
<p class="purchase_item--additional"><%= raw(line_item.variant.options_text) -%></p>
|
20
|
+
</td>
|
21
|
+
<td class="align-right">
|
22
|
+
<span class="f-fallback purchase_item_price">
|
23
|
+
<%= line_item.quantity %> x <%= line_item.single_money %>
|
24
|
+
<%= line_item.display_amount %>
|
25
|
+
</span>
|
26
|
+
</td>
|
27
|
+
</tr>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<tr>
|
2
|
+
<td class="purchase_footer" valign="middle"></td>
|
3
|
+
<td class="purchase_footer" valign="middle">
|
4
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
5
|
+
<%= Spree.t('order_mailer.subtotal') %>
|
6
|
+
</p>
|
7
|
+
</td>
|
8
|
+
<td class="purchase_footer" valign="middle">
|
9
|
+
<p class="f-fallback purchase_total">
|
10
|
+
<%= order.display_item_total %>
|
11
|
+
</p>
|
12
|
+
</td>
|
13
|
+
</tr>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<tr>
|
2
|
+
<td></td>
|
3
|
+
<td>
|
4
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
5
|
+
<strong><%= Spree.t('order_mailer.total') %></strong>
|
6
|
+
</p>
|
7
|
+
</td>
|
8
|
+
<td>
|
9
|
+
<p class="f-fallback purchase_total">
|
10
|
+
<strong><%= order.display_total %></strong>
|
11
|
+
</p>
|
12
|
+
</td>
|
13
|
+
</tr>
|
@@ -1,41 +1,36 @@
|
|
1
|
-
<
|
1
|
+
<h1>
|
2
|
+
<%= Spree.t('shipment_mailer.shipped_email.dear_customer', name: name_for(@shipment.order)) %>
|
3
|
+
</h1>
|
4
|
+
<p>
|
5
|
+
<%= Spree.t('shipment_mailer.shipped_email.instructions', number: @shipment.order.number) %>
|
6
|
+
</p>
|
7
|
+
<table class="purchase" role="presentation">
|
2
8
|
<tr>
|
3
9
|
<td>
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
<p>
|
11
|
-
<%= Spree.t('shipment_mailer.shipped_email.shipment_summary') %>
|
12
|
-
</p>
|
13
|
-
<table class="container">
|
14
|
-
<tr>
|
15
|
-
<td class="wrapper last">
|
16
|
-
<table class="twelve columns">
|
17
|
-
<%= render collection: @shipment.manifest.map(&:line_item), partial: 'spree/shared/mailer_line_item', as: :line_item %>
|
18
|
-
</table>
|
19
|
-
</td>
|
20
|
-
</tr>
|
21
|
-
</table>
|
22
|
-
<p>
|
23
|
-
<%= Spree.t('shipment_mailer.shipped_email.shipping_method', shipping_method: @shipment.shipping_method.name) %>
|
24
|
-
</p>
|
25
|
-
<% if @shipment.tracking %>
|
26
|
-
<p>
|
27
|
-
<%= Spree.t('shipment_mailer.shipped_email.track_information', tracking: @shipment.tracking) %>
|
28
|
-
</p>
|
29
|
-
<% end %>
|
30
|
-
<% if @shipment.tracking_url %>
|
31
|
-
<p>
|
32
|
-
<%= Spree.t('shipment_mailer.shipped_email.track_link', url: link_to(@shipment.tracking_url, @shipment.tracking_url)).html_safe %>
|
33
|
-
</p>
|
34
|
-
<% end %>
|
35
|
-
<p>
|
36
|
-
<%= Spree.t('shipment_mailer.shipped_email.thanks') %>
|
37
|
-
</p>
|
10
|
+
<h3><%= Spree.t('shipment_mailer.shipped_email.shipment_summary') %></h3>
|
11
|
+
</td>
|
12
|
+
</tr>
|
13
|
+
<tr>
|
14
|
+
<td colspan="2">
|
15
|
+
<%= render 'spree/shared/purchased_items_table', line_items: @shipment.manifest.map(&:line_item), order: @shipment.order %>
|
38
16
|
</td>
|
39
|
-
<td class="expander"></td>
|
40
17
|
</tr>
|
41
18
|
</table>
|
19
|
+
<p>
|
20
|
+
<%= Spree.t('shipment_mailer.shipped_email.shipping_method', shipping_method: @shipment.shipping_method.name) %>
|
21
|
+
</p>
|
22
|
+
<% if @shipment.tracking %>
|
23
|
+
<p>
|
24
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_information', tracking: @shipment.tracking) %>
|
25
|
+
</p>
|
26
|
+
<% end %>
|
27
|
+
<% if @shipment.tracking_url %>
|
28
|
+
<p>
|
29
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_link', url: link_to(@shipment.tracking_url, @shipment.tracking_url)).html_safe %>
|
30
|
+
</p>
|
31
|
+
<% end %>
|
32
|
+
<p>
|
33
|
+
<%= Spree.t('shipment_mailer.shipped_email.thanks') %>
|
34
|
+
<br />
|
35
|
+
<%= Spree.t('shipment_mailer.shipped_email.store_team', store_name: current_store.name) %>
|
36
|
+
</p>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= Spree.t('shipment_mailer.shipped_email.dear_customer') %>
|
1
|
+
<%= Spree.t('shipment_mailer.shipped_email.dear_customer', name: name_for(@shipment.order)) %>
|
2
2
|
|
3
3
|
<%= Spree.t('shipment_mailer.shipped_email.instructions', number: @shipment.order.number) %>
|
4
4
|
|
@@ -14,3 +14,4 @@
|
|
14
14
|
<%= Spree.t('shipment_mailer.shipped_email.track_link', url: @shipment.tracking_url) if @shipment.tracking_url %>
|
15
15
|
|
16
16
|
<%= Spree.t('shipment_mailer.shipped_email.thanks') %>
|
17
|
+
<%= Spree.t('shipment_mailer.shipped_email.store_team', store_name: current_store.name) %>
|
data/config/locales/en.yml
CHANGED
@@ -453,6 +453,7 @@ en:
|
|
453
453
|
acceptance_errors: Acceptance errors
|
454
454
|
accepted: Accepted
|
455
455
|
account: Account
|
456
|
+
account_info: Account info
|
456
457
|
account_updated: Account updated
|
457
458
|
action: Action
|
458
459
|
actions:
|
@@ -568,6 +569,9 @@ en:
|
|
568
569
|
agree_to_privacy_policy: Agree to Privacy Policy
|
569
570
|
agree_to_terms_of_service: Agree to Terms of Service
|
570
571
|
all: All
|
572
|
+
allow_currency_change:
|
573
|
+
short: Allow Currency Change
|
574
|
+
long: Allow users to change their currency via the currency picker.
|
571
575
|
all_adjustments_closed: All adjustments successfully closed!
|
572
576
|
all_adjustments_opened: All adjustments successfully opened!
|
573
577
|
all_departments: All departments
|
@@ -607,13 +611,16 @@ en:
|
|
607
611
|
balance_due: Balance Due
|
608
612
|
base_amount: Base Amount
|
609
613
|
base_percent: Base Percent
|
614
|
+
basic_information: Basic Information
|
610
615
|
bill_address: Bill Address
|
611
616
|
billing: Billing
|
612
617
|
billing_address: Billing Address
|
613
618
|
both: Both
|
619
|
+
breadcrumbs: Breadcrumbs
|
614
620
|
calculated_reimbursements: Calculated Reimbursements
|
615
621
|
calculator: Calculator
|
616
622
|
calculator_settings_warning: If you are changing the calculator type, you must save first before you can edit the calculator settings
|
623
|
+
call_us_now: 'Call us now: '
|
617
624
|
cancel: cancel
|
618
625
|
canceled: Canceled
|
619
626
|
canceler: Canceler
|
@@ -627,18 +634,20 @@ en:
|
|
627
634
|
cannot_set_shipping_method_without_address: Cannot set shipping method until customer details are provided.
|
628
635
|
capture: Capture
|
629
636
|
capture_events: Capture events
|
630
|
-
card_code: Card Code
|
637
|
+
card_code: Card Varification Code (CVC)
|
631
638
|
card_number: Card Number
|
632
639
|
card_type: Brand
|
633
640
|
card_type_is: Card type is
|
634
641
|
cart: Cart
|
635
642
|
cart_page:
|
636
643
|
add_promo_code: ADD PROMO CODE
|
644
|
+
change_quantity: Change quantity
|
637
645
|
checkout: checkout
|
638
646
|
empty_info: 'Your cart is empty.'
|
639
647
|
header: Your shopping cart
|
640
648
|
product: product
|
641
649
|
quantity: quantity
|
650
|
+
remove_from_cart: Remove from cart
|
642
651
|
title: Shopping Cart
|
643
652
|
cart_subtotal:
|
644
653
|
one: 'Subtotal (1 item)'
|
@@ -655,6 +664,8 @@ en:
|
|
655
664
|
charged: Charged
|
656
665
|
checkout: Checkout
|
657
666
|
checkout_page:
|
667
|
+
main_navigation: Main navigation
|
668
|
+
checkout_navigation: Checkout navigation
|
658
669
|
back_to_cart: back to the cart
|
659
670
|
delivery_method: delivery method
|
660
671
|
header: Checkout
|
@@ -674,12 +685,15 @@ en:
|
|
674
685
|
close_all_adjustments: Close All Adjustments
|
675
686
|
code: Code
|
676
687
|
company: Company
|
688
|
+
compare_at_price: Compare at price
|
677
689
|
complete: complete
|
678
690
|
configuration: Configuration
|
679
691
|
configurations: Configurations
|
680
692
|
confirm: Confirm
|
681
693
|
confirm_delete: Confirm Deletion
|
682
694
|
confirm_password: Password Confirmation
|
695
|
+
contact_email: Contact email
|
696
|
+
contact_phone: Contact phone
|
683
697
|
contact_us: Contact us
|
684
698
|
continue: Continue
|
685
699
|
continue_as_guest: Continue as a guest
|
@@ -725,24 +739,56 @@ en:
|
|
725
739
|
credited: Credited
|
726
740
|
credits: Credits
|
727
741
|
currency: Currency
|
742
|
+
currencies: Currencies
|
728
743
|
currency_settings: Currency Settings
|
729
744
|
current: Current
|
730
|
-
current_promotion_usage: ! '
|
745
|
+
current_promotion_usage: ! 'current usage: %{count}'
|
731
746
|
customer: Customer
|
732
747
|
customer_details: Customer Details
|
733
748
|
customer_details_updated: Customer Details Updated
|
734
749
|
customer_return: Customer Return
|
735
750
|
customer_returns: Customer Returns
|
736
751
|
customer_search: Customer Search
|
752
|
+
customer_support_email: Customer Support Email
|
753
|
+
new_order_notifications_email: New Order Notifications Email
|
737
754
|
cut: Cut
|
738
755
|
cvv: CVV
|
739
756
|
cvv_response: CVV Response
|
740
757
|
date: Date
|
741
758
|
date_completed: Date Completed
|
742
759
|
date_picker:
|
760
|
+
am: 'AM'
|
743
761
|
first_day: 0
|
744
762
|
format: ! '%Y/%m/%d'
|
745
|
-
|
763
|
+
hourAriaLabel: 'Hour'
|
764
|
+
js_format: Y/m/d
|
765
|
+
js_date_time: Y/m/d - H:i
|
766
|
+
minuteAriaLabel: 'Minute'
|
767
|
+
pm: 'PM'
|
768
|
+
rangeSeparator: ' to '
|
769
|
+
scrollTitle: 'Scroll to increment'
|
770
|
+
toggleTitle: 'Click to toggle'
|
771
|
+
weekAbbreviation: 'Wk'
|
772
|
+
yearAriaLabel: 'Year'
|
773
|
+
sun: 'Sun'
|
774
|
+
mon: 'Mon'
|
775
|
+
tue: 'Tue'
|
776
|
+
wed: 'Wed'
|
777
|
+
thu: 'Thu'
|
778
|
+
fri: 'Fri'
|
779
|
+
sat: 'Sat'
|
780
|
+
lh_jan: 'January'
|
781
|
+
lh_feb: 'February'
|
782
|
+
lh_mar: 'March'
|
783
|
+
lh_apr: 'April'
|
784
|
+
lh_may: 'May'
|
785
|
+
lh_jun: 'June'
|
786
|
+
lh_jul: 'July'
|
787
|
+
lh_aug: 'August'
|
788
|
+
lh_sep: 'September'
|
789
|
+
lh_oct: 'October'
|
790
|
+
lh_nov: 'November'
|
791
|
+
lh_dec: 'December'
|
746
792
|
date_range: Date Range
|
747
793
|
default: Default
|
748
794
|
default_country_cannot_be_deleted: Default country cannot be deleted
|
@@ -792,6 +838,8 @@ en:
|
|
792
838
|
empty_cart: Empty Cart
|
793
839
|
enable_mail_delivery: Enable Mail Delivery
|
794
840
|
end: End
|
841
|
+
ends_at: Ends at
|
842
|
+
ending_at: Ending at
|
795
843
|
ending_in: Ending in
|
796
844
|
error: error
|
797
845
|
errors:
|
@@ -831,6 +879,7 @@ en:
|
|
831
879
|
extension: Extension
|
832
880
|
extensions_directory: Extensions Directory
|
833
881
|
existing_shipments: Existing shipments
|
882
|
+
facebook: Facebook
|
834
883
|
failed_payment_attempts: Failed Payment Attempts
|
835
884
|
filename: Filename
|
836
885
|
fill_in_customer_info: Please fill in customer info
|
@@ -841,12 +890,15 @@ en:
|
|
841
890
|
finalized: Finalized
|
842
891
|
first_item: First Item
|
843
892
|
first_name: First Name
|
893
|
+
firstname: First Name
|
844
894
|
first_name_begins_with: First Name Begins With
|
845
895
|
flat_percent: Flat Percent
|
846
896
|
flat_rate_per_order: Flat Rate
|
847
897
|
flexible_rate: Flexible Rate
|
848
898
|
follow_us: Follow us
|
899
|
+
footer_info: Footer info
|
849
900
|
forgot_password: Forgot password?
|
901
|
+
free: Free
|
850
902
|
free_shipping: Free Shipping
|
851
903
|
free_shipping_amount: "-"
|
852
904
|
front_end: Front End
|
@@ -855,6 +907,7 @@ en:
|
|
855
907
|
general: General
|
856
908
|
general_settings: General Settings
|
857
909
|
generate_code: Generate coupon code
|
910
|
+
get_back_to_the: Get back to the
|
858
911
|
go_to_category: Go to category
|
859
912
|
go_to_facebook: Go to facebook
|
860
913
|
go_to_homepage: Go to Home Page
|
@@ -863,13 +916,15 @@ en:
|
|
863
916
|
guest_checkout: Guest Checkout
|
864
917
|
guest_user_account: Checkout as a Guest
|
865
918
|
has_no_shipped_units: has no shipped units
|
919
|
+
header_banner: Header banner
|
866
920
|
height: Height
|
867
921
|
hide_from_subcategories_nav: Hide from subcategories navigation
|
868
922
|
home: Home
|
923
|
+
home_page: homepage
|
869
924
|
homepage:
|
870
925
|
bestsellers: BESTSELLERS
|
871
926
|
fashion_trends: FASHION TRENDS
|
872
|
-
fashion_trends_note:
|
927
|
+
fashion_trends_note: Want to rock this season’s hottest trend in style? These are the top fashion from Summer 2020 Fashion Weeks that are coming our way this season.
|
873
928
|
men: MEN
|
874
929
|
new: NEW
|
875
930
|
new_collection: NEW COLLECTION
|
@@ -878,7 +933,7 @@ en:
|
|
878
933
|
shop_now: SHOP NOW
|
879
934
|
sportswear: SPORTSWEAR
|
880
935
|
streetstyle: STREETSTYLE
|
881
|
-
|
936
|
+
summer_2020: Summer 2020
|
882
937
|
summer_collection: Summer Collection
|
883
938
|
summer_sale: SUMMER SALE
|
884
939
|
trending: TRENDING
|
@@ -889,6 +944,7 @@ en:
|
|
889
944
|
available_locales: Available Locales
|
890
945
|
fields: Fields
|
891
946
|
language: Language
|
947
|
+
country: Country
|
892
948
|
localization_settings: Localization Settings
|
893
949
|
only_incomplete: Only incomplete
|
894
950
|
only_complete: Only complete
|
@@ -912,6 +968,7 @@ en:
|
|
912
968
|
info_number_of_skus_not_shown:
|
913
969
|
one: "and one other"
|
914
970
|
other: "and %{count} others"
|
971
|
+
instagram: Instagram
|
915
972
|
instructions_to_reset_password: Please enter your email on the form below
|
916
973
|
insufficient_stock: Insufficient stock available, only %{on_hand} remaining
|
917
974
|
insufficient_stock_item_quantity: Insufficient stock quantity available
|
@@ -919,6 +976,7 @@ en:
|
|
919
976
|
intercept_email_address: Intercept Email Address
|
920
977
|
intercept_email_instructions: Override email recipient and replace with this address.
|
921
978
|
internal_name: Internal Name
|
979
|
+
internationalization: Internationalization
|
922
980
|
invalid_credit_card: Invalid credit card.
|
923
981
|
invalid_exchange_variant: Invalid exchange variant.
|
924
982
|
invalid_payment_provider: Invalid payment provider.
|
@@ -929,7 +987,9 @@ en:
|
|
929
987
|
inventory_error_flash_for_insufficient_quantity: An item in your cart has become unavailable.
|
930
988
|
inventory_state: Inventory State
|
931
989
|
is_not_available_to_shipment_address: is not available to shipment address
|
932
|
-
|
990
|
+
iso: ISO Alpha-2
|
991
|
+
iso3: ISO Alpha-3
|
992
|
+
iso_name: ISO Name
|
933
993
|
issued_on: Issued On
|
934
994
|
item: Item
|
935
995
|
item_description: Item Description
|
@@ -946,9 +1006,11 @@ en:
|
|
946
1006
|
items_reimbursed: Items reimbursed
|
947
1007
|
join_slack: Join Slack
|
948
1008
|
last_name: Last Name
|
1009
|
+
lastname: Last Name
|
949
1010
|
last_name_begins_with: Last Name Begins With
|
950
1011
|
learn_more: Learn More
|
951
1012
|
lifetime_stats: Lifetime Stats
|
1013
|
+
limit_usage_to: Limit usage to
|
952
1014
|
line_item_adjustments: "Line item adjustments"
|
953
1015
|
list: List
|
954
1016
|
loading: Loading
|
@@ -967,6 +1029,7 @@ en:
|
|
967
1029
|
login_as_existing: Login as Existing Customer
|
968
1030
|
login_failed: Login authentication failed.
|
969
1031
|
login_name: Login
|
1032
|
+
logo: Logo
|
970
1033
|
logo_alt: Brand logo
|
971
1034
|
logout: Logout
|
972
1035
|
look_for_similar_items: Look for similar items
|
@@ -976,6 +1039,7 @@ en:
|
|
976
1039
|
manage_promotion_categories: Manage Promotion Categories
|
977
1040
|
manual_intervention_required: Manual intervention required
|
978
1041
|
manage_variants: Manage Variants
|
1042
|
+
master: Master
|
979
1043
|
master_price: Master Price
|
980
1044
|
master_sku: Master SKU
|
981
1045
|
match_choices:
|
@@ -1000,6 +1064,8 @@ en:
|
|
1000
1064
|
name_on_card: Name on card
|
1001
1065
|
name_or_sku: Name or SKU (enter at least first 3 characters of product name)
|
1002
1066
|
nav_bar:
|
1067
|
+
admin_panel: Admin Panel
|
1068
|
+
change_country: Change country
|
1003
1069
|
close_menu: Close menu
|
1004
1070
|
go_to_previous_menu: Go to previous menu
|
1005
1071
|
log_in: LOG IN
|
@@ -1010,6 +1076,8 @@ en:
|
|
1010
1076
|
show_search: Show search
|
1011
1077
|
show_user_menu: Show user menu
|
1012
1078
|
sign_up: SIGN UP
|
1079
|
+
desktop: Desktop navigation
|
1080
|
+
mobile: Mobile navigation
|
1013
1081
|
new: New
|
1014
1082
|
new_adjustment: New Adjustment
|
1015
1083
|
new_customer: Create new account
|
@@ -1053,6 +1121,7 @@ en:
|
|
1053
1121
|
no_actions_added: No actions added
|
1054
1122
|
no_address_given: No address given
|
1055
1123
|
no_available_date_set: No available date set
|
1124
|
+
no_country: No country set
|
1056
1125
|
no_payment_found: No payment found
|
1057
1126
|
no_pending_payments: No pending payments
|
1058
1127
|
no_product_available:
|
@@ -1076,6 +1145,7 @@ en:
|
|
1076
1145
|
not_found: ! '%{resource} is not found'
|
1077
1146
|
note: Note
|
1078
1147
|
notice_messages:
|
1148
|
+
prices_saved: Prices successfully saved
|
1079
1149
|
product_cloned: Product has been cloned
|
1080
1150
|
product_deleted: Product has been deleted
|
1081
1151
|
product_not_cloned: "Product could not be cloned. Reason: %{error}"
|
@@ -1109,17 +1179,25 @@ en:
|
|
1109
1179
|
order_mailer:
|
1110
1180
|
subtotal: ! 'Subtotal:'
|
1111
1181
|
total: ! 'Order Total:'
|
1182
|
+
store_team: '%{store_name} Team'
|
1112
1183
|
cancel_email:
|
1113
|
-
dear_customer: Dear
|
1184
|
+
dear_customer: Dear %{name},
|
1114
1185
|
instructions: Your order has been CANCELED. Please retain this cancellation information for your records.
|
1115
1186
|
order_summary_canceled: Order %{number} Summary [CANCELED]
|
1116
1187
|
subject: Cancellation of Order
|
1188
|
+
thanks: Thank you for your business.
|
1117
1189
|
confirm_email:
|
1118
|
-
dear_customer: Dear
|
1190
|
+
dear_customer: Dear %{name},
|
1119
1191
|
instructions: Please review and retain the following order information for your records.
|
1120
1192
|
order_summary: Order %{number} Summary
|
1121
1193
|
subject: Order Confirmation
|
1122
1194
|
thanks: Thank you for your business.
|
1195
|
+
store_owner_notification_email:
|
1196
|
+
heading: New Order Received
|
1197
|
+
instructions: You have received a new order.
|
1198
|
+
order_summary: Order %{number} Summary
|
1199
|
+
subject: '%{store_name} received a new order'
|
1200
|
+
thanks: Thank you for your business.
|
1123
1201
|
order_not_found: We couldn't find your order. Please try that action again.
|
1124
1202
|
order_number: Order %{number}
|
1125
1203
|
order_processed_successfully: Your order has been processed successfully
|
@@ -1148,6 +1226,7 @@ en:
|
|
1148
1226
|
backordered_confirm_info: Selected item is backordered so expect delays. Are you sure you want to order it?
|
1149
1227
|
overview: Overview
|
1150
1228
|
package_from: package from
|
1229
|
+
page_not_found: Sorry! Page you are looking can’t be found.
|
1151
1230
|
pagination:
|
1152
1231
|
next_page: next page »
|
1153
1232
|
previous_page: ! '« previous page'
|
@@ -1205,7 +1284,6 @@ en:
|
|
1205
1284
|
done: DONE
|
1206
1285
|
default: DEFAULT
|
1207
1286
|
filter_by: FILTER BY
|
1208
|
-
home: Home
|
1209
1287
|
newest_first: NEWEST FIRST
|
1210
1288
|
no_results: No results
|
1211
1289
|
no_results_found: No results found
|
@@ -1230,9 +1308,12 @@ en:
|
|
1230
1308
|
preferred_reimbursement_type: Preferred Reimbursement Type
|
1231
1309
|
presentation: Presentation
|
1232
1310
|
preview_product: Preview Product
|
1311
|
+
preview_taxon: Preview Taxon
|
1233
1312
|
previous: Previous
|
1234
1313
|
previous_state_missing: "n/a"
|
1314
|
+
previously_used_card: Previously Used Cards
|
1235
1315
|
price: Price
|
1316
|
+
prices: Prices
|
1236
1317
|
price_range: Price Range
|
1237
1318
|
price_sack: Price Sack
|
1238
1319
|
process: Process
|
@@ -1378,8 +1459,9 @@ en:
|
|
1378
1459
|
return_items_cannot_be_associated_with_multiple_orders: Return items cannot be associated with multiple orders.
|
1379
1460
|
reimbursement_mailer:
|
1380
1461
|
reimbursement_email:
|
1462
|
+
store_team: '%{store_name} Team'
|
1381
1463
|
days_to_send: ! 'You have %{days} days to send back any items awaiting exchange.'
|
1382
|
-
dear_customer: Dear
|
1464
|
+
dear_customer: Dear %{name},
|
1383
1465
|
exchange_summary: Exchange Summary
|
1384
1466
|
for: for
|
1385
1467
|
instructions: Your reimbursement has been processed.
|
@@ -1417,11 +1499,14 @@ en:
|
|
1417
1499
|
security_settings: Security Settings
|
1418
1500
|
select: Select
|
1419
1501
|
select_from_prototype: Select From Prototype
|
1502
|
+
select_a_date: Select a date
|
1503
|
+
select_a_date_range: Select a date range
|
1420
1504
|
select_a_return_authorization_reason: Select a reason for the return authorization
|
1421
1505
|
select_a_stock_location: Select a stock location
|
1422
1506
|
select_a_store_credit_reason: Select a reason for the store credit
|
1423
1507
|
select_stock: Select stock
|
1424
1508
|
selected_quantity_not_available: ! 'selected of %{item} is not available.'
|
1509
|
+
seo: SEO
|
1425
1510
|
send_copy_of_all_mails_to: Send Copy of All Mails To
|
1426
1511
|
send_mails_as: Send Mails As
|
1427
1512
|
seo_title: SEO title
|
@@ -1429,6 +1514,7 @@ en:
|
|
1429
1514
|
server_error: The server returned an error
|
1430
1515
|
settings: Settings
|
1431
1516
|
ship: Ship
|
1517
|
+
ship_to: "Shipping to:"
|
1432
1518
|
ship_address: Ship Address
|
1433
1519
|
ship_total: Ship Total
|
1434
1520
|
shipment: Shipment
|
@@ -1436,7 +1522,8 @@ en:
|
|
1436
1522
|
shipment_details: "From %{stock_location} via %{shipping_method}"
|
1437
1523
|
shipment_mailer:
|
1438
1524
|
shipped_email:
|
1439
|
-
|
1525
|
+
store_team: '%{store_name} Team'
|
1526
|
+
dear_customer: Dear %{name},
|
1440
1527
|
instructions: Your order %{number} has been shipped
|
1441
1528
|
shipment_summary: Shipment Summary for order
|
1442
1529
|
shipping_method: "Shipping method: %{shipping_method}"
|
@@ -1476,22 +1563,28 @@ en:
|
|
1476
1563
|
shopping_cart: Shopping Cart
|
1477
1564
|
show: Show
|
1478
1565
|
show_active: Show Active
|
1566
|
+
show_currency_selector:
|
1567
|
+
short: Show Currency Selector
|
1568
|
+
long_html: Display the currency picker in the main nav bar. This will only display if there are multiple supported currencies, and <strong>Allow currency change</strong> option is enabled.
|
1479
1569
|
show_deleted: Show Deleted
|
1480
1570
|
show_discontinued: Show Discontinued
|
1481
1571
|
show_only_complete_orders: Only show complete orders
|
1482
1572
|
show_only_considered_risky: Only show risky orders
|
1573
|
+
show_property: Show Property
|
1483
1574
|
show_rate_in_label: Show rate in label
|
1484
1575
|
sign_up: Sign Up
|
1485
1576
|
sku: SKU
|
1486
1577
|
skus: SKUs
|
1487
1578
|
slug: Slug
|
1488
1579
|
source: Source
|
1580
|
+
social: Social
|
1489
1581
|
special_instructions: Special Instructions
|
1490
1582
|
split: Split
|
1491
1583
|
spree_gateway_error_flash_for_checkout: There was a problem with your payment information. Please check your information and try again.
|
1492
1584
|
ssl:
|
1493
1585
|
change_protocol: "Please switch to using HTTP (rather than HTTPS) and retry this request."
|
1494
1586
|
start: Start
|
1587
|
+
starting_from: Starts at
|
1495
1588
|
state: State
|
1496
1589
|
state_based: State Based
|
1497
1590
|
states: States
|
@@ -1525,6 +1618,7 @@ en:
|
|
1525
1618
|
reimbursed: Reimbursed
|
1526
1619
|
resumed: Resumed
|
1527
1620
|
returned: Returned
|
1621
|
+
shipment: Shipment
|
1528
1622
|
shipped: Shipped
|
1529
1623
|
void: Void
|
1530
1624
|
states_required: States Required
|
@@ -1542,7 +1636,8 @@ en:
|
|
1542
1636
|
stock_transfer_name: Stock Transfer
|
1543
1637
|
stock_transfer:
|
1544
1638
|
errors:
|
1545
|
-
must_have_variant: You must add
|
1639
|
+
must_have_variant: You must add at least one variant.
|
1640
|
+
variants_unavailable: "Some variants are not available on %{stock}"
|
1546
1641
|
stock_transfers: Stock Transfers
|
1547
1642
|
stop: Stop
|
1548
1643
|
store: Store
|
@@ -1597,6 +1692,8 @@ en:
|
|
1597
1692
|
successfully_removed: ! '%{resource} has been successfully removed!'
|
1598
1693
|
successfully_updated: ! '%{resource} has been successfully updated!'
|
1599
1694
|
summary: Summary
|
1695
|
+
supported_currencies: Supported Currencies
|
1696
|
+
supported_currencies_long: A comma separated list of supported currencies
|
1600
1697
|
tax: Tax
|
1601
1698
|
tax_included: "Tax (incl.)"
|
1602
1699
|
tax_categories: Tax Categories
|
@@ -1621,7 +1718,7 @@ en:
|
|
1621
1718
|
taxonomy_categories_name: Categories
|
1622
1719
|
taxonomy_edit: Edit taxonomy
|
1623
1720
|
taxonomy_tree_error: The requested change has not been accepted and the tree has been returned to its previous state, please try again.
|
1624
|
-
taxonomy_tree_instruction: ! '* Right click a child in the tree to access the menu for adding, deleting or sorting a child.'
|
1721
|
+
taxonomy_tree_instruction: ! '* Right click (or double tap on iOS device) a child in the tree to access the menu for adding, deleting or sorting a child.'
|
1625
1722
|
taxons: Taxons
|
1626
1723
|
test: Test
|
1627
1724
|
test_mailer:
|
@@ -1657,6 +1754,7 @@ en:
|
|
1657
1754
|
tree: Tree
|
1658
1755
|
type: Type
|
1659
1756
|
type_to_search: Type to search
|
1757
|
+
twitter: Twitter
|
1660
1758
|
unable_to_connect_to_gateway: Unable to connect to gateway.
|
1661
1759
|
unable_to_create_reimbursements: Unable to create reimbursements because there are items pending manual intervention.
|
1662
1760
|
under_price: Under %{price}
|
@@ -1689,6 +1787,7 @@ en:
|
|
1689
1787
|
value: Value
|
1690
1788
|
variant: Variant
|
1691
1789
|
variant_placeholder: Choose a variant
|
1790
|
+
variant_prices_search_placeholder: Search for SKU or variant name...
|
1692
1791
|
variants: Variants
|
1693
1792
|
version: Version
|
1694
1793
|
void: Void
|
@@ -1702,5 +1801,6 @@ en:
|
|
1702
1801
|
your_order_is_empty_add_product: Your order is empty, please search for and add a product above
|
1703
1802
|
zip: Zip
|
1704
1803
|
zipcode: Zip Code
|
1804
|
+
zipcode_required: Zip Code Required
|
1705
1805
|
zone: Zone
|
1706
1806
|
zones: Zones
|