예제 #1
0
        public void When_RequestingNoEnUSDefaultAndNoErrors_Expect_BaseString()
        {
            LocalizationMap tmap = getSample(false, false, false);

            Assert.AreEqual(EN_US_STRING, tmap.translate(EN_US_ONLY_BASE_STRING, LOCALE_EN_US));
            Assert.AreEqual(EN_US_ONLY_BASE_STRING, tmap.translate(EN_US_ONLY_BASE_STRING, LOCALE_ES_ES));
        }
예제 #2
0
        private void initialize(LocalizationMap tmap)
        {
            tmap.addLocalization(
                PRESENT_1_BASE_STRING,
                new string[] { LOCALE_EN_US, LOCALE_ES_ES },
                new string[] { PRESENT_1_EN_US_STRING, PRESENT_1_ES_ES_STRING }
                );

            tmap.addLocalization(
                PRESENT_2_BASE_STRING,
                new string[] { LOCALE_EN_US, LOCALE_ES_ES },
                new string[] { PRESENT_2_EN_US_STRING, PRESENT_2_ES_ES_STRING }
                );

            tmap.addLocalization(
                EN_US_ONLY_BASE_STRING,
                new string[] { LOCALE_EN_US },
                new string[] { EN_US_STRING }
                );

            tmap.addLocalization(
                ES_ES_ONLY_BASE_STRING,
                new string[] { LOCALE_ES_ES },
                new string[] { ES_ES_STRING }
                );
        }
예제 #3
0
        public void initialize(LocalizationMap pLocalizationMap, string pLocale = "", TextAsset stringTranslations = null)
        {
            if (pLocale != "" && pLocale != null)
            {
                mLocale = pLocale;
            }

            mLocalizationMap = pLocalizationMap;

            Debug.Log("The locale for this session will be: " + locale);

            mBaseStrings = new Dictionary <ILocalizable, string>();
            fetchLocalizations(stringTranslations);
            fetchLocalizableObjects();
        }
예제 #4
0
        public Localizer(string pLocale = "", OverrideLocalesConfiguration overrideLocalesConfiguration = OverrideLocalesConfiguration.Unchanged, TextAsset stringTranslations = null)
        {
            bool overrideable = false;

#if UNITY_EDITOR
            overrideable = true;
#endif

            LocalizationMap localizationMap;

            if (overrideable && overrideLocalesConfiguration != OverrideLocalesConfiguration.Unchanged)
            {
                localizationMap = new LocalizationMap((LocalizationMap.MissingLocalesConfiguration)overrideLocalesConfiguration);
            }
            else
            {
                localizationMap = new LocalizationMap();
            }

            initialize(new LocalizationMap(), pLocale, stringTranslations);
        }
예제 #5
0
        private LocalizationMap getSample(bool throwForLocale, bool throwForBase, bool defaultEn)
        {
            LocalizationMap.MissingLocalesConfiguration mlc;
            LocalizationMap tmap;

            if (throwForLocale)
            {
                mlc = LocalizationMap.MissingLocalesConfiguration.ThrowErrorAlways;
            }
            else if (defaultEn)
            {
                mlc = LocalizationMap.MissingLocalesConfiguration.UseDefaultLocale;
            }
            else
            {
                mlc = LocalizationMap.MissingLocalesConfiguration.UseBaseString;
            }

            tmap = new LocalizationMap(mlc, throwForBase);

            initialize(tmap);

            return(tmap);
        }
예제 #6
0
 public Localizer(LocalizationMap pLocalizationMap, string pLocale = "", TextAsset stringTranslations = null)
 {
     initialize(pLocalizationMap, pLocale, stringTranslations);
 }
예제 #7
0
        public void When_RequestingEsECAndNoErrors_Expect_FallbackToEsES()
        {
            LocalizationMap tmap = getSample(false, false, false);

            Assert.AreEqual(ES_ES_STRING, tmap.translate(ES_ES_ONLY_BASE_STRING, LOCALE_ES_EC));
        }