包括多个dict<>在本地化的plist中

时间:2014-03-28 08:13:15

标签: ios objective-c localizable.strings

我不能包含多个dict-key,如下所示。当我只包含一个键值时,它工作正常。

 <plist version="1.0">
              <dict>
                <key>%d people are in the room</key>
                <dict>
                  <key>NSStringLocalizedFormatKey</key>
                  <string>%#@num_people_in_room@ in the room</string>
                  <key>num_people_in_room</key>
                  <dict>
                    <key>NSStringFormatSpecTypeKey</key>
                    <string>NSStringPluralRuleType</string>
                    <key>NSStringFormatValueTypeKey</key>
                    <string>d</string>
                    <key>zero</key>
                    <string>No one is</string>
                    <key>one</key>
                    <string>A person is</string>
                    <key>two</key>
                    <string>Two people are</string>
                    <key>other</key>
                    <string>%d people are</string>
                  </dict>
                </dict>
              </dict>

      <dict>
        <key>He scored %d runs</key>
        <dict>
          <key>NSStringLocalizedFormatKey</key>
          <string>He scored %#@run_or_runs@</string>
          <key>run_or_runs</key>
          <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>d</string>
            <key>zero</key>
            <string>no run</string>
            <key>one</key>
            <string>%d run</string>
            <key>other</key>
            <string>%d runs</string>
          </dict>
        </dict>
      </dict>
    </plist>

删除其中一个dicts,给我想要的结果。我在这做错了什么? 我如何包含多个字符串键?

1 个答案:

答案 0 :(得分:1)

使用plist时,如果要保存项目列表,则必须将根项目设置为数组,然后数组中的每个项目都是字典。要使用字典作为根,您需要为每个项目提供自己的密钥。您不能只是将任意内容添加到文件中,因为它具有严格定义的格式。

在这种情况下,根应该是具有多个键的字典。每个键都有一个字典作为其值。

从文件的文本编辑角度,删除</dict><dict>,这样就不会完成并启动新词典,只需添加到词根词典。