/// <summary> /// Initializes the RESX. /// </summary> /// <param name="filename">The filename.</param> /// <returns>A status string</returns> public String InitResx(String filename) { _session.TranslationItems = ResXManager.Import(filename); _currentStep = 0; Match match = Regex.Match(filename, @"\.[a-z]{2}(-[A-Z]{2})?\.", RegexOptions.None); String srcLocale = match.ToString().Replace(".", ""); /* assume en-US as default */ if (String.IsNullOrEmpty(srcLocale)) { srcLocale = "en-US"; } _session.SourceLanguageResx = new CultureInfo(srcLocale); if (_session.SourceLanguageTmx == null || _session.SourceLanguageResx.Equals(_session.SourceLanguageTmx)) { return("RESX ok!"); } return(String.Format("Warning: TMX language {0} does not match RESX language {1}", _session.SourceLanguageTmx, _session.SourceLanguageResx)); }
/// <summary> /// Exports the resx file. Should be used with a <see cref="BackgroundWorker"/> /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="DoWorkEventArgs"/> instance containing the event data.</param> public void ExportResX(object sender, DoWorkEventArgs e) { var worker = sender as BackgroundWorker; Debug.Assert(worker != null, "worker != null"); worker.ReportProgress(0); _maxStep = _session.TranslationItems.Count(); _currentStep = 0; ResXManager.Export(_session.TranslationItems, ExportFileName); /* update current TMX file if user wants so */ if (_session.UpdateTmxFile) { foreach (TranslationItem translationItem in _session.TranslationItems) { ++_currentStep; _tmxQueryManager.Update(translationItem.Source, _session.Fuzziness, translationItem.Target); worker.ReportProgress(Progress); } _tmxQueryManager.Save(_tmxFilename); } }