According to apple guidelines, is it recommended to change the language in the app (from Arabic to English and vs) with restart or without?
Localization in iOS apps
Apple recommends that apps do NOT have their own in-app settings for changing languages.
It's easier to support multiple languages if you can rely on iOS restarting your app when the user changes their language. Since iOS 13 the user can configure which language they would like to use on an app-by-app basis. I think the user has to add at least one extra language in Settings->General->Language & Region for the app-specific language settings to become visible.
See https://developer.apple.com/news/?id=u2cfuj88 for more details.
It's easier to support multiple languages if you can rely on iOS restarting your app when the user changes their language. Since iOS 13 the user can configure which language they would like to use on an app-by-app basis. I think the user has to add at least one extra language in Settings->General->Language & Region for the app-specific language settings to become visible.
See https://developer.apple.com/news/?id=u2cfuj88 for more details.
Would you have a specific need not doing with restart ?
In general your application should use the system-provided language selection rather than provide its own mechanism.
To provide the best user experience, your application should also implement support for the standard UI state saving and restoration mechanisms. That way if a user switches away from your application to Settings, changes their preferred language and region for your application, and switches back to your application, the experience will be seamless.
To provide the best user experience, your application should also implement support for the standard UI state saving and restoration mechanisms. That way if a user switches away from your application to Settings, changes their preferred language and region for your application, and switches back to your application, the experience will be seamless.