Drupal Commerce (перевести "or" и "Order total")

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

Аватар пользователя Tutelarius Tutelarius 11 марта 2013 в 18:46

Доброго времени суток!
Возникла проблема с переводом CD. Точнее только с двумя пунктами.
А именно:
1) "or", находящееся между кнопками "продолжить" и "отмена" при оформлении заказа
2) и "Order total" там же.

Уже везде перерыл, и вьюхи перевёл и по файлам искал.
Спасайте Smile

Комментарии

Аватар пользователя gumk gumk 11 марта 2013 в 19:38

Order total так не переведеться, почему-то не переводяться название полей которые програмно добавлены. тут выриантов несколько
1) в базе найти это поле и переписать его название на русском
2) в последнии версии commerce_kicstart входит модуль http://drupal.org/project/i18n и включен field translate, что как бы намекает что так не все переводиться будет и переводить нужно используя этот модуль

Аватар пользователя Tutelarius Tutelarius 11 марта 2013 в 20:25

"DD 85" wrote:
admin/config/regional/translate/translate

Спасибо, но это не помогло.

Найденное мною решение с "or".
Лезем в "modules/commerce/modules/checkout/includes" в файлик "commerce_checkout.pages.inc" на 185 строку «$button_operator = '' . t('or') . '';»
Меняем кодировку файла на UTF-8 и заменяем t('or') на t('или').

Где искать "Order total" - пока без понятия.

Аватар пользователя Tutelarius Tutelarius 11 марта 2013 в 22:15

divined
Ну да.

Я бы и "Order total" так же подправил, если бы нашёл его.
Поскольку перевод для этих полей заблокирован, и даже перевод строк ничего не может с ними сделать.

Аватар пользователя gumk gumk 11 марта 2013 в 23:20

1)короче говоря ставится http://drupal.org/project/i18n включается модуль field translate
2) переходим admin/config/regional/i18n/strings включаем english
3)переходим admin/config/regional/translate/i18n_string ставим галку fields жмем REFRESH
4)переводим как обчно admin/config/regional/translate/translate
5) повторяем действия пункта 3

Аватар пользователя jvb jvb 12 марта 2013 в 1:07

gumk wrote:
1)короче говоря ставится http://drupal.org/project/i18n включается модуль field translate
2) переходим admin/config/regional/i18n/strings включаем english
3)переходим admin/config/regional/translate/i18n_string ставим галку fields жмем REFRESH
4)переводим как обчно admin/config/regional/translate/translate
5) повторяем действия пункта 3

Полностью подтверждаю данный способ. Работает , проверил лично. Правда ответ нашел на сайте commercekickstart.org. Потратил время...Этот же способ дает возможность перевести еще одну пару "Shipping information".

Аватар пользователя Tinnka Tinnka 1 сентября 2013 в 18:01

gumk wrote:
1)короче говоря ставится http://drupal.org/project/i18n включается модуль field translate
2) переходим admin/config/regional/i18n/strings включаем english
3)переходим admin/config/regional/translate/i18n_string ставим галку fields жмем REFRESH
4)переводим как обчно admin/config/regional/translate/translate
5) повторяем действия пункта 3

Спасибо! Работает!

Аватар пользователя Mixalina Mixalina 10 мая 2014 в 14:52

gumk wrote:
1)короче говоря ставится http://drupal.org/project/i18n включается модуль field translate
2) переходим admin/config/regional/i18n/strings включаем english
3)переходим admin/config/regional/translate/i18n_string ставим галку fields жмем REFRESH
4)переводим как обчно admin/config/regional/translate/translate
5) повторяем действия пункта 3

Спасибо!

Аватар пользователя Tutelarius Tutelarius 11 марта 2013 в 23:23

divined
Вариант не из изящных, но если файл перекодировать в UTF-8 - то очень даже переводиться.

gumk
Огромное спасибо!

Проблема устранена.

Аватар пользователя Tutelarius Tutelarius 11 марта 2013 в 23:29

gumk
Одна незначительная неприятность. Если в fild_translate поставить русский по умолчанию (обратно), то видим прежнюю картину.
Но, на превый взгляд, ничего с русского на английский не перевернулось, так что не столь важно.

Аватар пользователя divined divined 12 марта 2013 в 0:45

Я имею ввиду что обратного перевода не будет с русского на другие языки поэтому функцию t() можно смело убирать )

Аватар пользователя gc82 gc82 21 марта 2013 в 21:24

спасибо очень помог способ с field translate, для переводов "Shipping information" можно зайти сюда admin/commerce/config/order/fields

Аватар пользователя valero222 valero222 29 марта 2013 в 10:27

"gumk" wrote:
Order total так не переведеться, почему-то не переводяться название полей которые програмно добавлены. тут выриантов несколько
1) в базе найти это поле и переписать его название на русском
2) в последнии версии commerce_kicstart входит модуль http://drupal.org/project/i18n и включен field translate, что как бы намекает что так не все переводиться будет и переводить нужно используя этот модуль

Когда снова ставишь язык сайта русский перевод слетает!!!

Если оставить язык сайта английский, то к примеру хром видит ваш сайт англоязычный!

