SSブログ

Zope 3 のメッセージの国際化 [Zope 3]

なんだかゴチャゴチャしているようにも見えたけど、整理するとそうでもないか。
Plone や GNU でメッセージ翻訳をしている人には難しくないんだろう。
だんだん、自分専用メモになりつつあるが・・・
かなり、怪しい理解なので、間違ってたらつっこみを希望!

CMF/Plone と同じように、GNU gettext のフレームワークで国際化がなされている。
http://ja.wikipedia.org/wiki/Gettext

日本語(や、その他英語以外)のメッセージファイルはなくても動くので、
まず、英語メッセージで Zope3 の国際化フレームワークで動くようにパッケージを書いても良い。

翻訳単位(範囲)として translation domain というのを決める。 パッケージ単位になるのが普通。
translation domain というのを決めたら・・・

【メッセージの埋め込み】
メッセージの埋め込む場所は、大きく分けて3種類ある。
1.ZPT のメッセージ
 i18n:domaon="xxxx" でドメインを指定して、i18n:translate="yyyy" でメッセージ変換
http://www.zope.org/DevHome/Wikis/DevSite/Projects/ComponentArchitecture/ZPTInternationalizationExamples

2.Python コードのメッセージ
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Book/i18noverview.html の 10.5..1 あたり

3.ZCML の borwser schema view のメッセージ
 Message ID をブラケットで囲んで label="[label-edit] Edit" とかする。
 ブラケットで囲んであるのの次が fallback message

Message ID に意味の通る英語を書いて置けば、該当する言語のメッセージファイルがない場合は、その Message ID を fallback message として表示する
(上記 3. は fallback message の指定はちと違うけど)

【pot/.po/.mo ファイルの作り方】
基本的に GNU gettext↓ と同じく、.pot → .po → .mo の順番にファイルを作る。
http://ja.wikipedia.org/wiki/Gettext
.pot → .po は、コピーしてファイルの編集
    (poEdit とか専用のもあるし、UTF-8 が編集できる普通のエディタでも良い)
.po → .mo は、GNU の msgfmt を使う
なので、Zope 3 特有なのは、パッケージのディレクトリを指定して、その中にある
1.ZPT/2.Python/3.ZCML browser schema view からメッセージを抽出して .pot を作成する操作。

Zope3 に含まれる i18nextract というコマンドで、オプションに
-p パッケージの保存してあるディレクトリ
-d translation domain
-o 出力するディレクトリ
を指定する。

【translation domain と .mo ファイルの指定】
ZCML で i18n_domaon="xxxxx" としてtranslation domain の指定
.mo ファイルのありかは i18n:registerTranslations directory="yyyyy" とディレクトリを指定しする
そうすると、Zope3 君は、yyyyy/ja/LC_MESSAGE/xxxxx.mo に、日本語メッセージの .mo ファイルがないか探す。

(その他参考リンク)
GNU gettextユーティリティ
http://ring.atr.jp/archives/doc/gnu-info-j/gettext/gettext-ja.html


nice!(0)  コメント(5)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 5

LesAbeshy

Cialis Generico Foro <a href=http://cialibuy.com>Buy Cialis</a> Buy Prevacid Odt
by LesAbeshy (2020-01-16 21:13) 

StevSmisse

Amoxicillin Reaction http://cialibuy.com - cialis for sale buy roaccutane online <a href=http://cialibuy.com>Cialis</a> Is It Safe To Buy Generic Cialis Online
by StevSmisse (2020-01-22 11:18) 

MatCymn

Propecia De Principio Activo http://buyciaonlinex.com/# - Cialis Keflex Uses For <a href=http://buyciaonlinex.com/#>generic cialis from india</a> Cheap Wellbutrin
by MatCymn (2020-02-04 13:22) 

LesAbeshy

Viagra Generico Mexico http://viacialisns.com/# - cialis cheapest online prices Depo Amoxicillin <a href=http://viacialisns.com/#>buy cialis</a> Relent
by LesAbeshy (2020-02-20 04:31) 

Ellhilt

Find Secure Ordering Generic Pyridium Online Ups With Free Shipping http://buycialisuss.com - cheap cialis Zithromax Where To Buy <a href=http://buycialisuss.com>tadalafil cialis from india</a> Cheapeast Secure Macrobid Medication Ups Express Delivery Visa Accepted
by Ellhilt (2020-02-29 11:01) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0