フォーム送信アラート文字の内容変更

2017年9月25日 at 0:38

お世話になっております。
concrete5 8.2.1のフォーム送信で入力不足がある下記のとアラートが出ます。
【以下のエラーを修正してください。必須項目を入力してください *有効なemailアドレスを入力してください。】
この内容を変更するにはどのファイルを変更すれば良いのでしょうか?
ファイルが多いので見つけられませんでした。

宜しくお願い致します。

タグ:

Re: フォーム送信アラート文字の内容変更

2017年9月25日 at 9:53
該当する部分は、多言語でも「サイトインタフェースを翻訳」に無い部分なのでコアの翻訳文となります。
以下の「2: 重複した文字列に注意」の手順を参考にして、コア翻訳を修正する方法で対応する事になると思います。

http://concrete5.co.jp/blog/tips-multilingual-2016

Ver8.xのフォルダーは「core-dev-8」となります。

[おっと、間違ってましたので修正]
ちなみに、コメント欄の表示文字「名前」等や、必須項目が無い時のエラーメッセージは上記方法で対応しました。
 

Re: フォーム送信アラート文字の内容変更

2017年9月25日 at 14:10
コアの翻訳ファイルを修正しない方法もありますので、追記します。

※ こちらの方法が推奨なのかな~???

* 多言語でなくても、「サイトインターフェースを翻訳」機能は使えますので、 /application/languages/ 配下に書き込み可能な site フォルダーを作り、一度「文字列を再読み込み」をクリックしてsiteフォルダーにja_JP.po,ja_JP.moファイルを作成してください。

* 「サイトインターフェースを翻訳」機能で、変更したい翻訳があれば、それを修正して保存すれば終わりになりますが、今回のフォームエラーメッセージは含まれていません。

* concrete5 の Translation GitHub から翻訳ファイル郡をダウンロードし、「core-dev-8」フォルダーのja_JP.poから翻訳に必要な情報を抜き出します。

```
#: concrete/blocks/form/controller.php:393
msgid "You must enter a valid email address."
msgstr "有効なemailアドレスを入力してください。"

#: concrete/blocks/form/controller.php:415
msgid "Complete required fields *"
msgstr "必須項目を入力してください *"

#: concrete/blocks/form/controller.php:464
msgid "Please correct the following errors:"
msgstr "以下のエラーを修正してください。"
```

* 上記の抜き出した情報を/application/languages/site/ja_JP.poに追記します。追記後、「サイトインターフェースを翻訳」の「文字列を再読み込み」をクリックします。
後は、翻訳を修正して「ファイルに保存」をクリックすれば終わりです。


こちらの利点

* コアの翻訳ファイルmessages.moを修正しないので、今後のコア翻訳変更に影響しない。
* 細かい修正が可能
例えば、コメント欄に表示される「メールアドレス」を「メールアドレス(必須)」と変更したい場合に、色々な場所でメールアドレスの翻訳が使われていますので単純に変更できません。
コメント欄のみに対応した翻訳にするには、コアの翻訳ファイルから必要な部分のみにした項目をja_JP.poに追加し、「サイトインターフェースを翻訳」で翻訳変更すれば良いです。

コア翻訳ファイルの「メールアドレス」部分

```
#: concrete/controllers/single_page/login.php:209
#: concrete/mail/user_register.php:16 concrete/mail/user_register.php:47
#: concrete/mail/user_register_approval_required.php:45
#: concrete/authentication/concrete/forgot_password.php:12
#: concrete/authentication/concrete/form.php:9
#: concrete/authentication/concrete/required_password_upgrade.php:12
#: concrete/tools/users/search_results_export.php:28
#: concrete/single_pages/dashboard/users/add.php:25
#: concrete/single_pages/dashboard/users/search.php:39
#: concrete/single_pages/dashboard/system/mail/importers.php:81
#: concrete/single_pages/login_oauth.php:65
#: concrete/single_pages/register.php:66
#: concrete/src/Form/Service/Widget/UserSelector.php:118
#: concrete/blocks/form/form_setup_html.php:129
#: concrete/blocks/form/form_setup_html.php:215
#: concrete/elements/conversation/message/author.php:17
#: concrete/elements/permission/keys/edit_user_properties.php:48
#: concrete/elements/permission/keys/edit_user_properties.php:114
msgid "Email Address"
msgstr "メールアドレス"
```

メッセージ欄のみに翻訳修正したいので以下のみにして、/application/languages/site/ja_JP.poファイルに追加します。

```
#: concrete/elements/conversation/message/author.php:17
msgid "Email Address"
msgstr "メールアドレス"
```
 

Re: フォーム送信アラート文字の内容変更

2017年9月27日 at 21:51
にゃんきち様、返信ありがとうございます。
翻訳ファイルをダウンロードしましたら、他にも変更したい文字がありましたので教えて頂いた方法で試みたいと思います。