Home > AI > IOS > SwiftUI >

LocalizedStringKey

Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
struct ContentView: View {
 
    @EnvironmentObject var home: HomeGlobal
         
 
     
    var body: some View {
     
        MyTextView(title: "Hello")
         
        MyTextView(title: "To English")
            .onTapGesture {
                home.appLanguage = .english
            }
        MyTextView(title: "To Hindi")
            .onTapGesture {
                home.appLanguage = .hindi
            }
    }
     
}
 
 
 
struct MyTextView: View {
    @EnvironmentObject var home: HomeGlobal
    var title: LocalizedStringKey
     
    var body: some View {
        Text(title, bundle: home.languageBundle)
    }
}
 
class HomeGlobal: ObservableObject {
   // Localization
    @Published var appLanguage: AppLanguageType = .english
    var languageBundle: Bundle? {
        let b = Bundle.main.path(forResource: appLanguage.rawValue, ofType: "lproj")!
        return Bundle(path: b)
    }
}
 
 
enum AppLanguageType: String {
    case english = "en"
    case hindi = "hi"
}

Leave a Reply