Форум русской поддержки Joomla!® CMS
06.12.2016, 00:45:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Локализация параметра для мультиязычного сайта

 (Прочитано 562 раз)
0 Пользователей и 1 Гость смотрят эту тему.
malygenius
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« : 15.05.2015, 15:05:18 »

Мультиязычный сайт. На карточке товара на всех языковых вариантах не переведена одна надпись Qty: - количество.
В шаблоне это прописано так:
Код:
<div class="prod_qty_input">Qty:
Все остальные параметры переведены и находятся (например для русского языка) в components/com_jshopping/lang/ru-RU.php
Например для рейтинга:
Код:
define('_JSHOP_TOP_RATING','Топ рейтинг');
Как и где прописать локализацию параметра "prod_qty_input", чтобы для русского языка было вместо Qty: - Кол-во:?
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2281



« Ответ #1 : 15.05.2015, 17:29:24 »

Ну вы написали, что все параметры находятся в файле components/com_jshopping/lang/ru-RU.php, туда и добавьте строку
Код:
define('prod_qty_input','Количество');
Записан
malygenius
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #2 : 15.05.2015, 18:30:41 »

Ну вы написали, что все параметры находятся в файле components/com_jshopping/lang/ru-RU.php, туда и добавьте строку
Код:
define('prod_qty_input','Количество');
Попробовал. Страница перестала грузиться.
Я еще обратил внимание, что там все переменные записаны в формате
Код:
define('_JSHOP_SORT_POPULAR', 'Популярность');
То есть, везде присутствует вначале '_JSHOP
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2281



« Ответ #3 : 18.05.2015, 01:37:59 »

Скачал версию 3.3, посмотрел. В указанном файле локализации нет строки
Код:
define('_JSHOP_PROD_QTY_INPUT', 'Количество');

Однако prod_qty_input используется в css\default.css и templates\default\product\product_default.php. В нем в строке 308 написано:
Код:
<div class="prod_qty_input">
То есть создается контейнер с классом prod_qty_input, класс определяется в файле стилей в строках 502, 715, 1177.

Я думал, что у вас не переведена константа, однако просмотр кода показал, что prod_qty_input вообще к локализации отношения не имеет, это название класса, отвечающего за оформление элемента.

В шаблоне это прописано так:
Код:
<div class="prod_qty_input">Qty:
Все остальные параметры переведены и находятся (например для русского языка) в components/com_jshopping/lang/ru-RU.php

Если так написано в шаблоне, тогда вам самим придется добавлять перевод, заменив эту и другие строки так:
Код:
<div class="prod_qty_input">_JSHOP_PROD_QTY_INPUT:

А в файл components/com_jshopping/lang/ru-RU.php добавить определение константы
Код:
define('_JSHOP_PROD_QTY_INPUT', 'Количество');
« Последнее редактирование: 18.05.2015, 01:43:46 от sebun » Записан
Taatshi
Support Team
*****

Репутация: +430/-3
Offline Offline

Пол: Женский
Сообщений: 4717

Мама, я снова верстал во сне...


« Ответ #4 : 18.05.2015, 11:25:32 »

Так не сработает.

Сначала нужно определить какая именно константа не переведена или откуда вообще это чудо берется. Ищем по файлам с текстом "Qty".
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2281



« Ответ #5 : 18.05.2015, 13:04:25 »

Так не сработает.

Сначала нужно определить какая именно константа не переведена или откуда вообще это чудо берется. Ищем по файлам с текстом "Qty".
Так он же сам написал, код имеет вид
Код:
<div class="prod_qty_input">Qty:
а значит перевод вообще отсутствует. Я и предложил ему вместо Qty добавить константу _JSHOP_PROD_QTY_INPUT, а в языковый файл - ее определение.

P.S. Должен извиниться перед автором топика - сразу не обратил внимания на эту деталь и дал некорректный совет.
Записан
malygenius
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #6 : 18.05.2015, 14:36:53 »

Спасибо, sebun. Первая часть сработала. Мне теперь стала понятна немного логика этого процесса.
Теперь во всех языках вместо Qty есть _JSHOP_PROD_QTY_INPUT:
Добавил в components/com_jshopping/lang/ru-RU.php
Код:
define('_JSHOP_PROD_QTY_INPUT', 'Количество');
, но на фронтенде ничего не поменялось.
Пробовал также в админе через  LangOverride менять. Он не подставляет вместо _JSHOP_PROD_QTY_INPUT  слово Количество.
Возможно что-то делаю не так.
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2281



« Ответ #7 : 18.05.2015, 14:41:09 »

А отображается что? _JSHOP_PROD_QTY_INPUT  или Qty?

Вам нужно определение константы _JSHOP_PROD_QTY_INPUT  засунуть во все языковые файлы с соответствующим переводом, а в файлах, где встречается слово Qty, заменить его на эту константу.

P.S. Попробуйте совет от Taatshi - посмотрите, где в файлах встречается это слово, замените его на созданную в языковом файле константу.
« Последнее редактирование: 18.05.2015, 14:44:41 от sebun » Записан
IzrA
Давно я тут
****

Репутация: +27/-0
Offline Offline

Пол: Мужской
Сообщений: 352



« Ответ #8 : 18.05.2015, 14:55:29 »

Цитировать
<div class="prod_qty_input">_JSHOP_PROD_QTY_INPUT:
А разве константу нужно не через echo выводить?

Код:
<div class="prod_qty_input"><?php echo _JSHOP_PROD_QTY_INPUT?>:
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2281



« Ответ #9 : 18.05.2015, 15:02:25 »

А разве константу нужно не через echo выводить?
Я думал это и так должно быть понятно... Но на всякий случай спросил, какой текст у него выводится

А отображается что? _JSHOP_PROD_QTY_INPUT  или Qty?
Записан
IzrA
Давно я тут
****

Репутация: +27/-0
Offline Offline

Пол: Мужской
Сообщений: 352



« Ответ #10 : 18.05.2015, 15:08:36 »

Я думал это и так должно быть понятно... Но на всякий случай спросил, какой текст у него выводится
Я тоже ждал, что ответит на ваш вопрос ТС, но не дождавшись решил уточнить.
Записан
malygenius
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #11 : 18.05.2015, 15:09:14 »

Друзья, всем спасибо!
Действительно надо было делать
Код:
<div class="prod_qty_input"><?php echo _JSHOP_PROD_QTY_INPUT?>:
Теперь я это знаю и очень вам благодарен.
Все работает!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet