Again on Rails Edge i18n with SimpleBackend 1

Posted by kain Fri, 22 Aug 2008 21:56:00 GMT

one hour ago a changeset changed how i18n in rails edge behaves, the main feature, apart some bug fixes, are that the language files can be in yaml.

it-IT:
  activerecord:
    errors:
      # The values :model, :attribute and :value are always available for interpolation
      # The value :count is available when applicable. Can be used for pluralization.
      messages:
        inclusion: "non è incluso nella lista"
        exclusion: "è riservato"
        invalid: "è invalido"
        confirmation: "non coincide con la conferma"
        accepted: "deve essere accettata"
        empty: "non può essere vuoto"
        blank: "non può essere vuoto"
        too_long: "è troppo lungo (il massimo è {{count}} lettere)"
        too_short: "è troppo corto (il minimo è {{count}} lettere)"
        wrong_length: "è della lunghezza sbagliata (deve essere di {{count}} lettere)"
        taken: "è già in uso"
        not_a_number: "non è un numero"
        greater_than: "deve essere superiore a {{count}}"
        greater_than_or_equal_to: "deve essere superiore o uguale a {{count}}"
        equal_to: "deve essere uguale a {{count}}"
        less_than: "deve essere meno di {{count}}"
        less_than_or_equal_to: "deve essere meno o uguale a {{count}}"
        odd: "deve essere dispari"
        even: "deve essere pari"
        # Append your own errors here or at the model/attributes scope.
        can_only_contain_letters_and_numbers: "può contenere solo lettere e numeri"
        can_t_be_blank_or_is_not_valid: "non può essere vuoto o non valido"

      models:
        # Overrides default messages

      attributes:
        # Overrides model and default messages.
class ApplicationController < ActionController::Base
  before_filter :set_locale
  private
  # Sets the locale for the current request.
  def set_locale
    # I18n.default_locale returns the current default locale. Defaults to 'en-US'
    locale = params[:locale] || session[:locale] || (this_user.site_language if is_logged_in?) || I18n.default_locale
    # TODO: insert a conditional check there to make sure be choose a valid supported locale.
    session[:locale] = locale

    # Sets the current locale pseudo-globally, i.e. in the Thread.current hash.
    I18n.locale = locale
    # Allow client libraries to pass a block that populates the translation
    # storage. Decoupled for backends like a db backend that persist their
    # translations, so the backend can decide whether/when to yield or not.
    I18n.populate do
      # Allows client libraries to pass arguments that specify a source for
      # translation data to be loaded by the backend. The backend defines
      # acceptable sources.
      # E.g. the provided SimpleBackend accepts a list of paths to translation
      # files which are either named *.rb and contain plain Ruby Hashes or are
      # named *.yml and contain YAML data.)
      I18n.load_translations "lib/locale/#{locale}.yml"
    end
  end
Trackbacks

Use the following link to trackback from your own site:
http://www.icoretech.org/trackbacks?article_id=again-on-i18n&day=22&month=08&year=2008

Comments

Leave a comment

  1. Avatar
    Clair Montoya 2 months later:
    1xvmxj95bnhaoeet
Comments