gpt4 book ai didi

swift - 如何在 Swift 中翻译/本地化变量

转载 作者:行者123 更新时间:2023-12-05 03:40:22 24 4
gpt4 key购买 nike

我有这段代码并且我已经成功地设置了本地化。我创建了一个 Categories.strings 文件并将其本地化,但类别的翻译不起作用。

代码:

struct CategoriesViewRow: View {
var selection: SimpleJson

var body: some View {
HStack {
Image(selection.name)
.resizable()
.scaledToFit()
.frame(width: 20, height: 20)
Text(String(localized: "\(selection.name)", table: "Categories", comment: "Category"))
Spacer()
}
}
}

这个 var selection: SimpleJson 是一个看起来像这样的结构:

struct SimpleJson: Hashable, Codable, Identifiable {
var id: Int

var name: String
var description: String?
var hidden: Bool?
}

它包含一些从文件加载的静态类别。它们需要从文件中加载,我总是设法用 Objective-C 翻译它们。但现在在 Swift 中,我似乎遗漏了什么。

正常的 SwiftUI Text() 代码被正确翻译,但我的其他代码出现了问题。

我目前使用的是 Xcode Beta 13.0,但我很确定这不是问题所在。我宁愿认为我做错了什么,但我似乎无法为我的用例找到一些好的信息。

有人可以帮帮我吗?

提前致谢

最佳答案

您可以将此函数添加到字符串扩展,然后对字符串变量调用 .localize():

extension String {
/**
So that when you return a String it also adjusts the language
- Parameter comment: To describe specific meaning if it's unclear (e.g.: bear could mean the animal or the verb to bear)
- Returns: The localized String duh
- Usage: str.localize()
- Further reading: https://www.hackingwithswift.com/example-code/uikit/how-to-localize-your-ios-app
*/
func localize(comment: String = "") -> String {
NSLocalizedString(self, comment: comment)
}
}

关于swift - 如何在 Swift 中翻译/本地化变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68147044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com