We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 34162
    • 1 Posts
    いつもお世話になっております。
    アクセス解析の「Slimstat」について教えていただきたくお願いします。
    日本語化したいのですが日本語ファイル(UTF-8)が見つからなかった為、英語言語ファイルをコピーして「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
    この時点では異常なく稼働していることを確認しています。

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

    宜しくお願いいたします。
      • 28073
      • 164 Posts
      こんにちわ。

      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") ) );
      



        • 34162
        • 1 Posts
        soushiさん

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

          • 28073
          • 164 Posts
          返事ありがとうございます。
          PCのトラブルって大変ですよね。
          うちも先週HDDが壊れて大変なことになってます :’(

          今度の設定ではうまくいくといいですね smiley

            • 18103
            • 1 Posts
            私も同じように、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';
            


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

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