Локализация интерфейса

Главные вкладки

Аватар пользователя Tremor Tremor 2 апреля 2011 в 2:30

Здравствуйте!

Возникла следующая проблема:
Разрабатываю сайт на 2-х языках. В английском языке слово "To" используется в двух значения: "до" и "Кому".
Как правильно локализовать так, чтобы при переводе на русский язык слова переводились корректно?

Я пробовал одно из значений ("Кому") называть 'Email To' (т.е. вызывать t('Email To')), а в английский язык добавить перевод. Перевод добавил, но в английской версии сайта все равно почему-то отображается 'Email To'.
В чем дело? Как решить данную проблему?

Спасибо!

Комментарии

Аватар пользователя Dmitriy.ua Dmitriy.ua 2 апреля 2011 в 6:43

Решить можно множеством способов, вы впринципе правильно делаете, почему не работает ХЗ, такое часто бывает с переводами, там все запутано сильно.

Аватар пользователя Tremor Tremor 2 апреля 2011 в 17:56

Заметил, что у меня вообще не работает локализация на английском языке. Т.е. строки, передаваемые в функцию t(), выводятся в исходном виде, вне зависимости от того, есть ли перевод.

Аватар пользователя Tremor Tremor 2 апреля 2011 в 19:25

В итоге оставил просто t('To')

а в файле локализации указал файл, где эта строка используется:

#: ****
msgid "To"
msgstr "Кому"

В итоге все хорошо. (Хотя может помогло и не это, а то, что один раз "to" пишется с маленькой буквы, а в другой — с большой. Разбирать тщательнее не стал).

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 3 апреля 2011 в 0:04

"Tremor" wrote:
а в файле локализации указал файл, где эта строка используется:

Всё что за # - это комментарий

Хотя тут сказано, что "The comment lines beginning with #, are special because they are not completely ignored by the programs as comments generally are" помоему такие комменты Друпалом игнорируются - отбирается первое похожее совпадение

Иногда полезно обновлять кэш кстати

Аватар пользователя Tremor Tremor 3 апреля 2011 в 0:13

Вы не правы, они записываются в поле location таблицы locales_source. Правда как затем это поле используется, я не знаю.
Кэш я обновлял, дело естественно не в нем.

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
отбирается первое похожее совпадение

После моих махинации в обоих местах (t('to') и t('To')) стал отображаться нужный перевод. Т.е. возможны 2 варианта: или регистр имеет значение, или используется поле location.