SwiftUIで端末の言語設定を取得するためには、Localeクラスを使用します。
以下は、SwiftUIで端末の言語設定を取得する方法の例です。
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello, World!")
.onAppear {
let preferredLanguage = Locale.preferredLanguages.first // 言語設定の取得
print("Preferred Language: \(preferredLanguage ?? "Unknown")") // 結果例:ja-JP
}
}
}
@main
struct YourApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
preferredLanguages は、ユーザーが設定した言語のリストを返すので、その最初の要素が主要な言語となります。
目次
言語コードのみ取得したい場合
preferredLanguagesから取得した文字列を解析して言語コード部分だけを抽出する必要があります。
やり方はLocaleクラスのlanguageCodeプロパティを使います。
Copy code
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello, World!")
.onAppear {
if let preferredLanguage = Locale.preferredLanguages.first {
let languageCode = Locale(identifier: preferredLanguage).languageCode // 言語コード取得
print("Language Code: \(languageCode ?? "Unknown")") // 結果例:ja
}
}
}
}
@main
struct YourApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
Comment