Python( PySide )および QML に基づいて QtQuick アプリを作成したいと思います。
Qtアプリには独自の翻訳技術があることは知っていますが、これについては gettext に固執したいと思います。私はそれが可能かどうか知りたい:
.pot
ファイルに文字列を抽出できるように、QMLファイルで翻訳する文字列をマークします私はこれがC++の nity 2Dコード で行われることを知っているので、Pythonでどのように行うことができるのか疑問に思っています。
注:gettextとQt Linguist形式の間の変換ではなく、実行時に排他的にgettextを使用することについて話しています。
一般的に言えば、QTでgettext翻訳を使用する方法はありません。これは、ライブラリがここで説明しているように内部翻訳メカニズム(Qtranslateおよび.tsファイル)を使用するためです QTBUG-2404 。
ただし、実行可能な代替手段があります。
QTには、lconvertと呼ばれるツールキットがあり、これを使用して.tsファイルを.poに、またはその逆に変換できます。
したがって、次の方法ですべての翻訳を抽出できます。
lupdate
次に、lconvertを使用してpoファイルを取得します。
lconvert -of po -o file.po file.ts
翻訳後、poファイルをtsに戻すことができます。
lconvert -of ts -o file.ts file.po
その後、ソフトウェアで使用できます。
lupdateは、QTとQtQuickの両方で使用できます。
Lupdateのソースをハックして、qsTrの代わりに好きなものを使用できます。 (簡単です)次に、ハッキングされたlupdate + lconvert + libintlを使用してgettextの目的を達成します。