✓
✓
✓
✓
[quiz]
In this session we'll cover two basic tasks:
Therefore we'll see how OmegaT interacts with:
HTML
<!doctype html>
<html lang='en-US'>
<head>
<meta charset='UTF-8' />
<style>...
</style>
</head>
<body>
<div id="content">
<h1>Welcome to this survey!</h1><hr />
<h2 class="question" id="Q1">Are you interested in videogames?</h2>
<div class="instruction">There are no <em>right</em> answers. Please select one response.</div>
<ul class="response-options">
<li><input type="radio">Very interested</li>
<li><input type="radio">Interested</li>
<li><input type="radio">Not interested</li>
<li><input type="radio">Not interested at all</li>
</ul>
<p class='hide' translate='no'>Select the best option.</p>
<a href="#">Click here to continue.</a>
<div class='hide note' translate='no'>Do not translate, respondents will not see this.</div>
</div>
<script type='text/javascript'>...
</script>
</body>
</html>
We want to translate (and therefore extract) only the (translatable) text.
Welcome to this survey!
Are you interested in videogames?
There are no <em>right</em> answers. Please select one response.
Very interested
Interested
Not interested
Not interested at all
Click here to continue.
<!doctype html>
<html lang='en-US'>
<head>
<meta charset='UTF-8' />
<style>...
</style>
</head>
<body>
<div id="content">
<h1>مرحبًا بك في هذا الاستطلاع!</h1><hr />
<h2 class="question" id="Q1">هل أنت مهتم بألعاب الفيديو؟</h2>
<div class="instruction">لا يوجد<em> الصحيح</em> الإجابات. يُرجى تحديد إجابة واحدة.</div>
<ul class="response-options">
<li><input type="radio">مهتمون للغاية</li>
<li><input type="radio">مورد علاقه</li>
<li><input type="radio">غير مهتم</li>
<li><input type="radio">غير مهتم على الإطلاق</li>
</ul>
<p class='hide' translate='no'>حدد الخيار الأفضل</p>
<a href="#">اضغط هنا للمتابعه.</a>
<div class='hide note' translate='no'>Do not translate, respondents will not see this.</div>
</div>
<script type='text/javascript'>...
</script>
</body>
</html>
XML
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="styles.css"?>
<bq>
<itemGroup visible="true" id="PA152" layout="">
<styles type="column" match="2">
<key name="size">22</key>
</styles>
<styles type="column" match="1">
<key name="size">78</key>
</styles>
<subject>How much time does your child use the computer?</subject>
<instruction>Please select one response.</instruction>
<item id="item" layout="simpleMultipleChoiceRadioButton">
<responses>
<response>
<code>PA152Q01IA</code>
<label translate="no">We do not have a computer at home</label>
</response>
<response>
<code>PA152Q02IA</code>
<label translate="no">We have a computer at home, but my child does not use it</label>
</response>
<response>
<code>PA152Q03IA</code>
<label>Less than 1 hour a day</label>
</response>
<response>
<code>PA152Q04IA</code>
<label>Between 1 and 2 hours a day</label>
</response>
<response>
<code>PA152Q05IAa</code>
<label translate="no">Between 2 and 3 hours a day</label>
</response>
<response>
<code>PA152Q05IAa</code>
<label translate="yes">2 hours a day or more</label>
</response>
<response>
<code>PA152Q06IA</code>
<label translate="no">3 hours a day or more</label>
</response>
</responses>
</item>
<id value="180700">180700</id></itemGroup>
</bq>
Notice how some parts are hidden and therefore not translatable.
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="styles.css"?>
<bq>
<itemGroup visible="true" id="PA152" layout="">
<styles type="column" match="2">
<key name="size">22</key>
</styles>
<styles type="column" match="1">
<key name="size">78</key>
</styles>
<subject>How much time does your child use the computer?</subject>
<instruction>Please select one response.</instruction>
<item id="item" layout="simpleMultipleChoiceRadioButton">
<responses>
<response>
<code>PA152Q01IA</code>
<label translate="no">We do not have a computer at home</label>
</response>
<response>
<code>PA152Q02IA</code>
<label translate="no">We have a computer at home, but my child does not use it</label>
</response>
<response>
<code>PA152Q03IA</code>
<label>Less than 1 hour a day</label>
</response>
<response>
<code>PA152Q04IA</code>
<label>Between 1 and 2 hours a day</label>
</response>
<response>
<code>PA152Q05IAa</code>
<label translate="no">Between 2 and 3 hours a day</label>
</response>
<response>
<code>PA152Q05IAa</code>
<label translate="yes">2 hours a day or more</label>
</response>
<response>
<code>PA152Q06IA</code>
<label translate="no">3 hours a day or more</label>
</response>
</responses>
</item>
<id value="180700">180700</id></itemGroup>
</bq>
Only these parts will be extracted for translation.
auto-propagation
The parts out of scope for translation are not extracted.
of the default translation
(repeated segment, previously translated)
registered in the working TM
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="styles.css"?><bq>
<itemGroup id="PA152" layout="" visible="true">
<styles match="2" type="column">
<key name="size">22</key>
</styles>
<styles match="1" type="column">
<key name="size">78</key>
</styles>
<subject>كم من الوقت يستخدم طفلك الكمبيوتر؟</subject>
<instruction>يُرجى تحديد إجابة واحدة.</instruction>
<item id="item" layout="simpleMultipleChoiceRadioButton">
<responses>
<response>
<code>PA152Q01IA</code>
<label translate="no">We do not have a computer at home</label>
</response>
<response>
<code>PA152Q02IA</code>
<label translate="no">We have a computer at home, but my child does not use it</label>
</response>
<response>
<code>PA152Q03IA</code>
<label>أقل من ساعة في اليوم</label>
</response>
<response>
<code>PA152Q04IA</code>
<label>بين ساعة و ساعتين في اليوم</label>
</response>
<response>
<code>PA152Q05IAa</code>
<label translate="no">Between 2 and 3 hours a day</label>
</response>
<response>
<code>PA152Q05IAa</code>
<label translate="yes">ساعتان في اليوم أو أكثر</label>
</response>
<response>
<code>PA152Q06IA</code>
<label translate="no">3 hours a day or more</label>
</response>
</responses>
</item>
<id value="180700">180700</id></itemGroup>
</bq>
Only translatable parts are merged.
styles, code, id {
display: none;
}
subject {
font-size: 1.4em;
font-weight: bold;
}
instruction {
font-style: italic;
display: block;
margin: 0 0 30px 0;
}
response {
display: grid;
}
label[translate="no"] {
display: none;
}
label {
margin: 5px;
background-color: #cdcdcd;
padding: 5px;
max-width: 100%;
}
However, text direction is still left-to-right.
* {
direction: rtl;
}
styles, code, id {
display: none;
}
subject {
font-size: 1.4em;
font-weight: bold;
}
instruction {
font-style: italic;
display: block;
margin: 0 0 30px 0;
}
response {
display: grid;
}
label[translate="no"] {
display: none;
}
label {
margin: 5px;
background-color: #cdcdcd;
padding: 5px;
max-width: 100%;
}
Looks good now.
XLIFF
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="styles.css"?>
<bq>
<itemGroup visible="true" id="PA152" layout="">
<styles type="column" match="2">
<key name="size">22</key>
</styles>
<styles type="column" match="1">
<key name="size">78</key>
</styles>
<subject>How much time does your child use the computer?</subject>
<instruction>Please select one response.</instruction>
<item id="item" layout="simpleMultipleChoiceRadioButton">
<responses>
<response>
<code>PA152Q01IA</code>
<label translate="no">We do not have a computer at home</label>
</response>
<response>
<code>PA152Q02IA</code>
<label translate="no">We have a computer at home, but my child does not use it</label>
</response>
<response>
<code>PA152Q03IA</code>
<label>Less than 1 hour a day</label>
</response>
<response>
<code>PA152Q04IA</code>
<label>Between 1 and 2 hours a day</label>
</response>
<response>
<code>PA152Q05IAa</code>
<label translate="no">Between 2 and 3 hours a day</label>
</response>
<response>
<code>PA152Q05IAa</code>
<label>2 hours a day or more</label>
</response>
<response>
<code>PA152Q06IA</code>
<label translate="no">3 hours a day or more</label>
</response>
</responses>
</item>
<id value="180700">180700</id></itemGroup>
</bq>
<subject>How much time does your child use the computer?</subject>
<instruction>Please select one response.</instruction>
<label>Less than 1 hour a day</label>
<label>Between 1 and 2 hours a day</label>
<label>2 hours a day or more</label>
How much time does your child use the computer?
Please select one response.
Less than 1 hour a day
Between 1 and 2 hours a day
2 hours a day or more
How much time does your child use the computer?
Less than 1 hour a day
Please select one response.
2 hours a day or more
Between 1 and 2 hours a day
How much time does your child use the computer?
Less than 1 hour a day
Please select one response.
2 hours a day or more
Between 1 and 2 hours a day
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" xmlns:its="http://www.w3.org/2005/11/its" xmlns:itsxlf="http://www.w3.org/ns/its-xliff/" its:version="2.0">
<file original="paq.xml" source-language="en" target-language="ar" datatype="xml" xml:spacing="preserve">
<body>
<trans-unit id="1">
<source xml:lang="en">How much time does your child use the computer?</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="2">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="3">
<source xml:lang="en">Less than 1 hour a day</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="4">
<source xml:lang="en">Between 1 and 2 hours a day</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="5">
<source xml:lang="en">2 hours a day or more</source>
<target xml:lang="ar" />
</trans-unit>
</body>
</file>
</xliff>
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" xmlns:its="http://www.w3.org/2005/11/its" xmlns:itsxlf="http://www.w3.org/ns/its-xliff/" its:version="2.0">
<file original="paq.xml" source-language="en" target-language="ar" datatype="xml" xml:spacing="preserve">
<body>
<trans-unit id="1">
<source xml:lang="en">How much time does your child use the computer?</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="2">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="3">
<source xml:lang="en">Less than 1 hour a day</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="4">
<source xml:lang="en">Between 1 and 2 hours a day</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="5">
<source xml:lang="en">2 hours a day or more</source>
<target xml:lang="ar" />
</trans-unit>
</body>
</file>
</xliff>
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" xmlns:its="http://www.w3.org/2005/11/its" xmlns:itsxlf="http://www.w3.org/ns/its-xliff/" its:version="2.0">
<file original="paq.xml" source-language="en" target-language="ar" datatype="xml" xml:spacing="preserve">
<body>
<trans-unit id="1">
<source xml:lang="en">How much time does your child use the computer?</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="2">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="3">
<source xml:lang="en">Less than 1 hour a day</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="4">
<source xml:lang="en">Between 1 and 2 hours a day</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="5">
<source xml:lang="en">2 hours a day or more</source>
<target xml:lang="ar" />
</trans-unit>
</body>
</file>
</xliff>
original file
XLIFF file
OmegaT editor
the L10n tool extracts the translatable text from the original file
As you may notice, it's not too different from the extracted text from the XML file.
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" xmlns:its="http://www.w3.org/2005/11/its" xmlns:itsxlf="http://www.w3.org/ns/its-xliff/" version="1.2" its:version="2.0">
<file original="paq.xml" source-language="en" target-language="ar" datatype="xml" xml:spacing="preserve">
<body>
<trans-unit id="1">
<source xml:lang="en">How much time does your child use the computer?</source>
<target xml:lang="ar">كم من الوقت يستخدم طفلك الكمبيوتر؟</target>
</trans-unit>
<trans-unit id="2">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar">يُرجى تحديد إجابة واحدة.</target>
</trans-unit>
<trans-unit id="3">
<source xml:lang="en">Less than 1 hour a day</source>
<target xml:lang="ar">أقل من ساعة في اليوم</target>
</trans-unit>
<trans-unit id="4">
<source xml:lang="en">Between 1 and 2 hours a day</source>
<target xml:lang="ar">بين ساعة و ساعتين في اليوم</target>
</trans-unit>
<trans-unit id="5">
<source xml:lang="en">2 hours a day or more</source>
<target xml:lang="ar">ساعتان في اليوم أو أكثر</target>
</trans-unit>
</body>
</file>
</xliff>
translation
editing
source files
source files
reviewed target files
target files to review
=
The target files (output) of the translation project are the source files (input) of the editing project.
There is only one project for both tasks, files are imported at the beginning of the workflow and exported at the end of the workflow.
reviewed target files
approved
(same project)
(new project)
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" xmlns:its="http://www.w3.org/2005/11/its" xmlns:itsxlf="http://www.w3.org/ns/its-xliff/" version="1.2" its:version="2.0">
<file original="paq.xml" source-language="en" target-language="ar" datatype="xml" xml:spacing="preserve">
<body>
<trans-unit id="1">
<source xml:lang="en">How much time does your child use the computer?</source>
<target xml:lang="ar">كم من الوقت يستخدم طفلك الكمبيوتر؟</target>
</trans-unit>
<trans-unit id="2">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar">يُرجى تحديد إجابة واحدة.</target>
</trans-unit>
<trans-unit id="3">
<source xml:lang="en">Less than 1 hour a day</source>
<target xml:lang="ar">أقل من ساعة في اليوم</target>
</trans-unit>
<trans-unit id="4">
<source xml:lang="en">Between 1 and 2 hours a day</source>
<target xml:lang="ar">بين ساعة و ساعتين في اليوم</target>
</trans-unit>
<trans-unit id="5">
<source xml:lang="en">2 hours a day or more</source>
<target xml:lang="ar">ساعتان في اليوم أو أكثر</target>
</trans-unit>
</body>
</file>
</xliff>
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" xmlns:its="http://www.w3.org/2005/11/its" xmlns:itsxlf="http://www.w3.org/ns/its-xliff/" version="1.2" its:version="2.0">
<file original="paq.xml" source-language="en" target-language="ar" datatype="xml" xml:spacing="preserve">
<body>
<trans-unit id="1">
<source xml:lang="en">How much time does your child use the computer?</source>
<target xml:lang="ar">كم من الوقت يستخدم طفلك الكمبيوتر؟</target>
</trans-unit>
<trans-unit id="2">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar">يُرجى تحديد إجابة واحدة.</target>
</trans-unit>
<trans-unit id="3">
<source xml:lang="en">Less than 1 hour a day</source>
<target xml:lang="ar">أقل من ساعة في اليوم</target>
</trans-unit>
<trans-unit id="4">
<source xml:lang="en">Between 1 and 2 hours a day</source>
<target xml:lang="ar">بين ساعة و ساعتين في اليوم</target>
</trans-unit>
<trans-unit id="5">
<source xml:lang="en">2 hours a day or more</source>
<target xml:lang="ar">ساعتان في اليوم أو أكثر</target>
</trans-unit>
</body>
</file>
</xliff>
An adaptation task, where a language version (fr-CA) is based on (and "borrows") another version (fr-FR).
There is a 100% match
The segment gets auto-populated.
<trans-unit id="2">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar">يُرجى تحديد إجابة واحدة.</target>
</trans-unit>
<trans-unit id="3">
<source xml:lang="en">Less than 1 hour a day</source>
<target xml:lang="ar">أقل من ساعة في اليوم</target>
</trans-unit>
<trans-unit id="3">
<source xml:lang="en">Between 1 and 2 hours a day</source>
<target xml:lang="ar">بين ساعة و ساعتين في اليوم</target>
</trans-unit>
<trans-unit id="5">
<source xml:lang="en">2 hours a day or more</source>
<target xml:lang="ar">ساعتان في اليوم أو أكثر</target>
</trans-unit>
<trans-unit id="2">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar">يُرجى تحديد إجابة واحدة.</target>
</trans-unit>
<trans-unit id="3">
<source xml:lang="en">Less than 1 hour a day</source>
<target xml:lang="ar">أقل من ساعة في اليوم</target>
</trans-unit>
<trans-unit id="4">
<source xml:lang="en">Between 1 and 2 hours a day</source>
<target xml:lang="ar">بين ساعة و ساعتين في اليوم</target>
</trans-unit>
<trans-unit id="5">
<source xml:lang="en">2 hours a day or more</source>
<target xml:lang="ar">ساعتان في اليوم أو أكثر</target>
</trans-unit>
<trans-unit id="2">
<source xml:lang="en"> Please select one response. </source>
<target xml:lang="ar">يُرجى تحديد إجابة واحدة.</target>
</trans-unit>
<trans-unit id="2">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar">يُرجى تحديد إجابة واحدة.</target>
</trans-unit>
<file datatype="plaintext" xml:space="preserve" original="stimulus1.html" source-language="en-ZZ" target-language="ar-PS">
<trans-unit id="tu3">
<source xml:lang="en">There are no <g id="1">right</g> answers. Please select one response.</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="tu3_0">
<source xml:lang="en">There are no <g id="1">right</g> answers.</source>
<target xml:lang="ar" />
</trans-unit>
<trans-unit id="tu3_1">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar" />
</trans-unit>
Segmentation rules follow the SRX standard, which provides a common way to segment text for translation.
mne-MNE
ara-JOR
zhs-HKG
cnr-ME
ar-JO
zh-Hans-HK
<trans-unit id="1_1" approved="yes">
<source xml:lang="en">Please select one response.</source>
<target xml:lang="ar">يُرجى تحديد إجابة واحدة.</target>
</trans-unit>
That's to avoid having the current translation in the file being accidentally overwritten by another translation.
XLIFF