CakePHP3のプラグイン「CakeDC/Users」を日本語化・翻訳ファイルもダウンロード可
2019/04/29
CakePHP3のプラグイン「CakeDC/Users」を日本語化する
CakePHP3を日本語化する翻訳ファイルと設置手順
CakePHP 3.6以降用の CakeDC/Usersの翻訳ファイル
20190428_CakeDC-Users_翻訳ファイル
上記のファイルをダウンロードし、下記の場所に設置します。
/src/Locale/ja/Users.po
これだけで CakeDC/Usersのメッセージが日本語で表示されるようになります。
翻訳ファイルはキャッシュされている可能性が高いため、動作確認する前にキャッシュをクリアすることをおススメします。
キャッシュのクリア方法は、CakePHP 3.3以降であれば、ルートフォルダでコマンド「bin/cake cache clear_all」を実行する方法が一番簡単で確実です。
詳しくは、下記の記事を参照してください。
CakePHP3、CakePHP4のキャッシュをクリアする方法「bin/cake cache clear_all」を使う
CakePHP3を日本語化(多言語化)する仕組みとプラグイン「CakeDC/Users」
下記の記事で、CakePHP3で表示されるメッセージを日本語化(多言語化)する方法を解説しました。
CakePHP3のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)
ですが、上記の記事で解説をした翻訳ファイル「default.pot」を生成するコマンド「bin/cake i18n」を実行しても、CakePHP3で表示されるメッセージのすべてのメッセージの翻訳ファイルを生成してくれるわけではありません。
具体的には、生成される翻訳ファイル「/src/Locale/default.pot」には、プラグイン「CakeDC/Users」の処理で使用されるメッセージは入っていません。。
プラグイン「CakeDC/Users」は、プラグイン用の別の翻訳ファイルを持っているためです。
「CakePHP3のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)」の記事でも紹介しましたが、「CakeDC/Users」のメッセージは「__d('CakeDC/Users','*****')
」という形式で記述されているため、「default.pot」には出力されません。
「CakeDC/Users」の翻訳ファイルは、プラグイン独自で持っているので、個別に対応してね!という具合なのです。
というわけで、「CakeDC/Users」が持っている翻訳ファイルを利用して日本語に翻訳を行います。
「CakeDC/Users」があらかじめ持っている翻訳ファイルは下記になります。
/vendor/cakedc/users/src/Locale/Users.pot
上記のファイルの名前を替えて、下記の通りに設置します。(拡張子は「.pot」から「.po」に変更します。)
/src/Locale/ja/Users.po
これで日本語に翻訳していく準備は整いましたが、この時点では英語のメッセージに対する日本語の対訳が編集されていないため、日本語には変換されません。
個別に日本語の訳を追加していくと、日本語を追加したところから日本語に変換されたメッセージが表示されるようになります。
ただ、自分で日本語訳を編集していく方法もありますが、私が翻訳したファイルを最初に紹介していますので、それを使ってみるのもいいんじゃないかと思います。
そのうえで、日本語の訳が気に入らないところだけ変更する、という方法が効率的だと思います。
また、先にも書きましたが、翻訳ファイルはキャッシュされる可能性が高いため、動作確認する前にキャッシュをクリアすることをおススメします。
キャッシュのクリア方法は、ルートフォルダでコマンド「bin/cake cache clear_all」を実行する方法が一番簡単で確実です。
詳しくは、下記の記事を参照してください。
CakePHP3、CakePHP4のキャッシュをクリアする方法「bin/cake cache clear_all」を使う
CakeDC/Usersは多言語化対応されている
ちなみに、よくよく確認すると、多言語化の
/vendor/cakedc/users/src/Locale/
フォルダの中には、「ar_OM」「es」「fr_FR」といったフォルダとそれぞれの言語に翻訳された翻訳ファイル「.po」「.mo」が生成されています。
つまりは、英語以外のいくつかの言語には対応しているけれど、日本語には対応してないよ、ということなのです。
CakeDC/Usersの翻訳ファイルを作った経緯
私は、「URL短縮サービス・TTTオンライン(https://ttt.onl)」を作成するときに始めてこの「CakeDC/Users」の翻訳ファイルを作成しました。
一部にサービス名を記載したメッセージがありましたので、その辺りを修正したものが先にも紹介していた「CakeDC/Users」の日本語翻訳ファイルです。
20190428_CakeDC-Users_翻訳ファイル
この日本語翻訳ファイルは、直訳ではなく意訳をしているところが多くあります。
理由は、Webサービスの利用者に対して、柔らかい表現でメッセージを伝えたいと考えているためです。
例えば、「入力が間違っています」ではなく、「正しい値を入力してください」といった感じです。
また、一般ユーザが見るメッセージでは技術的な表現も避けています。
例えば「token」「Validation」と言った単語があります。
我々エンジニアであれば「トークン」「バリデーション」という表現で伝わりますが、一般ユーザには馴染みがない単語だと思いますので、そのままの単語は使わず、一般ユーザにも伝わる表現に置き換えています。
直訳でいいならば、Google翻訳を利用して翻訳すれば済む話なので、こうやって翻訳ファイルを公開するならば、なにかプラスアルファがあるといいな、と思ったからでもあります。
CakePHP3のプラグイン「CakeDC/Users」に関連する記事は以下となります。
CakePHP3のユーザ管理・ログイン認証プラグインCakeDC/Usersのインストール解説・3.6以降対応
CakePHP3のCakeDC/Usersの画面、メール本文テンプレートのカスタマイズ方法解説
CakePHP3のCakeDC/Usersのログイン後のリダイレクトとユーザ権限管理の設定解説
CakePHP3のCakeDC/UsersのUserHelperでログアウトやreCAPTCHAをカスタマイズ
CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説
CakePHP3のCakeDC/Users、Authでログインなしでもアクセスを許可する設定
CakePHP3のCakeDC/Usersでログインユーザの所有レコードのみ更新、削除する権限管理の設定方法
CakePHP3の関連記事
CakePHP4のCSS、JavaScript、画像のブラウザへのキャッシュをコントロールするCakePHP3でレコードを保存(追加、更新、Insert、Update)する複数の方法を紹介
CakePHP3でモデルなしフォームからCSVをアップロードしレコードを更新する方法解説
CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3の1対多での連携を中間テーブルを使った多対多の連携に変更するときの手順
CakePHP3でデフォルトのソート条件を設定してユーザの選択肢たソート条件を有効にする方法
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
その他の「CakePHP3」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
CakePHP4のController内でViewテンプレート、レイアウトの変更設定を記述する方法
CakePHP4でテンプレートやレイアウトファイルをデフォルトから変更する場合は「render()」を使用するが、記述場所はできるだけコントローラー内の最後の方に書く方がいい。
-
CakePHP4のユーザ管理・ログイン認証プラグインCakeDC/Usersのインストール解説
CakePHP4のユーザ管理プラグイン Usersは、ユーザ登録、メール認証、ログイン認証、ユーザ管理、権限管理、reCAPTCHAなど会員制のサイトを簡単に実現可能。その導入方法、カスタマイズ方法を解説。
-
CakePHP4から外部のデータベースにアクセスする方法解説
CakePHP4のシステムから他のシステムのデータベースにアクセスをし、SQL文を実行する方法を解説。try-catchでエラーを取得する方法も解説。
-
CakePHP 2.3 Model、Controllerの見たい変数の中身をログ出力
CakePHPの Modelや Controllerの変数の中身をログとして出力して見る方法を提供します。
-
CakePHP4 のコマンドプログラムからコンポーネントを読み込む方法解説
CakePHP4でコマンドプログラムからコンポーネントを呼び出す方法を解説。コントローラーから呼び出すときと大差はないが、use句でコンポーネントを指定する事がポイント。
-
CakePHP3の検索プラグイン「friendsofcake/search」の様々な検索の仕方の実装方法
CakePHP3で検索をするプラグイン「friendsofcake/search」の検索条件のカスタマイズ方法の解説。検索項目を増やしたり、以上、以下での検索や、チェックボックスによる検索の方法などを解説。
-
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3で Insert … On Duplicate Key Update構文(upsert)を実行する方法を解説。バルク処理の方法も用意されているため大量処理の場合も対応可能。
-
CakePHPを学ぶ際にはオブジェクト指向を学ぼう
CakePHPはオブジェクト指向で書かれていますので、CakePHPを学ぶにはオブジェクト指向も学びましょう。
-
CakePHP3のルーティング(routes.php)の変更が反映されない時はキャッシュのクリアを
CakePHP3でルーティングの設定変更をしたけど反映されない!そんなときは慌てず騒がずキャッシュをクリアしよう!ルーティングの設定もキャッシュされることがあるらしい。
-
CakePHP3のcontroller内でテンプレート、レイアウトを変更する際の指定方法
CakePHP3でテンプレートファイルやレイアウトファイルをデフォルトのものから別のものに変更したい場合の指定方法を解説。