首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Swift中使用带变量的NSLocalizedString函数?

如何在Swift中使用带变量的NSLocalizedString函数?
EN

Stack Overflow用户
提问于 2014-10-09 19:45:48
回答 6查看 57.4K关注 0票数 94

我正在尝试使用NSLocalizedString本地化我的应用程序。当我导入XLIFF文件时,大多数工作都很出色,但有些却不是这样,并且一些字符串没有本地化。我注意到这个问题是因为NSLocalizedString内部包含了一些变量,比如:

代码语言:javascript
复制
NSLocalizedString(" - \(count) Notifica", comment: "sottotitolo prescrizione per le notifiche al singolare")

代码语言:javascript
复制
NSLocalizedString("Notifica per \(medicina!) della prescrizione \(prescription!)\nMemo: \(memoTextView.text)", comment: "Messaggio della Local Notification")

也许这不是这类东西的正确语法。有人能解释一下如何在Swift中做到这一点吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-10-09 20:00:50

您可以在NSLocalizedString中使用sprintf格式参数,因此您的示例如下所示:

代码语言:javascript
复制
let myString = String(format: NSLocalizedString(" - %d Notifica", comment: "sottotitolo prescrizione per le notifiche al singolare"), count)
票数 151
EN

Stack Overflow用户

发布于 2015-06-29 05:29:21

在WWDC2014“使用Xcode6本地化”的会话#412中,在Swift中实现这一点的正确方法如下:

代码语言:javascript
复制
String.localizedStringWithFormat(
    NSLocalizedString(" - %d Notifica",
    comment: "sottotitolo prescrizione per le notifiche al singolare"),
    count)
票数 101
EN

Stack Overflow用户

发布于 2017-06-28 14:57:21

我遵循了创建字符串扩展的方法,因为我有许多字符串要本地化。

代码语言:javascript
复制
extension String {
    var localized: String {
        return NSLocalizedString(self, comment:"")
    }
}

要在代码中使用它进行本地化,请执行以下操作:

代码语言:javascript
复制
self.descriptionView.text = "Description".localized

对于具有动态变量的字符串,请遵循:

代码语言:javascript
复制
self.entryTimeLabel.text = "\("Doors-open-at".localized) \(event.eventStartTime)"

在字符串文件中声明不同语言的字符串(例如:阿拉伯语和英语)

希望能帮上忙!

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26277626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档