GUSSAN
1
【環境情報】
・baserCMSのバージョン:4.4.4
・レンタルサーバー名:ロリポップ
・使用テーマ:Omotenashi2
・PHPスキル(自己評価):E
サブサイト管理機能を使用して、英語サイトの作成をしています。
言語設定を英語としたブラウザにてメールフォームを表示したところ、以前(本、英語サブサイトを実装した時点。ver.4.2.3)は、添付画像Aのように都道府県リストが英語表記されていましたが、現在(同一サイトをver.4.4.4にアップデート)は添付画像Bのように日本語のまま出力されています。
修正が必要なファイル等アドバイスいただけないでしょうか。
よろしくお願いいたします。
添付画像A — 4.2.3時点では、以下の様に英語表記(「Prefectures」のように)されていました。
添付画像B — 4.4.4では、以下の様に日本語表記のまま出力されます。
GUSSAN
3
baser.po側で対応している翻訳データが表示されるのは、4.4.2までで、4.4.3以降は表示されません。
すいません見逃していました。
まだコードを追えていないのですが、ここ数ヶ月で大幅なコードのリファクタリングがあったようで、そこでの変更が影響を及ぼしているぽいですね。
issue立てます
GUSSAN
5
よろしくお願いします。
そもそも、管理側(baser.poによる)の言語切り替えのコントロール自体、全くできません。
国際化対応のリリース当初、以下のようなアナウンスがありました。
現在のところ、日本語と英語のみの対応となりますが、設定ファイルによって言語を切り替える事ができます。
例えば、管理システムを英語化したい場合は、 app/Config/install.php に次の行を付け加えます。
Configure::write('Config.language', 'eng');
フロントエンド側を多言語に対応するには、
[baserCMSを多言語に対応する](http://wiki.basercms.net/baserCMSを多言語に対応する) を参照してください。
実際、install.phpに特に上記の設定を行わなくても、管理画面(ユーザー側のバリデーションメッセージなども)は、WEBブラウザーの言語設定に依存して、優先言語が英語の場合は、英語表記、日本語の場合は、日本語表記になっていましたが。。。これが仕様なのかは、よくわかりません。
あるいは、 Configure::write(‘Config.language’, ‘eng’);設定をすれば、上記のブラウザ依存の優先を無視して、日本語優先環境でも強制的に英語表記となる仕様なのかもしれませんが、それも試していなかったのでわかりません。
追記:
あらためて、MAMPのbaser4.4.2環境で、ブラウザの言語を日本語優先として、上記の Configure::write(‘Config.language’, ‘eng’);設定を試してみましたが、結局、管理画面が強制的に英語表記となるようなことはありませんでした。
ブラウザの言語設定に依存して表記が変わるのは、あらためて確認できましたが。。。
GUSSAN
6
現4.5.1バージョンにて、本件、解消していることを確認しました。
また、
現在のところ、日本語と英語のみの対応となりますが、設定ファイルによって言語を切り替える事ができます。
例えば、管理システムを英語化したい場合は、 app/Config/install.php に次の行を付け加えます。
Configure::write('Config.language', 'eng');
の仕様は、知らないうちに4.5.0で復活?(当初は機能していたがどこかのバージョンから機能しなくなっていたと仮定して)していました。