Artboard 1
  • Articles
  • Trados Studio APIs
  • Trados Studio APIs
  • Translation Memory
  • Sample Projects
  • TM Batch Import Tool
  • Looping through the Folder(s)
Search Results for

    Show / Hide Table of Contents
    • Overview
    • Core
      • Plug-in Framework Overview
      • Basic Use Cases
        • Basic Use Cases
        • Defining an Extension Point
        • Creating Extensions
        • Creating the Host Apllication
      • Advanced Use Cases
        • Advanced Use Cases
        • The Plug-in Registry
        • Object Registry
        • Auxiliary Extension Attributes
        • Sortable Extension Points
        • Plug-in Resources and Localizability
        • Deployment
        • Plug-in State
        • Plug-in State Handlers
        • The Plug-in Manifest Generator
        • Compile-time Validation
        • Serialization Performance
      • API Reference
        • Sdl.Core.Globalization
          • Codepage
          • ConfirmationLevel
          • Language
          • LanguageCancelEventArgs
          • LanguageDisplaySettings
          • LanguageEventArgs
          • LanguageFormat
          • LegacySdlxLanguage
          • LegacyTradosLanguage
          • LocalizableString
          • UnsupportedCodepageException
          • UnsupportedLanguageException
        • Sdl.Core.Globalization.LanguageRegistry
          • AlternativeLanguageCode
          • LanguageRegistry
          • LanguageRegistryApi
          • MappingType
          • Product
        • Sdl.Core.Globalization.NumberMetadata
          • DoubleNumberGrammarRange
          • IntNumberGrammarRange
          • NumberGrammarRangeSet
          • NumberMetadata
          • NumberMetadataApi
          • NumberMetadataRegistry
          • NumberMetadataRegistryException
          • RangeOperator
          • RangeTransform
        • Sdl.Core.Globalization.UnitMetadata
          • LabelValueCondition
          • LabelValueSet
          • UnitDefinition
          • UnitDefinitionSet
          • UnitMetadata
          • UnitMetadataApi
          • UnitMetadataRegistry
          • UnitMetadataRegistryException
          • UnitMetadataSet
        • Sdl.Core.PluginFramework
          • AuxiliaryExtensionAttribute
          • AuxiliaryExtensionAttributeCollection
          • DefaultObjectResolver
          • DefaultPluginLocator
          • DefaultPluginTypeLoader
          • ExtensionAttribute
          • ExtensionCollection
          • ExtensionEventArgs
          • ExtensionPointBehavior
          • ExtensionPointCollection
          • ExtensionPointInfoAttribute
          • FileBasedPluginDescriptor
          • IExtension
          • IExtensionAware
          • IExtensionPoint
          • InitializePluginCompletedEventArgs
          • InitializePluginProgressChangedEventArgs
          • InvalidSdlAssemblyReference
          • IObjectResolver
          • IPlugin
          • IPluginCache
          • IPluginDescriptor
          • IPluginFilter
          • IPluginInitializer
          • IPluginLocator
          • IPluginRegistry
          • IPluginStateHandler
          • IPluginTypeLoader
          • IThirdPartyPluginDescriptor
          • IValidatingPluginLocator
          • 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
          • ExtensionsFactory
          • ExtensionsRepository
          • ExtensionStoreItem
          • 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
          • 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.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
          • IconDescriptor
          • 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
          • 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
          • IdConflictResolution
          • 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
          • LocationMarkerId
          • LockTypeFlags
          • NativeTextLocation
          • ParagraphUnitId
          • ProcessSubContentEventArgs
          • ProgressEventArgs
          • ProgressReporter
          • RepetitionId
          • RevisionTypeNotSupportedException
          • SegmentationHint
          • SegmentId
          • 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
          • ConfirmationStatistics
          • CountData
          • DataTransferEventArgs
          • ExecutionMessage
          • ExtensionMethods
          • FileRole
          • FuzzyCountData
          • IProject
          • IProjectDeleteOperation
          • LocalFileState
          • LocalTermbase
          • ManualTask
          • MergedProjectFile
          • MergeState
          • MessageEventArgs
          • MessageLevel
          • PackageOperation
          • PackageStatus
          • PackageStatusEventArgs
          • ProgressEventArgs
          • ProjectAutomationException
          • ProjectFile
          • ProjectFileVersion
          • ProjectInfo
          • ProjectPackageCreation
          • ProjectPackageCreationOptions
          • ProjectPackageImport
          • ProjectReference
          • ProjectStatistics
          • ProjectStatus
          • ProjectTemplateInfo
          • ProjectTemplateReference
          • ProjectTranslationMemoryPackageOptions
          • ProjectType
          • PublicationStatus
          • ReportFormat
          • ReturnPackageCreation
          • ReturnPackageImport
          • ServerTermbase
          • TargetLanguageStatistics
          • Task
          • TaskFile
          • TaskFileInfo
          • TaskMessageEventArgs
          • TaskReport
          • TaskStatus
          • TaskStatusEventArgs
          • Termbase
          • TermbaseConfiguration
          • TermbaseLanguageIndex
          • TermbaseSearchOrder
          • TermRecognitionOptions
          • TranslationProviderCascadeEntry
          • TranslationProviderConfiguration
          • TranslationProviderReference
          • ValueStatus
          • WordCountStatistics
        • Sdl.ProjectAutomation.FileBased
          • AbstractContentProcessor
          • AbstractContentTask
          • FileBasedProject
          • LicensingException
          • ProjectCredentials
          • ProjectEvent
          • ProjectServer
          • PublishProjectEventArgs
          • PublishProjectResult
          • ServerProjectInfo
          • TaskSequence
          • 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
          • ExportFilesSettings
          • ExportFileVersion
          • ExportForReviewTaskSettings
          • ExternalReviewMappingItem
          • ImportFromReviewTaskSettings
          • MeasurementsFormattingMode
          • NoTranslationMemoryMatchFoundAction
          • PerfectMatchTaskSettings
          • ProjectSettings
          • ProjectTranslationMemoryTaskSettings
          • PseudoTranslateSettings
          • ReturningPackageSettings
          • SourceTrackChangesLookupMode
          • TmImportOption
          • TranslateTaskSettings
          • TranslationCountSettings
          • TranslationMemorySettings
          • TranslationMemoryUpdateTaskSettings
          • TranslationUpdateMode
          • WordCountSettings
        • 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
          • AlignableContentPairId
          • AlignableCorpusId
          • AlignedPhrase
          • AlignerDefinition
          • AlignmentEvidence
          • AlignResult
          • BilingualChiSquareComputer3
          • BilingualPhraseComputer3
          • BilingualPhraseComputer3.Settings
          • ChiSquaredAligner
          • ChiSquaredAligner.CodedTokenIndexConverter
          • ChiSquaredAligner.NullModelException
          • ChiSquaredLiftAligner
          • ChiSquaredTranslationModel
          • ChiSquaredTranslationModelBuilder
          • ChiSquaredTranslationModelId
          • ChiSquaredTranslationModelStoreReadOnly
          • CooccurrenceCounter2
          • FGAInitializer
          • IAlignableContentPair
          • IAlignableCorpus
          • IAlignableCorpusManager
          • IAlignerBroker
          • IAlignerService
          • IChiSquaredTranslationModelStore
          • IChiSquaredTranslationModelStoreReadOnly
          • IFineGrainedAligner
          • ITranslationModelDataService
          • ITranslationModelManagementService
          • ITranslationModelManager
          • LiftAligner
          • LiftAligner.SpanHypothesis
          • LiftAligner.SpanHypothesisArray
          • ModelBasedAlignerDefinition
          • ModelNotFoundException
          • OnlineAlignerDefinition
          • SimpleAlignerBroker
          • SimpleAlignmentEvidence
          • TokenWithCount
          • TrainedModelAligner
          • TrainedModelAligner.CodedTokenIndexConverter
          • TrainedModelBuildResults
          • TrainedTranslationModel
          • TrainedTranslationModelBuilder
          • TrainedTranslationModelId
          • TranslationModel
          • TranslationModelCancelException
          • TranslationModelDetails
          • TranslationModelFitness
          • TranslationModelId
          • TranslationModelMatrixEntry
          • TranslationModelProgressEventArgs
          • TranslationModelProgressStage
          • TranslationModelTypes
          • TranslationModelVocabEntry
          • VocabularyFile3
          • WordAlignmentComputer3
        • Sdl.Core.LanguageProcessing.Tokenization
          • SeparatorCombination
        • Sdl.Core.TM.ImportExport
          • BatchExportedEventArgs
          • BatchImportedEventArgs
          • Exporter
          • IExportOrigin
          • IImportDestination
          • Importer
          • Importer.ImportResultsMap
          • ImportExportResponse
          • LanguageMismatchException
          • TmApiImportExport
        • Sdl.LanguagePlatform.Core
          • CharacterProperties
          • CharacterProperties.Case
          • CharacterSet
          • CultureInfoExtensions
          • CultureInfoExtensions.LanguageGroupID
          • CultureInfoExtensions.LanguageGroupInstallationStatus
          • CultureString
          • DateTimeUtilities
          • ErrorCode
          • FaultDescription
          • FaultStatus
          • ISegmentElementVisitor
          • LanguageMetadata
          • 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
          • LanguageResourceType
          • 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
          • PhysicalUnit
          • PhysicalUnitDescription
          • PhysicalUnitDescriptions
          • PrioritizedToken
          • Sign
          • SimpleToken
          • TagToken
          • Token
          • TokenBundle
          • TokenizationContext
          • TokenizerFlags
          • TokenType
          • Unit
          • UnitSeparationMode
          • UnitSystem
          • UnitType
        • Sdl.LanguagePlatform.IO
          • MultiFileTextReader
        • Sdl.LanguagePlatform.IO.Streams
          • CommentEvent
          • EndOfInputEvent
          • Event
          • IEventReader
          • IEventReceiver
          • StartOfInputEvent
          • TUEvent
          • TUStreamContext
        • Sdl.LanguagePlatform.IO.TMX
          • body
          • bpt
          • ept
          • header
          • headerSegtype
          • hi
          • it
          • itPos
          • map
          • note
          • ph
          • prop
          • seg
          • sub
          • tmx
          • TMXReader
          • TMXReaderSettings
          • TMXStartOfInputEvent
          • TMXTools
          • TMXWriter
          • TMXWriterSettings
          • 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
          • FieldValues
          • FieldValueType
          • Filter
          • FilterExpression
          • FilterExpressionParser
          • FuzzyIndexes
          • FuzzyIndexTuningSettings
          • IField
          • IFieldDefinitions
          • IFieldValueComparer<T>
          • ILogLogger
          • ImportResult
          • ImportResults
          • ImportSettings
          • ImportSettings.FieldUpdateMode
          • ImportSettings.ImportTUProcessingMode
          • ImportSettings.NewFieldsOption
          • ImportSettings.TUUpdateMode
          • ImportStatistics
          • ImportStatus
          • IntFieldValue
          • ITypedKeyValueContainer
          • 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
          • Sorter<T>
          • SortSpecification
          • SubsegmentMatchType
          • SubsegmentSearchCondition
          • SubsegmentSearchResult
          • SubsegmentSearchResults
          • SubsegmentSearchResultsCollection
          • SubsegmentSearchSettings
          • SystemFields
          • SystemFieldsKeys
          • SystemFieldsParameters
          • TextContextMatch
          • TextContextMatchType
          • TranslationMemoryIterator
          • TranslationMemoryProgress
          • TranslationUnit
          • TranslationUnitFormat
          • TranslationUnitOrigin
          • TuContext
          • TuContexts
          • TuIdContexts
          • Utilities
          • WordCountFlags
          • WordCounts
          • WordCountsOptions
        • Sdl.LanguagePlatform.TranslationMemory.EditScripts
          • Continuation
          • EditAction
          • EditActionChangeFieldValue
          • EditActionDeleteAllFieldValues
          • EditActionDeleteFieldValue
          • EditActionDeleteTags
          • EditActionRenameField
          • EditActionSearchReplace
          • EditScript
          • EditScriptApplier
          • EditUpdateMode
          • Mode
          • PatternType
        • Sdl.LanguagePlatform.TranslationMemoryApi
          • AbstractLocalTranslationMemory
          • AbstractMachineTranslationProvider
          • AbstractMachineTranslationProviderLanguageDirection
          • AlignmentTMBilingualProcessor
          • BatchExportedEventArgs
          • BatchImportedEventArgs
          • Cascade<T>
          • CascadeEntry
          • CascadeException
          • CascadeMessage
          • CascadeMessageCode
          • ContainerProperties
          • DatabaseServer
          • DatabaseServerAuthenticationType
          • DatabaseServerPermissions
          • DatabaseServerProperties
          • DatabaseServerType
          • DefaultLanguageResourceProvider
          • FieldDefinition
          • FieldDefinitionCollection
          • FieldsTemplateProperties
          • FileBasedLanguageResourcesTemplate
          • FileBasedTranslationMemory
          • FileBasedTranslationMemoryLanguageDirection
          • FileTransferEventArgs
          • GenericCredentials
          • IAdvancedContextTranslationMemory
          • IAdvancedContextTranslationMemoryLanguageDirection
          • IAlignableTranslationMemory
          • IFieldsTemplate
          • IFileBasedTranslationMemory
          • ILanguageResourceEntity
          • ILanguageResourcesTemplate
          • ILocalTranslationMemory
          • ImportExportOperationBase
          • ImportExportResponse
          • InMemoryTranslationMemory
          • IPermissionCheck
          • IReindexableTranslationMemory
          • ISubsegmentTranslationMemoryLanguageDirection
          • ISupportPlaceables
          • ITranslationMemory
          • ITranslationMemory2015
          • ITranslationMemoryLanguageDirection
          • ITranslationProvider
          • ITranslationProviderCredentialStore
          • ITranslationProviderFactory
          • ITranslationProviderLanguageDirection
          • ITranslationProviderLanguageDirectionWithDelete
          • ITranslationProviderSummaryFactory
          • ITranslationProviderWinFormsUI
          • LanguageDirectionProperties
          • LanguageResourceBundle
          • LanguageResourceBundleCollection
          • LanguageResourceEntity
          • LanguageResourcesTemplateProperties
          • LicensingStatusInformation
          • NullPropertyException
          • ObjectDeletedException
          • ObjectDoesNotExistException
          • ObjectNotSavedException
          • PagedTranslationMemories
          • PicklistItemDefinition
          • PicklistItemDefinitionCollection
          • PropertyValueValidator
          • ProviderStatusInfo
          • RemoteTranslationMemory
          • ScheduledFieldApplyOperation
          • ScheduledLanguageResourcesApplyOperation
          • ScheduledOperation
          • ScheduledOperationStatus
          • ScheduledRecomputeStatisticsOperation
          • ScheduledReindexOperation
          • ScheduledServerTranslationMemoryExport
          • ScheduledServerTranslationMemoryImport
          • ServerBasedFieldsTemplate
          • ServerBasedLanguageResourcesTemplate
          • ServerBasedTranslationMemory
          • ServerBasedTranslationMemoryLanguageDirection
          • ServerBasedTranslationMemoryLanguageDirectionCollection
          • ServerImportStatus
          • StringResources
          • SystemFieldDefinitions
          • TranslationMemoryContainer
          • TranslationMemoryContainerPermissions
          • TranslationMemoryExporter
          • TranslationMemoryFieldsPermissions
          • TranslationMemoryFileAccessMode
          • TranslationMemoryImporter
          • TranslationMemoryLanguageResourcePermissions
          • TranslationMemoryPermissions
          • TranslationMemoryProperties
          • TranslationMemoryQuery
          • TranslationMemoryQueryFilters
          • TranslationMemorySearchResultConverters
          • TranslationMemoryUpgradeUtil
          • TranslationMethod
          • TranslationProviderAuthenticationException
          • TranslationProviderCascadePermissions
          • TranslationProviderCredential
          • TranslationProviderCredentialStore
          • TranslationProviderDisplayInfo
          • TranslationProviderFactoryAttribute
          • TranslationProviderInfo
          • TranslationProviderManager
          • TranslationProviderServer
          • TranslationProviderUriBuilder
          • TranslationProviderWinFormsUiAttribute
          • TranslationSequenceProperties
          • 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
          • InputLanguagePair
          • InputLanguagePairCollection
          • IOutputTranslationMemory
          • IOutputTranslationMemoryCollection
          • ItemCollection<T>
          • ItemCollectionAddedEventArgs<T>
          • ItemCollectionEventArgs<T>
          • ItemCollectionRemovedEventArgs<T>
          • ITmxLegacyTranslationMemory
          • ITranslationMemoryCreator
          • ITranslationMemoryExporter
          • ITranslationMemorySetupOptions
          • 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
        • Samples
          • Integrating views
          • Integrating viewparts
          • Integrating ribbon groups
          • Integrating actions
          • Reference Sample
          • Content Connector
          • Project Creator
          • Wikipedia Search
      • 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
          • 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
      • 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.Common.Licensing.AppSupport
          • IProductLicense
          • LicenseStatus
          • LicenseSummaryDelegate
          • Product
          • ProductLicenseManager
        • 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
          • AbstractLocation
          • 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
          • IExternalJobWithProgress
          • JobFinishedArgs
          • JobProgressArgs
        • Sdl.Desktop.IntegrationApi.Notifications.Events
          • AddStudioGroupNotificationEvent
          • AddStudioNotificationOrCreateGroupEvent
          • AddStudioNotificationToGroupEvent
          • RemoveStudioGroupNotificationEvent
          • RemoveStudioNotificationFromGroupEvent
          • ShowStudioNotificationsViewEvent
          • StudioWindowCreatedNotificationEvent
        • Sdl.Desktop.Platform.Controls.Behaviours
          • ComboboxPlaceholderBehavior
          • DataGridItemBehavior
          • DragDropBehaviour
          • EventBehaviourFactory
          • FocusOnClickBehaviour
          • HighlightOnValueChanged
          • KeyboardFocusBehaviour
          • MouseDownBehaviour
          • NumberOnlyBehaviour
          • PlaceholderAdorner
          • ShowSystemMenuBehavior
          • TextBlockAutoToolTipBehavior
          • TextBoxPlaceholderBehavior
          • TimedAutoHideBehaviour
          • 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
          • NumericUpDown
          • NumericUpDownChangedRoutedEventArgs
          • NumericUpDownChangedRoutedEventHandler
          • SortWiseDataGrid
          • UniformWrapPanel
          • WindowsControlUtils
        • Sdl.Desktop.Platform.Controls.Controls.CustomTreeViewComboBox
          • ComboBoxTreeView
          • ExtendedTreeView
          • ExtendedTreeViewItem
          • ITreeViewItemModel
        • Sdl.Desktop.Platform.Controls.Controls.WatermarkTextBox
          • TextBoxWatermarkHelper
        • Sdl.Desktop.Platform.Controls.Converters
          • BooleanConverter<T>
          • BooleanOrConverter
          • BooleanToAutoRowHeightConverter
          • BooleanToFontConverter
          • BooleanToGridRowHeightConverter
          • BooleanToRatioRowHeightConverter
          • BooleanToVisibilityConverter
          • BulletedStringConverter
          • EnumMatchToBooleanConverter
          • EnumToBooleanConverter
          • ImagePathToImageSourceConverter
          • InverseBooleanConverter
          • InverseBooleanToVisibilityConverter
          • InverseNullToVisibilityConverter
          • NullableToVisibilityConverter
          • ObservableCollectionCountToVisibilityConverter
          • StringIsNullOrEmptyToBool
          • StringIsNullOrEmptyToVisibility
          • VisibilityToBooleanConverter
          • WpfFormattedText
          • WpfFormattedText.TextPart
        • Sdl.Desktop.Platform.Controls.Errors
          • Severity
          • ValidationResultWithSeverity
        • Sdl.DesktopEditor.BasicControls
          • BasicSegmentEditControl
        • Sdl.DesktopEditor.EditorApi
          • ActiveRowChangedEventArgs
          • AfterEditControlsCreatedEventArgs
          • AfterInitialUpdateEventArgs
          • ChangeNotAllowedException
          • ContentHeightChangedEventArgs
          • ContentNodeIterator
          • ContentRange
          • ContentRange.ReductionAllowedTest
          • CustomColumnContentChangedEventArgs
          • CustomColumnLocation
          • DocumentContentChangedEventArgs
          • DocumentPropertiesChangedEventArgs
          • EditControlEventArgs
          • EditException
          • EditOperationAbortedEventArgs
          • EditOperationCompletingEventArgs
          • FilePropertiesChangedEventArgs
          • FindType
          • FocusedControlChangedEventArgs
          • FocusedControlChangedEventArgs.FocusChangeType
          • FormattingBuilderVisitor
          • FrameworkDocumentContentChangedEventArgs
          • FrameworkNodeWrapperVisitor
          • IAbstractContainerNode
          • IAbstractContentNode
          • IAbstractEditOperation
          • IAbstractFrameworkDocument
          • IAbstractFrameworkEditControl
          • IAbstractNode
          • IBilingualDocument
          • IBookmarkNode
          • IChangeableBookmarkNode
          • IChangeableCommentContainerNode
          • IChangeableContainerNode
          • IChangeableDocumentContainerNode
          • IChangeableFileContainerNode
          • IChangeableLocationMarkerNode
          • IChangeableLockedContentContainerNode
          • IChangeableMarkerContainerNode
          • IChangeableNode
          • IChangeableParagraphUnitContainerNode
          • IChangeablePlaceholderTagNode
          • IChangeableRevisionMarkerContainerNode
          • IChangeableSegmentContainerNode
          • IChangeableStartEndNode
          • IChangeableTagPairContainerNode
          • IChangeableTextNode
          • IChangeGhostStatusOperation
          • IChangeTextOperation
          • ICollectiveUndoCommand
          • ICommentContainerNode
          • IContentSelection
          • IControl
          • ICustomColumn
          • IDeleteNodeOperation
          • IDocument
          • IDocumentContainerNode
          • IDocumentFragment
          • IEditControl
          • IEditOperationVisitor
          • IFileContainerNode
          • IFind
          • IFindProperties
          • IFrameworkDocument
          • IFrameworkEditControl
          • IInsertNodeOperation
          • IInteractiveCustomColumn
          • ILayoutSynchronizer
          • ILocationMarkerNode
          • ILockedContentContainerNode
          • IMarkupDataNode
          • INode
          • INodeFactory
          • INodeVisitor
          • InteractiveEventFlags
          • InvalidEditOperationException
          • 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
          • 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
          • HorizontalLinePainter
          • InsertNodeOperation
          • InsertOperationConsolidator
          • IRowEventSource
          • MarkupDataNodeIterator
          • PlainTextExtractionVisitor
          • PlainTextMapper
          • ProjectEditorSettings
          • RemoveFormattingVisitor
          • RowNumberColumn
          • RowSizeAccessor
          • SegmentIdColumn
          • SquigglyLinePainter
          • SquigglyLinePainter.SquiggleShape
          • TagPaintingProperties
          • TextMark
          • TextOnlyFragmentVisitor
        • Sdl.LanguageCloud.IdentityApi
          • ILanguageCloudIdentityApi
          • LanguageCloudCredentialInfo
          • LanguageCloudIdentityApi
        • Sdl.TellMe.ProviderApi
          • AbstractTellMeAction
          • ISearchDataProvider
          • ISearchSpecification
          • ITellMeAction
          • ITellMeControl
          • ITellMePluginLoader
          • ITellMeProvider
          • TellMeProviderAttribute
          • TellMeSearchProviderAttribute
        • Sdl.TranslationStudioAutomation.IntegrationApi
          • AbstractContentSelection
          • AutomationSegmentPairExtension
          • CancelDocumentEventArgs
          • ContentSelectionInfo
          • CurrentProjectCancelEventArgs
          • Document
          • DocumentContentEventArgs
          • DocumentErrorEventArgs
          • DocumentEventArgs
          • DocumentFilterEventArgs
          • DocumentSelection
          • EditingMode
          • EditorController
          • FilesController
          • FocusedDocumentContent
          • IStudioDocument
          • ProjectsController
          • ReportsViewController
          • SdlTradosStudio
          • SourceSelection
          • 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
          • DisplayFilterAdapter
          • DisplayFilterRowInfo
          • IDisplayFilter
          • IDisplayFilterRowInfo
        • Sdl.TranslationStudioAutomation.IntegrationApi.Editor.ConcordanceSearch
          • ConcordanceSearchController
          • ConcordanceSearchResults
          • ConcordanceSearchType
          • IConcordanceSearchController
        • 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
          • SegmentsMergedEvent
          • SegmentSplitEvent
        • Sdl.TranslationStudioAutomation.IntegrationApi.Extensions
          • AutoSuggestProviderAttribute
          • ISegmentExtensions
        • Sdl.TranslationStudioAutomation.IntegrationApi.Internal
          • SdlTradosStudioApplication
        • 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
          • StudioEdition
          • StudioFeature
        • Sdl.Versioning
          • 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
          • 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
          • AbstractTerminologyProvider
          • Definition
          • DefinitionLanguage
          • DescriptiveField
          • Entry
          • EntryEventArgs
          • EntryField
          • EntryLanguage
          • EntryTerm
          • EntryTransaction
          • FieldLevel
          • FieldType
          • GenericCredentials
          • IConnectionAwareTerminologyProvider
          • IDefinition
          • IDefinitionLanguage
          • IDescriptiveField
          • IEntry
          • IEntryField
          • IEntryLanguage
          • IEntryTerm
          • IEntryTransaction
          • ILanguage
          • IMarkupPosition
          • IMultipleTerminologyProvider
          • ISearchMarkupResult
          • ISearchResult
          • ISearchResultWithTermbaseName
          • IServerBasedTerminologyProvider
          • ITerminologyMarkupProvider
          • ITerminologyProvider
          • ITerminologyProviderCredentialStore
          • ITerminologyProviderFactory
          • ITerminologyProviderReadOnly
          • ITerminologyProviderStatus
          • ITerminologyProviderViewerWinFormsUI
          • ITerminologyProviderWinFormsUI
          • MarkupPosition
          • SearchMarkupResult
          • SearchMarkupResultWithTermbaseName
          • SearchMode
          • SearchResult
          • SearchResultWithTermbaseName
          • TerminologyProviderCredential
          • TerminologyProviderCredentialStore
          • TerminologyProviderDisplayInfo
          • TerminologyProviderFactoryAttribute
          • TerminologyProviderManager
          • TerminologyProviderStatus
          • TerminologyProviderType
          • TerminologyProviderViewerWinFormsUIAttribute
          • TerminologyProviderWinFormsUIAttribute
          • TerminologyUserCredentials
          • TerminologyUserCredentials.SsoData
          • TerminologyUserManagerTokenType
          • TransactionType
        • Sdl.Terminology.TerminologyProvider.Core.Exceptions
          • ConnectionException
          • InvalidCredentialsException
          • MissingTerminologyProviderException
          • SearchParameterMissingException
    • Release Notes
      • Release Notes for Trados Studio 2021
      • Release Notes for Trados Studio 2021 SR1
      • Release Notes for Trados Studio 2021 SR1 CU5

    Looping through the Folder(s)

    The user of your sample application is required to enter a main path. The application then loops through the files in that path and any files contained in sub-folders of the main path. The application logic for traversing the folders and sub-folders will be implemented in a dedicated iterator class. This class will be used both for looping through all *.tmx files to import into the master TMs.

    Add a New Class

    Add a class called TmIterator to your project. At the beginning of the class, declare two constants, one to specify how deep into the sub-folder structure the recursion should go. For example, we will hard-code the depth to 10, so that the application will go down to 10 sub-folder levels. The second constant sets the recursion level, which should be 1:

    • C#
    /// <summary>
    /// Determines how deep in the sub-folder structure the application should go.
    /// </summary>
    public const int Depth = 10;
    
    /// <summary>
    /// Determines current recursion level.
    /// </summary>
    private const int RecursionLevel = 1;
    

    Then add a public function called ProcessDir:

    • C#
    /// <summary>
    /// This function is used to iterate through the main folder and (if applicable) the subfolders to look for *.tmx import files.
    /// </summary>
    /// <param name="sourceDirectory">Directory to search in.</param>
    /// <param name="processSubFolders">True if subfolder processing required.</param>
    public void ProcessDir(string sourceDirectory, bool processSubFolders)
    

    This function takes the main folder entered by the user in the command line interface as string parameter, and a boolean parameter that indicates whether sub-folders should be processed through self-recursion.

    Implement the Recursion

    Within the function implement an if, which makes the function loop through all sub-folders until the recursion level has reached the maximum depth.

    • C#
    // Loop until the recursion level has reached the
    // maximum folder depth.
    if (RecursionLevel <= Depth)
    

    Next, you iterate through the files found in a given directory. However, the files should only be processed if they match the provided extension, i.e. *.tmx. If the extension tmx is encountered, an import will be triggered, which we will implement in a separate class in a later step (see Importing into the Master Translation Memories).

    • C#
    // Retrieve the names of the files found in the given folder.
    string[] fileEntries = Directory.GetFiles(sourceDirectory);
    foreach (string fileName in fileEntries)
    {
        // Only process file if it is a TMX import file.
        if (fileName.ToLower().EndsWith(".tmx"))
        {
            Console.WriteLine("Importing " + fileName);
            TMImporter importTmx = new TMImporter();
            importTmx.Import(fileName);
        }
    }
    

    After all files of the given folder have been processed accordingly, the function needs to re-trigger itself, so that any files in a sub-folder (if applicable) can be processed. The boolean processSubFolders parameter determines whether the recursion should be triggered or not. If this parameter is False, then only the main path will be processed.

    • C#
    // Self-recursion to loop through the folder structure until
    // the folder depth has reached the recursion level value.
    if (processSubFolders)
    {
        string[] subdirEntries = Directory.GetDirectories(sourceDirectory);
        foreach (string subdir in subdirEntries)
        {
            if ((File.GetAttributes(subdir) & FileAttributes.ReparsePoint) != FileAttributes.ReparsePoint)
            {
                this.ProcessDir(subdir, processSubFolders);
            }
        }
    }
    

    Trigger the Function

    The ProcessDir function needs to be called from Main in the Program class as shown below. The user provides two parameters:

    • The main TMX file path
    • the /y parameter to indicate that sub-folders (if any) should be processed

    Example:

    Sdl.SDK.LanguagePlatform.Samples.BatchImport.exe c:\tm /y
    

    The following code in Program.cs is used for explaining the application use and retrieves the parameters for the file processing. It also checks the validity of the input folder:

    • C#
    /// <summary>
    /// Main entrance point of the application.
    /// </summary>
    /// <param name="args">String arguments passed via command line.</param>
    public static void Main(string[] args)
    {
        string mainPath = string.Empty;
        bool processSubFolders = false;
    
        if (args.Length != 2)
        {
            Console.WriteLine("Usage:");
            Console.WriteLine("Sdl.SDK.LanguagePlatform.Samples.BatchImport.exe source /ps");
            Console.WriteLine("source path to input folder");
            Console.WriteLine("/ps   should process subfolders");
            Console.WriteLine("This application uses a hard-coded recursion level of up to 10 sub-folders.");
            Console.WriteLine("The master TMs are created in a hard-coded location, i.e.: c:\\MasterTMs");
            return;
        }
    
        if (!String.IsNullOrEmpty(args[0]) && !Directory.Exists(args[0]))
        {
            Console.WriteLine("Specify a valid input directory. Press ENTER to exit.");
            return;
        }
    
        mainPath = args[0];
    
        if (!String.IsNullOrEmpty(args[1]) && args[1] == "/ps")
        {
            processSubFolders = true;
        }
    
        try
        {
            TMIterator it = new TMIterator();
            it.ProcessDir(mainPath, processSubFolders);
            Console.WriteLine();
            Console.WriteLine("Batch import finished. Press ENTER to exit.");
            Console.ReadLine();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            Console.WriteLine("Press ENTER to exit.");
            Console.ReadLine();
        }
    }
    

    Putting it All Together

    The complete class should now look as shown below:

    • C#
    namespace SDK.LanguagePlatform.Samples.BatchImporter
    {
        using System;
        using System.IO;
    
        /// <summary>
        /// Represents class able to iterate thru disk directory tree.
        /// </summary>
        public class TMIterator
        {
            #region "constants"
    
            /// <summary>
            /// Determines how deep in the sub-folder structure the application should go.
            /// </summary>
            public const int Depth = 10;
    
            /// <summary>
            /// Determines current recursion level.
            /// </summary>
            private const int RecursionLevel = 1;
            #endregion
    
            #region "function"
    
            /// <summary>
            /// This function is used to iterate through the main folder and (if applicable) the subfolders to look for *.tmx import files.
            /// </summary>
            /// <param name="sourceDirectory">Directory to search in.</param>
            /// <param name="processSubFolders">True if subfolder processing required.</param>
            public void ProcessDir(string sourceDirectory, bool processSubFolders)
            #endregion
            {
                #region "scan"
                // Loop until the recursion level has reached the
                // maximum folder depth.
                if (RecursionLevel <= Depth)
                #endregion
                {
                    #region "ProcessFiles"
                    // Retrieve the names of the files found in the given folder.
                    string[] fileEntries = Directory.GetFiles(sourceDirectory);
                    foreach (string fileName in fileEntries)
                    {
                        // Only process file if it is a TMX import file.
                        if (fileName.ToLower().EndsWith(".tmx"))
                        {
                            Console.WriteLine("Importing " + fileName);
                            TMImporter importTmx = new TMImporter();
                            importTmx.Import(fileName);
                        }
                    }
                    #endregion
    
                    #region "recursion"
                    // Self-recursion to loop through the folder structure until
                    // the folder depth has reached the recursion level value.
                    if (processSubFolders)
                    {
                        string[] subdirEntries = Directory.GetDirectories(sourceDirectory);
                        foreach (string subdir in subdirEntries)
                        {
                            if ((File.GetAttributes(subdir) & FileAttributes.ReparsePoint) != FileAttributes.ReparsePoint)
                            {
                                this.ProcessDir(subdir, processSubFolders);
                            }
                        }
                    }
                    #endregion
                }
            }
        }
    }
    

    See Also

    Importing into the Master Translation Memories

    Creating the Master Translation Memories

    Creating the Log File

    • Improve this Doc

    On this page

    • Add a New Class
    • Implement the Recursion
    • Trigger the Function
    • Putting it All Together
    • See Also
    Back to top Generated by DocFX