升级本地化

文档

变更点

  • 在 CI4 中,语言文件以数组形式返回语言线。

升级指南

  1. Config/App.php 中指定默认语言:

    <?php
    
    namespace Config;
    
    use CodeIgniter\Config\BaseConfig;
    
    class App extends BaseConfig
    {
        // ...
    
        public string $defaultLocale = 'en';
    
        // ...
    }
    
  2. 现在将语言文件移到 app/Language/<locale>

  3. 之后需要更改语言文件中的语法。下面的代码示例中可以看到文件中的语言数组应该如何表示。

  4. 从每个文件中删除语言加载器 $this->lang->load($file, $lang);

  5. 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');