• Slimstatの日本語化について教えてください!#

  • Zombie Reply #1, 4 years, 9 months ago

    Reply
    いつもお世話になっております。
    アクセス解析の「Slimstat」について教えていただきたくお願いします。
    日本語化したいのですが日本語ファイル(UTF-が見つからなかった為、英語言語ファイルをコピーして「ja」フォルダとして保存しindex.phpファイルを書き換えUTF-8で保存しました。

    タイトル名やメニュー部分は日本語表示できましたが、
    内容表示部分で
    Summary: recent_resource で文字化け(“ホームページ”部分)
    Details : language で文字化け(“日本語”部分)
    が発生します。

    Pathsの内容表示では、“ホームページ”は日本語で表示されてます。

    作業は、
    MODx0.9.6でサイトを作り、テスト使用のつもりでslimstat0.9.4を別DBでインストールしました。
    インストールは下記のとおり実行しました。(つもり)
    http://modxcms.com/slimstat-plugin-for-modx.html この時点では異常なく稼働していることを確認しています。

    後、どこを書き換えれば良いのか、教えて頂けないでしょうか?もしくは、すでに日本語化されている方がいらっしゃったら、手順・ファイルを公開していただけないでしょうか?

    宜しくお願いいたします。


  • soushi Reply #2, 4 years, 9 months ago

    Reply
    こんにちわ。

    Slimstatが一部文字化けしてる件ですが、プログラム中で「utf8_encode関数」が使われているせいかもしれません。
    ソースをこんな感じに書き換えてみたらどうでしょうか?

    _summary.phpの229行目付近
    $str .= SlimStat::truncate( utf8_encode( $display_value ), $_truncate - SlimStat::strlen( $config->i18n->when ) )."</a>";
    


    ここを以下に変更。

    $str .= SlimStat::truncate( mb_convert_encoding($display_value,"UTF-8","auto") , $_truncate - SlimStat::strlen( $config->i18n->when ) )."</a>";
    


    _summary.php_details.phpの663行目付近
    $str .= utf8_encode( SlimStat::truncate( $display_value, $_truncate ) );
    


    を以下のように変更。

    $str .= mb_convert_encoding( SlimStat::truncate( $display_value, $_truncate ),"UTF-8","auto" );
    


    もし文字コードをEUC-JPにしたい場合は「"UTF-8"」と書かれているところを「"EUC-JP"」のように置き換えてください。
    これでどうでしょうか?
    僕の場合は検索文字列を表示してくれる「Recent Search Strings」が文字化けするのでこの変更を行ってるのですが、多分この場合もいけるような気がします。

    ※追記※ すいません、_details.phpのファイル名が間違ってたので修正しました。
    あと以下の設定を入れるとRefererに日本語が来たときもきちんと表示してくれると思います。

    inc.stats.phpの188行目付近
    $searchterms = trim( stripslashes( utf8_decode( $q[ $sniff[1] ] ) ) );
    


    を以下のように変更。

    $searchterms = trim( stripslashes( mb_convert_encoding($q[ $sniff[1] ],"UTF-8","auto") ) );
    





  • Zombie Reply #3, 4 years, 6 months ago

    Reply
    soushiさん

    お礼が遅れて大変申し訳ありません。
    実は仕事兼用のMacの電源が壊れたり、仕事と私ごとで立て込んでアクセスできませんでした。
    このサイトのアカウントも壊れたMacの中にあったもので、復旧に時間がかかってしまいました。
    ローカル環境の再構築も面倒なのでMAMPをインストールしたところですが、
    まだ、MODxを立ち上げるまでにいってませんので、確認できておりませんが、
    取り急ぎ、お礼申し上げます。
    ありがとうございました。



  • soushi Reply #4, 4 years, 6 months ago

    Reply
    返事ありがとうございます。
    PCのトラブルって大変ですよね。
    うちも先週HDDが壊れて大変なことになってます
    今度の設定ではうまくいくといいですね


  • mamekiyo Reply #5, 2 years, 2 months ago

    Reply
    私も同じように、slimstatの日本語検索ワードが????と文字化けして表示されていました。
    しかし次の方法で解決できましたので、参考になさってください。

    _lib/config.phpを日本語対応に更新してslimstatを再インストールする方法を採ります。

    まず、最新のslimstatをダウンロードします。
    解凍されたファイルを/assets/plugin/配下に再配置し、
    http://ドメイン/assets/plugin/slimstat/にアクセスしてslimstatの再インストールを開始します。
    (今までの統計はデータベース上で引き継がれるので心配なく。)

    ここからがポイントで、インストール時にデータベースへの接続のために、
    /assets/plugins/slimstat/_lib/config.phpを設定する必要がありますが、
    同時に以下の部分も書換えてしまいます。

     /** Which language to use. Default is 'en-gb' */
     // var $language = 'en-gb';
     var $language = 'ja';
    


    また、同様に以下を書換えることでタイムゾーンも日本に合わせることができます。

     /** Timezone */
     //var $timezone = 'Europe/London';
     var $timezone = 'Asia/Tokyo';
    


    もう既に????でデータベースに登録されてしまっている検索ワードは修正されませんが、
    次回以降の新しい検索ワードから正常に表示されるようになります。

    具体的なインストールについてはここここを参考にしてください。