2017年10月9日

Dokuwiki の interwiki で、Google翻訳へのショートカットを作成する際は一癖あり。


最近、習得が簡単だと言われているインドネシア語の勉強している。たしかに、過去形も未来形も、性差も格の変化も少ないし、文字もラテン文字(アルファベット)なので勉強しやすい。

自分で勉強するために、DokuWikiを使って単語帳を作りながら単語の意味や文章を貯めているのだが、最近は Google翻訳を参照するのが便利なので interwiki のショートカットを作って連携させることにした。Google翻訳は発音や類義語を示してくれるので独習には素晴らしいツール。

例えば、Saya ingin pergi ke indonesia. をインドネシア語から英語に翻訳した場合のURLは、
https://translate.google.co.jp/#id/en/Saya%20ingin%20pergi%20ke%20indonesia.
要素分解すると、”https://translate.google.co.jp/” + ”#” + ”元言語/翻訳先言語" + "翻訳したい文章" となる。インドネシア語は id、英語は en なので #id/en/ となっている。

これを interwiki のコンフィグレーションファイルの書式で表現すると、
<shortcut>      <url to wiki> なので、
gtid      https://translate.google.co.jp/#id/en/{NAME}

となります。これで、[[gtid>Saya ingin pergi ke indonesia]] と書いておけば、Google翻訳のページを一発で呼びせる筈なんですが、結果は、404ページが表示されてします。URLを確認すると、# が消えてしまっています。
ならば、#をurlエンコードして、%28id/en にしてみても駄目。

ふと、\でエスケープしたらどうなる?と思いついて試してみると、これが当たり。結果としては下のように指定すれば良いことになりました。

gtid      https://translate.google.co.jp/\#id/en/{NAME}

翻訳結果は、



0 件のコメント: