Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/RWS/Sdl-Community
Browse files Browse the repository at this point in the history
  • Loading branch information
ealbu committed Jan 11, 2023
2 parents 0949745 + 32c137f commit 7511087
Show file tree
Hide file tree
Showing 51 changed files with 1,383 additions and 225 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,36 @@
using System.Windows.Forms;
using Multilingual.Excel.FileType.FileType.Processors;
using Multilingual.Excel.FileType.Services.Entities;
using Multilingual.Excel.FileType.Services;
using Sdl.Desktop.IntegrationApi;
using Sdl.Desktop.IntegrationApi.Extensions;
using Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi;
using Sdl.FileTypeSupport.Framework.Core.Utilities.NativeApi;
using Sdl.TranslationStudioAutomation.IntegrationApi;

namespace Multilingual.Excel.FileType
{
[ApplicationInitializer]
internal class ApplicationInstance : IApplicationInitializer
{
private DocumentProcessor _documentProcessor;

public void Execute()
{
var editorController = SdlTradosStudio.Application.GetController<EditorController>();

var documentItemFactory = DefaultDocumentItemFactory.CreateInstance();
var propertiesFactory = DefaultPropertiesFactory.CreateInstance();

var entityContext = new EntityContext();
var sdlFrameworkService = new SdlFrameworkService(documentItemFactory, propertiesFactory);
var entityMarkerConversionService = new EntityMarkerConversionService();
var entityService = new EntityService(entityContext, sdlFrameworkService, entityMarkerConversionService);

var segmentBuilder = new SegmentBuilder(entityService);

_documentProcessor = new DocumentProcessor(editorController, segmentBuilder);

// Setup Logger
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ protected override void OnInitializeTask()
{
var settings = Project.GetSettings();

_excelReader = new ExcelReader();
var colorService = new ColorService();
_excelReader = new ExcelReader(colorService);
_excelWriter = new ExcelWriter();

_languageMappingSettings = new LanguageMappingSettings();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
Expand All @@ -23,7 +24,6 @@
using Sdl.ProjectAutomation.Core;
using Sdl.ProjectAutomation.FileBased;
using Sdl.ProjectAutomation.FileBased.Reports.Operations;
using MessageLevel = Sdl.ProjectAutomation.Core.MessageLevel;

namespace Multilingual.Excel.FileType.BatchTasks
{
Expand Down Expand Up @@ -128,7 +128,7 @@ protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileCo
EnsureDocumentSegmented(projectFile);

// TODO remove excess comment containers

//var sdlxliffUpdater = new SdlxliffUpdater(new NormalizeParagraphCommentsProcessor());
//UpdateFile(projectFile, sdlxliffUpdater);

Expand Down Expand Up @@ -243,8 +243,6 @@ private List<IParagraphUnit> AlignParagraphUnits(IReadOnlyList<MultilingualParag
continue;
}



var i = 0;
foreach (var paragraphUnitInfo in originalMultilingualParagraphUnit.ParagraphUnitInfos)
{
Expand All @@ -262,19 +260,41 @@ private List<IParagraphUnit> AlignParagraphUnits(IReadOnlyList<MultilingualParag
//}
i++;


var lockSegments = false;

var multilingualContextInfo = newParagraphUnit.Properties.Contexts?.Contexts?.FirstOrDefault(a => a.ContextType == FiletypeConstants.MultilingualParagraphUnit);
var targetMultilingualContextInfo = updatedParagraphUnitInfo ?? targetMultilingualParagraphUnit?.ParagraphUnitInfos?.FirstOrDefault();
if (targetMultilingualContextInfo != null)
{
// TODO: this should not be needed; instead take it from the individual segment pair properties
if (multilingualContextInfo.MetaDataContainsKey(FiletypeConstants.MultilingualExcelFilterLockSegmentsSource))
{
lockSegments = Convert.ToBoolean(multilingualContextInfo.GetMetaData(FiletypeConstants.MultilingualExcelFilterLockSegmentsSource));
}

if (!lockSegments)
{
lockSegments = targetMultilingualContextInfo.ExcelFilterLockSegments;
}


multilingualContextInfo.SetMetaData(FiletypeConstants.MultilingualExcelCharacterLimitationTarget, targetMultilingualContextInfo.ExcelCharacterLimitation.ToString());
multilingualContextInfo.SetMetaData(FiletypeConstants.MultilingualExcelPixelLimitationTarget, targetMultilingualContextInfo.ExcelPixelLimitation.ToString());
multilingualContextInfo.SetMetaData(FiletypeConstants.MultilingualExcelPixelFontNameTarget, targetMultilingualContextInfo.ExcelPixelFontName);
multilingualContextInfo.SetMetaData(FiletypeConstants.MultilingualExcelPixelFontSizeTarget, targetMultilingualContextInfo.ExcelPixelFontSize.ToString());
multilingualContextInfo.SetMetaData(FiletypeConstants.MultilingualExcelPixelFontSizeTarget, targetMultilingualContextInfo.ExcelPixelFontSize.ToString(CultureInfo.InvariantCulture));
multilingualContextInfo.SetMetaData(FiletypeConstants.MultilingualExcelFilterBackgroundColorTarget, targetMultilingualContextInfo.ExcelFilterBackgroundColor);
multilingualContextInfo.SetMetaData(FiletypeConstants.MultilingualExcelFilterLockSegmentsTarget, targetMultilingualContextInfo.ExcelFilterLockSegments.ToString());
}

if (lockSegments)
{
newParagraphUnit.Properties.LockType = LockTypeFlags.Manual;
}

AddContextInfo(updatedParagraphUnitInfo, newParagraphUnit);
AddComments(updatedParagraphUnitInfo, newParagraphUnit);

if (paragraphUnitInfo.SegmentPairs.Count == 0 && updatedParagraphUnitInfo?.SegmentPairs?.Count == 0)
{
// Both source and target are NOT segmented!
Expand All @@ -296,6 +316,8 @@ private List<IParagraphUnit> AlignParagraphUnits(IReadOnlyList<MultilingualParag
{
var originalSegmentPairInfo = paragraphUnitInfo.SegmentPairs[m];
var segmentPairProperties = originalSegmentPairInfo.SegmentPair.Properties.Clone() as ISegmentPairProperties;
segmentPairProperties.IsLocked = lockSegments;

var sourceSegment = _segmentBuilder.CreateSegment(segmentPairProperties);
var targetSegment = sourceSegment.Clone() as ISegment;

Expand Down Expand Up @@ -339,9 +361,12 @@ private List<IParagraphUnit> AlignParagraphUnits(IReadOnlyList<MultilingualParag
j++;

var segmentPairProperties = originalSegmentPair.SegmentPair.Properties.Clone() as ISegmentPairProperties;
segmentPairProperties.IsLocked = lockSegments;

var sourceSegment = _segmentBuilder.CreateSegment(segmentPairProperties);
var targetSegment = sourceSegment.Clone() as ISegment;


foreach (var item in originalSegmentPair.SegmentPair.Source)
{
sourceSegment.Add(item.Clone() as IAbstractMarkupData);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,13 @@ public enum CommentPropertyType
Text
}

public enum FilterScope
{
Import,
Ignore,
Lock
}

public static string GetTranslationOriginType(ITranslationOrigin translationOrigin, List<AnalysisBand> analysisBands)
{
if (translationOrigin != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,17 @@ public class FiletypeConstants
public const string MultilingualExcelRowIndex = "MultilingualExcelRowIndex";
public const string MultilingualSegment = "MultilingualSegment";
public const string MultilingualExcelContextInformation = "MultilingualExcelContextInformation";

public const string MultilingualExcelFilterBackgroundColorSource = "MultilingualExcelFilterBackgroundColorSource";
public const string MultilingualExcelFilterBackgroundColorTarget = "MultilingualExcelFilterBackgroundColorTarget";
public const string MultilingualExcelFilterLockSegmentsSource = "MultilingualExcelFilterLockSegmentsSource";
public const string MultilingualExcelFilterLockSegmentsTarget = "MultilingualExcelFilterLockSegmentsTarget";

public const string MultilingualExcelCharacterLimitationSource = "MultilingualExcelCharacterLimitationSource";
public const string MultilingualExcelPixelLimitationSource = "MultilingualExcelPixelLimitationSource";
public const string MultilingualExcelPixelFontNameSource = "MultilingualExcelPixelFontNameSource";
public const string MultilingualExcelPixelFontSizeSource = "MultilingualExcelPixelFontSizeSource";

public const string MultilingualExcelCharacterLimitationTarget = "MultilingualExcelCharacterLimitationTarget";
public const string MultilingualExcelPixelLimitationTarget = "MultilingualExcelPixelLimitationTarget";
public const string MultilingualExcelPixelFontNameTarget = "MultilingualExcelPixelFontNameTarget";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ public IQuickTagsFactory BuildQuickTagsFactory(string name)

return quickTagsFactory;
}


public INativeFileSniffer BuildFileSniffer(string name)
{
Expand All @@ -98,8 +99,8 @@ public IFileExtractor BuildFileExtractor(string name)
var entityService = new EntityService(entityContext, sdlFrameworkService, entityMarkerConversionService);

var segmentBuilder = new SegmentBuilder(entityService);

var excelReader = new ExcelReader();
var colorService = new ColorService();
var excelReader = new ExcelReader(colorService);

var parser = new BilingualParser(segmentBuilder,
entityContext,
Expand All @@ -126,7 +127,8 @@ public IFileGenerator BuildFileGenerator(string name)
var entityService = new EntityService(entityContext, sdlFrameworkService, entityMarkerConversionService);

var segmentBuilder = new SegmentBuilder(entityService);
var excelReader = new ExcelReader();
var colorService = new ColorService();
var excelReader = new ExcelReader(colorService);
var excelWriter = new ExcelWriter();

var writer = new BilingualWriter(segmentBuilder, entityContext,
Expand Down Expand Up @@ -161,7 +163,8 @@ public IAbstractGenerator BuildAbstractGenerator(string name)
var alternativeInputFileGenerator = new AlternativeInputFileGenerator(fileSystemService);

var segmentBuilder = new SegmentBuilder(entityService);
var excelReader = new ExcelReader();
var colorService = new ColorService();
var excelReader = new ExcelReader(colorService);
var excelWriter = new ExcelWriter();

var writer = new BilingualWriter(segmentBuilder, entityContext,
Expand Down Expand Up @@ -190,7 +193,8 @@ public IAbstractGenerator BuildAbstractGenerator(string name)


var segmentBuilder = new SegmentBuilder(entityService);
var excelReader = new ExcelReader();
var colorService = new ColorService();
var excelReader = new ExcelReader(colorService);
var excelWriter = new ExcelWriter();

var writer = new BilingualWriter(segmentBuilder, entityContext,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public class LanguageMappingPage : AbstractFileTypeSettingsPage<LanguageMappingV
private LanguageMappingView _languageMappingView;
private LanguageMappingViewModel _languageMappingViewModel;
private ImageService _imageService;
private ColorService _colorService;
private LanguageFilterService _languageFilterService;

public override object GetControl()
Expand All @@ -35,9 +36,10 @@ public override object GetControl()
if (_languageMappingView != null)
{
_imageService = new ImageService();
_colorService = new ColorService();
_languageFilterService = new LanguageFilterService();

_languageMappingViewModel = new LanguageMappingViewModel(Settings, _imageService, _languageFilterService);
_languageMappingViewModel = new LanguageMappingViewModel(Settings, _imageService, _colorService, _languageFilterService);
_languageMappingView.Loaded += LanguageMappingViewOnLoaded;
}
}));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Linq;
using Multilingual.Excel.FileType.Services;
using Sdl.FileTypeSupport.Framework.BilingualApi;

namespace Multilingual.Excel.FileType.FileType.Processors
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Sdl.FileTypeSupport.Framework.Core.Utilities.NativeApi;
using Sdl.FileTypeSupport.Framework.NativeApi;

namespace Multilingual.Excel.FileType.FileType.Processors
{
internal class DocumentPostTweaker: AbstractFilePostTweaker
{
protected override void Tweak(INativeOutputFileProperties properties)
{
var originalOutputFilePath = properties.OutputFilePath;



}
}
}
Loading

0 comments on commit 7511087

Please sign in to comment.