Category: :Internationalization

[国際化] gettext の利用 / extension の利用 / gettextリーダーの作成

ポイント

ちょっと確認: GNU gettext

ちょっと確認: PHP GNU gettext extension

http://jp2.php.net/manual/ja/ref.gettext.php

メッセージ


20041115.zip


順次、整理していきますが、ちょっとだけ。 ページを分けますか?どうしましょう?

理由などは、upk:PHP/国際化/ドメイン でうだうだ書いています。 簡単に書くとこんな感じです。

2) PukiWikiがgettextを利用する場合、どのように設計するか

リソースの数と種類 (ドメインは単一か、あるいは複数用いるのか)

PukiWiki本体が配布するアーカイブの単位で1つと考えています。その理由は、

  • 1ドメインの方が管理がらく。
    • xgettextコマンドで、拡張子が php のものだけ拾えばよい。
      • 言い換えれば、ドメインを分割すると、ファイル単位で指定するか、スクリプトを作るかなどの対応が必要となる。
  • メッセージカタログというファイルが単一なので、パフォーマンス的にも良い

以下の利用を考慮して、複数ドメインでの稼動もサポートしておく。

  • サードパーティ製プラグインへの対応
    • 本体の翻訳のみならず、サードパーティ製プラグインの国際化も容易となる
      • 本体は lng ファイルで吸収できていると認識
      • 翻訳作業を行うこと=プログラムソースに手を入れること の撲滅
      • プログラムとメッセージを分離することで、翻訳のみの作業に特化できる(役割分担)
  • メッセージのカスタマイズ(プラグインのみであれば簡単)

というイメージです。

  • お疲れ様です。上記でコメントしたのちまた考えましたが、単一ドメイン方式だと、PukiWikiやそのメッセージを個別にカスタマイズしたり、個別にプラグインを抜き差しした場合に、ユーザーにコマンドラインでの作業を強要してしまいそうですね。動的にリソースをコンパイルするような機能でもない限り。 -- henoheno 2004-11-24 (水) 21:14:43
  • みこさんが言われていた、po を読むという前の版と組み合わせが良いんでしょうかね?ちょっとやってみますかぁ。 -- upk 2004-11-24 (水) 21:21:01

リソースの配置場所

pot および po ファイルは、稼動時は不要です。ドメイン構成の決定後に、 単一構成に決定した場合には、po を分けるが妥当だと思っています。 現状は、単一・複数でもいけるだろう以下のような構成を案としました。

pukiwiki
└─locale
    │  └─ pukiwiki.pot, es_ES.po, ja.po, ns_NL.po
    ├─es_ES
    │  └─LC_MESSAGES
    │      └─ pukiwiki.mo
    ├─ja
    │  └─LC_MESSAGES
    │      └─ pukiwiki.mo
    └─nl_NL
        └─LC_MESSAGES
            └─ pukiwiki.mo
pukiwiki
└─locale
    │  └─ pukiwiki.pot
    ├─es_ES
    │  └─LC_MESSAGES
    │      └─ pukiwiki.mo
    │           pukiwiki.po
    ├─ja
    │  └─LC_MESSAGES
    │      └─ pukiwiki.mo
    │           pukiwiki.po
    └─nl_NL
        └─LC_MESSAGES
            └─ pukiwiki.mo
                 pukiwiki.po

仮に複数ドメインにした場合には、以下のようになると思います。

pukiwiki
└─locale
    │  └─ pukiwiki.pot, edit.pot, article.pot ...
    ├─es_ES
    │  └─LC_MESSAGES
    │      └─ pukiwiki.mo, edit.mo, article.mo ...
    │           pukiwiki.po, edit.po, article.po ...
    ├─ja
    │  └─LC_MESSAGES
    │      └─ pukiwiki.mo, edit.mo, article.mo ...
    │           pukiwiki.po, edit.po, article.po ...
    └─nl_NL
        └─LC_MESSAGES
            └─ pukiwiki.mo, edit.mo, article.mo ...
                 pukiwiki.po, edit.po, article.po ...

*1 これはもう始めている
*2 の他にもアーキテクトも分離されたほうがいい
*3 できれば添付ファイルはこのようなページにしていただきたかった (^^;

添付ファイル: file20041122.zip 743件 [詳細] file20041118.zip 793件 [詳細] file20041117.zip 719件 [詳細] file20041115.zip 748件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-01-29 (土) 15:18:15
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.371 sec.

SourceForge