shoppe 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/shoppe/table-tear-off.png +0 -0
  3. data/app/assets/javascripts/shoppe/application.coffee +2 -2
  4. data/app/assets/stylesheets/shoppe/application.scss +80 -37
  5. data/app/assets/stylesheets/shoppe/elements.scss +1 -2
  6. data/app/controllers/shoppe/attachments_controller.rb +3 -3
  7. data/app/controllers/shoppe/countries_controller.rb +13 -13
  8. data/app/controllers/shoppe/delivery_service_prices_controller.rb +11 -11
  9. data/app/controllers/shoppe/delivery_services_controller.rb +13 -13
  10. data/app/controllers/shoppe/orders_controller.rb +20 -20
  11. data/app/controllers/shoppe/payments_controller.rb +8 -8
  12. data/app/controllers/shoppe/product_categories_controller.rb +13 -13
  13. data/app/controllers/shoppe/products_controller.rb +24 -13
  14. data/app/controllers/shoppe/sessions_controller.rb +7 -7
  15. data/app/controllers/shoppe/settings_controller.rb +6 -6
  16. data/app/controllers/shoppe/stock_level_adjustments_controller.rb +5 -5
  17. data/app/controllers/shoppe/tax_rates_controller.rb +13 -13
  18. data/app/controllers/shoppe/users_controller.rb +15 -15
  19. data/app/controllers/shoppe/variants_controller.rb +13 -13
  20. data/app/helpers/shoppe/application_helper.rb +12 -12
  21. data/app/models/shoppe/order/actions.rb +17 -3
  22. data/app/models/shoppe/order/billing.rb +18 -18
  23. data/app/models/shoppe/order/delivery.rb +30 -31
  24. data/app/models/shoppe/order_item.rb +33 -34
  25. data/app/models/shoppe/payment.rb +15 -15
  26. data/app/models/shoppe/product.rb +82 -21
  27. data/app/models/shoppe/product/variants.rb +10 -10
  28. data/app/models/shoppe/product_category.rb +7 -7
  29. data/app/models/shoppe/stock_level_adjustment.rb +6 -6
  30. data/app/validators/permalink_validator.rb +7 -0
  31. data/app/views/layouts/shoppe/application.html.haml +10 -20
  32. data/app/views/shoppe/countries/_form.html.haml +15 -11
  33. data/app/views/shoppe/countries/edit.html.haml +5 -4
  34. data/app/views/shoppe/countries/index.html.haml +9 -9
  35. data/app/views/shoppe/countries/new.html.haml +6 -4
  36. data/app/views/shoppe/delivery_service_prices/_form.html.haml +16 -16
  37. data/app/views/shoppe/delivery_service_prices/edit.html.haml +5 -4
  38. data/app/views/shoppe/delivery_service_prices/index.html.haml +8 -9
  39. data/app/views/shoppe/delivery_service_prices/new.html.haml +5 -4
  40. data/app/views/shoppe/delivery_services/_form.html.haml +15 -14
  41. data/app/views/shoppe/delivery_services/edit.html.haml +7 -5
  42. data/app/views/shoppe/delivery_services/index.html.haml +11 -12
  43. data/app/views/shoppe/delivery_services/new.html.haml +5 -4
  44. data/app/views/shoppe/orders/_form.html.haml +19 -19
  45. data/app/views/shoppe/orders/_order_details.html.haml +20 -15
  46. data/app/views/shoppe/orders/_order_items.html.haml +6 -6
  47. data/app/views/shoppe/orders/_order_items_form.html.haml +11 -11
  48. data/app/views/shoppe/orders/_payments_form.html.haml +4 -4
  49. data/app/views/shoppe/orders/_payments_table.html.haml +12 -12
  50. data/app/views/shoppe/orders/_search_form.html.haml +10 -10
  51. data/app/views/shoppe/orders/_status_bar.html.haml +17 -13
  52. data/app/views/shoppe/orders/despatch_note.html.haml +15 -15
  53. data/app/views/shoppe/orders/edit.html.haml +8 -8
  54. data/app/views/shoppe/orders/index.html.haml +12 -12
  55. data/app/views/shoppe/orders/new.html.haml +7 -7
  56. data/app/views/shoppe/orders/show.html.haml +9 -12
  57. data/app/views/shoppe/payments/refund.html.haml +6 -7
  58. data/app/views/shoppe/product_categories/_form.html.haml +9 -9
  59. data/app/views/shoppe/product_categories/edit.html.haml +4 -4
  60. data/app/views/shoppe/product_categories/index.html.haml +5 -5
  61. data/app/views/shoppe/product_categories/new.html.haml +4 -3
  62. data/app/views/shoppe/products/_form.html.haml +49 -50
  63. data/app/views/shoppe/products/_table.html.haml +10 -10
  64. data/app/views/shoppe/products/edit.html.haml +6 -6
  65. data/app/views/shoppe/products/import.html.haml +63 -0
  66. data/app/views/shoppe/products/index.html.haml +6 -4
  67. data/app/views/shoppe/products/new.html.haml +6 -4
  68. data/app/views/shoppe/sessions/new.html.haml +5 -5
  69. data/app/views/shoppe/sessions/reset.html.haml +6 -5
  70. data/app/views/shoppe/settings/edit.html.haml +5 -5
  71. data/app/views/shoppe/shared/error.html.haml +3 -3
  72. data/app/views/shoppe/stock_level_adjustments/index.html.haml +13 -12
  73. data/app/views/shoppe/tax_rates/form.html.haml +13 -13
  74. data/app/views/shoppe/tax_rates/index.html.haml +5 -5
  75. data/app/views/shoppe/users/_form.html.haml +10 -11
  76. data/app/views/shoppe/users/edit.html.haml +4 -4
  77. data/app/views/shoppe/users/index.html.haml +5 -5
  78. data/app/views/shoppe/users/new.html.haml +6 -4
  79. data/app/views/shoppe/variants/form.html.haml +27 -29
  80. data/app/views/shoppe/variants/index.html.haml +11 -11
  81. data/config/locales/en.yml +619 -14
  82. data/config/locales/es.yml +650 -0
  83. data/config/locales/pl.yml +650 -0
  84. data/config/locales/pt-BR.yml +643 -0
  85. data/config/routes.rb +16 -8
  86. data/db/migrate/20141026175622_add_indexes_to_shoppe_order_items.rb +6 -0
  87. data/db/migrate/20141026175943_add_indexes_to_shoppe_orders.rb +7 -0
  88. data/db/migrate/20141026180333_add_indexes_to_shoppe_payments.rb +6 -0
  89. data/db/migrate/20141026180835_add_indexes_to_shoppe_product_attributes.rb +7 -0
  90. data/db/migrate/20141026180952_add_indexes_to_shoppe_product_categories.rb +5 -0
  91. data/db/migrate/20141026181040_add_indexes_to_shoppe_products.rb +8 -0
  92. data/db/migrate/20141026181312_add_indexes_to_shoppe_settings.rb +5 -0
  93. data/db/migrate/20141026181354_add_indexes_to_shoppe_stock_level_adjustments.rb +6 -0
  94. data/db/migrate/20141026181559_add_indexes_to_shoppe_users.rb +5 -0
  95. data/db/migrate/20141026181716_add_indexes_to_shoppe_delivery_services.rb +9 -0
  96. data/db/schema.rb +36 -1
  97. data/lib/shoppe/engine.rb +6 -0
  98. data/lib/shoppe/navigation_manager.rb +1 -1
  99. data/lib/shoppe/version.rb +1 -1
  100. metadata +67 -5
