mishimaの日記: Grafanaに日本語のダッシュボード名 3
日記 by
mishima
Grafanaでダッシュボードを作成すると、そのダッシュボードに対応するURLが(共有とかの目的のために)自動的に生成される仕組みがある。たとえば ABCD とかいう名前のダッシュボードなら /grafana/dashboard/db/abcd というURLになるという寸法。
ところで、ここでダッシュボード名に日本語を付けると、非ASCIIコード部分がなんか適当に変換されるのね。
日本語_にほんご
↓
ri-ben-yu-_nihongo
ひらがな部分はヘボン式に、漢字部分はピンインになってるっぽい。
この読みの情報はどこから持ってきているんだろう。
変換後のURLの予想が付かない(予測がめんどくさい)仕様だなぁ…
ピンイン化 (スコア:1)
AutoCADの日本語フォーラム [autodesk.com]なんかでもURLにタイトルをピンイン化して埋め込んでいるのを見かけますが、amazonみたくパーセントエンコードだと可読性が良くないからなんでしょうか?
日本語に比べて普通話は大体ひとつの文字がひとつの音に対応するので日本語漢字文をローマ字化するのではなく、割り切って普通話とみなして変換しているのかと思います。
PerlだとLingua::Han::PinYin [cpan.org]やLingua::ZH::Romanize::Pinyin [cpan.org]等で変換できますね。
前者は実際に使ってみましたが、utf8プラグマを忘れると誤変換が起きたり、多音字 [ameblo.jp]に対応してないことぐらいに気をつければ実用になるのではと思います。
Re:ピンイン化 (スコア:1)
なるほど他のサイトでもそんなことがあるのかと思ってちょっと調べてみました。
どうもunidecodeと呼ばれるライブラリを使っているみたいですね。
https://pypi.python.org/pypi/Unidecode [python.org]
(GrafanaはGoで書かれてるのでGo版のライブラリを使ってるみたい)
日本人的には役に立たねーなと思いますが、漢字の識別が困難な人たちからすると
ひとまずアルファベットの並びになってくれるだけでも見分けやすいし扱いやすいしで嬉しいんでしょうねぇ。
# mishimaは本田透先生を熱烈に応援しています
Re:ピンイン化 (スコア:1)
漢字に対してのみではじゃなくて非ASCII文字全般に対してのことだったんですね。
まあpythonならしょうがないな(?)…と思ったらPerlモジュールの移植じゃないですか。
PHP、RubyやJSなんかにも移植されてる [cpan.org]あたりみるとそれだけ需要がある変換なんだろうか。
ただそもそもURL [srad.jp]に翻字してまで埋め込む必要が…とか設計にケチつけたくなって来たのでこの辺で引き取ります。