32

ローカライズされた文字列ファイルに入れた電子メールのテンプレートがあり、その文字列をNSLocalizedStringマクロで読み込んでいます。

一意のキーを使用して、各行を独自の文字列にしたくありません。Objective-C では、人間が読める複数行の文字列を次のように作成できます。

NSString *email = @"Hello %@,\n"
    "\n"
    "Check out %@.\n"
    "\n"
    "Sincerely,\n"
    "\n"
    "%@";

私はそれを .strings ファイルに入れようとしました:

"email" = "Hello %@,\n"
    "\n"
    "Check out %@.\n"
    "\n"
    "Sincerely,\n"
    "\n"
    "%@";

しかし、ビルド時に次のエラーが発生します。

CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary.
email-template.strings: Unexpected character " at line 1
Command /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings failed with exit code 1

次のようにすべてを連結できます。

"email" = "Hello %@,\n\nCheck out %@.\n\nSincerely,\n\n%@";

しかし、特にメールが長くなるにつれて、それを維持するのは面倒です.

ローカライズされた文字列ファイルでこれを行う方法はありますか? 各行の最後にバックスラッシュを追加しようとしましたが、役に立ちませんでした。

4

1 に答える 1

65

新しい行を直接使用してください。

"email" = "Hello %@,

Check out %@.

Sincerely,

%@";
于 2010-06-03T18:20:45.333 に答える