Beebox XLIFF Log File
Log files are used when you exchange translation jobs by means of XLIFF hotfolders.
Each time a translated XLIFF is received, the system checks its contents. It then creates a log file, per each imported XLIFF, which summarizes valid translations as well as errors.
Log file name
The log file appends .import.log to the XLIFF file name:
Log file content
The log file is JSON with these properties:
Property | Description |
---|---|
success | Boolean indicating whether the XLIFF file is valid or not. If false then fatal contains the error description. |
fatal | Contains an error description in case the XLIFF file is invalid. Either the file is not a valid XLIFF file or it was not exported from the current job. A file exported from a specific job can be imported back to the same job only. Files with a fatal error are NOT imported. |
files | Total <file> nodes in the XLIFF file. |
segments | Total <trans-unit> nodes in the XLIFF file. |
records | An array of each source segment with detailed information. |
The following properties are included if success is true only:
| |
errors | Total translation units that cannot be imported and will be skipped when confirming the XLIFF file (step 2). The number of units that can be imported is segments minus errors. The different error categories are counted in the following properties: |
errLocale | Translation units with an invalid language code. |
errBadFile | Translation units that come from a <file> node that has no correspondence in the job. Such errors can only happen if someone manipulated the XLIFF file by either adding additional <file> nodes or changing the attributes of a <file> node. |
errBadSource | Translation units where the source text does not correspond to the previously exported job. This can happen if either a user modified the <source> content or attributes. |
errEmpty | Translation units lacking translation. This may not necessarily be an error though if the translation is left blank on purpose. |
unchanged | Total job segments that will be disregarded:
|
changed | Total job segments that are imported. This corresponds to segments minus unchanged. If the value is 0 then it does not make sense to confirm the upload (see step 2). |
globalChanges | Not used. |
The records array contains objects with these properties:
Property | Description |
---|---|
file | The name of the file containing the segment. |
locsrc | Source language code. |
loctrg | Target language code. |
src | Source text. |
trg | Translation as contained in XLIFF file. This is the translation supplied or modified by a translator. |
trgjob | Translation currently saved with the job. Typically, the translation included with the initial xliff export (although the Beebox user may have changed this in the mean time). |
seq | A unique id assigned to the translation at initial export. |
errors, errLocales, errBadFile, errEmpty, unchanged, changed | Boolean values. |
Examples
A valid XLIFF containing 20 segments; 18 segments were translated; 2 segments were not translated by the translator:
{
success: true, files: 1, segments: 20,
globalChanges: 0,
fatal: null, errors: 0, errLocale: 0, errBadFile: 0, errBadSource: 0, errEmpty: 2,
unchanged: 2, changed: 18,
records: [......]
}
An XLIFF that apparently is corrupt:
{
success: false, files: 0, segments: 0,
fatal: "Xliff file root node 'xliff' not found. ",
records: []
}
An example with the records array. This XLIFF has just a single source segment:
{
"success":true,
"fatal":null,
"files":1,
"segments":1,
"globalChanges":0,
"errors":0,
"errLocale":0,
"errBadFile":0,
"errBadSource":0,
"errEmpty":0,
"unchanged":0,
"changed":1,
"records":[
{
"folder":"",
"file":"R-Cautions.htm",
"seq":0,
"locsrc":"en",
"loctrg":"fr",
"src":"The minimum weight of the upper kingpin is",
"trg":"xyz the minimum weight of the upper kingpin is",
"trgjob":null,
"updates":-1,
"errors":false,
"errLocale":false,
"errBadFile":false,
"errBadSource":false,
"errEmpty":false,
"unchanged":false,
"changed":true
}
]
}