예제 #1
0
        public void SaveTranslations()
        {
            OrderTranslations();
            //var fileData = JsonConvert.SerializeObject(_translationFile[_cultureCode], Formatting.Indented);

            lock (_lockObject)
            {
                //using (var resFile = File.Create(_resourceFilePath))
                //{
                //    var data = Encoding.UTF8.GetBytes(fileData);
                //    resFile.Write(data, 0, data.Length);
                //    resFile.Flush();
                //}

                foreach (var item in SupportedCultures.Cultures)
                {
                    if (item.TwoLetterISOLanguageName == "en")
                    {
                        continue;
                    }

                    var file = TranslationFile.GetTranslationFilePath(item.TwoLetterISOLanguageName);
                    NccFileHelper.WriteObject(file.FullName, _translationFile[item.TwoLetterISOLanguageName]);
                }
            }
        }
예제 #2
0
        public static void LoadTranslationFile(string cultureCode)
        {
            if (cultureCode == "en")
            {
                return;
            }

            FileInfo translationFile = TranslationFile.GetTranslationFilePath(cultureCode);

            if (File.Exists(translationFile.FullName) == false)
            {
                if (Directory.Exists(translationFile.DirectoryName) == false)
                {
                    Directory.CreateDirectory(translationFile.DirectoryName);
                }
                File.Create(translationFile.FullName).Dispose();
            }

            var translationFileData = NccFileHelper.ReadAllText(translationFile.FullName);

            if (string.IsNullOrWhiteSpace(translationFileData))
            {
                var assembly = typeof(SharedResource).GetTypeInfo().Assembly;
                using (Stream resource = assembly.GetManifestResourceStream("DamaCoreCMS.Framework.Resources.SharedResource.lang"))
                {
                    var sr = new StreamReader(resource);
                    translationFileData = sr.ReadToEndAsync().Result;
                    NccFileHelper.WriteAllText(translationFile.FullName, translationFileData);
                }
            }

            _translationFile[cultureCode] = JsonConvert.DeserializeObject <TranslationFileData>(translationFileData);
        }