ローカライズのアップグレード

ドキュメント

変更点

  • 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. 言語行の読み込み方法$this->lang->line('error_email_missing')echo lang('Errors.errorEmailMissing');に置き換えます。

コード例

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