public static void CultureNotFound(IConfigs logicSettings, ref string translationsLanguageCode) { Program.frm.Console.WriteLine( $"[ {logicSettings.TranslationLanguageCode} ] language not found in program", logicSettings.Error); if (!logicSettings.AutoCultureDetect) { Program.frm.Console.WriteLine( $"you can set TRUE 'AutoDetectCulture' in settings.json", logicSettings.Notification); } Thread.Sleep(1000); Program.frm.Console.WriteLine( $"now using default language [ {new Configs().TranslationLanguageCode} ]..", logicSettings.Success); translationsLanguageCode = new Configs().TranslationLanguageCode; Program.frm.Delay(3); }
public static Translation Load(IConfigs logicSettings, Translation translations) { try { //var culture = CultureInfo.CreateSpecificCulture("tr-TR"); //CultureInfo.DefaultThreadCurrentCulture = culture; //Thread.CurrentThread.CurrentCulture = culture; string translationsLanguageCode = string.Empty; try { translationsLanguageCode = new CultureInfo(logicSettings.TranslationLanguageCode).ToString(); } catch (CultureNotFoundException ex) { CultureNotFound(logicSettings, ref translationsLanguageCode); } if (logicSettings.AutoCultureDetect) { var strCulture = Variables.SupportedLanguages .Find(p => p.Name == Thread.CurrentThread.CurrentCulture.Name || p.TwoLetterISOLanguageName == Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName); if (strCulture != null) { translationsLanguageCode = strCulture.Name; Program.frm.Console.WriteLine($"automatic supported culture detected: {strCulture.Name}", logicSettings.Success); } } var input = string.Empty; if ( Variables.SupportedLanguages.FindIndex( p => string.Equals(p.ToString(), translationsLanguageCode, StringComparison.CurrentCultureIgnoreCase)) == -1) { input = GetTranslationFromServer(logicSettings.TranslationLanguageCode); //developer mode if (input == null) { CultureNotFound(logicSettings, ref translationsLanguageCode); } } if (string.IsNullOrEmpty(input)) { input = Resources.ResourceManager.GetString($"translation_{translationsLanguageCode.Replace("-", "_")}"); } var jsonSettings = new JsonSerializerSettings(); jsonSettings.Converters.Add(new StringEnumConverter { CamelCaseText = true }); jsonSettings.ObjectCreationHandling = ObjectCreationHandling.Replace; jsonSettings.DefaultValueHandling = DefaultValueHandling.Populate; translations = JsonConvert.DeserializeObject <Translation>(input, jsonSettings); //TODO make json to fill default values as it won't do it now new Translation()._translationStrings.Where( item => translations._translationStrings.All(a => a.Key != item.Key)) .ToList() .ForEach(translations._translationStrings.Add); } catch (Exception ex) { Program.frm.Console.WriteLine(""); Program.frm.Console.WriteLine($"[ERROR] Issue loading translations: {ex.ToString()}", logicSettings.Error); Program.frm.Delay(7); } return(translations); }
public static Translation Load(IConfigs logicSettings) { return(Load(logicSettings, new Translation())); }
public PBOSharpWrapper(Interface.IConfigs configs) { _configs = configs; }
public PBOWriterWrapper(Stream stream, PBOSharpWrapper client, IConfigs configs) : base(stream, client) { _client = client; _configs = configs; }