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

Progreccor

  • Захожу иногда
  • 269
  • 25 / 0
В общем с в одном моем компоненте надо использовать транслитерацию с русского на английский язык.
вроде как это должно делаться с помощью таких строк

Код
$lang = JFactory::getLanguage();
$element->alias = $lang->transliterate($element->alias);

да вот беда что это не работает...
при трассировке увидел что у объекта $lang не установлен transliterator

кто может помочь советом?
как правильно делать?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Транслитерация не работает
« Ответ #1 : 05.11.2013, 15:32:49 »
Сюда по конструктору, JLanguage ищет файлик /language/ru-RU/ru-RU.localise.php и если в нем есть класс Ru_RULocalise и метод transliterate, то подключает его.
*

Progreccor

  • Захожу иногда
  • 269
  • 25 / 0
Re: Транслитерация не работает
« Ответ #2 : 05.11.2013, 15:44:51 »
да. причем если я явно прописываю $element->alias=ru_RULocalise::transliterate($element->alias);
то все работает

вопрос в том, почему не работает стандартный способ?
*

Progreccor

  • Захожу иногда
  • 269
  • 25 / 0
Re: Транслитерация не работает
« Ответ #3 : 05.11.2013, 15:47:40 »
p.s.
на момент использования в моем коде объект $lang уже создан и потому просто возвращает то что есть
*

Progreccor

  • Захожу иногда
  • 269
  • 25 / 0
Re: Транслитерация не работает
« Ответ #4 : 05.11.2013, 15:50:18 »
вроде должен срабатывать стандартный способ если заполнен transliterator
но к сожалению этого не происходит
transliterator на момент вызова пуст.

Я не могу найти стандартные средства транслитерации.

я знаю что скажем этот способ используется при создании алиаса статьи, но не могу найти это место в коде Joomla.
может хоть это подскажете?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Транслитерация не работает
« Ответ #5 : 05.11.2013, 16:06:51 »
очень странно. Место в коде я тоже не знаю, но скорее всего там будет $lang->transliterate($element->alias);
Ну попробуйте дебажнуть конструктор и посмотерть, почему не инициализируется свойство transliterator.
*

Progreccor

  • Захожу иногда
  • 269
  • 25 / 0
Re: Транслитерация не работает
« Ответ #6 : 05.11.2013, 16:33:42 »
я просмотрел все места в которых вызывается transliterate.
и что-то мне подсказывает что в статьях сделано все по-другому
*

Progreccor

  • Захожу иногда
  • 269
  • 25 / 0
Re: Транслитерация не работает
« Ответ #7 : 05.11.2013, 16:41:44 »
мне почему-то не удалось найти какой либо документации о правильном применении transliterate
вообще нигде!
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Транслитерация не работает
« Ответ #8 : 05.11.2013, 17:06:25 »
мне почему-то не удалось найти какой либо документации о правильном применении transliterate
вообще нигде!
Ну видимо её нет... Лично я её не использовал ни разу, поэтому конкретно не могу ничего посоветовать.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Транслитерация не работает
« Ответ #9 : 03.01.2014, 23:02:30 »
Я бы посмотрел в сторону JApplicationHelper::stringURLSafe...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает псевдоним пункта меню

Автор djumfan

Ответов: 17
Просмотров: 11501
Последний ответ 13.12.2022, 11:29:28
от denism300
Локализация фреймворка T4 от Joomlart (работает на Joomla 4)

Автор okrym

Ответов: 1
Просмотров: 7501
Последний ответ 17.09.2020, 13:03:34
от spartos93
bootstrap grid (адаптивная сетка) не работает в позициях модулей

Автор Romsan21

Ответов: 0
Просмотров: 1449
Последний ответ 25.05.2017, 20:16:36
от Romsan21
Перенесено: В английской версии сайта не работает блог категорий

Автор b2z

Ответов: 0
Просмотров: 1242
Последний ответ 24.05.2017, 09:39:10
от b2z
Не работает поиск в переопределении констант

Автор турист

Ответов: 0
Просмотров: 1264
Последний ответ 08.07.2016, 03:45:56
от турист