升级本地化
文档
变更点
在 CI4 中,语言文件以数组形式返回语言线。
升级指南
在 Config/App.php 中指定默认语言:
<?php namespace Config; use CodeIgniter\Config\BaseConfig; class App extends BaseConfig { // ... public string $defaultLocale = 'en'; // ... }
现在将语言文件移到 app/Language/<locale>。
之后需要更改语言文件中的语法。下面的代码示例中可以看到文件中的语言数组应该如何表示。
从每个文件中删除语言加载器
$this->lang->load($file, $lang);
。用
echo lang('Errors.errorEmailMissing');
替换加载语言行的方法$this->lang->line('error_email_missing')
。
代码示例
CodeIgniter 3.x 版本
<?php
// error.php
$lang['error_email_missing'] = 'You must submit an email address';
$lang['error_url_missing'] = 'You must submit a URL';
$lang['error_username_missing'] = 'You must submit a username';
// ...
$this->lang->load('error', $lang);
echo $this->lang->line('error_email_missing');
CodeIgniter 4.x 版本
<?php
// Errors.php
return [
'errorEmailMissing' => 'You must submit an email address',
'errorURLMissing' => 'You must submit a URL',
'errorUsernameMissing' => 'You must submit a username',
'nested' => [
'error' => [
'message' => 'A specific error message',
],
],
];
// ...
echo lang('Errors.errorEmailMissing');