プロパティ値で発生している次の MessageFormat の問題を報告します。

不明なフォーマットタイプ

MessageFormat は以下のフォーマットタイプのみをサポートします。

その他のフォーマットタイプは報告されます。

引用符が対になっていない


  property.key=Shouldn't happen: {0}

シングルクォートはプロパティの末尾までのエスケープとして解釈され、結果の文字列に表示されません。 多くの場合、これは意図的ではありません。 シングルクォートを結果の文字列に表示する必要がある場合、プロパティ内で重複させる必要があります。

波括弧が一致しない

各プレースホルダーには右波括弧が必要です。

引用符が多すぎる

場合によっては、結果の文字列に 1 つの引用符のみを表示する必要があります (例: it's)。 結果の文字列内で 2 つ以上の引用符が続けて記述されている場合は報告されます。

ネストした ChoiceFormat の下限が不正である

下限は数値であり、昇順に並べ替えられる必要があります。

パラメーターを囲む引用符の数が不正である

java.text.MessageFormat パターンでは、シングルクォートはエスケープに使用されます。 引用符が見える状態を維持するには、引用符を重複させる必要があります。 たとえば、1 を渡す場合は次のようになります。

choice フォーマットを使用する場合、ネストしたフォーマットはフォーマット文字列そのものとして評価されるため、引用符を 2 回重複させる必要があります。 たとえば、1 を渡す場合は次のようになります。

メモ

プロパティ値は、リテラルテキスト {0}{0,{1} または {1, が含まれる場合にのみ検証されます。 この検証は、これらのプロパティ値が MessageFormat パターンとして実際に使用されていることを確認するために行われます。

2023.2 の新機能です