ローカライズのアップグレード
ドキュメント
変更点
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);
を削除します。言語行の読み込み方法
$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');