Globalize e simboli per i formati data
Globalize è un plugin che facilità l’internazionalizzazione di applicazioni scritte in Rails.
The Ruby Mine ha pubblicato poco tempo fa un’introduzione al suo utilizzo.
Globalize mette a disposizione il metodo localize
che si occupa di formattare correttamente data e ora, in sintonia con le impostazioni di localizzazione scelte per l’applicazione. localize
, purtroppo, è pensato per prendere come parametro una stringa di formattazione di data e ora; molto più comodo sarebbe poter usare i simboli_, come si può fare con @tos@ in Rails. Meglio date.localize(:long)
di date.localize('%d %B %Y %H:%M')
, no?
Il frammento di codice che segue, aggiunto a environment.rb
, permette di ottenere il risultato desiderato (prevede l’uso di alias_method_chain
).
module Globalize
module CoreExtensions
module Time
def localize_with_symbol_support(format)
localize_without_symbol_support(::Time::DATE_FORMATS[format] ? ::Time::DATE_FORMATS[format] : format)
end
aliasmethodchain :localize, :symbolsupport end module Date def localizewithsymbolsupport(format) localizewithoutsymbolsupport(::Date::DATEFORMATS[format] ? ::Date::DATEFORMATS[format] : format) end aliasmethodchain :localize, :symbolsupport end end
end
Precedente
15 dicembre 2006
Successivo
19 dicembre 2006