我使用带有spree 3.2.0.rc3的rails 5.0.2。我在翻译文件中有这个键:
ru:
spree:
shipment_states:
canceled: 'отменен'
canceled_test: 'test'
在开发过程中,我抓住了I18n :: MissingTranslationData异常,并显示消息:' 翻译缺失:ru.spree.shipment_states.canceled '。我可以在异常页面的控制台上看到,我的翻译已经加载(' canceled_test' 键已添加),但'已取消' 键因某些原因被忽略:
>> (I18n.t '.')[:spree][:shipment_states]
=> {:backorder=>"задерживается", :canceled=>nil, :partial=>"частично", :pending=>"ожидает", :ready=>"готов", :shipped=>"отправлен", :canceled_test=>"test"}
为什么呢?我该怎么调试呢?
答案 0 :(得分:0)
检查你的application.rb是否存在一行:
config.i18n.default_locale = :ru
然后尝试将所有状态添加到'shipment_states'。在我的情况下获得了以下代码:
ru:
spree:
shipment_states:
backorder: 'Задерживается'
canceled: 'Отменен'
partial: 'Доставлен частично'
pending: 'Ожидает подтверждения'
ready: 'Готов к отправке'
shipped: 'Отправлен'