metabaseを日本語化するとバグりすぎてつらいので英語のまま使う。

metabase v0.30.3の話です。コントリビューターの方々には本当に申し訳ないのですが、日本語化すると表示周りのバグのせいでビジュアライゼーションの種類が選択できなくなるのと、翻訳がめちゃくちゃで使い勝手が著しく悪くなるので、英語の状態のまま使用することにしました。 
ビジュアライゼーションの種類が選択できなくなるのは、ブラウザのDeveloper Tool等で要素を書き換えれば回避可能です。issueにはすでに上がっていました。

ここを書き換えれば選択可能になる

対策案

  1. metabase.jarをいじる
  2. リバースプロキシ(nginx)の設定でaccept-languageからja-JPを消す

metabase修正するのはできるけど、バージョン上がっても治ってなかった場合に同じことを繰り返すのがつらいので、リバースプロキシ(nginx)でどうにかします。

proxy_hide_header accept-language;
proxy_set_header accept-language "en-US,en;q=0.9";

無事英語のダッシュボードが表示されるようになりました。

6件のコメント

  1. こういうこと書きたくないけど、こんなひどい状態のものリリースするくらいなら翻訳してくれないほうがマシだしせめて言語選ばせてくれと思った。

    • 木点

      リバースプロキシ(nginx)の設定はどの辺で実行しますか。

      • コメントありがとうございます。
        リバースプロキシはmetabaseの機能ではなく、別のミドルウェアのため、別途自分でサーバに導入する必要があります。

        (リバースプロキシに関してはnginxの使用率が高く、設定もしやすいため)この記事ではリバースプロキシにnginxを使用している前提になっています。
        nginxの導入については検索でたくさん記事が出てくるので特にここでは言及しません。metabaseを使用するためのnginxのconf設定例は以下のとおりです。(私のサーバの設定値です)

        
        server {
            listen       80;
            server_name    xxx;
        
            proxy_set_header    Host    $host;
            proxy_set_header    X-Real-IP    $remote_addr;
            proxy_set_header    X-Forwarded-Host       $host;
            proxy_set_header    X-Forwarded-Server    $host;
            proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
            proxy_set_header    X-Forwarded-Proto  $scheme;
            proxy_hide_header    accept-language;
            proxy_set_header    accept-language "en-US,en;q=0.9";
        
            # metabase
            location / {
              proxy_pass http://127.0.0.1:3000/;
            }
        }
        
        

        http://サーバ名/ にアクセスすると、英語状態でmetabaseが使用できるようにしています。

        • 木点

          なるほど。ご回答ありがとうございます。こちらでもやってみます。

  2. 木点

    度々すみません。仕事上の関係で、Apacheを使うことになりましたが、httpd.confの設定内容はnginxと違うと思いますが、ご存じでしょうか。

    • Apache2.4なら以下の設定で動作します。適宜パスを書き換えた上、別途confファイルを作る等で対応してください。

      
      ProxyRequests Off
      RequestHeader set accept-language "en-US,en;q=0.9"
      ProxyPass / http://localhost:3000/
      ProxyPassReverse / http://localhost:3000/
      
      

      mod_proxyとmod_headersの説明は
      https://httpd.apache.org/docs/2.4/en/mod/mod_headers.html
      https://httpd.apache.org/docs/2.4/en/mod/mod_proxy.html
      に書いてあります。

      ご自身のお仕事に関係するお話であれば、個人が趣味でやってるブログで質問されるよりも、関係者の方に質問されたほうがよろしいかと思います。
      なお、この記事の主題は、あくまでmetabaseを英語で使うにはどうすればいいかを検討したもので、ヘッダの書き換え方法の紹介ではありません。ヘッダの書き換え方法程度でしたら、人に聞くより公式のドキュメントを探して読んだほうが早いし確実です。

コメントを残す