hanikunです。
(Telが電話に変わりました。!!!)
0.ウィザードの限界
ウィザードで作るのは簡単にすぐ使えますが、複雑な入力や日本語の表示などの設定が簡単には出来ません。その限界を超えて行くため色々修正が必要となります。それで今回は前回に作ったアプリ(電話の記録ノート)を修正します。
1.アプリのファイル構成
設置したtel_noteアプリは以下の場所にインストールされます。
{Nosを設置したフォルダー}/local/applications/tel_note/以下
その下にはclasses, config, migrations, static, viewsがあります。今回修正する所はclasses, configです。
日本語の表示のため新しいフォルダー(lang)も追加します。
2.日本語の表示(多言語)
上のラベルの表示(項目名)が英語になっているのでそれを日本語に修正します。
こう変える方法は一つ目は英語のラベル名を直接に日本語に修正する。二つ目はi18nを利用する。Nosはi18nを支援するのでこれを使います。
3.ファイルの修正及び追加
ウィザードで作ったアプリフォルダーに以下のファイルを追加します。
/local/applications/tel_note/lang/ja/common.lang.php
<?php return array( 'title' => 'タイトル', 'receivetime' => '受付時間', 'memo' => '電話内容', 'toperson' => '誰に', 'isneedanswer' => '返信要請', );
/local/applications/tel_note/lang/ja/metadata.lang.php
<?php return array( 'tel_note' => '電話ノート', 'Tel' => '電話', );
以下のファイルを修正します。コードを追加します。
/local/applications/tel_note/config/metadata.config.php
<?php return array( ...(中略)... 'i18n_file' => 'tel_note::metadata', ...(中略)... );
/local/applications/tel_note/config/controller/admin/tel/crud.config.php
<?php \Nos\I18n::current_dictionary('tel_note::common'); return array( ...(中略)... );
/local/applications/tel_note/config/common/tel.config.php
<?php \Nos\I18n::current_dictionary('tel_note::common'); return array( ...(中略)... );
上のファイルを修正後、アプリケーションマネジャーから変更を更新する必要があります。
今回はウィザードで作ったアプリを日本語に表示することを確認しました。