0 Пользователей и 1 Гость просматривают эту тему.
  • 39 Ответов
  • 7552 Просмотров
*

romagromov

  • Давно я тут
  • 692
  • 9 / 3
Здравствуйте!
Первый раз делаю мультиязычный сайт.
Пока полет нормальный.
Но как перевести заголовки модулей?
Не создавать же разные модули только из-за заголовков.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Перевод заголовков модулей?
« Ответ #1 : 10.05.2020, 16:51:49 »
Не создавать же разные модули только из-за заголовков.
Вы можете в название модуля вставить константу эту константу создать в менеджер расширение и переопределение констант там Создать константу и у вас будут на разных языках разные названия модулей
*

romagromov

  • Давно я тут
  • 692
  • 9 / 3
Re: Перевод заголовков модулей?
« Ответ #2 : 10.05.2020, 17:41:55 »
Вы можете в название модуля вставить константу эту константу создать в менеджер расширение и переопределение констант там Создать константу и у вас будут на разных языках разные названия модулей


Ну я так и подозревал. Но оно не работает.
Вот я в название модуля вставил такое



Затем в файл /language/overrides/fr-FR.override.ini

добавил DA_NEW_ITEMS="De Nouveaux Sons"

Затем на сайте нажал на французский язык - и ничего не заменилось.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Перевод заголовков модулей?
« Ответ #3 : 10.05.2020, 17:47:07 »
Языки: Переопределение констант
Вот так надо !
*

romagromov

  • Давно я тут
  • 692
  • 9 / 3
Re: Перевод заголовков модулей?
« Ответ #4 : 10.05.2020, 17:49:40 »
Не вижу разницы  *ОХ-Х-Х*
 
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Перевод заголовков модулей?
« Ответ #5 : 10.05.2020, 17:54:41 »
Не вижу разницы

А ну тогда нужно немножко по-другому это сделать
/templates/system/html/modules.php
Идём сюда
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Перевод заголовков модулей?
« Ответ #6 : 10.05.2020, 17:57:17 »
Ищем такую строчку
Код
$headerTag      = htmlspecialchars($params->get('header_tag', 'h3'), ENT_QUOTES, 'UTF-8');
И меняем её соответственно в таком формате
Код
$headerTag = JText::_($headerTag);
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Перевод заголовков модулей?
« Ответ #7 : 10.05.2020, 17:58:15 »
Слушайте поставьте мне уже плюса пускай будет их в 100
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Перевод заголовков модулей?
« Ответ #8 : 10.05.2020, 17:59:21 »
Мы не знаем что это такое, если бы мы знали что это такое, мы не знаем что это такое!
« Последнее редактирование: 14.06.2020, 22:49:15 от era »
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Перевод заголовков модулей?
« Ответ #9 : 10.05.2020, 18:02:35 »
Сорри Я ошибся !
В JText нужно кинуть  $module->title
*

romagromov

  • Давно я тут
  • 692
  • 9 / 3
Re: Перевод заголовков модулей?
« Ответ #10 : 10.05.2020, 18:17:46 »
Не работает...
заменил в 2-х местах на $headerTag = JText::_($module->title);
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Перевод заголовков модулей?
« Ответ #11 : 10.05.2020, 18:29:09 »
Не не так
Та Давайте посмотрим !!
skype : agroparknew
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Перевод заголовков модулей?
« Ответ #13 : 11.05.2020, 00:00:45 »
Не работает...
заменил в 2-х местах на $headerTag = JText::_($module->title);
Не надо так. Это хак ядра.
*

Akeksandr

  • Захожу иногда
  • 390
  • 10 / 0
Re: Перевод заголовков модулей?
« Ответ #14 : 03.04.2021, 20:17:53 »
Ну и вот мы решили вопрос
Подскажите пожалуйста как решили. Может и мне подойдёт.
Мне нужно назвать модуль (html код) как языковой переменной.
Чтобы сделать перевод для других языков.
*

sivers

  • Живу я здесь
  • 2464
  • 335 / 0
