xgettextは文字列を誤ってソートします。

xgettextは文字列を誤ってソートします。

Cソースコードから翻訳ファイルを生成しようとしています。翻訳項目は、ソースコードに表示される順序とまったく同じです。はいいいえ一部の文字列は保存する必要があるドメインごとに並べ替えられているため、アルファベット順に並べ替えるか、ランダム順に並べ替えたいとします。次のテストファイルがあります。

char * elements[] = {gettext("Hydrogen"), gettext("Helium"), gettext("Lithium")};

私は使用していますxgettext -F test.c文書場所で並べ替える必要があります。

-F--sort-by-file

    ファイルの場所による出力の並べ替え

しかし、出力はアルファベット順に並べられているようです。

#: test.c:1
msgid "Helium"
msgstr ""

#: test.c:1
msgid "Hydrogen"
msgstr ""

#: test.c:1
msgid "Lithium"
msgstr ""

誰が正確にどのように機能するか-F(そして-sアルファベット順にソートする必要があるか)説明できますか?単一行内で位置別に並べ替えるフラグを見逃しましたか?

ベストアンサー1

出力ファイルのコメントは手がかりを提供します。明らかに-Fソート中渡す電話番号 次に、各行内でアルファベット順にソートします。入力を次に変更します。

char * elements[] = {gettext("Hydrogen"),
                     gettext("Helium"),
                     gettext("Lithium")};

生産する

#: test2.c:1
msgid "Hydrogen"
msgstr ""

#: test2.c:2
msgid "Helium"
msgstr ""

#: test2.c:3
msgid "Lithium"
msgstr ""

おすすめ記事