Open1

[SwiftUI]Stringsファイルでパラメータを扱う

spycspyc
  • SwiftUIでStringsファイルに定義したリソースを扱う
"SAMPLE"="サンプル";
struct SampleView: View {
  var body: some View {
    VStack {
      Text("SAMPLE")
        .padding()
    }
  }
}

  • パラメータを渡す場合
"SAMPLE"="サンプル";
"SAMPLE_PARAMETERIZED %@"="%@ のサンプル";
struct SampleView: View {
  private let params = "SwiftUI"
  var body: some View {
    VStack {
      Text("SAMPLE")
        .padding()
      Text("SAMPLE_PARAMETERIZED \(params)")
        .padding()
    }
  }
}

  • 複数のパラメータを渡す場合
"SAMPLE"="サンプル";
"SAMPLE_PARAMETERIZED %@"="%@ のサンプル";
"SAMPLE_TWO_PARAMETERIZED %@ %@"="%@ のサンプル %@";
struct SampleView: View {
  private let param1 = "SwiftUI"
  private let param2 = "その2"
  
  var body: some View {
    VStack {
      Text("SAMPLE")
        .padding()
      Text("SAMPLE_PARAMETERIZED \(param1)")
        .padding()
      Text("SAMPLE_TWO_PARAMETERIZED \(param1) \(param2)")
        .padding()
    }
  }
}

reference: https://stackoverflow.com/questions/62168292/what-s-the-equivalent-to-string-localizedstringwithformat-for-swiftuis-lo