juliklive , venting since 2003

Иногда бывает и так

Если и есть за что не любить 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:

Suspects: Веб-стройка

What others said

Макс Лапшин

Ты будешь смеяться, но ровно сегодня я ковырялся именно с таким же кодом.

Мне нужно было просто $10,000 или 10 000 р.

Возникает желание взять это как-то в свои руки.

Julik

Так ведь и берут... http://rubyforge.org/projects/icu4r/ только в последний раз когда я игрался с этой штукой она не могла склеить обычную строку с неюникодной :-(

Макс Лапшин

Хм. А он заводит новый класс для юникодных строк?

Julik

Да, отдельный 16-битный класс для строк (не печатаемый по дефолту даже в терминал), не совместимый с обычным - которому еще и свои регулярки надо подавать и так далее... короче говоря, "увы".

Julik

То есть не "увы" - проект хороший но реализация из языков, ничего с Руби не имеющих - "давайте дружно кастить" называется

meadow.nnick

Хотя есть желание просто прибить этот тупой проект (icu4r), как глючный и бесполезный, для желающих в качестве эксперимента добавлено автопреобразование String->UString, Regexp->URegexp в методах UString, где это кажется целесообразным. если все строки - в UTF8, то вроде проблем быть не должно.

Кому интересно - можете потестить http://rubyforge.org/frs/download.php/11088/icu4r-0.1.4.2006.06.15-experimental.tar.gz

meadow.nnick

Чуть исправленный:

http://rubyforge.org/frs/download.php/11089/icu4r-0.1.4.2006.06.15-experimental.tar.gz a.rb(main):001:0> a = "что за XXX!".u => \u0447\u0442\u043E\u0020\u0437\u0430\u0020\u0058\u0058\u0058\u0021 a.rb(main):002:0> puts a что за XXX! => nil a.rb(main):003:0> a[/([а-я]+)\s+(\w+)\s+(\w+)/i,2]='shön mädhen' => "sh\303\266n m\303\244dhen" a.rb(main):004:0> puts a что shön mädhen XXX! => nil a.rb(main):005:0> a[/([а-я]+)\s+(\w+)\s+(\w+)/i,3]='shön mädhen' => "sh\303\266n m\303\244dhen" a.rb(main):006:0> puts a что shön shön mädhen XXX! => nil a.rb(main):007:0> a << " еще строка" ; puts a что shön shön mädhen XXX! еще строка => nil a.rb(main):008:0> puts a + " и ишшо" что shön shön mädhen XXX! еще строка и ишшо


ЗЫ звыняюсь за спам

Зверёк Харьковский

Хотя есть желание просто прибить этот тупой проект (icu4r)...

Done. http://rubyforge.org/forum/forum.php?forum_id=7361 ICU4R - ICU binding for Ruby: project is dead

Have a word?


Please do not go bonkers with code blocks, links and viagra ads, we are taking measures