@@ -1,24 +1,24 @@
1
- - @page_title = "Variants - #{@product.name}"
1
+ - @page_title = "#{t('shoppe.variants.variants')} - #{@product.name}"
2
2
 
3
3
  = content_for :header do
4
4
  %p.buttons
5
- = link_to "Edit product", [:edit, @product], :class => 'button'
6
- = link_to "New variant", [:new, @product, :variant], :class => 'button green'
5
+ = link_to t('shoppe.variants.edit_product'), [:edit, @product], :class => 'button'
6
+ = link_to t('shoppe.variants.new_variant'), [:new, @product, :variant], :class => 'button green'
7
7
 
8
- %h2.products Variants of #{@product.name}
8
+ %h2.products= t('shoppe.variants.variants_of', product: @product.name)
9
9
 
10
10
  .table
11
11
  %table.data
12
12
  %thead
13
13
  %tr
14
- %th{:width => '20%'} SKU
15
- %th{:width => '50%'} Name
16
- %th{:width => '15%'} Price
17
- %th{:width => '15%'} Stock
14
+ %th{:width => '20%'}= t('shoppe.variants.sku')
15
+ %th{:width => '50%'}= t('shoppe.variants.name')
16
+ %th{:width => '15%'}= t('shoppe.variants.price')
17
+ %th{:width => '15%'}= t('shoppe.variants.stock')
18
18
  %tbody
