我正在尝试在我的应用程序中添加多语言支持。我是通过用本地化字符串替换所有用户可见字符串来做到这一点的。对于像“Cancel”这样的字符串,这很容易。但我有同样多的字符串插入了信息。困难的部分是每种语言构建句子的方式不同。
例如:如何本地化以下字符串:“请输入发送给您的4位代码(user.PhoneNumber)”
在德语中,我希望字符串看起来像这样:“请输入一个4-Ziffer代码,然后我们给您发一个(用户.电话号码).”
或者用法语说:“输入您要输入的4位密码(用户.电话号码)”
我正在尝试找到一种方法来使用我的本地化文件中的某种变量,如下所示(我知道这是行不通的):
在我的ViewController中:
title.text = "Please enter the 4-digit Code sent to you at %phoneNumber%".localized
在我的可本地化.string中
"Please enter the 4-digit Code sent to you at %phoneNumber%" = "Bitte gebe den 4-Ziffer Code ein, den wir dir an %phoneNumber% gesendet haben"
最好的做法是什么?这一定是人们遇到的一些常见问题。语言是如此的不同!
1条答案
按热度按时间euoag5mw1#
我的本地化文件示例:
“email_error_message”=“链接已发送到%@,请验证”
实际代码实现:
让电子邮件= smth@email.com
让消息= NSLocalizedString(“电子邮件错误消息”,注解:“错误,电子邮件错误”)
let str = String.localizedStringWithFormat(消息,电子邮件)//我们希望将%@替换为电子邮件。
打印(str)
**请注意替换的字符串/char,在上述情况下(电子邮件)将不会本地化。