質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

1回答

793閲覧

Cakephp Config.language が反映されない

tora2245

総合スコア9

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2018/08/14 08:51

Config/core.php
に、

php

1Configure::write('Config.language', 'eng');

を書いても
反映されない。

php

1var_dump(Configure::read('Config.language'));

var_dumpすると、ja だけ表示されます。

Locale/eng/LC_MESSAGES/default.po
poeditでpoファイルも作成済み。
キャッシュも何度か消しました。

php

1Configure::write('Config.language', 'eng'); 2var_dump(Configure::read('Config.language'));

var_dumpの直前にwriteを書くと、eng と表示されますが、
__() の中身は切り替わりません。

Config.languageの設定が他にもあるのかと、grepしてみたのですが、
その他の設定は見つかりませんでした。

原因として考えられることとしては、何かありますでしょうか?
または確認する項目などありますでしょうか?
よろしくお願い致します。

環境は以下のとおりです。

CakePHP 2.10.6
PHP Version 5.6.37

kusanagi

1kusanagi status 2Type: lamp 3KUSANAGI Version 8.3.0-1 4sakura 5 6*** (not active) nginx *** 7● nginx.service - The NGINX HTTP and reverse proxy server 8 Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) 9 Active: inactive (dead) 10 11*** (active) Apache2 *** 12● httpd.service - The Apache HTTP Server 13 Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) 14 Active: active (running) since 火 2018-08-14 11:07:54 JST; 6h ago 15 16*** (not active) PostgreSQL *** 17 18 19*** (active) php-fpm *** 20● php-fpm.service - The PHP FastCGI Process Manager 21 Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) 22 Active: active (running) since 月 2018-08-13 20:09:22 JST; 21h ago 23 24*** (not active) HHVM *** 25● hhvm.service - HHVM virtual machine, runtime, and JIT for the PHP language 26 Loaded: loaded (/etc/systemd/system/hhvm.service; disabled; vendor preset: disabled) 27 Active: inactive (dead) 28 29*** (not active) Pgpool-II *** 30 31 32*** (not active) php7-fpm *** 33● php7-fpm.service - The PHP FastCGI Process Manager 34 Loaded: loaded (/usr/lib/systemd/system/php7-fpm.service; disabled; vendor preset: disabled) 35 Active: inactive (dead) 36 37*** (active) MariaDB *** 38● mariadb.service - MariaDB 10.1.35 database server 39 Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) 40 Active: active (running) since 月 2018-08-13 13:23:44 JST; 1 day 4h ago 41 42*** ruby *** 43ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux] 44 45*** add-on *** 46 47*** Cache Status *** 48fcache off

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

core.phpが読み込まれた後にcakeの内部でConfig.languageが更新されている可能性があります。
bootstrap.phpに記載してみてください。
また、AppController::beforeFilter()に書くのもありだと思います。

https://book.cakephp.org/2.0/ja/core-libraries/internationalization-and-localization.html#id4

以下、ドキュメント引用

php

1class AppController extends Controller { 2 public function beforeFilter() { 3 if ($this->Session->check('Config.language')) { 4 Configure::write('Config.language', $this->Session->read('Config.language')); 5 } 6 } 7}

投稿2018/08/14 12:49

ShoheiTai

総合スコア897

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tora2245

2018/08/15 04:00

bootstrap.php に書いたら反映されました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問