CakePHP 3:如何在视图中获取当前语言值?

Sal*_*nes 2 php cakephp internationalization cakephp-3.0

来自CakePHP 3 Book

// Before (CakePHP 2)
Configure::write('Config.language', 'fr_FR');

// Now
I18n::locale('en_US');
Run Code Online (Sandbox Code Playgroud)

在我们的CakePHP 2应用程序之前

<?php if(Configure::read('Config.language') != 'hrv') {  ?>
    <li>
        <a href="<?php echo $this->Html->url('/hrv'); ?>" class="flag flag-hr">
        <?php echo __('Hrv', true); ?>
        </a>
    </li>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)

现在如何在CakePHP 3中?

在引导程序中:

ini_set('intl.default_locale', 'hr_HR');
Run Code Online (Sandbox Code Playgroud)

在视图中?

ndm*_*ndm 7

I18n::getLocale()文档引用:

[...]将返回存储在intl.default_locale PHP设置中的当前配置区域设置.[...]

https://api.cakephp.org/3.5/class-Cake.I18n.I18n.html#_getLocale

所以

use Cake\I18n\I18n;

if (I18n::getLocale() !== 'hr_HR') // ...
Run Code Online (Sandbox Code Playgroud)