diff --git a/app/assets/javascripts/darkswarm/i18n.translate.js.coffee b/app/assets/javascripts/darkswarm/i18n.translate.js.coffee index c455b6d9e1..eda092da83 100644 --- a/app/assets/javascripts/darkswarm/i18n.translate.js.coffee +++ b/app/assets/javascripts/darkswarm/i18n.translate.js.coffee @@ -4,8 +4,13 @@ window.translate = (key, options = {}) -> unless 'I18n' of window console.log 'The I18n object is undefined. Cannot translate text.' return key - return key unless key of I18n - text = I18n[key] + dict = I18n + parts = key.split '.' + while (parts.length) + part = parts.shift() + return key unless part of dict + dict = dict[part] + text = dict for name, value of options text = text.split("%{#{name}}").join(value) text diff --git a/app/serializers/api/order_serializer.rb b/app/serializers/api/order_serializer.rb index 9d7a453b18..acbd0fdd01 100644 --- a/app/serializers/api/order_serializer.rb +++ b/app/serializers/api/order_serializer.rb @@ -5,7 +5,7 @@ module Api has_many :payments, serializer: Api::PaymentSerializer def completed_at - object.completed_at.blank? ? "" : I18n.l(object.completed_at, format: :long) #.to_formatted_s(:long_ordinal) + object.completed_at.blank? ? "" : I18n.l(object.completed_at, format: :long) end def total @@ -13,15 +13,15 @@ module Api end def shipment_state - object.shipment_state ? object.shipment_state.humanize : nil # Or a call to t() here? + object.shipment_state ? object.shipment_state : nil end def payment_state - object.payment_state ? object.payment_state.humanize : nil # Or a call to t() here? + object.payment_state ? object.payment_state : nil end def state - object.state ? object.state.humanize : nil # Or a call to t() here? + object.state ? object.state : nil end def path diff --git a/app/views/spree/users/_fat.html.haml b/app/views/spree/users/_fat.html.haml index c31a16c9ec..94088e2bef 100644 --- a/app/views/spree/users/_fat.html.haml +++ b/app/views/spree/users/_fat.html.haml @@ -14,8 +14,8 @@ %td.order1 %a{"bo-href" => "order.path", "bo-text" => "('order' | t )+ ' ' + order.number"} %td.order2{"bo-text" => "order.completed_at"} - %td.order3.show-for-large-up{"bo-text" => "order.payment_state | t"} - %td.order4.show-for-large-up{"bo-text" => "order.shipment_state | t"} + %td.order3.show-for-large-up{"bo-text" => "'spree.payment_states.' + order.payment_state | t"} + %td.order4.show-for-large-up{"bo-text" => "'spree.shipment_states.' + order.shipment_state | t"} %td.order5.text-right{"bo-text" => "order.total | localizeCurrency"} %td.order6.text-right.show-for-large-up{"ng-class" => "{'credit' : order.outstanding_balance < 0, 'debit' : order.outstanding_balance > 0, 'paid' : order.outstanding_balance == 0}", "bo-text" => "order.outstanding_balance | localizeCurrency"} %td.order7.text-right{"ng-class" => "{'credit' : order.running_balance < 0, 'debit' : order.running_balance > 0, 'paid' : order.running_balance == 0}", "bo-text" => "order.running_balance | localizeCurrency"} diff --git a/app/views/spree/users/_skinny.html.haml b/app/views/spree/users/_skinny.html.haml index aee1884746..14c04f024a 100644 --- a/app/views/spree/users/_skinny.html.haml +++ b/app/views/spree/users/_skinny.html.haml @@ -7,7 +7,6 @@ %strong{"bo-text" => "distributor.name"} .columns.small-8.small-offset-2.medium-3.text-right %span.margin-top.distributor-balance{"bo-text" => "distributor.balance | formatBalance", "ng-class" => "{'credit' : distributor.balance < 0, 'debit' : distributor.balance > 0, 'paid' : distributor.balance == 0}" } - -# %span.margin-top{"bo-text" => "('balance' | t) + ': ' + Orders.currency_symbol + distributor.balance", "ng-class" => "{'credit' : order.outstanding_balance < 0, 'debit' : order.outstanding_balance > 0, 'paid' : order.outstanding_balance == 0}"} .columns.small-2.medium-2.text-right %span.margin-top %i{"ng-class" => "{'ofn-i_005-caret-down' : !open(), 'ofn-i_006-caret-up' : open()}"} diff --git a/config/locales/en.yml b/config/locales/en.yml index 4fb740cde6..fb79dfe1fc 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -689,3 +689,34 @@ Please follow the instructions there to make your enterprise visible on the Open you_have_no_orders_yet: "You have no orders yet" running_balance: "Running balance" outstanding_balance: "Outstanding balance" + + spree: + shipment_states: + backorder: backorder + partial: partial + pending: pending + ready: ready + shipped: shipped + payment_states: + balance_due: balance due + completed: completed + checkout: checkout + credit_owed: credit owed + failed: failed + paid: paid + pending: pending + processing: processing + void: void + order_state: + address: address + adjustments: adjustments + awaiting_return: awaiting return + canceled: canceled + cart: cart + complete: complete + confirm: confirm + delivery: delivery + payment: payment + resumed: resumed + returned: returned + skrill: skrill diff --git a/spec/serializers/enterprise_serializer_spec.rb b/spec/serializers/enterprise_serializer_spec.rb index f70852d973..f5eff4f771 100644 --- a/spec/serializers/enterprise_serializer_spec.rb +++ b/spec/serializers/enterprise_serializer_spec.rb @@ -1,4 +1,4 @@ -#require 'spec_helper' +require 'spec_helper' describe Api::EnterpriseSerializer do let(:serializer) { Api::EnterpriseSerializer.new enterprise, data: data } diff --git a/spec/serializers/order_serializer_spec.rb b/spec/serializers/order_serializer_spec.rb index 1b7c99715b..2c327537eb 100644 --- a/spec/serializers/order_serializer_spec.rb +++ b/spec/serializers/order_serializer_spec.rb @@ -1,4 +1,4 @@ -#require 'spec_helper' +require 'spec_helper' describe Api::OrderSerializer do let(:serializer) { Api::OrderSerializer.new order } @@ -9,9 +9,9 @@ describe Api::OrderSerializer do expect(serializer.to_json).to match order.number.to_s end - it "convert the state attributes to readable strings" do - expect(serializer.to_json).to match "Complete" - expect(serializer.to_json).to match "Balance due" + it "convert the state attributes to translatable keys" do + expect(serializer.to_json).to match "complete" + expect(serializer.to_json).to match "balance_due" end end diff --git a/spec/serializers/orders_by_distributor_serializer_spec.rb b/spec/serializers/orders_by_distributor_serializer_spec.rb index 4a75f76fea..5976e9ad48 100644 --- a/spec/serializers/orders_by_distributor_serializer_spec.rb +++ b/spec/serializers/orders_by_distributor_serializer_spec.rb @@ -1,4 +1,4 @@ -#require 'spec_helper' +require 'spec_helper' describe Api::OrdersByDistributorSerializer do