ユーザーインタフェースの翻訳いろいろ
ふとしたことからWindows 8.1/10でシステムフォントを設定するツールMeiryo UIも大っきらい!!が中国でも使われていることを知って、メッセージを別ファイルに書き出してメッセージを書いたファイルを書き換えることでユーザーインタフェースを翻訳できるようにした。
のだが、向こうでは機能的には変わらない1つ前のバージョン2.20に対して翻訳メモリソフトを利用してリソースを書き換えることでユーザーインタフェースを翻訳していたことを知った。
ユーザーインタフェースの翻訳方法にはいろいろな手があるものだということを知ってなるほど思うとともに、せっかくの仕掛けが無駄になったなとちょっとがっかりという感じである。
さらに言うなら、リソース書き換えで翻訳しているのでソースにメッセージを直書きした部分が訳されないという事態になっていたことからWindowsのストリングリソースってプログラムとメッセージを分離するために必要だったんだなとと言うことをいまさら理解した。
考えてみると、Win32ではユーザーインタフェースの翻訳方法が乱立しているなと改めて実感した。
TeraTerm Proとか、これを見て参考にMeiryo UIも大っきらい!! Version 2.30のように自前でメッセージファイルを持って実行時に置き換える方法とか、リソースを書き換える方法とか、Unix系デファクトのメッセージカタログをWindowsでも使うとか、百花繚乱である。
Meiryo UIも大っきらい!!については、機能的に成熟したと思っているので当面はバージョンアップは考えていないのだが、次バージョンアップするとしたらどうしよう。メッセージファイルを使う版とメッセージファイルを使わない版を作ったほうがよいのかな?迷いどころが増えたというものである。