Как перевести пользовательские метки полей
Я хочу, чтобы метки и описания пользовательских полей были переведены на голландский язык, но независимо от того, что я пытаюсь, они всегда остаются на английском (языке, который я использую для их создания). Я надеюсь, что мои шаги ниже имеют смысл, потому что я не понимаю, почему это не работает.
Что я делаю, так это создаю поле (с языком сайта, установленным на английский) либо в профиле (с помощью модуля Профиль 2), либо непосредственно в учетной записи.
Затем я редактирую поле и использую кнопка "Перевести" (предоставляется в поле "Перевод" в i18n), чтобы добавить перевод на голландский язык. Но если я затем переключу язык сайта на голландский, метка поля и описание по-прежнему будут на английском языке.
Если я снова отредактирую поле (при этом язык сайта по-прежнему будет установлен на голландский), на вкладке "Перевод" теперь отображается перевод на голландский язык со статусом "оригинал" и английский как "ниет вертаальд" или не переведен. Если я отредактирую перевод на голландский, мне будет представлена английская версия.
Я могу это изменить снова к голландскому тексту, и он будет отображаться правильно (на голландском языке). Хорошо, но когда я переключаю сайт обратно на английский, поле остается голландским! Когда я редактирую поле, на вкладке "Перевод" отображается голландский текст на английском языке, но статус английского языка возвращается к исходному.
Я не могу понять, что это значит. Я что-то полностью упускаю или это, возможно, ошибка? Я использую Drupal 7.
5 answers
Вы не должны менять язык по умолчанию на голландский, чтобы проверить его, так как тогда он устанавливает, что ваши имена полей (и все остальное на веб-сайте) на голландском языке.
Вместо этого я предлагаю использовать опции "Обнаружение и выбор" и включить браузер или пользователя, а затем протестировать его в другом браузере на голландском языке или с другим пользователем, язык которого установлен на голландский.
Лучшим и более удобным способом было бы использование блока переключения языков, включение URL-адреса или сеанса при обнаружении и выборе настройки.
Таким образом, язык веб-сайта по умолчанию по-прежнему остается английским, а поля переводятся, если кто-то использует веб-сайт на голландском языке.
В последние дни у меня возникла та же проблема с переводом ярлыков и описаний пользовательских. вот что я сделал, чтобы решить эту проблему.
- Включить подмодуль i18_field i18n "Преобразование полей"
- Перейдите к
admin/config/regional/translate/i18n_string
- Проверил "поля" (правильно проверьте все) и нажмите "Обновить строки".
- Перейдите к
admin/config/regional/translate/translate
- Найдите нужную строку и переведите ее на другой язык.
Я печатаю переведенные метки полей таким образом (используя i18n_field.module):
$instance = field_info_instance('node', $my_field_name, $my_node_type);
$my_translated_label = i18n_field_translate_property($instance, 'label');
Надеюсь, это поможет.
Я думаю, вы могли бы сохранить голландский язык в качестве языка по умолчанию и установить английский в качестве исходного языка в admin/config/regional/i18n/strings.
Самый простой способ сделать это - установить модуль Локализовать поле .
Он предоставляет переводы для следующего:
- название и описание всех основных полей, полей даты и полей
- коллекции префиксов, суффиксов и десятичных разделителей
- метки опций типов списков
Вы можете использовать его, даже если вы установили i18n_field (Перевод поля)