Локаль ру

1 view
Skip to first unread message

alone

unread,
Dec 18, 2008, 9:04:46 AM12/18/08
to RubyOnRails to russian
Доброго дня.
Подскажите, в чем может быть загвоздка:
В девелопмент, на локальной машине Time.now.strftime '%Y %B %d'
показывает 2008 декабрь 18
а тот же самый код на хостинге, в продакшн 2008 december 18
э?...

Sergey Kojin

unread,
Dec 18, 2008, 9:45:44 AM12/18/08
to RubyOnRails to russian
rmagic случайно не пользуешь?

leonid bugaev

unread,
Dec 18, 2008, 9:51:13 AM12/18/08
to ror...@googlegroups.com
А можно поподробнее про него? У меня проблема не такая, но периодечески какието странные баги с сбрасыванием языка в rgettext были.

18 декабря 2008 г. 17:45 пользователь Sergey Kojin <sergey...@gmail.com> написал:

alone

unread,
Dec 18, 2008, 9:57:49 AM12/18/08
to RubyOnRails to russian
использую. на обоих машинах набор гемов одинаковый...

Sergey Kojin

unread,
Dec 18, 2008, 9:57:52 AM12/18/08
to RubyOnRails to russian
у меня получалось так что он сбрасывал локаль на текущую, я решил
добавлением в начале environment.rb
ENV['LANG']='en_US.UTF-8'


On 18 дек, 17:04, alone <webcoder...@gmail.com> wrote:

alone

unread,
Dec 18, 2008, 9:58:50 AM12/18/08
to RubyOnRails to russian
Тобишь в моем случае можно
ENV['LANG']='ru_RU.UTF-8' ?

alone

unread,
Dec 18, 2008, 10:11:00 AM12/18/08
to RubyOnRails to russian
Не помогло кстати...

Yaroslav Markin

unread,
Dec 18, 2008, 12:07:15 PM12/18/08
to ror...@googlegroups.com
Чтобы перестать шаманить с локалью навсегда, изучите I18n в Rails 2.2:

http://railscasts.com/episodes/138-i18n
http://github.com/yaroslav/russian/tree/master/README.textile

2008/12/18 alone <webco...@gmail.com>
Не помогло кстати...

 
--
Yaroslav Markin

Artiom Diomin

unread,
Dec 18, 2008, 3:17:29 PM12/18/08
to ror...@googlegroups.com
Кстате, кто нибудь может пояснить, в чём преимущество yaml конфигов
перед gettext-ом?

Выглядит как reinvent the wheel...

В Чтв, 18/12/2008 в 20:07 +0300, Yaroslav Markin пишет:
> Чтобы перестать шаманить с локалью навсегда, изучите I18n в Rails 2.2:
>
> http://railscasts.com/episodes/138-i18n
> http://github.com/yaroslav/russian/tree/master/README.textile


>

--
Best regards.
Artiom Diomin
signature.asc

alone

unread,
Dec 19, 2008, 2:49:57 AM12/19/08
to RubyOnRails to russian
То понятно, но проект не на 2.2

On 18 дек, 19:07, "Yaroslav Markin" <yaros...@markin.net> wrote:
> Чтобы перестать шаманить с локалью навсегда, изучите I18n в Rails 2.2:
>
> http://railscasts.com/episodes/138-i18nhttp://github.com/yaroslav/russian/tree/master/README.textile
>

> 2008/12/18 alone <webcoder...@gmail.com>

Alexander Sviridov

unread,
Dec 19, 2008, 5:19:03 AM12/19/08
to RubyOnRails to russian
А проверьте не отличаются ли значения LANG и LC_ALL у пользователей,
из-под которых запускаются приложения на девелопменте и продакшне?

On Dec 19, 10:49 am, alone <webcoder...@gmail.com> wrote:
> То понятно, но проект не на 2.2
>
> On 18 дек, 19:07, "Yaroslav Markin" <yaros...@markin.net> wrote:
>
>
>
> > Чтобы перестать шаманить с локалью навсегда, изучите I18n в Rails 2.2:
>

> >http://railscasts.com/episodes/138-i18nhttp://github.com/yaroslav/rus...

A.I.

unread,
Dec 19, 2008, 5:20:34 AM12/19/08
to RubyOnRails to russian
1. В gettext ключом является английская фраза. Это не
интернационально. Перевод на английский может выполняться на
разработчиком. Иногда одной фразе на английском соответствует
несколько фраз на русском (например, в зависимости от рода).
2. Часто перевод является больше иерархической структурой. Например:
post:
add: Добавить запись
delete: Дулать запись
Так что в YAML ввод удобней и быстрее. Да и самый синтаксис проще
и понятнее, чем у большинства gettext форматов.
3. У gettext мало возможностей. Сложно вставить код (Proc). Нет
плюрализации:
comments: !pl
1: %1 комментарий
2: %1 комментария
n: комментариев

>  signature.asc
> < 1KбПросмотретьЗагрузить

Timur Vafin

unread,
Dec 19, 2008, 5:22:01 AM12/19/08
to ror...@googlegroups.com
Ну плюрализация есть вообще то в gettext

19 декабря 2008 г. 13:20 пользователь A.I. <and...@sitnik.ru> написал:

Oleg Shaldybin

unread,
Dec 19, 2008, 5:34:37 AM12/19/08
to ror...@googlegroups.com
> 1. В gettext ключом является английская фраза.
Да, свои минусы в этом есть. Зато не нужно параллельно поддерживать
словарь, новые ресурсы сами попадут в po-файл, изменения в старых
будут смерджены и помечены.

