kkt_shoppe 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +55 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/images/kkt_shoppe/chosen-sprite.png +0 -0
  6. data/app/assets/images/kkt_shoppe/chosen-sprite@2x.png +0 -0
  7. data/app/assets/images/kkt_shoppe/document.svg +1 -0
  8. data/app/assets/images/kkt_shoppe/icons/bag.svg +1 -0
  9. data/app/assets/images/kkt_shoppe/icons/balance.svg +1 -0
  10. data/app/assets/images/kkt_shoppe/icons/box.svg +1 -0
  11. data/app/assets/images/kkt_shoppe/icons/building.svg +1 -0
  12. data/app/assets/images/kkt_shoppe/icons/chart.svg +1 -0
  13. data/app/assets/images/kkt_shoppe/icons/chat.svg +1 -0
  14. data/app/assets/images/kkt_shoppe/icons/checkbox.svg +1 -0
  15. data/app/assets/images/kkt_shoppe/icons/checkbox2.svg +1 -0
  16. data/app/assets/images/kkt_shoppe/icons/cloud.svg +1 -0
  17. data/app/assets/images/kkt_shoppe/icons/cone.svg +1 -0
  18. data/app/assets/images/kkt_shoppe/icons/credit_card.svg +1 -0
  19. data/app/assets/images/kkt_shoppe/icons/currency.svg +1 -0
  20. data/app/assets/images/kkt_shoppe/icons/edit.svg +14 -0
  21. data/app/assets/images/kkt_shoppe/icons/flowchart.svg +1 -0
  22. data/app/assets/images/kkt_shoppe/icons/gift.svg +1 -0
  23. data/app/assets/images/kkt_shoppe/icons/globe.svg +1 -0
  24. data/app/assets/images/kkt_shoppe/icons/id.svg +1 -0
  25. data/app/assets/images/kkt_shoppe/icons/id2.svg +1 -0
  26. data/app/assets/images/kkt_shoppe/icons/locked.svg +1 -0
  27. data/app/assets/images/kkt_shoppe/icons/report.svg +1 -0
  28. data/app/assets/images/kkt_shoppe/icons/search.svg +1 -0
  29. data/app/assets/images/kkt_shoppe/icons/support.svg +1 -0
  30. data/app/assets/images/kkt_shoppe/icons/tags.svg +1 -0
  31. data/app/assets/images/kkt_shoppe/icons/toolbox.svg +1 -0
  32. data/app/assets/images/kkt_shoppe/icons/unlocked.svg +1 -0
  33. data/app/assets/images/kkt_shoppe/icons/wallet.svg +1 -0
  34. data/app/assets/images/kkt_shoppe/kkt_shoppe.svg +25 -0
  35. data/app/assets/images/kkt_shoppe/logo.svg +47 -0
  36. data/app/assets/images/kkt_shoppe/move.svg +1 -0
  37. data/app/assets/images/kkt_shoppe/square.svg +9 -0
  38. data/app/assets/images/kkt_shoppe/statuses/accepted.svg +14 -0
  39. data/app/assets/images/kkt_shoppe/statuses/paid.svg +16 -0
  40. data/app/assets/images/kkt_shoppe/statuses/received.svg +15 -0
  41. data/app/assets/images/kkt_shoppe/statuses/rejected.svg +14 -0
  42. data/app/assets/images/kkt_shoppe/statuses/shipped.svg +14 -0
  43. data/app/assets/images/kkt_shoppe/table-tear-off.png +0 -0
  44. data/app/assets/javascripts/kkt_shoppe/application.coffee +123 -0
  45. data/app/assets/javascripts/kkt_shoppe/chosen.jquery.js +1166 -0
  46. data/app/assets/javascripts/kkt_shoppe/jquery_ui.js +6 -0
  47. data/app/assets/javascripts/kkt_shoppe/mousetrap.js +9 -0
  48. data/app/assets/javascripts/kkt_shoppe/order_form.coffee +47 -0
  49. data/app/assets/stylesheets/kkt_shoppe/application.scss +601 -0
  50. data/app/assets/stylesheets/kkt_shoppe/chosen.scss +424 -0
  51. data/app/assets/stylesheets/kkt_shoppe/dialog.scss +25 -0
  52. data/app/assets/stylesheets/kkt_shoppe/elements.scss +79 -0
  53. data/app/assets/stylesheets/kkt_shoppe/printable.scss +67 -0
  54. data/app/assets/stylesheets/kkt_shoppe/reset.scss +93 -0
  55. data/app/assets/stylesheets/kkt_shoppe/sub.scss +106 -0
  56. data/app/assets/stylesheets/kkt_shoppe/variables.scss +1 -0
  57. data/app/controllers/kkt_shoppe/addresses_controller.rb +47 -0
  58. data/app/controllers/kkt_shoppe/application_controller.rb +46 -0
  59. data/app/controllers/kkt_shoppe/attachments_controller.rb +14 -0
  60. data/app/controllers/kkt_shoppe/countries_controller.rb +47 -0
  61. data/app/controllers/kkt_shoppe/customers_controller.rb +55 -0
  62. data/app/controllers/kkt_shoppe/dashboard_controller.rb +9 -0
  63. data/app/controllers/kkt_shoppe/delivery_service_prices_controller.rb +45 -0
  64. data/app/controllers/kkt_shoppe/delivery_services_controller.rb +47 -0
  65. data/app/controllers/kkt_shoppe/orders_controller.rb +119 -0
  66. data/app/controllers/kkt_shoppe/payments_controller.rb +33 -0
  67. data/app/controllers/kkt_shoppe/product_categories_controller.rb +47 -0
  68. data/app/controllers/kkt_shoppe/product_category_localisations_controller.rb +58 -0
  69. data/app/controllers/kkt_shoppe/product_localisations_controller.rb +58 -0
  70. data/app/controllers/kkt_shoppe/products_controller.rb +58 -0
  71. data/app/controllers/kkt_shoppe/sessions_controller.rb +34 -0
  72. data/app/controllers/kkt_shoppe/settings_controller.rb +16 -0
  73. data/app/controllers/kkt_shoppe/stock_level_adjustments_controller.rb +40 -0
  74. data/app/controllers/kkt_shoppe/tax_rates_controller.rb +49 -0
  75. data/app/controllers/kkt_shoppe/users_controller.rb +53 -0
  76. data/app/controllers/kkt_shoppe/variants_controller.rb +50 -0
  77. data/app/helpers/kkt_shoppe/application_helper.rb +60 -0
  78. data/app/helpers/kkt_shoppe/product_category_helper.rb +36 -0
  79. data/app/mailers/kkt_shoppe/order_mailer.rb +25 -0
  80. data/app/mailers/kkt_shoppe/user_mailer.rb +10 -0
  81. data/app/models/kkt_shoppe/address.rb +44 -0
  82. data/app/models/kkt_shoppe/country.rb +27 -0
  83. data/app/models/kkt_shoppe/customer.rb +41 -0
  84. data/app/models/kkt_shoppe/delivery_service.rb +33 -0
  85. data/app/models/kkt_shoppe/delivery_service_price.rb +31 -0
  86. data/app/models/kkt_shoppe/order/actions.rb +94 -0
  87. data/app/models/kkt_shoppe/order/billing.rb +105 -0
  88. data/app/models/kkt_shoppe/order/delivery.rb +229 -0
  89. data/app/models/kkt_shoppe/order/states.rb +69 -0
  90. data/app/models/kkt_shoppe/order.rb +100 -0
  91. data/app/models/kkt_shoppe/order_item.rb +239 -0
  92. data/app/models/kkt_shoppe/payment.rb +86 -0
  93. data/app/models/kkt_shoppe/product/product_attributes.rb +20 -0
  94. data/app/models/kkt_shoppe/product/variants.rb +51 -0
  95. data/app/models/kkt_shoppe/product.rb +189 -0
  96. data/app/models/kkt_shoppe/product_attribute.rb +66 -0
  97. data/app/models/kkt_shoppe/product_categorization.rb +14 -0
  98. data/app/models/kkt_shoppe/product_category.rb +75 -0
  99. data/app/models/kkt_shoppe/setting.rb +68 -0
  100. data/app/models/kkt_shoppe/stock_level_adjustment.rb +19 -0
  101. data/app/models/kkt_shoppe/tax_rate.rb +46 -0
  102. data/app/models/kkt_shoppe/user.rb +49 -0
  103. data/app/validators/permalink_validator.rb +7 -0
  104. data/app/views/kkt_shoppe/addresses/_form.html.haml +33 -0
  105. data/app/views/kkt_shoppe/addresses/edit.html.haml +5 -0
  106. data/app/views/kkt_shoppe/addresses/new.html.haml +5 -0
  107. data/app/views/kkt_shoppe/countries/_form.html.haml +35 -0
  108. data/app/views/kkt_shoppe/countries/edit.html.haml +6 -0
  109. data/app/views/kkt_shoppe/countries/index.html.haml +25 -0
  110. data/app/views/kkt_shoppe/countries/new.html.haml +7 -0
  111. data/app/views/kkt_shoppe/customers/_addresses.html.haml +20 -0
  112. data/app/views/kkt_shoppe/customers/_form.html.haml +30 -0
  113. data/app/views/kkt_shoppe/customers/_search_form.html.haml +13 -0
  114. data/app/views/kkt_shoppe/customers/edit.html.haml +5 -0
  115. data/app/views/kkt_shoppe/customers/index.html.haml +32 -0
  116. data/app/views/kkt_shoppe/customers/new.html.haml +5 -0
  117. data/app/views/kkt_shoppe/customers/show.html.haml +53 -0
  118. data/app/views/kkt_shoppe/delivery_service_prices/_form.html.haml +44 -0
  119. data/app/views/kkt_shoppe/delivery_service_prices/edit.html.haml +6 -0
  120. data/app/views/kkt_shoppe/delivery_service_prices/index.html.haml +23 -0
  121. data/app/views/kkt_shoppe/delivery_service_prices/new.html.haml +6 -0
  122. data/app/views/kkt_shoppe/delivery_services/_form.html.haml +38 -0
  123. data/app/views/kkt_shoppe/delivery_services/edit.html.haml +9 -0
  124. data/app/views/kkt_shoppe/delivery_services/index.html.haml +27 -0
  125. data/app/views/kkt_shoppe/delivery_services/new.html.haml +6 -0
  126. data/app/views/kkt_shoppe/order_mailer/accepted.text.erb +12 -0
  127. data/app/views/kkt_shoppe/order_mailer/received.text.erb +9 -0
  128. data/app/views/kkt_shoppe/order_mailer/rejected.text.erb +10 -0
  129. data/app/views/kkt_shoppe/order_mailer/shipped.text.erb +16 -0
  130. data/app/views/kkt_shoppe/orders/_form.html.haml +58 -0
  131. data/app/views/kkt_shoppe/orders/_order_details.html.haml +57 -0
  132. data/app/views/kkt_shoppe/orders/_order_items.html.haml +38 -0
  133. data/app/views/kkt_shoppe/orders/_order_items_form.html.haml +61 -0
  134. data/app/views/kkt_shoppe/orders/_payments_form.html.haml +15 -0
  135. data/app/views/kkt_shoppe/orders/_payments_table.html.haml +37 -0
  136. data/app/views/kkt_shoppe/orders/_search_form.html.haml +24 -0
  137. data/app/views/kkt_shoppe/orders/_status_bar.html.haml +35 -0
  138. data/app/views/kkt_shoppe/orders/despatch_note.html.haml +45 -0
  139. data/app/views/kkt_shoppe/orders/edit.html.haml +21 -0
  140. data/app/views/kkt_shoppe/orders/index.html.haml +39 -0
  141. data/app/views/kkt_shoppe/orders/new.html.haml +14 -0
  142. data/app/views/kkt_shoppe/orders/show.html.haml +25 -0
  143. data/app/views/kkt_shoppe/payments/refund.html.haml +13 -0
  144. data/app/views/kkt_shoppe/product_categories/_form.html.haml +50 -0
  145. data/app/views/kkt_shoppe/product_categories/edit.html.haml +8 -0
  146. data/app/views/kkt_shoppe/product_categories/index.html.haml +27 -0
  147. data/app/views/kkt_shoppe/product_categories/new.html.haml +6 -0
  148. data/app/views/kkt_shoppe/product_category_localisations/form.html.haml +29 -0
  149. data/app/views/kkt_shoppe/product_category_localisations/index.html.haml +26 -0
  150. data/app/views/kkt_shoppe/product_localisations/form.html.haml +32 -0
  151. data/app/views/kkt_shoppe/product_localisations/index.html.haml +26 -0
  152. data/app/views/kkt_shoppe/products/_form.html.haml +118 -0
  153. data/app/views/kkt_shoppe/products/_table.html.haml +42 -0
  154. data/app/views/kkt_shoppe/products/edit.html.haml +9 -0
  155. data/app/views/kkt_shoppe/products/import.html.haml +67 -0
  156. data/app/views/kkt_shoppe/products/index.html.haml +9 -0
  157. data/app/views/kkt_shoppe/products/new.html.haml +7 -0
  158. data/app/views/kkt_shoppe/sessions/new.html.haml +12 -0
  159. data/app/views/kkt_shoppe/sessions/reset.html.haml +12 -0
  160. data/app/views/kkt_shoppe/settings/edit.html.haml +19 -0
  161. data/app/views/kkt_shoppe/shared/error.html.haml +6 -0
  162. data/app/views/kkt_shoppe/stock_level_adjustments/index.html.haml +40 -0
  163. data/app/views/kkt_shoppe/tax_rates/form.html.haml +28 -0
  164. data/app/views/kkt_shoppe/tax_rates/index.html.haml +17 -0
  165. data/app/views/kkt_shoppe/user_mailer/new_password.text.erb +9 -0
  166. data/app/views/kkt_shoppe/users/_form.html.haml +27 -0
  167. data/app/views/kkt_shoppe/users/edit.html.haml +5 -0
  168. data/app/views/kkt_shoppe/users/index.html.haml +17 -0
  169. data/app/views/kkt_shoppe/users/new.html.haml +7 -0
  170. data/app/views/kkt_shoppe/variants/form.html.haml +68 -0
  171. data/app/views/kkt_shoppe/variants/index.html.haml +33 -0
  172. data/app/views/layouts/kkt_shoppe/application.html.haml +34 -0
  173. data/app/views/layouts/kkt_shoppe/printable.html.haml +11 -0
  174. data/app/views/layouts/kkt_shoppe/sub.html.haml +10 -0
  175. data/config/locales/de.yml +653 -0
  176. data/config/locales/en.yml +744 -0
  177. data/config/locales/es.yml +653 -0
  178. data/config/locales/pl.yml +662 -0
  179. data/config/locales/pt-BR.yml +655 -0
  180. data/config/routes.rb +53 -0
  181. data/db/countries.txt +252 -0
  182. data/db/migrate/20130926094549_create_kkt_shoppe_initial_schema.rb +175 -0
  183. data/db/migrate/20131024201501_add_address_type_to_kkt_shoppe_tax_rates.rb +5 -0
  184. data/db/migrate/20131024204815_create_kkt_shoppe_payments.rb +32 -0
  185. data/db/migrate/20131102143930_remove_default_on_order_item_weight.rb +9 -0
  186. data/db/migrate/20141013192427_create_kkt_shoppe_customers.rb +14 -0
  187. data/db/migrate/20141026175622_add_indexes_to_kkt_shoppe_order_items.rb +6 -0
  188. data/db/migrate/20141026175943_add_indexes_to_kkt_shoppe_orders.rb +7 -0
  189. data/db/migrate/20141026180333_add_indexes_to_kkt_shoppe_payments.rb +6 -0
  190. data/db/migrate/20141026180835_add_indexes_to_kkt_shoppe_product_attributes.rb +7 -0
  191. data/db/migrate/20141026180952_add_indexes_to_kkt_shoppe_product_categories.rb +5 -0
  192. data/db/migrate/20141026181040_add_indexes_to_kkt_shoppe_products.rb +8 -0
  193. data/db/migrate/20141026181312_add_indexes_to_kkt_shoppe_settings.rb +5 -0
  194. data/db/migrate/20141026181354_add_indexes_to_kkt_shoppe_stock_level_adjustments.rb +6 -0
  195. data/db/migrate/20141026181559_add_indexes_to_kkt_shoppe_users.rb +5 -0
  196. data/db/migrate/20141026181716_add_indexes_to_kkt_shoppe_delivery_services.rb +9 -0
  197. data/db/migrate/20141026181717_allow_multiple_kkt_shoppe_products_per_shoppe_product_category.rb +46 -0
  198. data/db/migrate/20141026181718_add_nested_to_product_categories.rb +30 -0
  199. data/db/migrate/20141027215005_create_kkt_shoppe_addresses.rb +17 -0
  200. data/db/migrate/20150315215633_add_customer_to_kkt_shoppe_orders.rb +5 -0
  201. data/db/migrate/20150513171350_create_kkt_shoppe_product_category_translation_table.rb +17 -0
  202. data/db/migrate/20150519173350_create_kkt_shoppe_product_translation_table.rb +18 -0
  203. data/db/schema.rb +308 -0
  204. data/db/seeds.rb +137 -0
  205. data/db/seeds_data/poe400.jpg +0 -0
  206. data/db/seeds_data/snom-870-blk.jpg +0 -0
  207. data/db/seeds_data/snom-870-grey.jpg +0 -0
  208. data/db/seeds_data/snom-mm2.jpg +0 -0
  209. data/db/seeds_data/spa303.jpg +0 -0
  210. data/db/seeds_data/t18p.jpg +0 -0
  211. data/db/seeds_data/t20p.jpg +0 -0
  212. data/db/seeds_data/t22p.jpg +0 -0
  213. data/db/seeds_data/t26p.jpg +0 -0
  214. data/db/seeds_data/t41pn.jpg +0 -0
  215. data/db/seeds_data/t46gn.jpg +0 -0
  216. data/db/seeds_data/w52p.jpg +0 -0
  217. data/db/seeds_data/yhs32.jpg +0 -0
  218. data/lib/kkt_shoppe/associated_countries.rb +20 -0
  219. data/lib/kkt_shoppe/country_importer.rb +15 -0
  220. data/lib/kkt_shoppe/default_navigation.rb +21 -0
  221. data/lib/kkt_shoppe/engine.rb +55 -0
  222. data/lib/kkt_shoppe/error.rb +21 -0
  223. data/lib/kkt_shoppe/errors/inappropriate_delivery_service.rb +6 -0
  224. data/lib/kkt_shoppe/errors/insufficient_stock_to_fulfil.rb +15 -0
  225. data/lib/kkt_shoppe/errors/invalid_configuration.rb +6 -0
  226. data/lib/kkt_shoppe/errors/not_enough_stock.rb +15 -0
  227. data/lib/kkt_shoppe/errors/payment_declined.rb +6 -0
  228. data/lib/kkt_shoppe/errors/refund_failed.rb +6 -0
  229. data/lib/kkt_shoppe/errors/unorderable_item.rb +6 -0
  230. data/lib/kkt_shoppe/navigation_manager.rb +81 -0
  231. data/lib/kkt_shoppe/orderable_item.rb +39 -0
  232. data/lib/kkt_shoppe/settings.rb +26 -0
  233. data/lib/kkt_shoppe/settings_loader.rb +16 -0
  234. data/lib/kkt_shoppe/setup_generator.rb +10 -0
  235. data/lib/kkt_shoppe/version.rb +3 -0
  236. data/lib/kkt_shoppe/view_helpers.rb +16 -0
  237. data/lib/kkt_shoppe.rb +60 -0
  238. data/lib/tasks/kylekthompson_shoppe.rake +29 -0
  239. metadata +662 -0
