Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public static Translation Load(IConfigs logicSettings)
 {
     return(Load(logicSettings, new Translation()));
 }
Ejemplo n.º 4
0
 public PBOSharpWrapper(Interface.IConfigs configs)
 {
     _configs = configs;
 }
Ejemplo n.º 5
0
 public PBOWriterWrapper(Stream stream, PBOSharpWrapper client, IConfigs configs)
     : base(stream, client)
 {
     _client  = client;
     _configs = configs;
 }