1. ホーム
  2. アンドロイド

[解決済み】strings.xmlのパラメータは可能か?重複

2022-03-28 15:17:19

質問

Androidアプリで、国際化対応の文字列を実装しようと思っています。文法や文の組み立て方について、言語ごとに問題があります。

例えば

<ブロッククオート

5分前" - 英語

5分前; - ドイツ語

strings.xmlで以下のようなことは可能でしょうか?

<string name="timeFormat">{0} minutes ago</string>

そして、次のようなマジックがあります。

getString(R.id.timeFormat, dynamicTimeValue)

この動作により、語順が異なる他の問題も解決されるでしょう。

どのように解決するのですか?

そうです、文字列を標準の String.format() の方法で行います。

メソッドを参照してください。 Context.getString(int, Object...) アンドロイド または ジャワ Formatter のドキュメントをご覧ください。

あなたの場合、文字列の定義は次のようになります。

<string name="timeFormat">%1$d minutes ago</string>