Re: Перевод заголовков модулей?
« Ответ #15 : 03.04.2021, 20:43:29 »
Мне нужно назвать модуль (html код) как языковой переменной.
Чтобы сделать перевод для других языков.
В настройках модуля отключите вывод заголовка. В макете модуля добавьте вывод заголовка примерно так:
Код
<h3><?php echo JText::_($module->title); ?></h3>
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Akeksandr

  • Захожу иногда
  • 390
  • 10 / 0
Re: Перевод заголовков модулей?
« Ответ #16 : 03.04.2021, 21:49:04 »
В настройках модуля отключите вывод заголовка. В макете модуля добавьте вывод заголовка примерно так:
Код
<h3><?php echo JText::_($module->title); ?></h3>
В устанавливаемом модуле наверное я бы нашёл макет.
Но вот не могу осилить как найти макет, если это модуль (html код)
*

sivers

  • Живу я здесь
  • 2464
  • 335 / 0
Re: Перевод заголовков модулей?
« Ответ #17 : 03.04.2021, 22:07:57 »
как найти макет, если это модуль (html код)
mod_custom
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Akeksandr

  • Захожу иногда
  • 390
  • 10 / 0
Re: Перевод заголовков модулей?
« Ответ #18 : 03.04.2021, 22:28:24 »
mod_custom
Есть такой. Буду пробовать. Так...
Но ведь насколько я понимаю то вывод заголовка повлияет на все остальные модули  (html код).
У меня их несколько. Буду думать...
Наверное придумал. Сделать дополнительные альтернативные макеты.
Супер! Спасибо!!! :D :D :D
« Последнее редактирование: 03.04.2021, 22:40:46 от Akeksandr »
*

sivers

  • Живу я здесь
  • 2464
  • 335 / 0
Re: Перевод заголовков модулей?
« Ответ #19 : 03.04.2021, 22:45:51 »
Сделать дополнительные альтернативные макеты
именно
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Taatshi

  • Глобальный модератор
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Перевод заголовков модулей?
« Ответ #20 : 04.04.2021, 11:12:55 »
А можно поинтересоваться - какой модуль у Вас подходит для всех языковых версий сайта?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Akeksandr

  • Захожу иногда
  • 390
  • 10 / 0
Re: Перевод заголовков модулей?
« Ответ #21 : 04.04.2021, 12:04:30 »
Элементарно.
Вывести видео с YouTube.  Или в модуле картинка. Или вывод другого модуля...
*

Taatshi

  • Глобальный модератор
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Перевод заголовков модулей?
« Ответ #22 : 04.04.2021, 17:21:01 »
Это совсем не так элементарно, как Вы пытаетесь тут показать. Зачем на англоязычном сайте русское видео, куда ведет картинка и что на ней написано - не просто же картинка для разглядывания, у нее должен быть какой-то логический функционал... И другой модуль тоже имеет языковой окрас 100%.

Поэтому хотелось бы ответа от ТС
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Akeksandr

  • Захожу иногда
  • 390
  • 10 / 0
Re: Перевод заголовков модулей?
« Ответ #23 : 04.04.2021, 18:41:10 »
Это совсем не так элементарно, как Вы пытаетесь тут показать. Зачем на англоязычном сайте русское видео, куда ведет картинка и что на ней написано - не просто же картинка для разглядывания, у нее должен быть какой-то логический функционал... И другой модуль тоже имеет языковой окрас 100%.
Поэтому хотелось бы ответа от ТС
Я так понимаю вопрос относится ко мне. Не могу понять Ваши нападки в мою сторону. Я Вам чем-то не угодил?
Я привёл простой пример. У каждого могут быть свои варианты.
Подскажите, будет ли принципиальная разница если гипотетический модуль будет на сайтах с русской, украинской, белорусской, молдавской или казахской локализацией выводить такое видео?

Ну или например такое.
*

Akeksandr

  • Захожу иногда
  • 390
  • 10 / 0
Re: Перевод заголовков модулей?
« Ответ #24 : 03.06.2021, 12:05:24 »
В настройках модуля отключите вывод заголовка. В макете модуля добавьте вывод заголовка примерно так:
Код
<h3><?php echo JText::_($module->title); ?></h3>
С заголовком помогли. Ещё раз благодарю. Может и с текстом в модуле подскажите?
В модуле HTML хочу прописать языковую переменную. Чтобы не делать разные модули под разные языки. Нашёл что такое вроде бы можно
делать с помощью плагина Sourcerer. Но что-то не получается. Подскажите пожалуйста знающие. !
*

