Ejemplo n.º 1
0
        private void SaveLanguageFiles()
        {
            var languageStructs = new Dictionary <Language, LanguageStruct>();

            foreach (var value in languages)
            {
                var ls = new LanguageStruct()
                {
                    languageFile = new List <KeyValuePair <string, string> >()
                };

                languageStructs[value] = ls;
            }

            foreach (var languageStructPair in languageStructs)
            {
                foreach (var key in keys)
                {
                    languageStructPair.Value.languageFile.Add(new KeyValuePair <string, string>(key, mainDictionary[new KeyValuePair <string, Language>(key, languageStructPair.Key)]));
                }

                JsonSerializerSettings serializeSetting = new JsonSerializerSettings()
                {
                    Formatting = Formatting.Indented
                };
                var fileToSave = JsonConvert.SerializeObject(languageStructPair.Value, serializeSetting);
                File.WriteAllText("Assets/Resources/Languages/" + languageStructPair.Key + ".json", fileToSave, Encoding.UTF8);
            }

            AssetDatabase.Refresh();
        }
Ejemplo n.º 2
0
        public override async Task OnNavigatedToAsync(NavigationContext navigationContext)
        {
            foreach (var item in context.Configuration.Localization.Sources)
            {
                Sources.Add(item.Name);
            }

            foreach (var item in context.Configuration.Localization.Languages)
            {
                BaseLanguages.Add(new LanguageStruct(item.Icon, item.Name, item.DisplayName));
                TargetLanguages.Add(new LanguageStruct(item.Icon, item.Name, item.DisplayName));
            }

            if (navigationContext.Parameters.ContainsKey("Name"))
            {
                var Name = navigationContext.Parameters.GetValue <string>("Name");

                var lang = context.Configuration.Localization.Languages.FirstOrDefault(t => t.Name.Equals(Name));
                if (lang != null)
                {
                    SelectedBaseLanguage   = new LanguageStruct(lang.Icon, lang.Name, lang.DisplayName);
                    SelectedTargetLanguage = new LanguageStruct(lang.Icon, lang.Name, lang.DisplayName);
                }

                input.TargetValueFilter = "ALL";
                input.SourceName        = Sources.Last();
            }

            await RefreshAsync();
        }
Ejemplo n.º 3
0
    public void LoadLocalization()
    {
        if (IsLoaded)
        {
            return;
        }

        Dictionary <string, object> genericLocalizationObject = null;

        if (File.Exists(Application.streamingAssetsPath + "/" + localizationFile))
        {
            try
            {
                genericLocalizationObject = Json.Deserialize(File.ReadAllText(Application.streamingAssetsPath + "/" + localizationFile)) as Dictionary <string, object>;
            }
            catch (IOException e)
            {
                Debug.LogError(e.Message);
                Debug.LogWarning("Can't open localization file at " + Application.streamingAssetsPath + "/" + localizationFile);
            }
        }

        if (genericLocalizationObject != null)
        {
            loadedLocalization      = new LanguageStruct();
            loadedLocalization.i18n = new Dictionary <string, TermStruct>();

            var termsData = genericLocalizationObject["localization"] as Dictionary <string, object>;
            foreach (var item in termsData)
            {
                TermStruct term = new TermStruct();
                term.terms = new Dictionary <string, string>();

                var translationData = item.Value as Dictionary <string, object>;
                foreach (var t in translationData)
                {
                    term.terms.Add(t.Key, t.Value as string);
                }

                loadedLocalization.i18n.Add(item.Key, term);
            }

            // Default language
            defaultLang = genericLocalizationObject["default"] as string;
            currentLang = defaultLang;

            isLoaded = true;

            // Translate text in list of localized text at start
            SetLang(currentLang);
        }
    }
Ejemplo n.º 4
0
        private int CheckContainLabel(LanguageStruct container)
        {
            int result = 0;

            for (int i = 0; i < container.Categories.Length; i++)
            {
                for (int j = 0; j < container.Categories[i].Labels.Length; j++)
                {
                    result++;
                }
            }
            return(result);
        }
Ejemplo n.º 5
0
        public override void OnDialogOpened(IDialogParameters parameters)
        {
            if (parameters.ContainsKey("Value"))
            {
                SourceName     = parameters.GetValue <string>("SourceName");
                BaseLanguage   = parameters.GetValue <LanguageStruct>("Base");
                TargetLanguage = parameters.GetValue <LanguageStruct>("Target");

                var lang = parameters.GetValue <LanguageTextListDto>("Value");

                Key         = lang.Key;
                BaseValue   = lang.BaseValue;
                TargetValue = lang.TargetValue;
            }
        }
Ejemplo n.º 6
0
        private LanguageStruct[] StartReadingLan()
        {
            string[] langaugeDataPaths   = Directory.GetFiles(Path.Combine(epath._ApplicationConfigPath(), EPath.ApplicationData, EPath.ApplicationLanguage));
            List <LanguageStruct> result = new List <LanguageStruct>();

            foreach (string p in langaugeDataPaths)
            {
                LanguageStruct local = new LanguageStruct();
                try
                {
                    local = JsonConvert.DeserializeObject <LanguageStruct>(File.ReadAllText(p));
                    result.Add(local);
                }
                catch (IOException)
                {
                    File.Delete(p);
                }
            }
            return(result.ToArray());
        }