Как переводить с русского на английский через функцию t()?
14 марта 2017 в 10:36
Здравствуйте,
Нужно чтобы админ\контент менеджер переводил на английский через интерфейс строки изначально введённые на русском через функцию t().
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
t('привет', array(), array('langcode' => 'ru'));
Спасибо, пробовал, но в интерфейсе перевода всё равно значится
ru«на русском через функцию t().»
какой-то велосипед наоборот у вас
https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/t/7.x
Parameters
$string: A string containing the English string to translate.
ЕМНИП, в модуле i18n есть где-то в настройках, что-то типа source language. Можно задать source language русский, но побочные эффекты могут вас не порадовать.
Шеф всё пропало, в t вводится только исходный ангельский. Вы конечно можете не феншуйно ввести кирильную строку, тогда ищите перевод в en, там будет русский. Ну и https://www.drupal.org/project/potx Вам в помощь.
Тогда как быть если сначала имеется текст на русском, который нужно добавить на сайт через код, а затем этот текст должен переводится админом через какой-либо интерфейс?
В точку!
В восьмом друпел ситуация такая же?
Интернациональный исходный язык ангельский, на нем добавляются строки через t, затем переводятся на любой язык на сайте, или potx
Опишите подробнее, что и зачем вы пытаетесь сделать.
Возможно, вы совершенно зря прицепились в бедной t() с не подходящими, совершенно, требованиями, и вам нужно что-то другое. Например, поменять методику разработки, или как-то расширить функции системы перевода или что-то ещё.
Есть например несколько форм с текстом элементов, например названий кнопок, плэйсхолдеров и т.д. на русском, перевода на стадии разработки ещё нет, переводом будет например заниматся администратор\контент менеджер и т.д. Нужно чтобы программист создавал форму с надписями на русском, а позже была возможность перевести эти строки на английский через интерфейс.
"Странного хочется...", чесслово.
По-моему, вам нужна другая CMS. Битрикс, например
Если разработчик не знает английского даже на таком уровне, то вероятно, его надо просто заменить, т.к. он занимается не тем делом.
Если что-то надо поменять в итоге, то можно в конце концов выслать ему правки, это совсем не большая работа поменять несколько строк.
А вообще, вашу задачу может решить что-то такое, вместо t(), и другие задачи заодно:
https://www.drupal.org/node/313293
https://www.drupal.org/project/i18n
Что мешает сначала написать транслитом, а потом добавить русский перевод?
Пожалуйста, те кто когда-либо прочтёт верхний комментарий - НИКОГДА, НИКОГДА, НИКОГДА так не делайте.