タグ付けされた質問 「gettext」

2
gettextを使用してQMLファイルを翻訳可能にする方法
Python(PySide)とQMLに基づくQtQuickアプリを書きたいのですが。 Qtアプリには独自の翻訳テクノロジーがあることは知っていますが、これについてはgettextに固執したいと思います。次のことが可能かどうかを知りたいです。 gettextのツールがにそれらを取り出すことができる方法でQMLファイル内の翻訳のためにマークする文字列.potファイル gettextが実行時にQMLファイルを変換するようにします。 私はこれがUnity 2Dコード、C ++で行われていることを知っているので、Pythonでそれをどのように行うことができるのか疑問に思っています。 注:実行時にgettextのみを使用することについて話しているのであり、gettext形式とQt Linguist形式の間の変換については話していません。

1
Gladeが/ optから翻訳をロードする方法
Ubuntuアプリデベロッパープロセスを通じて提出したいアプリケーションを作成しました。プロセスの要件の1つは、インストール時にすべてのファイルが/opt/extras.ubuntu.com/<appname>ディレクトリに移動することです。 パッケージの変更と他の人の助けを借りてそれを達成しましたが、今、私は新しい問題に直面しています:/optアプリからの翻訳から実行すると、ロードされません。 何が起こるかは次のとおりです。特に指定がない限り、アプリケーションの翻訳を含むバイナリファイル(MOファイル)は/usr/share/locale(Ubuntuの場合は/usr/share/locale-langpack)から読み込まれますが、私のアプリでは/opt要件により、/opt/extras.ubuntu.com/qreator/locale。 gettextでは翻訳をロードするための別の場所を指定できるため、理論的には問題ありません。そのため、bindtextdomain呼び出しを追加してそれを実現します。 import gettext from gettext import gettext as _ gettext.bindtextdomain('qreator', '/opt/extras.ubuntu.com/qreator/share/locale/') gettext.textdomain('qreator') コマンドラインで出力されるすべてのメッセージは、期待どおりに翻訳されたように見えます。しかし、それは主な問題を解決しません:UI Gladeから翻訳をロードするには、もう一度翻訳ドメインを指定する必要があります(gettext.textdomain('qreator')上記の呼び出しと同等)が、そこから翻訳をロードする場所を指定することはできません(つまり、Gladeと同等です)bindtextdomain残念ながら存在しません)。これが私が使用しているコードの抜粋です: builder = Gtk.Builder() builder.set_translation_domain('qreator') # There isn't a way to tell glade to load translations from # somewhere else than /usr/share/locale here builder.add_from_file(ui_filename) つまり、アプリがにインストールされている場合、UIからの翻訳を読み込むことができません/opt。 この時点ではかなり行き詰まっています。の/opt/extras.ubuntu.com/qreator/share/locale/代わりにGladeが翻訳をロードする方法に関するアイデアはあり/usr/share/localeますか?

1
特定のフォルダーへのxgettext出力
私はxgettextコマンドを使用して新しいです。だから私は私が間違っているのか分からない。 私はコマンドを入れました: xgettext -n *.php -o --output='/home/public/sample' 私のスクリプトでは、エラーが発生します: xgettext: cannot create output file "--output=/home/public/sample": No such file or directory` しかし、実行すると、xgettext -n *.phpmessages.poファイルが現在のディレクトリに作成されます!messages.poファイルを作成する場所を指定する方法はありますか?
4 gettext 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.