件名: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/17/12 11:01 AM JST
投稿者: abc

いつも大変お世話になっております。 geeglog 1.8.0 の静的ページで、
PHP Formatted Code
echo phpblock_lastarticles
を使って新着情報を問題無く表示させています。 このたびコンフィギュレーションの言語とロケールで、 言語ファイル[多言語モード] と言語名[多言語モード]を有効にしたところ、表示しなくなってしまいました。 両方を無効、もしくは言語名[多言語モード]のみを無効にすると、正常に表示されるようになります。 多言語モードには対応できないのでしょうか?

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/17/12 07:41 PM JST
投稿者: Ivy

多言語での利用ルールに沿ってページを作成されているでしょうか。 多言語にする場合、日本語のページはIDに _ja を追加してページを作成する必要があります。 記事に関しても、すべてIDを多言語対応させてください。 話題も多言語対応するのをわすれないようにお願いします。 多言語サイトの事例は、 http://www.yokosojapan.net/ navman でのグローバルメニューも多言語対応させています。 詳しくは以下のウィキをご覧ください。 http://wiki.geeklog.jp/index.php?title=多言語切り替え

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/17/12 10:08 PM JST
投稿者: abc

Ivyさん いつもありがとうございます。 言語ファイル名は、 ja  japanese_utf-8 を追加し 言語名は、ja Jamanese と設定しています。 静的ページのIDは、今回の新着情報を含めて、_ja と _en を用意していますが、すべてのページを作成しておりません。 静的ページのすべてに英語ページが必要ではないのですが、多言語切り替え機能では全ての静的ページに切り替える言語分のIDを用意する必要があるのでしょうか? 同様に話題やnavmanも例外があれば動作しないのでしょうか?

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/17/12 10:19 PM JST
投稿者: Ivy

話題と記事が多言語対応で用意されていれば新着記事は表示できるはずなのですが。 それぞれ必要なものだけ多言語を用意すれば大丈夫です。 他の言語への切り替えで用意されている言語へのリンクだけを 記事 に表示するハックはwikiをどうぞ。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/17/12 10:40 PM JST
投稿者: abc

とりあえず考えられるすべてのページと話題にidを付けてあれこれやってみようと思います。 ありがとうございました。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/17/12 11:38 PM JST
投稿者: Ivy

はい。 あと、ブロックも多言語化できます。 ブロックの多言語はnavman同様ちょっと特殊で、 言語別のコンテンツの他、多言語接尾子なしのブロックの設置が必要です。 言語に応じたコンテンツが多言語接尾子なしのブロックの位置に、 指し変わって表示されます。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/17/12 11:47 PM JST
投稿者: Ivy

制作事例に追加しましたので、どうぞ。 https://www.geeklog.jp/databox/data.php/code/yokosojapan

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/18/12 10:34 AM JST
投稿者: abc

なるほど言語毎に表示される記事が異なっていましたね。 ありがとうございます。 これをヒントに新着情報に掲載される記事のIDを _ja 付にすると、 見事表示できました。 話題は特に変更していないので今回の場合は問題なさそうです。 (話題ブロックを使用していませんので・・・) ブロックの多言語化についてのご教示も今後の参考にさせていただきます。 国際化が進む中、多言語サイトのニーズはどんどん高まると思います。 対応ツールとしての geeklog 利用も多くなるのでは・・・ いつもながら、大変お世話になりました。 感謝いたします。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/31/12 03:48 PM JST
投稿者: abc

