問題タブ [xgettext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2867 参照

python - POTファイルの生成

PoEditは、スキャンが不要なサブディレクトリ内のPythonソースもスキャンするため、問題が発生します。そのため、PoEditでPOTフ​​ァイルから文字列に関する新しい情報を取得する必要があります。ここxgettextでは、ソースからPOTファイルを作成できると言われています。しかし、私はその方法を理解できません。常にPOファイルを生成します。

でPOTフ​​ァイルを作成するにはどうすればよいxgettextですか?それとも古いものはpygettext受け入れられますか?または別のツールはありますか?

0 投票する
1 に答える
5517 参照

linux - xgettext を使用したファイルの再帰スキャン

プロジェクトのすべてのフォルダーを再帰的にスキャンして xgettext 文字列を探す必要があります。Linuxでxgettextを使用してこれを行うにはどうすればよいですか?

私の現在のパラメータは次のとおりです。 --default-domain=project -k_

0 投票する
1 に答える
200 参照

php - PHP から作成した最初の .pot ファイルをどのように実行しますか?

適切にローカライズする必要があるアプリを作成するのに忙しいのですが、常にポータブル オブジェクト テンプレートを手動で作成するのは面倒です。

このコードの理由を誰か教えてください:

何もしていませんが、コマンドラインでそれを実行すると、実際に default.pot ファイルに見つかったエントリが入力されますか?

0 投票する
1 に答える
1395 参照

gettext - xgettext から出力が得られません

準大規模なソフトウェア プロジェクトのローカリゼーションに gnu-gettext を使用しようとしているので、今は基本を学ぼうとしています。問題は、かなり基本的な機能に行き詰まったことです。xgettext を使用してソースコードから文字列を抽出しようとすると、何も得られません。dll が欠落している場合は文句を言い、パラメータが間違っている場合は文句を言いますが、現在はポット ファイルなどを生成せずに静かに戻ります。

だから、私の質問は、この問題を認識している人はいますか? xgettext が何をしているかについて、より冗長にする方法はありますか?

ソースファイルの間に xgettext を入れ、ソースファイルを gettext\bin ディレクトリに入れようとしましたが、うまくいきませんでした。

私は Win7 マシンで作業しており、gettext-tools-dev_0.18.1.1-2_win32 を使用しています。MinGWをインストールしました。

私のテストコードは次のようにロックします:

誰かがこれについて私を助けることができれば、私は感謝します. /ロバート

0 投票する
2 に答える
2995 参照

javascript - JavaScriptからxgettextを使用して翻訳者のコメントを抽出します(Pythonモードの場合)

すべての.jsファイルと.htmlファイル(アンダースコアテンプレート)から文字列を抽出する、非常にうまく機能するコマンドがあります。ただし、翻訳者のコメントには機能しないようです。

たとえば、これは私の.jsファイルの1つにあります。

次のコマンドを使用します。

xgettextは、.jsファイルからコメントを抽出し、次のように.poファイルに配置する必要があります。

しかし、そうではありません。私はここで何か間違ったことをしていますか、それとも翻訳者のコメントがPythonモードで機能していないだけですか?

編集:私はジョンフラットネスの答えを正しいものとして受け入れましたが、Pythonモードを引き続き使用して翻訳者のコメントを抽出できる回避策を見つけました。コメント内に構文の一部が実際に残っているため、完全ではありません。

私のtax.jsファイル:

次のコマンドを実行します。

結果は.poファイルになります。

ご覧のとおり、唯一の問題は次のとおりです。

  1. コメントは2行で書く必要があります
  2. コメントターミネーター*/は翻訳者のコメントに残されています

ただし、ほとんどの場合、これはそれほど問題にはなりません。

0 投票する
2 に答える
1691 参照

php - PoEdit は _n() 複数形を認識しません

POEdit のソース キーワードに次のセットがあります。

機能しますが、関数を使用すると最初の文字列しか取得できません_n()(Twenty Eleven テーマ):

<?php printf(_n('One Comment', '%s Comments', get_comments_number(), 'twentyeleven'), number_format_i18n(get_comments_number())); ?>

認識させる方法はあり_n()ますか?それはまさに私が問題を抱えていることですが、解決策はありません: http://www.poedit.net/trac/ticket/307

0 投票する
1 に答える
628 参照

php - xgettext は複数形をスキャンしません

gettext i18n に Poedit を使用していますが、問題なく動作します。翻訳を統合するためのビュー ヘルパーがある ZF2 を使用します。一つはtranslate、もう一つですtranslatePlural

使用法:

Poedit でキーワードtranslateandを追加しtranslatePluralます。通常の翻訳は正常に機能しますが、複数形の場合は "Item" のみが検出されます ("Items" は検出されません)。テスト目的で、$this->translatePlural()呼び出しをに置き換えましたngettext()が、最終的には同じ結果になります。私の結論: (私のバージョンの) Poedit は複数形をスキャンできません。

Poedit が 2 番目の文字列もスキャンできるようにするには、キーワードとして何を入力すればよいですか?

0 投票する
0 に答える
494 参照

translation - gettext のマージ プロセス - 古い文字列を削除する方法

gettext 翻訳ファイル プロセスを改善したいので、アプリケーション用の .po ファイルを 1 つだけにして、ファイルを翻訳会社に送信するときに翻訳作業が重複するのを避け、オンロード マージを減らしたいと考えています。

問題は、最初の解析で常に 2 つの別個のファイルが作成されることです (1 つは poedit を使用した PHP からの解析、もう 1 つは tsmarty2c.php を使用した smarty からの解析)。そこで、msgcat を調べて、次のプロセスを思いつきました。

これは 1 つの例外を除いて正常に機能します。マージ プロセスに complete.po を含める必要があるため、1/2 で削除された非推奨の文字列は引き続き保持されます (これには機関からの最新の翻訳があるため)。

同様のプロセスを作成する方法に関するヒントはありますか?

0 投票する
1 に答える
272 参照

xgettext - xgettext を使用して、さまざまな言語のファイルから i18n 用の文字列を収集する方法

デフォルトでxgettextは、拡張子からファイルの種類を推測します。.jsただし、現在理解できないJavaScript ファイル (拡張子付き) があります。そのため、言語を手動で指定する必要があります。Java が適切な選択のようです。しかし、その後、Glade ファイル (XML) もあり、これは明らかに Java として解析できません...--languageコマンド ラインで複数のオプションを指定すると、最後のオプションだけが効果があるようです。

xgettext によって認識されるファイル タイプ (C や Glade など) を使用するプロジェクトでは問題にならないようです。

0 投票する
1 に答える
472 参照

python - csv ファイルからの xgettext

変換するすべての値を含む csv があります...csv ファイルを読み取って .pot ファイルを生成したいのですが、読み込んで print _(value) を呼び出そうとすると、.pot が生成されません。csv から動的コンテンツを含む .pot ファイルを生成できない理由がわかりません。

これが私のコードのスニペットです:

このスクリプトを実行すると、すべての値が表示されますが、実行しても .pot ファイルは生成されません。

文字列値を持つ変数に対して実際の文字列を指定すること (例: print _('hello')) は機能します...どんな助けも大歓迎です。