エス技研

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、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の関連記事

CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法
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」に関する記事一覧
 
 

 - CakePHP 3.x 4.x 5.x

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

CakePHP4、5の認証処理で認証が通らない際の確認方法と確認箇所の紹介
CakePHP4、5の認証処理で認証が通らない際の確認方法と確認箇所の紹介

CakePHP4、5系の認証処理でログイン認証が通らない場合の確認方法、確認箇所を解説。ログ出力し、ステータスを確認するが、ステータスの内容も紹介。それはそのままusernameを変更する際のポイントでもある。

CakePHP4の数値項目は「like %10%」の部分一致検索(find select)はできない
CakePHP4の数値項目は「like %10%」の部分一致検索(find select)はできない

CakePHP4でテーブルの数値項目に対してlike句を使用した部分一致検索を実行するとエラーが発生する。クリエービルダーの不具合だと思われ対処方法が分からない。

cakephp3 カスタムバリデーションを簡易的に実装する方法
cakephp3 カスタムバリデーションを簡易的に実装する方法

CakePHP3の独自のバリデーションをテーブルクラス内に簡単に記述する方法を解説。他のテーブルクラスでは使えないが、記述する量は少なく実装できるため、他で使わない処理を書くのには便利。

CakePHP3でシェルを作成しコマンドラインから実行・CakePHP2との違い
CakePHP3でシェルを作成しコマンドラインから実行・CakePHP2との違い

CakePHP3のシェルスクリプトを作成し、コマンドラインから実行する方法を解説。複数単語をつなげる場合の対応方法がCakePHP2より制限が厳しくなったのでCakePHP3の命名規則の確認が必要だ。

CakePHP3でassociatedを使って関連データをまとめて保存する方法(hasOne、hasMany、belongsTo)

CakePHP3で関連データをまとめて保存する方法。hasOne、hasMany、belongsTo等の関連データはassociatedを追加することでまとめて保存することができます。

CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説
CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説

CakeDC謹製Usersプラグインの紹介。Usersのカスタマイズとして入力項目のバリデーションの変更を、プラグインのファイルは触らずオーバーライドにより実装する方法を解説する。

CakePHP3のCakeDC/Usersのログイン後のリダイレクトを設定解説
CakePHP3のCakeDC/Usersのログイン後のリダイレクトとユーザ権限管理の設定解説

CakeDC謹製Usersプラグインの紹介。ログイン認証後にリダイレクトする先の設定方法についての解説と実運用するために必要なコツを解説。便利な仕組みも仕様の理解があって初めてうまく使いこなせる。

CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法
CakePHPのpostlinkで生成した削除リンクをクリックしても処理が実行されない対処法

CakePHP環境にてpostLinkで生成した削除のリンクをクリックしても処理が実行されず、JavaScriptでUncaught TypeErrorが発生。原因は同一IDを複数記述していることだった。

MySQL+CakePHPのdate型、datetime型項目は「2999-12-31」までしか扱えない
MySQL+CakePHPのdate型、datetime型項目は「2999-12-31」までしか扱えない

CakePHPの日付、日時の型であるdate型、datetime型の最大値は2999-12-31となっている。MySQLは9999年までなので違いがあるので注意が必要だ。

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

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