メールマガジンを簡単に発行できる phpList をインストールしてみた で phpListをインストールしてみました。
しかしながら、実際に使おうと思うと英語と日本語が混ざっていて使いづらいものになっています。
これは、phpListがまだまだ 30% から 40% 程度しか翻訳されていないからです。
そこで今回は、個人で好きなように翻訳するために 国際化の仕組みを含め 日本語化の方法を簡単にまとめてみました。
- 目次
- 履歴
2014年3月11日 初版
| レンタルサーバー・自宅サーバー設定・構築のヒント |
メールマガジンを簡単に発行できる phpList をインストールしてみた で phpListをインストールしてみました。
しかしながら、実際に使おうと思うと英語と日本語が混ざっていて使いづらいものになっています。
これは、phpListがまだまだ 30% から 40% 程度しか翻訳されていないからです。
そこで今回は、個人で好きなように翻訳するために 国際化の仕組みを含め 日本語化の方法を簡単にまとめてみました。
2014年3月11日 初版
各翻訳ファイルは、メールマガジンを簡単に発行できる phpList をインストールしてみた の設定例では、/var/www/ 配下に展開したので、
/var/www/phplist-3.0.5/public_html/lists/admin/locale/ja/phplist.po
の poファイル で翻訳します。(./ja/ : 日本語の場合 )
もちろん日本語以外もそろってはいますが、翻訳率は日本はかなり低い(30%ぐらい)です。
通常は、何も気にせずログインすれば自動的に翻訳しれるはずです。
phpListをインストールしただけの状態であれば、最初に管理画面のログイン画面を表示すると以下のように英語表記されると思います。
画面右のこの状態で日本語へ切り替えても何も翻訳されません。
しかし、ログイン前にここを日本語に設定しておきます。
ユーザ名 : admin (デフォルト)、パスワード : インストール時に設定したパスワード(初期化した場合は無し)
を入力しContinueボタンをクリックし、ログインします。
上記のように管理画面のホームへ遷移中に言語情報の初期化画面が表示され、
先に翻訳ファイルを読み込み各翻訳ワードをデータベースへ登録します。
登録を終え、画面が表示されると片言ながら日本語に翻訳されていることがわかると思います。もちろん片言の翻訳は、先の翻訳ファイルでの翻訳が 30% 程度のできだからです。
非常に簡単です。
先にも書きましたが、翻訳ファイルが更新されれば、再度読み込み、データベースへの登録が実施されるので、
後でいくらでも翻訳をやり直すことはできます。
翻訳ファイルをアップロードして、管理者でログイン あるいは ログイン状態から言語切替を行うだけで自動的に再読み込みしてくれます。
|
ほとんどの場合は、テキストファイルの翻訳ファイル ( phplist.po )を編集し、アップロードすれば、翻訳してくれます。
ただ、どうしても翻訳情報を初期化したい場合があるかもしれません。その場合、データベースを直接変更すると良いでしょう。
|
これでデータベースは、すべて初期化されます。
この状態で、ログインや言語切替を行えば、phpListがインストールされた状態と同じように 翻訳ファイル ( phplist.po )を読み込もうとします。
phpList は 一応 moファイルに対応しています。
ご存じの方も多いと思いますが、
そもそも、テキストファイルの翻訳ファイル ( phplist.po )を使っているので、
本来なら、poファイルからmoファイルを作成すれば、自動的に翻訳してくれてよさそうな感じです。
しかし、デフォルトの動作は、poファイルをデータベースへ登録し、翻訳情報をデータベースから常に読み込むようになっています。
データベースが存在しない場合、あるいは、データベースに翻訳した文言が存在しない場合は、moファイルから読み込む?みたいです。
それだけ回りくどいからか、うまく読み込めないこともしばしばで、特にパフォーマンスが不足気味の環境では、使い物になりませんでした。
どうしてか・・・正直、そこまで確認できていませんが、基本的に上記のようにデータベースで素直にやることをおすすめします。
どうしてもやりたい方、試してみたい方だけ、一応、以降に自分でやってみた環境について簡単に解説しておきます。
phpListは、デフォルト英語環境となっています。
日本語などの多言語(国際)化を図る場合、スクリプトが用意されています。
ここでの例では、
/var/www/phplist-3.0.5/scripts/generate-mo.sh
になります。
これを実行するだけですが、このスクリプトは、msgfmt コマンドを使用します。
まずは、msgfmt コマンドがインストールされているか確認し、インストールされていない場合は、gettext パッケージ をインストールします。
( msgfmt コマンドは、gettext パッケージ に含まれています。 )
|
$ echo "ja_JP" > gettext_code
これで データベースの翻訳情報用のテーブル( phplist_i18n )は、削除してもOKのはずです。
|
この状態で、管理者用のページを開いてみてください。
こんな感じで日本語が見えればOKです。
(amazon ) |
インフラエンジニア教本2――システム管理・構築技術解説 (SoftwareDesign別冊)に寄稿しました。
「ログを読む技術」の再掲載になります。
8月号を見逃された方は、是非、ご一読くださいませ。 |
(amazon ) |
Software Design 8月号に寄稿しました。
「ログを読む技術」について寄稿しました。
興味のある方は、是非、ご一読くださいませ。 |
また、執筆 や 当サイトにおける広告 のご依頼などございましたら、お問い合わせページより ご一報ください。 |
Copyright © 2009 - 2024 レンタルサーバー・自宅サーバー設定・構築のヒント
コメントを投稿 :