ブロックのメッセージを追加する方法を

2011年9月9日 at 23:52

独自のブロックを作って、新たなメッセージを追加する方法を教えてください。
xxxxを読め!、というフォローだけでも結構です。

メッセージは、多国に対応するため、プログラムコード内には、t(xxxxxx) のように記載されていますよね。その実際のメッセージは、そのままファイルになっているのではなく、暗号化?バイナリ?かなんかが読まれて表示されるようですね。

つまり、t(xxxxxxx) に対応するxxxxxxは、日本語では、XXXXXXXという対応表と、その対応表をコンパイル?コンバート?を何らかの方法で行うんですよね。

Re: ブロックのメッセージを追加する方法を

2011年9月9日 at 23:58
まずはgettextの仕組みをご確認頂いた方が良いと思います。

パッケージの翻訳は、
/packages/[package handle]/languages/[lang]/LC_MESSAGES/messages.mo
を作るとソレが適用されます。

詳しくは、本家の
http://www.concrete5.org/documentation/developers/system/localization
に書いてあります
 

Re: Re: ブロックのメッセージを追加する方法を

2011年9月10日 at 10:20
5.4.1.1.1.jaの中を探したのですが、/packagesや/blocksにはlanguagesはないですね。
すべてが/languagesにまとめてあり、特定のパッケージのみの例はないのでしょうかね。
 

Re: Re: Re: ブロックのメッセージを追加する方法を

2011年9月10日 at 10:32
yamanoiです。

katzさんの作ったUstreamのパッケージを見てください。
構造がわかりますよ。
http://concrete5-japan.org/community/forums/development/post-2098/
 

Re: Re: Re: Re: ブロックのメッセージを追加する方法を

2011年9月10日 at 14:41
ありがとうございました。

参考にさせていただきます。
 

Re: Re: ブロックのメッセージを追加する方法を

2011年9月10日 at 14:41
HELPページを見ながらやってみましたが、以下のエラーが出てしまいします。

-----
# find /var/www/httpdocs/c5test1/packages/form_tomoac -iname '*.php' -exec xgettext --default-domain=messages --keyword=t -l PHP -p /var/www/httpdocs/c5test1/packages/form_tomoac/languages/ja_JP.UTF8/LC_MESSAGES -j {} \;

xgettext: /var/www/httpdocs/c5test1/packages/form_tomoac/languages/ja_JP.UTF8/LC_MESSAGES/messages.po: warning: Charset "CHARSET" is not a portable encoding name.
Message conversion to user's charset might not work.

:
------
同じのが10回ぐらいだらだら出ます。
UTF8に問題があるんでしょうか?