エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


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のキャッシュをクリアする方法「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のキャッシュをクリアする方法「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の関連記事

CakePHP3のHtmlHelperのLink設定のまとめ。mailto、URL、Root/Homeのリンクなども
CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント
CakePHP3のfriendsofcake/searchでツリーカテゴリーの子階層も含めて検索する方法
CakePHP3のfriendsofcake/searchでブックマークチュートリアルのタグ検索を実装
CakePHP3の検索プラグイン「friendsofcake/search」の様々な検索の仕方の実装方法
CakePHP3の検索プラグイン「friendsofcake/search」の設置方法・CakePHP3.6対応
CakePHP3でテーブルにカラム(項目)を追加したときに変更するポイントのまとめ
cakephp3 カスタムバリデーションを簡易的に実装する方法
CakePHP3のプラグイン「CakeDC/Users」を日本語化・翻訳ファイルもダウンロード可
CakePHP3のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3ログファイルの出力方法・$this->log()の解説
CakePHP3ログファイルへの出力・$this->log()、独自ログへの出力方法の解説

コントロール、モデルの変数の中身を見るときはログに出力する方法が有効です。$this->log()を利用すると変数だけじゃなく、連想配列、オブジェクトも簡単にログ出力ができます。

CakePHP3で画像・ファイルのアップロード処理を自作・解説付き・その2
CakePHP3で画像・ファイルのアップロード処理を自作・解説付き・その2

ファイルのアップロード機能の自作サンプルコードとその解説のその2。アップロード機能に関連するファイルの更新や削除の処理や画像、フォルダのパスの指定方法などを含めて解説。

CakePHP3でデータを保存する save()で発生するエラーを確認する方法を解説
CakePHP3でデータを保存する save()で発生するエラーを確認する方法を解説

CakePHP3でデータ保存処理のログを取得する方法。save()では true、falseの戻り値しか取得できないが、saveOrFail()と try…catch文を使いエラーログ、エンティティを取得し、不具合の解析を行う。

CakePHP 2.3で saveの便利な使い方・サンプルソース付き

CakePHPのレコードを保存、更新する際に使う Saveを詳細解説します。

CakePHP3のcontroller内でテンプレート、レイアウトを変更する際の指定方法

CakePHP3でテンプレートファイルやレイアウトファイルをデフォルトのものから別のものに変更したい場合の指定方法を解説。

CakePHP3でユーザ定義の定数、変数を設定し、読み込む方法解説
CakePHP3でユーザ定義の定数、変数を設定し、読み込む方法解説

CakePHP3で定数や共通で使う変数をまとめて設定し、プログラム内で読み込む方法を、bootstrap.phpに直接記述する方法と定数ファイルを分ける方法の3つの方法で解説。

CakePHP 2.3で PDFを作成する方法を調査「mpdf」「TCPDF」「FPDF」

CakePHPで PDFを編集、出力するには「mpdf」「TCPDF」「FPDF」といったプラグインがあり、使い勝手を比較検討しました。TCPDFが一番良さそうでした。

Google Analytics APIを CakePHP3で動かしてレポートデータを取得する方法の解説
Google Analytics APIを CakePHP3で動かしてレポートデータを取得する方法の解説

CakePHP3で Google Analytics APIからレポートデータを取得する処理の解説。PHPのサンプルソースをCakePHP3で動くように改造。加えて、ディメンションやメトリックスを条件に設定する方法なども。

CakePHP3にWYSIWYGエディタのCKEditor4を設置、カスタマイズ方法を解説
CakePHP3にWYSIWYGエディタのCKEditor4を設置、カスタマイズ方法を解説

WYSIWYGエディタであるCKEditor4をCDNを利用して簡単にCakePHP3に導入する方法とカスタマイズする方法を解説。CakePHP3にはページごとの振り分けを行うブロック化を利用する。

CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法
CakePHP3チュートリアルで日付と時刻のDateTimeでエラーが出たときの対処方法

CakePHP3のブックマークチュートリアルには記載ミスもあり、そのまま動かない個所もある。CakePHP3では namespaceを使うようになったので、classを呼び出すときに¥を追加する必要が!