> 2. Часто перевод является больше иерархической структурой.

s_("Post|Add")

> 3. У gettext мало возможностей. Сложно вставить код (Proc). Нет
> плюрализации:

Плюрализация есть. Равно как и развитые средства управления
переводами, что удобно, когда над проектом работает команда
переводчиков, можно автоматизировать выкатывание новых данных для
перевода, нотификации и т.д. И удобные po-mode для emacs, vi и иже с
ними :-)

Хотя и минусов хватает.

Oleg Shaldybin
http://shaldybin.com

2008/12/19 A.I. <and...@sitnik.ru>:

alone

unread,
Dec 19, 2008, 6:08:34 AM12/19/08
to RubyOnRails to russian
Да это перове, на что обратил внимание...
ланг ру_утф8
лц_ пустой (?)

On 19 дек, 12:19, Alexander Sviridov <alexander.sviri...@gmail.com>
wrote:

Artiom Diomin

unread,
Dec 19, 2008, 6:14:46 AM12/19/08
to ror...@googlegroups.com
В Птн, 19/12/2008 в 02:20 -0800, A.I. пишет:
> 1. В gettext ключом является английская фраза. Это не интернационально.

Ну это враки, т.е. конвенция такова что ключ - это английское слово, но
пихать туда абсолютно что угодно можно. (НО СТРОГО НЕ РЕКОМЕНДУЕТСЯ,
иначе как кому то не знающему язык-ключ, переводить ваши писаки?!)

Ну а про остальное вам выше уже написали.

Так что вопрос остаётся открытым.
Зачем изобретать свой, не совместимый ни с чем велосипед, когда есть
gettext?


--
Artiom Diomin <kro...@gmail.com>
signature.asc

Alexey Kovyrin

unread,
Dec 19, 2008, 6:18:14 AM12/19/08
to ror...@googlegroups.com
NIH syndrome?

2008/12/19 Artiom Diomin <kro...@gmail.com>:

--
Alexey Kovyrin
http://kovyrin.info/

Андрей Руденко

unread,
Dec 19, 2008, 6:54:16 PM12/19/08
to RubyOnRails to russian
И как мне запихнуть в качестве ключа русский текст с правилами
плюрализации для русского, а не английского?

>  signature.asc
> < 1KбПросмотретьЗагрузить

A.I.

unread,
Dec 20, 2008, 4:53:40 AM12/20/08
to RubyOnRails to russian
> s_("Post|Add")
Ну разве это так же удобно как i18n.post.add? ;) А в файле перевода
вообще красота
post:
add: ...
delete: ...

вместо постоянных повторений типа
post|add
post|delete

> И удобные po-mode для emacs, vi и иже с ними :-)

Для YAML как раз поддержка и не нужна, простой, интуитивный формат.

On 19 дек, 13:34, "Oleg Shaldybin" <oleg.shaldy...@gmail.com> wrote:
> > 1. В gettext ключом является английская фраза.
>
> Да, свои минусы в этом есть. Зато не нужно параллельно поддерживать
> словарь, новые ресурсы сами попадут в po-файл, изменения в старых
> будут смерджены и помечены.
>
> > 2. Часто перевод является больше иерархической структурой.
>
> s_("Post|Add")
>
> > 3. У gettext мало возможностей. Сложно вставить код (Proc). Нет
> > плюрализации:
>
> Плюрализация есть. Равно как и развитые средства управления
> переводами, что удобно, когда над проектом работает команда
> переводчиков, можно автоматизировать выкатывание новых данных для
> перевода, нотификации и т.д. И удобные po-mode для emacs, vi и иже с
> ними :-)
>
> Хотя и минусов хватает.
>

> Oleg Shaldybinhttp://shaldybin.com

A.I.

unread,
Dec 20, 2008, 4:59:18 AM12/20/08
to RubyOnRails to russian
Но разве плюрализация в файле перевода в gettext так же понятна и
удобна как в YAML?
posts: !pl
0: No posts
1: %1 post
n: %posts
Против:
~~$N==0: No posts ~~$N==1: Only one post ~~else: You have {$N} posts

>  signature.asc
> < 1KбПросмотретьЗагрузить

Oleg Shaldybin

unread,
Dec 20, 2008, 11:58:11 AM12/20/08
to ror...@googlegroups.com
Не знаю, откуда этот формат (~~$N==0 и т.д.), в gettext n_ имеет
немного другой синтаксис, более того, не работал много с новыми
i18n-средствами, поэтому мне сложно судить объективно. Механизм
плюрализации совпадает практически полностью, остальное тоже довольно
похоже должно быть. Спорить относительно удобства YAML в этих целях не
буду :-) Но у нас есть проект с многими локалями, над ними работают
разные люди с помощью стандартных средств (Pootle, emacs/vi po-mode),
многих проблем с синхронизацией удается избежать благодаря развитой
инфраструктуре. Как только будет возможность сравнить с новым
рельсовым подходом в реальном проекте ― напишу свои мысли.


Oleg Shaldybin
http://shaldybin.com



2008/12/20 A.I. <and...@sitnik.ru>:

Yaroslav Markin

unread,
Dec 22, 2008, 2:20:07 PM12/22/08
to ror...@googlegroups.com
привет хейтерам :-)

http://twitter.com/svenfuchs/status/1072819673

2008/12/19 Artiom Diomin <kro...@gmail.com>


Так что вопрос остаётся открытым.
Зачем изобретать свой, не совместимый ни с чем велосипед, когда есть
gettext?


--
Artiom Diomin <kro...@gmail.com>



--
Yaroslav Markin

Reply all
Reply to author
Forward
0 new messages