プロジェクトのソース コード ファイルからファイルgenstringsを生成するために使用します。.stringsこのプロジェクトは技術的にはカプチーノアプリですが、この質問はファイルを使用するすべてのプロジェクトに等しく当てはまり.stringsます。
ローカライズしたいフォーマット文字列があります: @"%d:%02d %@". 時間値を表示するためのものです。これが OSX/iOS アプリの場合は、組み込みの日時書式を使用しますが、これはカプチーノなので、自分で作成する必要があります。実行するgenstringsと、そのキーに対して次の値が生成されます: "%1$d:%2$d %3$@".
これは、Localizable.stringsファイルに表示されるとおりです。
/* ShortLocalTimeFormat */ "%d:%02d %@" = "%1$d:%2$d %3$@";
このコマンドを実行して:genstrings -o Resources/en.lproj -s CPLocalizedString *.j */*.j
繰り返しますが、CPLocalizedString代わりにとNSLocalizedStringsを使用していることは無視してください。これらの値はカプチーノに適しているためです。結果のフォーマット文字列でinが破棄されることに注意してください。オプションを指定して再度実行すると、文字列がそのまま残ります: 。*.j*.m02%02d-noPositionalParametersgenstrings -o Resources/en.lproj -noPositionalParameters -s CPLocalizedString *.j */*.j
/* ShortLocalTimeFormat */ "%d:%02d %@" = "%d:%02d %@";
これは のバグgenstringsですか、それとも位置パラメータを保持しながらフォーマット文字列でフラグ/幅を使用することはできませんか?