Downloading Tasks
Our API calls make it easy for LSPs to export the tasks assigned to them in our TMS and translate them in their own CAT tools. Use the following API calls to view and export your tasks.
- The GET /task API call will allow you to view the list of tasks assigned to you in the TMS
- Use GET /task/{id}/content to download the XLIFF for a given task
Keep in mind the following as you are exporting tasks:
- Via the UI, a user is not able to download XLIFF for a task that isn't in their Task List. Therefore, the API calls will likewise need to authenticate using the credentials of the user to whom the task is assigned in Lingotek.
- You can only download XLIFF for 'Active' tasks (i.e. tasks that have not been 'marked complete' within Lingotek).
Editing XLIFF files
While you are editing the XLIFF files you should be aware of the following so that you can upload the files back into the TMS:
- We follow XLIFF 1.2 specifications.
- On export, we add a lgtk:phaseUUID attribute in the header of the XLIFF. This is what we match on when you re-import the XLIFF. If this attribute is missing, we are not able to successfully re-import the XLIFF file.
- Be sure not to modify the number of trans-units, their order or identifier.
- The XLIFF files you download from Lingotek's TMS will only ever correspond to one target language. As such it is important that if you have an xml:lang for a segment it should match the target language in the header.
- Adding style to the corrections is not advisable. The corrections should just be made, without adding style to them. For example, if a translation were to change from "dog" to "puppy", "puppy" should simply replace "dog" and not be something like "
dogpuppy." - Do not merge or split segments withing your tool. If on re-import we detect that one or more segments were merged or split, the re-import will fail.
Attributes and metadata
- Lingotek doesn't import any meta from the uploaded XLIFF. All we do is extract the translations form the trans-units. We ignore everything else.
- Modified dates for each segment translation will be set in our system based on the upload time.
- All target attributes are optional, however, below is more information about target attributes if you include them.
- state: Different behavior can happen on XLIFF re-import depending on the state attribute.
- xml:lang: If present, this should contain the locale code for the target locale, which is defined in the <file> tag's "target-language" attribute.
- state-qualifier: This helps to clarify the origin of the translation.
- phase-name: This provides clarification as to which phase this target is in. The export provides a number, which has a description in the <phase group> section in the <header>. For example, phase-name="1" might correspond to the following in the header: <phase phase-name="1" process-name="Translate"/>
- mrk: <mrk> is optional, but if present, there must only be one per target, and it must surround the entire segment (e.g. <target...><mrk mtype="seg">This is my translation</mrk></target>). If there is more than one <mrk> segment in a <target>, the import fails. If there is one that does not completely encapsulate the segment, only the text within the <mrk> is imported. (e.g. <target...>This <mrk mtype="seg">text</mrk> is translated</target> will only import "text")
- mid: Optional. Used as an identifier for a specific <mrk> within the target.
- mtype: REQUIRED. This is required by the XLIFF 1.2 specification. It describes the type of mrk. The export uses "seg" as the mtype. If mtype is not present, the import will fail.