2017-08-17 3 views
0

私はGSchemaはそうのようないくつかのフラグの定義があります:私は、これらはgettextをによって処理または.POTファイルで提供されていないことを翻訳者によって通知されていますがGSettings/GSchema <flags>を翻訳可能にすることはできますか?

<flags id="org.example.program"> 
    <value nick="ENGLISH_WORD" value="1"/> 
    <value nick="ANOTHER_WORD" value="2"/> 
</flags> 

を。これらを翻訳可能とする方法はありますか?

答えて

1

デフォルト値は変換できますが、実行時に.moファイルから変換されます。 "<schemalist>" respの属性 "gettext-domain"にtextdomainを置く必要があります。 "<スキーマ>"要素。ロケールカテゴリは、 "< default"の属性 "category"に配置する必要があります。要素は、>です。詳細については、https://developer.gnome.org/gio/stable/GSettings.htmlの「説明」の段落を読んでください。

最近のGtkアプリケーションのソースを調べて、さまざまなコンポーネントがどのようにローカライズされているかを確認することをお勧めします。 GNU gettextは最近、デスクトップアプリケーションのローカライズをサポートするために改善されており、そのプロセスは現在進化しています。特に、通常はintltoolは必要ありません。

+0

優秀な答え、私はそれを読んでいることをはっきりと覚えていますが、それは私の脳にはできませんでした。私はすでに "schemalist"に "gettext-domain"属性を設定しています。それを "スキーマ"に置く必要があるのですか、それともトップレベルですか? FWIW私はpot、po、moファイルを生成するためにmesonを使用しています。それがintltoolを使用するかどうかはわかりません。 –

+0

私はそれが "gettext-domain"属性を置くべき望むスコープ(スキーマ全体か一つのスキーマ)に依存すると思います。しかし、私はここでしか推測していない。 Gedit(私の通常のGtkボイラープレートコードの盗み出したソース)は、スキーマ要素にそれを置きます。https://github.com/GNOME/gedit/blob/master/data/org.gnome.gedit.gschema.xml.inを参照してください。 –

+0

いくつかのクイックテストの後、 "schemalist"がそうするようですが、gettextに "default"タグを除いてenum nickを認識させることはできません。ああ、私の翻訳者が満足してハックする方法を見つけたので、GSchemaのサポートはうまくいくだろうが、それはenumニックスのためではないと思う。 –

関連する問題