gpt4 book ai didi

ios - Swift 中特定于语言的日期本地化

转载 作者:行者123 更新时间:2023-11-30 12:08:56 28 4
gpt4 key购买 nike

我正在使用这段代码将日期本地化为 Swift 中的字符串:

if elapsedTime > 3600 { 
let hourString = NSLocalizedString("hour ago", tableName: "v1.0.0", bundle: Bundle.main, value: "hour ago", comment: "")
let hoursString = NSLocalizedString("hours ago", tableName: "v1.0.0", bundle: Bundle.main, value: "hours ago", comment: "")
let hours = Int(elapsedTime/3600)
return "\(hours) " + (hours > 1 ? hoursString : hourString)
}

其中 elapsedTime 是以秒为单位的值。英文本地化结果为

例如,

6 小时前。我需要修改它以添加特定于语言的本地化,例如在法语中,它不应该采用 [N] 小时前 的格式,而是 il ya [N] heurs 的格式。有没有一种方法可以使其自动化,避免为它使用的不同语言添加特定的前缀?提前致谢!

最佳答案

基于@Larme 评论,工作版本如下所示:

if elapsedTime > 3600 { 
let hours = Int(elapsedTime / 3600)
let hourString = NSLocalizedString("hour ago", tableName: "v1.0.0", bundle: Bundle.main, value: "hour ago", comment: "")
let hoursString = String(format: NSLocalizedString("hours ago", tableName: "v1.0.0", bundle: Bundle.main, value: "\(hours) hours ago", comment: ""),
arguments: [hours])
return (hours > 1 ? hoursString : hourString)
}

对 v1.0.0.strings(French) 所做的更改是

"hours ago" = "il y a %d heures";

关于ios - Swift 中特定于语言的日期本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46317619/

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