5

このクールなjsgettextライブラリ-> http://code.google.com/p/gettext-js/を見つけましたが、実装方法がわかりません。poeditを使用して翻訳を編集していますが、プロジェクトをチェックアウトしてデモファイルを実行すると機能することがわかりますが、テキストに変更を加えると、.poファイルが更新されず、新しいテキスト。誰かが何か考えを持っていますか?ありがとう!

4

4 に答える 4

9

「gettextコマンドでPythonを強制する必要もありました」:

  1. ファイル|設定|パーサー
  2. Pythonを編集する
  3. 「拡張機能のリスト..」を編集します。
  4. *.py;*.js
  5. 「パーサー表彰」を編集します。
  6. xgettext --language=Python --force-po -o %o %C %K %F

終わり。

そこに私を導いてくれてありがとうケンター:)

于 2010-02-18T05:30:22.640 に答える
4

xgettext --language = perl --force-po -o%o%C%K%F(pythonではなくperlを使用)がより良いオプションになると思います。pythonは一重引用符を含むjavascriptコメントで問題を引き起こすためです(終了していません)文字列エラー)。

于 2011-05-04T14:25:36.630 に答える
0

xgettext文字列を.potファイルに抽出するために呼び出してから、実行msgmergeして.poファイルを更新する必要があります。gettextマニュアルには、すべての厄介な詳細が含まれています。

于 2010-01-28T05:18:01.930 に答える
0

最初はPythonとPerlの両方の構成で試しましたが、いくつかの複雑なアンダースコアテンプレート、ネストされた引用符と二重引用符、エスケープ文字などを使用しました。両方のパーサーが誤った廃止された文字列のロードを報告したため、ソースコードから.potまたは.poファイルを適切に更新できません。

私も成功せずにテストしました http://code.google.com/p/gettext-js/

多くの試行錯誤の末、私は連鎖解析を使用できることを発見し、poedit1.5.7で正常に機能しました。これらは、最適なマッチングのために同時に有効にする必要がある構成パラメーターです。

Mac版のLibrary/Preferences / net.poedit.Poedit.cfgから抽出されたもので、それ以外の場合はダイアログにコピーして貼り付けることができます。

[Parsers/js] 
Extensions=*.js;*.html 
Command=xgettext --language=Python --force-po -o %o %C %K %F 
KeywordItem=-k%k 
FileItem=%f 
CharsetItem=--from-code=%c 

[Parsers/PHP] 
Extensions=*.php;*.js;*.html 
Command=xgettext --language=PHP --force-po -o %o %C %K %F 
KeywordItem=-k%k 
FileItem=%f 
CharsetItem=--from-code=%c 

拡張機能に*.htmlを含める必要がない場合があることに注意してください。これは、アンダースコアテンプレートを解析するために行いました。それが私にとって本当にイライラさせられた原因になることを願っています:)

于 2013-10-15T17:32:02.913 に答える