Parsing XLIFF in Catalyst

This article references the correspondence (mapping) between the State attribute found in XLIFF for individual string and the Status in Alchemy Catalyst.

Inserting an XLIFF file in a Catalyst project, a mapping of the state and state-qualifier values to Catalyst states is applied as follows:

 

STATE (independent values)

State = The status of a particular translation in a <target> or <bin-target> element in XLIFF format

XLIFF State

Catalyst Status

Description

final

Signed Off

Indicates the terminating state.

signed-off

Indicates that changes are reviewed and approved.

needs-review-adaptation

For Review

Indicates only non-textual information needs review.

needs-review-l10n

Indicates both text and non-textual information needs review.

needs-review-translation

Indicates that only the text of the item needs to be reviewed.

translated

Indicates that the item has been translated.

needs-adaptation

Untranslated

(except when Source != Target;

then it becomes For Review)

Indicates only non-textual information needs adaptation.

needs-l10n

Indicates both text and non-textual information needs adaptation.

needs-translation

Indicates that the item needs to be translated.

new

Indicates that the item is new. For example, translation units that were not in a previous version of the document.

This Source != Target takes precedence when dealing with the Untranslated states.

 

STATE-QUALIFIER (independent values)

State-qualifier = Describes the state of a particular translation in a <target> or <bin-target> element in XLIFF format.

XLIFF State-qualifier

Catalyst Status

Description

exact-match

Leveraged

Indicates an exact match. An exact match occurs when a source text of a segment is exactly the same as the source text of a segment that was translated previously.

id-match

Indicates a match based on matching IDs (in addition to matching text).

leveraged-glossary

Indicates a translation derived from a glossary.

leveraged-inherited

Indicates a translation derived from existing translation.

leveraged-repository

Indicates a translation derived from a translation repository.

leveraged-tm

Indicates a translation derived from a translation memory.

tm-suggestion

Indicates the translation is suggested by translation memory.

fuzzy-match

Fuzzy Match

Indicates a fuzzy match. A fuzzy match occurs when a source text of a segment is very similar to the source text of a segment that was translated previously (e.g. when the difference is casing, a few changed words, white-space discrepancy, etc.).

leveraged-mt

Machine Translated

Indicates a translation derived from machine translation.

mt-suggestion

Indicates the translation is suggested by machine translation.

rejected-grammar

Nothing – A Catalyst status is not assigned

Indicates that the item has been rejected because of incorrect grammar.

rejected-inaccurate

Indicates that the item has been rejected because it is incorrect.

rejected-length

Indicates that the item has been rejected because it is too long or too short.

rejected-spelling

Indicates that the item has been rejected because of incorrect spelling.

 

STATE and STATE-QUALIFIER (combined values)

When both state and state-qualifier exists in the same <trans-unit>, this is the combined status that should be adopted when parsing the file into Catalyst:

xliff ‘state’ attribute

Catalyst Status

final

Signed Off

(state-qualifier ignored)

signed-off

needs-review-adaptation

For Review

When mapping to

For Review in Catalyst, we look at the state-qualifier - according to table

needs-review-l10n

needs-review-translation

translated

needs-adaptation

Untranslated

(state-qualifier ignored)

(If Source != Target,

it becomes For Review)

needs-l10n

needs-translation

new

 
 

XLIFF ‘state-qualifier’ attribute

Catalyst Status

exact-match

Leveraged

id-match

leveraged-glossary

leveraged-inherited

leveraged-repository

leveraged-tm

tm-suggestion

fuzzy-match

Fuzzy Match

leveraged-mt

Machine Translated

mt-suggestion

rejected-grammar

Remains with standard For Review

rejected-inaccurate

rejected-length

rejected-spelling

 

When neither state nor state-qualifier is found in the <trans-unit> and Source does not equal Target, the Target must contain a translation; therefore Catalyst parses the segments with For Review status.

Source != Target takes precedence when dealing with the Untranslated state.

 

Extracting out of Catalyst to XLIFF

When writing out to XLIFF format  through Extract Files... the Catalyst status is mapped to the XLIFF state values as follows:

Writing out Edited segments

Catalyst Status

xliff state attribute

state-qualifier attribute

Signed Off

signed-off

 

Leveraged

needs-review-l10n

exact-match

For Review

 

Fuzzy Match

fuzzy-matched

Machine Translated

mt-suggestion

Untranslated

Nothing – A state is not written into the file

 

 

Maintaining XLIFF state and state-qualifier attribute that have not been edited

Maintain state attributes

If we are not editing segments, we should maintain the state value that was there e.g.

  1. We read in an XLIFF file with a segment that says needs-adaptation.
  2. We map it as Untranslated within Catalyst.
  3. If no editing or translation happens to that segment, we should try to write it back out as needs-adaptation.

Maintain state-qualifier attributes

If we are not editing segments, we should maintain the state-qualifier value that was there e.g.

  1. We read in an XLIFF file with a segment that says rejected-spelling
  2. We ignore it from a Catalyst point of view
  3. If no editing or translation happens to that segment, we should maintain that value when extracting the file - rejected-spelling

 

Reverted XLIFF written out of Catalyst

When a file already containing existing states in the XLIFF file has been reverted within Catalyst and then extracted without any translation, this is the status on those target nodes when extracted.

Original State

Catalyst Status

Reverted Catalyst Status

Extracted XLIFF Status

final

Signed Off

Untranslated

needs-translation

(state-qualifier if it was present is also removed)

signed-off

needs-review-adaptation

For Review

needs-review-l10n

needs-review-translation

translated

needs-adaptation

Untranslated

(except when Source != Target)

Preserves original state and state-qualifier of the segment as these were seen as an Untranslated state, and Catalyst preserves the original state when not edited.

needs-l10n

needs-translation

new

 

 

Products or Versions Affected

  • Alchemy CATALYST 11.0  

 

Last updated with Catalyst 11