On unity, I2 is working, but on device only english is showing.
I added two languages (English, Korean).
On unity, both Application.systemLanguage and I2.Loc.LocalizationManager.CurrentLanguage were Korean. working good!
But, On device(My device's language is Korean)
Application.systemLanguage was 'Korean'. But, I2.Loc.LocalizationManager.CurrentLanguage was 'English'.
So, There are no translation happen! Everything is english...
What is problem???
Solve it please....
The administrator has disabled public write access.
On unity editor Ok, But On device not working !!
6 months 2 weeks ago #2809
The device language is detected and used as far as you haven't selected any other language.
The first time the game runs, it detects the language, and if you have that language or any of its variants in your I2Languages.prefab, then that will be used (e.g. device is Korean so your game will show Korean).
However, if you manually change the language (e.g. by clicking a SetLanguage button), then that will be remembered, and from that point on, your language will be set to that, even if your device has another language.
My guess is that you was testing your app and switched to English, and so, now it always remembers that option.
I was able to reproduce this issue.
There was a problem with the latest change to how the Languages are detected on Android.
Unity's Application.systemLanguage doesn't return the region (e.g. English (Canada) )
So, on the latest release there is some code to get the language name directly from the device. However, there was an issue that made the not match any of the ones in the LanguageSource.
I just made a proper fix for that in 2.8.4a4 (which can be downloaded from the beta folder).
It requires changes in a couple files, so I advice you to get that beta for this fix.
Said that, this code can also be disabled by falling back to the Application.systemLanguage. You wont get the device region, but it will work fine for now if you can't update at this moment.
just change the GetCurrentDeviceLanguage function in
Assets\I2\Localization\Scripts\Manager\LocalizationManager_SystemLanguage.cs line 14 by this one:
public static string GetCurrentDeviceLanguage()
Hope that helps,
Are you Give I2L 5 stars!
Are you Please lets us know how to improve it!