Привет
Сижу мучаюсь, пытаюсь понять как работает локализация интерфейса. Дано - сайт с дефолтным русским и вторым немецким языками. Английский отключен.
Создаю поле, иду на страницу перевода интерфейса и ищу по его названию. Скажем у меня поле с ссылкой на сайт отеля. Находятся:
Текстовая группа: Встроенный интерфейс
Сайт отеля (node/add/hotel)
Текстовая группа: Fields
Сайт отеля (field_weblink:hotel:label)
Одна и таже строка.
Последнее позволяет перевести строку на немецкий и английский, но этот перевод не применяется к интерфейсу, ни название поля в выдаче, ни название поле в админке не меняется.
Первый вариант же рассматривает русскую строку как английскую и предлагает перевести ее на русский и немецкий. И этот перевод отображается на сайте (хотя в админке не везде), но в этом случае нужно переводить русский на русский и нет возможности иметь английское название, если захочется включить и этот язык.
Так как же мне перевести название поля, чтобы перевод во-первых отображадся везде, а во-вторых давал возможность иметь перевод на все 3 языка. Неужели модуль заточен на перевод только с изначально английского?
Комментарии
Еще кстати с шестерки помню, что там тоже была фигня такая, что некоторые строки сохранялись как дефолтный язык, а некоторые как английский, из чего получалась знатная каша
Тоже интересно какое то решение, с той же проблемой столкнулся, решение было делать все строчки на английском (когда дефолтный русский) и переводить на русский.
> Неужели модуль заточен на перевод только с изначально английского?
В целом, да. Даже скорее не модуль, а сам Друпал.
> Первый вариант же рассматривает русскую строку как английскую и предлагает перевести ее на русский и немецкий. И этот перевод отображается на сайте (хотя в админке не везде), но в этом случае нужно переводить русский на русский и нет возможности иметь английское название, если захочется включить и этот язык.
Надо весть текст на сайте вводить на английском, потом переводить на русский с помощью интерфейса перевода.
Ну тогда придется каждый раз внося изменения или что-то новое переключать сайт на английский, а потом обратно. А смена языка по умолчанию там в документации очень не рекомендуется.
Да и с английским странное поведение. Скажем название типа материала перевожу на русский, на странице добавления материала перевод применяется, а на странице со списком типов данных нет. То есть где-то переводится, где-то нет.
С полями опять же такая фигня - находит две строки для названия поля, первая вроде то что нужно - текстовая группа Fields и контекст указан как field:field_weblink:hotel:label, но перевод этой строки ни на что не влияет.
Вторая строка же относится к группе встроенного интерфеса, что не корректно и контекст указан как адрес конкретной ноды. Но перевод этой строки работает, хотя и не везде в админке.
То есть я никаким способом так и не добился полного и консистентного перевода. Меня это печалит как атомная война
Ну и в дефолтном русском писать на английском тоже не вариант, так как некоторые строки таки сохраняются как русские. Опять получается та еще каша.
Самый оптимальный вариант как я вижу - это иметь постоянно включенным английский язык по умолчанию, но при этом его нужно убрать из списка выбора языков и пользователей перенаправлять по ролям аноним и регистрированный на нужный язык. Но это костыль какой-то
Короче я забиваю большой болт на английский и перспективу его включения, делаю все на немецком, а на русский перевожу только то, что показывается пользователю, тогда админка всегда будет на немецком, а выдача будет менятся в зависимости от выбранного языка.
Может к 10-ой версии локализация наконец заработает как надо
Я тут немного разобрался.
Что касается полей - для заголовка поля всегда находятся две строки. Одна, которая аккуратно обозначена названием поля - это строка, которая видна на форме редактирования, вторая, у которой стоит какой-нибудь адрес - это строка, которая отдается пользователю, а адрес - это место где первый раз строка была отрендерена.
Что касается дефолтного языка, там английский всегда должен быть дефолтным, если нам надо, чтобы английская админка была 100% на английском, так как многие строки сохраняются английскими независимо от актуального или дефолтного языка. В остальных случаях, немного повозившись, можно добиться правильного перевода выдачи пользователю, а админка будет немного хаотичной, что касается языков.