Аватар пользователя gumk gumk 31 марта 2013 в 14:20

У меня на admin/config/regional/language английский выключен, на admin/config/regional/language/configure стоит галка - по умолчанию русский, все остальное выключено, таких проблем как у вас не возникает

Аватар пользователя valero222 valero222 1 апреля 2013 в 8:43

Перевод Order total

/commerce/modules/price/commerce_price.module

Находим строку:

'title' => check_plain($instance['label']),

и меняем ее на:

'title' => check_plain(t($instance['label'])),

далее переводим как обычно admin/config/regional/translate/translate

Аватар пользователя Dr.Osd Dr.Osd 1 октября 2013 в 17:38

"gumk" wrote:
1)короче говоря ставится http://drupal.org/project/i18n включается модуль field translate
2) переходим admin/config/regional/i18n/strings включаем english
3)переходим admin/config/regional/translate/i18n_string ставим галку fields жмем REFRESH
4)переводим как обчно admin/config/regional/translate/translate
5) повторяем действия пункта 3

Спасибо работает!

Аватар пользователя xSilencex xSilencex 15 июня 2014 в 23:05

"valero222" wrote:
Опубликовано valero222 в Пнд, 01/04/2013 - 08:43.

Перевод Order total
/commerce/modules/price/commerce_price.module
Находим строку:
'title' => check_plain($instance['label']),
и меняем ее на:
'title' => check_plain(t($instance['label'])),
далее переводим как обычно admin/config/regional/translate/translate

Что я только не перепробовал, помог только этот вариант. Единственное, у меня в указанном файле немного другие строки, вот такие (уже с добавленной t)
491: 'title' => check_plain(t($translated_instance['label']))

Аватар пользователя mrbogdan mrbogdan 25 июня 2014 в 14:08

Добрый день, если не сложно помогите советом как перевести заголовок Blog на данной страничке - http://школа-тьюторов.рф/?q=blog - уже сил нету, все облазил просмотрел.

То добавлю новость - Blog написано, обновлю написано как надо НОВОСТИ... то снова обновлю Blog. Кеш чистил и в админке и в браузерах.

Аватар пользователя jvb jvb 25 июня 2014 в 14:15

Добрый день!
1.Я использую Commerce KickStart Blog 7.x-2.0. А Вы?
2.Попробуйте спрятать Title в типе материалов Blog. (Типы материалов->Blog Post->Управлять отображением.
3.Либо посмотрите переводы. Установите фильтр Blog и просмотрите все непереведенное.

Аватар пользователя mrbogdan mrbogdan 25 июня 2014 в 16:57

У меня так хитро сделано как то видимо.

Тема у меня из за бугра купленная.
2. пункт нет там у меня в отображении title.
3. Делал так. везде все перевел, все равно как видите Blog, в код модуля залез там уже все поменял на новости слово и тишина

Аватар пользователя jvb jvb 25 июня 2014 в 17:15

Если в модуль залазите , найдте где выводтся "Blog" и возьмите его в t(). Это пожалуй все, что могу придумать

Аватар пользователя Arez Arez 16 марта 2015 в 14:03

Для перевода "Order total" достаточно использовать хук hook_commerce_price_formatted_components_alter

Пример использования:

function mymodule_commerce_price_formatted_components_alter(&$components, $price, $entity) {
  $components['commerce_price_formatted_amount']['title'] = check_plain(t('Order total'));
}
Аватар пользователя Alex_Black Alex_Black 17 марта 2017 в 14:49

Не проще просто в теме в файле template.php прописать вот этот код.
А то комерцыя и так много жрет ресурсов а еще + модули которе будут отберать ресурс зачем спрашивается ?

<?php/**
* Implements hook_form_alter();
*/
function ИМЯ ВАШЕЙ ТЕМЫ_form_alter(&$form, &$form_state, $form_id) {
  // Fix order total translation
  if (isset($form['cart_contents'])){
    $form['cart_contents']['cart_contents_view']['#markup'] = str_replace('Order total', t('Order total'), $form['cart_contents']['cart_contents_view']['#markup']);
  }
  // Fix translation on checkout form
  if ($form['#id'] == 'commerce-checkout-form-checkout'){
    if(isset($form['customer_profile_billing'])){
      $form['customer_profile_billing']['#title'] = t('Billing information');
    }
    if (isset($form['customer_profile_shipping'])){
      $form['customer_profile_shipping']['#title'] = t('Shipping information');
    }
  }
  // Fix translation on checkout review
  if ($form['#id'] == 'commerce-checkout-form-review'){
    if (isset($form['checkout_review']['review']['#data']['customer_profile_billing'])){
      $form['checkout_review']['review']['#data']['customer_profile_billing']['title'] = t('Billing information');
    }
    if (isset($form['checkout_review']['review']['#data']['customer_profile_shipping'])){
      $form['checkout_review']['review']['#data']['customer_profile_shipping']['title'] = t('Shipping information');
    }
  }
}
?>

Потом просто отчистите кеш и пройдите admin/config/regional/translate/translate и там просто переведите поля.
И работает буть здаров без всяких проблем.