Swift(iOS)中带占位符和多个支持的动态字符串

Swift(iOS)中带占位符和多个支持的动态字符串,第1张

概述我是 Swift和iOS编程的新手,我在Swift中遇到了一个关于带有占位符和多元支持的动态字符串的问题 例如,如果您有一个多语言应用程序,并且不想硬编码字符串和标签和消息等… 我可以在Android中轻松地使用以下代码在不同文件夹中的XML文件中执行此 *** 作,其中android设备将根据当前区域设置查找字符串: <string name="name">You have %2$d new messa 我是 Swift和iOS编程的新手,我在Swift中遇到了一个关于带有占位符和多元支持的动态字符串的问题

例如,如果您有一个多语言应用程序,并且不想硬编码字符串和标签和消息等…

我可以在Android中轻松地使用以下代码在不同文件夹中的XML文件中执行此 *** 作,其中androID设备将根据当前区域设置查找字符串:

<string name="name">You have %2$d new messages.</string><plurals name="name">    <item quantity="one">You have a new message.</item>    <item quantity="other">You have %2$d new messages.</item></plurals>

借助上述XML和以下Java:

res.getString(R.string.name,mailCount)res.getQuantityString(R.plurals.name,mailCount,mailCount)

这项工作是在AndroID中完成的,我正在寻找与Swift(iOS)相对应的解决方案

1:设置项目本地化,如截图所示,项目有英语和俄语.

2:创建一个名为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>

3:为每种语言本地化以上文件,请参见截图,该文件已本地化为英语和俄语语言:

用法:

String(format: NSLocalizedString("NumberOfMessages",comment: ""),1)

输出:您有一条新消息.

String(format: NSLocalizedString("NumberOfMessages",2)

输出:您有2条新消息.

多个规则:在XML代码中,注意< key> one< / key>和< key>其他< / key>,根据语言和要求,您可以使用零,一,二,几,多,其他.

有关特定于语言的复数规则的更多信息,请使用以下链接:http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html

总结

以上是内存溢出为你收集整理的Swift(iOS)中带占位符和多个支持的动态字符串全部内容,希望文章能够帮你解决Swift(iOS)中带占位符和多个支持的动态字符串所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1044764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存