Вы можете использовать Configure::read('Config.language')
. Часть кулинарной книги CakePHP гласит:
Текущей локалью является текущее значение Configure :: read ('Config.language'). Значение Config.language присваивается в классе L10n - если оно уже не установлено.
I18n, класс, отвечающий за перевод с использованием __()
, использует Config.language
, поэтому, если вы не переопределите его в bootstrap.php
, эта переменная содержит выбранный язык. На самом деле, даже если вы переопределите его, он все равно будет содержать используемый язык (могут быть несоответствия, потому что I10n на самом деле не знает об изменениях, но я никогда не сталкивался с ними).
Чтобы получить список языков, вы можете использовать L10n::catalog()
. Однако я не уверен, что это то, что вам нужно, поскольку в нем перечислены все языки, о которых знает CakePHP, а не только те языки, которые фактически имеют перевод в app/locale
.