たとえば、フランス語で日の名前を付けるために、ルビー(sinatraアプリ)でstrftimeをローカライズするための最良の方法は何ですか?
私は持っています :
"2012-06-04".strftime("%a") # => "Mon"
が欲しいです :
"2012-06-04".strftime("%a") # => "Lun"
ありがとうございました!
たとえば、フランス語で日の名前を付けるために、ルビー(sinatraアプリ)でstrftimeをローカライズするための最良の方法は何ですか?
私は持っています :
"2012-06-04".strftime("%a") # => "Mon"
が欲しいです :
"2012-06-04".strftime("%a") # => "Lun"
ありがとうございました!
あなたの問題に対する3つの解決策は次のとおりです。
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" を前に付けて、上記のコードを挿入します)。