Локализация

2 views
Skip to first unread message

Ivan Ukhov

unread,
Mar 17, 2009, 2:22:59 PM3/17/09
to RubyOnRails to russian
Привет, подскажите пожалуйстка как правильно делается локализация
приложения. Встроенная I18n это все понятно, но вот скажем есть такая
ситуация... Есть некие статьи, модель Article, кто-то публикует новые
статьи... все дела... Но что если приложение должно поддерживать как
ru, так и eng? Это получается нужно у каждой модели дублировать каждое
поле?? title_ru, title_eng, summary_ru, summary_eng, content_ru,
content_eng... Как вообще правильно решать подобные задачи?

ssdany

unread,
Mar 17, 2009, 3:15:18 PM3/17/09
to RubyOnRails to russian
можно дешево и сердито, то есть как-то так (если не особо много или
вообще нет общих, не требующих "локализации" properties):
- class Link < ActiveRecord::Base; has_many :articles, blah-blah-
blah
- link.articles - это все articles, которые одно-и-то-же-но-на-
разных-языках.
=> по article_id можно найти все варианты article, через
article.link
=> по link_id можно найти нужный вариант article

недостатки etc:
- см. "если" выше
- оптимизировать придется в обязательном порядке
- еще-одна-модель, et cetera, et cetera

То есть мы этот способ использовали, да, если что;
ничего особо проблемного с ним не было, в том числе и в реализации
"отдельной админки".

que

unread,
Mar 17, 2009, 3:16:45 PM3/17/09
to ror...@googlegroups.com

Как вариант - named_scope :ru, :conditions => { :lang => 'ru' }

и в контроллере Article.send(I18n.current_locale).all


2009/3/17 Ivan Ukhov <UVS...@gmail.com>

que

unread,
Mar 17, 2009, 3:10:02 PM3/17/09
to RubyOnRails to russian
Как вариант named_scope :ru, :conditions => { :lang => 'ru' }

que

unread,
Mar 17, 2009, 3:10:02 PM3/17/09
to RubyOnRails to russian
Как вариант named_scope :ru, :conditions => { :lang => 'ru' }

On Mar 17, 8:22 pm, Ivan Ukhov <UVS...@gmail.com> wrote:

Pasha

unread,
Mar 17, 2009, 3:27:13 PM3/17/09
to RubyOnRails to russian
официально рекомендовано использовать плагин globalize2

que

unread,
Mar 17, 2009, 3:31:39 PM3/17/09
to ror...@googlegroups.com
Извините за двойной пост - веб интерфейс стормозил на 6 минут
Reply all
Reply to author
Forward
0 new messages