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

romagromov

  • Давно я тут
  • 685
  • 9 / 3
Получить текущий язык
« : 03.02.2021, 16:01:22 »
Здравствуйте!
Не могу найти, как получить просто префикс текущего языка сайта - ru, en, fr и т.д.
Вот так
Код
<?php
$lang = JFactory::getLanguage();
echo 'Current language is: ' . $lang->getName();
?>
Получаю полное название, типа Current language is: Russian (ru-RU)
А нужно просто код префикс, который обычно идет в урле.
*

ProtectYourSite

  • Живу я здесь
  • 2295
  • 132 / 4
  • Безопасность вебсайтов
Re: Получить текущий язык
« Ответ #1 : 03.02.2021, 16:06:07 »
$lang->getTag()?
*

romagromov

  • Давно я тут
  • 685
  • 9 / 3
Re: Получить текущий язык
« Ответ #2 : 03.02.2021, 17:51:06 »
$lang->getTag()

получается ru-RU
а нужно просто ru, чтобы сразу можно было подставить к URL.
*

romagromov

  • Давно я тут
  • 685
  • 9 / 3
Re: Получить текущий язык
« Ответ #3 : 03.02.2021, 19:08:04 »
Короче, эта штука
Код
print_r ($lang->getLocale());
выводит
Код
Array ( [0] => ru-RU.utf8 [1] => ru-RU.UTF-8 [2] => ru_RU.utf8 [3] => ru_RU.UTF-8 [4] => ru-RU [5] => ru_RU [6] => ru [7] => russian [8] => russian-ru )
как видим
Код
[6] => ru
то, что нам нужно.
Но что это? как его вывести?
*

beliyadm

  • Легенда
  • 9694
  • 1661 / 66
  • Севастополь == Россия
Re: Получить текущий язык
« Ответ #4 : 03.02.2021, 19:10:12 »
получается ru-RU
а нужно просто ru, чтобы сразу можно было подставить к URL.
Не вникал в этот массив, но на PHP просто обрезать первые две буквы и все ну или с конца (формат же один для всех)
Код
	$str = 'ru-RU';
echo substr($str, 0, strlen($str)-3); // ru
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

romagromov

  • Давно я тут
  • 685
  • 9 / 3
Re: Получить текущий язык
« Ответ #5 : 04.02.2021, 12:25:42 »
Ну в общем так тоже можно, если кому нужно

Код
$lang = explode('-', \JFactory::getLanguage()->getTag())[0];
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Получить текущий язык
« Ответ #6 : 05.02.2021, 10:50:28 »
Короче, эта штука
Код
print_r ($lang->getLocale());
выводит
Код
Array ( [0] => ru-RU.utf8 [1] => ru-RU.UTF-8 [2] => ru_RU.utf8 [3] => ru_RU.UTF-8 [4] => ru-RU [5] => ru_RU [6] => ru [7] => russian [8] => russian-ru )
как видим
Код
[6] => ru
то, что нам нужно.
Но что это? как его вывести?
Код
print_r ($lang->getLocale()[6]);
*

romagromov

  • Давно я тут
  • 685
  • 9 / 3
Re: Получить текущий язык
« Ответ #7 : 24.02.2021, 19:22:23 »
Код
print_r ($lang->getLocale()[6]);

Да, так и хотел изначально, но так и не смог решить.
Спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как русифицировать админку Joomla 3. Как поменять язык в админке?

Автор peklor

Ответов: 3
Просмотров: 375
Последний ответ Сегодня в 01:25:02
от weser
Язык пользователя при регистрации - мультиязычность

Автор romagromov

Ответов: 3
Просмотров: 641
Последний ответ 23.07.2022, 12:11:09
от Kostelano
Русский язык по умолчанию

Автор rk3dnp

Ответов: 15
Просмотров: 6830
Последний ответ 19.09.2020, 12:32:46
от mblfa
Получить переменную, что мы на первой странице пагинации?

Автор romagromov

Ответов: 9
Просмотров: 650
Последний ответ 19.05.2020, 08:36:37
от sivers
Слетел русский язык

Автор ДмитрийБ

Ответов: 2
Просмотров: 1291
Последний ответ 16.04.2020, 22:15:25
от ДмитрийБ