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" } |