Takeshi Kakeda
kaked****@giant*****
2003年 12月 1日 (月) 01:46:05 JST
こんにちは、懸田です。 On Fri, 28 Nov 2003 01:10:50 +0900 Shinsuke SUGAYA <shins****@yahoo*****> wrote: > こんにちは。 よろしくお願い致します。 > プラグインの翻訳方法について、ちょっとまとめてみます。 > > 現在のところ、基本的に翻訳が必要なプラグインは、site プラグインによって > 呼び出されるものがメインだと思っています。そこで、翻訳が必要になるファイル > 形式は、Jelly または Velocity ではないでしょうか。plugin.jelly にメッセージが > 記述されているものに関しては、プロパティファイルなどの方法で翻訳を可能に > する必要があると思いますが、plugin-resource ディレクトリ以下に翻訳する > べきものがあるものでは、plugin-resource/ja などのディレクトリに翻訳する > ものを入れた方が良いように思っています。つまり、以下の2種類の方法を > 適用していくのが良いのではないでしょうか。 > > 1. 各言語ごとにテンプレートを持つ(plugin-resouce/ja などにテンプレートを入れる) > 2. メッセージに関しては、プロパティファイルにまとめる。 > > 1 に関しては、日本語でいうと、姓名や日付の順番などプロパティファイルだけでは > 解決できない問題があるため、必要と思っています(メッセージ全体をプロパティファイルに > 入れれば、可能だと思いますがそれではあまり意味がないので・・・)。ですので、 > 単純にメッセージだけを 2 であるようにプロパティにまとめるのが良いと思います。 > 現在の、xdoc プラグインでは、1 だけを適用している状態です。 なるほど、オーダーは確かにそうですね。こういうのはjellyのタグを作って吸収して しまうのが一番メンテナンスしやすいとは思います。 テンプレートを別にする方法は現実解ですね。ただテンプレート全体が変更されて しまうとマージがちょっとだけ面倒な気がしますが。2についてはおっしゃる通りです。 > また、siteプラグインに関しては、環境に応じて自動的に言語が選ばれるように > しない方が良いと思っています。たとえば、日本語環境で英語のプロジェクトサイトを > ビルドする場合に、メニュー等が日本語になっても困ると思います。ですので、 > ユーザーが Maven のプロパティを指定して、生成するプロジェクトサイトの言語を > 選ぶのが良いと考えています。xdoc プラグインでは、maven.xdoc.locale の言語で > 決まると思います(現在のところは、ja を指定するかしないかだけですが・・・)。 デフォルトで環境のロケールを選択するのは自然だと思います。 日本語環境で英語で出力したいのなら、プロパティで指定すればいいだけですし。 jaだけだとEUC/SJIS/UTF-8/JISか決定できないのが泣きどころですので もっと細かく指定できたほうがいいと思います。(が自動認識でfile.encodingを 使用するのは違う気もしますし...) もちろん今のエスケープという手法は素晴しいアイディアだと思うのですが エディターで見ただけじゃわからないのが、若干面倒だと思うのです。 > 以上のように、1 と 2 の方法を実装していくのが良い気がしていますが、 > 2 に関しては、その仕組みを実装しなければなりません。しかも、それは、共通で > 使えるようにしないと不便だと思っています。そう考えると、とりあえず、1 の方法だけで > 実装して、日本語のプラグインを充実させつつ、いろいろな意見を検討しながら、 > 2 の実装や別な方法を検討していくのが適切ではないかと思います。また、 > 1 の方法だけを適用するときのメリットは、Apache Maven の方で変更があったときに > 追随しやすいところがあると思います(個人的には最も重要な点ですが)。 当面は現在のxdocの方式で翻訳するという方向性で賛成です。 > 補足ですが、1 の方法に関しては、テンプレートでエンコーディングが指定されていない > ものもあったりするので、単純に日本語を記述するのではなく、&#nnnnn; のような形式に > エスケープする必要があると思います。xdoc プラグインでは日本語をすべてそれに変換 > しています。 日本語のエスケープの方法はどのようにされていますか? ちなみに私の環境はDebian GNU/Linux sargeです。shinsukeさんもLinuxとお聞きして いるので、簡単な方法があれば教えてください。 #Emacsのhtmlモードでできたかな? 以上です。 -- 懸田 剛/Takeshi Kakeda mailto:kaked****@giant*****