Ver.8.1.0で『サイトインターフェースを翻訳』するとエラーでサイトが表示出来なくなる

2017年6月21日 at 11:12

サイト作成中に、多言語設定をして翻訳するとエラーが出る現象に遭遇しました。
確認のため、新規インストールしたconcrete5で検証してみた所、同じエラーが発生しましたので報告します。

1.concrete5を新規インストール(空白のサイト)。

2.『多言語サポート設定』から、英語-アメリカ合衆国のロケールを追加し、
規定の地域を日本語、サイトインターフェースの翻訳元言語を英語-アメリカ合衆国 にして設定を保存。

3.application/languages に空の site フォルダを作成。

4.『サイトインターフェースを翻訳』を開き、『文字列を再読み込み』する。
ja_JPの横の鉛筆アイコンをクリックして、翻訳画面に入る。

5.翻訳作業をして、『ファイルに保存』をクリック。
→'Plural rule of merging text domain is not compatible with the current one'というエラーが表示する。

6.ホームページに戻ると、上記と同じエラーが出て表示出来ない。
site以下のmo,poファイルを消去すると元に戻る。

多言語設定の手順に問題があるのかもしれませんが……。
ver8.1.0で多言語サイト構築された方がいらっしゃいましたらご教授頂けるとありがたいです。

タグ:

Re: Ver.8.1.0で『サイトインターフェースを翻訳』するとエラーでサイトが表示出来なくなる

2017年6月26日 at 14:12
kaneteiさま

バージョン8.1で、こちらでも同じくエラー。
で、下記の気になる記事を見つけました。
http://stackoverflow.com/questions/33006702/concrete5-7-package-translation-doesnt-work

これの回答にあるスクリーンショットを見て、concrete/vendor/zendframework/zend-i18n/src/Translator/TextDomain.php の99〜105行目をコメントアウトしたところエラーは表示されなくなりました。
翻訳もできているようです。(添付画像を参照)

ただ、コアのソースを理解していないので、コメントアウトをすることが正しいのかは、わかりません。
他に影響があるかもしれません。

とりあえず、解決のヒントになればいいかなと...
あとは、コアのソースコードに詳しい方、よろしくお願いします。
 

Re: Ver.8.1.0で『サイトインターフェースを翻訳』するとエラーでサイトが表示出来なくなる

2017年6月28日 at 13:49
バージョン8.2.0RC2で上記操作を検証した所、エラーは発生しなくなっていました。

http://www.concrete5.org/download

8.2.0の正式版を待つか、8.1の状態で多言語サイトを公開しなければならない時は、nipperさんが説明してくださったエラーの出る箇所をコメントアウトする方法で対処するかになりそうです。
 

Re: Ver.8.1.0で『サイトインターフェースを翻訳』するとエラーでサイトが表示出来なくなる

2018年3月29日 at 14:56
Ver 8.1.0からアップデートした際にエラーが発生したので、こちらに追記します。

該当のサイトが、Ver 8.1.0で多言語設定して公開する必要があったため、
concrete/vendor/zendframework/zend-i18n/src/Translator/TextDomain.php の、99〜105行目をコメントアウトして公開しました。

このサイトを、8.2.1→8.3.2の順でアップデートしたのですが、
/application/languages/site以下に、8.1.0で作成したja_JP.moとja_JP.poが存在すると、
'Plural rule of merging text domain is not compatible with the current one'
というメッセージが出て、サイトが表示出来なくなりました。
ja_JP.mo,ja_JP.poを消去すると問題なく表示します。

アップデート後に翻訳ファイルを作り直せば問題ないかと思ったのですが、
『サイトインターフェースを翻訳』で、『全てをリセット』でファイルを消去して、
上記4.の手順からやり直しても、5.の時点で同じエラーが発生します……。

こちら、po,moファイルだけではなく、データベース内の特定のレコードも消去する必要があるのでしょうか?
 

Re: Ver.8.1.0で『サイトインターフェースを翻訳』するとエラーでサイトが表示出来なくなる

2018年3月29日 at 15:43
こちらのコメントを参考に修正してください。
http://github.com/concrete5/concrete5/pull/2345#issuecomment-337802863
 

Re: Ver.8.1.0で『サイトインターフェースを翻訳』するとエラーでサイトが表示出来なくなる

2018年3月29日 at 16:54
ありがとうございます!
上記参考にデータベース修正して、不具合解消しました。