diff --git a/app/views/spree/shared/_products_by_distribution.html.haml b/app/views/spree/shared/_products_by_distribution.html.haml
index 2bc3088adb..39a50f80ac 100644
--- a/app/views/spree/shared/_products_by_distribution.html.haml
+++ b/app/views/spree/shared/_products_by_distribution.html.haml
@@ -6,10 +6,11 @@
- else
#products-local
%h2
- Products
- = "in #{current_order_cycle.name}" if current_order_cycle
- = "at #{current_distributor.name}" if current_distributor
+ = t :products
+ = t :products_in, oc: current_order_cycle.name if current_order_cycle
+ = t :products_at, distributor: current_distributor.name if current_distributor
= render 'spree/shared/products', :products => @products_local, :taxon => @taxon
#products-remote
- %h2 Products found elsewhere
+ %h2
+ = t :products_elsewhere
= render 'spree/shared/products', :products => @products_remote, :taxon => @taxon
diff --git a/app/views/spree/user_mailer/signup_confirmation.html.haml b/app/views/spree/user_mailer/signup_confirmation.html.haml
index c85b377fa4..e45b99a000 100644
--- a/app/views/spree/user_mailer/signup_confirmation.html.haml
+++ b/app/views/spree/user_mailer/signup_confirmation.html.haml
@@ -1,34 +1,27 @@
%h3
- Hello!
+ = t :email_signup_greeting
%p.lead
- = "Welcome to #{ Spree::Config[:site_name] }!"
+ = t :email_signup_welcome, sitename: Spree::Config[:site_name]
/ Heading Panel
%p
%p.callout
%strong
- Your login
+ = t :email_signup_login
%p
- Your login email is
+ = t :email_signup_email
%strong
= @user.email
%p
- You can start shopping online now at
- %a{:href => "#{ spree.root_url }", :target => "_blank"}
- -# Remove http:// and trailing slashes from root url if they exist
- = spree.root_url.sub(/http:\/\//,"").sub(/\/$/,"")
+ -# Remove http:// and trailing slashes from root url if they exist
+ = t :email_signup_shop_html, link: link_to(spree.root_url.sub(/http:\/\//,"").sub(/\/$/,""), spree.root_url, target: '_blank')
%p
%hr/
%p
%p.lead
- Thanks for joining the network.
- If you are a customer, we look forward to introducing you to many fantastic farmers, wonderful food hubs and delicious food!
- If you are a producer or food enterprise, we are excited to have you as a part of the network.
+ = t :email_signup_text
%p
- We welcome all your questions and feedback; you can use the
- %em
- Send Feedback
- button on the site or email us at
+ = t :email_signup_help_html
%a{:href => "mailto:hello@openfoodnetwork.org", :target => "_blank"}
hello@openfoodnetwork.org
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 67131b6489..228bd1736d 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -33,6 +33,9 @@ Openfoodnetwork::Application.configure do
# ActionMailer::Base.deliveries array.
config.action_mailer.delivery_method = :test
+ # Tests assume English text on the site.
+ config.i18n.default_locale = "en"
+
# Use SQL instead of Active Record's schema dumper when creating the test database.
# This is necessary if your schema can't be completely dumped by the schema dumper,
# like if you have constraints or database-specific column types
diff --git a/config/locales/en.yml b/config/locales/en.yml
index e6ede20009..ebbb52935f 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -14,6 +14,7 @@ en:
confirmation_sent: "Confirmation email sent!"
confirmation_not_sent: "Could not send a confirmation email."
home: "OFN"
+ title: Open Food Network
welcome_to: 'Welcome to '
search_by_name: Search by name or suburb...
producers: Aussie Producers
@@ -38,3 +39,595 @@ en:
footer_about_url: "About URL"
footer_tos_url: "Terms of Service URL"
invoice: "Invoice"
+
+ name: Name
+ first_name: First Name
+ last_name: Last Name
+ email: Email
+ phone: Phone
+ next: Next
+ address: Address
+ address2: Address (contd.)
+ city: City
+ state: State
+ postcode: Postcode
+ country: Country
+ unauthorized: Unauthorized
+ terms_of_service: "Terms of service"
+ on_demand: On demand
+ none: None
+
+ alert_selling_on_ofn: "Interested in selling food on the Open Food Network?"
+ alert_start_here: "Start here"
+ label_shops: "Shops"
+ label_map: "Map"
+ label_producers: "Producers"
+ label_groups: "Groups"
+ label_about: "About"
+ label_shopping: "Shopping"
+ label_login: "Login"
+ label_logout: "Logout"
+ label_signup: "Sign up"
+ label_administration: "Administration"
+ label_admin: "Admin"
+ label_account: "Account"
+ label_more: "More"
+ label_less: "Show less"
+
+ items: "items"
+ cart_headline: "Your shopping cart"
+ total: "Total"
+ checkout: "Checkout now"
+ cart_updating: "Updating cart..."
+ cart_empty: "Cart empty"
+ cart_edit: "Edit your cart"
+
+ card_number: Card Number
+ card_securitycode: "Security Code"
+ card_expiry_date: Expiry Date
+
+ ofn_cart_headline: "Current cart for:"
+ ofn_cart_distributor: "Distributor:"
+ ofn_cart_oc: "Order cycle:"
+ ofn_cart_from: "From:"
+ ofn_cart_to: "To:"
+ ofn_cart_product: "Product:"
+ ofn_cart_quantitiy: "Quantity:"
+ ofn_cart_send: "Buy me"
+
+ ie_warning_headline: "Your browser is out of date :-("
+ ie_warning_text: "For the best Open Food Network experience, we strongly recommend upgrading your browser:"
+ ie_warning_chrome: Download Chrome
+ ie_warning_firefox: Download Firefox
+ ie_warning_ie: Upgrade Internet Explorer
+ ie_warning_other: "Can't upgrade your browser? Try Open Food Network on your smartphone :-)"
+
+ footer_global_headline: "OFN Global"
+ footer_global_home: "Home"
+ footer_global_news: "News"
+ footer_global_about: "About"
+ footer_global_contact: "Contact"
+
+ footer_sites_headline: "OFN Sites"
+ footer_sites_developer: "Developer"
+ footer_sites_community: "Community"
+ footer_sites_userguide: "User Guide"
+
+ footer_secure: "Secure and trusted."
+ footer_secure_text: "Open Food Network uses SSL encryption (2048 bit RSA) everywhere to keep your shopping and payment information private. Our servers do not store your credit card details and payments are processed by PCI-compliant services."
+
+ footer_contact_headline: "Keep in touch"
+ footer_contact_email: "Email us"
+
+ footer_nav_headline: "Navigate"
+ footer_join_headline: "Join us"
+ footer_join_producers: "Producers sign-up"
+ footer_join_hubs: "Hubs sign-up"
+ footer_join_groups: "Groups sign-up"
+ footer_join_partners: "Food systems partners"
+
+ footer_legal_call: "Read our"
+ footer_legal_tos: "Terms & conditions"
+ footer_legal_visit: "Find us on"
+ footer_legal_text: "Open Food Network is a free and open source software platform. Our content is licensed with"
+ footer_legal_text2: "and our code with"
+ footer_legal_license_content: "CC BY-SA 3.0"
+ footer_legal_license_code: "AGPL 3"
+
+ home_shop: Shop Now
+
+ brandstory_headline: "Food, unincorporated."
+ brandstory_intro: "Sometimes the best way to fix the system is to start a new one…"
+ brandstory_part1: "We begin from the ground up. With farmers and growers ready to tell their stories proudly and truly. With distributors ready to connect people with products fairly and honestly. With buyers who believe that better weekly shopping decisions can seriously change the world."
+ brandstory_part2: "Then we need a way to make it real. A way to empower everyone who grows, sells and buys food. A way to tell all the stories, to handle all the logistics. A way to turn transaction into transformation every day."
+ brandstory_part3: "So we build an online marketplace that levels the playing field. It’s transparent, so it creates real relationships. It’s open source, so it’s owned by everyone. It scales to regions and nations, so people start versions across the world."
+ brandstory_part4: "It works everywhere. It changes everything."
+ brandstory_part5_strong: "We call it Open Food Network."
+ brandstory_part6: "We all love food. Now we can love our food system too."
+
+ system_headline: "Here's how it works."
+ system_step1: "1. Search"
+ system_step1_text: "Search our diverse, independent shops for seasonal local food. Search by neighbourhood and food category, or whether you prefer delivery or pickup."
+ system_step2: "2. Shop"
+ system_step2_text: "Transform your transactions with affordable local food from diverse producers and hubs. Know the stories behind your food and the people who make it!"
+ system_step3: "3. Pick-up / Delivery"
+ system_step3_text: "Hang on for your delivery, or visit your producer or hub for a more personal connection with your food. Food shopping as diverse as nature intended it."
+
+ cta_headline: "Shopping that makes the world a better place."
+ cta_label: "I'm Ready"
+
+ stats_headline: "We're creating a new food system."
+ stats_producers: "food producers"
+ stats_shops: "food shops"
+ stats_shoppers: "food shoppers"
+ stats_orders: "food orders"
+
+ checkout_title: Checkout
+ checkout_now: Checkout now
+ checkout_order_ready: Order ready for
+ checkout_hide: Hide
+ checkout_expand: Expand
+ checkout_headline: "Ok, ready to checkout?"
+ checkout_as_guest: "Checkout as guest"
+ checkout_details: "Your details"
+ checkout_billing: "Billing info"
+ checkout_shipping: Shipping info
+ checkout_method_free: Free
+ checkout_address_same: Shipping address same as billing address?
+ checkout_ready_for: "Ready for:"
+ checkout_instructions: "Any comments or special instructions?"
+ checkout_payment: Payment
+ checkout_send: Place order now
+ checkout_your_order: Your order
+ checkout_cart_total: Cart total
+ checkout_shipping_price: Shipping
+ checkout_total_price: Total
+ checkout_back_to_cart: "Back to Cart"
+
+ order_paid: PAID
+ order_not_paid: NOT PAID
+ order_total: Total order
+ order_payment: "Paying via:"
+ order_billing_address: Billing address
+ order_delivery_on: Delivery on
+ order_delivery_address: Delivery address
+ order_special_instructions: "Your notes:"
+ order_pickup_instructions: Collection Instructions
+ order_produce: Produce
+ order_total_price: Total
+ order_includes_tax: (includes tax)
+ order_payment_paypal_successful: Your payment via PayPal has been processed successfully.
+ order_hub_info: Hub Info
+
+ products: "Products"
+ products_in: "in %{oc}"
+ products_at: "at %{distributor}"
+ products_elsewhere: "Products found elsewhere"
+
+ email_welcome: "Welcome"
+ email_confirmed: "Thank you for confirming your email address."
+ email_registered: "is now part of"
+ email_userguide_html: "The User Guide with detailed support for setting up your Producer or Hub is here:
+%{link}"
+ email_admin_html: "You can manage your account by logging into the %{link} or by clicking on the cog in the top right hand side of the homepage, and selecting Administration."
+ email_community_html: "We also have an online forum for community discussion related to OFN software and the unique challenges of running a food enterprise. You are encouraged to join in. We are constantly evolving and your input into this forum will shape what happens next.
+%{link}"
+ email_help: "If you have any difficulties, check out our FAQs, browse the forum or post a 'Support' topic and someone will help you out!"
+ email_confirmation_greeting: "Hi, %{contact}!"
+ email_confirmation_profile_created: "A profile for %{name} has been successfully created!
+To activate your Profile we need to confirm this email address."
+ email_confirmation_click_link: "Please click the link below to confirm your email and to continue setting up your profile."
+ email_confirmation_link_label: "Confirm this email address »"
+ email_confirmation_help: "After confirming your email you can access your administration account for this enterprise.
+See the %{link} to find out more about %{sitename}'s features and to start using your profile or online store."
+ email_confirmation_userguide: "User Guide"
+ email_social: "Connect with Us:"
+ email_contact: "Email us:"
+ email_signoff: "Cheers,"
+ email_signature: "%{sitename} Team"
+
+ email_confirm_customer_greeting: "Hi %{name},"
+ email_confirm_customer_intro_html: "Thanks for shopping at %{distributor}!"
+ email_confirm_customer_number_html: "Order confirmation #%{number}"
+ email_confirm_customer_details_html: "Here are your order details from %{distributor}:"
+ email_confirm_customer_signoff: "Kind regards,"
+ email_confirm_shop_greeting: "Hi %{name},"
+ email_confirm_shop_order_html: "Well done! You have a new order for %{distributor}!"
+ email_confirm_shop_number_html: "Order confirmation #%{number}"
+ email_order_summary_item: "Item"
+ email_order_summary_quantity: "Qty"
+ email_order_summary_price: "Price"
+ email_order_summary_subtotal: "Subtotal:"
+ email_order_summary_total: "Total:"
+ email_payment_paid: PAID
+ email_payment_not_paid: NOT PAID
+ email_payment_summary: Payment summary
+ email_order_summary_method: "Paying via:"
+ email_shipping_delivery_details: Delivery details
+ email_shipping_delivery_time: "Delivery on:"
+ email_shipping_delivery_address: "Delivery address:"
+ email_shipping_collection_details: Collection details
+ email_shipping_collection_time: "Ready for collection:"
+ email_shipping_collection_instructions: "Collection instructions:"
+ email_special_instructions: "Your notes:"
+
+ email_signup_greeting: Hello!
+ email_signup_welcome: "Welcome to %{sitename}!"
+ email_signup_login: Your login
+ email_signup_email: Your login email is
+ email_signup_shop_html: "You can start shopping online now at %{link}."
+ email_signup_text: "Thanks for joining the network.
+ If you are a customer, we look forward to introducing you to many fantastic farmers, wonderful food hubs and delicious food!
+ If you are a producer or food enterprise, we are excited to have you as a part of the network."
+ email_signup_help_html: "We welcome all your questions and feedback; you can use the Send Feedback button on the site or email us at"
+
+ shopping_oc_closed: Orders are closed
+ shopping_oc_closed_description: "Please wait until the next cycle opens (or contact us directly to see if we can accept any late orders)"
+ shopping_oc_last_closed: "The last cycle closed %{distance_of_time} ago"
+ shopping_oc_next_open: "The next cycle opens in %{distance_of_time}"
+ shopping_tabs_about: "About %{distributor}"
+ shopping_tabs_contact: "Contact"
+ shopping_contact_address: "Address"
+ shopping_contact_web: "Contact"
+ shopping_contact_social: "Follow"
+ shopping_groups_part_of: "is part of:"
+ shopping_producers_of_hub: "%{hub}'s producers:"
+
+ enterprises_next_closing: "Next order closing"
+ enterprises_ready_for: "Ready for"
+ enterprises_choose: "Choose when you want your order:"
+
+ hubs_buy: "Shop for:"
+ hubs_delivery_options: "Delivery options"
+ hubs_pickup: "Pickup"
+ hubs_delivery: "Delivery"
+ hubs_producers: "Our producers"
+ hubs_filter_by: "Filter by"
+ hubs_filter_type: "Type"
+ hubs_filter_delivery: "Delivery"
+ hubs_matches: "Did you mean?"
+ hubs_intro: Shop in your local area
+ hubs_distance: Closest to
+ hubs_distance_filter: "Show me shops near %{location}"
+
+ products_clear_all: Clear all
+ products_showing: "Showing:"
+ products_with: with
+ products_search: "Search by product or producer"
+ products_loading: "Loading products..."
+ products_updating_cart: "Updating cart..."
+ products_cart_empty: "Cart empty"
+ products_edit_cart: "Edit your cart"
+ products_from: from
+
+ search_no_results_html: "Sorry, no results found for %{query}. Try another search?"
+
+ components_profiles_popover: "Profiles do not have a shopfront on the Open Food Network, but may have their own physical or online shop elsewhere"
+ components_profiles_show: "Show profiles"
+ components_filters_nofilters: "No filters"
+ components_filters_clearfilters: "Clear all filters"
+
+ groups_title: Groups
+ groups_headline: Groups / regions
+ groups_search: "Search name or keyword"
+ groups_no_groups: "No groups found"
+ groups_about: "About Us"
+ groups_producers: "Our producers"
+ groups_hubs: "Our hubs"
+ groups_contact_web: Contact
+ groups_contact_social: Follow
+ groups_contact_address: Address
+ groups_contact_email: Email us
+ groups_contact_website: Visit our website
+ groups_contact_facebook: Follow us on Facebook
+ groups_signup_title: Sign up as a group
+ groups_signup_headline: Groups sign up
+ groups_signup_intro: "We're an amazing platform for collaborative marketing, the easiest way for your members and stakeholders to reach new markets. We're non-profit, affordable, and simple."
+ groups_signup_email: Email us
+ groups_signup_motivation1: We transform food systems fairly.
+ groups_signup_motivation2: It's why we get out of bed every day. We're a global non-profit, based on open source code. We play fair. You can always trust us.
+ groups_signup_motivation3: We know you have big ideas, and we want to help. We'll share our knowledge, networks and resources. We know that isolation doesn't create change, so we'll partner with you.
+ groups_signup_motivation4: We meet you where you are.
+ groups_signup_motivation5: You might be an alliance of food hubs, producers, or distributors, and an industry body, or a local government.
+ groups_signup_motivation6: Whatever your role in your local food movement, we're ready to help. However you come to wonder what Open Food Network would look like or is doing in your part of the world, let's start the conversation.
+ groups_signup_motivation7: We make food movements make more sense.
+ groups_signup_motivation8: You need to activate and enable your networks, we offer a platform for conversation and action. You need real engagement. We’ll help reach all the players, all the stakeholders, all the sectors.
+ groups_signup_motivation9: You need resourcing. We’ll bring all our experience to bear. You need cooperation. We’ll better connect you to a global network of peers.
+ groups_signup_pricing: Group Account
+ groups_signup_studies: Case Studies
+ groups_signup_contact: Ready to discuss?
+ groups_signup_contact_text: "Get in touch to discover what OFN can do for you:"
+ groups_signup_detail: "Here's the detail."
+
+ login_invalid: "Invalid email or password"
+
+ modal_hubs: "Food Hubs"
+ modal_hubs_abstract: Our food hubs are the point of contact between you and the people who make your food!
+ modal_hubs_content1: You can search for a convenient hub by location or name. Some hubs have multiple points where you can pick-up your purchases, and some will also provide delivery options. Each food hub is a sales point with independent business operations and logistics - so variations between hubs are to be expected.
+ modal_hubs_content2: You can only shop at one food hub at a time.
+
+ modal_groups: "Groups / Regions"
+ modal_groups_content1: These are the organisations and relationships between hubs which make up the Open Food Network.
+ modal_groups_content2: Some groups are clustered by location or council, others by non-geographic similarities.
+
+ modal_how: "How it works"
+ modal_how_shop: Shop the Open Food Network
+ modal_how_shop_explained: Search for a food hub near you to start shopping! You can expand each food hub to see what kinds of goodies are available, and click through to start shopping. (You can only shop one food hub at a time.)
+ modal_how_pickup: Pick-ups, delivery & shipping costs
+ modal_how_pickup_explained: Some food hubs deliver to your door, while others require you to pick-up your purchases. You can see which options are available on the homepage, and select which you'd like at the shopping and check-out pages. Delivery will cost more, and pricing differs from hub-to-hub. Each food hub is a sales point with independent business operations and logisitics - so variations between hubs are to be expected.
+ modal_how_more: Learn more
+ modal_how_more_explained: "If you want to learn more about the Open Food Network, how it works, and get involved, check out:"
+
+ modal_producers: "Producers"
+ modal_producers_explained: "Our producers make all the delicious food you can shop for on the Open Food Network."
+
+ ocs_choice_hub: "Hub:"
+ ocs_choice_oc: "Order Cycle:"
+ ocs_choice_text: "You have not yet picked where you will get your order from."
+ ocs_closed_headline: Orders are currently closed for this hub
+ ocs_closed_time: "The last cycle closed %{time} ago."
+ ocs_closed_contact: "Please contact your hub directly to see if they accept late orders, or wait until the next cycle opens."
+ ocs_closed_opens: "The next order cycle opens in %{time}"
+ ocs_closed_email: "Email: %{email}"
+ ocs_closed_phone: "Phone: %{phone}"
+ ocs_pickup_time: "Your order will be ready on %{pickup_time}"
+ ocs_change_date: "Change Collection Date"
+ ocs_change_date_notice: "(This will reset your cart)"
+ ocs_close_time: "ORDERS CLOSE"
+ ocs_when_headline: When do you want your order?
+ ocs_when_text: No products are displayed until you select a date.
+ ocs_when_closing: "Closing On"
+ ocs_when_choose: "Choose Order Cycle"
+ ocs_list: "List View"
+
+ producers_about: About us
+ producers_buy: Shop for
+ producers_contact: Contact
+ producers_contact_phone: Call
+ producers_contact_social: Follow
+ producers_at: "products at:"
+ producers_filter: Filter by
+ producers_filter_type: Type
+ producers_title: Producers
+ producers_headline: Find local producers
+ producers_signup_title: Sign up as a producer
+ producers_signup_headline: Food producers, empowered.
+ producers_signup_motivation: Sell your food and tell your stories to diverse new markets. Save time and money on every overhead. We support innovation without the risk. We've levelled the playing field.
+ producers_signup_send: Join now
+ producers_signup_enterprise: Enterprise Accounts
+ producers_signup_studies: Stories from our producers.
+ producers_signup_cta_headline: Join now!
+ producers_signup_cta_action: Join now
+ producers_signup_detail: Here's the detail.
+
+ products_item: Item
+ products_description: Description
+ products_variant: Variant
+ products_quantity: Quantity
+ products_availabel: Available?
+ products_price: Price
+
+ register_title: Register
+
+ shops_title: Shops
+ shops_headline: Shopping, transformed.
+ shops_text: Food grows in cycles, farmers harvest in cycles, and we order food in cycles. If you find an order cycle closed, check back soon.
+ shops_signup_title: Sign up as a hub
+ shops_signup_headline: Food hubs, unlimited.
+ shops_signup_motivation: Whatever your model, we support you. However you change, we're with you. We're non-profit, independent, and open-sourced. We're the software partners you've dreamed of.
+ shops_signup_action: Join now
+ shops_signup_pricing: Enterprise Accounts
+ shops_signup_stories: Stories from our hubs.
+ shops_signup_help: We're ready to help.
+ shops_signup_help_text: You need a better return. You need new buyers and logistics partners. You need your story told across wholesale, retail, and the kitchen table.
+ shops_signup_detail: Here's the detail.
+
+ orders_fees: Fees...
+ orders_edit_title: Shopping Cart
+ orders_edit_headline: Your shopping cart
+ orders_edit_time: Order ready for
+ orders_edit_continue: Continue shopping
+ orders_edit_checkout: Checkout
+ orders_form_empty_cart: "Empty cart"
+ orders_form_subtotal: Produce subtotal
+ orders_form_admin: Admin & handling
+ orders_form_subtotal: Total
+ orders_oc_expired_headline: Orders have closed for this order cycle
+ orders_oc_expired_text: "Sorry, orders for this order cycle closed %{time} ago! Please contact your hub directly to see if they can accept late orders."
+ orders_oc_expired_text_others_html: "Sorry, orders for this order cycle closed %{time} ago! Please contact your hub directly to see if they can accept late orders %{link}."
+ orders_oc_expired_text_link: "or see the other order cycles available at this hub"
+ orders_oc_expired_email: "Email:"
+ orders_oc_expired_phone: "Phone:"
+ orders_show_title: Order Confirmation
+ orders_show_time: Order ready on
+ orders_show_number: Order confirmation
+
+ products_cart_distributor_choice: "Distributor for your order:"
+ products_cart_distributor_change: "Your distributor for this order will be changed to %{name} if you add this product to your cart."
+ products_cart_distributor_is: "Your distributor for this order is %{name}."
+ products_distributor_error: "Please complete your order at %{link} before shopping with another distributor."
+ products_oc: "Order cycle for your order:"
+ products_oc_change: "Your order cycle for this order will be changed to %{name} if you add this product to your cart."
+ products_oc_is: "Your order cycle for this order is %{name}."
+ products_oc_error: "Please complete your order from %{link} before shopping in a different order cycle."
+ products_oc_current: "your current order cycle"
+ products_quantity: Quantity
+ products_max_quantity: Max quantity
+ products_distributor: Distributor
+ products_distributor_info: When you select a distributor for your order, their address and pickup times will be displayed here.
+
+ # keys used in javascript
+ password: Password
+ remember_me: Remember Me
+ are_you_sure: "Are you sure?"
+ orders_open: Orders open
+ closing: "Closing "
+ going_back_to_home_page: "Taking you back to the home page"
+ creating: Creating
+ updating: Updating
+ failed_to_create_enterprise: "Failed to create your enterprise."
+ failed_to_create_enterprise_unknown: "Failed to create your enterprise.\nPlease ensure all fields are completely filled out."
+ failed_to_update_enterprise_unknown: "Failed to update your enterprise.\nPlease ensure all fields are completely filled out."
+ order_not_saved_yet: "Your order hasn't been saved yet. Give us a few seconds to finish!"
+ filter_by: "Filter by"
+ hide_filters: "Hide filters"
+ one_filter_applied: "1 filter applied"
+ x_filters_applied: " filters applied"
+ submitting_order: "Submitting your order: please wait"
+ confirm_hub_change: "Are you sure? This will change your selected hub and remove any items in your shopping cart."
+ confirm_oc_change: "Are you sure? This will change your selected order cycle and remove any items in your shopping cart."
+ location_placeholder: "Type in a location..."
+ error_required: "can't be blank"
+ error_number: "must be number"
+ error_email: "must be email address"
+ item_handling_fees: "Item Handling Fees (included in item totals)"
+ january: "January"
+ february: "February"
+ march: "March"
+ april: "April"
+ may: "May"
+ june: "June"
+ july: "July"
+ august: "August"
+ september: "September"
+ october: "October"
+ november: "November"
+ december: "December"
+ email_not_found: "Email address not found"
+ email_required: "You must provide an email address"
+ logging_in: "Hold on a moment, we're logging you in"
+ signup_email: "Your email"
+ choose_password: "Choose a password"
+ confirm_password: "Confirm password"
+ action_signup: "Sign up now"
+ welcome_to_ofn: "Welcome to the Open Food Network!"
+ signup_or_login: "Start By Signing Up (or logging in)"
+ have_an_account: "Already have an account?"
+ action_login: "Log in now."
+ forgot_password: "Forgot Password?"
+ password_reset_sent: "An email with instructions on resetting your password has been sent!"
+ reset_password: "Reset password"
+ registration_greeting: "Greetings!"
+ who_is_managing_enterprise: "Who is responsible for managing %{enterprise}?"
+ enterprise_contact: "Primary Contact"
+ enterprise_contact_required: "You need to enter a primary contact."
+ enterprise_email: "Email address"
+ enterprise_email_required: "You need to enter valid email address."
+ enterprise_phone: "Phone number"
+ back: "Back"
+ continue: "Continue"
+ limit_reached_headline: "Oh no!"
+ limit_reached_message: "You have reached the limit!"
+ limit_reached_text: "You have reached the limit for the number of enterprises you are allowed to own on the"
+ limit_reached_action: "Return to the homepage"
+ select_promo_image: "Step 3. Select Promo Image"
+ promo_image_tip: "Tip: Shown as a banner, preferred size is 1200×260px"
+ promo_image_label: "Choose a promo image"
+ action_or: "OR"
+ promo_image_drag: "Drag and drop your promo here"
+ review_promo_image: "Step 4. Review Your Promo Banner"
+ review_promo_image_tip: "Tip: for best results, your promo image should fill the available space"
+ promo_image_placeholder: "Your logo will appear here for review once uploaded"
+ uploading: "Uploading..."
+ select_logo: "Step 1. Select Logo Image"
+ logo_tip: "Tip: Square images will work best, preferably at least 300×300px"
+ logo_label: "Choose a logo image"
+ logo_drag: "Drag and drop your logo here"
+ review_logo: "Step 2. Review Your Logo"
+ review_logo_tip: "Tip: for best results, your logo should fill the available space"
+ logo_placeholder: "Your logo will appear here for review once uploaded"
+ enterprise_about_headline: "Nice one!"
+ enterprise_about_message: "Now let's flesh out the details about"
+ enterprise_success: "Success! %{enterprise} added to the Open Food Network "
+ enterprise_registration_exit_message: "If you exit this wizard at any stage, you need to click the confirmation link in the email you have received. This will take you to your admin interface where you can continue setting up your profile."
+ enterprise_description: "Short Description"
+ enterprise_description_placeholder: "A short sentence describing your enterprise"
+ enterprise_long_desc: "Long Description"
+ enterprise_long_desc_placeholder: "This is your opportunity to tell the story of your enterprise - what makes you different and wonderful? We'd suggest keeping your description to under 600 characters or 150 words."
+ enterprise_long_desc_length: "%{num} characters / up to 600 recommended"
+ enterprise_abn: "ABN"
+ enterprise_abn_placeholder: "eg. 99 123 456 789"
+ enterprise_acn: "ACN"
+ enterprise_acn_placeholder: "eg. 123 456 789"
+ enterprise_tax_required: "You need to make a selection."
+ enterprise_final_step: "Final step!"
+ enterprise_social_text: "How can people find %{enterprise} online?"
+ website: "Website"
+ website_placeholder: "eg. openfoodnetwork.org.au"
+ facebook: "Facebook"
+ facebook_placeholder: "eg. www.facebook.com/PageNameHere"
+ linkedin: "LinkedIn"
+ linkedin_placeholder: "eg. www.linkedin.com/YourNameHere"
+ twitter: "Twitter"
+ twitter_placeholder: "eg. @twitter_handle"
+ instagram: "Instagram"
+ instagram_placeholder: "eg. @instagram_handle"
+ registration_greeting: "Hi there!"
+ registration_intro: "You can now create a profile for your Producer or Hub"
+ registration_action: "Let's get started!"
+ registration_checklist: "You'll need"
+ registration_time: "5-10 minutes"
+ registration_enterprise_address: "Enterprise address"
+ registration_contact_details: "Primary contact details"
+ registration_logo: "Your logo image"
+ registration_promo_image: "Landscape image for your profile"
+ registration_about_us: "'About Us' text"
+ registration_outcome_headline: "What do I get?"
+ registration_outcome1_html: "Your profile helps people find and contact you on the Open Food Network."
+ registration_outcome2: "Use this space to tell the story of your enterprise, to help drive connections to your social and online presence. "
+ registration_outcome3: "It's also the first step towards trading on the Open Food Network, or opening an online store."
+ registration_finished_headline: "Finished!"
+ registration_finished_thanks: "Thanks for filling out the details for %{enterprise}."
+ registration_finished_login: "You can change or update your enterprise at any stage by logging into Open Food Network and going to Admin."
+ registration_finished_activate: "Activate %{enterprise}."
+ registration_finished_activate_instruction_html: "We've sent a confirmation email to %{email} if it hasn't been activated before.
+Please follow the instructions there to make your enterprise visible on the Open Food Network."
+ registration_finished_action: "Open Food Network home"
+ registration_type_headline: "Last step to add %{enterprise}!"
+ registration_type_question: "Are you a producer?"
+ registration_type_producer: "Yes, I'm a producer"
+ registration_type_no_producer: "No, I'm not a producer"
+ registration_type_error: "Please choose one. Are you are producer?"
+ registration_type_producer_help: "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."
+ registration_type_no_producer_help: "If you’re not a producer, you’re probably someone who sells and distributes food. You might be a hub, coop, buying group, retailer, wholesaler or other."
+ create_profile: "Create Profile"
+ registration_images_headline: "Thanks!"
+ registration_images_description: "Let's upload some pretty pictures so your profile looks great! :)"
+ registration_detail_headline: "Let's Get Started"
+ registration_detail_enterprise: "Woot! First we need to know a little bit about your enterprise:"
+ registration_detail_producer: "Woot! First we need to know a little bit about your farm:"
+ registration_detail_name_enterprise: "Enterprise Name:"
+ registration_detail_name_producer: "Farm Name:"
+ registration_detail_name_placeholder: "e.g. Charlie's Awesome Farm"
+ registration_detail_name_error: "Please choose a unique name for your enterprise"
+ registration_detail_address1: "Address line 1:"
+ registration_detail_address1_placeholder: "e.g. 123 Cranberry Drive"
+ registration_detail_address1_error: "Please enter an address"
+ registration_detail_address2: "Address line 2:"
+ registration_detail_suburb: "Suburb:"
+ registration_detail_suburb_placeholder: "e.g. Northcote"
+ registration_detail_suburb_error: "Please enter a suburb"
+ registration_detail_postcode: "Postcode:"
+ registration_detail_postcode_placeholder: "e.g. 3070"
+ registration_detail_postcode_error: "Postcode required"
+ registration_detail_state: "State:"
+ registration_detail_state_error: "State required"
+ registration_detail_country: "Country:"
+ registration_detail_country_error: "Please select a country"
+ fees: "Fees"
+ item_cost: "Item cost"
+ bulk: "Bulk"
+ shop_variant_quantity_min: "min"
+ shop_variant_quantity_max: "max"
+ contact: "Contact"
+ follow: "Follow"
+ shop_for_products_html: "Shop for %{enterprise} products at:"
+ change_shop: "Change shop to:"
+ shop_at: "Shop now at:"
+ price_breakdown: "Full price breakdown"
+ admin_fee: "Admin fee"
+ sales_fee: "Sales fee"
+ packing_fee: "Packing fee"
+ transport_fee: "Transport fee"
+ fundraising_fee: "Fundraising fee"
+ price_graph: "Price graph"
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
new file mode 100644
index 0000000000..9141265f86
--- /dev/null
+++ b/config/locales/fr.yml
@@ -0,0 +1,455 @@
+# Localization file for French.
+# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
+
+fr:
+ devise:
+ failure:
+ invalid: |
+ Email / mot de passe incorrect.
+ Créez votre compte ou réinitialisez votre mot de passe.
+ enterprise_confirmations:
+ enterprise:
+ confirmed: Merci, votre adresse email est confirmée.
+ not_confirmed: Votre adresse email n'a pas pu être confirmée. Peut-être l'aviez-vous déjà confirmée?
+ confirmation_sent: "Un mail de confirmation a été envoyé!"
+ confirmation_not_sent: "Impossible d'envoyer le mail de confirmation."
+ home: "OFN"
+ title: Open Food France
+ welcome_to: 'Bienvenue sur '
+ search_by_name: Recherche pas nom ou région...
+ producers: Producteurs & hubs
+ producers_join: Les producteurs et autres hubs basés en France sont invités à rejoindre Open Food France.
+ charges_sales_tax: Soumis à la TVA?
+
+ logo: "Logo (640x130)"
+ logo_mobile: "Logo smartphone (75x26)"
+ logo_mobile_svg: "Logo smartphone (SVG)"
+ home_hero: "Bannière"
+ home_show_stats: "Afficher statistiques"
+ footer_logo: "Logo (220x76)"
+ footer_facebook_url: "Facebook URL"
+ footer_twitter_url: "Twitter URL"
+ footer_instagram_url: "Instagram URL"
+ footer_linkedin_url: "LinkedIn URL"
+ footer_googleplus_url: "Google Plus URL"
+ footer_pinterest_url: "Pinterest URL"
+ footer_email: "Email"
+ footer_links_md: "Liens"
+ footer_about_url: "A propos URL"
+ footer_tos_url: "Conditions d'utilisation URL"
+
+ name: Nom
+ first_name: Prénom
+ last_name: Nom de famille
+ email: Email
+ phone: Téléphone
+ next: Suivant
+ address: Adresse
+ address2: Adresse (suite)
+ city: Ville
+ state: Région
+ postcode: Code postal
+ country: Pays
+ unauthorized: Non authorisé
+ terms_of_service: "Conditions d'utilisation"
+ on_demand: A volonté
+ none: Aucun
+
+ alert_selling_on_ofn: "Vous souhaitez proposer votre produits sur Open Food France?"
+ alert_start_here: "Démarrez ici"
+ label_shops: "Boutiques"
+ label_map: "Carte"
+ label_producers: "Producteurs"
+ label_groups: "Groupes"
+ label_about: "A propos"
+ label_shopping: "Achats"
+ label_login: "Login"
+ label_logout: "Logout"
+ label_signup: "Inscription"
+ label_administration: "Administration"
+ label_admin: "Admin"
+ label_account: "Compte"
+ label_more: "Afficher"
+ label_less: "Masquer"
+
+ items: "produits"
+ cart_headline: "Votre panier"
+ total: "Total"
+ checkout: "Régler la commande"
+ cart_updating: "Mettre à jour le panier"
+ cart_empty: "Panier vide"
+ cart_edit: "Modifier votre panier"
+
+ card_number: Numéro de carte
+ card_securitycode: "Cryptogramme visuel"
+ card_expiry_date: Date d'expiration
+
+ ofn_cart_headline: "Panier actuel pour:"
+ ofn_cart_distributor: "Distributeur:"
+ ofn_cart_oc: "Cycle de vente:"
+ ofn_cart_from: "De:"
+ ofn_cart_to: "Pour:"
+ ofn_cart_product: "Produit:"
+ ofn_cart_quantitiy: "Quantité:"
+ ofn_cart_send: "Acheter"
+
+ ie_warning_headline: "Votre navigateur n'est pas à jour :-("
+ ie_warning_text: "Pour une expérience optimale sur Open Food France, nous vous recommandons fortement de mettre à jour votre navigateur:"
+ ie_warning_chrome: Télécharger Chrome
+ ie_warning_firefox: Télécharger Firefox
+ ie_warning_ie: Mettre à jour Internet Explorer
+ ie_warning_other: "Impossible de mettre à jour votre navigateur? Essayez Open Food France sur votre smartphone :-)"
+
+ footer_global_headline: "OFN Global"
+ footer_global_home: "Accueil"
+ footer_global_news: "News"
+ footer_global_about: "A propos"
+ footer_global_contact: "Contact"
+
+ footer_sites_headline: "Sites OFN"
+ footer_sites_developer: "Developpeur"
+ footer_sites_community: "Communauté"
+ footer_sites_userguide: "Guide utilisateur"
+
+ footer_secure: "Fiable et sécurisé."
+ footer_secure_text: "Open Food France utilise un certificat type SSL (2048 bit RSA) pour garantir la confidentialité de votre commandes et données bancaires. Nos serveurs ne conservent pas vos données bancaires et les paiements sont effectués conformément aux normes de sécurité PCI."
+
+ footer_contact_headline: "Restez en contact"
+ footer_contact_email: "Nous écrire"
+
+ footer_nav_headline: "Naviguer"
+ footer_join_headline: "Nous rejoindre"
+ footer_join_producers: "Inscription producteurs"
+ footer_join_hubs: "Inscription hubs"
+ footer_join_groups: "Inscription groupes"
+ footer_join_partners: "Partenaires"
+
+ footer_legal_call: "Lire notre/nos"
+ footer_legal_tos: "Termes & conditions"
+ footer_legal_visit: "Nous trouver sur"
+ footer_legal_text: "Open Food Network est une plateforme logicielle open source, libre et gratuite. Nos données sont protégées sous licence"
+ footer_legal_text2: "et notre code sous"
+ footer_legal_license_content: "CC BY-SA 3.0"
+ footer_legal_license_code: "AGPL 3"
+
+ home_shop: Faire mes courses
+
+ brandstory_headline: "Des aliments, non centralisés."
+ brandstory_intro: "Parfois, le meilleur moyen de réparer le système, c'est d'en inventer un autre..."
+ brandstory_part1: "Nous commençons à partir du sol. Avec des paysans, agriculteurs, producteurs prêts à raconter leurs histoires avec fierté et en toute transparence. Avec des distributeurs prêts à connecter les gens aux produits de manière équitable et honnête. Avec des acheteurs qui croient que de meilleures décisions d'achats peuvent véritablement changer le monde."
+ brandstory_part2: "Ensuite, nous avons besoin d'un moyen pour rendre tout ça réel. Un moyen de redonner le pouvoir à ceux qui cultivent, vendent et achètent la nourriture. Un moyen de raconter les histoires, de gérer la logistique. Un moyen de transformer chaque jour les transactions en transformation."
+ brandstory_part3: "Alors, nous construisons un marché en ligne pour niveller le terrain de jeu. Il est transparent, de sorte qu'il crée de vraies relations. Il est open source, donc possédé par tout le monde. Il se déploie aux échelles régionales et nationales, et des gens lancent de multiples versions à travers le monde."
+ brandstory_part4: "Il fonctionne partout. Il change tout."
+ brandstory_part5_strong: "Il s'appelle Open Food Network."
+ brandstory_part6: "Nous aimons notre nourriture. Maintenant nous pouvons aussi aimer notre système alimentaire."
+
+ system_headline: "Comment ça marche?"
+ system_step1: "1. Recherche"
+ system_step1_text: "Recherchez parmi nos multiples boutiques indépendantes pour des produits locaux et de saison. Filtrez pas quartier ou catégorie de produits, ou si vous préférez une option livraison ou retrait."
+ system_step2: "2. Achat"
+ system_step2_text: "Transformez vos achats en choisissant des produits locaux et abordables, proposés par les divers producteurs et hubs. Découvrez les histoires et les personnes qui se cachent derrière les produits!"
+ system_step3: "3. Retrait / Livraison"
+ system_step3_text: "Réceptionnez vos produits à domicile, ou rendez vous chez votre producteur ou hub pour un lien plus personnel avec votre nourriture. Des expériences d'achat de nourriture aussi diverses que la nature l'a souhaitée."
+
+ cta_headline: "Des achats qui rendent le monde un peu meilleur."
+ cta_label: "Je suis prêt"
+
+ stats_headline: "Nous créons un nouveau système alimentaire."
+ stats_producers: "agriculteurs et producteurs"
+ stats_shops: "boutiques"
+ stats_shoppers: "acheteurs"
+ stats_orders: "commandes"
+
+ checkout_title: Paiement
+ checkout_now: Régler la commande
+ checkout_order_ready: Commande prête pour
+ checkout_hide: Masquer
+ checkout_expand: Afficher
+ checkout_headline: "Ok, prêt pour le paiement?"
+ checkout_as_guest: "Régler en mode invité"
+ checkout_details: "Vos informations"
+ checkout_billing: "Informations de paiement"
+ checkout_shipping: Informations de livraison
+ checkout_method_free: Gratuit
+ checkout_address_same: Adresse de livraison identique à l'adresse de facturation?
+ checkout_ready_for: "Prêt pour:"
+ checkout_instructions: "Commentaires ou demandes spécifiques?"
+ checkout_payment: Paiement
+ checkout_send: Passer la commande
+ checkout_your_order: Votre commande
+ checkout_cart_total: Panier total
+ checkout_shipping_price: Livraison
+ checkout_total_price: Total
+ checkout_back_to_cart: "Retour au Panier"
+
+ order_paid: RÉGLÉ
+ order_not_paid: NON RÉGLÉ
+ order_total: Total commande
+ order_payment: "Payer via:"
+ order_billing_address: Adresse de facturation
+ order_delivery_on: Livraison prévue
+ order_delivery_address: Adresse de livraison
+ order_special_instructions: "Vos commentaires:"
+ order_pickup_instructions: Instructions de retrait
+ order_produce: Produit
+ order_total_price: Total
+ order_includes_tax: (TVA inclue)
+ order_payment_paypal_successful: Votre paiement via PayPal a été réalisé avec succès.
+ order_hub_info: Hub Info
+
+ products: "Produits"
+ products_in: "dans %{oc}"
+ products_at: "à %{distributor}"
+ products_elsewhere: "Produits trouvés ailleurs"
+
+ email_welcome: "Bienvenue"
+ email_confirmed: "Veuillez confirmer votre adresse email."
+ email_registered: "fait maintenant partie de"
+ email_userguide_html: "Le Guide Utilisateur expliquant comment mettre en place son profil producteur ou son hub est accessible ici:
+%{link}"
+ email_admin_html: "Vous pouvez gérer votre compte en vous connectant ici %{link} ou en cliquant sur la roue en haut à droite de la page d'accueil et en sélectionnant Administration."
+ email_community_html: "Nous avons aussi un forum de discussion en ligne (en anglais) pour échanger avec la communauté sur des questions liées au logiciel OFN et aux défis de la gestion d'un food hub. Nous vous invitons à y participer. Nous sommes en constante évolution et vos contributions à ce forum vont façonner les prochaines étapes.
+%{link}"
+ email_help: "En cas de difficulté, consultez notre FAQ, parcourez le forum (en anglais) ou postez un message dans la section 'Support' et quelqu'un viendra vous aider!"
+ email_confirmation_greeting: "Bonjour %{contact}!"
+ email_confirmation_profile_created: "Le profil pour %{name} a été créé avec succès!
+Pour activer votre Profil nous devons vérifier cette adresse email."
+ email_confirmation_click_link: "Veuillez cliquer sur le lien ci-dessous pour confirmer votre email et continuer la configuration de votre compte."
+ email_confirmation_link_label: "Confirmer cette adresse email »"
+ email_confirmation_help: "Après avoir confirmé votre adresse email vous pouvez accéder au compte d'administration de cette entreprise.
+Voir le %{link} pour en savoir plus sur les fonctionnalités de %{sitename} et commencer à utiliser votre profil ou votre boutique en ligne."
+ email_confirmation_userguide: "Guide Utilisateur"
+ email_social: "Nous suivre:"
+ email_contact: "Nous écrire:"
+ email_signoff: "Cordialement,"
+ email_signature: "L'équipe %{sitename}"
+
+ email_confirm_customer_greeting: "Bonjour %{name},"
+ email_confirm_customer_intro_html: "Merci d'avoir passé commande chez %{distributor}!"
+ email_confirm_customer_number_html: "Confirmation de commande #%{number}"
+ email_confirm_customer_details_html: "Détails de votre commande chez %{distributor}:"
+ email_confirm_customer_signoff: "Cordialement,"
+ email_confirm_shop_greeting: "Bonjour %{name},"
+ email_confirm_shop_order_html: "Bravo! Vous avez reçu une nouvelle commande pour %{distributor}!"
+ email_confirm_shop_number_html: "Confirmation de commande #%{number}"
+ email_order_summary_item: "Produit"
+ email_order_summary_quantity: "Qté"
+ email_order_summary_price: "Prix"
+ email_order_summary_subtotal: "Sous-total:"
+ email_order_summary_total: "Total:"
+ email_payment_paid: RÉGLÉ
+ email_payment_not_paid: NON RÉGLÉ
+ email_payment_summary: Résumé du paiement
+ email_order_summary_method: "Payé via:"
+ email_shipping_delivery_details: Détails de livraison
+ email_shipping_delivery_time: "Livré le:"
+ email_shipping_delivery_address: "Adresse de livraison:"
+ email_shipping_collection_details: Détails de retrait
+ email_shipping_collection_time: "Prêt pour retrait:"
+ email_shipping_collection_instructions: "Instructions de retrait:"
+ email_special_instructions: "Vos commentaires:"
+
+ email_signup_greeting: Bonjour!
+ email_signup_welcome: "Bienvenue sur %{sitename}!"
+ email_signup_login: Votre login
+ email_signup_email: Votre email de connexion est
+ email_signup_shop_html: "Vous pouvez maintenant commencer vos achats sur %{link}."
+ email_signup_text: "Merci d'avoir rejoint le réseau.
+ Si vous êtes un client, nous sommes impatients de vous faire découvrir de nombreux agriculteurs fantastiques, de merveilleux hubs de distribution et des plats délicieux!
+ Si vous êtes un producteur ou autre entreprise alimentaire, nous sommes ravis de vous compter parmi les membres du réseau."
+ email_signup_help_html: "Vos questions et suggestions sont les bienvenues; vous pouvez utiliser le bouton Envoyer un commentaire sur le site ou envoyez-nous un email à"
+
+ shopping_oc_closed: La boutique est actuellement fermée
+ shopping_oc_closed_description: "Veuillez attendre l'ouverture du prochain cycle de vente (ou contactez-nous directement pour voir si nous pouvez accépter une commande tardive)"
+ shopping_oc_last_closed: "Le dernier cycle de vente s'est terminé il y a %{distance_of_time}"
+ shopping_oc_next_open: "Le prochain cycle de vente ouvrira dans %{distance_of_time}"
+ shopping_tabs_about: "A propos de %{distributor}"
+ shopping_tabs_contact: "Contact"
+ shopping_contact_address: "Adresse"
+ shopping_contact_web: "Contact"
+ shopping_contact_social: "Suivre"
+ shopping_groups_part_of: "fait partie de:"
+ shopping_producers_of_hub: "Les producteurs de %{hub}:"
+
+ enterprises_next_closing: "Prochaine commande à passer avant"
+ enterprises_ready_for: "Prêt pour"
+ enterprises_choose: "Choisissez votre date de commande:"
+
+ hubs_buy: "Acheter pour:"
+ hubs_delivery_options: "Options de livraison"
+ hubs_pickup: "Retrait"
+ hubs_delivery: "Livraison"
+ hubs_producers: "Nos producteurs"
+ hubs_filter_by: "Filtrer par"
+ hubs_filter_type: "Type"
+ hubs_filter_delivery: "Livraison"
+ hubs_matches: "Vous voulez dire?"
+ hubs_intro: Passez commande près de chez vous
+ hubs_distance: Le plus près de
+ hubs_distance_filter: "Afficher les boutiques près de %{location}"
+
+ products_clear_all: Vider
+ products_showing: "Afficher:"
+ products_with: avec
+ products_search: "Recherche par produit ou producteur"
+ products_loading: "Produits en cours de chargement..."
+ products_updating_cart: "Actualisation du panier..."
+ products_cart_empty: "Panier vide"
+ products_edit_cart: "Modifier votre panier"
+ products_from: de
+
+ search_no_results_html: "Désolé, aucun résultat pour %{query}. Autre recherche?"
+
+ components_profiles_popover: "Cette entreprise n'a pas de boutique en ligne sur Open Food France, mais peut-être a-t-elle une boutique physique ou en ligne quelque part"
+ components_profiles_show: "Afficher les résultats"
+ components_filters_nofilters: "Pas de filtre"
+ components_filters_clearfilters: "Vider les filtres"
+
+ groups_title: Groupes
+ groups_headline: Groupes / territoires
+ groups_search: "Techerche par nom ou mot-clé"
+ groups_no_groups: "Aucun groupe trouvé"
+ groups_about: "A propos"
+ groups_producers: "Nos producteurs"
+ groups_hubs: "Nos hubs"
+ groups_contact_web: Contact
+ groups_contact_social: Suivre
+ groups_contact_address: Adresse
+ groups_contact_email: Nous écrire
+ groups_contact_website: Visiter notre site web
+ groups_contact_facebook: Nous suivre sur Facebook
+ groups_signup_title: S'inscrire en tant que groupe
+ groups_signup_headline: Inscription groupe
+ groups_signup_intro: "Nous sommes une plate-forme très efficace pour le marketing collaboratif, une excellente manière pour vos membres et parties prenantes d'atteindre de nouveaux marchés. Nous sommes à but non lucratif, abordable et simple."
+ groups_signup_email: Nous écrire
+ groups_signup_motivation1: Nous transformons les systèmes alimentaires pour remettre de l'équité dans les échanges.
+ groups_signup_motivation2: C'est pourquoi nous sortons du lit chaque matin. Nous sommes une organisation à but non lucratif, basée sur un code source ouvert. Nous opérons en toute transparence.
+ groups_signup_motivation3: Vous avez de belles idées, et nous voulons vous aider. Nous partageons nos connaissances, réseaux et ressources. Nous savons que l'isolement ne crée pas le changement, alors coopérons.
+ groups_signup_motivation4: Nous venons à votre rencontrer.
+ groups_signup_motivation5: Vous êtes un réseau de circuits de distribution alternatifs, de producteurs, de distributeurs, une administration liée à l'industrie alimentaire ou une autorité locale?
+ groups_signup_motivation6: Quel que soit votre rôle dans la relocalisation des systèmes alimentaires, nous sommes prêts à vous soutenir. Si vous vous demandez à quoi Open Food Network ressemble / pourrait ressembler dans votre coin du monde, contactez-nous.
+ groups_signup_motivation7: Nous contribuons à remettre du sens dans les systèmes alimentaires.
+ groups_signup_motivation8: Vous avez besoin de connecter et d'outiller vos réseaux, nous offrons une plate-forme pour la coopération et l'action. Vous souhaitez de l'engagement. Nous vous aidons à atteindre les acteurs, les parties-prenantes, les secteurs.
+ groups_signup_motivation9: Vous avez besoin de ressources. Nous mettons à votre service notre expérience. Vous avez besoin de coopération. Nous vous connectons à un large réseau d'acteurs et d'organisations soeurs partout dans le monde.
+ groups_signup_pricing: Compte Groupe
+ groups_signup_studies: Etudes de cas
+ groups_signup_contact: Vous voulez discuter?
+ groups_signup_contact_text: "Prenez contact et découvrez ce qu'Open Food France peut faire pour vous:"
+ groups_signup_detail: "Plus de précisions."
+
+ login_invalid: "Email ou mot de passe erroné"
+
+ modal_hubs: "Food Hubs"
+ modal_hubs_abstract: Nos food hubs sont les points de contact entre vous et les personnes qui produisent votre nourriture!
+ modal_hubs_content1: Vous pouvez chercher le hub qui vous convient par localisation ou par nom. Certains hubs ont de multiples points de retrait de vos achats, et certains proposent également la livraison à domicile. Chaque food hub est un point de vente et gère de façon indépendante ses opérations et sa logistique - attendez-vous donc à des disparités de fonctionnement entre les hubs.
+ modal_hubs_content2: Vous pouvez uniquement faire vos courses dans un hub à la fois.
+
+ modal_groups: "Groupes / Territoires"
+ modal_groups_content1: Voilà les organisations et les relations inter-hubs qui constituent l'Open Food Network.
+ modal_groups_content2: Certains groupes sont regroupés pas localisation ou région, d'autres sur des smilitudes non géographiques.
+
+ modal_how: "Comment ça marche"
+ modal_how_shop: Faire vos courses sur Open Food France
+ modal_how_shop_explained: Recherchez un food hub près de chez vous et commencez vos achats! Vous pouvez afficher plus d'infos sur chaque food hub pour voir le type de produits qu'il propose, et cliquer sur le hub pour commencer vos achats. (Vous ne pouvez faire vos courses que dans un food hub à la fois.)
+ modal_how_pickup: Frais de retraits, livraison, transport
+ modal_how_pickup_explained: Certains food hubs livrent à domicile, d'autres vous demandent de venir récupérer vos achats dans un point de retrait. Vous pouvez voir quelle options sont proposées sur la page d'accueil du hub, et sélectionner votre choix au moment de la validation de la commande. La livraison à domicile coûtera souvent plus cher, et les prix diffèrent selon le hub. Chaque food hub est un point de vente et gère de façon indépendante ses opérations et sa logistique - attendez-vous donc à des disparités de fonctionnement entre les hubs.
+ modal_how_more: En savoir plus
+ modal_how_more_explained: "Pour en savoir plus sur Open Food France, comment ça marche, et contribuer, allez voir:"
+
+ modal_producers: "Producteurs"
+ modal_producers_explained: "Nos producteurs font pousser et fabriquent tous les délicieux produits que vous pouvez acheter sur Open Food France."
+
+ ocs_choice_hub: "Hub:"
+ ocs_choice_oc: "Cycle de vente:"
+ ocs_choice_text: "Vous n'avez pas encore sélectionné votre point de retrait."
+ ocs_closed_headline: La boutique est actuellement fermée
+ ocs_closed_time: "Le dernier cycle de vente s'est terminé il y a %{time}."
+ ocs_closed_contact: "Veuillez contacter le hub en direct pour voir s'il accepte des commandes tardives, ou patientez jusqu'à l'ouverture du prochain cycle de vente."
+ ocs_closed_opens: "Le prochain cycle de vente commence dans %{time}"
+ ocs_closed_email: "Email: %{email}"
+ ocs_closed_phone: "Téléphone: %{phone}"
+ ocs_pickup_time: "Votre commande sera prête pour %{pickup_time}"
+ ocs_change_date: "Changer la date de retrait"
+ ocs_change_date_notice: "(Votre panier sera vidé)"
+ ocs_close_time: "BOUTIQUE FERMÉE"
+ ocs_when_headline: Quand voulez-vous commander?
+ ocs_when_text: Les produits s'afficheront quand vous aurez sélectionné une date.
+ ocs_when_closing: "Fermera"
+ ocs_when_choose: "Choisir le cycle de vente"
+ ocs_list: "Afficher la liste"
+
+ producers_about: A propos
+ producers_buy: Faire ses courses pour
+ producers_contact: Contact
+ producers_contact_phone: Appeler
+ producers_contact_social: Suivre
+ producers_at: "produits à:"
+ producers_filter: Filtrer par
+ producers_filter_type: Type
+ producers_title: Producteurs
+ producers_headline: Trouver un producteur local
+ producers_signup_title: S'inscrire en tant que producteur
+ producers_signup_headline: Des producteurs, indépendants
+ producers_signup_motivation: Vendez vos produits et racontez vos histoires pour toucher de nouveaux marchés. Gagnez du temps et de l'argent sur la gestion des opérations courantes. Vous pouvez innover sans prendre de risque. Nous nivellons le terrain de jeu pour des échanges plus équitables.
+ producers_signup_send: Rejoindre le réseau
+ producers_signup_enterprise: Comptes organisation
+ producers_signup_studies: Les histoires de nos producteurs.
+ producers_signup_cta_headline: Rejoindre le réseau!
+ producers_signup_cta_action: Rejoindre le réseau
+ producers_signup_detail: Voilà comment.
+
+ products_item: Produit
+ products_description: Description
+ products_variant: Variante
+ products_quantity: Quantité
+ products_availabel: En stock?
+ products_price: Prix
+
+ register_title: S'inscrire
+
+ shops_title: Boutiques
+ shops_headline: Des achats, transformés.
+ shops_text: Les aliments poussent selon des cycles naturels, les fermiers récoltent en cycles, et ici, nous achetons aussi en cycles. Si un cycle de vente est terminé, attendez le suivant ou demandez des infos au hub.
+ shops_signup_title: S'inscrire en tant que hub
+ shops_signup_headline: Food hubs, une infinité de possibilités.
+ shops_signup_motivation: Quel que soit votre modèle, nous vous apportons notre support. Si vous voulez changez, nous sommes à vos côtés. Nous sommes une organisation à but non lucratif, independante, et open-source. Nous sommes le partenaire système dont vous avez rêvé.
+ shops_signup_action: Rejoindre le réseau
+ shops_signup_pricing: Comptes organisations
+ shops_signup_stories: Histoires de hubs.
+ shops_signup_help: Nous sommes prêts à vous aider.
+ shops_signup_help_text: Vous avez besoin d'efficacité. Vous avez besoin de nouveaux acheteurs et de partenaires logistiques. Vous souhaitez que votre histoire soit racontée tout au long du circuit de distribution, jusqu'à la table à manger.
+ shops_signup_detail: Voilà comment.
+
+ orders_fees: Frais...
+ orders_edit_title: Panier
+ orders_edit_headline: Votre panier
+ orders_edit_time: Commande prête pour
+ orders_edit_continue: Poursuivre mes achats
+ orders_edit_checkout: Régler ma commande
+ orders_form_empty_cart: "Panier vide"
+ orders_form_subtotal: Sous-total produits
+ orders_form_admin: Admin & opérations
+ orders_form_subtotal: Total
+ orders_oc_expired_headline: Les commandes ne sont plus possibles pour ce cycle de vente.
+ orders_oc_expired_text: "Désolé, les commandes pour ce cycle de vente ont été clôturées il y a %{time}! Veuillez contacter directement le hub pour voir s'il accepte les commandes tardives."
+ orders_oc_expired_text_others_html: "Désolé, les commandes pour ce cycle de vente ont été clôturées il y a %{time}! Veuillez contacter directement le hub pour voir s'il accepte les commandes tardives %{link}."
+ orders_oc_expired_text_link: "ou voir si d'autres cycles de vente sont ouverts pour ce hub"
+ orders_oc_expired_email: "Email:"
+ orders_oc_expired_phone: "Téléphone:"
+ orders_show_title: Confirmation de commande
+ orders_show_time: Commande prête pour
+ orders_show_number: Confirmation de commande
+
+ products_cart_distributor_choice: "Distributeur pour votre commande:"
+ products_cart_distributor_change: "Vore distributeur pour cette commande sera dorénavant %{name} si vous ajoutez ce produit à votre panier."
+ products_cart_distributor_is: "Votre distributeur pour cette commande est %{name}."
+ products_distributor_error: "Terminez votre commande chez %{link} avant de faire vos courses chez un autre distributeur."
+ products_oc: "Cycle de vente pour votre commande:"
+ products_oc_change: "Votre cycle de vente pour cette commande sera dorénavant %{name} si vous ajoutez ce produit à votre panier."
+ products_oc_is: "Votre cycle de vente pour cette commande est %{name}."
+ products_oc_error: "Veuillez terminer votre commande pour %{link} avant de faire vos courses pour un autre cycle de vente."
+ products_oc_current: "votre cycle de vente actuel"
+ products_quantity: Quantité
+ products_max_quantity: Quantité max
+ products_distributor: Distributeur
+ products_distributor_info: Quand vous choisissez un distributeur pour votre commande, les adresse et date de retrait seront affichées ici.
diff --git a/config/locales/nb.yml b/config/locales/nb.yml
new file mode 100644
index 0000000000..8f3220f6f8
--- /dev/null
+++ b/config/locales/nb.yml
@@ -0,0 +1,450 @@
+# Sample localization file for English. Add more files in this directory for other locales.
+# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
+
+nb:
+ devise:
+ failure:
+ invalid: |
+ Ugyldig epost eller passord.
+ Var du gjest forrige gang? Kanskje du må opprette en konto eller nullstille passordet.
+ enterprise_confirmations:
+ enterprise:
+ confirmed: Takk, din epostadressen er bekreftet.
+ not_confirmed: Din epostadresse kan ikke bekreftes. Kanskje du allerede har fullført dette steget?
+ confirmation_sent: "Bekreftelse på epost er sendt!"
+ confirmation_not_sent: "Kunne ikke sende bekreftelse på epost."
+ home: "OFN"
+ title: Open Food Network
+ welcome_to: 'Velkommen til '
+ search_by_name: Søk på navn eller sted...
+ producers: Norske Produsenter
+ producers_join: Norske produsenter er nå velkommen til å bli med i Open Food Network.
+ charges_sales_tax: MVA-pliktig?
+
+ logo: "Logo (640x130)"
+ logo_mobile: "Mobil logo (75x26)"
+ logo_mobile_svg: "Mobil logo (SVG)"
+ home_hero: "Heltebilde"
+ home_show_stats: "Vis statistikk"
+ footer_logo: "Logo (220x76)"
+ footer_facebook_url: "Facebook URL"
+ footer_twitter_url: "Twitter URL"
+ footer_instagram_url: "Instagram URL"
+ footer_linkedin_url: "LinkedIn URL"
+ footer_googleplus_url: "Google Plus URL"
+ footer_pinterest_url: "Pinterest URL"
+ footer_email: "Epost"
+ footer_links_md: "Linker"
+ footer_about_url: "Om URL"
+ footer_tos_url: "Vilkår URL"
+
+ name: Navn
+ first_name: Fornavn
+ last_name: Etternavn
+ email: Epost
+ phone: Telefon
+ next: Neste
+ address: Adresse
+ address2: Adresse (forts.)
+ city: Kommune
+ state: Fylke
+ postcode: Postnummer
+ country: Land
+ unauthorized: Uautorisert
+ terms_of_service: "Vilkår"
+ on_demand: Ved forespørsel
+ none: Ingen
+
+ alert_selling_on_ofn: "Interessert i å selge mat gjennom Open Food Network?"
+ alert_start_here: "Start her"
+ label_shops: "Butikker"
+ label_map: "Kart"
+ label_producers: "Produsenter"
+ label_groups: "Grupper"
+ label_about: "Om"
+ label_shopping: "Handle"
+ label_login: "Logg inn"
+ label_logout: "Logg ut"
+ label_signup: "Bli medlem"
+ label_administration: "Administrasjon"
+ label_admin: "Admin"
+ label_account: "Konto"
+ label_more: "Mer"
+ label_less: "Vis mindre"
+
+ items: "varer"
+ cart_headline: "Din handlekurv"
+ total: "Sum"
+ checkout: "Gå til kassen"
+ cart_updating: "Oppdaterer handlekurv..."
+ cart_empty: "Handlekurven er tom"
+ cart_edit: "Rediger handlekurv"
+
+ card_number: Kortnummer
+ card_securitycode: "Sikkerhetskode"
+ card_expiry_date: Utløpsdato
+
+ ofn_cart_headline: "Gjeldende handlekurv for:"
+ ofn_cart_distributor: "Distributør:"
+ ofn_cart_oc: "Bestillingsrunde:"
+ ofn_cart_from: "Fra:"
+ ofn_cart_to: "Til:"
+ ofn_cart_product: "Produkt:"
+ ofn_cart_quantitiy: "Antall:"
+ ofn_cart_send: "Kjøp"
+
+ ie_warning_headline: "Din nettleser er for gammel :-("
+ ie_warning_text: "For den beste opplevelsen med Open Food Network anbefaler vi på det sterkeste å oppgradere nettleseren din:"
+ ie_warning_chrome: Last ned Chrome
+ ie_warning_firefox: Last ned Firefox
+ ie_warning_ie: Oppgrader Internet Explorer
+ ie_warning_other: "Kan ikke oppgradere nettleseren din? Prøv Open Food Network på smart-telefonen din :-)"
+
+ footer_global_headline: "OFN Globalt"
+ footer_global_home: "Hjem"
+ footer_global_news: "Nyheter"
+ footer_global_about: "Om"
+ footer_global_contact: "Kontakt"
+
+ footer_sites_headline: "OFN nettsteder"
+ footer_sites_developer: "Utvikler"
+ footer_sites_community: "Forum"
+ footer_sites_userguide: "Brukerhåndbok"
+
+ footer_secure: "Sikker og klarert."
+ footer_secure_text: "Open Food Network bruker SSL-kryptering (2048 bit RSA) overalt for å holde handlingen og betalingen din privat. Våre servere lagrer ikke kortopplysninger og betalinger behandles av PCI-kompatible tjenester."
+
+ footer_contact_headline: "Hold kontakten"
+ footer_contact_email: "Send oss en epost"
+
+ footer_nav_headline: "Naviger"
+ footer_join_headline: "Bli med"
+ footer_join_producers: "Bli med som Produsent"
+ footer_join_hubs: "Bli med som Hub"
+ footer_join_groups: "Bli med som Gruppe"
+ footer_join_partners: "Samarbeidspartnere"
+
+ footer_legal_call: "Les våre"
+ footer_legal_tos: "Vilkår & betingelser"
+ footer_legal_visit: "Finn oss på"
+ footer_legal_text: "Open Food Network er en programvareplattform med fri og åpen kilde. Innholdet er lisensiert under"
+ footer_legal_text2: "og vår kode under"
+ footer_legal_license_content: "CC BY-SA 3.0"
+ footer_legal_license_code: "AGPL 3"
+
+ home_shop: Handle nå
+
+ brandstory_headline: "Food, unincorporated."
+ brandstory_intro: "Noen ganger er det best å fikse systemet ved å starte et nytt..."
+ brandstory_part1: "Vi begynner fra grunnen. Med bønder og dyrkere klare til å fortelle sine historier, stolt og virkelig. Med distributører klare til å koble mennesker med produkter på en rettferdig og ærlig måte. Med kjøpere som tror på at ukentlige innkjøpsrutiner kan bidra til å forandre verden."
+ brandstory_part2: "Da trenger vi en ordentlig måte å gjøre det på. En måte som styrker alle som dyrker, selger og kjøper mat. En måte å fortelle alle historiene på, håndtere all logistikk. En måte å forvandle transaksjon til transformasjon hver dag."
+ brandstory_part3: "Derfor bygger vi en online markedsplass som endrer spillereglene. Det er transparent, slik at det skaper ekte relasjoner. Det er open-source, slik at det er eid av alle. Metoden er skalérbar for regioner og nasjoner, så folk kan starte versjoner over hele verden."
+ brandstory_part4: "Det fungerer overalt. Det forandrer alt."
+ brandstory_part5_strong: "Vi kaller det Open Food Network."
+ brandstory_part6: "Alle er vi glad i mat. Nå kan vi elske vårt matsystem også."
+
+ system_headline: "Slik fungerer det."
+ system_step1: "1. Søk"
+ system_step1_text: "Søk blant våre mangfoldige, uavhengige butikker for lokal mat i sesong. Søk i nabolag og matkategori, eller om du foretrekker levering eller å hente selv."
+ system_step2: "2. Handle"
+ system_step2_text: "Omform dine transakjsoner med rimelig lokal mat fra mangfoldige produsenter og hubs. Oppdag historiene bak maten din og de som lager den!"
+ system_step3: "3. Hent / Få det levert"
+ system_step3_text: "Vent på din leveranse, eller besøk produsenten eller hub'en for en mer personlig kobling til maten din. Mathandling så mangfoldig som meningen var fra naturens side."
+
+ cta_headline: "Handling som gjør verden til et bedre sted."
+ cta_label: "Jeg er klar"
+
+ stats_headline: "Vi skaper et nytt matsystem."
+ stats_producers: "matprodusenter"
+ stats_shops: "matbutikker"
+ stats_shoppers: "matkunder"
+ stats_orders: "matbestillinger"
+
+ checkout_title: Kasse
+ checkout_now: Gå til kassen
+ checkout_order_ready: Bestilling klar for
+ checkout_hide: Skjul
+ checkout_expand: Utvid
+ checkout_headline: "Ok, klar for betaling?"
+ checkout_as_guest: "Betal som gjest"
+ checkout_details: "Dine detaljer"
+ checkout_billing: "Betalingsinformasjon"
+ checkout_shipping: Leveringsinformasjon
+ checkout_method_free: Gratis
+ checkout_address_same: Leveringsadresse samme som fakturaadresse?
+ checkout_ready_for: "Klar for:"
+ checkout_instructions: "Kommentarer eller spesielle instruksjoner?"
+ checkout_payment: Betaling
+ checkout_send: Send bestilling
+ checkout_your_order: Din bestilling
+ checkout_cart_total: Sum handlekurv
+ checkout_shipping_price: Levering
+ checkout_total_price: Sum
+ checkout_back_to_cart: "Tilbake til Handlekurv"
+
+ order_paid: BETALT
+ order_not_paid: IKKE BETALT
+ order_total: Sum bestilling
+ order_payment: "Betaler via:"
+ order_billing_address: Fakturaadresse
+ order_delivery_on: Levering på
+ order_delivery_address: Leveringsadresse
+ order_special_instructions: "Dine kommentarer:"
+ order_pickup_instructions: Henteinstruksjoner
+ order_produce: Varer
+ order_total_price: Sum
+ order_includes_tax: (inkludert MVA)
+ order_payment_paypal_successful: Din betaling via PayPal har blitt godkjent.
+ order_hub_info: Hub info
+
+ products: "Produkter"
+ products_in: "i %{oc}"
+ products_at: "hos %{distributor}"
+ products_elsewhere: "Produkter funnet andre steder"
+
+ email_welcome: "Velkommen"
+ email_confirmed: "Takk for at du bekrefter din e-postadresse"
+ email_registered: "er nå en del av"
+ email_userguide_html: "Brukerhåndboken med detaljert støtte om hvordan man setter opp som Produsent eller Hub finnes her: %{link}"
+ email_admin_html: "Du kan administrere din konto ved å logge inn på %{link} eller ved klikke på tannhjulet øverst til høyre på hjemmesiden og velge Aministrasjon."
+ email_community_html: "Vi har også et online forum for diskusjon relatert til OFN programvaren og de forskjellige utfordringene med å drive matfirma. Vi oppfordrer deg til å bli med. Vi utvikler oss hele tiden og dine innspill til dette forumet vil forme det som skjer videre. %{link}"
+ email_help: "Hvis du har problemer, sjekk vår FAQ, utforsk forumet eller skriv et 'Support'-emne og noen vil hjelpe deg!"
+ email_confirmation_greeting: "Hei, %{contact}!"
+ email_confirmation_profile_created: "En profil for %{name} har blitt opprettet! For å aktivere din Profil må du bekrefte denne epostadressen."
+ email_confirmation_click_link: "Trykk på linken under for å bekrefte din e-post og for å fortsette oppsettet av din profil."
+ email_confirmation_link_label: "Bekreft denne epostadressen »"
+ email_confirmation_help: "Etter du har bekreftet e-postadressen får du tilgang til din administrasjonskonto for dette selskapet. Se linken %{link} for å finne ut mer om %{sitename}s funksjoner og for å begynne å bruke din profil eller nettbutikk."
+ email_confirmation_userguide: "Brukerhåndbok"
+ email_social: "Her finner du oss:"
+ email_contact: "Send oss en epost:"
+ email_signoff: "Mvh,"
+ email_signature: "%{sitename} Team"
+
+ email_confirm_customer_greeting: "Hei %{name},"
+ email_confirm_customer_intro_html: "Takk for at du handler hos %{distributor}!"
+ email_confirm_customer_number_html: "Ordrebekreftelse #%{number}"
+ email_confirm_customer_details_html: "Her er dine ordredetaljer fra %{distributor}:"
+ email_confirm_customer_signoff: "Vennlig hilsen,"
+ email_confirm_shop_greeting: "Hei %{name},"
+ email_confirm_shop_order_html: "Bra jobbet! Du har en ny ordre fra %{distributor}!"
+ email_confirm_shop_number_html: "Ordrebekreftelse #%{number}"
+ email_confirm_shop_order_detail_html: "%{firstname} %{lastname} gjennomførte følgende bestilling i din butikk:"
+ email_order_summary_item: "Vare"
+ email_order_summary_quantity: "Stk"
+ email_order_summary_price: "Pris"
+ email_order_summary_subtotal: "Delsum:"
+ email_order_summary_total: "Sum:"
+ email_payment_paid: BETALT
+ email_payment_not_paid: IKKE BETALT
+ email_payment_summary: Betalingssammendrag
+ email_order_summary_method: "Betaler via:"
+ email_shipping_delivery_details: Leveringsdetaljer
+ email_shipping_delivery_time: "Levering på:"
+ email_shipping_delivery_address: "Leveringsadresse:"
+ email_shipping_collection_details: Hentedetaljer
+ email_shipping_collection_time: "Klar for henting:"
+ email_shipping_collection_instructions: "Henteinstruksjoner:"
+ email_special_instructions: "Dine kommentarer:"
+
+ email_signup_greeting: Hei!
+ email_signup_welcome: "Velkommen til %{sitename}!"
+ email_signup_login: Din login
+ email_signup_email: Din login e-post er
+ email_signup_shop_html: "Du kan begynne å handle på nett nå på %{link}."
+ email_signup_text: "Takk for at du ble med i nettverket. Hvis du er kunde ser vi frem til å vise deg mange fantastiske bønder, flotte mat-hubs og deilig mat! Hvis du er produsent eller selskap er vi glade for å ha deg som en del av nettverket."
+ email_signup_help_html: "Vi tar i mot alle dine spørsmål og tilbakemeldinger; du kan bruke Send tilbakemelding-knappen på nettsiden eller sende oss en epost på"
+
+ shopping_oc_closed: Stengt for bestilling
+ shopping_oc_closed_description: "Vent til neste runde åpner (eller kontakt oss direkte for å se om vi tar i mot sene bestillinger)"
+ shopping_oc_last_closed: "Den siste runden stengte for %{distance_of_time} siden"
+ shopping_oc_next_open: "Neste runde åpner om %{distance_of_time}"
+ shopping_tabs_about: "Om %{distributor}"
+ shopping_tabs_contact: "Kontakt"
+ shopping_contact_address: "Adresse"
+ shopping_contact_web: "Kontakt"
+ shopping_contact_social: "Følg"
+ shopping_groups_part_of: "er en del av:"
+ shopping_producers_of_hub: "%{hub}s produsenter:"
+
+ enterprises_next_closing: "Neste runde stenger"
+ enterprises_ready_for: "Klar til"
+ enterprises_choose: "Velg når du ønsker din bestilling:"
+
+ hubs_buy: "Handle:"
+ hubs_delivery_options: "Leveringsvalg"
+ hubs_pickup: "Henting"
+ hubs_delivery: "Levering"
+ hubs_producers: "Våre produsenter"
+ hubs_filter_by: "Filtrer"
+ hubs_filter_type: "Type"
+ hubs_filter_delivery: "Levering"
+ hubs_matches: "Mente du?"
+ hubs_intro: Handle lokalt
+ hubs_distance: Nærmest
+ hubs_distance_filter: "Vis meg butikker nær %{location}"
+
+ products_clear_all: Fjern alt
+ products_showing: "Viser:"
+ products_with: med
+ products_search: "Søk på produkt eller produsent"
+ products_loading: "Laster produkter..."
+ products_updating_cart: "Oppdaterer handlekurv..."
+ products_cart_empty: "Handlekurv tom"
+ products_edit_cart: "Rediger handlekurv"
+ products_from: fra
+
+ search_no_results_html: "Beklager, ingen treff på %{query}. Prøv på nytt?"
+
+ components_profiles_popover: "Profiler har ikke butikkvindu på Open Food Network men kan ha sin egen fysiske butikk eller nettbutikk et annet sted"
+ components_profiles_show: "Vis profiler"
+ components_filters_nofilters: "Ingen filter"
+ components_filters_clearfilters: "Fjern alle filtre"
+
+ groups_title: Grupper
+ groups_headline: Grupper / regioner
+ groups_search: "Søk på navn eller nøkkelord"
+ groups_no_groups: "Fant ingen grupper"
+ groups_about: "Om oss"
+ groups_producers: "Våre produsenter"
+ groups_hubs: "Våre hubs"
+ groups_contact_web: Kontakt
+ groups_contact_social: Følg
+ groups_contact_address: Adresse
+ groups_contact_email: Send oss epost
+ groups_contact_website: Besøk oss på nett
+ groups_contact_facebook: Følg oss på Facebook
+ groups_signup_title: Bli med som gruppe
+ groups_signup_headline: Bli med som gruppe
+ groups_signup_intro: "Vi er en fantastisk plattform for samarbeidende markedsføring, den enkleste måten for medlemmer og interessenter å nå nye markeder. Vi er non-profit, rimelig og enkel."
+ groups_signup_email: Send oss epost
+ groups_signup_motivation1: Vi forvandler matsystemer rettferdig.
+ groups_signup_motivation2: Det er grunnen til at vi står opp om morgenen. Vi er en global non-profit, basert på åpen kildekode. We opptrer rettferdig. Du kan alltid stole på oss.
+ groups_signup_motivation3: Vi vet du har gode ideer og vi ønsker å hjelpe. Vi deler vår kunnskap, våre nettverk og ressurser. Vi vet at isolasjon ikke skaper endring så vi vil samarbeide med deg.
+ groups_signup_motivation4: Vi møter deg der du er.
+ groups_signup_motivation5: Du kan være en allianse av mat-hubs, produsenter eller distributører, i industri eller lokale myndigheter.
+ groups_signup_motivation6: Uansett din rolle i den lokale matkjeden, vi ønsker å hjelpe. Hvis du lurer på hvordan Open Food Network vil se ut eller hva de gjør i din del av verden, la oss snakke sammen.
+ groups_signup_motivation7: Vi gir matkjeden mer mening.
+ groups_signup_motivation8: Du trenger å aktivere og tilrettelegge for dine nettverk, vi tilbyr en plattform for samtale og handling. Du trenger ekte engasjement. Vi hjelper til med å nå alle aktører, alle interessenter, alle sektorer.
+ groups_signup_motivation9: Du trenger flere ressurser. We kommer med all erfaring vi kan bære. Du trenger samarbeid. Vi kobler deg med et globalt nettverk med likesinnede.
+ groups_signup_pricing: Gruppekonto
+ groups_signup_studies: Bruksundersøkelser
+ groups_signup_contact: Klar for å snakke sammen?
+ groups_signup_contact_text: "Ta kontakt for å oppdage hva OFN kan gjøre for deg:"
+ groups_signup_detail: "Her er detaljene."
+
+ login_invalid: "Ugyldig epost eller passord"
+
+ modal_hubs: "Mat-hubs"
+ modal_hubs_abstract: Våre hubs er kontaktpunkt mellom deg og menneskene som lager maten din!
+ modal_hubs_content1: Du kan søke etter en passende hub på lokasjon eller navn. Noen hubs har flere hentepunkt hvor du kan plukke opp det du har kjøpt, og noen tilbyr også levering. Hver mat-hub er en butikk med uavhengige drift og logistikk - så det vil være forskjeller mellom huber.
+ modal_hubs_content2: Du kan kun handle hos en hub om gangen.
+
+ modal_groups: "Grupper / Regioner"
+ modal_groups_content1: Dette er organisasjonene og hub-koblingene som utgjør Open Food Network.
+ modal_groups_content2: Noen grupper er klynger basert på lokalnivå eller kommunenivå, andre har ingen geografiske likheter.
+
+ modal_how: "Slik fungerer det"
+ modal_how_shop: Handle på Open Food Network
+ modal_how_shop_explained: Søk etter en mat-hub nær deg for å begynne å handle! Du kan utse detaljer for hver mat-hub for å se hvilke godbiter som er finnes, og klikk deg videre for å handle. (Du kan kun handle hos en mat-hub om gangen).
+ modal_how_pickup: Henting, levering og transportkostnader
+ modal_how_pickup_explained: Noen mat-hubs leverer på døren, mens andre krever at du henter varene du har kjøpt. Du kan se hvilke alternativ som er tilgjengelige på hjemmesiden, og velge hvilket du ønsker på handle- og betalingssidene. Levering koster mer, og prisene varierer fra hub til hub. Hver mat-hub er en forretning med uavhengig drift og logistikk - så variasjoner mellom hubs er naturlig.
+ modal_how_more: Finn ut mer
+ modal_how_more_explained: "Hvis du ønsker å lære mer om Open Food Network, hvordan det fungerer og ta del, sjekk ut:"
+
+ modal_producers: "Produsenter"
+ modal_producers_explained: "Våre produsenter lager all den herlige maten du kan handle på Open Food Network."
+
+ ocs_choice_hub: "Hub:"
+ ocs_choice_oc: "Bestillingsrunde:"
+ ocs_choice_text: "Du har ennå ikke valgt hvor du vil handle fra."
+ ocs_closed_headline: Bestillinger er for tiden stengt for denne huben
+ ocs_closed_time: "Den siste runden stengte for %{time} siden."
+ ocs_closed_contact: "Vennligst kontakt din hub direkte for å se om de godtar sene bestillinger, eller vent til neste runde åpner."
+ ocs_closed_opens: "Den neste bestillingsrunden åpner om %{time}"
+ ocs_closed_email: "Epost: %{email}"
+ ocs_closed_phone: "Telefon: %{phone}"
+ ocs_pickup_time: "Din bestilling vil være klar %{pickup_time}"
+ ocs_change_date: "Endre hentedato"
+ ocs_change_date_notice: "(Dette nullstiller kurven din)"
+ ocs_close_time: "BESTILLINGER STENGER"
+ ocs_when_headline: Når ønsker du bestillingen din?
+ ocs_when_text: Ingen varer vises før du velger en dato.
+ ocs_when_closing: "Stenger"
+ ocs_when_choose: "Velg Bestillingsrunde"
+ ocs_list: "Listevisning"
+
+ producers_about: Om oss
+ producers_buy: Handle
+ producers_contact: Kontakt
+ producers_contact_phone: Ring
+ producers_contact_social: Følg
+ producers_at: "varer hos:"
+ producers_filter: Filtrer på
+ producers_filter_type: Type
+ producers_title: Produsenter
+ producers_headline: Finn lokale produsenter
+ producers_signup_title: Bli med som produsent
+ producers_signup_headline: Matprodusenter, styrket.
+ producers_signup_motivation: Selg dine produkter og fortell dine historier til mangfoldige ny markeder. Spar tid og penger på alt du ikke ønsker å gjøre selv. Vi støtter nyskaping uten risiko. Vi jevner ut spillet.
+ producers_signup_send: Bli med nå
+ producers_signup_enterprise: Bedriftskonto
+ producers_signup_studies: Historier fra våre produsenter.
+ producers_signup_cta_headline: Bli med nå!
+ producers_signup_cta_action: Bli med nå
+ producers_signup_detail: Detaljene.
+
+ products_item: Vare
+ products_description: Beskrivelse
+ products_variant: Variant
+ products_quantity: Antall
+ products_availabel: Tilgjengelig?
+ products_price: Pris
+
+ register_title: Registrer
+
+ shops_title: Butikker
+ shops_headline: Handling på en ny måte.
+ shops_text: Mat gror i syklus, bønder høster i syklus, og vi bestiller mat i syklus. Hvis du møter en stengt besillingsrunde, sjekk igjen snart.
+ shops_signup_title: Bli med som hub
+ shops_signup_headline: Mat-hubs, ubegrenset.
+ shops_signup_motivation: Uansett modell støtter vi deg. Uansett hvordan du forandrer deg er vi med deg. Vi er non-profitt, uavhengig, og transparent. Vi er løsningspartneren du har drømt om.
+ shops_signup_action: Bli med nå
+ shops_signup_pricing: Bedriftskonto
+ shops_signup_stories: Historier fra våre hubs.
+ shops_signup_help: Vi er klar til å hjelpe.
+ shops_signup_help_text: Du trenger bedre resultater. Du trenger nye kunder og logistikkpartnere. Du trenger å få din historie fortalt hos grossister, i dagligvaren og rundt kjøkkenbordet.
+ shops_signup_detail: Detaljene.
+
+ orders_fees: Gebyrer...
+ orders_edit_title: Handlekurv
+ orders_edit_headline: Din handlekurv
+ orders_edit_time: Bestilling klar for
+ orders_edit_continue: Fortsett å handle
+ orders_edit_checkout: Kassen
+ orders_form_empty_cart: "Tøm handlekurv"
+ orders_form_subtotal: Vis delsum
+ orders_form_admin: Admin og håndtering
+ orders_form_subtotal: Sum
+ orders_oc_expired_headline: Bestillinger stengt for denne runden
+ orders_oc_expired_text: "Beklager, bestillinger for denne runden stengte for %{time} siden! Kontakt din hub direkte for å høre om de tar i mot sene bestillinger."
+ orders_oc_expired_text_others_html: "Beklager, bestillinger for denne runden stengte for %{time} siden! Kontakt din hub direkte for å høre om de tar i mot sene bestillinger %{link}."
+ orders_oc_expired_text_link: "eller se på de andre bestillinsrundene tilgjengelig fra denne huben"
+ orders_oc_expired_email: "Epost:"
+ orders_oc_expired_phone: "Telefon:"
+ orders_show_title: Ordrebekreftelse
+ orders_show_time: Bestilling klar for
+ orders_show_number: Ordrebekreftelse
+
+ products_cart_distributor_choice: "Distributør for bestillingen:"
+ products_cart_distributor_change: "Din distributør for denne ordren vil bli endret til %{name} hvis du legger til dette produktet i handlekurven din."
+ products_cart_distributor_is: "Din distributør for denne ordren er %{name}."
+ products_distributor_error: "Vennligst fullfør din bestilling hos %{link} før du handler hos en annen distributør."
+ products_oc: "Bestillingsrunde for din bestilling:"
+ products_oc_change: "Din bestillingsrunde for denne bestillingen vil bli endret til %{name} hvis du legger til dette produktet i den handlekurv."
+ products_oc_is: "Din bestillingsrunde for denne bestillingen er %{name}."
+ products_oc_error: "Vennligst fullfør din bestilling hos %{link} før du handler i en annen bestillingsrunde."
+ products_oc_current: "din nåværende bestillingsrunde"
+ products_quantity: Mengde
+ products_max_quantity: Max mengde
+ products_distributor: Distributør
+ products_distributor_info: Når du velger en distributør for din bestilling, vil deres adresse og hentetider vises her.
diff --git a/config/ng-test.conf.js b/config/ng-test.conf.js
index 56df589f0c..0cc4fc385e 100644
--- a/config/ng-test.conf.js
+++ b/config/ng-test.conf.js
@@ -25,6 +25,7 @@ module.exports = function(config) {
'**/.#*',
'app/assets/javascripts/darkswarm/all.js.coffee',
'app/assets/javascripts/darkswarm/overrides.js.coffee',
+ 'app/assets/javascripts/darkswarm/i18n.js.erb',
'app/assets/javascripts/admin/util.js.erb'
],
diff --git a/lib/tasks/karma.rake b/lib/tasks/karma.rake
index 4ebd4ae278..ec994d37fc 100644
--- a/lib/tasks/karma.rake
+++ b/lib/tasks/karma.rake
@@ -11,7 +11,7 @@ namespace :karma do
def with_tmp_config(command, args = nil)
Tempfile.open('karma_unit.js', Rails.root.join('tmp') ) do |f|
- f.write unit_js(application_spec_files)
+ f.write unit_js(application_spec_files << i18n_file)
f.flush
trap('SIGINT') { puts "Killing Karma"; exit }
exec "karma #{command} #{f.path} #{args}"
@@ -29,4 +29,13 @@ namespace :karma do
unit_js = File.open('config/ng-test.conf.js', 'r').read
unit_js.gsub "APPLICATION_SPEC", "\"#{files.join("\",\n\"")}\""
end
+
+ def i18n_file
+ I18n.backend.send(:init_translations) unless I18n.backend.initialized?
+ f = Tempfile.open('i18n.js', Rails.root.join('tmp') )
+ f.write 'window.I18n = '
+ f.write I18n.backend.send(:translations)[I18n.locale].with_indifferent_access.to_json.html_safe
+ f.flush
+ f.path
+ end
end
diff --git a/script/ci/run_tests.sh b/script/ci/run_tests.sh
index efae0805a6..46c4d31ad8 100755
--- a/script/ci/run_tests.sh
+++ b/script/ci/run_tests.sh
@@ -17,5 +17,8 @@ echo "--- Loading test database"
bundle exec rake db:drop db:create db:schema:load
bundle exec rake parallel:drop parallel:create parallel:load_schema
+echo "--- Emptying cache"
+bundle exec rake tmp:clear
+
echo "--- Running tests"
bundle exec rake parallel:spec
diff --git a/spec/features/admin/cms_spec.rb b/spec/features/admin/cms_spec.rb
index e3dfcf19b9..2d4056b792 100644
--- a/spec/features/admin/cms_spec.rb
+++ b/spec/features/admin/cms_spec.rb
@@ -21,7 +21,7 @@ feature %q{
scenario "anonymous user can't access CMS admin", js: true do
visit cms_admin_path
page.should_not have_content "ComfortableMexicanSofa"
- page.should have_content "Log in"
+ page.should have_content "Login"
end
scenario "non-admin user can't access CMS admin", js: true do
diff --git a/spec/features/consumer/registration_spec.rb b/spec/features/consumer/registration_spec.rb
index 27b748cce5..d36cd48f7d 100644
--- a/spec/features/consumer/registration_spec.rb
+++ b/spec/features/consumer/registration_spec.rb
@@ -11,7 +11,7 @@ feature "Registration", js: true do
expect(URI.parse(current_url).path).to eq registration_auth_path
- page.has_selector? "dd", text: "Log in"
+ page.has_selector? "dd", text: "Login"
switch_to_login_tab
# Enter Login details
@@ -102,8 +102,8 @@ feature "Registration", js: true do
# Link appears to be unresponsive for a while, so keep clicking it until it works
using_wait_time 0.5 do
10.times do
- click_link "Log in"
- break if page.has_selector? "dd.active", text: "Log in"
+ find("a", text: "Login").click()
+ break if page.has_selector? "dd.active", text: "Login"
end
end
end
@@ -112,7 +112,7 @@ feature "Registration", js: true do
# Buttons appear to be unresponsive for a while, so keep clicking them until content appears
using_wait_time 1 do
3.times do
- click_button "Log in"
+ click_button "Login"
break if page.has_selector? "div#loading", text: "Hold on a moment, we're logging you in"
end
end
diff --git a/spec/features/consumer/shopping/checkout_auth_spec.rb b/spec/features/consumer/shopping/checkout_auth_spec.rb
index 8b4f3bb977..a19776f7a9 100644
--- a/spec/features/consumer/shopping/checkout_auth_spec.rb
+++ b/spec/features/consumer/shopping/checkout_auth_spec.rb
@@ -25,7 +25,7 @@ feature "As a consumer I want to check out my cart", js: true do
quick_login_as user
visit checkout_path
within "section[role='main']" do
- page.should_not have_content "Log in"
+ page.should_not have_content "Login"
page.should have_checkout_details
end
end
@@ -33,19 +33,19 @@ feature "As a consumer I want to check out my cart", js: true do
it "renders the login buttons when logged out" do
visit checkout_path
within "section[role='main']" do
- page.should have_content "Log in"
- click_button "Log in"
+ page.should have_content "Login"
+ click_button "Login"
end
page.should have_login_modal
end
it "populates user details once logged in" do
visit checkout_path
- within("section[role='main']") { click_button "Log in" }
+ within("section[role='main']") { click_button "Login" }
page.should have_login_modal
fill_in "Email", with: user.email
fill_in "Password", with: user.password
- within(".login-modal") { click_button 'Log in' }
+ within(".login-modal") { click_button 'Login' }
toggle_details
page.should have_field 'First Name', with: 'Foo'
diff --git a/spec/support/request/authentication_workflow.rb b/spec/support/request/authentication_workflow.rb
index e71c0dd21a..79b6d81452 100644
--- a/spec/support/request/authentication_workflow.rb
+++ b/spec/support/request/authentication_workflow.rb
@@ -70,7 +70,7 @@ module AuthenticationWorkflow
visit spree.login_path
fill_in 'email', :with => 'someone@ofn.org'
fill_in 'password', :with => 'passw0rd'
- click_button 'Log in'
+ click_button 'Login'
end
end
diff --git a/spec/support/request/ui_component_helper.rb b/spec/support/request/ui_component_helper.rb
index d9f01b447b..0b478a76ce 100644
--- a/spec/support/request/ui_component_helper.rb
+++ b/spec/support/request/ui_component_helper.rb
@@ -9,7 +9,7 @@ module UIComponentHelper
end
def click_login_button
- click_button "Log in"
+ click_button "Login"
end
def click_signup_button
@@ -28,7 +28,7 @@ module UIComponentHelper
end
def open_login_modal
- find("a", text: "Log in").click
+ find("a", text: "Login").click
end
def open_off_canvas