sistrall.it
Pubblicato il

Globalize e simboli per i formati data

Ehi, questo post è un contenuto vintage. Risale a più di 17 anni fa: può contenere informazioni errate e non attuali.

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

Le password sul web con PassPack

Successivo

Viaggio in ActiveSupport

Sono Silvano Stralla. Faccio lo sviluppatore, mi piace fare fotografie e pedalare biciclette.
Se vuoi, puoi scrivermi a silvano.stralla at sistrall.it.
Questo sito è fatto a mano, con amore, a Torino (Italia).

© 2002—2024 Silvano Stralla