- General Information
- Connecting Third-party Systems
- crossConnect for content systems
- crossConnect for External Editing
- Purpose and usage
- Requirements
- Implementation
- Across XLIFF format
- Across-specific Extensions
- <xliff> Element Attributes
- <file> Element Extensions
- <trans-unit> Element Extension
- Paragraph States
- Paragraph State Flags
- <source> and <target> Element Content
- <bpt> Element Attributes
- <ph> Element Attributes
- <x> Element Attributes
- Across-specific Properties
- Analysis Results
- Sample Files
- Across XLIFF - import, export and segmentation
- Context information
- Exporting best matches in Across XLIFF
- Hyperlinks to XLIFF
- Secure file handling with C#
- Secure file handling with JAVA
- Workflow and vendor configuration
- Sample code - Integrated solution
- Across XLIFF format
- Generic File Connector
- Display Texts
- APIs
- APIs - Technology
- crossTank API v1
- crossTank API v2
- crossTerm API v1
- crossTerm API v2
- crossAPI SI
- Requirements
- Function Return Types
- crossAPI SI and Java
- List of Objects in crossAPI SI
- Sample - transferring checkout files via FileManager
- Sample - VBS
- Text Preprocessing API
Across XLIFF - import, export and segmentation
Import algorithm
- The Across XLIFF import algorithm works as follows:
- A task will be identified, matching the Across XLIFF document based on src-lang and trg-lang attributes of the <file> element .
- For each <trans-unit> not marked with the translate="no" attribute, the algorithm compares the content of the <target> element with the target content of the paragraph stored in Across (Text, Format ranges, Elements).
If content was changed, the XLIFF content is read and stored to Across. The paragraph is considered as changed.CheckWhat happens in AcrossThe flag Pre-translated External appears in states-flags.Pre-translated External and Pre-translated are set for that paragraph.The paragraph is considered as changed.Import of external comments (analysisResult element).The paragraph is considered as changed and the comment will be displayed in crossDesk.Source and/or target segmentation is changed (see the segmentation rules below)The XLIFF segmentation is applied to Across source/target paragraphs.XLIFF segmentation is applied to Across source/target paragraphs. - If a paragraph in Across is considered as changed, its state is set to default in-progress state. A record is added to the Across change history, considering the Enhanced logging setting.
Export
Just like the import, the export is consistent to the main workflows of Across.
The translate="no" attribute is taken from the current state of a task. Therefore, if a task is in read-only state or paragraphs are protected and cannot be changed or a paragraph is read-only, this cannot be changed with external editing. This means: Everything that cannot be edited in Across in a regular task is also not editable in the exported XLIFF, i.e. is assigned the attribute translate="no".
Example: A translation task must be finished before the correction task can be exported to XLIFF correctly.
If there is the need to have paragraphs editable for external editing, you could add an additional step to the workflow where the corresponding XLIFF criteria would be met. For example: previous task finished, exporting task not finished, and all paragraphs that should be edited externally are not in final status.
Segmentation rules
There are several rules for the segmentation.
The general expectation for an XLIFF import is, that only the <trans-unit>, <target> and <seg-source> elements are changed by the external tool. All other content should be unchanged.
- To change the source segmentation, move segment borders in the <seg-source> element.
- Tip
Segment borders are <mrk mtype="seg"> and </mrk> elements.
- Ensure that <seg-source> textual content is equal to <source> textual content. Segment borders are calculated based on the <seg-source> content but are applied to the <source> content.
- To change the target segmentation you need to set Segment borders directly in the <target> element.
- It's advised to keep the same number of source and target segments.
- It's allowed to have fewer target segments than source segments.
- It's not allowed to have more target segments than source segments. This is prohibited in XLIFF.
- Across will perform automatic segmentation for not marked text.
- Across always treats the first (by order in the XLIFF file) target segment as a translation of the first source segment, the second target segment as translation of the second source segment, and so on. The mid attribute of the <mrk mtype="seg"> element is ignored during import.
- Across exports the mid attribute of the <mrk mtype="seg"> element, but ignores the mid attribute during import, because source/target segments in Across are related by order in the list of segments from the beginning of the text to the end.