@@ -0,0 +1,744 @@
1
+ en:
2
+ activerecord:
3
+ models:
4
+ kkt_shoppe/country:
5
+ one: Country
6
+ other: Countries
7
+ kkt_shoppe/delivery_service:
8
+ one: Delivery service
9
+ other: Delivery services
10
+ kkt_shoppe/delivery_service_price:
11
+ one: Delivery service price
12
+ other: Delivery service prices
13
+ kkt_shoppe/order:
14
+ one: Order
15
+ other: Orders
16
+ kkt_shoppe/order_item:
17
+ one: Order item
18
+ other: Order items
19
+ kkt_shoppe/payment:
20
+ one: Payment
21
+ other: Payments
22
+ kkt_shoppe/product:
23
+ one: Product
24
+ other: Products
25
+ kkt_shoppe/product_attribute:
26
+ one: Product attribute
27
+ other: Product attributes
28
+ kkt_shoppe/product_category:
29
+ one: Product category
30
+ other: Product categories
31
+ kkt_shoppe/setting:
32
+ one: Setting
33
+ other: Settings
34
+ kkt_shoppe/stock_level_adjustment:
35
+ one: Stock Level Adjustment
36
+ other: Stock Level Adjustments
37
+ kkt_shoppe/tax_rate:
38
+ one: Tax Rate
39
+ other: Tax Rates
40
+ kkt_shoppe/user:
41
+ one: User
42
+ other: Users
43
+
44
+ attributes:
45
+ kkt_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
+ kkt_shoppe/country:
65
+ name: Name
66
+ kkt_shoppe/delivery_service:
67
+ name: Name
68
+ courier: Courier
69
+ kkt_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
+ kkt_shoppe/order_item:
76
+ ordered_item: Ordered Item
77
+ quantity: Quantity
78
+ kkt_shoppe/payment:
79
+ amount: Amount
80
+ method: Method
81
+ reference: Reference
82
+ kkt_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
+ kkt_shoppe/product_attribute:
92
+ key: Key
93
+ kkt_shoppe/product_category:
94
+ name: Name
95
+ permalink: Permalink
96
+ kkt_shoppe/setting:
97
+ key: Key
98
+ value: Value
99
+ value_type: Value type
100
+ kkt_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
+ kkt_shoppe/tax_rate:
105
+ address_type: Address type
106
+ name: Name
107
+ rate: Rate
108
+ kkt_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
+ kkt_shoppe/product_category:
123
+ attributes:
124
+ permalink:
125
+ wrong_format: "can only contain letters, numbers, - and _"
126
+ kkt_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
+ kkt_shoppe/order:
132
+ attributes:
133
+ delivery_service_id:
134
+ must_be_specified: Must be specified
135
+ kkt_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
+ kkt_shoppe/order_item:
142
+ attributes:
143
+ quantity:
144
+ too_high_quantity: is too high for the quantity in stock
145
+ kkt_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
+
179
+ kkt_shoppe:
180
+
181
+ # common
182
+ cancel: Cancel
183
+ close: Close
184
+ delete: Delete
185
+ edit: Edit
186
+ import: Import
187
+ remove: Remove
188
+
189
+ removed_it: "%{it} has been removed successfully"
190
+ save_settings: Save Settings
191
+ separate_delivery_address: Separate delivery address
192
+ service_available: Service will be available for use
193
+ service_default: Service will be used by default (if possible)
194
+ settings_title: Settings
195
+ settings_not_in_demo: You cannot make changes to settings in demo mode. Sorry about that.
196
+ set_prices: Set Prices
197
+ kkt_shoppe_back: Back to KktShoppe
198
+ sku: SKU
199
+ status: Status
200
+ stock: Stock
201
+ stock_current: Current stock level is
202
+ stock_control: Stock Control
203
+ stock_control_enable: Enable stock control for this product?
204
+ stock_levels: Stock levels
205
+ stock_levels_for: Stock levels %{item}
206
+ stock_none: No stock
207
+ system_settings: System settings
208
+ tax_rate: Tax rate
209
+ tax_rate_apply_to: Apply to orders where the %{to} matches one of the countries below
210
+ tax_rate_delete_confirm: Are you sure you wish to remove this tax_rate?
211
+ tax_rate_details: Rate Details
212
+ tax_rate_new: New tax rate
213
+ tax_rate_note: Do NOT edit tax rates that are already in use.
214
+ Care should be taken when editing tax rates, as this may affect existing orders.
215
+ while creating a new tax rate, you must delete it and create a new one. When you delete a tax rate
216
+ it is not removed from the system, only deactivated, so existing orders stay unaffected.
217
+ tax_rates: Tax Rates
218
+ tax_rates_back: Back to tax rates
219
+ tax_none: No tax
220
+ telephone: Telephone
221
+ total: Total
222
+ total_weight: Total weight
223
+ tracking_url: Tracking URL
224
+ unknown: Unknown
225
+ updated_it: "%{it} has been updated successfully"
226
+ users: Users
227
+ users_back: Back to users
228
+ user_delete_confirm: Are you sure you wish to remove this user?
229
+ user_details: User Details
230
+ user: User
231
+ user_edit: Edit user
232
+ user_new: New User
233
+ user_not_in_demo: You cannot make changes to users in demo mode. Sorry about that.
234
+ user_not_yourself: You cannot remove yourself
235
+ variants: Variants
236
+ variants_back: Back to variants
237
+ variants_of: Variants of %{product}
238
+ variant_delete_confirm: Are you sure you wish to remove this variant?
239
+ variant_of: Variant of %{product}
240
+ variant_new: New variant
241
+ variant_save: Save Variant
242
+ value: Value
243
+ website_properties: Website Properties
244
+ weight: Weight
245
+ weight_allowance: Weight Allowance
246
+
247
+ submit: Submit
248
+
249
+ attachments:
250
+ remove_notice: Attachment removed successfully
251
+
252
+ countries:
253
+ back: Back to countries
254
+ continent: Continent
255
+ countries: Countries
256
+ country_details: Country details
257
+ create_notice: Country has been created successfully
258
+ delete_confirmation: Are you sure you wish to remove this country?
259
+ destroy_notice: Country has been removed successfully
260
+ eu?: EU?
261
+ eu_member: EU Member?
262
+ is_eu_member: Country is an EU member?
263
+ iso_alpha_2: ISO 3166-1-alpha-2
264
+ iso_alpha_3: ISO 3166-1-alpha-3
265
+ name: Name
266
+ new_country: New country
267
+ tld: TLD
268
+ update_notice: Country has been updated successfully
269
+
270
+ delivery_service_prices:
271
+ all_countries: All Countries
272
+ back: Back to prices
273
+ back_to_delivery_services: Back to delivery services
274
+ code: Code
275
+ cost: Cost
276
+ cost_price: Cost price
277
+ countries: Countries
278
+ create_notice: Price has been created successfully
279
+ delivery_services: Delivery Services
280
+ destroy_notice: Price has been removed successfully
281
+ identification_weight: Identification & Weight
282
+ max_weight: Max weight
283
+ min_weight: Min weight
284
+ new_price: New price
285
+ no_tax: No tax
286
+ price: Price
287
+ pricing: Pricing
288
+ pricing_for: "Delivery Pricing for %{delivery_name}"
289
+ tax_rate: Tax rate
290
+ update_notice: Price has been updated successfully
291
+ weight_allowance: Weight Allowance
292
+
293
+ help:
294
+ countries: This delivery rate will only be available to orders where the country selected is listed here.
295
+
296
+ delivery_services:
297
+ active?: Active?
298
+ active: Active
299
+ active_info: Service will be available for use
300
+ back: Back to delivery services
301
+ code: Code
302
+ courier: Courier
303
+ courier_name: Courier name
304
+ create_notice: Delivery Service has been created successfully
305
+ default?: Default?
306
+ default: Default
307
+ default_info: Service will be used by default (if possible)
308
+ delivery_services: Delivery Services
309
+ destroy_notice: Delivery Service has been removed successfully
310
+ delete_confirmation: Are you sure you wish to remove this delivery service?
311
+ details: Details
312
+ name: Name
313
+ new: New delivery service
314
+ no_services: No delivery services to display.
315
+ prices: Prices
316
+ set_prices: Set Prices
317
+ tracking_url: Tracking URL
318
+ tracking_url_help_html: Use <code>{{consignment_number}}</code> to insert the consignment number.
319
+ update_notice: Delivery Service has been updated successfully
320
+
321
+ imports:
322
+ example_file: Example Format
323
+ file_upload: File for Import
324
+ required_formats: Must be csv, xls or xlsx.
325
+ errors:
326
+ no_file: No file chosen for import
327
+ unknown_format: "Unknown file format: %{filename}"
328
+
329
+ orders:
330
+ accept: Accept
331
+ accept_notice: Order has been accepted successfully
332
+ add_payment: Add payment
333
+ add_item: Add an item
334
+ address: Address
335
+ amount: Amount
336
+ back_to_order: Back to order
337
+ back_to_orders: Back to orders
338
+ billing_address: Billing Address
339
+ billing_delivery_address: Billing/Delivery Address
340
+ build_time: Build time
341
+ company: Company
342
+ consignment_number: Consignment Number
343
+ cost: Cost
344
+ country: Country
345
+ create_order: Create order
346
+ create_notice: Order has been created successfully
347
+ customer: Customer
348
+ delivery_address: Delivery address
349
+ delivery_name: Delivery name
350
+ edit_order: Edit order
351
+ email_address: E-Mail address
352
+ first_name: First name
353
+ from_payment: from payment
354
+ id: ID
355
+ 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.
356
+ invoice_number: Invoice number
357
+ insufficient_stock_order: "Insufficient stock to order %{out_of_stock_items}. Quantities have been updated to max total stock available."
358
+ item: Item
359
+ last_name: Last name
360
+ mark_as_shipped: Mark as shipped
361
+ method: Method
362
+ missing_delivery_service: No suitable delivery service available, order cannot be created without an associated delivery service.
363
+ name: Name
364
+ new_order: New order
365
+ no_delivery_required: No delivery required for this order.
366
+ no_orders: No orders to display.
367
+ no_payments: There are no payments recorded for this order...
368
+ notes: Notes
369
+ number: Number
370
+ order: Order
371
+ order_accepted: Order Accepted
372
+ order_balance: Order Balance
373
+ order_items: Order items
374
+ order_no_html: "Order <b>#%{order_number}</b>"
375
+ order_number: Order number
376
+ order_received: Order Received
377
+ order_rejected: Order Rejected
378
+ order_shipped: Order Shipped
379
+ ordered_products: Ordered products
380
+
381
+ orders: Orders
382
+ payment: Payment
383
+ payment_remove_confirmation: Are you sure you wish to remove this payment?
384
+ payments: Payments
385
+ phone_number: Phone number
386
+ post_code: Post code
387
+ price: Price
388
+ product: Product
389
+ products: Products
390
+ qty: Qty
391
+ quantity: Quantity
392
+ received_between: Received between
393
+ reference: Reference
394
+ refund: Refund
395
+ refunded?: Refunded?
396
+ reject: Reject
397
+ reject_notice: Order has been rejected successfully
398
+ save_order: Save order
399
+ search: Search
400
+ search_orders: Search orders
401
+ select_country: Select a country
402
+ customer: Customer
403
+ select_customer: Select a customer or leave blank
404
+ separate_delivery_address: Separate delivery address
405
+ ship_notice: Order has been shipped successfully
406
+ sku: SKU
407
+ sla_warning: Any changes to quantities will update the appropriate stock levels for the associated product.
408
+ status: Status
409
+ stock: Stock
410
+ sub_total: Sub-Total
411
+ tax: Tax
412
+ telephone: Telephone
413
+ total: Total
414
+ type: Type
415
+ unit_price: Unit price
416
+ update_notice: Order has been saved successfully
417
+ use_separate_delivery_address?: Use a separate delivery address?
418
+ weight: Weight
419
+
420
+ status_bar:
421
+ by_user: "by %{user}"
422
+ consignment_no_html: "Consignment #<b>%{consignment_number}</b>"
423
+ from_ip: "from %{ip}"
424
+ on_date: "on %{on}"
425
+ tracking_url: Tracking URL
426
+
427
+ despatch_note:
428
+ despatch_note: Despatch note
429
+ footer: Thank you for your order!
430
+ order_number: Order number
431
+ order_placed: Order placed
432
+ packed?: Packed?
433
+ product: Product
434
+ quantity: Quantity
435
+ sku: SKU
436
+ telephone: Telephone
437
+ total_weight: Total weight
438
+ weight: Weight
439
+
440
+ statuses:
441
+ accepted: Accepted
442
+ building: Building
443
+ confirming: Confirming
444
+ received: Received
445
+ rejected: Rejected
446
+ shipped: Shipped
447
+
448
+ product_category:
449
+ attachments: Attachments
450
+ back_to_categories: Back to categories list
451
+ category_details: Category Details
452
+ choose_product_category: Choose a product category
453
+ create_notice: Category has been created successfully
454
+ delete_confirmation: Are you sure you wish to remove this category?
455
+ description: Description
456
+ destroy_notice: Category has been removed successfully
457
+ destroy_alert: Category could not be removed
458
+ image: Image
459
+ name: Name
460
+ new_category: New category
461
+ no_categories: No categories to display.
462
+ permalink: Permalink
463
+ permalink_includes_ancestors: Prefix links in store with ancestor categories
464
+ product_categories: Product categories
465
+ update_notice: Category has been updated successfully
466
+ nesting:
467
+ blank_option: None
468
+ category_nesting: Nesting
469
+ category_parent: Parent
470
+ current_category: Current
471
+ no_children: No Children
472
+ hierarchy: Hierarchy
473
+
474
+ products:
475
+ add_attribute: Add attribute
476
+ attachments: Attachments
477
+ attributes: Attributes
478
+ back_to_products: Back to product list
479
+ cost_price: Cost price
480
+ create_notice: Product has been created successfully
481
+ datasheet: Datasheet
482
+ default_image: Default Image
483
+ description: Description
484
+ destroy_notice: Product has been removed successfully
485
+ edit: Edit
486
+ enable_stock_control?: Enable stock control for this product?
487
+ featured?: Featured?
488
+ featured_info: If checked, this product will appear on your homepage
489
+ import_products: Import products
490
+ in_the_box: "What's in the box?"
491
+ name: Name
492
+ new_product: New product
493
+ no_products: No products to display.
494
+ no_stock: No stock
495
+ no_tax: No tax
496
+ on_sale?: On sale?
497
+ on_sale_info: If checked, this product will be displayed within the public store
498
+ permalink: Permalink
499
+ price: Price
500
+ price_variants: Price/Variants
501
+ pricing: Pricing
502
+ product_category: Product category
503
+ product_information: Product Information
504
+ products: Products
505
+ public?: Public?
506
+ remove: Remove
507
+ searchable?: Searchable?
508
+ short_description: Short description
509
+ sku: SKU
510
+ stock: Stock
511
+ stock_control: Stock Control
512
+ stock_levels: Stock levels
513
+ tax_rate: Tax rate
514
+ value: Value
515
+ variants: Variants
516
+ update_notice: Product has been updated successfully
517
+ website_properties: Website Properties
518
+ weight: Weight
519
+
520
+ imports:
521
+ 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. You can leave permalink field empty if you don't want to add one and to be generated automatically.
522
+ success: Products imported successfully
523
+ examples:
524
+ first:
525
+ name: Plush Teddy Bear
526
+ sku: BEAR001
527
+ permalink: plush-teddy-bear
528
+ description: Fantastically plush. Very cuddly. Great for all ages.
529
+ short_description: Buy this for your kids.
530
+ weight: 1.2
531
+ price: 84.95
532
+ category_name: Teddy Bears
533
+ qty: 20
534
+ second:
535
+ name: Standard Teddy Bear
536
+ sku: BEAR002
537
+ permalink: ""
538
+ description: Made out of PVC. A little cuddly. Spill resistant.
539
+ short_description: Buy this for those with two left thumbs.
540
+ weight: 0.6
541
+ price: 24.95
542
+ category_name: Teddy Bears
543
+ qty: 100
544
+ third:
545
+ name: Stick Teddy Bear
546
+ sku: BEAR003
547
+ permalink: stick-teddy-bear
548
+ description: Made out of sticks. Not really cuddly. All natural. Fire hazard.
549
+ short_description: Buy this for that distant aunt who collects bears.
550
+ weight: 0.521
551
+ price: 1.95
552
+ category_name: Teddy Bears
553
+ qty: 50
554
+
555
+ refund:
556
+ 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>."
557
+ issue_refund: Issue Refund
558
+ refund: Refund
559
+
560
+ sessions:
561
+ admin_login: Admin Login
562
+ create_alert: The email address and/or password you have entered is invalid. Please check and try again.
563
+ back_to_login: Back to login
564
+ email: E-Mail Address
565
+ login: Login
566
+ password: Password
567
+ reset: Reset
568
+ reset_password: Reset your password
569
+ reset_password?: Reset your password?
570
+ reset_alert: No user was found matching the e-mail address
571
+ reset_notice: "An e-mail has been sent to %{email_address} with a new password"
572
+
573
+ shared:
574
+ back_to_kkt_shoppe: Back to KktShoppe
575
+ error: Error
576
+ error_occurred: An error has occurred
577
+
578
+ stock_level_adjustments:
579
+ add: Add
580
+ adjustment: Adjustment
581
+ back_to_product: Back to product list
582
+ create_notice: Adjustment has been added successfully
583
+ current_stock_level_html: "Current stock level is <b>%{item_stock}</b>"
584
+ date: Date
585
+ description: Description
586
+ edit_product: Edit product
587
+ invalid_item_type: "Invalid item_type (must be one of %{suitable_objects})"
588
+ stock_levels_for: "Stock Levels for %{item_name}"
589
+ stock_levels_title: "Stock Levels - %{item_name}"
590
+
591
+ tax_rates:
592
+ address_type_option: "Apply to orders where the %{address} address matches one of the countries below"
593
+ all_countries: All countries
594
+ back_to_tax_rates: Back to tax rates
595
+ billing: billing
596
+ country_restriction: Country Restriction
597
+ create_notice: Tax rate has been created successfully
598
+ delete_confirmation: Are you sure you wish to remove this tax rate?
599
+ delivery: delivery
600
+ destroy_notice: Tax rate has been removed successfully
601
+ name: Name
602
+ new_tax_rate: New tax rate
603
+ rate: Rate
604
+ rate_details: Rate Details
605
+ tax_rates: Tax Rates
606
+ update_notice: Tax rate has been updated successfully
607
+
608
+ users:
609
+ back_to_users: Back to users
610
+ create_notice: User has been created successfully
611
+ delete_confirmation: Are you sure you wish to remove this user?
612
+ demo_mode_error: You cannot make changes to users in demo mode. Sorry about that.
613
+ destroy_notice: User has been removed successfully
614
+ email: E-Mail Address
615
+ first_name: First name
616
+ last_name: Last name
617
+ login: Login
618
+ name: Name
619
+ new_user: New user
620
+ password: Password
621
+ password_confirmation: ...and again
622
+ self_remove_error: You cannot remove yourself
623
+ update_notice: User has been updated successfully
624
+ user_details: User Details
625
+ users: Users
626
+
627
+ variants:
628
+ back_to_variants: Back to variants
629
+ cost_price: Cost price
630
+ create_notice: Variant has been added successfully
631
+ default_variant?: Default variant?
632
+ default_variant_info: If checked, this variant will be the default
633
+ delete_confirmation: Are you sure you wish to remove this variant?
634
+ destroy_notice: Variant has been removed successfully
635
+ edit_product: Edit product
636
+ edit_variant: New variant
637
+ enable_stock_control?: Enable stock control for this product?
638
+ image: Image
639
+ name: Name
640
+ no_products: No products to display.
641
+ no_stock: No stock
642
+ no_tax: No tax
643
+ new_variant: New variant
644
+ on_sale?: On sale?
645
+ on_sale_info: If checked, this product will be displayed within the public store
646
+ permalink: Permalink
647
+ price: Price
648
+ pricing: Pricing
649
+ product_information: Product Information
650
+ save_variant: Save Variant
651
+ sku: SKU
652
+ stock: Stock
653
+ stock_control: Stock Control
654
+ tax_rate: Tax rate
655
+ update_notice: Variant has been updated successfully
656
+ variants: Variants
657
+ variants_of: "Variants of %{product}"
658
+ website_properties: Website Properties
659
+ weight: Weight
660
+
661
+ payments:
662
+ create_notice: Payment has been added successfully
663
+ destroy_notice: Payment has been removed successfully
664
+ refund_notice: Refund has been processed successfully.
665
+
666
+ localisations:
667
+ localisations: Localisations
668
+ back: Back
669
+ back_to_localisations: Back
670
+ localisations_of: Localisations of %{name}
671
+ product_information: Product Information
672
+ locales: Locales
673
+ choose_locale: Please choose a locale
674
+ save_localisation: Save Localisation
675
+ new_localisation: New Localisation
676
+ edit_localisation: Edit Localisation
677
+ localisation_created: Localisation created successfully
678
+ localisation_updated: Localisation updated successfully
679
+ localisation_destroyed: Localisation destroyed successfully
680
+ language: Language
681
+ no_localisations: No localisations to display.
682
+ delete_confirmation: Are you sure?
683
+
684
+ navigation:
685
+ admin_primary:
686
+ customers: Customers
687
+ orders: Orders
688
+ products: Products
689
+ product_categories: Product Categories
690
+ delivery_services: Delivery Services
691
+ tax_rates: Tax Rates
692
+ users: Users
693
+ countries: Countries
694
+ settings: Settings
695
+
696
+ settings:
697
+
698
+ settings: Settings
699
+ system_settings: System Settings
700
+ demo_mode_error: You cannot make changes to settings in demo mode. Sorry about that.
701
+ update_notice: Settings have been updated successfully.
702
+
703
+ types:
704
+ # Force certain settings to certain type
705
+ demo_mode: boolean
706
+
707
+ labels:
708
+ # Labels for fields go here
709
+ email_address: Store E-Mail Address
710
+ store_name: Store Name
711
+ currency_unit: Currency Unit
712
+ tax_name: Tax Name
713
+ demo_mode: Demo Mode
714
+
715
+ options:
716
+ # Options for boolean settings
717
+ demo_mode:
718
+ affirmative: Enabled
719
+ negative: Disabled
720
+
721
+ help:
722
+ # Help text for individual fields
723
+ 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.
724
+ demo_mode: If enabled, your KktShoppe 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.
725
+ email_address: The e-mail address to use when sending outbound messages. Must just be an e-mail address.
726
+ store_name: This is the name of your store which will be used through the KktShoppe admin interface as well as in the default outbound e-mail messages.
727
+ tax_name: The name for "Tax" which will be displayed in your admin interface. Commonly replaced with VAT in European countries.
728
+
729
+ save_settings: Save Settings
730
+ page_title: Settings
731
+
732
+ defaults:
733
+ currency_unit: $
734
+ demo_mode: false
735
+ email_address: sales@example.com
736
+ store_name: Widgets Inc.
737
+ tax_name: Tax
738
+
739
+ layouts:
740
+ kkt_shoppe:
741
+ application:
742
+ goto: Goto
743
+ logged_in_as: "Logged in as %{user_name}"
744
+ logout: Logout