フォーラム: 開発関係フォーラム (スレッド #32062)

今後の日本語化作業の方針について (2012-05-03 23:08 by taguchi-ch #63555)

ここ1ヶ月ほど、Mirandaの日本語化に関する問題を調べていて、
当初考えていた方針では対応できない部分がでてきそうだということがわかりましたので、
一旦、仕切り直して、今後の方針の再検討をしたいと思います。

問題1
現在本家では言語ファイルに関して全く放置状態である。

問題2
言語ファイルの生成スクリプトが、翻訳が必要となるキーワード全てを拾い切れていない。
また、言語ファイルに含まれているにもかかわらず、翻訳が反映されない場合がある。

問題3
言語ファイル生成スクリプトはMirandaのソース木全体に対して動作を行うが、
そもそも、Mirandaのソース木に関連する全てのソースコードが含まれているわけではなく、
外部プラグインは、Mirandaプロジェクトとは完全に別枠扱いになっており、
外部プラグインから提供されているソースそのものも最新ではない場合がある。

当初は、言語ファイルの生成スクリプトや一部ソースの修正等で正しい言語ファイルを生成できるようにして、
その後はMirandaのビルドプロセスで言語ファイルを生成するようになれば、常に正しい言語ファイルが使用できる
状態になるのではないかと考えていたのですが、問題3により、ビルドプロセスに組み込まれても、
外部プラグインが言語ファイルの生成範囲外となってしまうため、全てのプラグインを網羅した言語ファイルが
生成できない、といった問題が解決できずに残ってしまいます。

外部プラグインがソース木外に存在するというのは、長年そのような運用になっている以上、
今更、ソース木に取り込まれるというのは考えにくく、外部プラグインを翻訳対象に含めるのであれば、
この部分については、イレギュラーな対応をする必要がでてこざるを得ないでしょう。

ただ、外部プラグインにはSkypeプロトコルやFacebookプロトコル等も含まれていて、
それぞれ利用しているユーザーがいると思われるので、
外部プラグインを翻訳対象外にするということはすべきではないと思います。

そのため、当初の予定とは異なりますが、

(1)外部プラグインを翻訳対象としない場合は、Mirandaのビルドプロセスで生成された言語ファイルを使用する。

(2)外部プラグインを翻訳対象とする場合は、翻訳対象となるソース木は翻訳者の手元に置く。
その内部に任意のフォルダーを置き(例plugins.external)、翻訳を行う外部プラグインのソースコードを置く。
併せて、このフォルダーはバージョン管理外にする。
Mirandaのソース木は通常のバージョン管理を行い、バージョンアップ時に外部プラグインを含めた言語ファイル生成を
翻訳者側が手動で行う。

という方向で対応するのが現実的な解ではないかと考えています。
いかがでしょうか?

RE: 今後の日本語化作業の方針について (2012-05-20 22:45 by ttag #63923)

結局(2)案しか現実解は存在しないような。

翻訳環境の確立、という目的からすれば、(2)のやりかたで言語ファイル生成を容易に行える
環境整備、だと思うです。

別解として、現状の言語ファイルを拡張し、mirandaが複数の言語ファイルを読み込むように変更する、というのもありかも。
そうすれば、1つはmiranda本家で、それ以降を使用する外部プラグインの言語ファイル、とすれば、各外部プラグインごとに
翻訳を行えばよくなるので管理がシンプルになる予感。

ちょっと言語ファイル読み込み周りを調べてみようかしらん。
#63555 への返信

RE: 今後の日本語化作業の方針について (2012-05-21 23:23 by taguchi-ch #63946)

複数言語ファイルを読み込み可能にするというのは、面白い案だと思うのですが、
個人的には、言語ファイルのメンテナンス工数を考えるとあまり望ましくないような気がします。
訳語の重複チェックのこともありますし・・。
それならばむしろ、複数の言語切り替えができるほうがいいかもしれません。
本来、そうあってしかるべきなような気がしますし。

言語ファイル読み込み周りは、これまでのふるまいを考えるときっとバグがあると思うので、
早々に調べてみようとは思ってます。

調査結果次第で、今後の方針にも影響がでてきそうな気がします。
#63555 への返信

RE: 今後の日本語化作業の方針について (2012-06-10 22:35 by taguchi-ch #64212)

翻訳関係モジュールに修正が入ったようです。
これまでは1語に対し1訳語しか対応していなかったのですが、
ある程度、スコープを反映するようになったようなのです。
ただ、具体的な言語ファイルの記述方法のドキュメントを探してみたのですが、ちょっと見つからないので、
ソースを確認します・・。
#63555 への返信