XLIFFタグを使用して変数をラップするいくつかのGoogleアプリケーションとコードサンプルを見てきました。特に、%1$s
のような記述的ではない形式の引数を置き換える場合、これを行う際に大きな利点がいくつか見られます。XLIFFでAndroid文字列リソースを改善する
残念ながら、XLIFFはADTにうまく統合されていないようです。例えば、次の文字列リソースを取る:
<resources
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"
xmlns:tools="http://schemas.android.com/tools">
<string name="share_with_application">
Share your score of <xliff:g id="score" example="1337">%1$s</xliff:g>
with <xliff:g id="application_name" example="Bluetooth">%2$s</xliff:g>!
</string>
</resources>
を上記の例では、文字列が最初<xliff>
タグの後に切り捨てられます。また、example
属性が使用され、グラフィカルプレビューが表示されます。
ブルートゥースで1337のスコアを共有しよう!
現在、文字列リソースにXLIFFタグを使用するメリットはありますか?
「私はいくつかのGoogleアプリとコードを見てきましたXLIFFタグを使ってサンプルを変数にラップする」 - XLIFFを使用するAOSPアプリケーションを数えずに、いくつかのAndroidプロジェクトの例がある場合は、それを教えてください。 AOSPアプリケーションには、XLIFFを統合する独自のビルドプロセスがあります。 XLIFFの使用は、Android SDKによってサポートされているとは文書化されていません。 – CommonsWare
洞察に感謝します。 SDKディレクトリの 'strings.xml'サンプルは、XLIFF名前空間宣言のみを持ち、実際にはタグを使用していないようです。これらのカスタムビルドプロセスについてもう少し詳しく知ることができますか?彼らはJenkinsのプラグインですか? –
"これらのカスタムビルドプロセスについてさらに理解を深めることができますか?" - これらのアプリは完全なファームウェアビルドの一部として構築されています(たとえば、「ランチ」など)が、ファームウェアの完全なビルドは行っていません。 "彼らはJenkinsのプラグインですか?" - 私はそれを非常に疑う。ファームウェアを構築するのにJenkinsは必要ありません。 – CommonsWare