19
19
  - if @variants.empty?
20
20
  %tr.empty
21
- %td{:colspan => 4} No products to display.
21
+ %td{:colspan => 4}= t('shoppe.variants.no_products')
22
22
  - else
23
23
  - for variant in @variants
24
24
  %tr
@@ -27,7 +27,7 @@
27
27
  %td= number_to_currency variant.price
28
28
  %td
29
29
  - if variant.stock_control?
30
- %span.float-right= link_to "Edit", stock_level_adjustments_path(:item_type => variant.class, :item_id => variant.id), :class => 'edit', :rel => 'dialog', :data => {:dialog_width => 700, :dialog_behavior => 'stockLevelAdjustments'}
31
- = boolean_tag(variant.in_stock?, nil, :true_text => variant.stock, :false_text => 'No stock')
30
+ %span.float-right= link_to t('shoppe.edit'), stock_level_adjustments_path(:item_type => variant.class, :item_id => variant.id), :class => 'edit', :rel => 'dialog', :data => {:dialog_width => 700, :dialog_behavior => 'stockLevelAdjustments'}
31
+ = boolean_tag(variant.in_stock?, nil, :true_text => variant.stock, :false_text => t('shoppe.variants.no_stock'))
32
32
  - else
33
33
  ∞
@@ -1,6 +1,593 @@
1
1
  en:
