mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Adding i18n keys on JS templates
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
.ofn-drop-down
|
||||
%span
|
||||
%i.icon-check
|
||||
Actions
|
||||
= t('admin.actions')
|
||||
%i{ 'ng-class' => "expanded && 'icon-caret-up' || !expanded && 'icon-caret-down'" }
|
||||
%div.menu{ 'ng-show' => "expanded" }
|
||||
%a.menu_item{ 'ng-repeat' => "link in links", href: '{{link.url}}', target: "{{link.target || '_self'}}", data: { method: "{{ link.method || 'get' }}", confirm: "{{link.confirm}}" } }
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
#tag-rule-help
|
||||
.margin-bottom-30.text-center
|
||||
.text-big Tag Rules
|
||||
.text-big
|
||||
= t('js.admin.modals.tag_rule_help.title')
|
||||
|
||||
.margin-bottom-30
|
||||
.text-normal Overview
|
||||
%p Tag rules provide a way to describe which items are visible or otherwise to which customers. Items can be Shipping Methods, Payment Methods, Products and Order Cycles.
|
||||
.text-normal= t('js.admin.modals.tag_rule_help.overview')
|
||||
%p= t('js.admin.modals.tag_rule_help.overview_text')
|
||||
|
||||
.margin-bottom-30
|
||||
.text-normal 'By Default...' Rules
|
||||
%p Default rules allow you to hide items so that they are not visible by default. This behaviour can then be overriden by non-default rules for customers with particular tags.
|
||||
.text-normal= t('js.admin.modals.tag_rule_help.by_default_rules')
|
||||
%p= t('js.admin.modals.tag_rule_help.by_default_rules_text')
|
||||
|
||||
.margin-bottom-30
|
||||
.text-normal 'Customers Tagged...' Rules
|
||||
%p By creating rules related to a specific customer tag, you can override the default behaviour (whether it be to show or to hide items) for customers with the specified tag.
|
||||
.text-normal= t('js.admin.modals.tag_rule_help.customer_tagged_rules')
|
||||
%p= t('js.admin.modals.tag_rule_help.customer_tagged_rules_text')
|
||||
|
||||
.text-center
|
||||
%input.button.red.icon-plus{ type: 'button', value: 'Got it', ng: { click: 'close()' } }
|
||||
%input.button.red.icon-plus{ type: 'button', value: t('js.admin.modals.got_it'), ng: { click: 'close()' } }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#new-tag-rule-dialog
|
||||
.text-normal.margin-bottom-30.text-center
|
||||
Select a rule type:
|
||||
= t('js.admin.new_tag_rule_dialog.select_rule_type')
|
||||
|
||||
.text-center.margin-bottom-30
|
||||
-# %select.fullwidth{ 'select2-min-search' => 5, 'ng-model' => 'newRuleType', 'ng-options' => 'ruleType.id as ruleType.name for ruleType in availableRuleTypes' }
|
||||
|
||||
@@ -2,130 +2,128 @@
|
||||
.alpha.eight.columns
|
||||
%div{ ng: { if: "!enterprise.is_primary_producer", switch: "enterprise.sells" } }
|
||||
.info{ ng: { switch: { when: "none" } } }
|
||||
%h3 Hub Profile
|
||||
%h3= t('js.admin.panels.enterprise_package.hub_profile')
|
||||
|
||||
%p
|
||||
%strong COST: ALWAYS FREE
|
||||
%strong= t('js.admin.panels.enterprise_package.hub_profile_cost')
|
||||
|
||||
%p People can find and contact you on the Open Food Network. Your enterprise will be visible on the map, and will be searchable in listings.
|
||||
%p= t('js.admin.panels.enterprise_package.hub_profile_text1')
|
||||
|
||||
%p Having a profile, and making connections within your local food system through the Open Food Network will always be free.
|
||||
%p= t('js.admin.panels.enterprise_package.hub_profile_text2')
|
||||
|
||||
.info{ ng: { switch: { when: "any" } } }
|
||||
%h3 Hub Shop
|
||||
%h3= t('js.admin.panels.enterprise_package.hub_shop')
|
||||
|
||||
%p
|
||||
%strong
|
||||
%monthly-pricing-description{ joiner: "comma" }
|
||||
|
||||
%p Your enterprise is the backbone of your local food system. You aggregate produce from other enterprises and can sell it through your shop on the Open Food Network.
|
||||
%p= t('js.admin.panels.enterprise_package.hub_shop_text1')
|
||||
|
||||
%p Hubs can take many forms, whether they be a food co-op, a buying group, a veggie-box program, or a local grocery store.
|
||||
%p= t('js.admin.panels.enterprise_package.hub_shop_text2')
|
||||
|
||||
%p If you also want to sell your own products, you will need to switch this enterprise to be a producer.
|
||||
%p= t('js.admin.panels.enterprise_package.hub_shop_text3')
|
||||
|
||||
.info{ ng: { switch: { default: true } } }
|
||||
%h3
|
||||
Please Choose a Package
|
||||
= t('js.admin.panels.enterprise_package.choose_package')
|
||||
%i.icon-arrow-right
|
||||
|
||||
%p
|
||||
%strong Your enterprise will not be fully activated until a package is selected from the options on the left.
|
||||
%strong= t('js.admin.panels.enterprise_package.choose_package_text1')
|
||||
|
||||
%p
|
||||
Click on an option to see more detailed information about each package, and hit the red SAVE button when you are done!
|
||||
|
||||
|
||||
= t('js.admin.panels.enterprise_package.choose_package_text2')
|
||||
|
||||
%div{ ng: { if: "enterprise.is_primary_producer", switch: "enterprise.sells" } }
|
||||
.info{ ng: { switch: { when: "none" } } }
|
||||
%h3 Profile Only
|
||||
%h3= t('js.admin.panels.enterprise_package.profile_only')
|
||||
|
||||
%p
|
||||
%strong COST: ALWAYS FREE
|
||||
%strong= t('js.admin.panels.enterprise_package.profile_only_cost')
|
||||
|
||||
%p A profile makes you visible and contactable to others and is a way to share your story.
|
||||
%p= t('js.admin.panels.enterprise_package.profile_only_text1')
|
||||
|
||||
%p If you prefer to focus on producing food, and want to leave the work of selling it to someone else, you won't require a shop on the Open Food Network.
|
||||
%p= t('js.admin.panels.enterprise_package.profile_only_text2')
|
||||
|
||||
%p Add your products to Open Food Network, allowing hubs to stock your products in their stores.
|
||||
%p= t('js.admin.panels.enterprise_package.profile_only_text3')
|
||||
|
||||
.info{ ng: { switch: { when: "own" } } }
|
||||
%h3 Producer Shop
|
||||
%h3= t('js.admin.panels.enterprise_package.producer_shop')
|
||||
|
||||
%p
|
||||
%strong
|
||||
%monthly-pricing-description{ joiner: "comma" }
|
||||
|
||||
%p Sell your products directly to customers through your very own Open Food Network shopfront.
|
||||
%p= t('js.admin.panels.enterprise_package.producer_shop_text1')
|
||||
|
||||
%p A Producer Shop is for your produce only, if you want to sell produce grown/produced off site, please select 'Producer Hub'.
|
||||
%p= t('js.admin.panels.enterprise_package.producer_shop_text2')
|
||||
|
||||
.info{ ng: { switch: { when: "any" } } }
|
||||
%h3 Producer Hub
|
||||
%h3= t('js.admin.panels.enterprise_package.producer_hub')
|
||||
|
||||
%p
|
||||
%strong
|
||||
%monthly-pricing-description{ joiner: "comma" }
|
||||
|
||||
%p Your enterprise is the backbone of your local food system. You can sell your own produce as well as produce aggregated from other enterprises through your shopfront on the Open Food Network.
|
||||
%p= t('js.admin.panels.enterprise_package.producer_hub_text1')
|
||||
|
||||
%p Producer Hubs can take many forms, whether they be a CSA, a veggie-box program, or a food co-op with a rooftop garden.
|
||||
%p= t('js.admin.panels.enterprise_package.producer_hub_text2')
|
||||
|
||||
%p The Open Food Network aims to support as many hub models as possible, so no matter your situation, we want to provide the tools you need to run your organisation or local food business.
|
||||
%p= t('js.admin.panels.enterprise_package.producer_hub_text3')
|
||||
|
||||
.info{ ng: { switch: { default: true } } }
|
||||
%h3
|
||||
Please Choose a Package
|
||||
= t('js.admin.panels.enterprise_package.choose_package')
|
||||
%i.icon-arrow-right
|
||||
|
||||
%p
|
||||
%strong Your producer enterprise will not be fully activated until a package is selected from the options on the left.
|
||||
%strong= t('js.admin.panels.enterprise_package.choose_package_text1')
|
||||
|
||||
%p
|
||||
Click on an option to see more detailed information about each package, and hit the red SAVE button when you are done!
|
||||
= t('js.admin.panels.enterprise_package.choose_package_text2')
|
||||
|
||||
.omega.eight.columns{ ng: { switch: "enterprise.is_primary_producer" } }
|
||||
%div{ ng: { switch: { when: "false" } } }
|
||||
%a.button.selector.hub-profile{ ng: { click: "enterprise.owned && (enterprise.sells='none')", class: "{selected: enterprise.sells=='none', disabled: !enterprise.owned}" } }
|
||||
.top
|
||||
%h3 Profile Only
|
||||
%p Get a listing
|
||||
.bottom ALWAYS FREE
|
||||
%h3= t('js.admin.panels.enterprise_package.profile_only')
|
||||
%p= t('js.admin.panels.enterprise_package.get_listing')
|
||||
.bottom= t('js.admin.panels.enterprise_package.always_free')
|
||||
%a.button.selector.hub{ ng: { click: "enterprise.owned && (enterprise.sells='any')", class: "{selected: enterprise.sells=='any', disabled: !enterprise.owned}" } }
|
||||
.top
|
||||
%h3 Hub Shop
|
||||
%p Sell produce from others
|
||||
%h3= t('js.admin.panels.enterprise_package.hub_shop')
|
||||
%p= t('js.admin.panels.enterprise_package.sell_produce_others')
|
||||
.bottom
|
||||
%monthly-pricing-description{ joiner: "newline" }
|
||||
|
||||
%div{ ng: { switch: { when: "true" } } }
|
||||
%a.button.selector.producer-profile{ ng: { click: "enterprise.owned && (enterprise.sells='none')", class: "{selected: enterprise.sells=='none', disabled: !enterprise.owned}" } }
|
||||
.top
|
||||
%h3 Profile Only
|
||||
%p Get a listing
|
||||
.bottom ALWAYS FREE
|
||||
%h3= t('js.admin.panels.enterprise_package.profile_only')
|
||||
%p= t('js.admin.panels.enterprise_package.get_listing')
|
||||
.bottom= t('js.admin.panels.enterprise_package.always_free')
|
||||
%a.button.selector.producer-shop{ ng: { click: "enterprise.owned && (enterprise.sells='own')", class: "{selected: enterprise.sells=='own', disabled: !enterprise.owned}" } }
|
||||
.top
|
||||
%h3 Producer Shop
|
||||
%p Sell your own produce
|
||||
%h3= t('js.admin.panels.enterprise_package.producer_shop')
|
||||
%p= t('js.admin.panels.enterprise_package.sell_own_produce')
|
||||
.bottom
|
||||
%monthly-pricing-description{ joiner: "newline" }
|
||||
|
||||
%a.button.selector.producer-hub{ ng: { click: "enterprise.owned && (enterprise.sells='any')", class: "{selected: enterprise.sells=='any', disabled: !enterprise.owned}" } }
|
||||
.top
|
||||
%h3 Producer Hub
|
||||
%p Sell produce from self and others
|
||||
%h3= t('js.admin.panels.enterprise_package.producer_hub')
|
||||
%p= t('js.admin.panels.enterprise_package.sell_both')
|
||||
.bottom
|
||||
%monthly-pricing-description{ joiner: "newline" }
|
||||
|
||||
%a.button.update.fullwidth{ ng: { show: "enterprise.owned", class: "{disabled: saved() && !saving, saving: saving}", click: "save()" } }
|
||||
%span{ ng: {hide: "saved() || saving" } }
|
||||
SAVE
|
||||
= t('js.admin.panels.save')
|
||||
%i.icon-save
|
||||
%span{ ng: {show: "saved() && !saving" } }
|
||||
SAVED
|
||||
= t('js.admin.panels.saved')
|
||||
%i.icon-ok-sign
|
||||
%span{ ng: {show: "saving" } }
|
||||
SAVING
|
||||
= t('js.admin.panels.saving')
|
||||
%i.icon-refresh
|
||||
|
||||
@@ -1,39 +1,37 @@
|
||||
.row.enterprise_producer_panel{ ng: { controller: 'indexProducerPanelCtrl' } }
|
||||
|
||||
.alpha.eight.columns
|
||||
.info{ ng: { show: "enterprise.is_primary_producer==true" } }
|
||||
%h3 Producer
|
||||
%p Producers make yummy things to eat &/or drink. You're a producer if you grow it, raise it, brew it, bake it, ferment it, milk it or mould it.
|
||||
|
||||
%p Producers can also perform other functions, such as aggregating food from other enterprises and selling it through a shop on the Open Food Network.
|
||||
%h3= t('js.admin.panels.enterprise_producer.producer')
|
||||
%p= t('js.admin.panels.enterprise_producer.producer_text1')
|
||||
|
||||
%p= t('js.admin.panels.enterprise_producer.producer_text2')
|
||||
|
||||
.info{ ng: { show: "enterprise.is_primary_producer==false" } }
|
||||
%h3 Non-Producer
|
||||
%p Non-producers do not produce any food themselves, meaning that they cannot create their own products for sale through the Open Food Network.
|
||||
%h3= t('js.admin.panels.enterprise_producer.non_producer')
|
||||
%p= t('js.admin.panels.enterprise_producer.non_producer_text1')
|
||||
|
||||
%p Instead, non-producers specialise in linking producers to the end eater, whether it be by aggregating, grading, packing, selling or delivering food.
|
||||
%p= t('js.admin.panels.enterprise_producer.non_producer_text2')
|
||||
|
||||
.omega.eight.columns
|
||||
%a.button.selector.producer{ ng: { click: 'enterprise.owned && changeToProducer()', class: "{selected: enterprise.is_primary_producer==true, disabled: !enterprise.owned}" } }
|
||||
.top
|
||||
%h3 PRODUCER
|
||||
%p Producers of food
|
||||
.bottom eg. GROWERS, BAKERS, BREWERS, MAKERS
|
||||
%h3= t('js.admin.panels.enterprise_producer.producer')
|
||||
%p= t('js.admin.panels.enterprise_producer.producer_desc')
|
||||
.bottom= t('js.admin.panels.enterprise_producer.producer_example')
|
||||
|
||||
%a.button.selector.non-producer{ ng: { click: 'enterprise.owned && changeToNonProducer()', class: "{selected: enterprise.is_primary_producer==false, disabled: !enterprise.owned}" } }
|
||||
.top
|
||||
%h3 Non-Producer
|
||||
%p All other food enterprises
|
||||
.bottom eg. Grocery stores, Food co-ops, Buying groups
|
||||
%h3= t('js.admin.panels.enterprise_producer.non_producer')
|
||||
%p= t('js.admin.panels.enterprise_producer.non_producer_desc')
|
||||
.bottom= t('js.admin.panels.enterprise_producer.non_producer_example')
|
||||
|
||||
%a.button.update.fullwidth{ ng: { show: "enterprise.owned", class: "{disabled: saved() && !saving, saving: saving}", click: "save()" } }
|
||||
%span{ ng: {hide: "saved() || saving" } }
|
||||
SAVE
|
||||
= t('js.admin.panels.save')
|
||||
%i.icon-save
|
||||
%span{ ng: {show: "saved() && !saving" } }
|
||||
SAVED
|
||||
= t('js.admin.panels.saved')
|
||||
%i.icon-ok-sign
|
||||
%span{ ng: {show: "saving" } }
|
||||
SAVING
|
||||
= t('js.admin.panels.saving')
|
||||
%i.icon-refresh
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
.row.enterprise_status_panel{ ng: { controller: 'indexStatusPanelCtrl' } }
|
||||
.alpha.omega.sixteen.columns
|
||||
|
||||
%h4.status-ok.text-center{ ng: { show: "issues.length == 0 && warnings.length == 0" } }
|
||||
%i.icon-ok-sign
|
||||
{{ object.name }} is set up and ready to go!
|
||||
= t('js.admin.panels.enterprise_status.status_title', name: '{{ object.name }}')
|
||||
|
||||
%table{ ng: { show: "issues.length > 0 || warnings.length > 0" } }
|
||||
%thead
|
||||
%th.severity
|
||||
Severity
|
||||
= t('js.admin.panels.enterprise_status.severity')
|
||||
%th.description
|
||||
Description
|
||||
= t('js.admin.panels.enterprise_status.description')
|
||||
%th.resolve
|
||||
Resolve
|
||||
= t('js.admin.panels.enterprise_status.resolve')
|
||||
%tr{ ng: { repeat: "issue in issues"} }
|
||||
%td.severity
|
||||
%i.icon-warning-sign.issue
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%div{ ng: { show: "data.length > limit" } }
|
||||
%input{ type: 'button', value: 'Show More', ng: { click: 'limit = limit + increment' } }
|
||||
%input{ type: 'button', value: t(:show_more), ng: { click: 'limit = limit + increment' } }
|
||||
or
|
||||
%input{ type: 'button', value: "Show All ({{ data.length - limit }} More)", ng: { click: 'limit = data.length' } }
|
||||
%input{ type: 'button', value: t(:show_more_with_more, num: '{{ data.length - limit }}'), ng: { click: 'limit = data.length' } }
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
{{$getDisplayText()}}
|
||||
%span.tag-with-rules{ ng: { if: "data.rules == 1" } }
|
||||
—
|
||||
= t 'admin.has_one_rule'
|
||||
= t('admin.has_one_rule')
|
||||
%span.tag-with-rules{ ng: { if: "data.rules > 1" } }
|
||||
—
|
||||
= t 'admin.has_n_rules', { num: '{{data.rules}}' }
|
||||
= t('admin.has_n_rules', { num: '{{data.rules}}' })
|
||||
%span{ ng: { if: "!data.rules" } }
|
||||
{{$getDisplayText()}}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
%a.close-reveal-modal{"ng-click" => "$close()"}
|
||||
%i.ofn-i_009-close
|
||||
|
||||
%h3 Reduced stock available
|
||||
%h3= t('js.out_of_stock.reduced_stock_available')
|
||||
|
||||
%p While you've been shopping, the stock levels for one or more of the products in your cart have reduced. Here's what's changed:
|
||||
%p= t('js.out_of_stock.out_of_stock_text')
|
||||
|
||||
%p{'ng-repeat' => "v in variants"}
|
||||
%em {{ v.name_to_display }} - {{ v.unit_to_display }}
|
||||
%span{'ng-if' => "v.count_on_hand == 0"}
|
||||
is now out of stock.
|
||||
= t('js.out_of_stock.now_out_of_stock')
|
||||
%span{'ng-if' => "v.count_on_hand > 0"}
|
||||
now only has {{ v.count_on_hand }} remaining.
|
||||
= t('js.out_of_stock.only_n_remainging', num: '{{ v.count_on_hand }}')
|
||||
|
||||
@@ -10,10 +10,9 @@
|
||||
.row{ 'ng-if' => '!loaded' }
|
||||
.sixteen.columns.alpha#loading
|
||||
%img.spinner{ src: "/assets/spinning-circles.svg" }
|
||||
%h1 LOADING ENTERPRISES
|
||||
%h1= t('.loading_enterprises')
|
||||
.row{ :class => "sixteen columns alpha", 'ng-show' => 'loaded && filteredEnterprises.length == 0'}
|
||||
%h1#no_results No enterprises found.
|
||||
|
||||
%h1#no_results= t('.no_enterprises_found')
|
||||
|
||||
.row{ ng: { show: "loaded && filteredEnterprises.length > 0" } }
|
||||
%table.index#enterprises
|
||||
|
||||
@@ -3,26 +3,26 @@
|
||||
%div.visible{"ng-if" => "!Checkout.ship_address_same_as_billing"}
|
||||
.row
|
||||
.small-6.columns
|
||||
= validated_input "First Name", "order.ship_address.firstname", "ofn-focus" => "accordion['shipping']"
|
||||
= validated_input t(:first_name), "order.ship_address.firstname", "ofn-focus" => "accordion['shipping']"
|
||||
.small-6.columns
|
||||
= validated_input "Last Name", "order.ship_address.lastname"
|
||||
= validated_input t(:last_name), "order.ship_address.lastname"
|
||||
.row
|
||||
.small-12.columns
|
||||
= validated_input "Address", "order.ship_address.address1"
|
||||
= validated_input t(:address), "order.ship_address.address1"
|
||||
.row
|
||||
.small-12.columns
|
||||
= validated_input "Address (contd.)", "order.ship_address.address2", required: false
|
||||
= validated_input t(:address2), "order.ship_address.address2", required: false
|
||||
.row
|
||||
.small-6.columns
|
||||
= validated_input "City", "order.ship_address.city"
|
||||
= validated_input t(:city), "order.ship_address.city"
|
||||
.small-6.columns
|
||||
= validated_select "State", "order.ship_address.state_id", checkout_state_options(:shipping)
|
||||
= validated_select t(:state), "order.ship_address.state_id", checkout_state_options(:shipping)
|
||||
.row
|
||||
.small-6.columns
|
||||
= validated_input "Postcode", "order.ship_address.zipcode"
|
||||
= validated_input t(:postcode), "order.ship_address.zipcode"
|
||||
.small-6.columns.right
|
||||
= validated_select "Country", "order.ship_address.country_id", checkout_country_options
|
||||
= validated_select t(:country), "order.ship_address.country_id", checkout_country_options
|
||||
|
||||
.row
|
||||
.small-6.columns
|
||||
= validated_input "Phone", "order.ship_address.phone"
|
||||
= validated_input t(:phone), "order.ship_address.phone"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
= wicked_pdf_stylesheet_link_tag "mail/all"
|
||||
|
||||
|
||||
%table{:width => "100%"}
|
||||
%tbody
|
||||
%tr{ valign: "top" }
|
||||
@@ -9,7 +8,7 @@
|
||||
%tr{ valign: "top" }
|
||||
%td{ :align => "left" }
|
||||
%h4
|
||||
= "TAX INVOICE: "
|
||||
= t('.tax_invoice')
|
||||
= "#{@order.number}"
|
||||
%td{width: "10%" }
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
- content_for :page_title do
|
||||
= "Bulk Edit Products"
|
||||
= t('.title')
|
||||
|
||||
- content_for :page_actions do
|
||||
%div{ :class => "toolbar", 'data-hook' => "toolbar" }
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
|
||||
%div.sixteen.columns.alpha#loading{ 'ng-if' => 'loading' }
|
||||
%img.spinner{ src: "/assets/spinning-circles.svg" }
|
||||
%h1 LOADING PRODUCTS
|
||||
%h1= t('.title')
|
||||
|
||||
%div.sixteen.columns.alpha{ 'ng-show' => '!loading && filteredProducts.length == 0 && query.length==0' }
|
||||
%h1#no_results No products yet. Why don't you add some?
|
||||
%h1#no_results= t('.no_products')
|
||||
|
||||
%div.sixteen.columns.alpha{ 'ng-show' => '!loading && filteredProducts.length == 0 && query.length!=0' }
|
||||
%h1#no_results
|
||||
Sorry, no results match
|
||||
%h1#no_results
|
||||
= t('.no_results')
|
||||
'
|
||||
{{query}}
|
||||
'
|
||||
@@ -9,11 +9,10 @@
|
||||
</figure>
|
||||
|
||||
<div class='variant-details'>
|
||||
|
||||
<h6 class="variant-name">{{variant.name}}</h6>
|
||||
|
||||
<ul>
|
||||
<li><strong>Producer:</strong> {{variant.producer_name}}</li>
|
||||
<li><strong><%= t('.producer_name') %>:</strong> {{variant.producer_name}}</li>
|
||||
</ul>
|
||||
<ul class='variant-data'>
|
||||
<li class='variant-sku'><strong>{{t 'sku'}}:</strong> {{variant.sku}}</li>
|
||||
@@ -27,7 +26,6 @@
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
%tr
|
||||
%td
|
||||
%h3
|
||||
Hi #{@order.bill_address.firstname},
|
||||
= t('.hi', name: @order.bill_address.firstname)
|
||||
%h4
|
||||
Please find attached an invoice for your recent order from
|
||||
= t('.invoice_attached_text')
|
||||
%strong= "#{@order.distributor.name}"
|
||||
|
||||
= render 'signoff'
|
||||
|
||||
@@ -76,6 +76,7 @@ en:
|
||||
loading: Loading...
|
||||
show_more: Show more
|
||||
show_all: Show all
|
||||
show_all_with_more: "Show All (%{num} More)"
|
||||
cancel: Cancel
|
||||
|
||||
admin:
|
||||
@@ -438,6 +439,8 @@ en:
|
||||
choose_option: Please choose one of the options above.
|
||||
change_now: Change now
|
||||
enterprise_user_index:
|
||||
loading_enterprises: LOADING ENTERPRISES
|
||||
no_enterprises_found: No enterprises found.
|
||||
search_placeholder: Search By Name
|
||||
manage: Manage
|
||||
new_form:
|
||||
@@ -1371,7 +1374,137 @@ Please follow the instructions there to make your enterprise visible on the Open
|
||||
validation_msg_tax_category_cant_be_blank: "^Tax Category can't be blank"
|
||||
validation_msg_is_associated_with_an_exising_customer: "is associated with an existing customer"
|
||||
|
||||
js:
|
||||
admin:
|
||||
modals:
|
||||
got_it: Got it
|
||||
tag_rule_help:
|
||||
title: Tag Rules
|
||||
overview: Overview
|
||||
overview_text: >
|
||||
Tag rules provide a way to describe which items are visible or otherwise
|
||||
to which customers. Items can be Shipping Methods, Payment Methods,
|
||||
Products and Order Cycles.
|
||||
by_default_rules: "'By Default...' Rules"
|
||||
by_default_rules_text: >
|
||||
Default rules allow you to hide items so that they are not visible by default.
|
||||
This behaviour can then be overriden by non-default rules for customers with
|
||||
particular tags.
|
||||
customer_tagged_rules: "'Customers Tagged...' Rules"
|
||||
customer_tagged_rules_text: >
|
||||
By creating rules related to a specific customer tag, you can override the default
|
||||
behaviour (whether it be to show or to hide items) for customers with the specified tag.
|
||||
panels:
|
||||
save: SAVE
|
||||
saved: SAVED
|
||||
saving: SAVING
|
||||
enterprise_package:
|
||||
hub_profile: Hub Profile
|
||||
hub_profile_cost: "COST: ALWAYS FREE"
|
||||
hub_profile_text1: >
|
||||
People can find and contact you on the Open Food Network. Your enterprise will be
|
||||
visible on the map, and will be searchable in listings.
|
||||
hub_profile_text2: >
|
||||
Having a profile, and making connections within your local food system through
|
||||
the Open Food Network will always be free.
|
||||
hub_shop: Hub Shop
|
||||
hub_shop_text1: >
|
||||
Your enterprise is the backbone of your local food system. You aggregate produce
|
||||
from other enterprises and can sell it through your shop on the Open Food Network.
|
||||
hub_shop_text2: >
|
||||
Hubs can take many forms, whether they be a food co-op, a buying group, a veggie-box
|
||||
program, or a local grocery store.
|
||||
hub_shop_text3: >
|
||||
If you also want to sell your own products, you will need to switch this enterprise
|
||||
to be a producer.
|
||||
choose_package: Please Choose a Package
|
||||
choose_package_text1: >
|
||||
Your enterprise will not be fully activated until a package is selected from the
|
||||
options on the left.
|
||||
choose_package_text2: >
|
||||
Click on an option to see more detailed information about each package, and hit
|
||||
the red SAVE button when you are done!
|
||||
profile_only: Profile Only
|
||||
profile_only_cost: "COST: ALWAYS FREE"
|
||||
profile_only_text1: >
|
||||
A profile makes you visible and contactable to others and is a way to share your story.
|
||||
profile_only_text2: >
|
||||
If you prefer to focus on producing food, and want to leave the work of selling it
|
||||
to someone else, you won't require a shop on the Open Food Network.
|
||||
profile_only_text3: >
|
||||
Add your products to Open Food Network, allowing hubs to stock your products in
|
||||
their stores.
|
||||
producer_shop: Producer Shop
|
||||
producer_shop_text1: >
|
||||
Sell your products directly to customers through your very own Open Food Network
|
||||
shopfront.
|
||||
producer_shop_text2: >
|
||||
A Producer Shop is for your produce only, if you want to sell produce grown/produced
|
||||
off site, please select 'Producer Hub'.
|
||||
producer_hub: Producer Hub
|
||||
producer_hub_text1: >
|
||||
Your enterprise is the backbone of your local food system. You can sell your own
|
||||
produce as well as produce aggregated from other enterprises through your shopfront
|
||||
on the Open Food Network.
|
||||
producer_hub_text2: >
|
||||
Producer Hubs can take many forms, whether they be a CSA, a veggie-box program,
|
||||
or a food co-op with a rooftop garden.
|
||||
producer_hub_text3: >
|
||||
The Open Food Network aims to support as many hub models as possible, so no matter
|
||||
your situation, we want to provide the tools you need to run your organisation or
|
||||
local food business.
|
||||
get_listing: Get a listing
|
||||
always_free: ALWAYS FREE
|
||||
sell_produce_others: Sell produce from others
|
||||
sell_own_produce: Sell your own produce
|
||||
sell_both: Sell produce from self and others
|
||||
enterprise_producer:
|
||||
producer: Producer
|
||||
producer_text1: >
|
||||
Producers make yummy things to eat or drink. You're a producer if you grow it,
|
||||
raise it, brew it, bake it, ferment it, milk it or mould it.
|
||||
producer_text2: >
|
||||
Producers can also perform other functions, such as aggregating food from other
|
||||
enterprises and selling it through a shop on the Open Food Network.
|
||||
non_producer: Non-producer
|
||||
non_producer_text1: >
|
||||
Non-producers do not produce any food themselves, meaning that they cannot create
|
||||
their own products for sale through the Open Food Network.
|
||||
non_producer_text2: >
|
||||
Instead, non-producers specialise in linking producers to the end eater, whether it
|
||||
be by aggregating, grading, packing, selling or delivering food.
|
||||
producer_desc: Producers of food
|
||||
producer_example: eg. GROWERS, BAKERS, BREWERS, MAKERS
|
||||
non_producer_desc: All other food enterprises
|
||||
non_producer_example: eg. Grocery stores, Food co-ops, Buying groups
|
||||
enterprise_status:
|
||||
status_title: "%{name} is set up and ready to go!"
|
||||
severity: Severity
|
||||
description: Description
|
||||
resolve: Resolve
|
||||
new_tag_rule_dialog:
|
||||
select_rule_type: "Select a rule type:"
|
||||
out_of_stock:
|
||||
reduced_stock_available: Reduced stock available
|
||||
out_of_stock_text: >
|
||||
While you've been shopping, the stock levels for one or more of the products
|
||||
in your cart have reduced. Here's what's changed:
|
||||
now_out_of_stock: is now out of stock.
|
||||
only_n_remainging: "now only has %{num} remaining."
|
||||
|
||||
spree:
|
||||
admin:
|
||||
products:
|
||||
bulk_edit:
|
||||
header:
|
||||
title: Bulk Edit Products
|
||||
indicators:
|
||||
title: LOADING PRODUCTS
|
||||
no_products: "No products yet. Why don't you add some?"
|
||||
no_results: "Sorry, no results match"
|
||||
variants:
|
||||
autocomplete:
|
||||
producer_name: Producer
|
||||
date_picker:
|
||||
format: ! '%Y-%m-%d'
|
||||
js_format: 'yy-mm-dd'
|
||||
@@ -1393,6 +1526,10 @@ Please follow the instructions there to make your enterprise visible on the Open
|
||||
processing: processing
|
||||
void: void
|
||||
invalid: invalid
|
||||
order_mailer:
|
||||
invoice_email:
|
||||
hi: "Hi %{name}"
|
||||
invoice_attached_text: Please find attached an invoice for your recent order from
|
||||
order_state:
|
||||
address: address
|
||||
adjustments: adjustments
|
||||
@@ -1406,3 +1543,6 @@ Please follow the instructions there to make your enterprise visible on the Open
|
||||
resumed: resumed
|
||||
returned: returned
|
||||
skrill: skrill
|
||||
orders:
|
||||
invoice:
|
||||
tax_invoice: "TAX INVOICE: "
|
||||
|
||||
Reference in New Issue
Block a user