RWS Developers
  • Trados Studio
  • Articles
  • API
  • Developer License
  • API
  • File Type Support
  • The File Type Support Framework
  • Creating a Native File Type Plug-in
  • How to Create a Plug-in for Processing Native Formats
  • Implementing the File Parser
Search Results for

    Show / Hide Table of Contents
    • Overview
    • Core
      • Plug-in Framework Overview
      • Plugin overview
        • Plug-in Resources and Localizability
        • The Plug-in Manifest Generator
        • Serialization Performance
      • Extensions and extension points
      • API Reference
        • Sdl.Core.Globalization
          • Codepage
          • ConfirmationLevel
          • CoreCultureInfoExtensions
          • CultureCode
          • Language
          • LanguageBase
          • LanguageBase.EvaluationResult
          • LanguageCancelEventArgs
          • LanguageData
          • LanguageDataContainer
          • LanguageDisplaySettings
          • LanguageEventArgs
          • LanguageFormat
          • LegacyAsyncHelpers
          • LegacySdlxLanguage
          • LegacyTradosLanguage
          • LocalizableString
          • StableCultureInfo
          • UnsupportedCodepageException
          • UnsupportedLanguageException
        • Sdl.Core.Globalization.Async
          • DateTimePatternClassifier
          • PatternParsingHandler
          • PatternType
        • Sdl.Core.Globalization.Async.CultureMetadataManager
          • IScriptDetails
        • Sdl.Core.Globalization.Async.CultureMetadataService
          • AbstractCultureMetadataService
        • Sdl.Core.Globalization.CultureMetadataManager
          • CultureMetadataException
          • CultureMetadataManager
          • CultureMetadataManagerSettings
          • DesktopCultureMetadataManager
          • ICultureMetadataManager
        • Sdl.Core.Globalization.CultureMetadataService
          • EmbeddedCultureMetadataService
          • ICultureMetadataService
          • LanguageAndVariants
        • Sdl.Core.Globalization.DataVersion
          • DataVersion
        • Sdl.Core.Globalization.LanguageMetadata
          • LanguageMetadata
        • Sdl.Core.Globalization.LanguageRegistry
          • AlternativeLanguageCode
          • LanguageRegistry
          • LanguageRegistryApi
          • LanguageRegistryApiAsync
          • LanguageRegistryException
          • MappingType
          • Product
        • Sdl.Core.Globalization.NumberMetadata
          • DoubleNumberGrammarRange
          • IntNumberGrammarRange
          • NumberGrammarRangeSet
          • NumberMetadata
          • NumberMetadataApi
          • NumberMetadataException
          • NumberMetadataRegistry
          • RangeOperator
          • RangeTransform
        • Sdl.Core.Globalization.UnitDefinition
          • UnitDefinition
          • UnitDefinitionSet
        • Sdl.Core.Globalization.UnitMetadata
          • LabelValueCondition
          • LabelValueSet
          • UnitMetadata
          • UnitMetadataApi
          • UnitMetadataRegistry
          • UnitMetadataRegistryException
          • UnitMetadataSet
        • Sdl.Core.PluginFramework
          • AuxiliaryExtensionAttribute
          • AuxiliaryExtensionAttributeCollection
          • DefaultObjectResolver
          • DefaultPluginLocator
          • DefaultPluginTypeLoader
          • ExtensionAttribute
          • ExtensionCollection
          • ExtensionEventArgs
          • ExtensionPointBehavior
          • ExtensionPointCollection
          • ExtensionPointInfoAttribute
          • FileBasedPluginDescriptor
          • IExtension
          • IExtensionAware
          • IExtensionPoint
          • IObjectResolver
          • IPlugin
          • IPluginCache
          • IPluginDescriptor
          • IPluginFilter
          • IPluginInitializer
          • IPluginLocator
          • IPluginRegistry
          • IPluginStateHandler
          • IPluginTypeLoader
          • IThirdPartyPluginDescriptor
          • IValidatingPluginLocator
          • InitializePluginCompletedEventArgs
          • InitializePluginProgressChangedEventArgs
          • InvalidSdlAssemblyReference
          • ObjectFactory
          • ObjectRegistry<TExtensionAttribute, TExtensionType>
          • PluginAttribute
          • PluginCollection
          • PluginFrameworkException
          • PluginId
          • PluginInitializationResult
          • PluginInitializationResultsEventArgs
          • PluginInitializedCallback
          • PluginLoadExceptionEventArgs
          • PluginManager
          • PluginResourceAttribute
          • PluginState
          • PluginStatus
          • SdlAssemblyReferenceError
          • ValidatingSystemPluginLocator
          • XmlPluginCache
        • Sdl.Core.PluginFramework.Configuration
          • ConfigManager
          • IFrameworkConfiguration
        • Sdl.Core.PluginFramework.Integration
          • ExtensionArguments
          • ExtensionBuilderAttribute
          • ExtensionStoreItem
          • ExtensionsFactory
          • ExtensionsRepository
          • IExtensionBuilder
          • ValuePairTypeInstance
        • Sdl.Core.PluginFramework.Util
          • ExtensionSorter
          • ITopologicalSortable
          • SortableExtensionAttribute
          • SortedObjectRegistry<TSortableExtensionAttribute, TExtensionType>
          • TopologicalExtensions
          • TopologicalSort<T>
        • Sdl.Core.PluginFramework.Validation
          • IExtensionAttributeInfo
          • IExtensionValidationContext
        • Sdl.Core.Settings
          • AbstractSettingsGroupBase
          • AbstractSettingsPage
          • ISettingsBundle
          • ISettingsBundleAware
          • ISettingsGroup
          • ISettingsPage
          • Setting<T>
          • SettingsChangedEventArgs
          • SettingsGroup
          • SettingsUtil
        • Sdl.Core.Settings.Implementation
          • AbstractSettingsBundleAware
          • SettingsGroupTypeDescriptionProvider
          • SettingsGroupTypeDescriptor
        • Sdl.Core.Settings.Implementation.Json
          • JsonSettingImpl<T>
          • JsonSettingsBundle
          • JsonSettingsGroup
        • Sdl.Core.Settings.Implementation.Xml
          • XmlSettingImpl<T>
    • File Type Support
      • Introduction to this SDK
        • File Type Framework Overview
        • What can you do with the File Type Support SDK?
        • How Translators Work
          • Opening a document for translation
          • Creating Projects
          • Merging files
          • Moving files between machines
          • File type settings
          • Using context information
          • Tag display modes
          • Using QuickInserts
          • Verifying files
          • Previewing files
          • Saving to different file types
        • Used Terminology
      • The File Type Support Framework
        • File Type Support - Overview
        • The Filter Component Builder
        • Extending the Filter Component Builder
        • The File Type Plug-in Lifecycle
        • What a File Type Plug-in Must Do
        • Creating a Native File Type Plug-in
          • The Theory
            • Overview of the Native API
            • The File Sniffer
            • The File Parser
            • The File Writer
            • The File Context
            • Native File Tweakers
            • Text Formattings
            • Reporting Problems
            • Filter UI Settings
            • Segmentation Hints
            • The Filter Preview
          • How to Create a Plug-in for Processing Native Formats
            • Introduction
            • Creating a New Project
            • Build the File Type Plug-in
            • The Resources File
            • Adding the File Type Component Builder
            • Implementing the File Sniffer
            • User Communication Through Messaging
            • Implementing the File Parser
            • Processing Inline Formatting
            • Implementing the File Writer
            • Implementing File Preview Functionality
              • Implementing an External File Preview
              • Implementing an Internal Preview
                • Introduction
                • Implementing a Static Preview
                  • Modifying the File Type Component Builder
                  • Implementing the Preview Writer
                • Implementing a Dynamic Real-time Preview
                  • Modifying the File Type Component Builder
                  • Enhancing the Preview File Writer
                  • Adding a Preview UI Control
                  • Adding a Preview Controller
                  • Appendix - Real-time Preview for XML Files
            • Further Enhance Your Plug-in
              • Introduction
              • Implementing QuickInsert Functionality
              • Locking Specific Strings
              • Loading and Saving the Settings
              • Creating a New Assembly for the Settings UI
              • Implementing the Settings UI
              • Implementing the UI Controller Class
              • Enhancing the File Parser to Process the Settings
              • Extending the Configuration Options
              • Processing Placeholder Tags
              • Handling Tags During Segmentation
              • Creating a Native File Tweaker
          • Sample Projects
        • Create a Bilingual File Type Plug-in
          • The Theory
            • Overview of the Bilingual API
            • The File Sniffer
            • The Bilingual File Parser
            • The Bilingual File Writer
            • IMarkupDataVisitor
            • Filter UI Settings
          • How to Create a Bilingual File Type Plug-in
            • Introduction
            • About the Example BIL Format
            • Creating a New Project
            • Adding the File Type Component Builder
            • Implementing the File Sniffer
            • Implementing the File Parser
              • Opening the File for Parsing
              • Outputting Segment Pairs
              • Processing Inline Tags
              • Applying Character Formatting
              • Applying the Segment Pair Confirmation Levels
              • Adding Context Information
              • Extracting Comments
              • Putting it all Together
            • Implementing the File Writer
              • Adding the File Writer Class
              • Adding the Text Extractor Class
              • Generating the Paragraph Units
              • Mapping the Segment Confirmation Levels
              • Outputting all Comments
        • Creating Sub Content Processors
          • Sub Content Overview
          • Sub Content Component Builder
          • The Main Parser
          • The Main Writer
          • The Sub Content Parser
          • The Sub Content Writer
          • Settings Page Example
      • The Verification Framework
        • How to Create a Native Verifier
          • Introduction
          • Create a New Project
          • Add a Resources File
          • Implement the User Interface
          • Loading and Saving the Settings
          • Implement the UI Controller Class
          • Implement the Verification Logic
          • Extending existing File Type Component Builder
        • How to Create a Bilingual Verifier
          • Introduction
          • Create a New Project
          • Add a Resources File
          • Implement the User Interface
          • Loading and Saving the Settings
          • Implement the UI Controller Class
          • Implement the Verification Logic
          • Create a New File Type Component Builder
        • How to Create a Global Verifier
          • Introduction
      • API Reference
        • Sdl.FileTypeSupport.Filters.Verifiers.GenericTagVerifier
          • GenericTagVerifier
          • GenericVerifierSettings
          • MatchedItem
        • Sdl.FileTypeSupport.Filters.Verifiers.GenericTagVerifier.Properties
          • Resources
        • Sdl.FileTypeSupport.Framework
          • Direction
          • FileJanitor
          • FileTypeDefinitionId
          • FileTypeSupportException
          • Pair<FirstType, SecondType>
          • TempFileManager
          • UserCancelledException
          • VersionInfo
        • Sdl.FileTypeSupport.Framework.BilingualApi
          • AbstractBilingualContentHandler
          • AbstractBilingualContentProcessor
          • AbstractBilingualFileTypeComponent
          • AbstractBilingualParser
          • BilingualContentMessageReporterProxy
          • DependencyFileLocator
          • IAbstractDataContent
          • IAbstractMarker
          • IAbstractMarkupData
          • IAbstractMarkupDataContainer
          • IAbstractTag
          • IBilingualContentHandler
          • IBilingualContentMessageReporter
          • IBilingualContentMessageReporterWithExtendedData
          • IBilingualContentProcessor
          • IBilingualDocumentFileWriter
          • IBilingualDocumentOutputProperties
          • IBilingualDocumentOutputPropertiesAware
          • IBilingualDocumentParser
          • IBilingualDocumentWriter
          • IBilingualFileTypeComponent
          • IBilingualParser
          • IBilingualToNativeConverter
          • IBilingualVerifier
          • IBilingualWriter
          • ICommentMarker
          • IDocumentItemFactory
          • IDocumentProperties
          • IFileProperties
          • ILocationMarker
          • ILockedContainer
          • ILockedContent
          • IMarkupDataVisitor
          • INativeToBilingualConverter
          • IOtherMarker
          • IParagraph
          • IParagraphUnit
          • IPlaceholderTag
          • IRepetitionsTable
          • IRevisionMarker
          • IRevisionProperties
          • ISegment
          • ISegmentPair
          • ISerializableMarkupDataContainer
          • IStructureTag
          • ISubSegmentReference
          • ITagPair
          • IText
          • LevelLocation
          • Location
          • NotSplittableException
          • RevisionType
          • TextLocation
        • Sdl.FileTypeSupport.Framework.Core.IntegrationApi
          • IFileTypeSettingsConverterComponentBuilder
          • IProjectAware
        • Sdl.FileTypeSupport.Framework.Core.Settings
          • AbstractFileTypeSettingsPage<SettingsControlType, SettingsType>
          • ComplexObservableList<T>
          • DeserializeFileInfo
          • FileSerializer
          • FileTypeSettingsBase
          • FileTypeSettingsPageAttribute
          • FontMappingRule
          • FontMappingSettings
          • FormattingGroupSettings
          • IAbstractSettingsPage
          • IFileTypeConfigurationAware
          • IFileTypeSettingsAware<SettingsType>
          • IFileTypeSettingsConverter
          • IFileTypeSettingsPage
          • ISerializableListItem
          • ObservableDictionary<TKey, TValue>
          • ObservableList<T>
        • Sdl.FileTypeSupport.Framework.Core.Settings.Constants
          • EncodingConstants
          • SettingsConstants
        • Sdl.FileTypeSupport.Framework.Core.Settings.JsonSettings
          • FileTypeSettingsJson
          • FileTypeSettingsUtil
        • Sdl.FileTypeSupport.Framework.Core.Settings.QuickInserts
          • BaseMarkupDataType
          • MarkupDataFactory
          • PlaceholderTagMarkup
          • QuickInsertSettings
          • QuickInsertsSettings
          • TagPairMarkup
          • TextMarkup
          • TextPairMarkup
        • Sdl.FileTypeSupport.Framework.Core.Settings.Serialization
          • AbstractSettingsClass
          • GenericFileTypeSettingsConverter
          • ISettingsClass
          • IValueGetter
          • IValueProcessor
          • SettingsBundleConverterMethod
          • SettingsFormatConverter
        • Sdl.FileTypeSupport.Framework.Core.Utilities
          • FileEncoding
          • PredicateAdapter<AdapteeType, TargetType>
        • Sdl.FileTypeSupport.Framework.Core.Utilities.AsposeLicense
          • AsposeLicenseEncoder
        • Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi
          • BilingualContentHandlerAdapter
          • BufferedBilingualContentHandler
          • CharacterCountingIterator
          • CharacterCountingIterator.EndOfItemCharacterCounterVisitor
          • CharacterCountingIterator.ICharacterCountingVisitor
          • CharacterCountingIterator.StartOfItemCharacterCounterVisitor
          • CompleteHandler
          • Constants
          • DefaultDocumentItemFactory
          • EventFiringBilingualProcessor
          • ExistingContentHandling
          • FileCompleteHandler
          • InitializeHandler
          • InvalidEncodingRemovalVisitor
          • ParagraphUnitBuffer
          • ProcessParagraphUnitHandler
          • SetFilePropertiesHandler
          • SourceToTargetCopier
          • TextCollectionVisitor
        • Sdl.FileTypeSupport.Framework.Core.Utilities.Constants
          • Characters
        • Sdl.FileTypeSupport.Framework.Core.Utilities.Encryption
          • EncryptionConstants
        • Sdl.FileTypeSupport.Framework.Core.Utilities.Formatting
          • ColorUtilitesResources
          • ColorUtilities
          • FormattingGroup
          • FormattingInflator
          • FormattingItemFactory
          • FormattingStack
        • Sdl.FileTypeSupport.Framework.Core.Utilities.IntegrationApi
          • AbstractQuickTagBuilder
          • AlignmentDefaults
          • BilingualMessageLocation
          • Constants
          • DefaultFileTypeManager
          • DefaultQuickTagInfo
          • FilePathProvider
          • FolderPathProvider
          • Framework1ExternalPreviewException
          • QuickTagDefaults
        • Sdl.FileTypeSupport.Framework.Core.Utilities.NativeApi
          • AbstractFilePostTweaker
          • AbstractFilePreTweaker
          • DefaultPersistentFilePropertiesKeys
          • DefaultPropertiesFactory
          • DefaultTranslationOrigin
          • DefaultTranslationOriginPropertiesKeys
          • LengthTypes
          • LineNumberTracker
          • MetaDataTypes
          • RegExFilePostTweaker
          • RegExFilePreTweaker
          • SeverityTypes
          • StandardContextTypes
          • StandardContextTypes.ContextData
          • TMMatchContextTypes
          • TMTranslationOriginMetaData
        • Sdl.FileTypeSupport.Framework.Core.Utilities.NativeApi.Buffer
          • AbstractContentItem
          • ChangeContextContentItem
          • CommentEndContentItem
          • CommentStartContentItem
          • CustomInfoContentItem
          • InlineEndTagContentItem
          • InlinePlaceholderTagContentItem
          • InlineStartTagContentItem
          • LocationMarkContentItem
          • LockedContentEndContentItem
          • LockedContentStartContentItem
          • NativeBuffer
          • ParagraphComments
          • ParagraphUnitEndContentItem
          • ParagraphUnitStartContentItem
          • RevisionEndContentItem
          • RevisionStartContentItem
          • SegmentEndContentItem
          • SegmentStartContentItem
          • StructureTagContentItem
          • TextContentItem
        • Sdl.FileTypeSupport.Framework.Core.Utilities.Properties
          • Resources
        • Sdl.FileTypeSupport.Framework.Formatting
          • AbstractBooleanFormatting
          • AbstractFormattingItem
          • BackgroundColor
          • Bold
          • FontName
          • FontSize
          • IFormattingGroup
          • IFormattingItem
          • IFormattingItemFactory
          • IFormattingVisitor
          • Italic
          • Strikethrough
          • TextColor
          • TextDirection
          • TextPosition
          • TextPosition.SuperSub
          • Underline
          • UnknownFormatting
        • Sdl.FileTypeSupport.Framework.IntegrationApi
          • AbstractFileTypeDefinitionComponent
          • AbstractSingleFileRefreshablePreviewController
          • AbstractSourceAndTargetFileRefreshablePreviewController
          • BatchProgressEventArgs
          • BilingualDocumentOutputPropertiesProvider
          • BilingualParserFactory
          • BilingualVerifiersProvider
          • DynamicFilterComponentBuilder
          • ExtendedMessageEventData
          • FileNotSupportedException
          • FileTypeComponentBuilderAttribute
          • FileTypeComponentBuilderExtensionAttribute
          • FileTypeCreatorAttribute
          • FileTypeCreatorWizardPage
          • FileTypeDefinitionCustomizationLevel
          • FileTypeDefinitionNotFoundException
          • FileTypeProfile
          • GeneratorId
          • IAbstractGenerator
          • IAbstractPreviewApplication
          • IAbstractPreviewControl
          • IAbstractPreviewController
          • IAbstractUpdatablePreview
          • IAdditionalGeneratorsInfo
          • IApplicationPreviewType
          • IBilingualDocumentGenerator
          • IBilingualProcessorContainer
          • IControlPreviewType
          • IDefaultFileTypeSettingsProvider
          • IDefaultQuickTagInfo
          • IFileExtractor
          • IFileGenerator
          • IFileTypeComponentBuilder
          • IFileTypeComponentBuilderAdapter
          • IFileTypeCreator
          • IFileTypeDefinition
          • IFileTypeDefinitionAware
          • IFileTypeDefinitionConfiguringControl
          • IFileTypeDefinitionFactory
          • IFileTypeInformation
          • IFileTypeManager
          • IFilterFramework1FilterDefinitionFile
          • IGeneratorInfo
          • IInteractivePreviewComponent
          • IInteractivePreviewComponentFactory
          • IMessageLocation
          • IMultiFileConverter
          • INavigablePreview
          • IPreviewSet
          • IPreviewSets
          • IPreviewSetsFactory
          • IPreviewType
          • IPreviewUpdatedViaRefresh
          • IPreviewUpdatedViaSegmentFile
          • IQuickTag
          • IQuickTagContent
          • IQuickTags
          • IQuickTagsFactory
          • ISettingsAware
          • ISingleFilePreviewApplication
          • ISingleFilePreviewControl
          • ISingleFilePreviewController
          • ISingleFileRefreshablePreview
          • ISourceAndTargetFilePreviewApplication
          • ISourceAndTargetFilePreviewControl
          • ISourceAndTargetFilePreviewController
          • ISourceAndTargetFileRefreshablePreview
          • ISubContentComponentBuilder
          • ISubContentExtractor
          • ISubContentGenerator
          • IVerifierCollection
          • IconDescriptor
          • MessageEventArgs
          • NativeGeneratorProvider
          • NoDefaultBilingualFileTypeException
          • NotBilingualFileTypeException
          • OneOrMoreFilesNotSupportedException
          • OutputPropertiesProvider
          • PreviewApplicationId
          • PreviewClosedEventArgs
          • PreviewControlHandler
          • PreviewControlId
          • PreviewSetId
          • PreviewSetKind
          • QuickTagDefaultId
          • SegmentReference
          • SegmentSelectedEventArgs
          • SubContentProcessorDoesNotExistException
          • TemplateComponentBuilderManager
          • UnknownFileTypeDefinitionException
        • Sdl.FileTypeSupport.Framework.IntegrationApi.Implementation
          • FileTypeCreator
        • Sdl.FileTypeSupport.Framework.IntegrationApi.QuickInserts
          • IQuickInsert
          • IQuickInsertDefinitionsManager
          • IQuickInsertsBuilder
          • QuickInsertConstants
          • QuickInsertIds
        • Sdl.FileTypeSupport.Framework.NativeApi
          • AbstractNativeExtractionContentProcessor
          • AbstractNativeExtractionGenerationContentProcessor
          • AbstractNativeFileParser
          • AbstractNativeFileParser.Stage
          • AbstractNativeFileTypeComponent
          • AbstractNativeFileWriter
          • AbstractNativeGenerationContentProcessor
          • ConflictingIdException
          • ContentRestriction
          • ContextPurpose
          • DependencyFileLinkOption
          • DependencyFileUsage
          • DetectionLevel
          • EncodingCategory
          • ErrorLevel
          • FileId
          • IAbstractBasicTagProperties
          • IAbstractInlineTagProperties
          • IAbstractNativeContentHandler
          • IAbstractTagProperties
          • IBasicMessageReporter
          • IBasicMessageReporterWithExtendedData
          • ICacheableSubContentParser
          • ICacheableSubContentWriter
          • IComment
          • ICommentProperties
          • IContextInfo
          • IContextProperties
          • ICustomInfoProperties
          • IDependencyFileProperties
          • IEndTagProperties
          • IFilePostTweaker
          • IFilePreTweaker
          • IFileTweaker
          • ILockedContentProperties
          • IMetaDataContainer
          • INativeContentCycleAware
          • INativeContentStreamMessageReporter
          • INativeExtractionContentHandler
          • INativeExtractionContentProcessor
          • INativeExtractor
          • INativeFileParser
          • INativeFileSniffer
          • INativeFileTypeComponent
          • INativeFileVerifier
          • INativeFileWriter
          • INativeGenerationContentHandler
          • INativeGenerationContentProcessor
          • INativeGenerator
          • INativeLocationTracker
          • INativeOutputFileProperties
          • INativeOutputSettingsAware
          • INativeSubContentExtractor
          • INativeSubContentGenerator
          • INativeTextLocationMessageReporter
          • IOutputFileInfo
          • IParagraphUnitProperties
          • IParser
          • IPersistentFileConversionProperties
          • IPlaceholderTagProperties
          • IPropertiesFactory
          • ISegmentPairProperties
          • ISharedObjects
          • ISharedObjectsAware
          • IStartTagProperties
          • IStructureInfo
          • IStructureTagProperties
          • ISubContentAware
          • ISubContentParser
          • ISubContentPublisher
          • ISubContentWriter
          • ISubSegmentProperties
          • ISupportsPersistenceId
          • ISupportsUniqueId
          • ITextProperties
          • ITranslationOrigin
          • IdConflictResolution
          • LocationMarkerId
          • LockTypeFlags
          • NativeTextLocation
          • ParagraphUnitId
          • ProcessSubContentEventArgs
          • ProgressEventArgs
          • ProgressReporter
          • RepetitionId
          • RevisionTypeNotSupportedException
          • SegmentId
          • SegmentationHint
          • Severity
          • SharedObjectPublishedEventArgs
          • SniffInfo
          • SourceCount
          • SourceCount.CountUnit
          • TagId
          • TextContextMatchLevel
        • Sdl.FileTypeSupport.Framework.PreviewControls
          • AbstractNativePreviewFileWriter
          • AbstractPreviewControl
          • DualBrowserControl
          • GenericExteralPreviewApplication
          • GenericInternalWebBrowserPreviewControl
          • GenericSideBySideWebBrowserPreviewControl
          • ITempFileProperties
          • MsOfficeExternalPreviewApplication
          • NavigableDualBrowserControl
          • SideBySideNavigableWebBrowserPreviewController
          • SideBySideRealtimeWebBrowserPreviewController
          • TempFileProperties
          • TempFileUtils
    • Project Automation
      • Overview
      • Threading Support
      • Working with projects
        • Overview
        • About projects
        • About Project Files
        • Project Configuration
        • About Project Translation Memories
        • About Tasks
        • About Packages
        • About Server-Based Projects
        • Code Examples
          • Required References and Namespaces
          • Creating a New Project
            • Setting the Project Information
            • Adding Files and Folders
            • Adding Translation Memories
            • Adding Termbases
            • Running Tasks on the Project Files
            • Saving Task Reports
            • Automatic Tasks and Task Settings
              • Analyze Files Settings
              • Project TM Creation Settings
              • Perfect Match
              • Pre-Translate Settings
              • Update Translation Memory Settings
              • Generating and Exporting Target Files
              • Translation Count
            • Translation Memory Settings
              • Translation Memory Search Settings
              • Setting TM Penalties
              • Auto-Substitution Settings
              • Translation Memory Field Update
              • Translation Memory Filter Settings
            • Working with Project Reports
            • Creating Projects Based on Previous Projects
            • Creating Projects Based on Templates
            • Creating a Merged File
            • Updating Project Files
            • Retrieving the Project Statistics
            • Deleting Projects
            • Completing Projects
            • Packages
              • Creating a Project Package
              • Creating a Return Package
              • Importing a Return Package
          • Working with a Project Server
            • Connecting a Project to a Project Server
            • Synchronizing With Project Server
            • Viewing and Deleting Published Projects
            • Checking Files In and Out
            • Downloading and Uploading Files
            • Putting it All Together
        • Developing a Sample Application
          • Introduction to the Sample Application
          • Setting up the Visual Studio Project
          • The Command-line Parameters
          • Configuring the Project Properties
          • Adding Files in the Folder to the Project
          • Adding the TM to the Project
          • Converting the Project Files
          • Analyzing the Files
          • Configuring the Analyze Task Settings
          • Generating the Task Report
          • Publishing to a Server
          • Deleting the Project
          • Putting it All Together
      • API Reference
        • Sdl.ProjectAutomation.Core
          • AnalysisBand
          • AnalysisStatistics
          • AutomaticTask
          • AutomaticTaskTemplateIds
          • BilingualFileMapping
          • CombinedConfirmationLevel
          • CommonFileExtensions
          • ConfirmationStatistics
          • CountData
          • DataTransferEventArgs
          • ExecutionMessage
          • ExtensionMethods
          • FileRole
          • FuzzyCountData
          • IPackage
          • IProject
          • IProjectDeleteOperation
          • LocalFileState
          • LocalTermbase
          • ManualTask
          • MergeState
          • MergedProjectFile
          • MessageEventArgs
          • MessageLevel
          • PackageOperation
          • PackageStatus
          • PackageStatusEventArgs
          • ProgressEventArgs
          • ProjectAutomationException
          • ProjectFile
          • ProjectFileTypeConfiguration
          • ProjectFileVersion
          • ProjectInfo
          • ProjectPackageCreation
          • ProjectPackageCreationOptions
          • ProjectPackageImport
          • ProjectReference
          • ProjectStatistics
          • ProjectStatus
          • ProjectTemplateInfo
          • ProjectTemplateReference
          • ProjectTranslationMemoryPackageOptions
          • ProjectType
          • PublicationStatus
          • ReportFormat
          • ReturnPackageCreation
          • ReturnPackageImport
          • ServerTermbase
          • TargetLanguageStatistics
          • Task
          • TaskFile
          • TaskFileInfo
          • TaskMessageEventArgs
          • TaskReport
          • TaskSequence
          • TaskStatus
          • TaskStatusEventArgs
          • TermRecognitionOptions
          • Termbase
          • TermbaseConfiguration
          • TermbaseLanguageIndex
          • TermbaseSearchOrder
          • TranslationProviderCascadeEntry
          • TranslationProviderConfiguration
          • TranslationProviderReference
          • ValueStatus
          • WordCountStatistics
        • Sdl.ProjectAutomation.FileBased
          • AbstractContentProcessor
          • AbstractContentTask
          • FileBasedProject
          • LicensingException
          • ProjectCredentials
          • ProjectEvent
          • ProjectServer
          • PublishProjectEventArgs
          • PublishProjectResult
          • ServerProjectInfo
          • TaskSequences
        • Sdl.ProjectAutomation.FileBased.Events
          • ProjectCreatedEvent
          • ProjectOpenedEvent
          • ProjectPublishedEvent
        • Sdl.ProjectAutomation.FileBased.Reports.Models
          • Report
          • ReportDefinition
        • Sdl.ProjectAutomation.FileBased.Reports.Operations
          • ProjectReportsOperations
        • Sdl.ProjectAutomation.FileBased.ServerOperations
          • IServerBasedProjectOperations
          • ServerBasedProjectOperations
        • Sdl.ProjectAutomation.Settings
          • AbstractTaskSettings
          • AnalysisTaskSettings
          • AppendToUnitType
          • BatchProcessingGeneralSettings
          • ExportFileVersion
          • ExportFilesSettings
          • ExportForReviewTaskSettings
          • ExternalReviewMappingItem
          • ImportFromReviewTaskSettings
          • MeasurementsFormattingMode
          • NoTranslationMemoryMatchFoundAction
          • PerfectMatchTaskSettings
          • ProjectSettings
          • ProjectTranslationMemoryTaskSettings
          • PseudoTranslateSettings
          • ReturningPackageSettings
          • SourceTrackChangesLookupMode
          • TmImportOption
          • TranslateTaskSettings
          • TranslationCountSettings
          • TranslationMemorySettings
          • TranslationMemoryUpdateTaskSettings
          • TranslationUpdateMode
          • WordCountSettings
        • Sdl.ProjectAutomation.Settings.CustomAttributes
          • CDataWrapper
          • CustomAttribute
          • CustomAttributeList
          • CustomAttributeSettings
          • CustomAttributeTypeEnum
        • Sdl.ProjectAutomation.Settings.Events
          • TranslationProviderStatusChanged
    • Translation Memory
      • Introduction
      • General
        • What you can do with this SDK
        • How Translators Work with Translation Memories
          • Creating Translation Memories
          • Configuring Translation Memories
          • Accessing Translation Memories
          • Performing Translation Memory Lookups
          • Updating Translation Memories
          • Maintaining Translation Memories
      • Working with Translation Memories
        • General
          • Introduction
          • Working with File-based Translation Memories
          • Working with Field Definitions
          • Working with Language Resources
          • Importing Content into a Translation Memory
          • Exporting Content from a Translation Memory
          • Performing Translation Memory Lookups
          • Working with Filters
        • Code Examples
          • Required References and Namespaces
          • Setting up File Translation Memories
            • Creating a File-based Translation Memory
            • Setting and Retrieving TM Properties
            • Adding TM Fields
            • Adding Language Resources
            • Setting Translation Memory Access Rights
          • Importing a TMX File
          • Exporting to a TMX File
          • Doing Translation Memory Lookups
          • Updating a Translation Memory
          • Reading Translation Unit System Information
          • Tuning and Maintaining a Translation Memory
          • Looping through Translation Memories
      • Working with TM Server
        • General
          • Introduction
          • Connecting to TM Server
          • Working with Database Servers and Containers
          • Working with Server-based Translation Memories
          • Working with Field Templates
          • Working with Language Resource Templates
          • Performing a Scheduled Import or Export
        • Code Examples
          • Introduction
          • Preparing your Project for Server Access
          • Connecting to a TM server
          • Retrieving Licensing Information
          • Retrieving Database Servers
          • Retrieving TM Containers
          • Creating a Container Database
          • Creating a Server Translation Memory
          • Scheduled TMX Imports
          • Scheduled TMX Exports
          • TM Fields Templates
          • Language Resource Templates
      • Translation Provider Plug-ins
        • Introduction
        • Creating the Translation Provider
        • Creating the Translation Provider Factory
        • Creating the Translation Provider UI Extension
      • Sample Projects
        • TM Batch Export Tool
          • Introduction to the TM Batch Export Tool
          • Setting up the Project
          • Looping through the Folder(s)
          • Exporting to TMX
        • TM Batch Import Tool
          • Introduction to the TM Batch Import Tool
          • Setting up the Project
          • Looping through the Folder(s)
          • Importing into the Master Translation Memories
          • Creating the Master Translation Memories
          • Creating a Log File
        • TM Lookup Tool
          • Introduction to the TM Lookup Tool
          • Setting up the Project
          • Adding the Main GUI
          • Adding the Server TM Selection Form
          • Adding the Search Settings Form
          • Adding the Connector Class
          • Implementing the Search Functionality
        • Creating a Translation Service Provider Plug-in
          • About the Sample Translation Service Provider Plug-in
          • Setting up the Project
          • The Resources File
          • The Plug-in Manifest
          • Building the Plug-in
          • Instantiating the Plug-in
          • Implementing the Plug-in User Interface
          • Controlling the Plug-in User Interface
          • Storing and Retrieving the Plug-in Settings
          • Enabling the Required Translation Provider Features
          • Verifying the Language Pair Support
          • Implementing the Search Logic
          • Implementing the Element Visitor
      • API Reference
        • Sdl.Core.FineGrainedAlignment
          • AlignResult
          • AlignableContentPairId
          • AlignableCorpusId
          • AlignedPhrase
          • AlignerDefinition
          • AlignerSettings
          • AlignmentEvidence
          • BilingualChiSquareComputer3
          • BilingualPhraseComputer3
          • BilingualPhraseComputer3.Settings
          • ChiSquaredAligner
          • ChiSquaredAligner.CodedTokenIndexConverter
          • ChiSquaredAligner.NullModelException
          • ChiSquaredLiftAligner
          • ChiSquaredTranslationModel
          • ChiSquaredTranslationModelBuilder
          • ChiSquaredTranslationModelId
          • ChiSquaredTranslationModelStoreReadOnly
          • CooccurrenceCounter2
          • FGAInitializer
          • IAlignableContentPair
          • IAlignableCorpus
          • IAlignableCorpusAsync
          • IAlignableCorpusManager
          • IAlignableCorpusManagerAsync
          • IAlignerBroker
          • IAlignerService
          • IChiSquaredTranslationModelStore
          • IChiSquaredTranslationModelStoreReadOnly
          • IFineGrainedAligner
          • IPairEnumerator
          • ITranslationModelDataService
          • ITranslationModelManagementService
          • ITranslationModelManager
          • LiftAligner
          • LiftAligner.SpanHypothesis
          • LiftAligner.SpanHypothesisArray
          • ModelBasedAlignerDefinition
          • ModelNotFoundException
          • OnlineAlignerDefinition
          • SimpleAlignerBroker
          • SimpleAlignmentEvidence
          • TokenWithCount
          • TrainedModelAligner
          • TrainedModelAligner.CodedTokenIndexConverter
          • TrainedModelBuildResults
          • TrainedTranslationModel
          • TrainedTranslationModelBuilder
          • TrainedTranslationModelId
          • TranslationModel
          • TranslationModelBuilderSettings
          • TranslationModelCancelException
          • TranslationModelDetails
          • TranslationModelException
          • TranslationModelFitness
          • TranslationModelId
          • TranslationModelProgressEventArgs
          • TranslationModelProgressStage
          • TranslationModelTypes
          • VocabularyFile3
          • WordAlignmentComputer3
        • Sdl.Core.FineGrainedAlignment.Model
          • TranslationModelMatrixEntry
          • TranslationModelTuMatrixRequest
          • TranslationModelVocabEntry
        • Sdl.Core.LanguageProcessing.Tokenization
          • SeparatorCombination
        • Sdl.Core.TM.ImportExport
          • BatchExportedEventArgs
          • BatchImportedEventArgs
          • Exporter
          • ExporterAsync
          • IExportOrigin
          • IExportOriginAsync
          • IImportDestination
          • IImportDestinationAsync
          • ImportExportResponse
          • Importer
          • ImporterAsync
          • ImporterAsync.ImportResultsMap
          • LanguageMismatchException
          • TmApiImportExport
        • Sdl.LanguagePlatform.Core
          • CharacterProperties
          • CharacterProperties.Case
          • CharacterSet
          • CultureInfoExtensions
          • CultureInfoExtensions.LanguageGroupID
          • CultureInfoExtensions.LanguageGroupInstallationStatus
          • CultureString
          • DateTimeUtilities
          • ErrorCode
          • FaultDescription
          • FaultStatus
          • ISegmentElementVisitor
          • LanguagePair
          • LanguagePlatformException
          • Pair<T>
          • SearchOption
          • Segment
          • Segment.DeleteTagsAction
          • Segment.ValidationMode
          • SegmentEditor
          • SegmentElement
          • SegmentElement.Similarity
          • SegmentPosition
          • SegmentRange
          • StringUtilities
          • StringUtilities.Casing
          • Tag
          • TagType
          • Text
          • UnicodeBlock
          • Wordlist
        • Sdl.LanguagePlatform.Core.EditDistance
          • EditDistance
          • EditDistanceItem
          • EditDistanceResolution
          • EditOperation
        • Sdl.LanguagePlatform.Core.Resources
          • IResourceDataAccessor
          • IResourceDataAccessorAsync
          • LanguageResourceType
          • ResourceDataAccessorAsyncWrapper
          • ResourceStatus
        • Sdl.LanguagePlatform.Core.Segmentation
          • Context
          • ContextType
          • LocalizedString
          • RuleOrigin
          • RuleType
          • SegmentationContext
          • SegmentationRule
          • SegmentationRules
        • Sdl.LanguagePlatform.Core.Serialization
          • LinguaDeserializer
        • Sdl.LanguagePlatform.Core.Tokenization
          • AutoLocalizationSettings
          • BuiltinRecognizers
          • CurrencyFormat
          • CurrencySymbolPosition
          • CustomUnitDefinition
          • DateTimePatternType
          • DateTimeToken
          • GenericPlaceableToken
          • ILocalizableToken
          • LocalizationParametersSource
          • Match
          • MeasureToken
          • NumberToken
          • NumericSeparator
          • PrioritizedToken
          • Sign
          • SimpleToken
          • TagToken
          • Token
          • TokenBundle
          • TokenType
          • TokenizationContext
          • TokenizerFlags
          • Unit
          • UnitSeparationMode
        • Sdl.LanguagePlatform.IO
          • MultiFileTextReader
        • Sdl.LanguagePlatform.IO.Streams
          • CommentEvent
          • EndOfInputEvent
          • Event
          • IEventReader
          • IEventReceiver
          • StartOfInputEvent
          • TUEvent
          • TUStreamContext
        • Sdl.LanguagePlatform.IO.TMX
          • TMXReader
          • TMXReaderSettings
          • TMXStartOfInputEvent
          • TMXTools
          • TMXWriter
          • TMXWriterSettings
          • body
          • bpt
          • ept
          • header
          • headerSegtype
          • hi
          • it
          • itPos
          • map
          • note
          • ph
          • prop
          • seg
          • sub
          • tmx
          • tu
          • tuSegtype
          • tuv
          • ude
          • ut
        • Sdl.LanguagePlatform.TranslationMemory
          • Action
          • AdaptiveMachineTranslationLookupMode
          • AppliedPenalty
          • AtomicExpression
          • AtomicExpression.Operator
          • ComposedExpression
          • ComposedExpression.Operator
          • DateTimeFieldValue
          • DocumentDetail
          • DuplicateIterator
          • DuplicateIterator.DuplicateIteratorPosition
          • ExportSettings
          • ExportStatistics
          • FGASupport
          • Field
          • FieldDefinitions
          • FieldIdentifier
          • FieldType
          • FieldValue
          • FieldValueType
          • FieldValues
          • Filter
          • FilterExpression
          • FilterExpressionParser
          • FuzzyIndexTuningSettings
          • FuzzyIndexes
          • IAttribute
          • IField
          • IFieldDefinitions
          • IFieldTemplate
          • IFieldValueComparer<T>
          • ILogLogger
          • IPicklistOption
          • ITypedKeyValueContainer
          • ImportResult
          • ImportResults
          • ImportSettings
          • ImportSettings.FieldUpdateMode
          • ImportSettings.ImportTUProcessingMode
          • ImportSettings.NewFieldsOption
          • ImportSettings.TUUpdateMode
          • ImportStatistics
          • ImportStatus
          • IntFieldValue
          • LogManager
          • MachineTranslationLookupMode
          • MultiplePicklistFieldValue
          • MultipleStringFieldValue
          • NLogLogger
          • Penalty
          • PenaltyType
          • PersistentObject
          • PersistentObjectToken
          • PicklistField
          • PicklistItem
          • PicklistItems
          • Placeable
          • PlaceableAssociation
          • PlaceableComputer
          • PlaceableType
          • RegularIterator
          • ScoringResult
          • SearchMode
          • SearchResult
          • SearchResultFieldValueAccessor
          • SearchResultFieldValueComparer
          • SearchResults
          • SearchResults.SearchResultComparer
          • SearchResultsMerged
          • SearchSettings
          • SegmentAndSubsegmentSearchResults
          • SegmentAndSubsegmentSearchResultsMerged
          • SegmentSerializer
          • SinglePicklistFieldValue
          • SingleStringFieldValue
          • SortCriterium
          • SortDirection
          • SortDisambiguator
          • SortDisambiguator.Disambiguator
          • SortSpecification
          • Sorter<T>
          • SubsegmentMatchType
          • SubsegmentSearchCondition
          • SubsegmentSearchResult
          • SubsegmentSearchResults
          • SubsegmentSearchResultsCollection
          • SubsegmentSearchSettings
          • SystemFields
          • SystemFieldsKeys
          • SystemFieldsParameters
          • TextContextMatch
          • TextContextMatchType
          • TranslationMemoryIterator
          • TranslationMemoryProgress
          • TranslationUnit
          • TranslationUnitFormat
          • TranslationUnitOrigin
          • TuContext
          • TuContexts
          • TuIdContexts
          • TuLimitsValidatorSettings
          • Utilities
          • WordCountFlags
          • WordCounter
          • WordCounts
          • WordCountsOptions
        • Sdl.LanguagePlatform.TranslationMemory.EditScripts
          • Continuation
          • EditAction
          • EditActionChangeFieldValue
          • EditActionDeleteAllFieldValues
          • EditActionDeleteFieldValue
          • EditActionDeleteTags
          • EditActionRenameField
          • EditActionSearchReplace
          • EditActionUpdateConfirmationLevel
          • EditScript
          • EditScriptApplier
          • EditUpdateMode
          • Mode
          • PatternType
        • Sdl.LanguagePlatform.TranslationMemory.Metrics
          • AbstractMetric
          • CoreTmNullMetricsReporter
          • GaugeMetric
          • ICoreTmMetricsReporter
        • Sdl.LanguagePlatform.TranslationMemoryApi
          • AbstractLocalTranslationMemory
          • AbstractMachineTranslationProvider
          • AbstractMachineTranslationProviderLanguageDirection
          • AlignmentTMBilingualProcessor
          • BatchExportedEventArgs
          • BatchImportedEventArgs
          • CascadeEntry
          • CascadeException
          • CascadeMessage
          • CascadeMessageCode
          • Cascade<T>
          • DatabaseServer
          • DatabaseServerAuthenticationType
          • DatabaseServerPermissions
          • DatabaseServerType
          • DefaultLanguageResourceProvider
          • FieldDefinition
          • FieldDefinitionCollection
          • FileBasedLanguageResourcesTemplate
          • FileBasedTranslationMemory
          • FileBasedTranslationMemoryLanguageDirection
          • FileTransferEventArgs
          • GenericCredentials
          • IAdvancedContextTranslationMemory
          • IAdvancedContextTranslationMemoryLanguageDirection
          • IAlignableTranslationMemory
          • IFieldsTemplate
          • IFileBasedTranslationMemory
          • ILanguageResourceEntity
          • ILanguageResourcesTemplate
          • ILocalTranslationMemory
          • IPermissionCheck
          • IReindexableTranslationMemory
          • ISubsegmentTranslationMemoryLanguageDirection
          • ISupportPlaceables
          • ITranslationMemory
          • ITranslationMemory2015
          • ITranslationMemoryLanguageDirection
          • ITranslationProvider
          • ITranslationProviderCredentialStore
          • ITranslationProviderFactory
          • ITranslationProviderLanguageDirection
          • ITranslationProviderLanguageDirectionWithDelete
          • ITranslationProviderSummaryFactory
          • ITranslationProviderWinFormsUI
          • ImportExportOperationBase
          • InMemoryTranslationMemory
          • LanguageResourceBundle
          • LanguageResourceBundleCollection
          • LanguageResourceEntity
          • LicensingStatusInformation
          • NullPropertyException
          • ObjectDeletedException
          • ObjectDoesNotExistException
          • ObjectNotSavedException
          • PagedTranslationMemories
          • PicklistItemDefinition
          • PicklistItemDefinitionCollection
          • PropertyValueValidator
          • ProviderStatusInfo
          • RemoteTranslationMemory
          • ScheduledOperation
          • ScheduledOperationStatus
          • ScheduledRecomputeStatisticsOperation
          • ScheduledReindexOperation
          • ScheduledServerTranslationMemoryExport
          • ScheduledServerTranslationMemoryImport
          • ServerBasedFieldsTemplate
          • ServerBasedLanguageResourcesTemplate
          • ServerBasedTranslationMemory
          • ServerBasedTranslationMemoryLanguageDirection
          • ServerBasedTranslationMemoryLanguageDirectionCollection
          • ServerImportStatus
          • StringResources
          • SystemFieldDefinitions
          • TranslationMemoryContainer
          • TranslationMemoryContainerPermissions
          • TranslationMemoryExporter
          • TranslationMemoryFieldsPermissions
          • TranslationMemoryFileAccessMode
          • TranslationMemoryImporter
          • TranslationMemoryLanguageResourcePermissions
          • TranslationMemoryPermissions
          • TranslationMemoryProperties
          • TranslationMemoryQuery
          • TranslationMemorySearchResultConverters
          • TranslationMemoryUpgradeUtil
          • TranslationMethod
          • TranslationProviderAuthenticationException
          • TranslationProviderCascadePermissions
          • TranslationProviderCredential
          • TranslationProviderCredentialStore
          • TranslationProviderDisplayInfo
          • TranslationProviderFactoryAttribute
          • TranslationProviderInfo
          • TranslationProviderManager
          • TranslationProviderServer
          • TranslationProviderUriBuilder
          • TranslationProviderWinFormsUiAttribute
          • TranslationUnitPermissions
        • Sdl.LanguagePlatform.TranslationMemoryApi.Helpers
          • FileBasedTMSettingsCloner
        • Sdl.LanguagePlatform.TranslationMemoryApi.Upgrade
          • AbstractTranslationMemoryCreator
          • BaseTranslationMemoryMigrationManager
          • IBaseTranslationMemoryMigrationManager
          • IExportableLegacyTranslationMemory
          • IFieldIdentifierMappings
          • IFieldIdentifierMappingsCollection
          • IFileBasedTranslationMemoryCreator
          • IInputLanguageDirectionData
          • IInputLanguageDirectionDataCollection
          • IInputTranslationMemory
          • IInputTranslationMemoryCollection
          • IItemCollection<T>
          • ILegacyLanguageDirectionData
          • ILegacyLanguageResources
          • ILegacyTranslationMemory
          • ILegacyTranslationMemorySetup
          • IMigrationProject
          • IOutputTranslationMemory
          • IOutputTranslationMemoryCollection
          • ITmxLegacyTranslationMemory
          • ITranslationMemoryCreator
          • ITranslationMemoryExporter
          • ITranslationMemorySetupOptions
          • InputLanguagePair
          • InputLanguagePairCollection
          • ItemCollectionAddedEventArgs<T>
          • ItemCollectionEventArgs<T>
          • ItemCollectionRemovedEventArgs<T>
          • ItemCollection<T>
          • LegacyLanguage
          • LegacyLanguagePair
          • LegacyTranslationMemorySetup
          • ProgressEventArgs
          • TmxFileStatus
    • Integration
      • Overview
      • What you can do with the Integration API
      • User Interface integration
        • Introduction
        • Creating views
        • Creating viewparts
        • Creating ribbon groups
        • Creating actions
        • Adding custom steps to wizards
        • Samples
          • Integrating views
          • Integrating viewparts
          • Integrating ribbon groups
          • Integrating actions
          • Reference Sample
          • Content Connector
          • Project Creator
          • Wikipedia Search
          • Implementing a custom job
      • Trados Studio Automation
        • Introduction
        • Create a Trados Studio application initializer
        • Create a Trados Studio AutoSuggest provider
        • Create command line processors
        • Trados Studio controllers
          • Introduction
          • Projects controller
          • Files controller
          • Editor controller
        • Extend default packaging functionality
        • Integration Samples
          • Trados Studio application initializers
          • Trados Studio AutoSuggest provider
          • Trados Studio command line processor
          • Using Trados Studio ProjectsController
          • Using Trados Studio FilesController
          • Using Trados Studio EditorController
          • Customizing the Open Package Wizard Sample
          • Customizing the Create Return Package Wizard Sample
          • Processing custom project package formats
      • Bilingual API
        • Overview
        • Traversing document entities
      • Display Filter
        • Introduction
        • Developing a Sample Custom Display Filter
          • What the filter should do
          • Setting up the Visual Studio Project
          • Implementing filtering capabilities to your Display Filter
          • Creating the UI Editor Control for your Display Filter
      • API Reference
        • Sdl.Desktop.IntegrationApi
          • AbstractAction
          • AbstractApplication
          • AbstractRibbonGroup
          • AbstractViewController
          • AbstractViewControllerAction<TController>
          • AbstractViewPartController
          • ActionExecutionCancelEventArgs
          • ActionExecutionEventArgs
          • ActivationChangedEventArgs
          • ApplicationHost<T>
          • DefaultSettingsPage<TControl, TSettings>
          • IApplicationInitializer
          • ISettingsAware<TSettings>
          • IViewContext
          • SettingsBinder
          • VisibilityChangedEventArgs
        • Sdl.Desktop.IntegrationApi.DefaultLocations
          • StudioDefaultContextMenus
          • StudioDefaultRibbonGroups
          • StudioDefaultRibbonTabs
          • StudioDefaultRibbonTabs.AddinsRibbonTabLocation
          • StudioDefaultRibbonTabs.HelpRibbonTabLocation
          • StudioDefaultRibbonTabs.ViewRibbonTabLocation
          • StudioDefaultViews
        • Sdl.Desktop.IntegrationApi.Extensions
          • AbstractCommandBarItemAttribute
          • AbstractLayoutAttribute
          • AbstractLayoutConfiguration
          • ActionAttribute
          • ActionLayoutAttribute
          • ApplicationInitializerAttribute
          • DisplayType
          • DockType
          • GroupStyle
          • ILocationAware
          • RibbonGroupAttribute
          • RibbonGroupLayoutAttribute
          • ShortcutAttribute
          • ViewAttribute
          • ViewPartAttribute
          • ViewPartLayoutAttribute
        • Sdl.Desktop.IntegrationApi.Extensions.CommandLine
          • ExternalCommandLineArgument
          • ExternalCommandLineArgumentDefinition
          • ExternalCommandLineArguments
          • ExternalCommandLineProcessorAttribute
          • IExternalCommandLineProcessor
          • IExternalWindowAwareCommandLineProcessor
        • Sdl.Desktop.IntegrationApi.Extensions.Internal
          • AbstractController
          • ActionProperties
          • ActionPropertyChangedEventArgs
          • ActionStyle
          • BindActionAttribute
          • BindControllerAttribute
          • IAction
          • IBindedController
          • PluginTargetCommandBarSiteType
        • Sdl.Desktop.IntegrationApi.Interfaces
          • IPluginLog
          • IPluginLoggerFactory
          • IStudioEventAggregator
          • IStudioGroupNotification
          • IStudioNotification
          • IStudioNotificationCommand
          • IUIControl
          • IUISettingsControl
        • Sdl.Desktop.IntegrationApi.Internal
          • AbstractBindedAction
          • AbstractBindedController
          • DefaultExplorerBar
        • Sdl.Desktop.IntegrationApi.Jobs
          • ExecuteExternalJobEvent
          • IExternalJob
          • IExternalJobExecutionContext
          • IExternalJobWithProgress
          • JobFinishedArgs
          • JobProgressArgs
        • Sdl.Desktop.IntegrationApi.Notifications.Events
          • AddStudioGroupNotificationEvent
          • AddStudioNotificationOrCreateGroupEvent
          • AddStudioNotificationToGroupEvent
          • RemoveStudioGroupNotificationEvent
          • RemoveStudioNotificationFromGroupEvent
          • ShowStudioNotificationsViewEvent
          • StudioWindowCreatedNotificationEvent
        • Sdl.Desktop.IntegrationApi.Wizard
          • IStudioWizardPage
          • StudioWizardPage
        • Sdl.Desktop.Platform.Controls.Behaviours
          • ComboboxPlaceholderBehavior
          • DataGridItemBehavior
          • DataGridSelectingItemBehaviour
          • DragDropBehaviour
          • EventBehaviourFactory
          • FocusExtension
          • FocusOnClickBehaviour
          • HighlightOnValueChanged
          • KeyboardFocusBehaviour
          • NumberOnlyBehaviour
          • PlaceholderAdorner
          • ShowSystemMenuBehavior
          • TextBlockAutoToolTipBehavior
          • TextBoxPlaceholderBehavior
          • TimedAutoHideBehaviour
          • TreeViewBringIntoViewWhenSelectedBehavior
          • TreeViewSelectedItemChangedBehaviour
          • WebBrowserBindableSourceBehavior
          • WebBrowserContentSource
          • WindowDragBehavior
          • WindowLoadedBehaviour
        • Sdl.Desktop.Platform.Controls.Browser
          • EmbeddedBrowserCookieManager
          • ICookieManager
          • INativeBrowserApi
          • NativeBrowserApi
          • WebBrowserExtensions
        • Sdl.Desktop.Platform.Controls.Controls
          • BindablePasswordBox
          • ButtonsAlignment
          • ComboBoxTreeViewWithNewItem
          • ComboBoxWithNewItem
          • CustomProgressRing
          • DataGridWithMultipleSelection
          • FeedbackControl
          • ManagerViewFeedback
          • NumericUpDown
          • NumericUpDownChangedRoutedEventArgs
          • NumericUpDownChangedRoutedEventHandler
          • ProgressBarWithPercentageText
          • SortWiseDataGrid
          • UniformWrapPanel
          • WindowsControlUtils
        • Sdl.Desktop.Platform.Controls.Controls.AcessibilityControls
          • AccessibleComboBox
          • AccessibleComboBoxItem
          • AccessibleDataGrid
        • Sdl.Desktop.Platform.Controls.Controls.CustomTreeViewComboBox
          • ComboBoxTreeView
          • ExtendedTreeView
          • ExtendedTreeViewItem
          • ITreeViewItemModel
        • Sdl.Desktop.Platform.Controls.Controls.MenuControlComboBox
          • IsFor
          • MenuControl
          • MenuControlCommandModel
          • MenuControlCommandModelList
          • MenuItemControl
          • MenuScope
          • MenuType
        • Sdl.Desktop.Platform.Controls.Controls.WatermarkTextBox
          • TextBoxWatermarkHelper
        • Sdl.Desktop.Platform.Controls.Converters
          • BooleanConverter<T>
          • BooleanOrConverter
          • BooleanToAutoRowHeightConverter
          • BooleanToFontConverter
          • BooleanToGridRowHeightConverter
          • BooleanToRatioRowHeightConverter
          • BooleanToVisibilityConverter
          • BulletedStringConverter
          • ComparisonConverter
          • EmptyStringConverter
          • EnumMatchToBooleanConverter
          • EnumToBooleanConverter
          • FeedbackCompletedToVisibilityConverter
          • HasSourceToIsEnabledConverter
          • ImageDrawingToXamlConverter
          • ImagePathToImageSourceConverter
          • ImageToBitmapImageConverter
          • InverseBooleanConverter
          • InverseBooleanToVisibilityConverter
          • InverseNullToVisibilityConverter
          • ItemCountToTabNavigationConverter
          • ItemsSourceToCommandConveter
          • LanguageNameToFlagConverter
          • MathMultipleConverter
          • MathOperation
          • MediaColorToBrushColorConverter
          • MenuControlEnabledConverter
          • MenuControlScopeToVisibilityConverter
          • NullableToVisibilityConverter
          • ObservableCollectionCountToVisibilityConverter
          • PercentRangeToColorConverter
          • StringIsNullOrEmptyToBool
          • StringIsNullOrEmptyToVisibility
          • ViewBoxMaxWidthOrHeightConverter
          • VisibilityToBooleanConverter
          • WordCountToStringConverter
          • WpfFormattedText
          • WpfFormattedText.TextPart
        • Sdl.Desktop.Platform.Controls.Errors
          • Severity
          • ValidationResultWithSeverity
        • Sdl.Desktop.Platform.Controls.Summary
          • DetailEntry
          • ISummaryData
          • SummarySection
          • SummaryView
          • SummaryViewModel
        • Sdl.Desktop.Platform.Styles.ImageResources
          • TranslationMemoryIcons
          • UserIcons
        • Sdl.DesktopEditor.BasicControls
          • BasicSegmentEditControl
        • Sdl.DesktopEditor.EditorApi
          • ActiveRowChangedEventArgs
          • AfterEditControlsCreatedEventArgs
          • AfterInitialUpdateEventArgs
          • ChangeNotAllowedException
          • ContentHeightChangedEventArgs
          • ContentNodeIterator
          • ContentRange
          • ContentRange.ReductionAllowedTest
          • CorrespondenceProvider
          • CustomColumnContentChangedEventArgs
          • CustomColumnLocation
          • DocumentContentChangedEventArgs
          • DocumentPropertiesChangedEventArgs
          • EditControlEventArgs
          • EditException
          • EditOperationAbortedEventArgs
          • EditOperationCompletingEventArgs
          • FilePropertiesChangedEventArgs
          • FindType
          • FocusedControlChangedEventArgs
          • FocusedControlChangedEventArgs.FocusChangeType
          • FormattingBuilderVisitor
          • FrameworkDocumentContentChangedEventArgs
          • FrameworkNodeWrapperVisitor
          • IAbstractContainerNode
          • IAbstractContentNode
          • IAbstractEditOperation
          • IAbstractFrameworkDocument
          • IAbstractFrameworkEditControl
          • IAbstractNode
          • IBilingualDocument
          • IBookmarkNode
          • IChangeGhostStatusOperation
          • IChangeTextOperation
          • IChangeableBookmarkNode
          • IChangeableCommentContainerNode
          • IChangeableContainerNode
          • IChangeableDocumentContainerNode
          • IChangeableFileContainerNode
          • IChangeableLocationMarkerNode
          • IChangeableLockedContentContainerNode
          • IChangeableMarkerContainerNode
          • IChangeableNode
          • IChangeableParagraphUnitContainerNode
          • IChangeablePlaceholderTagNode
          • IChangeableRevisionMarkerContainerNode
          • IChangeableSegmentContainerNode
          • IChangeableStartEndNode
          • IChangeableTagPairContainerNode
          • IChangeableTextNode
          • ICollectiveUndoCommand
          • ICommentContainerNode
          • IContentSelection
          • IControl
          • ICustomColumn
          • IDeleteNodeOperation
          • IDocument
          • IDocumentContainerNode
          • IDocumentFragment
          • IEditControl
          • IEditOperationVisitor
          • IFileContainerNode
          • IFind
          • IFindProperties
          • IFrameworkDocument
          • IFrameworkEditControl
          • IInsertNodeOperation
          • IInteractiveAccessibleCustomColumn
          • IInteractiveCustomColumn
          • ILayoutSynchronizer
          • ILocationMarkerNode
          • ILockedContentContainerNode
          • IMarkupDataNode
          • INode
          • INodeFactory
          • INodeVisitor
          • IOtherMarkerContainerNode
          • IParagraphUnitContainerNode
          • IPlaceholderNode
          • IPlaceholderTagNode
          • IRevisionMarkerContainerNode
          • IRowInfo
          • ISegmentContainerNode
          • ISegmentDocument
          • ISegmentEditControl
          • ISideBySideEditor
          • IStartEndNode
          • ISynchronizableCell
          • ISynchronizableLayout
          • ITagPainter
          • ITagPaintingProperties
          • ITagPairContainerNode
          • ITextIterator
          • ITextMark
          • ITextMarkPainter
          • ITextNode
          • ITreeNode<NodeType, ContainerType>
          • IUndoBuffer
          • IUndoCommand
          • InteractiveEventFlags
          • InvalidEditOperationException
          • MarkupDataNodeFinder
          • MarkupDisplayMode
          • MouseEnteringNodeEventArgs
          • MouseLeavingNodeEventArgs
          • MouseOverTextMarksChangedEventArgs
          • Move
          • NodeIterator
          • OverwriteModeChangedEventArgs
          • ParagraphUnitPropertiesChangedEventArgs
          • PersistentScrollInfoChangedEventArgs
          • Position
          • RowChangedEventArgs
          • RowsChangedEventArgs
          • SegmentPropertiesChangedEventArgs
          • SelectionChangedEventArgs
          • Shading
          • SourceEditingModeEndedEventArgs
          • SourceEditingModeStartedEventArgs
          • TagDisplayMode
          • TextMarkLayer
          • UndoBufferContentChangedEventArgs
          • VScrollEventArgs
        • Sdl.DesktopEditor.EditorApi.Extensions
          • EditorApiExtensions
        • Sdl.DesktopEditor.EditorApi.Implementation
          • AbstractCollectiveUndoCommand
          • AbstractCustomColumn
          • AbstractMarkPainter
          • AbstractMarkPainter.MarkLocation
          • AbstractOperationConsolidator
          • AbstractRowSelectionColumn
          • AbstractTextIterator
          • BackgroundColourPainter
          • BracketPainter
          • ChangeGhostStatusConsolidator
          • ChangeGhostStatusOperation
          • ChangeTextConsolidator
          • ChangeTextOperation
          • CopyFragmentVisitor
          • DeleteNodeOperation
          • DeleteOperationConsolidator
          • DocumentStructureInfoColumn
          • EditControlDisplaySettings
          • EditControlFontSizeSettings
          • EditOperationConsolidatorVisitor
          • FindResultPainter
          • HorizontalLinePainter
          • IRowEventSource
          • InsertNodeOperation
          • InsertOperationConsolidator
          • MarkupDataNodeIterator
          • PlainTextExtractionVisitor
          • PlainTextMapper
          • ProjectEditorSettings
          • RemoveFormattingVisitor
          • RowNumberColumn
          • RowSizeAccessor
          • SegmentIdColumn
          • SquigglyLinePainter
          • SquigglyLinePainter.SquiggleShape
          • TagPaintingProperties
          • TermRecognitionBoldPainter
          • TextMark
          • TextOnlyFragmentVisitor
        • Sdl.LanguageCloud.IdentityApi
          • ILanguageCloudIdentityApi
          • LanguageCloudCredentialInfo
          • LanguageCloudIdentityApi
          • LoginData
        • Sdl.TellMe.ProviderApi
          • AbstractTellMeAction
          • ISearchDataProvider
          • ISearchSpecification
          • ITellMeAction
          • ITellMePluginLoader
          • ITellMeProvider
          • TellMeProviderAttribute
          • TellMeSearchProviderAttribute
        • Sdl.TranslationStudioAutomation.IntegrationApi
          • AbstractContentSelection
          • AutomationSegmentPairExtension
          • CancelDocumentEventArgs
          • ContentSelectionInfo
          • CurrentProjectCancelEventArgs
          • Document
          • DocumentContentEventArgs
          • DocumentErrorEventArgs
          • DocumentEventArgs
          • DocumentFilterEventArgs
          • DocumentSelection
          • EditDistanceComputeParams
          • EditingMode
          • EditorController
          • FilesController
          • FocusedDocumentContent
          • IStudioDocument
          • ProjectsController
          • ReportsViewController
          • SdlTradosStudio
          • SegmentOperations
          • SourceSelection
          • StudioAutomationIntegrationAPIModule
          • TargetSelection
          • TranslationMemoriesViewController
          • WelcomeViewController
        • Sdl.TranslationStudioAutomation.IntegrationApi.Actions
          • AddProjectAction
          • CloseAllDocumentsAction
          • CloseDocumentAction
          • CloseProjectAction
          • CreateReturnPackageFromProjectAction
          • LanguageCloudAction
          • NewProjectAction
          • OpenDocumentAction
          • OpenPackageAction
          • OpenProjectAction
          • SaveAllDocumentsAction
          • SaveDocumentAction
          • SaveDocumentAsAction
          • SaveDocumentSourceAsAction
          • SaveDocumentTargetAsAction
        • Sdl.TranslationStudioAutomation.IntegrationApi.AutoSuggest
          • AbstractAutoSuggestProvider
          • AbstractAutoSuggestResult
          • AbstractEditingContext
          • AutoSuggestSettings
          • AutoSuggestTextResult
        • Sdl.TranslationStudioAutomation.IntegrationApi.DisplayFilters
          • DisplayFilterRowInfo
          • IDisplayFilter
          • IDisplayFilterRowInfo
        • Sdl.TranslationStudioAutomation.IntegrationApi.Editor.ConcordanceSearch
          • ConcordanceSearchController
          • ConcordanceSearchResults
          • ConcordanceSearchType
          • IConcordanceSearchController
        • Sdl.TranslationStudioAutomation.IntegrationApi.Editor.TermRecognitionResults
          • ITermRecognitionResultsController
          • TermRecognitionResult
          • TermRecognitionResultsController
        • Sdl.TranslationStudioAutomation.IntegrationApi.Editor.TranslationResults
          • ITranslationResultsController
          • TranslationResults
          • TranslationResultsController
        • Sdl.TranslationStudioAutomation.IntegrationApi.Events
          • AddFileDescriptorExceptionNotificationEvent
          • ChangeSourceContentSettingsEvent
          • CommentsChangedEvent
          • CommentsChangedEvent.CommentEventType
          • CommentsChangedEvent.CommentScope
          • CreateReturnPackageEvent
          • OpenNewProjectWizardEvent
          • OpenProjectForSelectedLanguageEvent
          • OpenProjectPackageEvent
          • ProjectWizardData
          • RefreshProjectsEvent
          • SegmentSplitEvent
          • SegmentsMergedEvent
        • Sdl.TranslationStudioAutomation.IntegrationApi.Extensions
          • AutoSuggestProviderAttribute
          • ExternalPackageConvertorExtensionAttribute
          • ISegmentExtensions
        • Sdl.TranslationStudioAutomation.IntegrationApi.Internal
          • SdlTradosStudioApplication
        • Sdl.TranslationStudioAutomation.IntegrationApi.Packaging
          • ConvertExternalPackageEventArgs
          • ExternalPackageConversionInfo
          • IConversionContext
          • IExternalPackageConverter
          • MessageLevel
          • PackageConversionResult
          • PackageConverterMessageEventArgs
          • PackagingConstants
        • Sdl.TranslationStudioAutomation.IntegrationApi.Presentation
          • EditorReviewLayoutConfiguration
          • EditorSignoffLayoutConfiguration
        • Sdl.TranslationStudioAutomation.IntegrationApi.Presentation.DefaultLocations
          • TranslationStudioDefaultContextMenus
          • TranslationStudioDefaultContextMenus.EditorDocumentContextMenuLocation
          • TranslationStudioDefaultContextMenus.EditorDocumentSpellcheckContextMenuLocation
          • TranslationStudioDefaultContextMenus.FilesContextMenuLocation
          • TranslationStudioDefaultContextMenus.ProjectsContextMenuLocation
          • TranslationStudioDefaultRibbonGroups
          • TranslationStudioDefaultRibbonTabs
          • TranslationStudioDefaultRibbonTabs.EditorAdvancedRibbonTabLocation
          • TranslationStudioDefaultRibbonTabs.EditorReviewRibbonTabLocation
          • TranslationStudioDefaultRibbonTabs.HomeRibbonTabLocation
          • TranslationStudioDefaultViews
          • TranslationStudioDefaultViews.TradosStudioViewsLocation
        • Sdl.TranslationStudioAutomation.Licensing
          • LicenseChecker
          • LicenseManager
          • StudioEdition
          • StudioFeature
        • Sdl.Versioning
          • Company
          • IStudioVersionService
          • StudioVersion
          • StudioVersionService
          • VersionedPaths
          • Versions
    • Verification
      • Overview
      • How to Create a Native Verifier
      • How to Create a Bilingual Verifier
      • How to Create a Global Verifier
        • Create a New Project
        • The Resources File
        • Implement the User Interface
        • Retrieve the Settings Values
        • Implement the UI Controller Class
        • Implement the Verification Logic
        • Enhance the Verifier
      • How to Create a Custom Message Control
        • Introduction to Custom Message Controls
        • Create a Custom Message Control
        • Add suggestion to a Custom Message Control
        • Edit Segment and Apply Changes to Document
      • API Reference
        • Sdl.Verification.Api
          • GlobalVerifierAttribute
          • GlobalVerifierSettingsPageAttribute
          • IGlobalVerifier
          • IHelpTopic
          • ILanguageDirectionVerifier
          • IMessageControlContainer
          • IMessageControlPlugIn
          • ISegmentChangedAware
          • ISerializeVerifierProfile
          • ISuggestionProvider
          • ITermVerifierContext
          • ITermVerifierSettingsContext
          • ITermVerifierSettingsContextAware
          • IVerificationCustomMessageData
          • LanguageDirectionVerifierAttribute
          • MessageControlPlugInAttribute
          • SerializeProfileVerifierAttribute
          • Suggestion
          • TermPicklistField
          • WrongSettingsFileException
    • Batch Tasks
      • Overview
      • Developing a sample batch task
        • What our sample batch task should do
        • Setting up the Visual Studio project
        • Adding a Settings UI to our Batch Task
        • Processing Files and Application Logic
        • Rendering the Task Report
      • API Reference
        • Sdl.ProjectAutomation.AutomaticTasks
          • AbstractFileContentProcessingAutomaticTask
          • AbstractFileLevelAutomaticTask
          • AutomaticTaskAttribute
          • AutomaticTaskFileType
          • AutomaticTaskSupportedFileTypeAttribute
          • CancelHelper
          • LanguageDirection
          • MessageLevel
          • ProjectFileExtension
          • RequiresSettingsAttribute
          • TaskProgressEventArgs
          • WordCounter
    • Terminology Provider
      • Overview
      • Developing a Sample Terminology Provider
        • What our Sample Terminology Provider should do
        • Setting up the Visual Studio project
        • Selecting the Glossary File
        • Setting the Source and Target Language
        • Setting the Glossary Fields
        • Searching Terms
        • Displaying Entry Content
        • Adding Terms
      • API Reference
        • Sdl.Terminology.TerminologyProvider.Core
          • Definition
          • DefinitionLanguage
          • DescriptiveField
          • Entry
          • EntryEventArgs
          • EntryField
          • EntryLanguage
          • EntryTerm
          • EntryTransaction
          • FieldLevel
          • FieldType
          • FilterDefinition
          • GenericCredentials
          • IConnectionAwareTerminologyProvider
          • IFileBasedTerminologyProviderDefaultPath
          • ILanguage
          • IMultipleTerminologyProvider
          • ITermbaseMetrics
          • ITerminologyExport
          • ITerminologyImport
          • ITerminologyMarkupProvider
          • ITerminologyProvider
          • ITerminologyProviderCredentialStore
          • ITerminologyProviderFactory
          • ITerminologyProviderManager
          • ITerminologyProviderReadOnly
          • ITerminologyProviderViewerWinFormsUI
          • ITerminologyProviderWinFormsUI
          • ITerminologyProviderWinFormsUIWithCreate
          • ITerminologyProviderWinFormsUIWithEdit
          • MarkupPosition
          • SearchMarkupResult
          • SearchMarkupResultWithTermbaseName
          • SearchMode
          • SearchResult
          • SearchResultWithTermbaseName
          • TerminologyExportType
          • TerminologyImportType
          • TerminologyProviderCredential
          • TerminologyProviderCredentialStore
          • TerminologyProviderDisplayInfo
          • TerminologyProviderFactoryAttribute
          • TerminologyProviderManager
          • TerminologyProviderStatus
          • TerminologyProviderType
          • TerminologyProviderViewerWinFormsUIAttribute
          • TerminologyProviderWinFormsUIAttribute
          • TerminologyUserCredentials
          • TerminologyUserManagerTokenType
          • TransactionType
        • Sdl.Terminology.TerminologyProvider.Core.Exceptions
          • ConnectionException
          • InvalidCredentialsException
          • MissingTerminologyProviderException
          • SearchParameterMissingException
          • TermbaseExportException
          • TermbaseImportException
          • TermbaseInitializationException
          • UnsupportedExportFileFormatException
          • UnsupportedImportFileFormatException
    • Release Notes
      • Release Notes for Trados Studio 2024

    Implementing the File Parser

    In this chapter you will learn how to process a native file and make its content available for processing in Trados Studio.

    Add the File Parser Class

    Once a given file has been found to be valid, the file parser component is meant to process its content, so that it becomes available for interactive translation in the editor of Trados Studio, or for batch processing, e.g. automatic pre-translation, file analysis, word count, etc.

    Files usually contain translatable text as well as strings that need to be protected against editing, such as tags in HTML. The application logic of your parser needs to determine what should be exposed as translatable text and which elements need to be protected against editing. Depending on the complexity of the given format a thorough format analysis might be required.

    Remember what the simple text format that our file type plug-in needs to process looks like (see below):

    • Text
    [Version=0]
    [Element=text1]
    Automatically re-open previously edited documents. 
    [Element=text2]
    Prompt me to re-open previously edited documents. Opens a dialog box on start-up.
    [Element=text3]
    Do <b>not</b> automatically re-open previously edited couments. This is the default option.
    [Element=text4]
    Prd-Code NCC1504
    

    For more information and processing requirements of this format, please refer back to the chapter Introduction. Start by adding a class called e.g. SimpleTextParser.cs to your project. Since the parser needs to read text files for processing, add the System.IO namespace to the class. It is recommended that you also add the System.Drawing namespace. This makes it easier to select colour values, which will be useful for highlighting context information later. Also, add the namespace Sdl.FileTypeSupport.Framework.NativeApi for processing native formats. Your file parser class needs to be derived from AbstractNativeFileParser and implement the interfaces INativeContentCycleAware. Also, if you have parser specific settings which you need to apply, you also need to implement the InitializeSettings method of the ISettingsAware interface. The class needs to contain the following members of the INativeContentCycleAware interface:

    1. SetFileProperties: Retrieves important information on the input file such as file name, . path, and encoding.
    2. StartOfInput: This method is triggered when the parser starts to read the native input file. You could use this method, for example, to set the progress indicator to the beginning, i.e. 0%. As native input files can be complex and comprehensive, Trados Studio displays a progress bar upon opening a file. The progress of this indicator can be set programmatically.
    3. EndOfInput: This method is triggered when the parser has reached the end of the native input file. You could use this method, for example, to set a progress indicator to 100%. The minimum amount of code to build a project with a native file parser looks as shown below:
    • C#
    using Sdl.FileTypeSupport.Framework.BilingualApi;
    using Sdl.FileTypeSupport.Framework.NativeApi;
    
    namespace Sdk.Snippets.Native
    {
        public class SimpleTextParser1 : AbstractNativeFileParser, INativeContentCycleAware
        {
            IPersistentFileConversionProperties _fileConversionProperties;
    
            public void SetFileProperties(IFileProperties properties)
            {
                _fileConversionProperties = properties.FileConversionProperties;
            }
    
            public void StartOfInput()
            {
            }
    
            public void EndOfInput()
            {
            }
        }
    }
    

    Open the Native Input File

    Add a BeforeParsing method to open the native input file. You can retrieve the input file name and path through the OriginalFilePath property, which is implemented by the file conversion properties interface. Here you can also use the method OnProgress and set the parsing progress value to 0%. Upon opening a file in Trados Studio a progress bar is raised to indicate the progress of the parsing operation. Through the OnProgress method you can control this progress bar by setting the byte parameter to an appropriate value. For example, after half of the lines in a given text files have been parsed, you can set the parameter to 50. Below you see how we use the BeforeParsing method in our implementation:

    • C#
    protected override void BeforeParsing()
    {
        // set progress reporter to the beginning
        OnProgress(0);
    
        // open the native input file for reading
        _reader = new StreamReader(_fileConversionProperties.OriginalFilePath);
    }
    
    Note

    You may wonder what the difference between BeforeParsing and StartOfInput is. Trados Studio allows you to merge several files into one master document. Such a master document can even contain several documents of different native formats (e.g. DOC and PPT). The BeforeParsing method can be used to execute the application logic required before the start of the whole parsing process such as writing meta information into the header of the master file. StartOfInput can contain the logic applied to a particular native file that is merged with other native files. However, in our simple implementation, this use case is not covered. Here, we only use the BeforeParsing method to set the progress to 0% and to create a text streamreader object.

    Parse the Input File

    The AbstractNativeFileParser class implements the member DuringParsing, which you need to override in your file parser class. This method reads the input file from the beginning to the end.

    • C#
    protected override bool DuringParsing()
    {
        // iterate through all lines in the input file
        while (!_reader.EndOfStream)
        {
            ProcessLine(_reader.ReadLine());
        }
        return false;
    }
    

    For each line of text you call a separate ProcessLine() helper function to determine whether a given line contains translatable text or not.

    • C#
    private void ProcessLine(string sLine)
    {
        if (sLine.StartsWith("[") && sLine.EndsWith("]"))
        {
            WriteStructureTag(sLine);
            WriteContext(sLine);
        }
        else
        {
            WriteText(sLine);
        }
    }
    

    The ProcessLine() helper function works as follows: If a line starts with an opening bracket and ends with a closing bracket, we call separate helper functions called WriteStructureTag() and WriteContext, which we still need to implement. The WriteStructureTag() helper is used to write any non-translatable information into a structure tag. The non-translatable text (i.e. the strings enclosed in [brackets]) will thus be physically present in the bilingual SDLXliff file, but they will not be exposed to the user. You need to include the non-translatable information in the SDLXliff file, so that the corresponding strings can be written back to the native target file later (generation).

    Since users cannot see the structure tag content in the editor of Trados Studio, it is recommended (though not required) that you add some context information, which is then shown in the document structure column on the right-hand side of the editor. You can have your file type plug-in display a short descriptive code. By moving the mouse over the corresponding code or by double-clicking the user can display more detailed information, which can sometimes be useful for the translation process. This is what is actually done through a separate WriteContext() helper function, which we will implement later.

    Output Translatable Text

    If a given line does not start and end with a bracket, then the string can be considered translatable text, and can therefore be exposed to the user for translation. This is done through the helper function WriteText().

    The WriteText() helper uses CreateTextProperties method ofy properties factory to create a text properties object (ITextProperties) that contains the localizable text. The actual text of this property can then be output by using the Output.Text() method.

    • C#
    // output translatable text
    private void WriteText(string TextContent)
    {
        ITextProperties textProperties = PropertiesFactory.CreateTextProperties(TextContent);
        Output.Text(textProperties);
    }
    

    Output Structure Tags

    In the same way the WriteStructureTag() helper function uses the CreateStructureTagProperties method of the properties factory to output the non-translatable lines as structure tags to the intermediate (SDLXliff) file. When creating the tag property the tag content is passed to the Create() method as a parameter. The tag property can then be output to the API using the method Output.StructureTag().

    • C#
    // output non-translatable text as structure tag
    private void WriteStructureTag(string TagContent)
    {
        IStructureTagProperties structureTagProperties = PropertiesFactory.CreateStructureTagProperties(TagContent);
        structureTagProperties.DisplayText = TagContent;
        Output.StructureTag(structureTagProperties);
    }
    

    Output Context Information

    Context information can help translators do job more effectively. Therefore it is useful (but not required) to have your file type plug-in output some context information. To this end, we will add the WriteContext() helper function to the file parser class, which looks as shown below:

    • C#
    // output context information, not required, but useful
    // information for the translator
    private void WriteContext(string ContextContent)
    {
        IContextProperties contextProperties = PropertiesFactory.CreateContextProperties();
        IContextInfo contextInfo = PropertiesFactory.CreateContextInfo(ContextContent);
        contextInfo.DisplayCode = "EL";
        contextInfo.DisplayName = "Element";
        contextInfo.Description = ContextContent;
        contextInfo.DisplayColor = Color.Beige;
        contextProperties.Contexts.Add(contextInfo);
        Output.ChangeContext(contextProperties);
    }
    

    We use the CreateContextInfo method of the properties factory to generate a context information object, and then output the context properties. As you can see, the context information object can be configured through a range of parameters. These parameters define what is displayed in the document structure column of the editor. In the editor, users first see the short form (i.e. the display code). In this case, the display code EL is shown. When the mouse pointer is moved over the display code, the display name, here Element is shown in a tooltip. By double-clicking the display code, users can open a separate dialog box, which shows the entire string, i.e. the description, e.g. [Element=text3]. Note that you can specify a background colour for each context element. By assigning different colour to contexts you make it easer for the user to differentiate between different contexts (e.g. headings, paragraphs, footnotes, etc.).

    Once you have implemented these functions and built the solution, you can open a sample file in Trados Studio. In the translation editor the file will then look as shown below:

    SimpleSampleTextInEditor

    Note that the inline formatting tags are still exposed as normal, translatable text, which should, of course, not be the case. The next chapter (see Processing Inline Formatting) covers the topic of how to enhance the file type plug-in to properly mark up these elements as inline tags and apply the correct formatting to the strings that they enclose.

    Also note that the File Type Support Framework has automatically taken care of the segmentation, i.e. the individual sentences appear in separate cells within the editor. This relieves you of implementing a segmentation logic yourself.

    Below is an example of what the user sees after double-clicking the context display codes.

    ElementCode

    Close and Release the Input File

    After having parsed the complete file, you should override the AfterParsing method of the abstract native file parser. In this function you can close and release the original file from memory. You can also call the OnProgress method and set the progress value to 100%.

    • C#
    protected override void AfterParsing()
    {
        //close original file
        _reader.Close();
        _reader.Dispose();
        _reader = null;
        //set progres report to 100%
        OnProgress(100);
    }
    

    Add the Component Reference to the File Type Component Builder

    Do not forget to reference the file parser component to the File Type Component Builder by inserting the following method:

    • C#
    /// <summary>
    /// Gets the file extractor for this component.
    /// </summary>
    /// <param name="name">not used here</param>
    /// <returns>a FileExtractor containing an Simple Text Parser</returns>
    public virtual IFileExtractor BuildFileExtractor(string name)
    {
        var parser = new SimpleTextParser();
        parser.LockPrdCodes = true;
        var extractor = this.FileTypeManager.BuildFileExtractor(this.FileTypeManager.BuildNativeExtractor(parser), this);
        extractor.AddFileTweaker(new SimpleFilePreTweaker {RequireValidEncoding = false});
        return extractor;
    }
    

    See Also

    Processing Inline Formatting

    Enhancing the File Parser to Process the Settings

    Processing Placeholder Tags

    Handling Tags During Segmentation

    Locking Specific Strings

    Using context information

    Note

    This content may be out-of-date. To check the latest information on this topic, inspect the libraries using the Visual Studio Object Browser.

    • Improve this Doc
    In this article
    • Add the File Parser Class
    • Open the Native Input File
    • Parse the Input File
    • Close and Release the Input File
    • Add the Component Reference to the File Type Component Builder
    • See Also
    Back to top Generated by DocFX