我有一個自定義的輔助方法,它輸出保存的百分比。例如,它將計算物品的折扣並輸出「20%折扣」。Rails I18n:根據語言環境調用不同的邏輯
我將網站本地化爲中文,而在中文中同樣的折扣表達方式不同。 「20%off」表示爲「8 Cut」或「80%原價」。由於這兩個表達式是完全不同的,我想我需要編寫兩個版本的helper方法。
目前我寫的這個樣子,在助手自己檢查區域設置:
def percent_off(discount, locale=I18n.locale)
if not locale.to_s.include?('zh')
n = ((1 - (discount.preferential_price/discount.original_price)) * 100) .to_i
"#{n}% off"
else
# Chinese
n = ((discount.preferential_price/discount.original_price) * 10) .to_i
"#{n} cut"
end
end
有沒有更好的方式來做到這一點?
我覺得現在您的解決方案是最乾淨的,但由於每個地區的措辭和邏輯都非常緊密耦合,我覺得把它們放在一起品牌管理他們更容易。 – lulalala 2012-02-10 06:20:21