在ruby(sinatra应用程序)中本地化strftime以在法语中使用日期名称的最佳方法是什么?
我有:
"2012-06-04".strftime("%a") # => "Mon"
我想:
"2012-06-04".strftime("%a") # => "Lun"
谢谢!
答案 0 :(得分:5)
使用R18n internationalization gem。在你的情况下sinatra-r18n
宝石。它支持多种语言环境。
set :default_locale, 'fr'
这会将默认语言环境设为法语。
答案 1 :(得分:0)
以下是您的问题的三种解决方案:
1)您可以覆盖方法strftime并执行类似的操作(在右侧类中)
class XXX #put the right name
DAY ={
"Mon" => "Lun",
"Tue" => "Mar",
...
}
alias :old_strftime :strftime #Keep a reference to the old method
def strftime(arg)
DAY[old_strftime(arg)]
end
end
或者:
2)[推荐] 只需在代码中使用上面使用的DAY哈希并转到
DAY["2012-06-04".strftime("%a")]
3)继承前面提到的类(用“French”作为前缀并插入上面的代码)。