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(); }
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(); }
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); } }
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); }
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; } }
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()); }