まず、rails-i18n gemをインストールします。この宝石には、多くのロケールのローカリゼーションデータが含まれています。 READMEに記載されているように、Railsのバージョンに基づいてインストールする宝石のバージョンを細心の注意を払ってください。
次に、あなたがあなたのapplication.rb
設定でサポートする必要があるロケール(として再びREADMEに記載)を定義します。次に
config.i18n.available_locales = [:cs, :en, :es, :de]
を、あなたは、単に(すなわち国際化のlocalize
方法I18n.l
を使用することができます)を指定し、指定されたロケールで月名のみを出力するようにします(書式設定オプションについては、localize
in the Rails guidesとstrftime
の詳細を参照してください)。
最初に1年間に一連の日付(たとえば、すべての月の第1日)を生成する必要があります。
# generate dates for each month in the year
dates = (1..12).map{|d| Date.parse("#{'%02d' % d}/01") }
# => [Fri, 01 Jan 2016, Mon, 01 Feb 2016, Tue, 01 Mar 2016, Fri, ..., 01 Nov 2016, Thu, 01 Dec 2016]
# use these dates to get month names in the given locale
dates.map{ |d| I18n.l(d, format: "%B", locale: :en) }
# => ["January", "February", "March", "April", "May", ..., "November", "December"]
dates.map{ |d| I18n.l(d, format: "%B", locale: :de) }
# => ["Januar", "Februar", "März", "April", "Mai", ..., "November", "Dezember"]
dates.map{ |d| I18n.l(d, format: "%B", locale: :cs) }
# => ["leden", "únor", "březen", "duben", "květen", ..., "listopad", "prosinec"]
はい、その後、手動で翻訳を行う必要があります。とにかくRailsが私のために翻訳を処理してくれるのであれば、私はすでに英語の名前を私に与えることができるので、私は望んでいた。 –
@Dbugger何を手作業で翻訳するのですか? –
名前は自動的に英語で提供されるので、私はそれらを別の言語でも自動的に入手できるかどうか疑問に思っていました。 –