MENU

【SwiftUI】端末の言語設定情報を取得するには?

記事内に商品プロモーションが含まれる場合があります

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()
        }
    }
}

SwiftUIが学べる書籍

Share

Comment

コメントする

目次