Метод getName класса Languages
Метод getName класса Languages возвращает человекочитаемое
название языка по его коду. Первым параметром передаётся код языка
в формате ISO 639-1 (например, 'en', 'ru', 'de').
Вторым необязательным параметром можно передать локаль, на которой
нужно получить название языка. Если локаль не указана, используется
текущая локаль приложения.
Метод удобно применять для построения списков языков в переключателях локали, выпадающих меню и формах выбора языка интерфейса.
Синтаксис
public function getName(string $code, ?string $locale = null): string
Пример
Давайте получим название языка по коду 'en' на английской локали:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Intl\Languages;
class LanguageController extends AbstractController
{
public function index(): Response
{
$res = Languages::getName('en', 'en');
return new Response($res);
}
}
?>
Результат выполнения кода:
"English"
Пример
Давайте получим название того же языка, но на русской локали:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Intl\Languages;
class LanguageController extends AbstractController
{
public function index(): Response
{
$res = Languages::getName('en', 'ru');
return new Response($res);
}
}
?>
Результат выполнения кода:
"английский"
Пример
Давайте соберём названия нескольких языков в массив:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Intl\Languages;
class LanguageController extends AbstractController
{
public function index(): Response
{
$codes = ['en', 'ru', 'de', 'fr'];
$res = [];
foreach ($codes as $code) {
$res[] = Languages::getName($code, 'ru');
}
return new Response(implode(', ', $res));
}
}
?>
Результат выполнения кода:
"английский, русский, немецкий, французский"
Смотрите также
-
класс
Languages,
который предоставляет данные о языках -
метод
getNames,
который возвращает названия всех языков -
метод
exists,
который проверяет существование кода языка -
метод
getAlpha3Code,
который возвращает трёхбуквенный код языка