- Posts: 4
- Thank you received: 0
Локализация модуля
- Offline
- New Member
Less
More
5 years 7 months ago #8600
by
Локализация модуля was created by
и так, столкнулся с тем, что локали перевода работают не для всех мест модуля, например:
достаточно посмотреть у них в демо компонента и модуля
вверху слева, где выведен модуль, у них на англ. весрии модуля виден русский текст, типа ЯСНО, пасмурно и т.п.
это позволит получать с сервиса описание на языке сайта, работает в мультиязычности на сайте с русским/английским/ивритом/арабским остальное не проверял, но уверен что будет.
это все из-за того, что они в 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 ';
Please Log in to join the conversation.
- Offline
- Admin
Less
More
- Posts: 2227
- Thank you received: 188
5 years 6 months ago #8622
by
Replied by on topic Локализация модуля
Если возможно оформте пул реквест на гитхабе
github.com/Joomline/jlweather
Please Log in to join the conversation.
Time to create page: 0.187 seconds