お世話になっております。 その後、IDに _ja や _en を付加したページや記事を用意して、切り替え機能を付加しましたが、機能しません。 ・デフォルトの多言語切り替えブロック(maltilang) ・切り替えフォーム
PHP Formatted Code
<form name="change" action="/switchlang.php" method="get">
<input type="hidden" name="lang" value="ja">
<input type="submit" name="B1" value="日本語">
</form>
<form name="change" action="/switchlang.php" method="get">
<input type="hidden" name="lang" value="en">
<input type="submit" name="B1" value="English">
</form>
・URLの直接入力
PHP Formatted Code
/switchlang.php/en
/switchlang.php/ja
など試しましたが、 切り替えブロックやフォームでは一瞬カチッと音がしますが、日本語のままです。 phpMyadminでgl_conf_valuesを確認しましたが、
PHP Formatted Code
('language', 's:14:"japanese_utf-8";',
('language_files', 'a:3:{s:2:"en";s:13:"english_utf-8";
s:2:"de";s:19:"german_formal_utf-8";
s:2:"ja";s:14:"japanese_utf-8";}
('
languages', 'a:3:{s:2:"en";s:7:"English";
s:2:"de";s:7:"Deutsch";
s:2:"ja";s:9:"日本語";}'
となっており、ほんとうはドイツ語が不要なので削除したいのですが、ブラウザ上のコンフィギュレーションでは保存ができません。 どこがおかしいのでしょうか?

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/31/12 03:55 PM JST
投稿者: Ivy

最後の要素を消せないバグは、1.8.1では修正されているのですが。 手前の要素を消して調整してみるとか工夫してください。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/31/12 04:21 PM JST
投稿者: abc

Ivyさん。いつもお世話になっております。
最後の要素を消せないバグは、1.8.1では修正されているのですが。 手前の要素を消して調整してみるとか工夫してください。
ドイツ語がちょうど真ん中にあるので、言語ファイルと言語を両方消して、更新をしましたが、更新できないようです。 phpMyAdminで直接編集すると不都合が発生するでしょうか?

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/31/12 07:44 PM JST
投稿者: Ivy

問題ないです!

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/31/12 09:28 PM JST
投稿者: abc

ありがとうございます。 phpMyAdminで直接編集して、コンフィギュレーションに英語と日本語だけが表示されるようになりました。 ただし、相変わらず言語の切り替えができません。 テーマはIvyさんの、 adeliaewhite_for_1.8.0.zip をカスタマイズして使わせていただいています。 多言語モードをオフにすると、新着情報部分に、後で投稿した IDの最後が_en付き記事が表示され、オンにすると _ja 付き記事に変わるにで、多言語モード事態は機能しているようなのです。 お心当たりはありませんでしょうか?

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/31/12 09:51 PM JST
投稿者: Ivy

テーマは関係ないとおもいますが、念のためprofessionalで動作確認してください。 多言語切り替えは、話題も_ja _en と、言語の接尾子が必要です。 それぞれに、記事も、_ja _en の記事を作成します。 話題のほうは大丈夫でしょうか。 事例は以下で、問題ないはずなのですが・・・ http://www.yokosojapan.net/

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/31/12 10:14 PM JST
投稿者: abc

多言語切り替えは、話題も_ja _en と、言語の接尾子が必要です。 それぞれに、記事も、_ja _en の記事を作成します。 話題のほうは大丈夫でしょうか。
どちらもすべて作成しております。 ただし、ナビゲーションの設定がまだ済んでいませんので、 すべてのメニューアイテムに hoge 有効 hoge_ja 無効 hoge_en 無効 のようにしてから再度チャレンジしてみたいと思います。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 01/31/12 11:16 PM JST
投稿者: abc

テーマは関係ないとおもいますが、念のためprofessionalで動作確認してください。
professional でも動作しませんでした。 やはりテーマは関係なさそうですね。 ナビゲーションは最初の階層に _ja を作成すると、下の階層がプルダウンしなかったので、 この面からも多言語モード自体は有効になっている模様です。 第一階層のすべてに子アイテムをぶら下げてナビゲーションは正常になりました。 ヘッダの2行目は、
PHP Formatted Code
<html{html_attribute}{xmlns}>
なのですが、 はき出したhtmlは、何度切り替えても
PHP Formatted Code
<html xml:lang="ja" lang="ja" xmlns="http://www.w3.org/1999/xhtml">
のままです。当然ですが・・・ エラーログを見ると、
PHP Formatted Code
20120131231112- Themedit: Unknown theme name posted:  
20120131231112- Themedit: Unknown file name posted:  
20120131231125- Themedit: Debug::undefined index: help_ echo CUSTOM_getStaticpage('toppage_content' );  
20120131231125- Themedit: Debug::undefined index: help_breadcrumbs
20120131231125- Themedit: Debug::undefined index: help_doctype
20120131231125- Themedit: Debug::undefined index: help_header_navigation
20120131231125- Themedit: Debug::undefined index: help_html_attribute
20120131231125- Themedit: Debug::undefined index: help_layout_url
20120131231125- Themedit: Debug::undefined index: help_page_title_and_site_name
20120131231125- Themedit: Debug::undefined index: help_sp_id
20120131231125- Themedit: Debug::undefined index: help_topic_id
20120131231125- Themedit: Debug::undefined index: help_xmlns
となっています。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/01/12 12:07 AM JST
投稿者: Ivy

html_attributeが正常に吐き出されないのがおかしいですね。 正常なら、ようこそJapanのように、英語サイトならen になります。 html_attributeは、日本語化プラグイン(Japanize)で設定しているのですが、日本語化は有効で、日本語化一括実行も済んでいるでしょうか。 日本語化プラグインで、多言語有効なら、
PHP Formatted Code
    $langId = COM_getLanguageId();
で言語IDを取得して、それによって英語ならen をセットしています。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/01/12 09:36 AM JST
投稿者: abc

html_attributeは、日本語化プラグイン(Japanize)で設定しているのですが、日本語化は有効で、日本語化一括実行も済んでいるでしょうか。
実行済みです。 本日再度、実行後の結果も同じでした。
PHP Formatted Code
$langId = COM_getLanguageId();
echo "$langId";
の静的ページを作成して、表示させると、 ja のみ表示します。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/01/12 03:05 PM JST
投稿者: Ivy

gl_conf_valuesの現在の値を念のためおしえていただけませんか? 言語ファイルの文字数がきちんと反映されているか確認したいのですが。 いずれにしても1.8.0はいろいろバグが残っているので、1.8.1に引き上げていただくことを強くおすすめします。 それによってコンフィギュレーション操作のように解決することがあるかもしれません。 1.8.0 1.8.0 は、データベースは一切変更なし。ソースの置換えだけなので気軽にアップグレードできます。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/01/12 06:26 PM JST
投稿者: abc

以下が言語の部分だと思いますが、
PHP Formatted Code
-- テーブルのデータをダンプしています 'gl_conf_values'
--

INSERT INTO gl_conf_values VALUES('fs_language', 'N;', 'fieldset', 'Core', 'N;', 6, -1, 0, 28, 28);
INSERT INTO gl_conf_values VALUES('language', 's:14:"japanese_utf-8";', 'select', 'Core', 's:7:"english";', 6, -1, 350, 28, 28);
INSERT INTO gl_conf_values VALUES('language_files', 'a:2:{s:2:"en";s:13:"english_utf-8";s:2:"ja";s:14:"japanese_utf-8";}', '*text', 'Core', 'unset:a:2:{s:2:"en";s:13:"english_utf-8";s:2:"de";s:19:"german_formal_utf-8";}', 6, -1, 470, 28, 28);
INSERT INTO gl_conf_values VALUES('languages', 'a:2:{s:2:"en";s:7:"English";s:2:"ja";s:9:"日本語";}', '*text', 'Core', 'unset:a:2:{s:2:"en";s:7:"English";s:2:"de";s:7:"Deutsch";}', 6, -1, 480, 28, 28);
になっています。 1.8.0 → 1.8.1は差分ファイルがあるのでしょうか?

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 10:23 AM JST
投稿者: Ivy

差分ファイルは残念ながらありません。 1.8で、多言語切り替えができないというバグがあるのか、それとも インストールした環境によるものなのか、切り分けしていただくとよいのですが。 デモサイトでテストしていただけますでしょうか。 ローカルの問題であれば、クリアインストールをしてテストしてみるとよいです。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 03:21 PM JST
投稿者: abc

同じサーバー内に、テスト用に別サイトをこしらえて、 wkyGeeklogInstaller_ja_2.4.12 を使って、1.8.1をインストールしました。 現状ページから記事と話題の一部をコピペで作成し、多言語モードに設定後、 多言語切り替えブロックを使って切り替えを試みましたが、ブロック内の言語が、 English のままで、これまで同様に、切り替えが出来ませんでした。 話題ブロックも日本語名のままなので、症状はおなじと考えられます。 こうなるとサーバーの問題なのでしょうか? サーバーはシックスコア http://www.sixcore.ne.jp/shared/service/sixcore.php を使っています。 上記サービスでgeeklogを使った複数のサイトを運営していますが、正常に動いています。 ただし多言語切り替えは、別のホスティングでは経験済みですが、このサービスははじめてなので何か不都合となる可能性はありますでしょうか?

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 05:26 PM JST
投稿者: abc

あとはこのあたりでしょうか? MySQLは、5.0.77 サーバーのphpは5.3.3で、以下の設定になっています。
PHP Formatted Code
php.ini設定変更
エラー設定
display_startup_errors        Off 
display_errors        Off 
error_reporting        
セッション設定  
session.auto_start     Off  
session.use_cookies    On  
session.use_only_cookies       Off  
session.use_trans_sid          Off  
session.name  PHPSESSID 
session.cookie_lifetime       0 
session.cookie_path   / 
session.cookie_domain          
エンコード設定  
mbstring.language     Japanese 
mbstring.internal_encoding    utf-8 
mbstring.http_input   auto 
mbstring.http_output  pass 
mbstring.encoding_translation         Off 
mbstring.detect_order         auto 
mbstring.substitute_character         none; 
その他の設定     
safe_mode     Off 
max_execution_time    30 
max_input_time        60 
memory_limit  30M 
post_max_size         30M 
upload_max_filesize   30M 
register_globals      Off 
magic_quotes_gpc      Off 
file_uploads  On 
allow_url_fopen       On 
allow_url_include     Off 

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 05:26 PM JST
投稿者: Ivy

php MySQLのバージョンは大丈夫でしょうか。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 05:31 PM JST
投稿者: abc

php MySQLのバージョンは大丈夫でしょうか。
投稿が前後しましたね。 上記のとおり、5.0.77 になっています。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 07:09 PM JST
投稿者: Ivy

URLリライトをONにしても同じでしょうか。 Geeklog 1.8.1 サーバ SaaSes PHP version: 5.3.3-7+squeeze3 MySQL クライアントのバージョン: 5.1.49 で switchlang.php/en switchlang.php/de を テストしましたが、ただしく英語やドイツ語などに切り替わることを確認しました。 おかしいですねぇ 試しに以下のに差し替えてみるとどうなるでしょうか。
PHP Formatted Code

INSERT INTO `gl_conf_values` (`name`, `value`, `type`, `group_name`, `default_value`, `subgroup`, `selectionArray`, `sort_order`, `tab`, `fieldset`) VALUES('language', 's:14:"japanese_utf-8";', 'select', 'Core', 's:7:"english";', 6, -1, 350, 28, 28);
INSERT INTO `gl_conf_values` (`name`, `value`, `type`, `group_name`, `default_value`, `subgroup`, `selectionArray`, `sort_order`, `tab`, `fieldset`) VALUES('language_files', 'a:3:{s:2:"en";s:13:"english_utf-8";s:2:"de";s:19:"german_formal_utf-8";s:2:"ja";s:18:"japanese_utf-8.php";}', '*text', 'Core', 'unset:a:2:{s:2:"en";s:13:"english_utf-8";s:2:"de";s:19:"german_formal_utf-8";}', 6, -1, 470, 28, 28);
INSERT INTO `gl_conf_values` (`name`, `value`, `type`, `group_name`, `default_value`, `subgroup`, `selectionArray`, `sort_order`, `tab`, `fieldset`) VALUES('languages', 'a:3:{s:2:"en";s:7:"English";s:2:"de";s:7:"Deutsch";s:2:"js";s:9:"日本語";}', '*text', 'Core', 'unset:a:2:{s:2:"en";s:7:"English";s:2:"de";s:7:"Deutsch";}', 6, -1, 480, 28, 28);
 

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 07:18 PM JST
投稿者: abc

その後、私も、 別のサーバ、(coreserver)では正しく切り替わることを確認しました。
URLリライトをONにしても同じでしょうか。
URLリライトはONです。 gl_conf_values の書換えはあとで試してみます。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 07:42 PM JST
投稿者: Ivy

シックスコアさんのサイトを見ると、 > PHPプログラムを最適化しコンパイルされた状態でキャッシュすることで、スクリプト実行速度を飛躍的に上昇させるPHP高速化システムを導入。 というようなフレーズがあるので、環境としてはすこしほかとは異なるのかもしれませんね。 このモードをはずすことができるなら、それでためしてみたいものですが。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 07:53 PM JST
投稿者: abc

Ivyさん。詳しく調べていただきありがとうございます。
PHPプログラムを最適化しコンパイルされた状態でキャッシュすることで、スクリプト実行速度を飛躍的に上昇させるPHP高速化システムを導入。
私も、これを疑いましたので、すべて無効化しております。 また現状データベースも疑って、別フォルダ内に 1.8.1を新規インストールし、サンプルの和英の話題を作成し、切り替えを試しましたが、正常に動作しませんでした。 そこで、前述の coreserver 内に同様の手順で サンプルサイトを新規インストールししましたところ、正常動作した次第です。 この状況から、シックスコアサーバーの設定に原因があると思うのですが・・・

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 07:56 PM JST
投稿者: Ivy

はい、わたしもそう思います。 高速化していることで、支障が生まれているような気がします。 モードではずしたとしても、やはり特別な環境が一切解除されているわけではないとおもいます。

書込: コンフィギュレーションで言語名[多言語モード]を有効にすると新着情報を静的ページで表示できなくなります。

投稿日: 02/02/12 08:10 PM JST
投稿者: abc

そうですね。 多言語切り替えのしくみをうまく説明できるかどうか不安ですが、 サーバのカスタマサポートに連絡してみようとおいます。 結果がわかればまたご報告しますが、 途中、必要があれば、また相談させて下さい。 ありがとうございます。

Geeklog Japan - 掲示板
https://www.geeklog.jp/forum/viewtopic.php?showtopic=17305