多语言复数本地化

时间:2018-04-13 19:55:56

标签: ios xcode localization nslocalizedstring

我在我的iOS应用程序中实现了本地化,我遇到了复数形式。

我的应用程序中有两种语言。

当我创建 Localizable.strings 文件时,他们会为他们分配语言,因此每个文件都有一种语言。

现在,当我创建 Localizable.stringsdict 以便我可以处理复数形式时,它似乎没有分配给任何语言,所以我不知道如何在这里处理不同的语言

有人可以帮我理解这个吗?

被修改: 我不确定我是否可以提供任何有用的代码,但让我们说 Localizable.stringsdict 文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>NumberOfMessages</key>
    <dict>
        <key>NSStringLocalizedFormatKey</key>
        <string>%#@value@</string>
        <key>value</key>
        <dict>
            <key>NSStringFormatSpecTypeKey</key>
            <string>NSStringPluralRuleType</string>
            <key>NSStringFormatValueTypeKey</key>
            <string>d</string>
            <key>one</key>
            <string>You have a new message.</string>
            <key>other</key>
            <string>You have %d new messages.</string>
        </dict>
    </dict>
</dict>
</plist>

我应该在哪里翻译另一种语言?

1 个答案:

答案 0 :(得分:2)

在Xcode导航器中选择文件并打开右侧窗格:

enter image description here

单击底部的“Localize ...”按钮以本地化此文件。

如果您之前已经在本项目中进行了本地化,则可以选择将其添加到项目中的每种语言中。如果您尚未本地化,请转到主项目设置并添加本地化:

enter image description here

当您对文件进行本地化时,副本将被放入项目的各个*.lproj目录中。