spree_core 4.1.14 → 4.2.0.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/spree/base_controller.rb +1 -0
  3. data/app/helpers/spree/base_helper.rb +23 -2
  4. data/app/helpers/spree/mail_helper.rb +24 -0
  5. data/app/mailers/spree/base_mailer.rb +17 -3
  6. data/app/mailers/spree/order_mailer.rb +11 -2
  7. data/app/mailers/spree/reimbursement_mailer.rb +4 -2
  8. data/app/mailers/spree/shipment_mailer.rb +4 -2
  9. data/app/models/concerns/spree/default_price.rb +2 -1
  10. data/app/models/concerns/spree/user_methods.rb +11 -5
  11. data/app/models/spree/app_configuration.rb +5 -0
  12. data/app/models/spree/app_dependencies.rb +1 -7
  13. data/app/models/spree/line_item.rb +11 -3
  14. data/app/models/spree/option_type.rb +5 -1
  15. data/app/models/spree/order.rb +28 -12
  16. data/app/models/spree/order/address_book.rb +20 -7
  17. data/app/models/spree/price.rb +26 -2
  18. data/app/models/spree/product.rb +17 -7
  19. data/app/models/spree/promotion_handler/coupon.rb +3 -2
  20. data/app/models/spree/reimbursement.rb +2 -0
  21. data/app/models/spree/shipment.rb +2 -5
  22. data/app/models/spree/stock_location.rb +13 -2
  23. data/app/models/spree/store.rb +19 -2
  24. data/app/models/spree/variant.rb +15 -2
  25. data/app/presenters/spree/variant_presenter.rb +7 -0
  26. data/app/presenters/spree/variants/option_types_presenter.rb +1 -0
  27. data/app/services/spree/checkout/update.rb +2 -13
  28. data/app/views/layouts/spree/base_mailer.html.erb +45 -40
  29. data/app/views/spree/order_mailer/cancel_email.html.erb +19 -25
  30. data/app/views/spree/order_mailer/cancel_email.text.erb +24 -2
  31. data/app/views/spree/order_mailer/confirm_email.html.erb +18 -65
  32. data/app/views/spree/order_mailer/confirm_email.text.erb +2 -1
  33. data/app/views/spree/order_mailer/store_owner_notification_email.html.erb +23 -0
  34. data/app/views/spree/order_mailer/store_owner_notification_email.text.erb +38 -0
  35. data/app/views/spree/reimbursement_mailer/reimbursement_email.html.erb +53 -58
  36. data/app/views/spree/reimbursement_mailer/reimbursement_email.text.erb +3 -1
  37. data/app/views/spree/shared/_base_mailer_footer.html.erb +6 -14
  38. data/app/views/spree/shared/_base_mailer_header.html.erb +12 -32
  39. data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +293 -625
  40. data/app/views/spree/shared/_purchased_items_table.html.erb +60 -0
  41. data/app/views/spree/shared/purchased_items_table/_adjustment.html.erb +13 -0
  42. data/app/views/spree/shared/purchased_items_table/_line_item.html.erb +27 -0
  43. data/app/views/spree/shared/purchased_items_table/_subtotal.html.erb +13 -0
  44. data/app/views/spree/shared/purchased_items_table/_total.html.erb +13 -0
  45. data/app/views/spree/shipment_mailer/shipped_email.html.erb +31 -36
  46. data/app/views/spree/shipment_mailer/shipped_email.text.erb +2 -1
  47. data/config/initializers/assets.rb +1 -0
  48. data/config/locales/en.yml +113 -13
  49. data/db/default/spree/stores.rb +11 -10
  50. data/db/migrate/20140309033438_create_store_from_preferences.rb +1 -1
  51. data/db/migrate/20191016134113_add_deafult_value_for_store_default_currency.rb +1 -1
  52. data/db/migrate/20191017121054_add_supported_currencies_to_store.rb +10 -0
  53. data/db/migrate/20200102141311_add_social_to_spree_stores.rb +4 -1
  54. data/db/migrate/20200212144523_add_hide_from_nav_to_taxons.rb +1 -1
  55. data/db/migrate/20200308210757_add_default_locale_to_spree_store.rb +7 -0
  56. data/db/migrate/20200310145140_add_customer_support_email_to_spree_store.rb +7 -0
  57. data/db/migrate/20200421095017_add_compare_at_amount_to_spree_prices.rb +7 -0
  58. data/db/migrate/20200423123001_add_default_country_id_to_spree_store.rb +9 -0
  59. data/db/migrate/20200430072209_add_footer_fields_to_spree_stores.rb +8 -0
  60. data/db/migrate/20200513154939_add_show_property_to_spree_product_properties.rb +5 -0
  61. data/db/migrate/20200607161221_add_store_owner_order_notification_delivered_to_spree_orders.rb +7 -0
  62. data/db/migrate/20200607161222_add_new_order_notifications_email_to_spree_stores.rb +7 -0
  63. data/db/migrate/20200826075557_add_unique_index_on_taxon_id_and_product_id_to_spree_products_taxons.rb +5 -0
  64. data/lib/generators/spree/dummy/dummy_generator.rb +1 -0
  65. data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js +0 -2
  66. data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js +0 -2
  67. data/lib/generators/spree/mailers_preview/mailers_preview_generator.rb +23 -0
  68. data/lib/generators/spree/mailers_preview/templates/mailers/previews/order_preview.rb +13 -0
  69. data/lib/generators/spree/mailers_preview/templates/mailers/previews/reimbursement_preview.rb +5 -0
  70. data/lib/generators/spree/mailers_preview/templates/mailers/previews/shipment_preview.rb +5 -0
  71. data/lib/generators/spree/mailers_preview/templates/mailers/previews/user_preview.rb +11 -0
  72. data/lib/spree/core.rb +1 -0
  73. data/lib/spree/core/controller_helpers/common.rb +1 -0
  74. data/lib/spree/core/controller_helpers/currency_helpers.rb +15 -0
  75. data/lib/spree/core/controller_helpers/store.rb +12 -1
  76. data/lib/spree/core/version.rb +1 -1
  77. data/lib/spree/permitted_attributes.rb +7 -4
  78. data/lib/spree/testing_support/authorization_helpers.rb +7 -4
  79. data/lib/spree/testing_support/capybara_ext.rb +0 -7
  80. data/lib/spree/testing_support/factories/store_factory.rb +11 -8
  81. data/spree_core.gemspec +6 -6
  82. data/vendor/assets/javascripts/cleave.js +1669 -0
  83. metadata +44 -31
  84. data/app/finders/spree/addresses/find.rb +0 -17
  85. data/app/services/spree/account/addresses/base.rb +0 -39
  86. data/app/services/spree/account/addresses/create.rb +0 -18
  87. data/app/services/spree/account/addresses/update.rb +0 -18
  88. data/app/views/spree/order_mailer/_adjustment.html.erb +0 -8
  89. data/app/views/spree/order_mailer/_subtotal.html.erb +0 -8
  90. 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
- <table class="row header">
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
- <p class="lede">
5
- <%= Spree.t('shipment_mailer.shipped_email.dear_customer') %>
6
- </p>
7
- <p>
8
- <%= Spree.t('shipment_mailer.shipped_email.instructions', number: @shipment.order.number) %>
9
- </p>
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) %>
@@ -1 +1,2 @@
1
1
  Rails.application.config.assets.precompile += %w(logo/spree_50.png noimage/*.png)
2
+ Rails.application.config.active_storage.content_types_to_serve_as_binary.delete('image/svg+xml')
@@ -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: ! 'Current Usage: %{count}'
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
- js_format: yy/mm/dd
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: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.
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
- summer_2019: Summer 2019
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
- iso_name: Iso Name
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 Customer,
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 Customer,
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 &raquo;
1153
1232
  previous_page: ! '&laquo; 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 Customer,
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
- dear_customer: Dear Customer,
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 atleast one variant.
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