sivers

  • Живу я здесь
  • 2464
  • 335 / 0
Re: Перевод заголовков модулей?
« Ответ #25 : 03.06.2021, 13:21:23 »
Может и с текстом в модуле подскажите?
В тексте тоже можно, но либо весь текст целиком помещать в языковую переменную, либо использовать макросы (фрагменты текста, которые при выводе заменяются на полезный текст).
Например, вставляете в текст такие фрагменты: {MACRO1}, {MACRO2}, {LYUBOE_DRUGOE_BEZ_PROBELA}
а в макете вывода модуля находите их в тексте и заменяете. Можно регулярным выражением:
Код
if(preg_match_all('|\{(\S+)\}|isU', $module->content, $pregs)){
    foreach($pregs[1] as $p => $langconst) $pregs[1][$p] = JText::_($langconst);
    $module->content = str_replace($pregs[0], $pregs[1], $module->content);
}
echo $module->content;
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Akeksandr

  • Захожу иногда
  • 390
  • 10 / 0
Re: Перевод заголовков модулей?
« Ответ #26 : 03.06.2021, 15:35:57 »
В тексте тоже можно, но либо весь текст целиком помещать в языковую переменную, либо использовать макросы (фрагменты текста, которые при выводе заменяются на полезный текст).
Полностью весь текст будет как языковая переменная.
*

sivers

  • Живу я здесь
  • 2464
  • 335 / 0
Re: Перевод заголовков модулей?
« Ответ #27 : 03.06.2021, 16:18:21 »
Полностью весь текст будет как языковая переменная.
Ну, тогда еще проще. В модуле в тексте указать только языковую переменную, а в макете вписать:
Код
$module->content = JText::_(trim(strip_tags($module->content)));
echo $module->content;
Либо вообще ничего не указывать в контенте модуля, а в макете вывести языковую переменную (менее гибко, но проще):

$echo $module->content;
Код
echo JText::_('MY_MODULE_LANG_CONST');
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Akeksandr

  • Захожу иногда
  • 390
  • 10 / 0
Re: Перевод заголовков модулей?
« Ответ #28 : 03.06.2021, 16:42:52 »
echo JText::_('MY_MODULE_LANG_CONST');
Создал пустой модуль. В дополнительном макете заменил 
Код
<?php echo $module->content; ?>
на этот
Код
<?php echo JText::_('MY_MODULE_LANG_CONST'); ?>
Создал языковую переменную  MY_MODULE_LANG_CONST в файле  \administrator\language\overrides\uk-UA.override.ini
Но к сожалению выводится текст  MY_MODULE_LANG_CONST
Видимо не туда нужно прописать переменную. Подскажите пожалуйста.

П.С.  Нашёл. Огромное спасибо. В папке Ленгвич для модуля Кастом. :D :D :D
« Последнее редактирование: 03.06.2021, 16:47:12 от Akeksandr »
*

Taatshi

  • Глобальный модератор
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Перевод заголовков модулей?
« Ответ #29 : 03.06.2021, 21:10:00 »
Akeksandr, имхо, проще прямо в админке вводить значение переменной. Языки - переопределение констант.

А там, где Вы добавили, затрется при обновлении.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перевод установленного шаблона на русский язык [для чайников]

Автор Полина

Ответов: 3
Просмотров: 3690
Последний ответ 20.02.2020, 15:57:37
от Полина
Перевод шаблона на русский язык

Автор Единая Справка Строителя

Ответов: 1
Просмотров: 2378
Последний ответ 19.06.2019, 17:02:33
от SeBun
Перевод расширенного поиска

Автор dedmazaj

Ответов: 0
Просмотров: 1952
Последний ответ 29.03.2018, 21:56:43
от dedmazaj
Перевод компонента smart shoutbox и social crossposting

Автор Olga

Ответов: 1
Просмотров: 16984
Последний ответ 26.01.2018, 16:05:25
от AdWeb
Как вам нравится перевод официальной страницы о Joomla 3?

Автор zikkuratvk

Ответов: 131
Просмотров: 24005
Последний ответ 26.09.2017, 00:39:28
от vipiusss