public async Task <List <Task <LocalizationResponse> > > Import([FromBody] LocalizedData localizedData) { string tempLocalizationFolder = Path.Combine(CurrentHostEnvironment.WebRootPath, "Temp", "ExtractedLocalized"); string srcZip = Path.Combine(CurrentHostEnvironment.WebRootPath, "Temp", localizedData.Value); ZipFile.ExtractToDirectory(srcZip, tempLocalizationFolder); List <Task <LocalizationResponse> > localizationResponses = new List <Task <LocalizationResponse> >(); string[] applications = Directory.GetDirectories(tempLocalizationFolder); DirectoryInfo diInfo = new DirectoryInfo(tempLocalizationFolder); DirectoryInfo[] diInfoArr = diInfo.GetDirectories(); foreach (DirectoryInfo DirInfo in diInfoArr) { string applicationDir = DirInfo.FullName; string appName = DirInfo.Name; string[] files = Directory.GetFiles(applicationDir, "*", SearchOption.AllDirectories); foreach (string userFile in files) { string filedir = Path.GetDirectoryName(userFile).Replace(applicationDir, String.Empty); string systemfile = CurrentHostEnvironment.WebRootPath + filedir + "\\" + Path.GetFileNameWithoutExtension(filedir) + ".json"; LocalizationResponse localizationResponse = new LocalizationResponse { FilePath = filedir }; localizationResponses.Add(JsonCompare(userFile, systemfile, localizationResponse)); } await Task.WhenAll(localizationResponses); } //NoError_ return(localizationResponses); }
public async Task <string> SaveJsonData([FromBody] LocalizedData LocalizedData) { string filePath = CurrentHostEnvironment.WebRootPath + LocalizedData.FilePath + "." + LocalizedData.Culture + ".json"; using (StreamWriter streamWriter = new StreamWriter(filePath)) { await streamWriter.WriteLineAsync(LocalizedData.Value); } return("1"); }
public async Task <string> Export([FromBody] LocalizedData localizedData) { LocalizationManager objLocalization = new LocalizationManager(); IList <LocalizedData> localizedDatas = await objLocalization.GetFilePathByApplicationID(localizedData.Value); string applicationName = string.Empty; string appFolder = string.Empty; string zipPath = string.Empty; string tempFolder = Path.Combine(CurrentHostEnvironment.WebRootPath, "Temp"); if (localizedDatas != null) { string localizationfolder = Path.Combine(tempFolder, "localization"); if (Directory.Exists(tempFolder)) { Directory.Delete(tempFolder, true); } Directory.CreateDirectory(localizationfolder); foreach (LocalizedData localizedFile in localizedDatas) { if (applicationName != localizedFile.Value) { appFolder = Path.Combine(localizationfolder, localizedFile.Value); if (!Directory.Exists(appFolder)) { Directory.CreateDirectory(appFolder); } } string destfile = appFolder + localizedFile.FilePath + ".json"; string srcFile = CurrentHostEnvironment.WebRootPath + localizedFile.FilePath + ".json"; string destFolder = Path.GetDirectoryName(destfile); if (!Directory.Exists(destFolder)) { Directory.CreateDirectory(destFolder); } if (System.IO.File.Exists(srcFile)) { System.IO.File.Copy(srcFile, destfile); } } zipPath = tempFolder + "\\languages.zip"; ZipFile.CreateFromDirectory(localizationfolder, zipPath); //RedirectToAction(nameof(DownloadZip), nameof(LocalizationController), new { zipPath = zipPath }); } return("language"); //FileDownloadHelper fileDownloadHelper = new FileDownloadHelper(_httpContextAccessor); //fileDownloadHelper.Download(MimeTypes.Zip, "localizations.zip", zipPath); }
override protected LocalizationData CreateData(Dictionary <string, object> dict, DatabaseObject db, LanguageCode language) // TODO: Deprecate "language" { var data = new LocalizationData(); data.Id = ToString(dict["Id"]); data.AudioKey = ToString(dict["audio_key"]); data._LocalizedDatas = new LocalizedData[Enum.GetNames(typeof(LanguageCode)).Length]; foreach (LanguageCode lang in Enum.GetValues(typeof(LanguageCode))) { if (lang == LanguageCode.COUNT || lang == LanguageCode.NONE || lang == LanguageCode.arabic_legacy) { continue; } var langData = new LocalizedData(); Debug.Log(lang); langData.Text = ToString(dict[lang.ToString().ToLower()]); if (dict.ContainsKey(lang.ToString().ToLower() + "_F")) { langData.TextF = ToString(dict[lang.ToString().ToLower() + "_F"]); } data._LocalizedDatas[(int)lang - 1] = langData; } //var engData = new LocalizedData(); //engData.Text = ToString(dict["english"]); //var spanishData = new LocalizedData(); //spanishData.Text = ToString(dict["spanish"]); //var arabicData = new LocalizedData(); //arabicData.Text = ToString(dict["arabic"]); //arabicData.TextF = ToString(dict["arabic_F"]); //var itaData = new LocalizedData(); //itaData.Text = ToString(dict["italian"]); //data._LocalizedDatas = new[] { engData, arabicData, spanishData, itaData }; return(data); }