/// <summary> /// Create a Localization Settings which with no String/Asset database and a TestLocaleProvider. /// The idea here is to avoid loading anything Addressable so our tests can run in isolation and be fast. /// </summary> /// <returns></returns> public static LocalizationSettings CreateEmpty() { var settings = ScriptableObject.CreateInstance <LocalizationSettings>(); settings.SetAssetDatabase(null); settings.SetStringDatabase(null); // Add the test locales var localeProvider = new TestLocaleProvider(); settings.SetAvailableLocales(localeProvider); return(settings); }
public void Setup() { LocalizationSettingsHelper.SaveCurrentSettings(); LocalizationSettings.Instance = ScriptableObject.CreateInstance <LocalizationSettings>(); var localeProvider = new TestLocaleProvider(); m_Selected = Locale.CreateLocale("en"); localeProvider.AddLocale(m_Selected); LocalizationSettings.Instance.SetAvailableLocales(localeProvider); m_FixtureStringDatabase = new FixtureStringDatabase(); LocalizationSettings.StringDatabase = m_FixtureStringDatabase; m_FixtureStringDatabase.NoTranslationFoundMessage = "No translation found for '{key}'"; m_GameObject = new GameObject(nameof(ChangingLocalizedStringUpdatesValues)); m_LocalizeStringEvent = m_GameObject.AddComponent <LocalizeStringEvent>(); // Setup with a default value so we do not start with an empty StringReference. m_LocalizeStringEvent.StringReference.SetReference(kDefaultTableCollectionName, kDefaultEntryName); ClearLastGetTableEntryValues(); }