Re: アドオン単体の翻訳

2011年2月5日 at 17:28

すいません、横から失礼します。

アドオンの翻訳をしなくてはいけないのですが、
アドオン内の翻訳すべき文字列(t()つき)を一気に抜き出す方法ってありましたっけ?

Kinoさんのアドオンだと画面に表示させればどんどん出てきてくれて簡単だったのですが。。
新しいバージョンのconcrete5だと確かgetTextを使わなくなって,使えないんですよね?

Re: Re: アドオン単体の翻訳

2011年2月5日 at 18:35
確かgettexxtのコマンドにあったと思います。
 

Re: Re: Re: アドオン単体の翻訳

2011年2月5日 at 19:09
あった。コレだ

xgettext -k"t" --from-code=UTF-8 -o messages.po
 

Re: Re: Re: Re: アドオン単体の翻訳

2011年2月5日 at 20:47
find pacage_name -type f -iname "*.php" |xgettext -k"t" --from
-code=UTF-8 -o messages.po -f -


findでファイル名を抽出して、xgettextに -f - オプションで標準入力からつっこむとよいと思います。
 

Re: Re: Re: Re: アドオン単体の翻訳

2011年2月5日 at 21:08
ありがとうございます!
参考にさせていただきます〜
 

Re: Re: アドオン単体の翻訳

2011年2月5日 at 19:04
kinoさんのアドオンは要りません。
既に、同じ機能を持った Zend Translate が 5.4.0.5から内蔵されています。

というか、kinoさんのアドオン入れたら、エラー出るかも(?)←確認宜しく
 

Re: Re: Re: アドオン単体の翻訳

2011年2月5日 at 21:19
Kinoさんのアドオンは、前にどのバージョンだかのconcrete5にアップグレードした際、
オーバーライドしたファイルがコンフリクトして,一度使用を断念していました。
(オーバーライドしていたファイルのソースが変更されたことが原因でした。)

が、やはりKinoさんのアドオンは手軽にリアルタイムでチーム翻訳できる強みがあり、
単体サイトだけでの使用ならそちらの方が有り難く感じています。
フォーラムとは別にKinoさんにメールでお尋ねしていたのですが,今、修正を試みてくださっているとのことです。
感謝です。

複数サイトに使うのであれば、getTextなりで教えていただいたような方法でやるのがいいでしょうね。
勉強しながらやってみます。
taoさん、みゅみゅさん、ご丁寧にありがとうございます。

Katzさん、zend translateはKinoさんのアドオンのように手軽にやれる機能があるのですか?
 

Re: Re: Re: アドオン単体の翻訳

2011年2月6日 at 1:25
木下です。

機能は全く違います。

5.4.0.5からZendTranslaterが導入されたのは
gettextの結果のキャッシュを行うことができ
サイト実行時の翻訳の高速化を図ることができるからです。

また、それと同時にパッケージ毎に翻訳ファイルを
準備すれば読み込んでくれるようになっていますが
一般の利用者にはハードルが高く個々人で
パッケージの翻訳をするのは大変でしょう。

私が作成したのは
翻訳ルーチンを通っても変化しなかった文字列を見つけDBに登録し、
それを管理画面で翻訳文を入力することが出来るようにしたもので
翻訳漏れや日本語の翻訳ファイルが用意されていないアドイン等の
翻訳を個人で共同で行えるようにしたものです。

翻訳漏れなどが全て解消できた時点で .poファイルを生成させるように
すればバージョンアップ時の翻訳作業を多人数で同時に行えるように
なると思いますが利用者も居なかったのでそれらの開発はしていません。