如何获得作为单数名词的计量单位?
How to get a unit of measurement as a singular noun?
我试图在我的应用程序中表示 运行 速度 - 比如说 5 分钟/公里。
对于画外音,我希望将其解读为 每公里五分钟r。
我知道我可以这样跑 公里s:
let measurementFormatter = MeasurementFormatter()
measurementFormatter.unitStyle = .long
measurementFormatter.string(from: UnitLength.kilometers)
但是否有可能获得单数形式(并利用已经本地化的单位)?
编辑
看起来可以创建一个在 minutes/km 或 minutes/mile 中输出的自定义 MeasurementFormatter。有关如何执行此操作的示例,请参阅 https://www.raywenderlich.com/553-how-to-make-an-app-like-runkeeper-part-1 上的教程。
看起来唯一的本机方法是创建一个显式测量并手动删除单数单位(“1”):
let measurementFormatter = MeasurementFormatter()
measurementFormatter.unitStyle = .long
measurementFormatter.unitOptions = .providedUnit
let length: Measurement<UnitLength> = .init(value: 1, unit: .kilometers)
let str = measurementFormatter.string(from: length)
.replacingOccurrences(of: "1", with: "")
.replacingOccurrences(of: " ", with: " ")
.trimmingCharacters(in: .whitespaces)
我不是语言专家,但我希望这适用于大多数(如果不是全部)语言。
我试图在我的应用程序中表示 运行 速度 - 比如说 5 分钟/公里。
对于画外音,我希望将其解读为 每公里五分钟r。
我知道我可以这样跑 公里s:
let measurementFormatter = MeasurementFormatter()
measurementFormatter.unitStyle = .long
measurementFormatter.string(from: UnitLength.kilometers)
但是否有可能获得单数形式(并利用已经本地化的单位)?
编辑
看起来可以创建一个在 minutes/km 或 minutes/mile 中输出的自定义 MeasurementFormatter。有关如何执行此操作的示例,请参阅 https://www.raywenderlich.com/553-how-to-make-an-app-like-runkeeper-part-1 上的教程。
看起来唯一的本机方法是创建一个显式测量并手动删除单数单位(“1”):
let measurementFormatter = MeasurementFormatter()
measurementFormatter.unitStyle = .long
measurementFormatter.unitOptions = .providedUnit
let length: Measurement<UnitLength> = .init(value: 1, unit: .kilometers)
let str = measurementFormatter.string(from: length)
.replacingOccurrences(of: "1", with: "")
.replacingOccurrences(of: " ", with: " ")
.trimmingCharacters(in: .whitespaces)
我不是语言专家,但我希望这适用于大多数(如果不是全部)语言。