来自 CakePHP 3 书
// Before (CakePHP 2)
Configure::write('Config.language', 'fr_FR');
// Now
I18n::locale('en_US');
在我们的 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 } ?>
现在在 CakePHP 3 中如何?
在 Bootstrap 中:
ini_set('intl.default_locale', 'hr_HR');
在 View 中?
请您参考如下方法:
引自 I18n::getLocale()
文档:
[...] Will return the currently configure locale as stored in the intl.default_locale PHP setting. [...]
https://api.cakephp.org/3.5/class-Cake.I18n.I18n.html#_getLocale
所以
use Cake\I18n\I18n;
if (I18n::getLocale() !== 'hr_HR') // ...