Если и есть за что не любить Ruby и Rails, так это за такое вот…

begin
  require 'locale'

  # Do as if we are gettext
  module Locale
    # FreeBSD has ALL, and OS X has LC_ALL. And ruby-gettext has ALL but does not work.
    if defined?(LC_ALL)
      ALL = LC_ALL
    end

    def self.switch(name)
      if self.respond_to?(:setlocale)
        send :setlocale, Locale::ALL, name
      elsif self.respond_to?(:set)
        send :set, Locale::ALL, name
      end
    end
  end

  # I hate Rails and Ruby because of things like
  class Date
    def strftime(*args)
      # might be with args
      unless args.empty?
        to_time.strftime(*args)
      # might be with without - thx Date, idiots.
      # ActiveRecord and YAML actually use this juz' like that    
      else
        to_time.strftime(fmt='%F')
      end
    end
  end
rescue LoadError
  # Do as if we are gettext
  module Locale
    def self.switch(name)
      RAILS_DEFAULT_LOGGER.warn "Cannot switch locales"
    end
  end
end

#ifdef нервно курит за дверью. Когда же они возьмут себя в руки…

Это к вопросу о том, что ruby-gettext вообще не поддерживает форматирование дат. В смысле совсем.

UPD: А вместо того чтобы не портить наши буковки они строят вот такую вот CORBA: