/
crypt
/
NumbersPlay
Обзор
Документация
Войти
/
crypt
/
NumbersPlay
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Assets/PluginYourGames/Modules/Localization/Scripts/Lang_yg.cs
76 строк
2 KB
Crypt
start
16 ноя 2025, 14:28
16 ноя 2025, 14:28
1482007
Код
Авторство
О чём код?
using System; using YG.Utils; namespace YG { public partial class YG2 { private const string LANG_KEY = "langYG"; public static string lang = "ru"; public static Action<string> onSwitchLang; public static Action<string> onCorrectLang; [InitYG_1] private static void InitLang() { #if UNITY_EDITOR onSwitchLang = null; // Reset static for ESC #endif if (infoYG.Localization.setLanguageMod == InfoYG.LocalizationSettings.SetLangMod.DoNotChangeLanguageStartup) { return; } if (!LocalStorage.HasKey(LANG_KEY)) { GetLanguage(); } else { if (infoYG.Localization.setLanguageMod == InfoYG.LocalizationSettings.SetLangMod.EveryGameLaunch) { GetLanguage(); } else if (infoYG.Localization.setLanguageMod == InfoYG.LocalizationSettings.SetLangMod.FirstLaunchOnly) { lang = LocalStorage.GetKey(LANG_KEY); } } } [StartYG] private static void LangStart() { onSwitchLang?.Invoke(lang); } public static void GetLanguage() { #if !UNITY_EDITOR lang = iPlatform.GetLanguage(); #else string langSim = infoYG.Simulation.language; if (langSim != null && langSim != "") lang = langSim; #endif lang = lang.ToLower(); if (lang == "us" || lang == "as" || lang == "ai") lang = "en"; onCorrectLang?.Invoke(lang); if (isSDKEnabled) onSwitchLang?.Invoke(lang); } public static void SwitchLanguage(string language) { lang = language; onSwitchLang?.Invoke(language); LocalStorage.SetKey(LANG_KEY, lang); } } }