2
+ activerecord:
3
+ models:
4
+ shoppe/country:
5
+ one: Country
6
+ other: Countries
7
+ shoppe/delivery_service:
8
+ one: Delivery service
9
+ other: Delivery services
10
+ shoppe/delivery_service_price:
11
+ one: Delivery service price
12
+ other: Delivery service prices
13
+ shoppe/order:
14
+ one: Order
15
+ other: Orders
16
+ shoppe/order_item:
17
+ one: Order item
18
+ other: Order items
19
+ shoppe/payment:
20
+ one: Payment
21
+ other: Payments
22
+ shoppe/product:
23
+ one: Product
24
+ other: Products
25
+ shoppe/product_attribute:
26
+ one: Product attribute
27
+ other: Product attributes
28
+ shoppe/product_category:
29
+ one: Product category
30
+ other: Product categories
31
+ shoppe/setting:
32
+ one: Setting
33
+ other: Settings
34
+ shoppe/stock_level_adjustment:
35
+ one: Stock Level Adjustment
36
+ other: Stock Level Adjustments
37
+ shoppe/tax_rate:
38
+ one: Tax Rate
39
+ other: Tax Rates
40
+ shoppe/user:
41
+ one: User
42
+ other: Users
43
+
44
+ attributes:
45
+ shoppe/order:
46
+ billing_address1: Billing address1
47
+ billing_address3: Billing address3
48
+ billing_address4: Billing address4
49
+ billing_country: Billing country
50
+ billing_postcode: Billing postcode
51
+ delivery_address1: Delivery address1
52
+ delivery_address3: Delivery address3
53
+ delivery_address4: Delivery address4
54
+ delivery_country: Delivery country
55
+ delivery_name: Delivery name
56
+ delivery_service_id: Delivery service
57
+ delivery_postcode: Delivery postcode
58
+ email_address: E-Mail address
59
+ first_name: First name
60
+ last_name: Last name
61
+ phone_number: Phone number
62
+ status: Status
63
+ token: Token
64
+ shoppe/country:
65
+ name: Name
66
+ shoppe/delivery_service:
67
+ name: Name
68
+ courier: Courier
69
+ shoppe/delivery_service_price:
70
+ code: Code
71
+ cost_price: Cost price
72
+ max_weight: Max weight
73
+ min_weight: Min weight
74
+ price: Price
75
+ shoppe/order_item:
76
+ ordered_item: Ordered Item
77
+ quantity: Quantity
78
+ shoppe/payment:
79
+ amount: Amount
80
+ method: Method
81
+ reference: Reference
82
+ shoppe/product:
83
+ cost_price: Cost price
84
+ description: Description
85
+ name: Name
86
+ permalink: Permalink
87
+ price: Price
88
+ short_description: Short description
89
+ sku: SKU
90
+ weight: Weight
91
+ shoppe/product_attribute:
92
+ key: Key
93
+ shoppe/product_category:
94
+ name: Name
95
+ permalink: Permalink
96
+ shoppe/setting:
97
+ key: Key
98
+ value: Value
99
+ value_type: Value type
100
+ shoppe/stock_level_adjustment:
101
+ adjustment: Adjustment
102
+ description: Description
103
+ must_be_greater_or_equal_zero: must be greater or less than zero
104
+ shoppe/tax_rate:
105
+ address_type: Address type
106
+ name: Name
107
+ rate: Rate
108
+ shoppe/user:
109
+ email_address: E-Mail address
110
+ first_name: First name
111
+ last_name: Last name
112
+ password: Password
113
+ password_confirmation: Password confirmation
114
+ errors:
115
+ template:
116
+ body: ! 'There were problems with the following fields:'
117
+ header:
118
+ one: 1 error prohibited this %{model} from being saved
119
+ many: ! '%{count} errors prohibited this %{model} from being saved'
120
+ other: ! '%{count} errors prohibited this %{model} from being saved'
121
+ models:
122
+ shoppe/product_category:
123
+ attributes:
124
+ permalink:
125
+ wrong_format: "can only contain letters, numbers, - and _"
126
+ shoppe/delivery:
127
+ attributes:
128
+ delivery_service_id:
129
+ must_be_specified: must be specified
130
+ not_suitable: is not suitable for this order
131
+ shoppe/order:
132
+ attributes:
133
+ delivery_service_id:
134
+ must_be_specified: Must be specified
135
+ shoppe/product:
136
+ attributes:
137
+ permalink:
138
+ wrong_format: "can only contain letters, numbers, - and _"
139
+ base:
140
+ can_belong_to_root: can only belong to a root product
141
+ shoppe/order_item:
142
+ attributes:
143
+ quantity:
144
+ too_high_quantity: is too high for the quantity in stock
145
+ shoppe/payment:
146
+ refund_failed: "Refunds must be less than the payment (%{refundable_amount})"
147
+
148
+ will_paginate:
149
+ next_label: "Next →"
150
+ page_gap: "…"
151
+ previous_label: "← Previous"
152
+
153
+ page_entries_info:
154
+
155
+ single_page:
156
+ zero: "No %{model} found"
157
+ one: "Displaying 1 %{model}"
158
+ other: "Displaying all %{count} %{model}"
159
+
160
+ single_page_html:
161
+ zero: "No %{model} found"
162
+ one_html: "Displaying <b>1</b> %{model}"
163
+ other_html: "Displaying <b>all&nbsp;%{count}</b> %{model}"
164
+
165
+ multi_page: "Displaying %{model} %{from} - %{to} of %{count} in total"
166
+ multi_page_html: "Displaying %{model} <b>%{from}&nbsp;-&nbsp;%{to}</b> of <b>%{count}</b> in total"
167
+
168
+ helpers:
169
+ number_to_weight:
170
+ kg: kg
171
+ page_entries_info:
172
+ one_page:
173
+ display_entries: Display Entries
174
+ attachment_preview:
175
+ delete: Delete
176
+ delete_confirm: Are you sure you wish to remove this attachment?
177
+ no_attachment: No attachment
178
+
2
179
  shoppe:
