- Сообщений: 4
- Спасибо получено: 0
Локализация модуля
- Не в сети
- New Member
COM_KUNENA_USER_PROFILE_BUTTON_LABEL_SHOW_LESS
Больше
5 года 7 мес. назад #8600
от
создал тему: Локализация модуля
и так, столкнулся с тем, что локали перевода работают не для всех мест модуля, например:
достаточно посмотреть у них в демо компонента и модуля
вверху слева, где выведен модуль, у них на англ. весрии модуля виден русский текст, типа ЯСНО, пасмурно и т.п.
это позволит получать с сервиса описание на языке сайта, работает в мультиязычности на сайте с русским/английским/ивритом/арабским остальное не проверял, но уверен что будет.
это все из-за того, что они в helper.php формируют запрос a api сервиса с жесткой локалью
$currentWeatherUrl = ' api.openweathermap.org/data/2.5/weather?...&appid=%s&mode=json& lang=ru&units=metric',
из-за этого это описание, всегда будет русским, даже если вы ставите модуль на англ. сайт или другой.
для того чтобы от этого избавить, в файле helper.php
1.удалите:
private static
$currentWeatherUrl = ' api.openweathermap.org/data/2.5/weather?...lang=ru&units=metric ',
$fiveDayWeatherUrl = ' api.openweathermap.org/data/2.5/forecast...lang=ru&units=metric '
;
2. ниже этой строчки:
private static function getWeather($params, $type='current')
{
добавьте:
$currentLanguage = JFactory::getLanguage();
$localLanguage = $currentLanguage->getTag();
$shortLanguage = substr($localLanguage,0,2);
3. замените вот это:
$url = $type=='current' ? self::$currentWeatherUrl : self::$fiveDayWeatherUrl;
на вот это:
$url = $type=='current' ?
' api.openweathermap.org/data/2.5/weather?...guage.'&units=metric ' : ' api.openweathermap.org/data/2.5/forecast...guage.'&units=metric ';
достаточно посмотреть у них в демо компонента и модуля
вверху слева, где выведен модуль, у них на англ. весрии модуля виден русский текст, типа ЯСНО, пасмурно и т.п.
это позволит получать с сервиса описание на языке сайта, работает в мультиязычности на сайте с русским/английским/ивритом/арабским остальное не проверял, но уверен что будет.
это все из-за того, что они в helper.php формируют запрос a api сервиса с жесткой локалью
$currentWeatherUrl = ' api.openweathermap.org/data/2.5/weather?...&appid=%s&mode=json& lang=ru&units=metric',
из-за этого это описание, всегда будет русским, даже если вы ставите модуль на англ. сайт или другой.
для того чтобы от этого избавить, в файле helper.php
1.удалите:
private static
$currentWeatherUrl = ' api.openweathermap.org/data/2.5/weather?...lang=ru&units=metric ',
$fiveDayWeatherUrl = ' api.openweathermap.org/data/2.5/forecast...lang=ru&units=metric '
;
2. ниже этой строчки:
private static function getWeather($params, $type='current')
{
добавьте:
$currentLanguage = JFactory::getLanguage();
$localLanguage = $currentLanguage->getTag();
$shortLanguage = substr($localLanguage,0,2);
3. замените вот это:
$url = $type=='current' ? self::$currentWeatherUrl : self::$fiveDayWeatherUrl;
на вот это:
$url = $type=='current' ?
' api.openweathermap.org/data/2.5/weather?...guage.'&units=metric ' : ' api.openweathermap.org/data/2.5/forecast...guage.'&units=metric ';
Пожалуйста Войти , чтобы присоединиться к беседе.
- Не в сети
- Администратор
COM_KUNENA_USER_PROFILE_BUTTON_LABEL_SHOW_LESS
Больше
- Сообщений: 2227
- Спасибо получено: 188
5 года 6 мес. назад #8622
от
ответил в теме Локализация модуля
Если возможно оформте пул реквест на гитхабе
github.com/Joomline/jlweather
Пожалуйста Войти , чтобы присоединиться к беседе.
Время создания страницы: 0.233 секунд