2022年8月1日月曜日

GIMP 2.99 Python 寄り道 其の参

GIMP 2.99 Python 寄り道 其の弐 で触れた、
Localization ですが、
興味もあるので、少し、調べて見ました。
どうやら、中途半端な 投稿 になる予感ですが ... 。


先ずは、全く関係無い 此方 からの引用。

Oracle Solaris でのアプリケーションの国際化とローカライズ
https://docs.oracle.com/cd/E62101_01/html/E62868/gnkbn.html

gettext API

ローカライズされるテキストメッセージは、アプリケーションのソースコードとは切り離して、個別のファイルに格納する必要があります。これらのファイルは、メッセージバンドル、メッセージカタログ、または移植可能メッセージファイルと呼ばれます。各プログラミング言語には、これらのファイルを操作するためのツールセットが用意されています。たとえば、C、Python、Perl などのプログラミング言語では、メッセージを翻訳するための gettext 関数が提供されています。

$ cat cs.po
.
.
#: code.c:37
#,c-format
msgid "My hovercraft is full of eels.¥n"
msgstr "Moje vznášedlo je plné úhořů.¥n"

ただし、移植可能オブジェクトファイルをメッセージオブジェクトファイルに変換することで、システムのパフォーマンスを向上できます。メッセージオブジェクトファイルにはファイル拡張子として .mo が付きます。移植可能オブジェクトファイルをメッセージオブジェクトファイルに変換するには、msgfmt ユーティリティーを使用します。


ご存知の様に、
GIMP は C で書かれ、Plug-in として、Python も利用出来ます。

クロスプラットフォームの GIMP は、
多言語対応を 此の .mo で熟しています。
本体のみでは無く、Python の Plug-in も同様です。
本体に標準添付される foggify.py で 利用言語 に合せた表示になるのは、
此の為ですね。


さて、
多言語対応 で検索すると、
.pot / .po / .mo の3種類 で説明されている事が多いですが、
実際に配布されている 実行ファイル群 の中に、
.mo 以外は見付けられません。 (Windows Installer ケース)

  日本語環境の場合、
  実行時、日本語で表示される訳ですが、
  Source Code である foggify.py の何処を見ても日本語はありません。
  C:¥Program Files¥GIMP 2¥lib¥gimp¥2.0¥plug-ins¥foggify¥foggify.py
  C:¥Program Files¥GIMP 2.99¥lib¥gimp¥2.99¥plug-ins¥foggify¥foggify.py
  なので、現 master (GIMP 2.99.x) を調べると、
  https://gitlab.gnome.org/GNOME/gimp/-/blob/master/po-python/ja.po
  114 行辺りに
#: ../plug-ins/pygimp/plug-ins/foggify.py:56
msgid "Add a layer of fog"
msgstr "霧が描かれたレイヤーを追加します"

#: ../plug-ins/pygimp/plug-ins/foggify.py:61
msgid "_Fog..."
msgstr "霧(_F)..."
  から始まる記述が見付けられます。
  でも、Comple した筈の .mo は ... 何所?。
  Stable の GIMP 2.10.32 では、
  C:¥Program Files¥GIMP 2¥share¥locale¥ja¥LC_MESSAGES にある、
  gimp20-python.mo 辺りが其の様な気がしますが ... 。
  開発版 GIMP 2.99.10 なら、
  C:¥Program Files¥GIMP 2.99¥share¥locale¥ja¥LC_MESSAGES¥gimp30-python.mo


そして、
多くの 配布 Python Plug-in 達 も、多国語対応してはいませんでした。
作成者の利用している言語 若しくは 英語 の表示が大半でしょう。

個人的にも、
作ったスクリプトを公開する際、
せめて、英語と日本語で書いて一方をコメントアウトして置く位の対応でした。
でも、
GIMP 3.0 の時代が来れば、事情は変わるかも知れません。
開発者の Jehan さまは、
其の時には Localization も含めた Tutorials を書く予定がある、と発言しています。  :)

  但し、組み込み状態で提供されるものとは異なり、
  謂わば、後入れ になる 3rd Party Plug-ins は、
  個人用に用意された Plugin Folder 内に、
  Sub Folder を各々用意して、更に、言語対応用に、
  ¥locale¥ja¥LC_MESSAGES を設けて、格納する事になるのでしょうか?。
  勿論、
  多国語対応であれば、¥ja¥ の部分が 他の言語記号 に変わって並存するのでしょう。
  そして、恐らく、.po を作った上で、.mo への変換が要求される筈ですが ... 。
  因みに、 現状、こんなファイルもあります。  (GIMP 2.99.10 のケース)
  C:¥Program Files¥GIMP 2.99¥lib¥python3.9¥Tools¥i18n¥pygettext.py
  C:¥Program Files¥GIMP 2.99¥lib¥python3.9¥Tools¥i18n¥msgfmt.py
  きっと、此れ等を使うのでしょうね。

  まぁ、素人の予想ですから、正式発表を待ちましょうか。  ;)


  此の後、 試行錯誤していますが、
  やはり、素人足掻き!。
  言語表示を変えるには ... 説明無しでは ... 難しい ... 。  X(



0 件のコメント:

コメントを投稿