3
-
180
+
181
+ # common
182
+ cancel: Cancel
183
+ close: Close
184
+ delete: Delete
185
+ edit: Edit
186
+ import: Import
187
+ remove: Remove
188
+ submit: Submit
189
+
190
+ attachments:
191
+ remove_notice: Attachment removed successfully
192
+
193
+ countries:
194
+ back: Back to countries
195
+ continent: Continent
196
+ countries: Countries
197
+ country_details: Country details
198
+ create_notice: Country has been created successfully
199
+ delete_confirmation: Are you sure you wish to remove this country?
200
+ destroy_notice: Country has been removed successfully
201
+ eu?: EU?
202
+ eu_member: EU Member?
203
+ is_eu_member: Country is an EU member?
204
+ iso_alpha_2: ISO 3166-1-alpha-2
205
+ iso_alpha_3: ISO 3166-1-alpha-3
206
+ name: Name
207
+ new_country: New country
208
+ tld: TLD
209
+ update_notice: Country has been updated successfully
210
+
211
+ delivery_service_prices:
212
+ all_countries: All Countries
213
+ back: Back to prices
214
+ back_to_delivery_services: Back to delivery services
215
+ code: Code
216
+ cost: Cost
217
+ cost_price: Cost price
218
+ countries: Countries
219
+ create_notice: Price has been created successfully
220
+ delivery_services: Delivery Services
221
+ destroy_notice: Price has been removed successfully
222
+ identification_weight: Identification & Weight
223
+ max_weight: Max weight
224
+ min_weight: Min weight
225
+ new_price: New price
226
+ no_tax: No tax
227
+ price: Price
228
+ pricing: Pricing
229
+ pricing_for: "Delivery Pricing for %{delivery_name}"
230
+ tax_rate: Tax rate
231
+ update_notice: Price has been updated successfully
232
+ weight_allowance: Weight Allowance
233
+
234
+ help:
235
+ countries: This delivery rate will only be available to orders where the country selected is listed here.
236
+
237
+ delivery_services:
238
+ active?: Active?
239
+ active: Active
240
+ active_info: Service will be available for use
241
+ back: Back to delivery services
242
+ code: Code
243
+ courier: Courier
244
+ courier_name: Courier name
245
+ create_notice: Delivery Service has been created successfully
246
+ default?: Default?
247
+ default: Default
248
+ default_info: Service will be used by default (if possible)
249
+ delivery_services: Delivery Services
250
+ destroy_notice: Delivery Service has been removed successfully
251
+ delete_confirmation: Are you sure you wish to remove this delivery service?
252
+ details: Details
253
+ name: Name
254
+ new: New delivery service
255
+ no_services: No delivery services to display.
256
+ prices: Prices
257
+ set_prices: Set Prices
258
+ tracking_url: Tracking URL
259
+ tracking_url_help_html: Use <code>{{consignment_number}}</code> to insert the consignment number.
260
+ update_notice: Delivery Service has been updated successfully
261
+
262
+ imports:
263
+ example_file: Example Format
264
+ file_upload: File for Import
265
+ required_formats: Must be csv, xls or xlsx.
266
+ errors:
267
+ no_file: No file chosen for import
268
+ unknown_format: "Unknown file format: %{filename}"
269
+
270
+ orders:
271
+ accept: Accept
272
+ accept_notice: Order has been accepted successfully
273
+ add_payment: Add payment
274
+ add_item: Add an item
275
+ address: Address
276
+ amount: Amount
277
+ back_to_order: Back to order
278
+ back_to_orders: Back to orders
279
+ billing_address: Billing Address
280
+ billing_delivery_address: Billing/Delivery Address
281
+ build_time: Build time
282
+ company: Company
283
+ consignment_number: Consignment Number
284
+ cost: Cost
285
+ country: Country
286
+ create_order: Create order
287
+ create_notice: Order has been created successfully
288
+ customer: Customer
289
+ delivery_address: Delivery address
290
+ delivery_name: Delivery name
291
+ edit_order: Edit order
292
+ email_address: E-Mail address
293
+ first_name: First name
294
+ from_payment: from payment
295
+ id: ID
296
+ in_progress_warning: This order is still being built by the customer in your store. At present you can only view the items which are within the order.
297
+ invoice_number: Invoice number
298
+ insufficient_stock_order: "Insufficient stock to order %{out_of_stock_items}. Quantities have been updated to max total stock available."
299
+ item: Item
300
+ last_name: Last name
301
+ mark_as_shipped: Mark as shipped
302
+ method: Method
303
+ missing_delivery_service: No suitable delivery service available, order cannot be created without an associated delivery service.
304
+ name: Name
305
+ new_order: New order
306
+ no_delivery_required: No delivery required for this order.
307
+ no_orders: No orders to display.
308
+ no_payments: There are no payments recorded for this order...
309
+ notes: Notes
310
+ number: Number
311
+ order: Order
312
+ order_accepted: Order Accepted
313
+ order_balance: Order Balance
314
+ order_items: Order items
315
+ order_no_html: "Order <b>#%{order_number}</b>"
316
+ order_number: Order number
317
+ order_received: Order Received
318
+ order_rejected: Order Rejected
319
+ order_shipped: Order Shipped
320
+ ordered_products: Ordered products
321
+ orders: Orders
322
+ payment: Payment
323
+ payment_remove_confirmation: Are you sure you wish to remove this payment?
324
+ payments: Payments
325
+ phone_number: Phone number
326
+ post_code: Post code
327
+ price: Price
328
+ product: Product
329
+ products: Products
330
+ qty: Qty
331
+ quantity: Quantity
332
+ received_between: Received between
333
+ reference: Reference
334
+ refund: Refund
335
+ refunded?: Refunded?
336
+ reject: Reject
337
+ reject_notice: Order has been rejected successfully
338
+ save_order: Save order
339
+ search: Search
340
+ search_orders: Search orders
341
+ select_country: Select a country
342
+ separate_delivery_address: Separate delivery address
343
+ ship_notice: Order has been shipped successfully
344
+ sku: SKU
345
+ sla_warning: Any changes to quantities will update the appropriate stock levels for the associated product.
346
+ status: Status
347
+ stock: Stock
348
+ sub_total: Sub-Total
349
+ tax: Tax
350
+ telephone: Telephone
351
+ total: Total
352
+ type: Type
353
+ unit_price: Unit price
354
+ update_notice: Order has been saved successfully
355
+ use_separate_delivery_address?: Use a separate delivery address?
356
+ weight: Weight
357
+
358
+ status_bar:
359
+ by_user: "by %{user}"
360
+ consignment_no_html: "Consignment #<b>%{consignment_number}</b>"
361
+ from_ip: "from %{ip}"
362
+ on_date: "on %{on}"
363
+ tracking_url: Tracking URL
364
+
365
+ despatch_note:
366
+ despatch_note: Despatch note
367
+ footer: Thank you for your order!
368
+ order_number: Order number
369
+ order_placed: Order placed
370
+ packed?: Packed?
371
+ product: Product
372
+ quantity: Quantity
373
+ sku: SKU
374
+ telephone: Telephone
375
+ total_weight: Total weight
376
+ weight: Weight
377
+
378
+ statuses:
379
+ accepted: Accepted
380
+ building: Building
381
+ confirming: Confirming
382
+ received: Received
383
+ rejected: Rejected
384
+ shipped: Shipped
385
+
386
+ product_category:
387
+ attachments: Attachments
388
+ back_to_categories: Back to categories list
389
+ category_details: Category Details
390
+ create_notice: Category has been created successfully
391
+ delete_confirmation: Are you sure you wish to remove this category?
392
+ description: Description
393
+ destroy_notice: Category has been removed successfully
394
+ image: Image
395
+ name: Name
396
+ new_category: New category
397
+ no_categories: No categories to display.
398
+ permalink: Permalink
399
+ product_categories: Product categories
400
+ update_notice: Category has been updated successfully
401
+
402
+ products:
403
+ add_attribute: Add attribute
404
+ attachments: Attachments
405
+ attributes: Attributes
406
+ back_to_products: Back to product list
407
+ cost_price: Cost price
408
+ create_notice: Product has been created successfully
409
+ datasheet: Datasheet
410
+ default_image: Default Image
411
+ description: Description
412
+ destroy_notice: Product has been removed successfully
413
+ edit: Edit
414
+ enable_stock_control?: Enable stock control for this product?
415
+ featured?: Featured?
416
+ featured_info: If checked, this product will appear on your homepage
417
+ import_products: Import products
418
+ in_the_box: What's in the box?
419
+ name: Name
420
+ new_product: New product
421
+ no_products: No products to display.
422
+ no_stock: No stock
423
+ no_tax: No tax
424
+ on_sale?: On sale?
425
+ on_sale_info: If checked, this product will be displayed within the public store
426
+ permalink: Permalink
427
+ price: Price
428
+ price_variants: Price/Variants
429
+ pricing: Pricing
430
+ product_category: Product category
431
+ product_information: Product Information
432
+ products: Products
433
+ public?: Public?
434
+ remove: Remove
435
+ searchable?: Searchable?
436
+ short_description: Short description
437
+ sku: SKU
438
+ stock: Stock
439
+ stock_control: Stock Control
440
+ stock_levels: Stock levels
441
+ tax_rate: Tax rate
442
+ value: Value
443
+ variants: Variants
444
+ update_notice: Product has been updated successfully
445
+ website_properties: Website Properties
446
+ weight: Weight
447
+
448
+ imports:
449
+ help: Products and Categories are matched by name. If no product is found, a new one will be created with all the attributes on the line. If a product is found, only the quantity will be updated and all other fields will be ignored. If no category is found, one with that name will be created . One product per line.
450
+ success: Products imported successfully
451
+ examples:
452
+ first:
453
+ name: Plush Teddy Bear
454
+ sku: BEAR001
455
+ description: Fantastically plush. Very cuddly. Great for all ages.
456
+ short_description: Buy this for your kids.
457
+ weight: 1.2
458
+ price: 84.95
459
+ category_name: Teddy Bears
460
+ qty: 20
461
+ second:
462
+ name: Standard Teddy Bear
463
+ sku: BEAR002
464
+ description: Made out of PVC. A little cuddly. Spill resistant.
465
+ short_description: Buy this for those with two left thumbs.
466
+ weight: 0.6
467
+ price: 24.95
468
+ category_name: Teddy Bears
469
+ qty: 100
470
+ third:
471
+ name: Stick Teddy Bear
472
+ sku: BEAR003
473
+ description: Made out of sticks. Not really cuddly. All natural. Fire hazard.
474
+ short_description: Buy this for that distant aunt who collects bears.
475
+ weight: 0.521
476
+ price: 1.95
477
+ category_name: Teddy Bears
478
+ qty: 50
479
+
480
+ refund:
481
+ intro_html: "To issue a refund for this payment, just enter the amount you wish to refund below and click 'Refund'. The maximum you can refund is <b>%{amount}</b>."
482
+ issue_refund: Issue Refund
483
+ refund: Refund
484
+
485
+ sessions:
486
+ admin_login: Admin Login
487
+ create_alert: The email address and/or password you have entered is invalid. Please check and try again.
488
+ back_to_login: Back to login
489
+ email: E-Mail Address
490
+ login: Login
491
+ password: Password
492
+ reset: Reset
493
+ reset_password: Reset your password
494
+ reset_password?: Reset your password?
495
+ reset_alert: No user was found matching the e-mail address
496
+ reset_notice: "An e-mail has been sent to %{email_address} with a new password"
497
+
498
+ shared:
499
+ back_to_shoppe: Back to Shoppe
500
+ error: Error
501
+ error_occurred: An error has occurred
502
+
503
+ stock_level_adjustments:
504
+ add: Add
505
+ adjustment: Adjustment
506
+ back_to_product: Back to product list
507
+ create_notice: Adjustment has been added successfully
508
+ current_stock_level_html: "Current stock level is <b>%{item_stock}</b>"
509
+ date: Date
510
+ description: Description
511
+ edit_product: Edit product
512
+ invalid_item_type: "Invalid item_type (must be one of %{suitable_objects})"
513
+ stock_levels_for: "Stock Levels for %{item_name}"
514
+ stock_levels_title: "Stock Levels - %{item_name}"
515
+
516
+ tax_rates:
517
+ address_type_option: "Apply to orders where the %{address} address matches one of the countries below"
518
+ all_countries: All countries
519
+ back_to_tax_rates: Back to tax rates
520
+ billing: billing
521
+ country_restriction: Country Restriction
522
+ create_notice: Tax rate has been created successfully
523
+ delete_confirmation: Are you sure you wish to remove this tax rate?
524
+ delivery: delivery
525
+ destroy_notice: Tax rate has been removed successfully
526
+ name: Name
527
+ new_tax_rate: New tax rate
528
+ rate: Rate
529
+ rate_details: Rate Details
530
+ tax_rates: Tax Rates
531
+ update_notice: Tax rate has been updated successfully
532
+
533
+ users:
534
+ back_to_users: Back to users
535
+ create_notice: User has been created successfully
536
+ delete_confirmation: Are you sure you wish to remove this user?
537
+ demo_mode_error: You cannot make changes to users in demo mode. Sorry about that.
538
+ destroy_notice: User has been removed successfully
539
+ email: E-Mail Address
540
+ first_name: First name
541
+ last_name: Last name
542
+ login: Login
543
+ name: Name
544
+ new_user: New user
545
+ password: Password
546
+ password_confirmation: ...and again
547
+ self_remove_error: You cannot remove yourself
548
+ update_notice: User has been updated successfully
549
+ user_details: User Details
550
+ users: Users
551
+
552
+ variants:
553
+ back_to_variants: Back to variants
554
+ cost_price: Cost price
555
+ create_notice: Variant has been added successfully
556
+ default_variant?: Default variant?
557
+ default_variant_info: If checked, this variant will be the default
558
+ delete_confirmation: Are you sure you wish to remove this variant?
559
+ destroy_notice: Variant has been removed successfully
560
+ edit_product: Edit product
561
+ edit_variant: New variant
562
+ enable_stock_control?: Enable stock control for this product?
563
+ image: Image
564
+ name: Name
565
+ no_products: No products to display.
566
+ no_stock: No stock
567
+ no_tax: No tax
568
+ new_variant: New variant
569
+ on_sale?: On sale?
570
+ on_sale_info: If checked, this product will be displayed within the public store
571
+ permalink: Permalink
572
+ price: Price
573
+ pricing: Pricing
574
+ product_information: Product Information
575
+ save_variant: Save Variant
576
+ sku: SKU
577
+ stock: Stock
578
+ stock_control: Stock Control
579
+ tax_rate: Tax rate
580
+ update_notice: Variant has been updated successfully
581
+ variants: Variants
582
+ variants_of: "Variants of %{product}"
583
+ website_properties: Website Properties
584
+ weight: Weight
585
+
586
+ payments:
587
+ create_notice: Payment has been added successfully
588
+ destroy_notice: Payment has been removed successfully
589
+ refund_notice: Refund has been processed successfully.
590
+
4
591
  navigation:
