如何获得作为单数名词的计量单位?

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)

我不是语言专家,但我希望这适用于大多数(如果不是全部)语言。