private File GetFileContainer(IParagraphUnit paragraphUnit) { var contextType = GetContextType(paragraphUnit); var file = Xliff.Files[Xliff.Files.Count - 1]; if (contextType != null) { if (contextType != "Recommended") { var alternativeFile = Xliff.Files.FirstOrDefault(a => a.Original == contextType); if (alternativeFile != null) { file = alternativeFile; } else { file = new File { Original = contextType, SourceLanguage = SourceLanguage.Name, TargetLanguage = TargetLanguage.Name, DataType = "xml" }; Xliff.Files.Add(file); } } else { file.Original = "Recommended"; } } return(file); }
public override void SetFileProperties(IFileProperties fileInfo) { _fileProperties = fileInfo; var file = new File { SourceLanguage = SourceLanguage.Name, TargetLanguage = TargetLanguage.Name }; file.Original = fileInfo.FileConversionProperties.OriginalFilePath; file.DataType = fileInfo.FileConversionProperties.FileTypeDefinitionId.Id; Xliff.Files.Add(file); CreateDummyOutputFiles(fileInfo); }
private void UpdateContexts(File file, IParagraphUnit paragraphUnit, TransUnit transUnit) { if (paragraphUnit.Properties.Contexts?.Contexts != null) { foreach (var context in paragraphUnit.Properties.Contexts.Contexts) { var existingContext = file.Header.Contexts.FirstOrDefault(a => string.Compare(a.ContextType, context.ContextType, StringComparison.CurrentCultureIgnoreCase) == 0 && string.Compare(a.DisplayCode, context.DisplayCode, StringComparison.CurrentCultureIgnoreCase) == 0 && string.Compare(a.DisplayName, context.DisplayName, StringComparison.CurrentCultureIgnoreCase) == 0 && string.Compare(a.Description, context.Description, StringComparison.CurrentCultureIgnoreCase) == 0); if (existingContext != null) { transUnit.Contexts.Add(existingContext); } else { _contextIndex++; var newContext = new Context { Id = _contextIndex.ToString(), ContextType = context.ContextType, Description = context.Description, DisplayCode = context.DisplayCode, DisplayName = context.DisplayName }; if (context.MetaData != null) { foreach (var metaData in context.MetaData) { newContext.MetaData.Add(metaData.Key, metaData.Value); } } transUnit.Contexts.Add(newContext); file.Header.Contexts.Add(newContext); } } } }