5
592
  admin_primary:
6
593
  orders: Orders
@@ -11,35 +598,53 @@ en:
11
598
  users: Users
12
599
  countries: Countries
13
600
  settings: Settings
14
-
601
+
15
602
  settings:
16
-
603
+
604
+ settings: Settings
605
+ system_settings: System Settings
606
+ demo_mode_error: You cannot make changes to settings in demo mode. Sorry about that.
607
+ update_notice: Settings have been updated successfully.
608
+
17
609
  types:
18
610
  # Force certain settings to certain type
19
611
  demo_mode: boolean
20
-
612
+
21
613
  labels:
22
614
  # Labels for fields go here
23
615
  email_address: Store E-Mail Address
24
-
616
+ store_name: Store Name
617
+ currency_unit: Currency Unit
618
+ tax_name: Tax Name
619
+ demo_mode: Demo Mode
620
+
25
621
  options:
26
622
  # Options for boolean settings
27
623
  demo_mode:
28
624
  affirmative: Enabled
29
625
  negative: Disabled
30
-
626
+
31
627
  help:
32
628
  # Help text for individual fields
33
- store_name: This is the name of your store which will be used through the Shoppe admin interface as well as in the default outbound e-mail messages.
34
- email_address: The e-mail address to use when sending outbound messages. Must just be an e-mail address.
35
629
  currency_unit: The symbol to be displayed before all numbers which relate to money. Only applies to the admin interface and must be implemented separately in your base application.
36
- tax_name: The name for "Tax" which will be displayed in your admin interface. Commonly replaced with VAT in European countries.
37
630
  demo_mode: If enabled, your Shoppe admin interface will allow any users to login and will not permit changes to your users. This should be used with caution and never enabled for a production store.
38
-
631
+ email_address: The e-mail address to use when sending outbound messages. Must just be an e-mail address.
632
+ store_name: This is the name of your store which will be used through the Shoppe admin interface as well as in the default outbound e-mail messages.
633
+ tax_name: The name for "Tax" which will be displayed in your admin interface. Commonly replaced with VAT in European countries.
634
+
635
+ save_settings: Save Settings
636
+ page_title: Settings
637
+
39
638
  defaults:
40
- store_name: Widgets Inc.
41
- email_address: sales@example.com
42
639
  currency_unit: $
43
- tax_name: Tax
44
640
  demo_mode: false
45
-
641
+ email_address: sales@example.com
642
+ store_name: Widgets Inc.
643
+ tax_name: Tax
644
+
645
+ layouts:
646
+ shoppe:
647
+ application:
648
+ goto: Goto
649
+ logged_in_as: "Logged in as %{user_name}"
650
+ logout: Logout