🌐
単位インスタンスのイニシャライザでローカライズ
単位インスタンスは
let l_m = UnitLength.meters
このように単位を指定して作ることができますが、インスタンス作成時にローカライズを反映するものもあります。
let l_j = UnitLength(
forLocale: Locale(identifier: "ja_JP"))
print(l_j) //m
let l_e = UnitLength(
forLocale: Locale(identifier: "en_US"))
print(l_e) //ft
さらに使用状況を指定するイニシャライザもあります。
let l_j_r = UnitLength(
forLocale: Locale(identifier: "ja_JP"),
usage: .road)
print(l_j_r) //km
let l_e_r = UnitLength(
forLocale: Locale(identifier: "en_US"),
usage: .road)
print(l_e_r) //mi
let l_j_f = UnitLength(
forLocale: Locale(identifier: "ja_JP"),
usage: .focalLength)
print(l_j_f) //mm
let l_e_f = UnitLength(
forLocale: Locale(identifier: "en_US"),
usage: .focalLength)
print(l_e_f) //mm
単位システムはいろんなところにローカライズの機能があって混乱しますね。
Discussion