<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://okapiframework.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kuro2</id>
	<title>Okapi Framework - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://okapiframework.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kuro2"/>
	<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php/Special:Contributions/Kuro2"/>
	<updated>2026-04-15T04:27:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Tikal_-_Extraction_Commands&amp;diff=869</id>
		<title>Tikal - Extraction Commands</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Tikal_-_Extraction_Commands&amp;diff=869"/>
		<updated>2021-04-12T21:51:39Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tikal Common Menu}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Extract Files==&lt;br /&gt;
&lt;br /&gt;
This command extracts the translatable content of one or more given files into an [[XLIFF|XLIFF document]]. You can then use any XLIFF-aware translation tool to translate the document (See &amp;quot;[[How to Translate XLIFF Documents]]&amp;quot; for more information). When the translation is done, you can use the [[#Merge Files|Merge Files command]] to create a new translated file in its original format.&lt;br /&gt;
&lt;br /&gt;
The XLIFF documents created are placed in the same directories as the original files, and have the same name with an additional .xlf extension.&lt;br /&gt;
&lt;br /&gt;
By default, some extensions are mapped to a specific filter configuration (for example: &amp;lt;code&amp;gt;.docx&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.odt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;okf_openoffice&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.po&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;okf_po&amp;lt;/code&amp;gt;, etc.). But you can define your own configuration and specify it as well using the &amp;lt;code&amp;gt;-fc&amp;lt;/code&amp;gt; option. To get a list of all available filter configurations use the [[Tikal - Miscellaneous Commands#List Filter Configurations|List Filter Configurations command]]. For more details the filters available and their configurations, see each [[Filters|filter's documentation]].&lt;br /&gt;
&lt;br /&gt;
You can use the &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; option to specify that the extracted text should be segmented. Use &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; without file name to use the default segmentation rules, use &amp;quot;&amp;lt;code&amp;gt;-seg myRules.srx&amp;lt;/code&amp;gt;&amp;quot; to specify your own rules. The rules file must be in SRX format. The segments are marked up according the XLIFF 1.2 specifications.&lt;br /&gt;
&lt;br /&gt;
The syntax of this command is:&lt;br /&gt;
&lt;br /&gt;
 -x [options] inputFile [inputFile2...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Where the options are:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-fc configId&amp;lt;/code&amp;gt; || The identifier of the filter configuration to use for the extraction.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ie encoding&amp;lt;/code&amp;gt; || The encoding name of the input files. this is used only if the filter cannot detect the encoding from the input file itself.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl srcLang&amp;lt;/code&amp;gt; || The code of the source language of the input files. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl trgLang&amp;lt;/code&amp;gt; || The code of the target language for the output (also used in the input if the input documents are multilingual). [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-seg [srxFile]&amp;lt;/code&amp;gt; || The segmentation rules to utilize. To specify the default rules that come with the installation, use &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; without filename. The default rules are in &amp;lt;code&amp;gt;config/defaultSegmentation.srx&amp;lt;/code&amp;gt; in your Okapi main directory.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-rd rootDirectory&amp;lt;/code&amp;gt; || The root directory (by default the user's home directory).&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-od outputDirectory&amp;lt;/code&amp;gt; || The directory where to place the output.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;| &amp;lt;code&amp;gt;-pen tmDirectory&amp;amp;#x7c;&amp;lt;br/&amp;gt;-tt [hostname[:port]]&amp;amp;#x7c;&amp;lt;br/&amp;gt;-gs configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-mm [key]&amp;amp;#x7c;&amp;lt;br/&amp;gt;-gg configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-apertium [configFile]&amp;amp;#x7c;&amp;lt;br/&amp;gt;-ms configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-tda configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-lingo24 configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-mmt url context&amp;amp;#x7c;&amp;lt;br/&amp;gt;-bi bilingualFile&amp;lt;/code&amp;gt;&lt;br /&gt;
| A translation resource connector to use to translate the document: &amp;lt;code&amp;gt;-pen&amp;lt;/code&amp;gt; for the [[Pensieve TM Connector]], &amp;lt;code&amp;gt;-tt&amp;lt;/code&amp;gt; for the [[Translate Toolkit TM Connector]], &amp;lt;code&amp;gt;-gs&amp;lt;/code&amp;gt; for the [[GlobalSight TM Connector]], &amp;lt;code&amp;gt;-mm&amp;lt;/code&amp;gt; for [[MyMemory TM Connector]], &amp;lt;code&amp;gt;-gg&amp;lt;/code&amp;gt; for the [[Google MT v2 Connector]], &amp;lt;code&amp;gt;-apertium&amp;lt;/code&amp;gt; for the [[Apertium MT Connector]], &amp;lt;code&amp;gt;-ms&amp;lt;/code&amp;gt; for the [[Microsoft Translator Connector]], &amp;lt;code&amp;gt;-tda&amp;lt;/code&amp;gt; for the [[TDA Translation Repository Connector]], &amp;lt;code&amp;gt;-lingo24&amp;lt;/code&amp;gt; for the [[Lingo24 Premium MT Connector]], &amp;lt;code&amp;gt;-mmt&amp;lt;/code&amp;gt; for the [[ModernMT API Connector]] and &amp;lt;code&amp;gt;-bi&amp;lt;/code&amp;gt; for the [[Bilingual File Connector]].&lt;br /&gt;
&lt;br /&gt;
The leveraging occurs after segmentation, if you have specified segmentation rules.&lt;br /&gt;
&lt;br /&gt;
Note that some Internet-based resource may be slow and result in lengthy processing time. Be also aware that some translation resources may not always provide a good handling of inline codes.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-opt threshold&amp;lt;/code&amp;gt; || TM query option: The threshold is a number between 0 and 100. If this option is not set the default is 95. Note that this option may be limited for some search engines because of the way they are configured.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-maketmx [tmxFile]&amp;lt;/code&amp;gt; || Generates a TMX document with all the entries leveraged. You can specify the name of the document, if you do not it will be named &amp;lt;code&amp;gt;pretrans.tmx&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-nocopy&amp;lt;/code&amp;gt; || Ensures that the generated XLIFF files do not have a copy of the source text in the target entries if the original target does not exists.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-noalttrans&amp;lt;/code&amp;gt; || Ensures that the generated XLIFF files do not have added &amp;lt;code&amp;gt;&amp;amp;lt;alt-trans&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-codeattrs&amp;lt;/code&amp;gt; || Enables the output of extended attributes &amp;lt;code&amp;gt;ctype&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;equiv-text&amp;lt;/code&amp;gt; for inline codes.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-safe&amp;lt;/code&amp;gt; || Shows a warning before overwriting output files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 tikal -x *.docx *.html&lt;br /&gt;
&lt;br /&gt;
Extracts all &amp;lt;code&amp;gt;.docx&amp;lt;/code&amp;gt; and .html files in the current directory into corresponding &amp;lt;code&amp;gt;.docx.xlf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.html.xlf&amp;lt;/code&amp;gt; XLIFF documents. The source language here is the default, which is the current language of the system. The target language by default is &amp;lt;code&amp;gt;fr&amp;lt;/code&amp;gt;. No segmentation is done.&lt;br /&gt;
&lt;br /&gt;
 tikal -x -sl EN tl DE -fc okf_regex-srt -ie iso-8859-1 findingNemo.srt&lt;br /&gt;
&lt;br /&gt;
Extracts the sub-title file &amp;lt;code&amp;gt;findingNemo.srt&amp;lt;/code&amp;gt; into a &amp;lt;code&amp;gt;findingNemo.srt.xlf&amp;lt;/code&amp;gt; XLIFF document. The encoding &amp;lt;code&amp;gt;iso-8859-&amp;lt;/code&amp;gt;1 is used to process the input file. The filter used is the [[Regex Filter]] with the predefined configuration for SRT documents. The source language is English (&amp;lt;code&amp;gt;EN&amp;lt;/code&amp;gt;) and the target language is German (&amp;lt;code&amp;gt;DE&amp;lt;/code&amp;gt;). No segmentation is done.&lt;br /&gt;
&lt;br /&gt;
 tikal -x *.docx -seg -tl BR&lt;br /&gt;
&lt;br /&gt;
Extracts all &amp;lt;code&amp;gt;.docx&amp;lt;/code&amp;gt; files in the current directory into corresponding &amp;lt;code&amp;gt;.docx.xlf&amp;lt;/code&amp;gt; XLIFF documents. The source language here is the default, which is the current language of the system. The target language is Breton (&amp;lt;code&amp;gt;BR&amp;lt;/code&amp;gt;). The extracted text units will be segmented according the rules defined in the default SRX segmentation rules file (located in the &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt; sub-directory in your Okapi main directory).&lt;br /&gt;
&lt;br /&gt;
 tikal -x *.odt -od toTrans -tl ZU&lt;br /&gt;
&lt;br /&gt;
Extracts all &amp;lt;code&amp;gt;.odt&amp;lt;/code&amp;gt; files in the current directory into corresponding &amp;lt;code&amp;gt;.odt.xlf&amp;lt;/code&amp;gt; XLIFF documents into the &amp;lt;code&amp;gt;toTrans&amp;lt;/code&amp;gt; sub-directory of the current directory. The source language here is the default, which is the current language of the system. The target language is Breton (&amp;lt;code&amp;gt;ZU&amp;lt;/code&amp;gt;). The extracted text units will be segmented according the rules defined in the default SRX segmentation rules file (located in the &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt; sub-directory in your Okapi main directory).&lt;br /&gt;
&lt;br /&gt;
==Merge Files==&lt;br /&gt;
&lt;br /&gt;
This command merges back into their original format one or more XLIFF documents that were created using the [[#Extract Files|Extract Files command]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The XLIFF document names must be the name of the original files with an additional &amp;lt;code&amp;gt;.xlf&amp;lt;/code&amp;gt; extension. The new documents are created in the directories where the XLIFF documents are, with a &amp;lt;code&amp;gt;.out&amp;lt;/code&amp;gt; extension pre-pended to the original extension. For example, if your original file is &amp;lt;code&amp;gt;myFile.html&amp;lt;/code&amp;gt;, the XLIFF document should be &amp;lt;code&amp;gt;myFile.html.xlf&amp;lt;/code&amp;gt;, and the merged file will be &amp;lt;code&amp;gt;myFile.out.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The syntax of this command is:&lt;br /&gt;
&lt;br /&gt;
 -m [options] xliffFile [xliffFile2...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Where the options are:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;| &amp;lt;code&amp;gt;-fc configId&amp;lt;/code&amp;gt; || The identifier of the filter configuration to use for the re-extraction of the original file.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ie encoding&amp;lt;/code&amp;gt; || The encoding name of the original files. This is used only if the filter cannot detect the encoding from the input file itself.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-oe encoding&amp;lt;/code&amp;gt; || The encoding name of the file to generate. The same encoding as the input file will be used if this option is not specified.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl srcLang&amp;lt;/code&amp;gt; || The code of the source language. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl trgLang&amp;lt;/code&amp;gt; || The code of the target language. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sd sourceDirectory&amp;lt;/code&amp;gt; || The directory where to find the source file of the XLIFF document.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-od outputDirectory&amp;lt;/code&amp;gt; || The directory where to place the output.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 tikal -m *.xlf -sl EN -tl DE&lt;br /&gt;
&lt;br /&gt;
Merges all XLIFF documents in the directory. The skeleton files should be in the same directory as well. The source language is English and the target language is German.&lt;br /&gt;
&lt;br /&gt;
 tikal -m toTrans/*.xlf -sl EN -tl ZU -sd . -od xlated&lt;br /&gt;
&lt;br /&gt;
Merges all XLIFF documents in the &amp;lt;code&amp;gt;toTrans&amp;lt;/code&amp;gt; sub-directory of the current directory. The skeleton files are in the current directory. The merged files are placed in the &amp;lt;code&amp;gt;xlated&amp;lt;/code&amp;gt; sub-directory of the current directory. The source language is English and the target language is Zulu.&lt;br /&gt;
&lt;br /&gt;
==Extract Files to Moses==&lt;br /&gt;
&lt;br /&gt;
This command extracts the translatable content of one or more given files into a [[Moses Text Filter|text format usable by Moses]]. You can then perform various tasks on this document.&lt;br /&gt;
&lt;br /&gt;
The Moses files created are placed in the same directories as the original files, and have the same name with an additional extension that is the code of the source locale.&lt;br /&gt;
&lt;br /&gt;
If the option &amp;lt;code&amp;gt;-2&amp;lt;/code&amp;gt; is set, the target output has the same name as the source output, but with an extension that is the code of the target locale, except if the source file ends with an extension that it the code of the source locale. In that case, the target file takes the name of the source file with the last extension replaced by the code of the target language. For example, if the English source output is &amp;lt;code&amp;gt;out.txt&amp;lt;/code&amp;gt;, the target output for French is &amp;lt;code&amp;gt;out.txt.fr&amp;lt;/code&amp;gt;. If the English source output is &amp;lt;code&amp;gt;out.en&amp;lt;/code&amp;gt;, the target output for French is &amp;lt;code&amp;gt;out.fr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The syntax of this command is:&lt;br /&gt;
&lt;br /&gt;
 -xm [options] inputFile&lt;br /&gt;
&lt;br /&gt;
Where the options are:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-fc configId&amp;lt;/code&amp;gt; || The identifier of the filter configuration to use for the extraction.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ie encoding&amp;lt;/code&amp;gt; || The encoding name of the input files. This is used only if the filter cannot detect the encoding from the input file itself.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl srcLang&amp;lt;/code&amp;gt; || The code of the source language of the input files. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl trgLang&amp;lt;/code&amp;gt; || The code of the target language (used in the input if the input documents are multilingual). [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-2&amp;lt;/code&amp;gt; || Extract two files: one for the source, one for the target. The target file has as many lines as the source file as lines. If there is an existing target segment, the target segment is extracted, otherwise an empty line is used for the missing target.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-to srcOutputFile&amp;lt;/code&amp;gt; || The path of the Moses source file to generate. The last part of the path is the template filename to use, the code of the source language is added automatically. &amp;lt;b&amp;gt;Warning:&amp;lt;/b&amp;gt; You must not use this option if you are processing several files at the same time.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;| &amp;lt;code&amp;gt;-seg [srxFile]&amp;lt;/code&amp;gt; || The segmentation rules to utilize. To specify the default rules that come with the installation, use &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; without filename. The default rules are in &amp;lt;code&amp;gt;config/defaultSegmentation.srx&amp;lt;/code&amp;gt; in your Okapi main directory.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-rd rootDirectory&amp;lt;/code&amp;gt; || The root directory (by default the user's home directory).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 tikal -xm myFile.html&lt;br /&gt;
&lt;br /&gt;
Extracts the HTML file &amp;lt;code&amp;gt;myFile.html&amp;lt;/code&amp;gt; in the current directory into corresponding &amp;lt;code&amp;gt;myFile.html.en&amp;lt;/code&amp;gt; Moses document, assuming the default source language is English.&lt;br /&gt;
&lt;br /&gt;
 tikal -xm myFile.xlf -2 -sl en-us -tl af&lt;br /&gt;
&lt;br /&gt;
Extracts the content of the XLIFF document &amp;lt;code&amp;gt;myFile.xlf&amp;lt;/code&amp;gt; into two Moses InlineText files. The first one named &amp;lt;code&amp;gt;myFile.xlf.en-us&amp;lt;/code&amp;gt; for the source, the second called &amp;lt;code&amp;gt;myFile.xlf.af&amp;lt;/code&amp;gt; for the target.&lt;br /&gt;
&lt;br /&gt;
 tikal -xm myFile.xlf -2 -to out.txt -sl en -tl zu&lt;br /&gt;
&lt;br /&gt;
Extracts the content of the XLIFF document &amp;lt;code&amp;gt;myFile.xlf&amp;lt;/code&amp;gt; into two Moses InlineText files. The first one named &amp;lt;code&amp;gt;out.txt.en&amp;lt;/code&amp;gt; for the source, the second called &amp;lt;code&amp;gt;out.txt.zu&amp;lt;/code&amp;gt; for the target.&lt;br /&gt;
&lt;br /&gt;
==Leverage Files from Moses==&lt;br /&gt;
&lt;br /&gt;
This command takes an input file, and leverages the translation found in its corresponding Moses InlineText files. The initial InlineText file should be created with the [[#Extract Files to Moses|Extract Files to Moses command]].&lt;br /&gt;
&lt;br /&gt;
The filter configuration, input encoding and segmentation parameters must be the same in this command as they were in the extraction command. This is to ensure the entries between the input file and the corresponding Moses file match one-to-one.&lt;br /&gt;
&lt;br /&gt;
The new documents are created in the directories where the input documents are, with a &amp;lt;code&amp;gt;.out&amp;lt;/code&amp;gt; extension pre-pended to the original extension. For example, if your original file is &amp;lt;code&amp;gt;myFile.xlf&amp;lt;/code&amp;gt;, and your target language is Zulu, the Moses InlineText document should be (by default) &amp;lt;code&amp;gt;myFile.xlf.zu&amp;lt;/code&amp;gt;, and the leveraged result file will be &amp;lt;code&amp;gt;myFile.out.xlf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The syntax of this command is:&lt;br /&gt;
&lt;br /&gt;
 -lm [options] inputFile&lt;br /&gt;
&lt;br /&gt;
Where the options are:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-fc configId&amp;lt;/code&amp;gt; || The identifier of the filter configuration to use for the extraction.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ie encoding&amp;lt;/code&amp;gt; || The encoding name of the input files. This is used only if the filter cannot detect the encoding from the input file itself.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-oe encoding&amp;lt;/code&amp;gt; || The encoding name of the file to generate. The same encoding as the input file will be used if this option is not specified.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl srcLang&amp;lt;/code&amp;gt; || The code of the source language of the input files. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl trgLang&amp;lt;/code&amp;gt; || The code of the target language. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-totrg&amp;lt;/code&amp;gt; || Copy the leveraged translation into the target, except if there is already an existing target content.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-overtrg&amp;lt;/code&amp;gt; || Copy the leveraged translation into the target, even if is already an existing target content.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-bpt&amp;lt;/code&amp;gt; || Use the &amp;lt;code&amp;gt;&amp;amp;lt;bpt&amp;gt;/&amp;amp;lt;ept&amp;gt;/&amp;amp;lt;ph&amp;gt;&amp;lt;/code&amp;gt; notation instead of the &amp;lt;code&amp;gt;&amp;amp;lt;g&amp;gt;/&amp;amp;lt;x&amp;gt;&amp;lt;/code&amp;gt; notation in &amp;lt;code&amp;gt;&amp;amp;lt;alt-trans&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-from mosesFile&amp;lt;/code&amp;gt; || The path of the Moses InlineText file from which to leverage the text. If this option is not set, the file to leverage from is the same as the input file with the language code of the target appended as an extension. &amp;lt;b&amp;gt;Warning:&amp;lt;/b&amp;gt; You must not use this option if you are processing several files at the same time.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-to outputFile&amp;lt;/code&amp;gt; || The path of the output file to generate. If this option is not set, the output is the same as the input with &amp;lt;code&amp;gt;.out&amp;lt;/code&amp;gt; prepended to the file extension. &amp;lt;b&amp;gt;Warning:&amp;lt;/b&amp;gt; You must not use this option if you are processing several files at the same time.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-seg [srxFile]&amp;lt;/code&amp;gt; || The segmentation rules to utilize. To specify the default rules that come with the installation, use &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; without filename. The default rules are in &amp;lt;code&amp;gt;config/defaultSegmentation.srx&amp;lt;/code&amp;gt; in your Okapi main directory.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-rd rootDirectory&amp;lt;/code&amp;gt; || The root directory (by default the user's home directory).&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-noalttrans&amp;lt;/code&amp;gt; || Ensures that the generated XLIFF files do not have added &amp;lt;code&amp;gt;&amp;amp;lt;alt-trans&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 tikal -lm myFile.html -tl zh&lt;br /&gt;
&lt;br /&gt;
Puts in the input file &amp;lt;code&amp;gt;myFile.html&amp;lt;/code&amp;gt; from the corresponding &amp;lt;code&amp;gt;myFile.html.zh&amp;lt;/code&amp;gt; Moses InlineText document. The source language is the default for the platform, while the target is Chinese (zh). The output file is &amp;lt;code&amp;gt;myFile.out.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 tikal -lm myFile.xlf -sl en -tl ja -from trans.txt -totrg&lt;br /&gt;
&lt;br /&gt;
Leverages the XLIFF file named &amp;lt;code&amp;gt;myFile.xlf&amp;lt;/code&amp;gt; in the current directory using the Moses InlineText document named &amp;lt;code&amp;gt;trans.txt&amp;lt;/code&amp;gt;. The source language is English and the target is Japanese. The output file is &amp;lt;code&amp;gt;myFile.out.xlf&amp;lt;/code&amp;gt;. The Moses translation is copied into the &amp;lt;code&amp;gt;&amp;amp;lt;target&amp;gt;&amp;lt;/code&amp;gt; elements only if the element is empty or non-existing in the source document. The &amp;lt;code&amp;gt;&amp;amp;lt;alt-trans&amp;gt;&amp;lt;/code&amp;gt; elements are added for all segments.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tikal]] [[Category:Filters]] [[Category:XLIFF]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Tikal_-_Extraction_Commands&amp;diff=861</id>
		<title>Tikal - Extraction Commands</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Tikal_-_Extraction_Commands&amp;diff=861"/>
		<updated>2021-04-09T18:00:19Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Removing mentions of -x1, -x2, and skeleton file as they are obsolete.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tikal Common Menu}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Extract Files==&lt;br /&gt;
&lt;br /&gt;
This command extracts the translatable content of one or more given files into an [[XLIFF|XLIFF document]]. You can then use any XLIFF-aware translation tool to translate the document (See &amp;quot;[[How to Translate XLIFF Documents]]&amp;quot; for more information). When the translation is done, you can use the [[#Merge Files|Merge Files command]] to create a new translated file in its original format.&lt;br /&gt;
&lt;br /&gt;
The XLIFF documents created are placed in the same directories as the original files, and have the same name with an additional .xlf extension.&lt;br /&gt;
&lt;br /&gt;
By default, some extensions are mapped to a specific filter configuration (for example: &amp;lt;code&amp;gt;.docx&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.odt&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;okf_openoffice&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.po&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;okf_po&amp;lt;/code&amp;gt;, etc.). But you can define your own configuration and specify it as well using the &amp;lt;code&amp;gt;-fc&amp;lt;/code&amp;gt; option. To get a list of all available filter configurations use the [[Tikal - Miscellaneous Commands#List Filter Configurations|List Filter Configurations command]]. For more details the filters available and their configurations, see each [[Filters|filter's documentation]].&lt;br /&gt;
&lt;br /&gt;
You can use the &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; option to specify that the extracted text should be segmented. Use &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; without file name to use the default segmentation rules, use &amp;quot;&amp;lt;code&amp;gt;-seg myRules.srx&amp;lt;/code&amp;gt;&amp;quot; to specify your own rules. The rules file must be in SRX format. The segments are marked up according the XLIFF 1.2 specifications.&lt;br /&gt;
&lt;br /&gt;
The syntax of this command is:&lt;br /&gt;
&lt;br /&gt;
 -x [options] inputFile [inputFile2...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Where the options are:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-fc configId&amp;lt;/code&amp;gt; || The identifier of the filter configuration to use for the extraction.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ie encoding&amp;lt;/code&amp;gt; || The encoding name of the input files. this is used only if the filter cannot detect the encoding from the input file itself.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl srcLang&amp;lt;/code&amp;gt; || The code of the source language of the input files. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl trgLang&amp;lt;/code&amp;gt; || The code of the target language for the output (also used in the input if the input documents are multilingual). [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-seg [srxFile]&amp;lt;/code&amp;gt; || The segmentation rules to utilize. To specify the default rules that come with the installation, use &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; without filename. The default rules are in &amp;lt;code&amp;gt;config/defaultSegmentation.srx&amp;lt;/code&amp;gt; in your Okapi main directory.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-rd rootDirectory&amp;lt;/code&amp;gt; || The root directory (by default the user's home directory).&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-od outputDirectory&amp;lt;/code&amp;gt; || The directory where to place the output.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;| &amp;lt;code&amp;gt;-pen tmDirectory&amp;amp;#x7c;&amp;lt;br/&amp;gt;-tt [hostname[:port]]&amp;amp;#x7c;&amp;lt;br/&amp;gt;-gs configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-mm [key]&amp;amp;#x7c;&amp;lt;br/&amp;gt;-gg configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-apertium [configFile]&amp;amp;#x7c;&amp;lt;br/&amp;gt;-ms configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-tda configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-lingo24 configFile&amp;amp;#x7c;&amp;lt;br/&amp;gt;-mmt url context&amp;amp;#x7c;&amp;lt;br/&amp;gt;-bi bilingualFile&amp;lt;/code&amp;gt;&lt;br /&gt;
| A translation resource connector to use to translate the document: &amp;lt;code&amp;gt;-pen&amp;lt;/code&amp;gt; for the [[Pensieve TM Connector]], &amp;lt;code&amp;gt;-tt&amp;lt;/code&amp;gt; for the [[Translate Toolkit TM Connector]], &amp;lt;code&amp;gt;-gs&amp;lt;/code&amp;gt; for the [[GlobalSight TM Connector]], &amp;lt;code&amp;gt;-mm&amp;lt;/code&amp;gt; for [[MyMemory TM Connector]], &amp;lt;code&amp;gt;-gg&amp;lt;/code&amp;gt; for the [[Google MT v2 Connector]], &amp;lt;code&amp;gt;-apertium&amp;lt;/code&amp;gt; for the [[Apertium MT Connector]], &amp;lt;code&amp;gt;-ms&amp;lt;/code&amp;gt; for the [[Microsoft Translator Connector]], &amp;lt;code&amp;gt;-tda&amp;lt;/code&amp;gt; for the [[TDA Translation Repository Connector]], &amp;lt;code&amp;gt;-lingo24&amp;lt;/code&amp;gt; for the [[Lingo24 Premium MT Connector]], &amp;lt;code&amp;gt;-mmt&amp;lt;/code&amp;gt; for the [[ModernMT API Connector]] and &amp;lt;code&amp;gt;-bi&amp;lt;/code&amp;gt; for the [[Bilingual File Connector]].&lt;br /&gt;
&lt;br /&gt;
The leveraging occurs after segmentation, if you have specified segmentation rules.&lt;br /&gt;
&lt;br /&gt;
Note that some Internet-based resource may be slow and result in lengthy processing time. Be also aware that some translation resources may not always provide a good handling of inline codes.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-opt threshold&amp;lt;/code&amp;gt; || TM query option: The threshold is a number between 0 and 100. If this option is not set the default is 95. Note that this option may be limited for some search engines because of the way they are configured.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-maketmx [tmxFile]&amp;lt;/code&amp;gt; || Generates a TMX document with all the entries leveraged. You can specify the name of the document, if you do not it will be named &amp;lt;code&amp;gt;pretrans.tmx&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-nocopy&amp;lt;/code&amp;gt; || Ensures that the generated XLIFF files do not have a copy of the source text in the target entries if the original target does not exists.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-noalttrans&amp;lt;/code&amp;gt; || Ensures that the generated XLIFF files do not have added &amp;lt;code&amp;gt;&amp;amp;lt;alt-trans&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-codeattrs&amp;lt;/code&amp;gt; || Enables the output of extended attributes &amp;lt;code&amp;gt;ctype&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;equiv-text&amp;lt;/code&amp;gt; for inline codes.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-safe&amp;lt;/code&amp;gt; || Shows a warning before overwriting output files.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 tikal -x *.docx *.html&lt;br /&gt;
&lt;br /&gt;
Extracts all &amp;lt;code&amp;gt;.docx&amp;lt;/code&amp;gt; and .html files in the current directory into corresponding &amp;lt;code&amp;gt;.docx.xlf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.html.xlf&amp;lt;/code&amp;gt; XLIFF documents. The source language here is the default, which is the current language of the system. The target language by default is &amp;lt;code&amp;gt;fr&amp;lt;/code&amp;gt;. No segmentation is done.&lt;br /&gt;
&lt;br /&gt;
 tikal -x -sl EN tl DE -fc okf_regex-srt -ie iso-8859-1 findingNemo.srt&lt;br /&gt;
&lt;br /&gt;
Extracts the sub-title file &amp;lt;code&amp;gt;findingNemo.srt&amp;lt;/code&amp;gt; into a &amp;lt;code&amp;gt;findingNemo.srt.xlf&amp;lt;/code&amp;gt; XLIFF document. The encoding &amp;lt;code&amp;gt;iso-8859-&amp;lt;/code&amp;gt;1 is used to process the input file. The filter used is the [[Regex Filter]] with the predefined configuration for SRT documents. The source language is English (&amp;lt;code&amp;gt;EN&amp;lt;/code&amp;gt;) and the target language is German (&amp;lt;code&amp;gt;DE&amp;lt;/code&amp;gt;). No segmentation is done.&lt;br /&gt;
&lt;br /&gt;
 tikal -x *.docx -seg -tl BR&lt;br /&gt;
&lt;br /&gt;
Extracts all &amp;lt;code&amp;gt;.docx&amp;lt;/code&amp;gt; files in the current directory into corresponding &amp;lt;code&amp;gt;.docx.xlf&amp;lt;/code&amp;gt; XLIFF documents. The source language here is the default, which is the current language of the system. The target language is Breton (&amp;lt;code&amp;gt;BR&amp;lt;/code&amp;gt;). The extracted text units will be segmented according the rules defined in the default SRX segmentation rules file (located in the &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt; sub-directory in your Okapi main directory).&lt;br /&gt;
&lt;br /&gt;
 tikal -x *.odt -od toTrans -tl ZU&lt;br /&gt;
&lt;br /&gt;
Extracts all &amp;lt;code&amp;gt;.odt&amp;lt;/code&amp;gt; files in the current directory into corresponding &amp;lt;code&amp;gt;.odt.xlf&amp;lt;/code&amp;gt; XLIFF documents into the &amp;lt;code&amp;gt;toTrans&amp;lt;/code&amp;gt; sub-directory of the current directory. The source language here is the default, which is the current language of the system. The target language is Breton (&amp;lt;code&amp;gt;ZU&amp;lt;/code&amp;gt;). The extracted text units will be segmented according the rules defined in the default SRX segmentation rules file (located in the &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt; sub-directory in your Okapi main directory).&lt;br /&gt;
&lt;br /&gt;
==Merge Files==&lt;br /&gt;
&lt;br /&gt;
This command merges back into their original format one or more XLIFF documents that were created using the [[#Extract Files|Extract Files command]]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The XLIFF document names must be the name of the original files with an additional &amp;lt;code&amp;gt;.xlf&amp;lt;/code&amp;gt; extension. The new documents are created in the directories where the XLIFF documents are, with a &amp;lt;code&amp;gt;.out&amp;lt;/code&amp;gt; extension pre-pended to the original extension. For example, if your original file is &amp;lt;code&amp;gt;myFile.html&amp;lt;/code&amp;gt;, the XLIFF document should be &amp;lt;code&amp;gt;myFile.html.xlf&amp;lt;/code&amp;gt;, and the merged file will be &amp;lt;code&amp;gt;myFile.out.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The syntax of this command is:&lt;br /&gt;
&lt;br /&gt;
 -m [options] xliffFile [xliffFile2...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Where the options are:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;| &amp;lt;code&amp;gt;-fc configId&amp;lt;/code&amp;gt; || The identifier of the filter configuration to use for the re-extraction of the original file.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ie encoding&amp;lt;/code&amp;gt; || The encoding name of the original files. This is used only if the filter cannot detect the encoding from the input file itself.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-oe encoding&amp;lt;/code&amp;gt; || The encoding name of the file to generate. The same encoding as the input file will be used if this option is not specified.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl srcLang&amp;lt;/code&amp;gt; || The code of the source language. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl trgLang&amp;lt;/code&amp;gt; || The code of the target language. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sd sourceDirectory&amp;lt;/code&amp;gt; || The directory where to find the source file of the XLIFF document.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-od outputDirectory&amp;lt;/code&amp;gt; || The directory where to place the output.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 tikal -m *.xlf -sl EN -tl DE&lt;br /&gt;
&lt;br /&gt;
Merges all XLIFF documents in the directory. The skeleton files should be in the same directory as well. The source language is English and the target language is German.&lt;br /&gt;
&lt;br /&gt;
 tikal -m toTrans/*.xlf -sl EN -tl ZU -sd . -od xlated&lt;br /&gt;
&lt;br /&gt;
Merges all XLIFF documents in the &amp;lt;code&amp;gt;toTrans&amp;lt;/code&amp;gt; sub-directory of the current directory. The skeleton files are in the current directory. The merged files are placed in the &amp;lt;code&amp;gt;xlated&amp;lt;/code&amp;gt; sub-directory of the current directory. The source language is English and the target language is Zulu.&lt;br /&gt;
&lt;br /&gt;
==Extract Files to Moses==&lt;br /&gt;
&lt;br /&gt;
This command extracts the translatable content of one or more given files into a [[Moses Text Filter|text format usable by Moses]]. You can then perform various tasks on this document.&lt;br /&gt;
&lt;br /&gt;
The Moses files created are placed in the same directories as the original files, and have the same name with an additional extension that is the code of the source locale.&lt;br /&gt;
&lt;br /&gt;
If the option &amp;lt;code&amp;gt;-2&amp;lt;/code&amp;gt; is set, the target output has the same name as the source output, but with an extension that is the code of the target locale, except if the source file ends with an extension that it the code of the source locale. In that case, the target file takes the name of the source file with the last extension replaced by the code of the target language. For example, if the English source output is &amp;lt;code&amp;gt;out.txt&amp;lt;/code&amp;gt;, the target output for French is &amp;lt;code&amp;gt;out.txt.fr&amp;lt;/code&amp;gt;. If the English source output is &amp;lt;code&amp;gt;out.en&amp;lt;/code&amp;gt;, the target output for French is &amp;lt;code&amp;gt;out.fr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The syntax of this command is:&lt;br /&gt;
&lt;br /&gt;
 -xm [options] inputFile&lt;br /&gt;
&lt;br /&gt;
Where the options are:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-fc configId&amp;lt;/code&amp;gt; || The identifier of the filter configuration to use for the extraction.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ie encoding&amp;lt;/code&amp;gt; || The encoding name of the input files. This is used only if the filter cannot detect the encoding from the input file itself.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl srcLang&amp;lt;/code&amp;gt; || The code of the source language of the input files. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl trgLang&amp;lt;/code&amp;gt; || The code of the target language (used in the input if the input documents are multilingual). [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-2&amp;lt;/code&amp;gt; || Extract two files: one for the source, one for the target. The target file has as many lines as the source file as lines. If there is an existing target segment, the target segment is extracted, otherwise an empty line is used for the missing target.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-to srcOutputFile&amp;lt;/code&amp;gt; || The path of the Moses source file to generate. The last part of the path is the template filename to use, the code of the source language is added automatically. &amp;lt;b&amp;gt;Warning:&amp;lt;/b&amp;gt; You must not use this option if you are processing several files at the same time.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;| &amp;lt;code&amp;gt;-seg [srxFile]&amp;lt;/code&amp;gt; || The segmentation rules to utilize. To specify the default rules that come with the installation, use &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; without filename. The default rules are in &amp;lt;code&amp;gt;config/defaultSegmentation.srx&amp;lt;/code&amp;gt; in your Okapi main directory.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-rd rootDirectory&amp;lt;/code&amp;gt; || The root directory (by default the user's home directory).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 tikal -xm myFile.html&lt;br /&gt;
&lt;br /&gt;
Extracts the HTML file &amp;lt;code&amp;gt;myFile.html&amp;lt;/code&amp;gt; in the current directory into corresponding &amp;lt;code&amp;gt;myFile.html.en&amp;lt;/code&amp;gt; Moses document, assuming the default source language is English.&lt;br /&gt;
&lt;br /&gt;
 tikal -xm myFile.xlf -2 -sl en-us -tl af&lt;br /&gt;
&lt;br /&gt;
Extracts the content of the XLIFF document &amp;lt;code&amp;gt;myFile.xlf&amp;lt;/code&amp;gt; into two Moses InlineText files. The first one named &amp;lt;code&amp;gt;myFile.xlf.en-us&amp;lt;/code&amp;gt; for the source, the second called &amp;lt;code&amp;gt;myFile.xlf.af&amp;lt;/code&amp;gt; for the target.&lt;br /&gt;
&lt;br /&gt;
 tikal -xm myFile.xlf -2 -to out.txt -sl en -tl zu&lt;br /&gt;
&lt;br /&gt;
Extracts the content of the XLIFF document &amp;lt;code&amp;gt;myFile.xlf&amp;lt;/code&amp;gt; into two Moses InlineText files. The first one named &amp;lt;code&amp;gt;out.txt.en&amp;lt;/code&amp;gt; for the source, the second called &amp;lt;code&amp;gt;out.txt.zu&amp;lt;/code&amp;gt; for the target.&lt;br /&gt;
&lt;br /&gt;
==Leverage Files from Moses==&lt;br /&gt;
&lt;br /&gt;
This command takes an input file, and leverages the translation found in its corresponding Moses InlineText files. The initial InlineText file should be created with the [[#Extract Files to Moses|Extract Files to Moses command]].&lt;br /&gt;
&lt;br /&gt;
The filter configuration, input encoding and segmentation parameters must be the same in this command as they were in the extraction command. This is to ensure the entries between the input file and the corresponding Moses file match one-to-one.&lt;br /&gt;
&lt;br /&gt;
The new documents are created in the directories where the input documents are, with a &amp;lt;code&amp;gt;.out&amp;lt;/code&amp;gt; extension pre-pended to the original extension. For example, if your original file is &amp;lt;code&amp;gt;myFile.xlf&amp;lt;/code&amp;gt;, and your target language is Zulu, the Moses InlineText document should be (by default) &amp;lt;code&amp;gt;myFile.xlf.zu&amp;lt;/code&amp;gt;, and the leveraged result file will be &amp;lt;code&amp;gt;myFile.out.xlf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The syntax of this command is:&lt;br /&gt;
&lt;br /&gt;
 -lm [options] inputFile&lt;br /&gt;
&lt;br /&gt;
Where the options are:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-fc configId&amp;lt;/code&amp;gt; || The identifier of the filter configuration to use for the extraction.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ie encoding&amp;lt;/code&amp;gt; || The encoding name of the input files. This is used only if the filter cannot detect the encoding from the input file itself.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-oe encoding&amp;lt;/code&amp;gt; || The encoding name of the file to generate. The same encoding as the input file will be used if this option is not specified.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl srcLang&amp;lt;/code&amp;gt; || The code of the source language of the input files. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl trgLang&amp;lt;/code&amp;gt; || The code of the target language. [[Tikal - Usage#Source and Target Languages|See more details...]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-totrg&amp;lt;/code&amp;gt; || Copy the leveraged translation into the target, except if there is already an existing target content.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-overtrg&amp;lt;/code&amp;gt; || Copy the leveraged translation into the target, even if is already an existing target content.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-bpt&amp;lt;/code&amp;gt; || Use the &amp;lt;code&amp;gt;&amp;amp;lt;bpt&amp;gt;/&amp;amp;lt;ept&amp;gt;/&amp;amp;lt;ph&amp;gt;&amp;lt;/code&amp;gt; notation instead of the &amp;lt;code&amp;gt;&amp;amp;lt;g&amp;gt;/&amp;amp;lt;x&amp;gt;&amp;lt;/code&amp;gt; notation in &amp;lt;code&amp;gt;&amp;amp;lat-trans&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-from mosesFile&amp;lt;/code&amp;gt; || The path of the Moses InlineText file from which to leverage the text. If this option is not set, the file to leverage from is the same as the input file with the language code of the target appended as an extension. &amp;lt;b&amp;gt;Warning:&amp;lt;/b&amp;gt; You must not use this option if you are processing several files at the same time.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-to outputFile&amp;lt;/code&amp;gt; || The path of the output file to generate. If this option is not set, the output is the same as the input with &amp;lt;code&amp;gt;.out&amp;lt;/code&amp;gt; prepended to the file extension. &amp;lt;b&amp;gt;Warning:&amp;lt;/b&amp;gt; You must not use this option if you are processing several files at the same time.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-seg [srxFile]&amp;lt;/code&amp;gt; || The segmentation rules to utilize. To specify the default rules that come with the installation, use &amp;lt;code&amp;gt;-seg&amp;lt;/code&amp;gt; without filename. The default rules are in &amp;lt;code&amp;gt;config/defaultSegmentation.srx&amp;lt;/code&amp;gt; in your Okapi main directory.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|nowrap=&amp;quot;nowrap&amp;quot;|&amp;lt;code&amp;gt;-rd rootDirectory&amp;lt;/code&amp;gt; || The root directory (by default the user's home directory).&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-noalttrans&amp;lt;/code&amp;gt; || Ensures that the generated XLIFF files do not have added &amp;lt;code&amp;gt;&amp;amp;lt;alt-trans&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 tikal -lm myFile.html -tl zh&lt;br /&gt;
&lt;br /&gt;
Puts in the input file &amp;lt;code&amp;gt;myFile.html&amp;lt;/code&amp;gt; from the corresponding &amp;lt;code&amp;gt;myFile.html.zh&amp;lt;/code&amp;gt; Moses InlineText document. The source language is the default for the platform, while the target is Chinese (zh). The output file is &amp;lt;code&amp;gt;myFile.out.html&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 tikal -lm myFile.xlf -sl en -tl ja -from trans.txt -totrg&lt;br /&gt;
&lt;br /&gt;
Leverages the XLIFF file named &amp;lt;code&amp;gt;myFile.xlf&amp;lt;/code&amp;gt; in the current directory using the Moses InlineText document named &amp;lt;code&amp;gt;trans.txt&amp;lt;/code&amp;gt;. The source language is English and the target is Japanese. The output file is &amp;lt;code&amp;gt;myFile.out.xlf&amp;lt;/code&amp;gt;. The Moses translation is copied into the &amp;lt;code&amp;gt;&amp;amp;lt;target&amp;gt;&amp;lt;/code&amp;gt; elements only if the element is empty or non-existing in the source document. The &amp;lt;code&amp;gt;&amp;amp;lt;alt-trans&amp;gt;&amp;lt;/code&amp;gt; elements are added for all segments.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tikal]] [[Category:Filters]] [[Category:XLIFF]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Filters&amp;diff=858</id>
		<title>Filters</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Filters&amp;diff=858"/>
		<updated>2021-03-24T00:29:37Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: /* Supported File Formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Filters are the components that convert input documents from their native file format into a common internal set of [[Glossary#Resource|resources]] that all Okapi components use. The extracted content can be re-written into the original file format. When using the steps, the extraction is done by the [[Raw Document to Filter Events Step]] and the re-writing by the [[Filter Events to Raw Document Step]].&lt;br /&gt;
&lt;br /&gt;
Note: The [[Okapi Filters Plugin for OmegaT]] allows you to use some of the filters directly from [http://www.omegat.org OmegaT].&lt;br /&gt;
&lt;br /&gt;
==List of the Filters==&lt;br /&gt;
&lt;br /&gt;
The framework distribution comes with the following filters:&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;8&amp;quot; width=100%&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [[Archive Filter]]&lt;br /&gt;
* [[DTD Filter]]&lt;br /&gt;
* [[Doxygen Filter]]&lt;br /&gt;
* [[HTML Filter]]&lt;br /&gt;
* [[HTML5-ITS Filter]]&lt;br /&gt;
* [[ICML Filter]]&lt;br /&gt;
* [[IDML Filter]]&lt;br /&gt;
* [[JSON Filter]]&lt;br /&gt;
* [[Markdown Filter]]&lt;br /&gt;
* [[MIF Filter]]&lt;br /&gt;
* [[Moses Text Filter]]&lt;br /&gt;
* [[Multi-Parsers Filter]]&lt;br /&gt;
* [[OpenOffice Filter]]&lt;br /&gt;
* [[OpenXML Filter|OpenXML (MS Office) Filter]]&lt;br /&gt;
|&lt;br /&gt;
* [[PDF Filter]]&lt;br /&gt;
* [[Pensieve TM Filter]]&lt;br /&gt;
* [[PHP Content Filter]]&lt;br /&gt;
* [[Plain Text Filter]]&lt;br /&gt;
* [[PO Filter]]&lt;br /&gt;
* [[Properties Filter]]&lt;br /&gt;
* [[Rainbow Translation Kit Filter]]&lt;br /&gt;
* [[Regex Filter]]&lt;br /&gt;
* [[SDL Trados Package Filter]]&lt;br /&gt;
* [[Simplification Filter]]&lt;br /&gt;
* [[Table Filter]]&lt;br /&gt;
* [[TMX Filter]]&lt;br /&gt;
* [[Trados-Tagged RTF Filter]]&lt;br /&gt;
|&lt;br /&gt;
* [[Transifex Filter]]&lt;br /&gt;
* [[TS Filter]]&lt;br /&gt;
* [[TTX Filter]]&lt;br /&gt;
* [[TXML Filter]]&lt;br /&gt;
* [[Wiki Filter]]&lt;br /&gt;
* [[Vignette Filter]]&lt;br /&gt;
* [[XLIFF Filter]]&lt;br /&gt;
* [[XLIFF-2 Filter]]&lt;br /&gt;
* [[XML Filter]]&lt;br /&gt;
* [[XML Stream Filter]]&lt;br /&gt;
* [[YAML Filter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Supported File Formats==&lt;br /&gt;
&lt;br /&gt;
The following is a list of some of the file formats supported by the distribution through [[Understanding Filter Configurations|pre-defined configurations]]:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
| '''Format''' || '''Extensions''' || '''Pre-Defined Configuration''' || '''Filter''' || '''Notes'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Android Strings || .xml || &amp;lt;code&amp;gt;okf_xml-AndroidStrings&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Apple Stringsdict || .stringsdict || &amp;lt;code&amp;gt;okf_xml-AppleStringsdict&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Archive || .zip || &amp;lt;code&amp;gt;okf_archive&amp;lt;/code&amp;gt; || [[Archive Filter]] || Meta filter that processes zip files with various formats as one file.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Auto Xliff || .xlf, .xliff || &amp;lt;code&amp;gt;okf_autoxliff&amp;lt;/code&amp;gt; || [[Auto Xliff Filter]] || Detects the version of an XLIFF file and then hands parsing off to the appropriate filter &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| CSV (Comma-separated values files) || .csv, .txt || &amp;lt;code&amp;gt;okf_table_csv&amp;lt;/code&amp;gt; || [[Table Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| CSV (Multiple complex sub-formats) || .csv || &amp;lt;code&amp;gt;okf_multiparsers&amp;lt;/code&amp;gt; || [[Multi-Parsers Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DITA || .dita, .ditamap, .xml || &amp;lt;code&amp;gt;okf_xmlstream-dita&amp;lt;/code&amp;gt; || [[XML Stream Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DocBook v5.0 || .xml || &amp;lt;code&amp;gt;okf_xml-docbook&amp;lt;/code&amp;gt; || [[XML Filter]] || Since Okapi 1.42. &amp;amp;lt;footnote&amp;gt; is not handled properly.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DokuWiki pages || .txt || &amp;lt;code&amp;gt;okf_wiki&amp;lt;/code&amp;gt; || [[Wiki Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Doxygen-commented files || .c, .h, cpp || &amp;lt;code&amp;gt;okf_doxygen&amp;lt;/code&amp;gt; || [[Doxygen Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DTD || .dtd || &amp;lt;code&amp;gt;okf_dtd&amp;lt;/code&amp;gt; || [[DTD Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fixed-Width Columns Table || .txt || &amp;lt;code&amp;gt;okf_table_fwc&amp;lt;/code&amp;gt; || [[Table Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Idiom WorldServer XLIFF || .xlf || &amp;lt;code&amp;gt;okf_xliff-iws&amp;lt;/code&amp;gt; || [[XLIFF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| InCopy ICML || .wcml || &amp;lt;code&amp;gt;okf_icml&amp;lt;/code&amp;gt; || [[ICML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| InDesign IDML || .idml || &amp;lt;code&amp;gt;okf_idml&amp;lt;/code&amp;gt; || [[IDML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| iOS/Mac Strings|| .strings || &amp;lt;code&amp;gt;okf_regex-macStrings&amp;lt;/code&amp;gt; || [[Regex Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Java Properties || .properties || &amp;lt;code&amp;gt;okf_properties&amp;lt;/code&amp;gt; || [[Properties Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Java Properties (Output not escaped) || .properties || &amp;lt;code&amp;gt;okf_properties-outputNotEscaped&amp;lt;/code&amp;gt; || [[Properties Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Java XML Properties || .xml || &amp;lt;code&amp;gt;okf_xml-JavaProperties&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Java XML Properties (HTML strings) || .xml || &amp;lt;code&amp;gt;okf_xmlstream-JavaPropertiesHTML&amp;lt;/code&amp;gt; || [[XML Stream Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| JSON || .json || &amp;lt;code&amp;gt;okf_json&amp;lt;/code&amp;gt; || [[JSON Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Haiku CatKeys || .catkeys || &amp;lt;code&amp;gt;okf_table_catkeys&amp;lt;/code&amp;gt; || [[Table Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| HTML (any) || .html, .htm || &amp;lt;code&amp;gt;okf_html&amp;lt;/code&amp;gt; || [[HTML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| HTML (Well-formed, and XHTML) || .html, .htm|| &amp;lt;code&amp;gt;okf_html-wellFormed&amp;lt;/code&amp;gt; || [[HTML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| HTML5 (and XHTML5) || .html, .htm|| &amp;lt;code&amp;gt;okf_itshtml5&amp;lt;/code&amp;gt; || [[HTML5-ITS Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Markdown || .md || &amp;lt;code&amp;gt;okf_markdown&amp;lt;/code&amp;gt; || [[Markdown Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Microsoft Excel 2007/2010 || .xlsx, .xlsm, .xltx, .xltm || &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt; || [[OpenXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Microsoft PowerPoint 2007/2010 || .pptx, .pptm, .potx, .potm, .ppsx, .ppsm || &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt; || [[OpenXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Microsoft Visio || .vsdx, .vsdm || &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt; || [[OpenXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Microsoft Word 2007/2010 || .docx, .docm, .dotx, .dotm || &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt; || [[OpenXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| MIF || .mif || &amp;lt;code&amp;gt;okf_mif&amp;lt;/code&amp;gt; || [[MIF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Moses Text || .txt || &amp;lt;code&amp;gt;okf_mosestext&amp;lt;/code&amp;gt; || [[Moses Text Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OpenOffice.org Calc || .ods, .ots || &amp;lt;code&amp;gt;okf_odf&amp;lt;/code&amp;gt; || [[OpenOffice Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OpenOffice.org Draw || .odg, .otg || &amp;lt;code&amp;gt;okf_odf&amp;lt;/code&amp;gt; || [[OpenOffice Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OpenOffice.org Impress || .odp, .otp || &amp;lt;code&amp;gt;okf_odf&amp;lt;/code&amp;gt; || [[OpenOffice Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OpenOffice.org Writer || .odt, .ott || &amp;lt;code&amp;gt;okf_odf&amp;lt;/code&amp;gt; || [[OpenOffice Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| PDF || .pdf || &amp;lt;code&amp;gt;okf_pdf&amp;lt;/code&amp;gt; || [[PDF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Pensieve TM]] || .pentm || &amp;lt;code&amp;gt;okf_pensieve&amp;lt;/code&amp;gt; || [[Pensieve TM Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| PHP Content || .php || &amp;lt;code&amp;gt;okf_phpcontent&amp;lt;/code&amp;gt; || [[PHP Content Filter]] || Can be used as a subfilter only&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Plain Text (Line = text unit) || .txt || &amp;lt;code&amp;gt;okf_plaintext&amp;lt;/code&amp;gt; || [[ Plain Text Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Plain Text (Paragraph = text unit) || .txt || &amp;lt;code&amp;gt;okf_plaintext_paragraphs&amp;lt;/code&amp;gt; || [[Plain Text Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| PO || .po || &amp;lt;code&amp;gt;okf_po&amp;lt;/code&amp;gt; || [[PO Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| PO (Monolingual style) || .po || &amp;lt;code&amp;gt;okf_po-monolingual&amp;lt;/code&amp;gt; || [[PO Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Rainbow Translation Kit manifests || .rkm || &amp;lt;code&amp;gt;okf_rainbowkit&amp;lt;/code&amp;gt; || [[Rainbow Translation Kit Filter]] || Used as a tkit reader only&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Regex (Any text-based format) || .txt || &amp;lt;code&amp;gt;okf_regex&amp;lt;/code&amp;gt; || [[Regex Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| RDF (Mozilla RDF) || .rdf || &amp;lt;code&amp;gt;okf_xml-MozillaRDF&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| RESX || .resx || &amp;lt;code&amp;gt;okf_xml-resx&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SDLPPX || .sdlppx || &amp;lt;code&amp;gt;okf_sdlpackage&amp;lt;/code&amp;gt; || [[SDL Trados Package Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SDLRPX || .sdlrpx || &amp;lt;code&amp;gt;okf_sdlpackage&amp;lt;/code&amp;gt; || [[SDL Trados Package Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SDL[[XLIFF]] || .sdlxlf || &amp;lt;code&amp;gt;okf_xliff-sdl&amp;lt;/code&amp;gt; || [[XLIFF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Skype Language Files || .lang || &amp;lt;code&amp;gt;okf_properties-skypeLang&amp;lt;/code&amp;gt; || [[Properties Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SRT (Sub-Rip Text, sub-titles files) || .srt || &amp;lt;code&amp;gt;okf_regex-srt&amp;lt;/code&amp;gt; || [[Regex Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Tab-Delimiter files || .tsv, .txt || &amp;lt;code&amp;gt;okf_table_tsv&amp;lt;/code&amp;gt; || [[Table Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Tex files || .tex || &amp;lt;code&amp;gt;okf_tex&amp;lt;/code&amp;gt; || [[TEX Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[TMX]] || .tmx || &amp;lt;code&amp;gt;okf_tmx&amp;lt;/code&amp;gt; || [[TMX Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Transifex project || .txp || &amp;lt;code&amp;gt;okf_transifex&amp;lt;/code&amp;gt; || [[Transifex Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Trados-Tagged RTF || .rtf || &amp;lt;code&amp;gt;okf_tradosrtf&amp;lt;/code&amp;gt; || [[Trados-Tagged RTF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| TS - Qt TS files || .ts || &amp;lt;code&amp;gt;okf_ts&amp;lt;/code&amp;gt; || [[TS Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| TTX - Trados TagEditor TTX files || .ttx || &amp;lt;code&amp;gt;okf_ttx&amp;lt;/code&amp;gt; || [[TTX Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| TXML - Wordfast Pro TXML files || .txml || &amp;lt;code&amp;gt;okf_txml&amp;lt;/code&amp;gt; || [[TXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vignette Export/Import Content || .xml || &amp;lt;code&amp;gt;okf_vignette&amp;lt;/code&amp;gt; || [[Vignette Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| XHTML || .html, .htm || &amp;lt;code&amp;gt;okf_html-wellFormed&amp;lt;/code&amp;gt; || [[HTML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| WIX (Windows Installer XML) localization files || .wix || &amp;lt;code&amp;gt;okf_xml-WixLocalization&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[XLIFF]] v1.2 || .xlf, .xliff || &amp;lt;code&amp;gt;okf_xliff&amp;lt;/code&amp;gt; || [[XLIFF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[XLIFF]] v2 || .xlf || &amp;lt;code&amp;gt;okf_xliff2&amp;lt;/code&amp;gt; || [[XLIFF-2 Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| XML (Generic, using [[ITS]] defaults) || .xml || &amp;lt;code&amp;gt;okf_xml&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| XML (Generic, using stream reader) || .xml || &amp;lt;code&amp;gt;okf_xmlstream&amp;lt;/code&amp;gt; || [[XML Stream Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| YAML (Generic YAML filter) || .yml, .yaml || &amp;lt;code&amp;gt;okf_yaml&amp;lt;/code&amp;gt; || [[YAML Filter]] ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that most filters allow you to [[Understanding Filter Configurations|create your own configurations]] to support more file formats.&lt;br /&gt;
&lt;br /&gt;
==Code Simplification Rules==&lt;br /&gt;
&lt;br /&gt;
All filters support code simplification rules. By default the [[Inline Codes Simplifier Step]], [[Simplification Filter]] and [[Post-segmentation Inline Codes Removal Step]] maximize the trimming and merging (aka simplification) of inline codes. In some cases this may not be desired. The simplification rules allow you to override the default behavior and prevent specific codes from being trimmed or merged.&lt;br /&gt;
&lt;br /&gt;
===General Syntax===&lt;br /&gt;
&lt;br /&gt;
The rules parser ignores irrelevant whitespace. Rules can be separated by spaces, newlines or nothing. This makes it easier to accommodate various container formats and their whitespace normalization rules. When a rule applies it means &amp;quot;do not simplify the match code&amp;quot;. Uppercase tokens are constants and predefined by the rule parser. Multiple rules are always OR'ed together.&lt;br /&gt;
&lt;br /&gt;
For more details see the JavaCC grammar: &amp;lt;code&amp;gt;../okapi-core/src/main/java/net/sf/okapi/core/simplifierrules/SimplifierRules.jj&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Rule Examples===&lt;br /&gt;
&lt;br /&gt;
If Code has any of these flags then don't simplify &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if DELETABLE or ADDABLE or CLONEABLE;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;=&amp;quot; is string match&lt;br /&gt;
Match basic TAGTYPE opening, closing or standalone &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if DATA = &amp;quot;a&amp;quot; and TAGTYPE = OPENING;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;~&amp;quot; is regex match&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if DATA ~ &amp;quot;a.*&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can negate any of the match operators &lt;br /&gt;
Don't simplify if the DATA does not match the regex &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if DATA !~ &amp;quot;a.*&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Match on type, linebreak in this case, don't simplify &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if the Code is a linebreak if TYPE = &amp;quot;lb&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don't simplify any rich text types&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if TYPE = &amp;quot;bold&amp;quot; or TYPE = &amp;quot;italic&amp;quot; or TYPE = &amp;quot;underline&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expressions can be recursive (supports embedded parens)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if TYPE = &amp;quot;bold&amp;quot; or (DATA = &amp;quot;bar&amp;quot; or (DATA = &amp;quot;foo&amp;quot; and TYPE = &amp;quot;underline&amp;quot;));&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Filter Config Examples===&lt;br /&gt;
&lt;br /&gt;
Examples of using simplifier rules within the filter config formats used by Okapi.&lt;br /&gt;
&lt;br /&gt;
'''YAML:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
simplifierRules: |&lt;br /&gt;
  if ADDABLE or DELETABLE or CLONEABLE;&lt;br /&gt;
  if DATA = &amp;quot;&amp;lt;br/&amp;gt;&amp;quot; or DATA = &amp;quot;&amp;lt;font&amp;gt;&amp;quot; or DATA = &amp;quot;&amp;lt;/font&amp;gt;&amp;quot; or DATA = &amp;quot;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
  if DATA ~ &amp;quot;\\&amp;lt;font.+&amp;quot; or DATA ~ &amp;quot;\\&amp;lt;img.+&amp;quot; or DATA ~ &amp;quot;\\&amp;lt;a.+&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''ITS:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;its:rules xmlns:its=&amp;quot;http://www.w3.org/2005/11/its&amp;quot; version=&amp;quot;1.0&amp;quot; xmlns:itsx=&amp;quot;http://www.w3.org/2008/12/its-extensions&amp;quot; xmlns:okp=&amp;quot;okapi-framework:xmlfilter-options&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- See ITS specification at: http://www.w3.org/TR/its/ --&amp;gt;&lt;br /&gt;
 &amp;lt;its:translateRule selector=&amp;quot;//*&amp;quot; translate=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;its:withinTextRule selector=&amp;quot;//codeph&amp;quot; withinText=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;its:withinTextRule selector=&amp;quot;//ph&amp;quot; withinText=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;okp:simplifierRules&amp;gt;&lt;br /&gt;
 if ADDABLE or DELETABLE or CLONEABLE; if DATA ~ &amp;quot;.+&amp;quot;;&lt;br /&gt;
 &amp;lt;/okp:simplifierRules&amp;gt;&lt;br /&gt;
&amp;lt;/its:rules&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''FPRM (Parameters):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#v1&lt;br /&gt;
extractNotes.b=true&lt;br /&gt;
simplifyCodes.b=true&lt;br /&gt;
simplifierRules=if ADDABLE or DELETABLE or CLONEABLE; if DATA ~ &amp;quot;.+&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Font Mapping==&lt;br /&gt;
&lt;br /&gt;
The font mapping can be considered as filter's ability to automatically substitute font information in the target document on the fly, according to a provided configuration - this helps to reduce the amount of reformatting and post-translation DTP. It is supported by IDML and OpenXML (DOCX documents) filters at the moment.&lt;br /&gt;
&lt;br /&gt;
The following font mapping configuration options are available:&lt;br /&gt;
* The source language regular expression pattern: &amp;lt;code&amp;gt;en.*&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;en-UK&amp;lt;/code&amp;gt;, etc. It can be left empty to apply the mapping to any source language.&lt;br /&gt;
* The target language regular expression pattern: &amp;lt;code&amp;gt;ru.*&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ru-RU&amp;lt;/code&amp;gt;, etc. It can be left empty to apply the mapping to any target language.&lt;br /&gt;
* The source font name regular expression pattern: &amp;lt;code&amp;gt;Arial.*&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt;, etc. It can be left empty to apply the mapping to any source font name found.&lt;br /&gt;
* The target font name: &amp;lt;code&amp;gt;Arial&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt;, etc. It should not be empty. And if it is made so, the mapping configuration is ignored.&lt;br /&gt;
&lt;br /&gt;
Also, the configured font mappings are applied in the order they are stated. And the final target font value is determined by a sequential&lt;br /&gt;
substitution of the source font values. I.e. if there is more than one mapping:&lt;br /&gt;
# &amp;lt;code&amp;gt;Arial&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;Sans Serif&amp;lt;/code&amp;gt;&lt;br /&gt;
then the first mapping will produce &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt; replacement and the second one will be applied to this new value, thus, ending up with the &amp;lt;code&amp;gt;Sans Serif&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The parameters serialisation format can look like that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fontMappings.0.sourceLocalePattern=en.*&lt;br /&gt;
fontMappings.0.targetLocalePattern=ru.*&lt;br /&gt;
fontMappings.0.sourceFontPattern=Times.*&lt;br /&gt;
fontMappings.0.targetFont=Arial Unicode MS&lt;br /&gt;
fontMappings.1.sourceLocalePattern=ru&lt;br /&gt;
fontMappings.1.targetLocalePattern=fr&lt;br /&gt;
fontMappings.1.sourceFontPattern=The Sims Sans&lt;br /&gt;
fontMappings.1.targetFont=Arial Unicode MS&lt;br /&gt;
fontMappings.number.i=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Filters]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Filters&amp;diff=857</id>
		<title>Filters</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Filters&amp;diff=857"/>
		<updated>2021-03-24T00:24:49Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: /* Supported File Formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Filters are the components that convert input documents from their native file format into a common internal set of [[Glossary#Resource|resources]] that all Okapi components use. The extracted content can be re-written into the original file format. When using the steps, the extraction is done by the [[Raw Document to Filter Events Step]] and the re-writing by the [[Filter Events to Raw Document Step]].&lt;br /&gt;
&lt;br /&gt;
Note: The [[Okapi Filters Plugin for OmegaT]] allows you to use some of the filters directly from [http://www.omegat.org OmegaT].&lt;br /&gt;
&lt;br /&gt;
==List of the Filters==&lt;br /&gt;
&lt;br /&gt;
The framework distribution comes with the following filters:&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;8&amp;quot; width=100%&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* [[Archive Filter]]&lt;br /&gt;
* [[DTD Filter]]&lt;br /&gt;
* [[Doxygen Filter]]&lt;br /&gt;
* [[HTML Filter]]&lt;br /&gt;
* [[HTML5-ITS Filter]]&lt;br /&gt;
* [[ICML Filter]]&lt;br /&gt;
* [[IDML Filter]]&lt;br /&gt;
* [[JSON Filter]]&lt;br /&gt;
* [[Markdown Filter]]&lt;br /&gt;
* [[MIF Filter]]&lt;br /&gt;
* [[Moses Text Filter]]&lt;br /&gt;
* [[Multi-Parsers Filter]]&lt;br /&gt;
* [[OpenOffice Filter]]&lt;br /&gt;
* [[OpenXML Filter|OpenXML (MS Office) Filter]]&lt;br /&gt;
|&lt;br /&gt;
* [[PDF Filter]]&lt;br /&gt;
* [[Pensieve TM Filter]]&lt;br /&gt;
* [[PHP Content Filter]]&lt;br /&gt;
* [[Plain Text Filter]]&lt;br /&gt;
* [[PO Filter]]&lt;br /&gt;
* [[Properties Filter]]&lt;br /&gt;
* [[Rainbow Translation Kit Filter]]&lt;br /&gt;
* [[Regex Filter]]&lt;br /&gt;
* [[SDL Trados Package Filter]]&lt;br /&gt;
* [[Simplification Filter]]&lt;br /&gt;
* [[Table Filter]]&lt;br /&gt;
* [[TMX Filter]]&lt;br /&gt;
* [[Trados-Tagged RTF Filter]]&lt;br /&gt;
|&lt;br /&gt;
* [[Transifex Filter]]&lt;br /&gt;
* [[TS Filter]]&lt;br /&gt;
* [[TTX Filter]]&lt;br /&gt;
* [[TXML Filter]]&lt;br /&gt;
* [[Wiki Filter]]&lt;br /&gt;
* [[Vignette Filter]]&lt;br /&gt;
* [[XLIFF Filter]]&lt;br /&gt;
* [[XLIFF-2 Filter]]&lt;br /&gt;
* [[XML Filter]]&lt;br /&gt;
* [[XML Stream Filter]]&lt;br /&gt;
* [[YAML Filter]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Supported File Formats==&lt;br /&gt;
&lt;br /&gt;
The following is a list of some of the file formats supported by the distribution through [[Understanding Filter Configurations|pre-defined configurations]]:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
| '''Format''' || '''Extensions''' || '''Pre-Defined Configuration''' || '''Filter''' || '''Notes'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Android Strings || .xml || &amp;lt;code&amp;gt;okf_xml-AndroidStrings&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Apple Stringsdict || .stringsdict || &amp;lt;code&amp;gt;okf_xml-AppleStringsdict&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Archive || .zip || &amp;lt;code&amp;gt;okf_archive&amp;lt;/code&amp;gt; || [[Archive Filter]] || Meta filter that processes zip files with various formats as one file.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Auto Xliff || .xlf, .xliff || &amp;lt;code&amp;gt;okf_autoxliff&amp;lt;/code&amp;gt; || [[Auto Xliff Filter]] || Detects the version of an XLIFF file and then hands parsing off to the appropriate filter &lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| CSV (Comma-separated values files) || .csv, .txt || &amp;lt;code&amp;gt;okf_table_csv&amp;lt;/code&amp;gt; || [[Table Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| CSV (Multiple complex sub-formats) || .csv || &amp;lt;code&amp;gt;okf_multiparsers&amp;lt;/code&amp;gt; || [[Multi-Parsers Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DITA || .dita, .ditamap, .xml || &amp;lt;code&amp;gt;okf_xmlstream-dita&amp;lt;/code&amp;gt; || [[XML Stream Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DocBook v5.0 || .xml || &amp;lt;code&amp;gt;okf_xml-docbook&amp;lt;/code&amp;gt; || [[XML Filter]] || Since Okapi 1.42. &amp;amp;lt;footnote&amp;gt; is not handled properly.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DokuWiki pages || .txt || &amp;lt;code&amp;gt;okf_wiki&amp;lt;/code&amp;gt; || [[Wiki Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Doxygen-commented files || .c, .h, cpp || &amp;lt;code&amp;gt;okf_doxygen&amp;lt;/code&amp;gt; || [[Doxygen Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| DTD || .dtd || &amp;lt;code&amp;gt;okf_dtd&amp;lt;/code&amp;gt; || [[DTD Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fixed-Width Columns Table || .txt || &amp;lt;code&amp;gt;okf_table_fwc&amp;lt;/code&amp;gt; || [[Table Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Idiom WorldServer XLIFF || .xlf || &amp;lt;code&amp;gt;okf_xliff-iws&amp;lt;/code&amp;gt; || [[XLIFF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| InCopy ICML || .wcml || &amp;lt;code&amp;gt;okf_icml&amp;lt;/code&amp;gt; || [[ICML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| InDesign IDML || .idml || &amp;lt;code&amp;gt;okf_idml&amp;lt;/code&amp;gt; || [[IDML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| iOS/Mac Strings|| .strings || &amp;lt;code&amp;gt;okf_regex-macStrings&amp;lt;/code&amp;gt; || [[Regex Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Java Properties || .properties || &amp;lt;code&amp;gt;okf_properties&amp;lt;/code&amp;gt; || [[Properties Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Java Properties (Output not escaped) || .properties || &amp;lt;code&amp;gt;okf_properties-outputNotEscaped&amp;lt;/code&amp;gt; || [[Properties Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Java XML Properties || .xml || &amp;lt;code&amp;gt;okf_xml-JavaProperties&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Java XML Properties (HTML strings) || .xml || &amp;lt;code&amp;gt;okf_xmlstream-JavaPropertiesHTML&amp;lt;/code&amp;gt; || [[XML Stream Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| JSON || .json || &amp;lt;code&amp;gt;okf_json&amp;lt;/code&amp;gt; || [[JSON Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Haiku CatKeys || .catkeys || &amp;lt;code&amp;gt;okf_table_catkeys&amp;lt;/code&amp;gt; || [[Table Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| HTML (any) || .html, .htm || &amp;lt;code&amp;gt;okf_html&amp;lt;/code&amp;gt; || [[HTML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| HTML (Well-formed, and XHTML) || .html, .htm|| &amp;lt;code&amp;gt;okf_html-wellFormed&amp;lt;/code&amp;gt; || [[HTML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| HTML5 (and XHTML5) || .html, .htm|| &amp;lt;code&amp;gt;okf_itshtml5&amp;lt;/code&amp;gt; || [[HTML5-ITS Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Markdown || .md || &amp;lt;code&amp;gt;okf_markdown&amp;lt;/code&amp;gt; || [[Markdown Filter]]&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Microsoft Excel 2007/2010 || .xlsx, .xlsm, .xltx, .xltm || &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt; || [[OpenXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Microsoft PowerPoint 2007/2010 || .pptx, .pptm, .potx, .potm, .ppsx, .ppsm || &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt; || [[OpenXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Microsoft Visio || .vsdx, .vsdm || &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt; || [[OpenXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Microsoft Word 2007/2010 || .docx, .docm, .dotx, .dotm || &amp;lt;code&amp;gt;okf_openxml&amp;lt;/code&amp;gt; || [[OpenXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| MIF || .mif || &amp;lt;code&amp;gt;okf_mif&amp;lt;/code&amp;gt; || [[MIF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Moses Text || .txt || &amp;lt;code&amp;gt;okf_mosestext&amp;lt;/code&amp;gt; || [[Moses Text Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OpenOffice.org Calc || .ods, .ots || &amp;lt;code&amp;gt;okf_odf&amp;lt;/code&amp;gt; || [[OpenOffice Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OpenOffice.org Draw || .odg, .otg || &amp;lt;code&amp;gt;okf_odf&amp;lt;/code&amp;gt; || [[OpenOffice Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OpenOffice.org Impress || .odp, .otp || &amp;lt;code&amp;gt;okf_odf&amp;lt;/code&amp;gt; || [[OpenOffice Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OpenOffice.org Writer || .odt, .ott || &amp;lt;code&amp;gt;okf_odf&amp;lt;/code&amp;gt; || [[OpenOffice Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| PDF || .pdf || &amp;lt;code&amp;gt;okf_pdf&amp;lt;/code&amp;gt; || [[PDF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[Pensieve TM]] || .pentm || &amp;lt;code&amp;gt;okf_pensieve&amp;lt;/code&amp;gt; || [[Pensieve TM Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| PHP Content || .php || &amp;lt;code&amp;gt;okf_phpcontent&amp;lt;/code&amp;gt; || [[PHP Content Filter]] || Can be used as a subfilter only&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Plain Text (Line = text unit) || .txt || &amp;lt;code&amp;gt;okf_plaintext&amp;lt;/code&amp;gt; || [[ Plain Text Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Plain Text (Paragraph = text unit) || .txt || &amp;lt;code&amp;gt;okf_plaintext_paragraphs&amp;lt;/code&amp;gt; || [[Plain Text Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| PO || .po || &amp;lt;code&amp;gt;okf_po&amp;lt;/code&amp;gt; || [[PO Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| PO (Monolingual style) || .po || &amp;lt;code&amp;gt;okf_po-monolingual&amp;lt;/code&amp;gt; || [[PO Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Rainbow Translation Kit manifests || .rkm || &amp;lt;code&amp;gt;okf_rainbowkit&amp;lt;/code&amp;gt; || [[Rainbow Translation Kit Filter]] || Used as a tkit reader only&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Regex (Any text-based format) || .txt || &amp;lt;code&amp;gt;okf_regex&amp;lt;/code&amp;gt; || [[Regex Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| RDF (Mozilla RDF) || .rdf || &amp;lt;code&amp;gt;okf_xml-MozillaRDF&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| RESX || .resx || &amp;lt;code&amp;gt;okf_xml-resx&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SDLPPX || .sdlppx || &amp;lt;code&amp;gt;okf_sdlpackage&amp;lt;/code&amp;gt; || [[SDL Trados Package Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SDLRPX || .sdlrpx || &amp;lt;code&amp;gt;okf_sdlpackage&amp;lt;/code&amp;gt; || [[SDL Trados Package Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SDL[[XLIFF]] || .sdlxlf || &amp;lt;code&amp;gt;okf_xliff-sdl&amp;lt;/code&amp;gt; || [[XLIFF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Skype Language Files || .lang || &amp;lt;code&amp;gt;okf_properties-skypeLang&amp;lt;/code&amp;gt; || [[Properties Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| SRT (Sub-Rip Text, sub-titles files) || .srt || &amp;lt;code&amp;gt;okf_regex-srt&amp;lt;/code&amp;gt; || [[Regex Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Tab-Delimiter files || .tsv, .txt || &amp;lt;code&amp;gt;okf_table_tsv&amp;lt;/code&amp;gt; || [[Table Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Tex files || .tex || &amp;lt;code&amp;gt;okf_tex&amp;lt;/code&amp;gt; || [[TEX Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[TMX]] || .tmx || &amp;lt;code&amp;gt;okf_tmx&amp;lt;/code&amp;gt; || [[TMX Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Transifex project || .txp || &amp;lt;code&amp;gt;okf_transifex&amp;lt;/code&amp;gt; || [[Transifex Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Trados-Tagged RTF || .rtf || &amp;lt;code&amp;gt;okf_tradosrtf&amp;lt;/code&amp;gt; || [[Trados-Tagged RTF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| TS - Qt TS files || .ts || &amp;lt;code&amp;gt;okf_ts&amp;lt;/code&amp;gt; || [[TS Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| TTX - Trados TagEditor TTX files || .ttx || &amp;lt;code&amp;gt;okf_ttx&amp;lt;/code&amp;gt; || [[TTX Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| TXML - Wordfast Pro TXML files || .txml || &amp;lt;code&amp;gt;okf_txml&amp;lt;/code&amp;gt; || [[TXML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vignette Export/Import Content || .xml || &amp;lt;code&amp;gt;okf_vignette&amp;lt;/code&amp;gt; || [[Vignette Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| XHTML || .html, .htm || &amp;lt;code&amp;gt;okf_html-wellFormed&amp;lt;/code&amp;gt; || [[HTML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| WIX (Windows Installer XML) localization files || .wix || &amp;lt;code&amp;gt;okf_xml-WixLocalization&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[XLIFF]] v1.2 || .xlf, .xliff || &amp;lt;code&amp;gt;okf_xliff&amp;lt;/code&amp;gt; || [[XLIFF Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [[XLIFF]] v2 || .xlf || &amp;lt;code&amp;gt;okf_xliff2&amp;lt;/code&amp;gt; || [[XLIFF-2 Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| XML (Generic, using [[ITS]] defaults) || .xml || &amp;lt;code&amp;gt;okf_xml&amp;lt;/code&amp;gt; || [[XML Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| XML (Generic, using stream reader) || .xml || &amp;lt;code&amp;gt;okf_xmlstream&amp;lt;/code&amp;gt; || [[XML Stream Filter]] ||&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| YAML (Generic YAML filter) || .yml, .yaml || &amp;lt;code&amp;gt;okf_yaml&amp;lt;/code&amp;gt; || [[YAML Filter]] ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that most filters allow you to [[Understanding Filter Configurations|create your own configurations]] to support more file formats.&lt;br /&gt;
&lt;br /&gt;
==Code Simplification Rules==&lt;br /&gt;
&lt;br /&gt;
All filters support code simplification rules. By default the [[Inline Codes Simplifier Step]], [[Simplification Filter]] and [[Post-segmentation Inline Codes Removal Step]] maximize the trimming and merging (aka simplification) of inline codes. In some cases this may not be desired. The simplification rules allow you to override the default behavior and prevent specific codes from being trimmed or merged.&lt;br /&gt;
&lt;br /&gt;
===General Syntax===&lt;br /&gt;
&lt;br /&gt;
The rules parser ignores irrelevant whitespace. Rules can be separated by spaces, newlines or nothing. This makes it easier to accommodate various container formats and their whitespace normalization rules. When a rule applies it means &amp;quot;do not simplify the match code&amp;quot;. Uppercase tokens are constants and predefined by the rule parser. Multiple rules are always OR'ed together.&lt;br /&gt;
&lt;br /&gt;
For more details see the JavaCC grammar: &amp;lt;code&amp;gt;../okapi-core/src/main/java/net/sf/okapi/core/simplifierrules/SimplifierRules.jj&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Rule Examples===&lt;br /&gt;
&lt;br /&gt;
If Code has any of these flags then don't simplify &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if DELETABLE or ADDABLE or CLONEABLE;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;=&amp;quot; is string match&lt;br /&gt;
Match basic TAGTYPE opening, closing or standalone &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if DATA = &amp;quot;a&amp;quot; and TAGTYPE = OPENING;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;~&amp;quot; is regex match&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if DATA ~ &amp;quot;a.*&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can negate any of the match operators &lt;br /&gt;
Don't simplify if the DATA does not match the regex &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if DATA !~ &amp;quot;a.*&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Match on type, linebreak in this case, don't simplify &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if the Code is a linebreak if TYPE = &amp;quot;lb&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don't simplify any rich text types&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if TYPE = &amp;quot;bold&amp;quot; or TYPE = &amp;quot;italic&amp;quot; or TYPE = &amp;quot;underline&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expressions can be recursive (supports embedded parens)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;if TYPE = &amp;quot;bold&amp;quot; or (DATA = &amp;quot;bar&amp;quot; or (DATA = &amp;quot;foo&amp;quot; and TYPE = &amp;quot;underline&amp;quot;));&amp;lt;/pre&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Filter Config Examples===&lt;br /&gt;
&lt;br /&gt;
Examples of using simplifier rules within the filter config formats used by Okapi.&lt;br /&gt;
&lt;br /&gt;
'''YAML:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
simplifierRules: |&lt;br /&gt;
  if ADDABLE or DELETABLE or CLONEABLE;&lt;br /&gt;
  if DATA = &amp;quot;&amp;lt;br/&amp;gt;&amp;quot; or DATA = &amp;quot;&amp;lt;font&amp;gt;&amp;quot; or DATA = &amp;quot;&amp;lt;/font&amp;gt;&amp;quot; or DATA = &amp;quot;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
  if DATA ~ &amp;quot;\\&amp;lt;font.+&amp;quot; or DATA ~ &amp;quot;\\&amp;lt;img.+&amp;quot; or DATA ~ &amp;quot;\\&amp;lt;a.+&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''ITS:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;its:rules xmlns:its=&amp;quot;http://www.w3.org/2005/11/its&amp;quot; version=&amp;quot;1.0&amp;quot; xmlns:itsx=&amp;quot;http://www.w3.org/2008/12/its-extensions&amp;quot; xmlns:okp=&amp;quot;okapi-framework:xmlfilter-options&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- See ITS specification at: http://www.w3.org/TR/its/ --&amp;gt;&lt;br /&gt;
 &amp;lt;its:translateRule selector=&amp;quot;//*&amp;quot; translate=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;its:withinTextRule selector=&amp;quot;//codeph&amp;quot; withinText=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;its:withinTextRule selector=&amp;quot;//ph&amp;quot; withinText=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;okp:simplifierRules&amp;gt;&lt;br /&gt;
 if ADDABLE or DELETABLE or CLONEABLE; if DATA ~ &amp;quot;.+&amp;quot;;&lt;br /&gt;
 &amp;lt;/okp:simplifierRules&amp;gt;&lt;br /&gt;
&amp;lt;/its:rules&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''FPRM (Parameters):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#v1&lt;br /&gt;
extractNotes.b=true&lt;br /&gt;
simplifyCodes.b=true&lt;br /&gt;
simplifierRules=if ADDABLE or DELETABLE or CLONEABLE; if DATA ~ &amp;quot;.+&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Font Mapping==&lt;br /&gt;
&lt;br /&gt;
The font mapping can be considered as filter's ability to automatically substitute font information in the target document on the fly, according to a provided configuration - this helps to reduce the amount of reformatting and post-translation DTP. It is supported by IDML and OpenXML (DOCX documents) filters at the moment.&lt;br /&gt;
&lt;br /&gt;
The following font mapping configuration options are available:&lt;br /&gt;
* The source language regular expression pattern: &amp;lt;code&amp;gt;en.*&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;en-UK&amp;lt;/code&amp;gt;, etc. It can be left empty to apply the mapping to any source language.&lt;br /&gt;
* The target language regular expression pattern: &amp;lt;code&amp;gt;ru.*&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ru-RU&amp;lt;/code&amp;gt;, etc. It can be left empty to apply the mapping to any target language.&lt;br /&gt;
* The source font name regular expression pattern: &amp;lt;code&amp;gt;Arial.*&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt;, etc. It can be left empty to apply the mapping to any source font name found.&lt;br /&gt;
* The target font name: &amp;lt;code&amp;gt;Arial&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt;, etc. It should not be empty. And if it is made so, the mapping configuration is ignored.&lt;br /&gt;
&lt;br /&gt;
Also, the configured font mappings are applied in the order they are stated. And the final target font value is determined by a sequential&lt;br /&gt;
substitution of the source font values. I.e. if there is more than one mapping:&lt;br /&gt;
# &amp;lt;code&amp;gt;Arial&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt; -&amp;gt; &amp;lt;code&amp;gt;Sans Serif&amp;lt;/code&amp;gt;&lt;br /&gt;
then the first mapping will produce &amp;lt;code&amp;gt;Times New Roman&amp;lt;/code&amp;gt; replacement and the second one will be applied to this new value, thus, ending up with the &amp;lt;code&amp;gt;Sans Serif&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The parameters serialisation format can look like that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fontMappings.0.sourceLocalePattern=en.*&lt;br /&gt;
fontMappings.0.targetLocalePattern=ru.*&lt;br /&gt;
fontMappings.0.sourceFontPattern=Times.*&lt;br /&gt;
fontMappings.0.targetFont=Arial Unicode MS&lt;br /&gt;
fontMappings.1.sourceLocalePattern=ru&lt;br /&gt;
fontMappings.1.targetLocalePattern=fr&lt;br /&gt;
fontMappings.1.sourceFontPattern=The Sims Sans&lt;br /&gt;
fontMappings.1.targetFont=Arial Unicode MS&lt;br /&gt;
fontMappings.number.i=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Filters]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=ITS&amp;diff=854</id>
		<title>ITS</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=ITS&amp;diff=854"/>
		<updated>2021-03-10T07:50:29Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Fixing an oversight and adding a note about the namespace.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Standards Common Menu}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
The '''Internationalization Tag set (ITS)''' is a W3C recommendation that defines a set of elements and attributes you can use to specify different internationalization- and localization-related aspects of your XML document, for instance: ITS defines what attribute values are translatable, what element content should be protected, what element should be treated as a nested sub-flow of text, and much more.&lt;br /&gt;
&lt;br /&gt;
* The ITS 1.0 specification is available at http://www.w3.org/TR/its/&lt;br /&gt;
* The ITS 2.0 specification is available at http://www.w3.org/TR/its20/&lt;br /&gt;
&lt;br /&gt;
=== Default Rules ===&lt;br /&gt;
&lt;br /&gt;
By default the filter process the XML documents based on the '''ITS defaults'''. That is:&lt;br /&gt;
&lt;br /&gt;
* the content of all elements is translatable,&lt;br /&gt;
* and none of the values of the attribute translatable.&lt;br /&gt;
&lt;br /&gt;
To modify this behavior you need to associate the document with ITS rules. This can be done different ways:&lt;br /&gt;
&lt;br /&gt;
* By including global and local rules inside the document. &lt;br /&gt;
* By including inside the document a link to external global rules. &lt;br /&gt;
* By associating the document with a parameters file when running the filter. The parameter file being a set of external ITS global rules.&lt;br /&gt;
 &lt;br /&gt;
When processing a document, the filter...&lt;br /&gt;
&lt;br /&gt;
# Assumes that all element content is translatable, and none of the attribute values are translatable. &lt;br /&gt;
# Applies the global rules found in the (optional) parameters file associated with the input document. &lt;br /&gt;
# Applies the global rules found in the document. &lt;br /&gt;
# And finally, applies the local rules within the document. &lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
For example, assuming that &amp;lt;code&amp;gt;ITSForDoc.xml&amp;lt;/code&amp;gt; is the ITS file associated with the input file &amp;lt;code&amp;gt;Document.xml&amp;lt;/code&amp;gt;, the translatable text is listed below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ITSForDoc.xml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;its:rules xmlns:its=&amp;quot;http://www.w3.org/2005/11/its&amp;quot; version=&amp;quot;1.0&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;amp;lt;its:translateRule selector=&amp;quot;//head|//code&amp;quot; translate=&amp;quot;no&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;amp;lt;its:withinTextRule selector=&amp;quot;//b|//code|//img&amp;quot; withinText=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/its:rules&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Document.xml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;doc&amp;gt;&lt;br /&gt;
  &amp;amp;lt;head&amp;gt;&lt;br /&gt;
   &amp;amp;lt;update&amp;gt;2009-03-21&amp;lt;/update&amp;gt;&lt;br /&gt;
   &amp;amp;lt;author&amp;gt;Mirabelle McIntosh&amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;amp;lt;p&amp;gt;Paragraph with &amp;amp;lt;img ref=&amp;quot;eg.png&amp;quot;/&amp;gt; and &amp;amp;lt;b&amp;gt;bolded text&amp;amp;lt;/b&amp;gt;.&amp;amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;amp;lt;p&amp;gt;Paragraph with &amp;amp;lt;code&amp;gt;data codes&amp;amp;lt;/code&amp;gt; and text.&amp;amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/doc&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The resulting text units are (with the inline codes in XLIFF 1.2 notation):&lt;br /&gt;
&lt;br /&gt;
 1: &amp;quot;Paragraph with &amp;lt;x id='1'&amp;gt; and &amp;lt;g id='2'&amp;gt;bolded text&amp;lt;/g&amp;gt;.&amp;quot;&lt;br /&gt;
 2: &amp;quot;Paragraph with &amp;lt;g id='1'&amp;gt;&amp;lt;x id='2'/&amp;gt;&amp;lt;/g&amp;gt; and text.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Validation ===&lt;br /&gt;
&lt;br /&gt;
The Relaxed project includes [http://relaxed.vse.cz/relaxed/validate?group=ITS an online validator for ITS].&lt;br /&gt;
&lt;br /&gt;
Relaxed is an [http://sourceforge.net/projects/relaxed/ open-source project hosted on SourceForge]&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
Several extensions have been defined by the ITS Interest Group. There are listed in the [http://www.w3.org/International/its/wiki/IssuesAndProposedFeatures Issues and Proposed Features] section of the Interest Group wiki.&lt;br /&gt;
&lt;br /&gt;
The extension namespace is http://www.w3.org/2008/12/its-extensions&lt;br /&gt;
&lt;br /&gt;
=== Proper Namespace Handling ===&lt;br /&gt;
&lt;br /&gt;
If the input document file uses a namespace, the ITS file must uses the same namespace. For example, if the input document file looks like this:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;doc xmlns=&amp;quot;http://xmlx.org/ns/xmlx&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;amp;lt;head&amp;gt;&lt;br /&gt;
   &amp;amp;lt;update&amp;gt;2009-03-21&amp;lt;/update&amp;gt;&lt;br /&gt;
   &amp;amp;lt;author&amp;gt;Mirabelle McIntosh&amp;lt;/author&amp;gt;&lt;br /&gt;
  &amp;amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;amp;lt;p&amp;gt;Paragraph with &amp;amp;lt;img ref=&amp;quot;eg.png&amp;quot;/&amp;gt; and &amp;amp;lt;b&amp;gt;bolded text&amp;amp;lt;/b&amp;gt;.&amp;amp;lt;/p&amp;gt;&lt;br /&gt;
   &amp;amp;lt;p&amp;gt;Paragraph with &amp;amp;lt;code&amp;gt;data codes&amp;amp;lt;/code&amp;gt; and text.&amp;amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/doc&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then the ITS file must use the namespace like this:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;its:rules xmlns:its=&amp;quot;http://www.w3.org/2005/11/its&amp;quot; xmlns:xx=&amp;quot;http://xmlx.org/ns/xmlx&amp;quot; version=&amp;quot;1.0&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;amp;lt;its:translateRule selector=&amp;quot;//xx:head|//xx:code&amp;quot; translate=&amp;quot;no&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;amp;lt;its:withinTextRule selector=&amp;quot;//xx:b|//xx:code|//xx:img&amp;quot; withinText=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;amp;lt;/its:rules&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ITS in the Okapi Framework==&lt;br /&gt;
&lt;br /&gt;
The Okapi Framework uses ITS in several places. For example:&lt;br /&gt;
&lt;br /&gt;
* The [[XML Filter]] implements most of ITS data categories for XML documents.&lt;br /&gt;
* The [[HTML5-ITS Filter]] implements most of ITS data categories for HTML5 documents.&lt;br /&gt;
* Several pre-defined [[Filters|filter configurations]] are ITS files.&lt;br /&gt;
* The version 2.0 of ITS has been implemented in Okapi as one of the deliverables of the MultilingualWeb-LT project funded by the European Commission.&lt;br /&gt;
** [[MultilingualWeb-LT_D3.1.4|Online summary of the deliverable D3.1.4]]&lt;br /&gt;
** [http://www.w3.org/International/multilingualweb/lt/wiki/Main_Page Working Group wiki page]&lt;br /&gt;
** [http://www.w3.org/International/multilingualweb/lt/ Working Group home page]&lt;br /&gt;
&lt;br /&gt;
'''For an overview of the components with ITS capability, see the [[ITS Components]] page.'''&lt;br /&gt;
&lt;br /&gt;
[[Category:ITS]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Open_Standards&amp;diff=850</id>
		<title>Open Standards</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Open_Standards&amp;diff=850"/>
		<updated>2021-02-20T02:21:52Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: /* TMX - Translation Memory eXchange */ Fixing the broken link to the TMX standard.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
The localization and translation industry uses several standards to exchange data between tools. It is very important for tools to support such standards.&lt;br /&gt;
&lt;br /&gt;
* They avoid your data to be locked into proprietary formats.&lt;br /&gt;
* Using standards also allows you to approach the translation process with a broader choice of options and more flexibility.&lt;br /&gt;
&lt;br /&gt;
The applications and components of the Okapi Framework support standards when possible.&lt;br /&gt;
&lt;br /&gt;
==XLIFF - XML Localisation Interchange File Format==&lt;br /&gt;
&lt;br /&gt;
Maintained by the XLIFF Technical Committee at OASIS, XLIFF provides a common markup language for extracted localizable text.&lt;br /&gt;
&lt;br /&gt;
* [http://docs.oasis-open.org/xliff/xliff-core/xliff-core.html XLIFF 1.2 specification]&lt;br /&gt;
* [http://www.oasis-open.org/committees/xliff/ The OASIS XLIFF Technical Committee home page]&lt;br /&gt;
* [[XLIFF|An overview of XLIFF]]&lt;br /&gt;
&lt;br /&gt;
Many components of the framework use XLIFF. The framework also includes an [[XLIFF Filter]].&lt;br /&gt;
&lt;br /&gt;
==TMX - Translation Memory eXchange==&lt;br /&gt;
&lt;br /&gt;
TMX covers the exchange of translation memory data.&lt;br /&gt;
&lt;br /&gt;
TMX was originally maintained by the OSCAR Committee at LISA. In March 2011 LISA was closed. The OSCAR standards have been put under Creative Commons license and the specifications moved to new hosts.&lt;br /&gt;
&lt;br /&gt;
* [https://www.gala-global.org/tmx-14b TMX 1.4b specification]&lt;br /&gt;
* [[TMX|An overview of TMX]]&lt;br /&gt;
&lt;br /&gt;
Many components of the framework use TMX. The framework also includes a [[TMX Filter]].&lt;br /&gt;
&lt;br /&gt;
==SRX - Segmentation Rules eXchange==&lt;br /&gt;
&lt;br /&gt;
SRX addresses the exchange of segmentation rules between tools. The version 1.0 of SRX has been implemented different ways by different tools and has limited usage for exchange. The version 2.0 of SRX has been implemented with better consistency.&lt;br /&gt;
&lt;br /&gt;
SRX was originally maintained by the OSCAR Committee at LISA. In March 2011 LISA was closed. The OSCAR standards have been put under Creative Commons license and the specifications moved to new hosts.&lt;br /&gt;
&lt;br /&gt;
* [http://www.gala-global.org/oscarStandards/srx/srx20.html SRX 2.0 specification]&lt;br /&gt;
* [[SRX|An overview of SRX]]&lt;br /&gt;
&lt;br /&gt;
The segmentation engine provided in the framework implements SRX 2.0. You can see it in action in [[Ratel|Ratel, the framework's editor to create and maintain SRX documents]].&lt;br /&gt;
&lt;br /&gt;
==TBX - Term Base eXchange==&lt;br /&gt;
&lt;br /&gt;
TBX is designed to allow the exchange of terminology databases between tools. TBX the same as '''ISO 30042'''. Because TBX is quite complex, its adoption has been slow and OSCAR has come up with '''TBX-Basic''', a sub-set of the more general TBX.&lt;br /&gt;
&lt;br /&gt;
TBX was originally maintained by the OSCAR Committee at LISA. In March 2011 LISA was closed. The OSCAR standards have been put under Creative Commons license and the specifications moved to new hosts.&lt;br /&gt;
&lt;br /&gt;
* [http://www.gala-global.org/oscarStandards/tbx/tbx_oscar.pdf TBX Specification]&lt;br /&gt;
* [http://www.gala-global.org/oscarStandards/tbx/tbx-basic.html Information for TBX-Basic]&lt;br /&gt;
&lt;br /&gt;
The [[Quality Check Step]], which is also used in [[CheckMate]], supports TBX as one of its glossary formats.&lt;br /&gt;
&lt;br /&gt;
==ITS - Internationalization Tag Set==&lt;br /&gt;
&lt;br /&gt;
ITS is a W3C namespace that provides internationalization information and support in XML documents.&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3.org/TR/its/ ITS 1.0 specification]&lt;br /&gt;
* [http://www.w3.org/International/its/ig/ The W3C ITS Interest Group home page]&lt;br /&gt;
* [http://www.w3.org/International/its/ig/simple-example.html Examples of XML documents with ITS markup]&lt;br /&gt;
* [[ITS|An overview of ITS]]&lt;br /&gt;
&lt;br /&gt;
Several components of the framework support and use ITS. See the [[ITS Components]] page for details.&lt;br /&gt;
&lt;br /&gt;
Related to ITS, the [http://www.w3.org/TR/xml-i18n-bp/ Best Practices for XML Internationalization W3C Note] can help you designing and authoring XML documents in a way they are easier to localize.&lt;br /&gt;
&lt;br /&gt;
==GMX - Global information management Metrics eXchange==&lt;br /&gt;
&lt;br /&gt;
GMX is a family of standards of globalization and localization-related metrics. The three components of GMX are:&lt;br /&gt;
&lt;br /&gt;
* Volume (V) Global Information Management Metrics Volume addresses the issue of quantifying the workload for a given localization or translation task. GMX-V provides a standard and more precise definition of the statistics necessary for to assess the quantity of text (and costs) associated with language-related globalization tasks.&lt;br /&gt;
* Complexity (C) (proposed). GMX-C will provide a standard metric for the assessment of textual complexity with regard to globalization tasks. This format has not yet been defined.&lt;br /&gt;
* Quality (Q) (proposed). GMX-Q will provide a standard format for the specification of quality requirements for globalization tasks, thus allowing quality expectations to be specified in contracts and other agreements and verified. This format has not yet been defined.&lt;br /&gt;
&lt;br /&gt;
GMX was originally maintained by the OSCAR Committee at LISA. In March 2011 LISA was closed. The OSCAR standards have been put under Creative Commons license and the specifications moved to new hosts.&lt;br /&gt;
&lt;br /&gt;
* [http://www.xtm-intl.com/manuals/gmx-v/GMX-V-2.0.html GMX-V 2.0 specification]&lt;br /&gt;
&lt;br /&gt;
Steps such as the [[Word Count Step]], [[Character Count Step]], and the [[Scoping Report Step]] provided in the framework use GMX-V 2.0.&lt;br /&gt;
&lt;br /&gt;
==OAXAL - Open Architecture for XML Authoring and Localization==&lt;br /&gt;
&lt;br /&gt;
Maintain by OASIS, OAXAL is a reference architecture that describes a processing model for authoring and localizing XML documents using open standards.&lt;br /&gt;
&lt;br /&gt;
* [http://www.oasis-open.org/committees/download.php/35736/OASIS%20Open%20Architecture%20for%20XML%20Authoring%20and%20Localization%20Reference%20Model%20%28OAXAL%29.pdf OAXAL 1.0 specification]&lt;br /&gt;
&lt;br /&gt;
===OAXAL 1.0 Conformance Statement===&lt;br /&gt;
&lt;br /&gt;
This statement confirms that the Okapi Framework is an OAXAL 1.0 Level 2 compliant application as per the [http://wiki.oasis-open.org/oaxal/#A4ConformanceGuidelines OAXAL Reference Architecture 1.0 Specification conformance requirements], implementing the following constituent standards:&lt;br /&gt;
&lt;br /&gt;
* W3C ITS 1.0&lt;br /&gt;
* OASIS XLIFF 1.2&lt;br /&gt;
* LISA TMX 1.4b&lt;br /&gt;
* LISA SRX 2.0&lt;br /&gt;
* LISA TBX 1.0&lt;br /&gt;
* LISA GMX/V 1.0&lt;br /&gt;
&lt;br /&gt;
[[Category:GMX]] [[Category:ITS]] [[Category:SRX]] [[Category:TMX]] [[Category:XLIFF]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=TMX_Filter&amp;diff=849</id>
		<title>TMX Filter</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=TMX_Filter&amp;diff=849"/>
		<updated>2021-02-20T02:20:17Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Fixing the broken link to TMX standard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Filters Header}}&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
The TMX Filter is an Okapi component that implements the IFilter interface for [[TMX|TMX (Translation memory eXchange)]] documents. The filter is implemented in the class net.sf.okapi.filters.tmx.TmxFilter of the library.&lt;br /&gt;
&lt;br /&gt;
TMX is a LISA Standard that defines a file format for transporting translation memory data from one translation tool to another. The TMX&amp;amp;nbsp;1.4b specification is at https://www.gala-global.org/tmx-14b&lt;br /&gt;
&lt;br /&gt;
==Processing Details==&lt;br /&gt;
&lt;br /&gt;
===Input Encoding===&lt;br /&gt;
&lt;br /&gt;
The filter decides which encoding to use for the input document using the following logic:&lt;br /&gt;
&lt;br /&gt;
* If the document has an encoding declaration it is used.&lt;br /&gt;
* Otherwise, UTF-8 is used as the default encoding (regardless the actual default encoding that was specified when opening the document).&lt;br /&gt;
&lt;br /&gt;
===Output Encoding===&lt;br /&gt;
&lt;br /&gt;
If the output encoding is UTF-8:&lt;br /&gt;
&lt;br /&gt;
* If the input encoding was also UTF-8, a Byte-Order-Mark is used for the output document only if one was detected in the input document.&lt;br /&gt;
* If the input encoding was not UTF-8, no Byte-Order-Mark is used in the output document.&lt;br /&gt;
&lt;br /&gt;
===Line-Breaks===&lt;br /&gt;
&lt;br /&gt;
The type of line-breaks of the output is the same as the one of the original input.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Read all target entries&amp;lt;/cite&amp;gt; &amp;amp;mdash; Set this option to read all target &amp;lt;code&amp;gt;&amp;amp;lt;tuv&amp;gt;&amp;lt;/code&amp;gt; elements into the text unit. Otherwise only the selected target is read and all remaining ones become part of the skeleton. Default is True. Any effect this setting has depends on the following pipeline steps and the ability they have to process multiple targets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Group all document parts skeleton into one&amp;lt;/cite&amp;gt; &amp;amp;mdash; Set this option to consolidate the skeleton parts and send fewer events through the pipeline. Default is True. This is sufficient in most cases but as a pipeline developer sometimes you might want to have access to more fine-grained resources in the pipeline.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Exit when encountering invalid &amp;amp;lt;tu&amp;amp;gt;s&amp;lt;/cite&amp;gt; &amp;amp;mdash; By default invalid &amp;lt;tu&amp;gt;s are skipped along with warning message(s). By using this default setting or ignoring the warning messages you might run the risk of getting a processed file that doesn't match the input file.  Check this box if you want to be notified immediately of invalid content and want to correct the file before re-running it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Creates or not a segment for the extracted &amp;amp;lt;tu&amp;gt;&amp;lt;/cite&amp;gt; &amp;amp;mdash; Use this option to set create a segment or not for each extracted &amp;lt;code&amp;gt;&amp;amp;lt;tu&amp;gt;&amp;lt;/code&amp;gt; entry. &lt;br /&gt;
The following options are available:&lt;br /&gt;
* &amp;lt;cite&amp;gt;Always creates the segment&amp;lt;/cite&amp;gt; - Creates the segment regardless of what the value of the &amp;lt;code&amp;gt;segtype&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
* &amp;lt;cite&amp;gt;Never creates the segment&amp;lt;/cite&amp;gt; - Never creates the segment, even if the &amp;lt;code&amp;gt;segtype&amp;lt;/code&amp;gt; attribute is set to &amp;quot;sentence&amp;quot;.&lt;br /&gt;
* &amp;lt;cite&amp;gt;Creates the segment if segtype is 'sentence' or is undefined&amp;lt;/cite&amp;gt; Creates the segment when the &amp;lt;code&amp;gt;segtype&amp;lt;/code&amp;gt; attribute is set to &amp;quot;sentence&amp;quot; or if it is not defined.&lt;br /&gt;
* &amp;lt;cite&amp;gt;Creates the segment only if segtype is 'sentence'&amp;lt;/cite&amp;gt; Creates the segment only if the &amp;lt;code&amp;gt;segtype&amp;lt;/code&amp;gt; attribute is set to &amp;quot;sentence&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Escape the greater-than characters&amp;lt;/cite&amp;gt; &amp;amp;mdash; Set this option to have all greater-than characters ('&amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;') escaped as &amp;quot;&amp;lt;code&amp;gt;&amp;amp;amp;gt;&amp;lt;/code&amp;gt;&amp;quot; in the output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Duplicate property value separator string&amp;lt;/cite&amp;gt; &amp;amp;mdash; This string will be used to separate duplicate property values. Default is &amp;quot;, &amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;amp;lt;sub&amp;gt;&amp;lt;/code&amp;gt; element is not supported. When such element is found, a warning is issued, and the element content is put with the content of its parent element.&amp;lt;br&amp;gt;&lt;br /&gt;
The filter is not able to reconstruct any DTD declaration.&lt;br /&gt;
&lt;br /&gt;
[[Category:Filters]] [[Category:TMX]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=TMX&amp;diff=848</id>
		<title>TMX</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=TMX&amp;diff=848"/>
		<updated>2021-02-20T02:16:24Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Fixed broken link to TMX standard.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Standards Common Menu}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
TMX, the (Translation Memory eXchange) format was originally maintained by the OSCAR special interest group of the Localisation Industry Standards Association (LISA). In March 2011 LISA was closed and its standards moved under Creative Commons license.&lt;br /&gt;
&lt;br /&gt;
The purpose of TMX is to allow any tool using translation memories to import and export databases between their own native formats and a common format. This allow tools users to not be cornered in using a specific tool, but to make sure the asset that their TM databases constitutes can go through the raise and fall of different generation of translation tools.&lt;br /&gt;
&lt;br /&gt;
The version 1.4b is the latest specification and can be found here: https://www.gala-global.org/tmx-14b . &lt;br /&gt;
&lt;br /&gt;
Two important aspects of TMX to keep in mind:&lt;br /&gt;
&lt;br /&gt;
* For text that includes inline codes (such as formatting, images, etc.), tools that support TMX Level 1 only are not providing true interoperability since they will lose all inline codes. &lt;br /&gt;
* TMX does not provide a standard for segmentation. Therefore there is no guarantee that a TM will yield the same results when moved from one tool to the other, even for exact matches. This is not a problem specific to TMX, but a general issue of segmentation that occurs regardless which format you use to migrate your TMs. The adoption of the [[SRX|SRX (Segmentation Rules eXchange format)]] help to carry the information about how the segments of the TM have been made, but this does not solve all the issues. &lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&lt;br /&gt;
Example of TMX document with one entry:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;tmx version=&amp;quot;1.4b&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;header creationtool=&amp;quot;XYZTool&amp;quot; creationtoolversion=&amp;quot;1.01-023&amp;quot;&lt;br /&gt;
  datatype=&amp;quot;PlainText&amp;quot; segtype=&amp;quot;sentence&amp;quot;&lt;br /&gt;
  adminlang=&amp;quot;en-us&amp;quot; srclang=&amp;quot;EN&amp;quot;&lt;br /&gt;
  o-tmf=&amp;quot;ABCTransMem&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;/header&amp;gt;&lt;br /&gt;
 &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;tu&amp;gt;&lt;br /&gt;
   &amp;lt;tuv xml:lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;seg&amp;gt;Text in &amp;lt;bpt i=&amp;quot;1&amp;quot;&amp;gt;&amp;amp;amp;lt;B&amp;gt;&amp;lt;/bpt&amp;gt;bold&amp;lt;ept i=&amp;quot;1&amp;quot;&amp;gt;&amp;amp;amp;lt;/B&amp;gt;&amp;lt;/ept&amp;gt;.&amp;lt;/seg&amp;gt;&lt;br /&gt;
   &amp;lt;/tuv&amp;gt;&lt;br /&gt;
   &amp;lt;tuv xml:lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;seg&amp;gt;Texte en &amp;lt;bpt i=&amp;quot;1&amp;quot;&amp;gt;&amp;amp;amp;lt;B&amp;gt;&amp;lt;/bpt&amp;gt;gras&amp;lt;ept i=&amp;quot;1&amp;quot;&amp;gt;&amp;amp;amp;lt;/B&amp;gt;&amp;lt;/ept&amp;gt;.&amp;lt;/seg&amp;gt;&lt;br /&gt;
   &amp;lt;/tuv&amp;gt;&lt;br /&gt;
  &amp;lt;/tu&amp;gt;&lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/tmx&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TMX in the Okapi Framework==&lt;br /&gt;
&lt;br /&gt;
The Okapi Framework use TMX in many places. For example:&lt;br /&gt;
&lt;br /&gt;
* The [[TMX Filter]] processes TMX input as any other multilingual input.&lt;br /&gt;
* Some steps, like the [[Format Conversion Step]], can convert to and from TMX.&lt;br /&gt;
* Other steps, like the [[Leveraging Step]], can generate TMX documents&lt;br /&gt;
* See also [[:Category:TMX]]&lt;br /&gt;
&lt;br /&gt;
[[Category:TMX]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Microsoft_Translator_Connector&amp;diff=806</id>
		<title>Microsoft Translator Connector</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Microsoft_Translator_Connector&amp;diff=806"/>
		<updated>2019-08-23T08:44:22Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: /* Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Connectors Header}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Overview==&lt;br /&gt;
The Microsoft [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/ Translator Text Service] provides a machine translation over a REST API. The service supports a large number of language pairs, both common and less common. The list is available at [https://docs.microsoft.com/en-us/azure/cognitive-services/Translator/language-support#translation]. (Please see the list under '''V3 Translator API'''.)&lt;br /&gt;
&lt;br /&gt;
This connector uses [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/reference/v3-0-reference the V3 API]. To use this connector you need an '''Azure Key''' from Microsoft. See [https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-microsoft-translator-on-azure#signup the Microsoft pages] for more information.&lt;br /&gt;
&lt;br /&gt;
For more examples on how to use this connector see the article &amp;quot;[[Trying out the Microsoft Translator Connector]]&amp;quot; in the [[Knowledge Base]]. See also the [[Microsoft Batch Translation Step]].&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Azure Key&amp;lt;/cite&amp;gt; &amp;amp;mdash; The Microsoft Azure key to use this Translator Text and other Microsoft Cognitive Services.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt; &amp;amp;mdash; An optional category to use when working with trained engines. The service defaults to &amp;quot;general&amp;quot; if none is supplied.&lt;br /&gt;
&lt;br /&gt;
Example of a configuration file:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 azureKey=myAzureKey&lt;br /&gt;
 category=general&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
==== Calculation of the combined score ====&lt;br /&gt;
&lt;br /&gt;
The original score of the query is preserved in the &amp;lt;code&amp;gt;score&amp;lt;/code&amp;gt; field of the query result.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;combinedScore&amp;lt;/code&amp;gt; of the query result holds a re-calculated value that takes into account both the &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; values returned by the engine.&lt;br /&gt;
&lt;br /&gt;
For the results with a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; or 90 or above, the combined score is computed by adding the &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; value minus 10. For the results with a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; below 90, the combined score is simply the &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
| '''MatchDegree''' || '''Rating''' || '''Combined Score'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 5 || 95 (i.e. 100+(5-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 6 || 96 (i.e. 100+(6-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 0 || 90 (i.e. 100+(0-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || -3 || 87 (i.e. 100+(-3-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 98 || 9 || 97 (i.e. 98+(9-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 95 || 5 || 90 (i.e. 95+(5-10))&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Such calculation is far from perfect especially between highly rated high fuzzy matches and a low rated exact matches. But such entries are difficult to rank even manually. We will try to improve this scoring and welcome any feedback you may have.&lt;br /&gt;
&lt;br /&gt;
If a result has no &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; the default is set to 5. Unverified MT translation will generally return a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; of 100 and a &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; of 5, which will compute into a combined score of 95 in the Okapi interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
&lt;br /&gt;
* According to the [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/reference/v3-0-translate?tabs=curl#request-body API document], at most 100 JSON array elements can be supplied and the entire text cannot exceeds 5000 characters.&lt;br /&gt;
* The service may, on occasion, not generate back the proper spaces. This happens especially when there are inline codes present in the source.&lt;br /&gt;
* Only the translation feature of the Translator Text Service is supported by the connector. Obtaining a list of supported languages, transliteration, or language identification (detection) is not supported.&lt;br /&gt;
* Only the category parameter can be specified. Profanity detection and deletion, script conversion, and other features are not supported.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Retirement of version 2 API===&lt;br /&gt;
Microsoft has retireed their version 2 API on 2019-4-30 as described in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/migrate-to-v3 this page]. &lt;br /&gt;
Because of this, the Microsoft Connector found in the latest stable release, M37, will no longer work on and after 2019-5-01.&lt;br /&gt;
&lt;br /&gt;
The support of the version 3 API has been added to the M38 snapshot version from [http://okapiframework.org/snapshots/ here] in April 2019. &lt;br /&gt;
&lt;br /&gt;
Please note this is a minimal implementation and it does not support any new features such as profanity filtering,&lt;br /&gt;
&lt;br /&gt;
Because the version 3 API no longer supports the translation memory, that aspect of function is not available even if you use the latest Okapi M38 snapshot version.&lt;br /&gt;
&lt;br /&gt;
You will need an &amp;quot;azure key&amp;quot; to use the version 3 API. If you already have a key for version 2, the same key should work. &lt;br /&gt;
For information on how to obtain an azure key, please see [https://azure.microsoft.com/en-us/pricing/details/cognitive-services/ this page]. &lt;br /&gt;
&lt;br /&gt;
===Old Parameters Prior To M32===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Client ID&amp;lt;/cite&amp;gt; &amp;amp;mdash; The Client ID to use to connect to the MT server. See See [http://msdn.microsoft.com/en-us/library/hh454950.aspx the MSDN pages] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Secret&amp;lt;/cite&amp;gt; &amp;amp;mdash; The secret corresponding to the Client ID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt; &amp;amp;mdash; An optional category to use when working with trained engines.&lt;br /&gt;
&lt;br /&gt;
Example of a configuration file:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 clientId=myPersonalClientID&lt;br /&gt;
 secret=theSecretForThatClientID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Connectors]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Trying_out_the_Microsoft_Translator_Connector&amp;diff=805</id>
		<title>Trying out the Microsoft Translator Connector</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Trying_out_the_Microsoft_Translator_Connector&amp;diff=805"/>
		<updated>2019-08-16T01:21:23Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The [[Microsoft Translator Connector]] is an Okapi component that connects to [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/ Microsoft Translator Text Service] (referred to as '''Translator Service''' hereafter), which is part of the Microsoft Cognitive Services.&lt;br /&gt;
&lt;br /&gt;
This wiki page explains how to try out the Translator Service using the Tikal command line utility.&lt;br /&gt;
&lt;br /&gt;
==Retirement of version 2 API==&lt;br /&gt;
Microsoft has retired their version 2 API on 2019-4-30 as described in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/migrate-to-v3 this page]. &lt;br /&gt;
Because of this, the Microsoft Connector found in the latest stable release, M37, no longer works on and after 2019-5-01.&lt;br /&gt;
&lt;br /&gt;
The support of the version 3 API has been added to Okapi in mid April after the M37 release. To use Microsoft's machine translation service, please pick up the M38 snapshot version from [http://okapiframework.org/snapshots/ here]. &lt;br /&gt;
&lt;br /&gt;
The rest of this page assumes that you are using the M38 snapshot version built after mid April, 2019, the M38 stable release (which has not been released as of this writing in mid August, 2019), or later.&lt;br /&gt;
&lt;br /&gt;
==Obtaining Azure Key==&lt;br /&gt;
To use the Microsoft Translator Connector, you need an Azure Key.&lt;br /&gt;
If you already have a key for version 2 API, the same key should work. &lt;br /&gt;
Otherwise, please read [https://azure.microsoft.com/en-us/pricing/details/cognitive-services/ this page]. &lt;br /&gt;
Microsoft issues a key free of charge with certain limitations, which is enough to try out the connector as described in this page.&lt;br /&gt;
&lt;br /&gt;
== Searching Translations ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Queries === &lt;br /&gt;
[[Tikal]] provides a way to try out the connector easily.&lt;br /&gt;
&lt;br /&gt;
First you need to create a configuration file that looks like:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 azureKey=your-azure-key&lt;br /&gt;
 baseURL=the-base-url&lt;br /&gt;
&lt;br /&gt;
using a text editor.  &lt;br /&gt;
Here ''your-azure-key'' is the Azure Key that was obtained from Microsoft.&lt;br /&gt;
''the-base-url'' is one of the URLs listed in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/reference/v3-0-reference#base-urls Base URLs] section in the API Reference.&lt;br /&gt;
&lt;br /&gt;
For example (warning: the Azure Key here is not valid):&lt;br /&gt;
 #v1&lt;br /&gt;
 azureKey=4f4cfe47becf471a0123456789abcdef&lt;br /&gt;
 baseURL=https://api-nam.cognitive.microsofttranslator.com&lt;br /&gt;
&lt;br /&gt;
We assume you have saved this file as &amp;lt;code&amp;gt;config.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now you can use the connector with Tikal. Try for instance:&lt;br /&gt;
&lt;br /&gt;
 tikal.sh -q &amp;quot;This is a test&amp;quot; -sl en -tl fr -ms config.cfg&lt;br /&gt;
&lt;br /&gt;
(On a Windows system, type &amp;quot;tikal&amp;quot; instead of &amp;quot;./tikal.sh&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
(On a Linux/Unix/macOS system and PATH doesn't include &amp;quot;.&amp;quot;, type &amp;quot;./tikal.sh&amp;quot; instead.)&lt;br /&gt;
&lt;br /&gt;
This command line uses the following parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-q &amp;quot;This is a test&amp;quot;&amp;lt;/code&amp;gt; indicates that we want to search for a translation (i.e. [[Tikal - Translation Commands#Query Translation Resources|do a query]]) and the source text to search for is &amp;quot;&amp;lt;code&amp;gt;This is a test&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;-sl en&amp;lt;/code&amp;gt; indicates that the source language is English&lt;br /&gt;
* &amp;lt;code&amp;gt;-tl fr&amp;lt;/code&amp;gt; indicates that the target language is French&lt;br /&gt;
* &amp;lt;code&amp;gt;-ms config.cfg&amp;lt;/code&amp;gt; specifies to use the [[Microsoft Translator Connector]] and to use &amp;lt;code&amp;gt;config.cfg&amp;lt;/code&amp;gt; for the connector's configuration.&lt;br /&gt;
&lt;br /&gt;
This should give you back something like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 = From net.sf.okapi.connectors.microsoft.MicrosoftMTConnector (en-&amp;gt;fr)&lt;br /&gt;
   Threshold=-10, Maximum hits=1&lt;br /&gt;
   Engine: 'general'&lt;br /&gt;
 score: 95, origin: 'Microsoft-Translator' (from MT)&lt;br /&gt;
   Source: &amp;quot;This is a test&amp;quot;&lt;br /&gt;
   Target: &amp;quot;C'est un test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== With the [[Leveraging Step]] ===&lt;br /&gt;
The connector is available in the [[Leveraging Step]], so you can use it on any pipeline you need.&lt;br /&gt;
&lt;br /&gt;
You can also use Tikal's [[Tikal - Translation Commands#Translate Files|Translate Files]] command to process directly an file supported by Okapi. For example, the following command creates an output file &amp;lt;code&amp;gt;myFile.out.docx&amp;lt;/code&amp;gt; translated into Japanese. That is if the file is small enough to be processed within the limitations of your license.&lt;br /&gt;
&lt;br /&gt;
 tikal.sh -t myFile.docx -sl en -tl ja -ms config.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== With the [[Microsoft Batch Translation Step]] ===&lt;br /&gt;
The [[Microsoft Batch Translation Step]] can also be used to generate the target text using the Translator Service.&lt;br /&gt;
&lt;br /&gt;
For example, to translate any document for which Okapi has a filter you can use the following pipeline:&lt;br /&gt;
&lt;br /&gt;
: = [[Raw Document to Filter Events Step]]&lt;br /&gt;
: + [[Microsoft Batch Translation Step]]&lt;br /&gt;
: + [[Filter Events to Raw Document Step]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Microsoft Batch Translation Step is the preferred Step to use over the [[Leveraging Step]] because it sends many pieces (paragraphs) of text in one batch and more efficient. However, this might cause too many or too large text to be sent to the Translator Service than the service's limits. If that happens, the work around might be to use the Leveraging Step.&lt;br /&gt;
&lt;br /&gt;
==Obsolete Features==&lt;br /&gt;
The following features are no longer supported because the Translator Service no longer supports the underlying features:&lt;br /&gt;
* The Translator Service no longer has a built-in translation memory feature.&lt;br /&gt;
* [[Microsoft Batch Submission Step]]&lt;br /&gt;
* The threshold and the number of maximum hits that could be specified with &amp;lt;code&amp;gt;-opt&amp;lt;/code&amp;gt; command line flag for Tikal or the Microsoft Batch Translation Step UI have no effect.&lt;br /&gt;
&lt;br /&gt;
[[Category:Connectors]] [[Category:Tikal]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Trying_out_the_Microsoft_Translator_Connector&amp;diff=804</id>
		<title>Trying out the Microsoft Translator Connector</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Trying_out_the_Microsoft_Translator_Connector&amp;diff=804"/>
		<updated>2019-08-16T01:19:28Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Major update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Warning: This page is being updated and not fully accurate. (2019-8-15)&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The [[Microsoft Translator Connector]] is an Okapi component that connects to [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/ Microsoft Translator Text Service] (referred to as '''Translator Service''' hereafter), which is part of the Microsoft Cognitive Services.&lt;br /&gt;
&lt;br /&gt;
This wiki page explains how to try out the Translator Service using the Tikal command line utility.&lt;br /&gt;
&lt;br /&gt;
==Retirement of version 2 API==&lt;br /&gt;
Microsoft has retired their version 2 API on 2019-4-30 as described in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/migrate-to-v3 this page]. &lt;br /&gt;
Because of this, the Microsoft Connector found in the latest stable release, M37, no longer works on and after 2019-5-01.&lt;br /&gt;
&lt;br /&gt;
The support of the version 3 API has been added to Okapi in mid April after the M37 release. To use Microsoft's machine translation service, please pick up the M38 snapshot version from [http://okapiframework.org/snapshots/ here]. &lt;br /&gt;
&lt;br /&gt;
The rest of this page assumes that you are using the M38 snapshot version built after mid April, 2019, the M38 stable release (which has not been released as of this writing in mid August, 2019), or later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Obtaining Azure Key==&lt;br /&gt;
To use the Microsoft Translator Connector, you need an Azure Key.&lt;br /&gt;
If you already have a key for version 2 API, the same key should work. &lt;br /&gt;
Otherwise, please read [https://azure.microsoft.com/en-us/pricing/details/cognitive-services/ this page]. &lt;br /&gt;
Microsoft issues a key free of charge with certain limitations, which is enough to try out the connector as described in this page.&lt;br /&gt;
&lt;br /&gt;
== Searching Translations ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Queries === &lt;br /&gt;
&lt;br /&gt;
[[Tikal]] provides a way to try out the connector easily.&lt;br /&gt;
&lt;br /&gt;
First you need to create a configuration file that looks like:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 azureKey=your-azure-key&lt;br /&gt;
 baseURL=the-base-url&lt;br /&gt;
&lt;br /&gt;
using a text editor.  &lt;br /&gt;
Here ''your-azure-key'' is the Azure Key that was obtained from Microsoft.&lt;br /&gt;
''the-base-url'' is one of the URLs listed in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/reference/v3-0-reference#base-urls Base URLs] section in the API Reference.&lt;br /&gt;
&lt;br /&gt;
For example (warning: the Azure Key here is not valid):&lt;br /&gt;
 #v1&lt;br /&gt;
 azureKey=4f4cfe47becf471a0123456789abcdef&lt;br /&gt;
 baseURL=https://api-nam.cognitive.microsofttranslator.com&lt;br /&gt;
&lt;br /&gt;
We assume you have saved this file as &amp;lt;code&amp;gt;config.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now you can use the connector with Tikal. Try for instance:&lt;br /&gt;
&lt;br /&gt;
 tikal.sh -q &amp;quot;This is a test&amp;quot; -sl en -tl fr -ms config.cfg&lt;br /&gt;
&lt;br /&gt;
(On a Windows system, type &amp;quot;tikal&amp;quot; instead of &amp;quot;./tikal.sh&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
(On a Linux/Unix/macOS system and PATH doesn't include &amp;quot;.&amp;quot;, type &amp;quot;./tikal.sh&amp;quot; instead.)&lt;br /&gt;
&lt;br /&gt;
This command line uses the following parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-q &amp;quot;This is a test&amp;quot;&amp;lt;/code&amp;gt; indicates that we want to search for a translation (i.e. [[Tikal - Translation Commands#Query Translation Resources|do a query]]) and the source text to search for is &amp;quot;&amp;lt;code&amp;gt;This is a test&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;-sl en&amp;lt;/code&amp;gt; indicates that the source language is English&lt;br /&gt;
* &amp;lt;code&amp;gt;-tl fr&amp;lt;/code&amp;gt; indicates that the target language is French&lt;br /&gt;
* &amp;lt;code&amp;gt;-ms config.cfg&amp;lt;/code&amp;gt; specifies to use the [[Microsoft Translator Connector]] and to use &amp;lt;code&amp;gt;config.cfg&amp;lt;/code&amp;gt; for the connector's configuration.&lt;br /&gt;
&lt;br /&gt;
This should give you back something like:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 = From net.sf.okapi.connectors.microsoft.MicrosoftMTConnector (en-&amp;gt;fr)&lt;br /&gt;
   Threshold=-10, Maximum hits=1&lt;br /&gt;
   Engine: 'general'&lt;br /&gt;
 score: 95, origin: 'Microsoft-Translator' (from MT)&lt;br /&gt;
   Source: &amp;quot;This is a test&amp;quot;&lt;br /&gt;
   Target: &amp;quot;C'est un test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== With the [[Leveraging Step]] ===&lt;br /&gt;
&lt;br /&gt;
The connector is available in the [[Leveraging Step]], so you can use it on any pipeline you need.&lt;br /&gt;
&lt;br /&gt;
You can also use Tikal's [[Tikal - Translation Commands#Translate Files|Translate Files]] command to process directly an file supported by Okapi. For example, the following command creates an output file &amp;lt;code&amp;gt;myFile.out.docx&amp;lt;/code&amp;gt; translated into Japanese. That is if the file is small enough to be processed within the limitations of your license.&lt;br /&gt;
&lt;br /&gt;
 tikal.sh -t myFile.docx -sl en -tl ja -ms config.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== With the [[Microsoft Batch Translation Step]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:MSBatchTranslation.png|thumb|600px|Microsoft Batch Translation Step (Windows&amp;amp;nbsp;7)]]&lt;br /&gt;
The [[Microsoft Batch Translation Step]] can also be used to generate the target text using the Translator Service.&lt;br /&gt;
&lt;br /&gt;
For example, to translate any document for which Okapi has a filter you can use the following pipeline:&lt;br /&gt;
&lt;br /&gt;
: = [[Raw Document to Filter Events Step]]&lt;br /&gt;
: + [[Microsoft Batch Translation Step]]&lt;br /&gt;
: + [[Filter Events to Raw Document Step]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Microsoft Batch Translation Step is the preferred Step to use over the [[Leveraging Step]] because it sends many pieces (paragraphs) of text in one batch and more efficient. However, this might cause too many or too large text to be sent to the Translator Service than the service's limits. If that happens, the work around might be to use the Leveraging Step.&lt;br /&gt;
&lt;br /&gt;
==Obsolete Features==&lt;br /&gt;
The following features are no longer supported because the Translator Service no longer supports the underlying features:&lt;br /&gt;
* The Translator Service no longer has a built-in translation memory feature.&lt;br /&gt;
* [[Microsoft Batch Submission Step]]&lt;br /&gt;
* The threshold and the number of maximum hits that could be specified with &amp;lt;code&amp;gt;-opt&amp;lt;/code&amp;gt; command line flag for Tikal or the Microsoft Batch Translation Step UI have no effect.&lt;br /&gt;
&lt;br /&gt;
[[Category:Connectors]] [[Category:Tikal]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Microsoft_Translator_Connector&amp;diff=803</id>
		<title>Microsoft Translator Connector</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Microsoft_Translator_Connector&amp;diff=803"/>
		<updated>2019-08-15T01:07:00Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Minor fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Connectors Header}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Overview==&lt;br /&gt;
The Microsoft [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/ Translator Text Service] provides a machine translation over a REST API. The service supports a large number of language pairs, both common and less common. The list is available at [https://docs.microsoft.com/en-us/azure/cognitive-services/Translator/language-support#translation]. (Please see the list under '''V3 Translator API'''.)&lt;br /&gt;
&lt;br /&gt;
This connector uses [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/reference/v3-0-reference the V3 API]. To use this connector you need an '''Azure Key''' from Microsoft. See [https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-microsoft-translator-on-azure#signup the Microsoft pages] for more information.&lt;br /&gt;
&lt;br /&gt;
For more examples on how to use this connector see the article &amp;quot;[[Trying out the Microsoft Translator Connector]]&amp;quot; in the [[Knowledge Base]]. See also the [[Microsoft Batch Translation Step]].&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Azure Key&amp;lt;/cite&amp;gt; &amp;amp;mdash; The Microsoft Azure key to use this Translator Text and other Microsoft Cognitive Services.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt; &amp;amp;mdash; An optional category to use when working with trained engines. The service defaults to &amp;quot;general&amp;quot; if none is supplied.&lt;br /&gt;
&lt;br /&gt;
Example of a configuration file:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 azureKey=myAzureKey&lt;br /&gt;
 category=general&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
==== Calculation of the combined score ====&lt;br /&gt;
&lt;br /&gt;
The original score of the query is preserved in the &amp;lt;code&amp;gt;score&amp;lt;/code&amp;gt; field of the query result.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;combinedScore&amp;lt;/code&amp;gt; of the query result holds a re-calculated value that takes into account both the &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; values returned by the engine.&lt;br /&gt;
&lt;br /&gt;
For the results with a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; or 90 or above, the combined score is computed by adding the &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; value minus 10. For the results with a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; below 90, the combined score is simply the &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
| '''MatchDegree''' || '''Rating''' || '''Combined Score'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 5 || 95 (i.e. 100+(5-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 6 || 96 (i.e. 100+(6-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 0 || 90 (i.e. 100+(0-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || -3 || 87 (i.e. 100+(-3-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 98 || 9 || 97 (i.e. 98+(9-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 95 || 5 || 90 (i.e. 95+(5-10))&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Such calculation is far from perfect especially between highly rated high fuzzy matches and a low rated exact matches. But such entries are difficult to rank even manually. We will try to improve this scoring and welcome any feedback you may have.&lt;br /&gt;
&lt;br /&gt;
If a result has no &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; the default is set to 5. Unverified MT translation will generally return a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; of 100 and a &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; of 5, which will compute into a combined score of 95 in the Okapi interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
&lt;br /&gt;
* According to the [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/reference/v3-0-translate?tabs=curl#request-body API document], at most 100 JSON array elements can be supplied and the entire text cannot exceeds 5000 characters.&lt;br /&gt;
* The service may, on occasion, not generate back the proper spaces. This happens especially when there are inline codes present in the source.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Retirement of version 2 API===&lt;br /&gt;
Microsoft has retireed their version 2 API on 2019-4-30 as described in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/migrate-to-v3 this page]. &lt;br /&gt;
Because of this, the Microsoft Connector found in the latest stable release, M37, will no longer work on and after 2019-5-01.&lt;br /&gt;
&lt;br /&gt;
The support of the version 3 API has been added to the M38 snapshot version from [http://okapiframework.org/snapshots/ here] in April 2019. &lt;br /&gt;
&lt;br /&gt;
Please note this is a minimal implementation and it does not support any new features such as profanity filtering,&lt;br /&gt;
&lt;br /&gt;
Because the version 3 API no longer supports the translation memory, that aspect of function is not available even if you use the latest Okapi M38 snapshot version.&lt;br /&gt;
&lt;br /&gt;
You will need an &amp;quot;azure key&amp;quot; to use the version 3 API. If you already have a key for version 2, the same key should work. &lt;br /&gt;
For information on how to obtain an azure key, please see [https://azure.microsoft.com/en-us/pricing/details/cognitive-services/ this page]. &lt;br /&gt;
&lt;br /&gt;
===Old Parameters Prior To M32===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Client ID&amp;lt;/cite&amp;gt; &amp;amp;mdash; The Client ID to use to connect to the MT server. See See [http://msdn.microsoft.com/en-us/library/hh454950.aspx the MSDN pages] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Secret&amp;lt;/cite&amp;gt; &amp;amp;mdash; The secret corresponding to the Client ID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt; &amp;amp;mdash; An optional category to use when working with trained engines.&lt;br /&gt;
&lt;br /&gt;
Example of a configuration file:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 clientId=myPersonalClientID&lt;br /&gt;
 secret=theSecretForThatClientID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Connectors]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Microsoft_Translator_Connector&amp;diff=802</id>
		<title>Microsoft Translator Connector</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Microsoft_Translator_Connector&amp;diff=802"/>
		<updated>2019-08-15T01:06:15Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Update to match v3 API, first attempt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Connectors Header}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Overview==&lt;br /&gt;
The Microsoft [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/ Translator Text Service] provides a machine translation over a REST API. The service supports a large number of language pairs, both common and less common. The list is available at [https://docs.microsoft.com/en-us/azure/cognitive-services/Translator/language-support#translation]. (Please see the list under '''V3 Translator API'''.)&lt;br /&gt;
&lt;br /&gt;
This connector uses [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/reference/v3-0-reference the V3 API]. To use this connector you need an '''Azure Key''' from Microsoft. See [https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-microsoft-translator-on-azure#signup the Microsoft pages] for more information.&lt;br /&gt;
&lt;br /&gt;
For more examples on how to use this connector see the article &amp;quot;[[Trying out the Microsoft Translator Connector]]&amp;quot; in the [[Knowledge Base]]. See also the [[Microsoft Batch Translation Step]].&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Azure Key&amp;lt;/cite&amp;gt; &amp;amp;mdash; The Microsoft Azure key to use this Translator Text and other Microsoft Cognitive Services.&lt;br /&gt;
&amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt; &amp;amp;mdash; An optional category to use when working with trained engines. The service defaults to &amp;quot;general&amp;quot; if none is supplied.&lt;br /&gt;
&lt;br /&gt;
Example of a configuration file:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 azureKey=myAzureKey&lt;br /&gt;
 category=general&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Details==&lt;br /&gt;
==== Calculation of the combined score ====&lt;br /&gt;
&lt;br /&gt;
The original score of the query is preserved in the &amp;lt;code&amp;gt;score&amp;lt;/code&amp;gt; field of the query result.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;combinedScore&amp;lt;/code&amp;gt; of the query result holds a re-calculated value that takes into account both the &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; values returned by the engine.&lt;br /&gt;
&lt;br /&gt;
For the results with a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; or 90 or above, the combined score is computed by adding the &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; value minus 10. For the results with a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; below 90, the combined score is simply the &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
| '''MatchDegree''' || '''Rating''' || '''Combined Score'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 5 || 95 (i.e. 100+(5-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 6 || 96 (i.e. 100+(6-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 0 || 90 (i.e. 100+(0-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || -3 || 87 (i.e. 100+(-3-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 98 || 9 || 97 (i.e. 98+(9-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 95 || 5 || 90 (i.e. 95+(5-10))&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Such calculation is far from perfect especially between highly rated high fuzzy matches and a low rated exact matches. But such entries are difficult to rank even manually. We will try to improve this scoring and welcome any feedback you may have.&lt;br /&gt;
&lt;br /&gt;
If a result has no &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; the default is set to 5. Unverified MT translation will generally return a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; of 100 and a &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; of 5, which will compute into a combined score of 95 in the Okapi interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
&lt;br /&gt;
* According to the [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/reference/v3-0-translate?tabs=curl#request-body API document], at most 100 JSON array elements can be supplied and the entire text cannot exceeds 5000 characters.&lt;br /&gt;
* The service may, on occasion, not generate back the proper spaces. This happens especially when there are inline codes present in the source.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Retirement of version 2 API===&lt;br /&gt;
Microsoft has retireed their version 2 API on 2019-4-30 as described in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/migrate-to-v3 this page]. &lt;br /&gt;
Because of this, the Microsoft Connector found in the latest stable release, M37, will no longer work on and after 2019-5-01.&lt;br /&gt;
&lt;br /&gt;
The support of the version 3 API has been added to the M38 snapshot version from [http://okapiframework.org/snapshots/ here] in April 2019. &lt;br /&gt;
&lt;br /&gt;
Please note this is a minimal implementation and it does not support any new features such as profanity filtering,&lt;br /&gt;
&lt;br /&gt;
Because the version 3 API no longer supports the translation memory, that aspect of function is not available even if you use the latest Okapi M38 snapshot version.&lt;br /&gt;
&lt;br /&gt;
You will need an &amp;quot;azure key&amp;quot; to use the version 3 API. If you already have a key for version 2, the same key should work. &lt;br /&gt;
For information on how to obtain an azure key, please see [https://azure.microsoft.com/en-us/pricing/details/cognitive-services/ this page]. &lt;br /&gt;
&lt;br /&gt;
===Old Parameters Prior To M32===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Client ID&amp;lt;/cite&amp;gt; &amp;amp;mdash; The Client ID to use to connect to the MT server. See See [http://msdn.microsoft.com/en-us/library/hh454950.aspx the MSDN pages] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Secret&amp;lt;/cite&amp;gt; &amp;amp;mdash; The secret corresponding to the Client ID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt; &amp;amp;mdash; An optional category to use when working with trained engines.&lt;br /&gt;
&lt;br /&gt;
Example of a configuration file:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 clientId=myPersonalClientID&lt;br /&gt;
 secret=theSecretForThatClientID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Connectors]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Microsoft_Batch_Translation_Step&amp;diff=785</id>
		<title>Microsoft Batch Translation Step</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Microsoft_Batch_Translation_Step&amp;diff=785"/>
		<updated>2019-04-25T03:36:32Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Steps Header}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Retirement of version 2 API==&lt;br /&gt;
&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MICROSOFT CONNECTOR of the Okapi stable releases will STOP WORKING&amp;lt;/span&amp;gt; at the end of April, 2019.&lt;br /&gt;
&lt;br /&gt;
Microsoft will retire their version 2 API on 2019-4-30 as described in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/migrate-to-v3 this page]. &lt;br /&gt;
Because of this, the Microsoft Connector found in the latest stable release, M37, will no longer work on and after 2019-5-01.&lt;br /&gt;
&lt;br /&gt;
The support of the version 3 API has been added to Okapi in mid April after the M37 release. If you need to use Microsoft's machine translation service, please pick up the M38 snapshot version from [http://okapiframework.org/snapshots/ here]. &lt;br /&gt;
Please note this is a minimal implementation and it does not support any new features such as profanity filtering,&lt;br /&gt;
&lt;br /&gt;
Because the version 3 API no longer supports the translation memory, that aspect of function is not available even if you use the latest Okapi M38 snapshot version.&lt;br /&gt;
&lt;br /&gt;
You will need an &amp;quot;azure key&amp;quot; to use the version 3 API. If you already have a key for version 2, the same key should work. &lt;br /&gt;
For information on how to obtain an azure key, please see [https://azure.microsoft.com/en-us/pricing/details/cognitive-services/ this page]. &lt;br /&gt;
&lt;br /&gt;
'''Information below is mostly out of date. It is kept as reference until full update of this page is done.'''&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
This step annotates text units of the input documents with [http://www.microsofttranslator.com Microsoft Translator] candidates or/and creates a TM from them.&lt;br /&gt;
&lt;br /&gt;
Takes: Filter events. Sends: Filter events (possibly annotated) or raw document.&lt;br /&gt;
&lt;br /&gt;
You must have a &amp;quot;Client ID&amp;quot; and a &amp;quot;Client Secret&amp;quot; from Microsoft to use this step. If you get those by obtaining a Windows Live ID, and then registering an application in your Live account. See [http://msdn.microsoft.com/en-us/library/hh454950.aspx the MSDN pages] for more information.&lt;br /&gt;
&lt;br /&gt;
You must also respect Microsoft's Terms of Service. If you intend to use the Microsoft Translator API for commercial or high volume purposes, you would need to sign a commercial license agreement and provide your AppID to the Microsoft Translator team. For more details contact [mailto:mtlic@microsoft.com mtlic@microsoft.com].&lt;br /&gt;
&lt;br /&gt;
Text units flagged as non-translatable are not send for translation.&lt;br /&gt;
&lt;br /&gt;
Note that using the [[Leveraging Step]] with the [[Microsoft Translator Connector]] will produces MT results similar to this step. However, this step can process several text units at once and therefore is much faster.&lt;br /&gt;
&lt;br /&gt;
Improving automatically MT output can be done in some cases. For example extra or missing spaces around inline codes can be fixed with the [[Space Check Step]].&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Client ID&amp;lt;/cite&amp;gt; &amp;amp;mdash; The Client ID to use to connect to the MT server. See [http://msdn.microsoft.com/en-us/library/hh454950.aspx the MSDN pages] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Client Secret&amp;lt;/cite&amp;gt; &amp;amp;mdash; The secret corresponding to the Client ID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt; &amp;amp;mdash; An optional category to use when working with trained engines. You can either enter directly the engine identifier (called 'category' in [https://hub.microsofttranslator.com Microsoft Translator Hub]), or you can use a keyword in the form &amp;lt;code&amp;gt;@@@keyword@@@&amp;lt;/code&amp;gt;. If you specify a keyword you must specify a properties file in the &amp;lt;cite&amp;gt;Engine Mapping&amp;lt;/cite&amp;gt; field.&lt;br /&gt;
&lt;br /&gt;
The keyword can be a literal string or the &amp;lt;code&amp;gt;${domain}&amp;lt;/code&amp;gt; variable. When &amp;lt;code&amp;gt;${domain}&amp;lt;/code&amp;gt; is used, the variable is replaced by the first occurrence of the value for the [[ITS_Components|ITS Domain annotation]] found on a text unit. Ideally this Domain annotation should be set on the first text unit of the first document processed. All batches of events translated before a domain annotation is found are translated with the empty category.&lt;br /&gt;
&lt;br /&gt;
{{NoteBox|As stated above, only the first occurrence of the Domain annotation has an effect on the selection of the engine.}}&lt;br /&gt;
&lt;br /&gt;
{{NoteBox|Also, because this step is working on batches, segments before the first occurrence of the Domain annotation but within the same batch will be translated with the engine specified by the domain. For example: If you have 100 events and the &amp;lt;cite&amp;gt;Events buffer&amp;lt;/cite&amp;gt; is set to 50 and the first occurrence of the Domain annotation is in the 60th event: The first 50 events will be translated with the empty category and all the other events with the engine corresponding to the specified domain, including the events 51 to 59.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Engine Mapping&amp;lt;/cite&amp;gt; &amp;amp;mdash; Enter the path of the properties file that contains the mapping between the category keywords and the Microsoft Translator Hub engine identifier. You can use the variables &amp;lt;code&amp;gt;${rootDir}&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;${inputRootDir}&amp;lt;/code&amp;gt;, as well as any of the [[Template:Locales Variables|source or target locale variables]] (&amp;lt;code&amp;gt;${srcLoc}&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;${trgLoc}&amp;lt;/code&amp;gt;, etc). Leave the path empty to not use a mapping. The properties file is a list of lines in the form:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;keyword&amp;gt;.&amp;lt;language&amp;gt;=&amp;lt;engineID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;keyword&amp;gt;&amp;lt;/code&amp;gt; is a case-sensitive string (without spaces, sign equal or periods) that corresponds to the &amp;lt;code&amp;gt;keyword&amp;lt;/code&amp;gt; part in &amp;lt;code&amp;gt;@@@keyword@@@&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;language&amp;gt;&amp;lt;/code&amp;gt; is the uppercase language code of the target locale to process.&lt;br /&gt;
&lt;br /&gt;
For example, if you have the following engine mapping file:&lt;br /&gt;
&lt;br /&gt;
 travel.FR=11111111-2222-3333-4444-e42f530c98b8_tra&lt;br /&gt;
 client1.DE=11111111-2222-3333-4444-90dd26cc9dsd3_gen&lt;br /&gt;
 client1.tech.DE=11111111-2222-3333-4444-90dd26cc9d48_tech&lt;br /&gt;
 client2.DE=11111111-2222-3333-4444-90dd26cc9ds34_gen&lt;br /&gt;
&lt;br /&gt;
To use the first engine (assuming you are translating into french), specify &amp;lt;code&amp;gt;@@@travel@@@&amp;lt;/code&amp;gt; in the &amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt;. To use the third engine specify &amp;lt;code&amp;gt;@@@client1.tech@@@&amp;lt;/code&amp;gt;. There is also a fallback mechanism where if you specify &amp;lt;code&amp;gt;@@@client2.law@@@&amp;lt;/code&amp;gt; it would first look for client2.law.DE and if not found it would look for a client2.DE. If no custom engine is found the generic Microsoft provided engine is used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Events buffer&amp;lt;/cite&amp;gt; &amp;amp;mdash; Enter the number of events to buffer for a single query to the engine. The largest the buffer, the fastest the processing. But there are limitations related to the volume of text you can process at once as well.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Maximum matches&amp;lt;/cite&amp;gt; &amp;amp;mdash; Enter the maximum number of matches you want to allow per source text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Threshold&amp;lt;/cite&amp;gt; &amp;amp;mdash; Enter the score below which a match is not keep as a result. See the [[Microsoft Translator Connector]] to understand how scores are computed based on their match degree an rating values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Query only entries without existing candidate&amp;lt;/cite&amp;gt; &amp;amp;mdash; Set this option to send to Microsoft Translator only the text for which there is currently no candidate (i.e. annotations added by previous steps or coming from the original document).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Annotate the text units with the translations&amp;lt;/cite&amp;gt; &amp;amp;mdash; set this option to add to the text units annotations that holds the matches found. Those annotations may be used later by other steps. Existing annotations are preserved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Generate a TMX document&amp;lt;/cite&amp;gt; &amp;amp;mdash; Set this option to create a TMX output. Enter the full path of the TMX document to generate. If another document exists already it will be overwritten. You can use the variables &amp;lt;code&amp;gt;${rootDir}&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;${inputRootDir}&amp;lt;/code&amp;gt;, as well as any of the [[Template:Locales Variables|source or target locale variables]] (&amp;lt;code&amp;gt;${srcLoc}&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;${trgloc}&amp;lt;/code&amp;gt;, etc).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Send the TMX document to the next step&amp;lt;/cite&amp;gt; &amp;amp;mdash; Set this option to have the generated TMX document as the only input raw document passed on to the next step of the pipeline. If this option is not set the filter events are passed on to the next step.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Mark the generated translation as machine translation results&amp;lt;/cite&amp;gt; &amp;amp;mdash; Set this option to mark the TM entries generated as the result of machine translation. For example, when this option is set, the creationId attribute of the TMX &amp;lt;code&amp;gt;&amp;amp;lt;Tu&amp;gt;&amp;lt;/code&amp;gt; element is set to &amp;quot;MT!&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Fill the target with the best translation candidate&amp;lt;/cite&amp;gt; &amp;amp;mdash; Set this option to copy the translation with the best score (and a score above or equal to the &amp;lt;cite&amp;gt;Fill threshold&amp;lt;/cite&amp;gt;) into the target (if it is empty). Only the matches returned by the Microsoft Translator engine are taken into account.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Fill threshold&amp;lt;/cite&amp;gt; &amp;amp;mdash; If the score of the best match is below the provided value, no translation is not copied into the target.&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
&lt;br /&gt;
* The Microsoft Translator API has some restriction for high volume usage. Contact Microsoft for details.&lt;br /&gt;
* Only the first ITS Domain annotation in a batch is taken into account.&lt;br /&gt;
* See also the limitations on the [[Microsoft Translator Connector]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Steps]] [[Category:ITS]] [[Category:TMX]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Trying_out_the_Microsoft_Translator_Connector&amp;diff=784</id>
		<title>Trying out the Microsoft Translator Connector</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Trying_out_the_Microsoft_Translator_Connector&amp;diff=784"/>
		<updated>2019-04-25T03:30:39Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: API v3 update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Retirement of version 2 API==&lt;br /&gt;
&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MICROSOFT CONNECTOR of the Okapi stable releases will STOP WORKING&amp;lt;/span&amp;gt; at the end of April, 2019.&lt;br /&gt;
&lt;br /&gt;
Microsoft will retire their version 2 API on 2019-4-30 as described in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/migrate-to-v3 this page]. &lt;br /&gt;
Because of this, the Microsoft Connector found in the latest stable release, M37, will no longer work on and after 2019-5-01.&lt;br /&gt;
&lt;br /&gt;
The support of the version 3 API has been added to Okapi in mid April after the M37 release. If you need to use Microsoft's machine translation service, please pick up the M38 snapshot version from [http://okapiframework.org/snapshots/ here]. &lt;br /&gt;
Please note this is a minimal implementation and it does not support any new features such as profanity filtering,&lt;br /&gt;
&lt;br /&gt;
Because the version 3 API no longer supports the translation memory, that aspect of function is not available even if you use the latest Okapi M38 snapshot version.&lt;br /&gt;
&lt;br /&gt;
You will need an &amp;quot;azure key&amp;quot; to use the version 3 API. If you already have a key for version 2, the same key should work. &lt;br /&gt;
For information on how to obtain an azure key, please see [https://azure.microsoft.com/en-us/pricing/details/cognitive-services/ this page]. &lt;br /&gt;
&lt;br /&gt;
'''Information below is mostly out of date. It is kept as reference until full update of this page is done.'''&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
The [[Microsoft Translator Connector]] allows you to access Microsoft Translator system through its API.&lt;br /&gt;
&lt;br /&gt;
You must have a &amp;quot;Client ID&amp;quot; and a &amp;quot;Client Secret&amp;quot; from Microsoft to use it. If you get those by obtaining a Windows Live ID, and then registering an application in your Live account. See [http://msdn.microsoft.com/en-us/library/hh454950.aspx the MSDN pages] for more information.&lt;br /&gt;
&lt;br /&gt;
Note that for commercial or high volume usage you must have a license with Microsoft. The API has some restrictions in its throughput for callers without license. Those restrictions may change without notice and vary based on service utilization, trying to ensure fairness. More information can be found on the [http://social.msdn.microsoft.com/Forums/en-US/category/translation Microsoft Translator forums].&lt;br /&gt;
&lt;br /&gt;
{{NoteBox|You need to have a release between M13 and M17 to try out the batch translation and the submission features using the Microsoft AppID authentication.&amp;lt;br/&amp;gt;Starting at M18 the library uses the Client ID/Secret authentication.}}&lt;br /&gt;
&lt;br /&gt;
== Searching Translations ==&lt;br /&gt;
&lt;br /&gt;
=== Manual Queries === &lt;br /&gt;
&lt;br /&gt;
[[Tikal]] provides a way to try out the connector easily.&lt;br /&gt;
&lt;br /&gt;
First you need to create a configuration file that has your credentials. You can create the file with a simple text editor, it should be as follow:&lt;br /&gt;
&lt;br /&gt;
To use the connector with an AppID (obsolete): &lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 appId=yourAppID&lt;br /&gt;
&lt;br /&gt;
To use the connector with a Client ID/Secret:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 clientId=myPersonalClientID&lt;br /&gt;
 secret=theSecretForThatClientID&lt;br /&gt;
&lt;br /&gt;
Name the file for example &amp;lt;code&amp;gt;config.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now you can use the connector with Tikal. Try for instance:&lt;br /&gt;
&lt;br /&gt;
 tikal -q &amp;quot;This is a test&amp;quot; -sl en -tl fr -ms config.cfg&lt;br /&gt;
&lt;br /&gt;
This command line uses the following parameters:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-q &amp;quot;This is a test&amp;quot;&amp;lt;/code&amp;gt; indicates that we want to search for a translation (i.e. [[Tikal - Translation Commands#Query Translation Resources|do a query]]) and the source text to search for is &amp;quot;&amp;lt;code&amp;gt;This is a test&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;-sl en&amp;lt;/code&amp;gt; indicates that the source language is English&lt;br /&gt;
* &amp;lt;code&amp;gt;-tl fr&amp;lt;/code&amp;gt; indicates that the target language is French&lt;br /&gt;
* &amp;lt;code&amp;gt;-ms config.cfg&amp;lt;/code&amp;gt; specifies to use the [[Microsoft Translator Connector]] and to use &amp;lt;code&amp;gt;config.cfg&amp;lt;/code&amp;gt; for the connector's configuration.&lt;br /&gt;
&lt;br /&gt;
This should give you back something like:&lt;br /&gt;
&lt;br /&gt;
 = From Microsoft-Translator (en-&amp;gt;fr)&lt;br /&gt;
   Threshold=95, Maximum hits=1&lt;br /&gt;
 score: 95, origin: 'Microsoft-Translator'&lt;br /&gt;
   Source: &amp;quot;This is a test&amp;quot;&lt;br /&gt;
   Target: &amp;quot;Il s'agit d'un test.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
By default the query is done with a threshold of 95. The threshold is the value under which the matches (or hits) are not retained. The default maximum number of hits displayed is 1.&lt;br /&gt;
&lt;br /&gt;
You can change those options with the parameter &amp;lt;code&amp;gt;-opt&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&lt;br /&gt;
 tikal -q &amp;quot;This is a test&amp;quot; -sl en -tl fr -ms config.cfg -opt 70:5&lt;br /&gt;
&lt;br /&gt;
This will set the threshold to 70 and the maximum number of hits to 5.&lt;br /&gt;
&lt;br /&gt;
=== With the [[Leveraging Step]] ===&lt;br /&gt;
&lt;br /&gt;
The connector is available in the [[Leveraging Step]], so you can use it on any pipeline you need.&lt;br /&gt;
&lt;br /&gt;
You can also use Tikal's [[Tikal - Translation Commands#Translate Files|Translate Files]] command to process directly an file supported by Okapi. For example, the following command creates an output file &amp;lt;code&amp;gt;myFile.out.docx&amp;lt;/code&amp;gt; translated into Japanese. That is if the file is small enough to be processed withing the limitations of the API for non-licensed users.&lt;br /&gt;
&lt;br /&gt;
 tikal -t myFile.docx -sl en -tl ja -ms config.cfg&lt;br /&gt;
&lt;br /&gt;
Both options use the &amp;lt;code&amp;gt;GetTranslations&amp;lt;/code&amp;gt; method of the API, which works segment by segment, and may result in slower process because of this.&lt;br /&gt;
&lt;br /&gt;
=== With the [[Microsoft Batch Translation Step]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:MSBatchTranslation.png|thumb|600px|Microsoft Batch Translation Step (Windows&amp;amp;nbsp;7)]]&lt;br /&gt;
The [[Microsoft Batch Translation Step]] takes advantage of the &amp;lt;code&amp;gt;GetTranslationsArray&amp;lt;/code&amp;gt; method of the API and allows you to process your input much faster.&lt;br /&gt;
&lt;br /&gt;
For example, to translate any document for which Okapi has a filter you can use the following pipeline:&lt;br /&gt;
&lt;br /&gt;
: = [[Raw Document to Filter Events Step]]&lt;br /&gt;
: + [[Microsoft Batch Translation Step]]&lt;br /&gt;
: + [[Filter Events to Raw Document Step]]&lt;br /&gt;
&lt;br /&gt;
(See the article &amp;quot;[[How to Create a Pipeline in Rainbow]]&amp;quot; to learn about pipelines)&lt;br /&gt;
&lt;br /&gt;
The step can perform several actions:&lt;br /&gt;
&lt;br /&gt;
* Annotate the text units with the matches found.&lt;br /&gt;
* Copy the best translation in the target&lt;br /&gt;
* Generate a [[TMX]] document&lt;br /&gt;
&lt;br /&gt;
Like always, this step is restricted to the limitations of the service.&lt;br /&gt;
&lt;br /&gt;
If you set the &amp;lt;cite&amp;gt;Maximum matches&amp;lt;/cite&amp;gt; value to more than 1, you may get several results: The MT-generated translation as well as one or more translations added to the repository. Use the &amp;lt;cite&amp;gt;Threshold&amp;lt;/cite&amp;gt; value to filter out matches below a given score.&lt;br /&gt;
&lt;br /&gt;
== Adding Translations ==&lt;br /&gt;
&lt;br /&gt;
One interesting aspect of the Microsoft Translator is that anyone can contribute to the translation. This is done using Microsoft's [http://blogs.msdn.com/b/translation/archive/2010/03/15/collaborative-translations-announcing-the-next-version-of-microsoft-translator-technology-v2-apis-and-widget.aspx Collaborative Translation Framework] which provides the necessary API to add translations to the repository.&lt;br /&gt;
&lt;br /&gt;
Note that the entries you are submitting must be single sentences. Any entry containing multiple sentences will be rejected automatically.&lt;br /&gt;
&lt;br /&gt;
In Okapi you can use the feature through:&lt;br /&gt;
* Tikal (to enter one translation at a time),&lt;br /&gt;
* or the [[Microsoft Batch Submission Step]] (to provide a batch of aligned sentence from a [[TMX]] file or any other bi-lingual format supported by the framework).&lt;br /&gt;
&lt;br /&gt;
The entries you add to the system can be access immediately. They are ranked higher than the default MT-generated entry only if they have been submitted with a rating value greater than 5 (which is the default for MT-generated results).&lt;br /&gt;
&lt;br /&gt;
{{WarningBox|Be '''extremely cautious''' when using this feature as '''you have no way to remove a translation once it has been added''' to Microsoft Translator. You can only re-submit the same translations with a low rating to push it down the list of query results.}}&lt;br /&gt;
&lt;br /&gt;
=== Manual Additions ===&lt;br /&gt;
&lt;br /&gt;
Tikal lets you add translation to Microsoft Translator using the [[Tikal - Translation Commands#Add Translation to a Resource|&amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; command]]:&lt;br /&gt;
&lt;br /&gt;
 tikal -a &amp;quot;This is my test&amp;quot; &amp;quot;C'est mon essai&amp;quot; -sl en -tl fr -ms config.cfg&lt;br /&gt;
&lt;br /&gt;
This will add the French &amp;quot;C'est mon essai&amp;quot; with the English text &amp;quot;This is my test&amp;quot;. You can verify this by querying it:&lt;br /&gt;
&lt;br /&gt;
 tikal -q &amp;quot;This is my test&amp;quot; -sl en -tl fr -ms config.cfg -opt 70:5&lt;br /&gt;
&lt;br /&gt;
Should give you something like:&lt;br /&gt;
&lt;br /&gt;
 = From Microsoft-Translator (en-&amp;gt;fr)&lt;br /&gt;
   Threshold=70, Maximum hits=5&lt;br /&gt;
 score: 96, origin: 'Microsoft-Translator'&lt;br /&gt;
   Source: &amp;quot;This is my test&amp;quot;&lt;br /&gt;
   Target: &amp;quot;C'est mon essai&amp;quot;&lt;br /&gt;
 score: 95, origin: 'Microsoft-Translator'&lt;br /&gt;
   Source: &amp;quot;This is my test&amp;quot;&lt;br /&gt;
   Target: &amp;quot;Il s'agit de mon test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Microsoft Translator results come back with two possible values:&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; is a value between 0 and 100 indicating how close the source of the result is from the source of the query.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; is a value between -10 and 10 indicating how good or bad the translation is. The lower the value, the worst the translation. This value is not always present and its default is 5.&lt;br /&gt;
&lt;br /&gt;
The Okapi connector has currently only one score to carry both information. So, for any &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; above 90, we add the &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; minus 10. For example, a normal MT result will have a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; of 100 and a &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; of 5. Therefore its score is 95: 100+(5-10). An exact match rated at 6 (so better than 5) will be 96: 100+(6-10), etc. For results below 90, the &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; is not taken into account.&lt;br /&gt;
&lt;br /&gt;
=== With the [[Microsoft Batch Submission Step]] ===&lt;br /&gt;
&lt;br /&gt;
The [[Microsoft Batch Submission Step]] takes advantage of the &amp;lt;code&amp;gt;AddTranslationArray&amp;lt;/code&amp;gt; method of the API and allows you to submit human or post-edited translations to Microsoft Translator's repository.&lt;br /&gt;
&lt;br /&gt;
For example, to submit the segments of a TMX file for which Okapi has a filter, you can use the following pipeline:&lt;br /&gt;
&lt;br /&gt;
: = [[Raw Document to Filter Events Step]]&lt;br /&gt;
: + [[Microsoft Batch Submission Step]]&lt;br /&gt;
&lt;br /&gt;
See the article &amp;quot;[[How to Create a Pipeline in Rainbow]]&amp;quot; to learn about pipelines&lt;br /&gt;
&lt;br /&gt;
See the video &amp;quot;[http://youtu.be/mAjwczqfvAA Importing TMX File into Microsoft Translator Engine]&amp;quot; for a short demonstration on how to use such pipeline to feed a TMX file into Microsoft Translator.&lt;br /&gt;
&lt;br /&gt;
[[Category:Connectors]] [[Category:Tikal]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Microsoft_Translator_Connector&amp;diff=783</id>
		<title>Microsoft Translator Connector</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Microsoft_Translator_Connector&amp;diff=783"/>
		<updated>2019-04-25T03:21:33Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Added minimum info about MS API v3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Connectors Header}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Retirement of version 2 API==&lt;br /&gt;
&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;MICROSOFT CONNECTOR of the Okapi stable releases will STOP WORKING&amp;lt;/span&amp;gt; at the end of April, 2019.&lt;br /&gt;
&lt;br /&gt;
Microsoft will retire their version 2 API on 2019-4-30 as described in [https://docs.microsoft.com/en-us/azure/cognitive-services/translator/migrate-to-v3 this page]. &lt;br /&gt;
Because of this, the Microsoft Connector found in the latest stable release, M37, will no longer work on and after 2019-5-01.&lt;br /&gt;
&lt;br /&gt;
The support of the version 3 API has been added to Okapi in mid April after the M37 release. If you need to use Microsoft's machine translation service, please pick up the M38 snapshot version from [http://okapiframework.org/snapshots/ here]. &lt;br /&gt;
Please note this is a minimal implementation and it does not support any new features such as profanity filtering,&lt;br /&gt;
&lt;br /&gt;
Because the version 3 API no longer supports the translation memory, that aspect of function is not available even if you use the latest Okapi M38 snapshot version.&lt;br /&gt;
&lt;br /&gt;
You will need an &amp;quot;azure key&amp;quot; to use the version 3 API. If you already have a key for version 2, the same key should work. &lt;br /&gt;
For information on how to obtain an azure key, please see [https://azure.microsoft.com/en-us/pricing/details/cognitive-services/ this page]. &lt;br /&gt;
&lt;br /&gt;
'''Information below is mostly out of date. It is kept as reference until full update of this page is done.'''&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The Microsoft MT engine is freely available from Microsoft at [http://www.microsofttranslator.com http://www.microsofttranslator.com]. Volume limitations apply. The engine supports a large number of language pairs, both common and less common. The list is available at [http://www.microsofttranslator.com/help http://www.microsofttranslator.com/help].&lt;br /&gt;
&lt;br /&gt;
This connector uses the HTTP v2 API. You can get more information about the API and its terms here: [http://sdk.microsofttranslator.com http://sdk.microsofttranslator.com].&lt;br /&gt;
&lt;br /&gt;
To use this connector you need a &amp;quot;Azure Key&amp;quot; from Microsoft. See [https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-microsoft-translator-on-azure#signup the Microsoft pages] for more information.&lt;br /&gt;
&lt;br /&gt;
You must also respect Microsoft's Terms of Service. If you intend to use the Microsoft Translator API for commercial or high volume purposes, you would need to sign a commercial license agreement and provide your AppID to the Microsoft Translator team. For more details contact [mailto:mtlic@microsoft.com mtlic@microsoft.com].&lt;br /&gt;
&lt;br /&gt;
The engine supports inline codes.&lt;br /&gt;
&lt;br /&gt;
When using the query functions of this connector, you are accessessing a remote server and makes your '''source text''' available to Microsoft, but no corresponding translation is sent to Microsoft when doing queries.&lt;br /&gt;
&lt;br /&gt;
For more examples on how to use this connector see the article &amp;quot;[[Trying out the Microsoft Translator Connector]]&amp;quot; in the [[Knowledge Base]]. See also the [[Microsoft Batch Translation Step]].&lt;br /&gt;
&lt;br /&gt;
==== Calculation of the combined score ====&lt;br /&gt;
&lt;br /&gt;
The original score of the query is preserved in the &amp;lt;code&amp;gt;score&amp;lt;/code&amp;gt; field of the query result.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;combinedScore&amp;lt;/code&amp;gt; of the query result holds a re-calculated value that takes into account both the &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; values returned by the engine.&lt;br /&gt;
&lt;br /&gt;
For the results with a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; or 90 or above, the combined score is computed by adding the &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; value minus 10. For the results with a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; below 90, the combined score is simply the &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
| '''MatchDegree''' || '''Rating''' || '''Combined Score'''&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 5 || 95 (i.e. 100+(5-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 6 || 96 (i.e. 100+(6-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || 0 || 90 (i.e. 100+(0-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 100 || -3 || 87 (i.e. 100+(-3-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 98 || 9 || 97 (i.e. 98+(9-10))&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| 95 || 5 || 90 (i.e. 95+(5-10))&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Such calculation is far from perfect especially between highly rated high fuzzy matches and a low rated exact matches. But such entries are difficult to rank even manually. We will try to improve this scoring and welcome any feedback you may have.&lt;br /&gt;
&lt;br /&gt;
If a result has no &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; the default is set to 5. Unverified MT translation will generally return a &amp;lt;code&amp;gt;MatchDegree&amp;lt;/code&amp;gt; of 100 and a &amp;lt;code&amp;gt;Rating&amp;lt;/code&amp;gt; of 5, which will compute into a combined score of 95 in the Okapi interface.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
===Starting with M32:===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Azure Key&amp;lt;/cite&amp;gt; &amp;amp;mdash; The Microsoft Azure key to connect to the MT server. See See [https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-microsoft-translator-on-azure#signup the Microsoft pages] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt; &amp;amp;mdash; An optional category to use when working with trained engines.&lt;br /&gt;
&lt;br /&gt;
Example of a configuration file:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 azureKey=myAzureKey&lt;br /&gt;
 category=&lt;br /&gt;
&lt;br /&gt;
===Prior M32:===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Client ID&amp;lt;/cite&amp;gt; &amp;amp;mdash; The Client ID to use to connect to the MT server. See See [http://msdn.microsoft.com/en-us/library/hh454950.aspx the MSDN pages] for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Secret&amp;lt;/cite&amp;gt; &amp;amp;mdash; The secret corresponding to the Client ID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cite&amp;gt;Category&amp;lt;/cite&amp;gt; &amp;amp;mdash; An optional category to use when working with trained engines.&lt;br /&gt;
&lt;br /&gt;
Example of a configuration file:&lt;br /&gt;
&lt;br /&gt;
 #v1&lt;br /&gt;
 clientId=myPersonalClientID&lt;br /&gt;
 secret=theSecretForThatClientID&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
&lt;br /&gt;
* The engine may, on occasion, not generate back the proper spaces. This happens especially when there are inline codes present in the source.&lt;br /&gt;
&lt;br /&gt;
[[Category:Connectors]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Rainbow_-_Command_Line&amp;diff=754</id>
		<title>Rainbow - Command Line</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Rainbow_-_Command_Line&amp;diff=754"/>
		<updated>2018-10-01T07:17:46Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Adding explanation about how to define a pipeline&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Rainbow Common Menu}}&lt;br /&gt;
&lt;br /&gt;
When starting Rainbow has different behaviors depending on the arguments it has when starting:&lt;br /&gt;
&lt;br /&gt;
* If Rainbow is started with just one argument: it starts in normal mode and takes the argument as a project file to be loaded.&lt;br /&gt;
&lt;br /&gt;
* If Rainbow is started with more than one argument: it starts in command-line mode and interprets the arguments as described in the table below.&lt;br /&gt;
&lt;br /&gt;
When running in batch mode, the log is saved into a file named &amp;lt;code&amp;gt;rainbowBatchLog.txt&amp;lt;/code&amp;gt; in the home directory of the user.&lt;br /&gt;
&lt;br /&gt;
Note that you can also use [[Tikal]] to execute various function from a command line.&lt;br /&gt;
&lt;br /&gt;
The arguments of the command-line can be the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;amp;lt;inputFile&amp;gt;[ -fc &amp;amp;lt;filterConfiguration&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the input file, and optionally sets the filter configuration to assign to it. You can specify an absolute or a local filename. The input file root is reset to the folder of the given input file. If a project was loaded, all input files in that projects are removed and the input file root reset.&lt;br /&gt;
&lt;br /&gt;
If you specify several input files (and their filter configurations) the first one will be assigned to the &amp;lt;cite&amp;gt;Input List 1&amp;lt;/cite&amp;gt;, the second to the &amp;lt;cite&amp;gt;Input List 2&amp;lt;/cite&amp;gt;, etc.&lt;br /&gt;
&lt;br /&gt;
If the filter configuration is not specified in the command line, the default filter (if one can be found) is used.&lt;br /&gt;
Input files must be specified prior to an output location being specified (via &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;), and the &amp;lt;code&amp;gt;-fc&amp;lt;/code&amp;gt; option must always follow an input file.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-p &amp;amp;lt;projectFilename&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Loads an existing project file &amp;lt;code&amp;gt;&amp;amp;lt;projectFilename&amp;gt;.&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-x &amp;amp;lt;Id&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes the [[Rainbow - Utilities|utility or the predefined pipeline]] with the ID &amp;lt;code&amp;gt;&amp;amp;lt;Id&amp;gt;&amp;lt;/code&amp;gt;. This is done after all arguments of the command line have been processed.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-pln &amp;amp;lt;pipelineFilename&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Loads and execute the specified pipeline stored in &amp;lt;code&amp;gt;&amp;amp;lt;pipelineFilename&amp;gt;&amp;lt;/code&amp;gt;. A pipeline file can be created by selecting Utilities -&amp;gt; Edit / Execute Pipeline from the menu bar, adding steps by clicking Add Step... button, and clicking the Save button.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-se &amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the default source encoding to &amp;lt;code&amp;gt;&amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-te &amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the default target encoding to &amp;lt;code&amp;gt;&amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl &amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the source language using &amp;lt;code&amp;gt;&amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl &amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the target language using &amp;lt;code&amp;gt;&amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-opt &amp;amp;lt;optionFilename&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the options file to use for the utility to execute. Use the &amp;lt;code&amp;gt;-np&amp;lt;/code&amp;gt; flag to be prompted or not to modify the options when the command line is executed. The options file must be for the utility defined with &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. Note that option file are only for utilities, not predefined pipelines. If a non-default behavior of a predefined configuration is desired, define your own pipeline and then use &amp;lt;code&amp;gt;-pln &amp;amp;lt;pipelineFilename&amp;gt;&amp;lt;code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-log &amp;amp;lt;logFile&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the path to the log file. If not specified &amp;lt;code&amp;gt;{user.home}/rainbowBatchLog.txt&amp;lt;/code&amp;gt; is used.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-np&amp;lt;/code&amp;gt;&lt;br /&gt;
| No prompt for utility's options.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-o &amp;amp;lt;outputFile&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the output file. If this option is not used and an input file is specified, the output file path and name is build based on the output options of the project (loaded or default).  If this option is specified before an input file is provided, an error will be reported in the log.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-pd &amp;amp;lt;directory&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the parameters directory (the location where the filter parameters files are stored). You can use &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (dot) to specify the current directory. By default, if not project is loaded, the default parameters directory is the user home directory.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ir &amp;amp;lt;directory&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the input root directory for the first input list. You can use &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (dot) to specify the current directory. This value is also used to set the &amp;lt;code&amp;gt;${inputRootDir}&amp;lt;/code&amp;gt; variable that can be used in some path parameters.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-rd &amp;amp;lt;directory&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the root directory. You can use &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (dot) to specify the current directory. This value is also used to set the &amp;lt;code&amp;gt;${rootDir}&amp;lt;/code&amp;gt; variable that can be used in some path parameters.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-? or -h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opens this help page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are some example of command lines in '''Windows'''. They assume Rainbow is installed in &amp;lt;code&amp;gt;C:\rnb&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt;java -jar \rnb\lib\rainbow.jar -x TextRewriting -sl EN -tl FR myInput.xlf -o myOutput.xlf&lt;br /&gt;
&lt;br /&gt;
The command-line above executes the Text Rewriting predefined pipeline with the source language set to EN and the target language set to FR. The input document is the XLIFF file &amp;lt;code&amp;gt;myInput.xlf&amp;lt;/code&amp;gt;, and the modified file is saved as &amp;lt;code&amp;gt;myOutput.xlf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt;java -jar \rnb\lib\rainbow.jar -x TranslationComparison -sl EN -tl FR -pd . myHumanTrans.xlf myMachineTrans.txt -fc okf_regex@myText&lt;br /&gt;
&lt;br /&gt;
The command-line above executes the Translation Comparison predefined pipeline with the source language set to EN and the target language set to FR. The current folder (&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;) is specified as the parameters directory. The input file &amp;lt;code&amp;gt;myHumanTrans.xlf&amp;lt;/code&amp;gt; is the input document for the &amp;lt;cite&amp;gt;Input List 1&amp;lt;/cite&amp;gt;, and the default XLIFF filter configuration assigned to it. The input file &amp;lt;code&amp;gt;myMachineTrans.txt&amp;lt;/code&amp;gt; is the input document for the &amp;lt;cite&amp;gt;Input List 2&amp;lt;/cite&amp;gt;, and the custom filter parameters &amp;lt;code&amp;gt;okf_regex@myText.fprm&amp;lt;/code&amp;gt; is associated with it. No utility options are specified, so the use will be prompted to set the options.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt;java -jar \rnb\lib\rainbow.jar -h&lt;br /&gt;
&lt;br /&gt;
The command-line above opens this help page.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On '''macOS''', go to /Applications, ~/Applications, or wherever you installed Okapi, and replace the &amp;quot;java -jar \rnb\lib\rainbow.jar&amp;quot; part above with &amp;quot;Rainbow.app/Contents/MacOS/rainbow.sh&amp;quot;. For example:&lt;br /&gt;
&lt;br /&gt;
 Applications $ Rainbow.app/Contents/MacOS/rainbow.sh -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rainbow]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Rainbow_-_Command_Line&amp;diff=753</id>
		<title>Rainbow - Command Line</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Rainbow_-_Command_Line&amp;diff=753"/>
		<updated>2018-09-29T17:23:00Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Rainbow Common Menu}}&lt;br /&gt;
&lt;br /&gt;
When starting Rainbow has different behaviors depending on the arguments it has when starting:&lt;br /&gt;
&lt;br /&gt;
* If Rainbow is started with just one argument: it starts in normal mode and takes the argument as a project file to be loaded.&lt;br /&gt;
&lt;br /&gt;
* If Rainbow is started with more than one argument: it starts in command-line mode and interprets the arguments as described in the table below.&lt;br /&gt;
&lt;br /&gt;
When running in batch mode, the log is saved into a file named &amp;lt;code&amp;gt;rainbowBatchLog.txt&amp;lt;/code&amp;gt; in the home directory of the user.&lt;br /&gt;
&lt;br /&gt;
Note that you can also use [[Tikal]] to execute various function from a command line.&lt;br /&gt;
&lt;br /&gt;
The arguments of the command-line can be the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;amp;lt;inputFile&amp;gt;[ -fc &amp;amp;lt;filterConfiguration&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the input file, and optionally sets the filter configuration to assign to it. You can specify an absolute or a local filename. The input file root is reset to the folder of the given input file. If a project was loaded, all input files in that projects are removed and the input file root reset.&lt;br /&gt;
&lt;br /&gt;
If you specify several input files (and their filter configurations) the first one will be assigned to the &amp;lt;cite&amp;gt;Input List 1&amp;lt;/cite&amp;gt;, the second to the &amp;lt;cite&amp;gt;Input List 2&amp;lt;/cite&amp;gt;, etc.&lt;br /&gt;
&lt;br /&gt;
If the filter configuration is not specified in the command line, the default filter (if one can be found) is used.&lt;br /&gt;
Input files must be specified prior to an output location being specified (via &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;), and the &amp;lt;code&amp;gt;-fc&amp;lt;/code&amp;gt; option must always follow an input file.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-p &amp;amp;lt;projectFilename&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Loads an existing project file &amp;lt;code&amp;gt;&amp;amp;lt;projectFilename&amp;gt;.&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-x &amp;amp;lt;Id&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes the [[Rainbow - Utilities|utility or the predefined pipeline]] with the ID &amp;lt;code&amp;gt;&amp;amp;lt;Id&amp;gt;&amp;lt;/code&amp;gt;. This is done after all arguments of the command line have been processed.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-pln &amp;amp;lt;pipelineFilename&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Loads and execute the specified pipeline stored in &amp;lt;code&amp;gt;&amp;amp;lt;pipelineFilename&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-se &amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the default source encoding to &amp;lt;code&amp;gt;&amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-te &amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the default target encoding to &amp;lt;code&amp;gt;&amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl &amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the source language using &amp;lt;code&amp;gt;&amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl &amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the target language using &amp;lt;code&amp;gt;&amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-opt &amp;amp;lt;optionFilename&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the options file to use for the utility to execute. Use the &amp;lt;code&amp;gt;-np&amp;lt;/code&amp;gt; flag to be prompted or not to modify the options when the command line is executed. The options file must be for the utility defined with &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. Note that option file are only for utilities, not predefined pipelines.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-log &amp;amp;lt;logFile&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the path to the log file. If not specified &amp;lt;code&amp;gt;{user.home}/rainbowBatchLog.txt&amp;lt;/code&amp;gt; is used.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-np&amp;lt;/code&amp;gt;&lt;br /&gt;
| No prompt for utility's options.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-o &amp;amp;lt;outputFile&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the output file. If this option is not used and an input file is specified, the output file path and name is build based on the output options of the project (loaded or default).  If this option is specified before an input file is provided, an error will be reported in the log.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-pd &amp;amp;lt;directory&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the parameters directory (the location where the filter parameters files are stored). You can use &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (dot) to specify the current directory. By default, if not project is loaded, the default parameters directory is the user home directory.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ir &amp;amp;lt;directory&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the input root directory for the first input list. You can use &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (dot) to specify the current directory. This value is also used to set the &amp;lt;code&amp;gt;${inputRootDir}&amp;lt;/code&amp;gt; variable that can be used in some path parameters.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-rd &amp;amp;lt;directory&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the root directory. You can use &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (dot) to specify the current directory. This value is also used to set the &amp;lt;code&amp;gt;${rootDir}&amp;lt;/code&amp;gt; variable that can be used in some path parameters.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-? or -h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opens this help page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are some example of command lines in '''Windows'''. They assume Rainbow is installed in &amp;lt;code&amp;gt;C:\rnb&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt;java -jar \rnb\lib\rainbow.jar -x TextRewriting -sl EN -tl FR myInput.xlf -o myOutput.xlf&lt;br /&gt;
&lt;br /&gt;
The command-line above executes the Text Rewriting predefined pipeline with the source language set to EN and the target language set to FR. The input document is the XLIFF file &amp;lt;code&amp;gt;myInput.xlf&amp;lt;/code&amp;gt;, and the modified file is saved as &amp;lt;code&amp;gt;myOutput.xlf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt;java -jar \rnb\lib\rainbow.jar -x TranslationComparison -sl EN -tl FR -pd . myHumanTrans.xlf myMachineTrans.txt -fc okf_regex@myText&lt;br /&gt;
&lt;br /&gt;
The command-line above executes the Translation Comparison predefined pipeline with the source language set to EN and the target language set to FR. The current folder (&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;) is specified as the parameters directory. The input file &amp;lt;code&amp;gt;myHumanTrans.xlf&amp;lt;/code&amp;gt; is the input document for the &amp;lt;cite&amp;gt;Input List 1&amp;lt;/cite&amp;gt;, and the default XLIFF filter configuration assigned to it. The input file &amp;lt;code&amp;gt;myMachineTrans.txt&amp;lt;/code&amp;gt; is the input document for the &amp;lt;cite&amp;gt;Input List 2&amp;lt;/cite&amp;gt;, and the custom filter parameters &amp;lt;code&amp;gt;okf_regex@myText.fprm&amp;lt;/code&amp;gt; is associated with it. No utility options are specified, so the use will be prompted to set the options.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt;java -jar \rnb\lib\rainbow.jar -h&lt;br /&gt;
&lt;br /&gt;
The command-line above opens this help page.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On '''macOS''', go to /Applications, ~/Applications, or wherever you installed Okapi, and replace the &amp;quot;java -jar \rnb\lib\rainbow.jar&amp;quot; part above with &amp;quot;Rainbow.app/Contents/MacOS/rainbow.sh&amp;quot;. For example:&lt;br /&gt;
&lt;br /&gt;
 /Applications $ Rainbow.app/Contents/MacOS/rainbow.sh -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rainbow]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Rainbow_-_Command_Line&amp;diff=752</id>
		<title>Rainbow - Command Line</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Rainbow_-_Command_Line&amp;diff=752"/>
		<updated>2018-09-29T17:21:06Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: macOS note added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Rainbow Common Menu}}&lt;br /&gt;
&lt;br /&gt;
When starting Rainbow has different behaviors depending on the arguments it has when starting:&lt;br /&gt;
&lt;br /&gt;
* If Rainbow is started with just one argument: it starts in normal mode and takes the argument as a project file to be loaded.&lt;br /&gt;
&lt;br /&gt;
* If Rainbow is started with more than one argument: it starts in command-line mode and interprets the arguments as described in the table below.&lt;br /&gt;
&lt;br /&gt;
When running in batch mode, the log is saved into a file named &amp;lt;code&amp;gt;rainbowBatchLog.txt&amp;lt;/code&amp;gt; in the home directory of the user.&lt;br /&gt;
&lt;br /&gt;
Note that you can also use [[Tikal]] to execute various function from a command line.&lt;br /&gt;
&lt;br /&gt;
The arguments of the command-line can be the following:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;amp;lt;inputFile&amp;gt;[ -fc &amp;amp;lt;filterConfiguration&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the input file, and optionally sets the filter configuration to assign to it. You can specify an absolute or a local filename. The input file root is reset to the folder of the given input file. If a project was loaded, all input files in that projects are removed and the input file root reset.&lt;br /&gt;
&lt;br /&gt;
If you specify several input files (and their filter configurations) the first one will be assigned to the &amp;lt;cite&amp;gt;Input List 1&amp;lt;/cite&amp;gt;, the second to the &amp;lt;cite&amp;gt;Input List 2&amp;lt;/cite&amp;gt;, etc.&lt;br /&gt;
&lt;br /&gt;
If the filter configuration is not specified in the command line, the default filter (if one can be found) is used.&lt;br /&gt;
Input files must be specified prior to an output location being specified (via &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;), and the &amp;lt;code&amp;gt;-fc&amp;lt;/code&amp;gt; option must always follow an input file.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-p &amp;amp;lt;projectFilename&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Loads an existing project file &amp;lt;code&amp;gt;&amp;amp;lt;projectFilename&amp;gt;.&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-x &amp;amp;lt;Id&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes the [[Rainbow - Utilities|utility or the predefined pipeline]] with the ID &amp;lt;code&amp;gt;&amp;amp;lt;Id&amp;gt;&amp;lt;/code&amp;gt;. This is done after all arguments of the command line have been processed.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-pln &amp;amp;lt;pipelineFilename&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Loads and execute the specified pipeline stored in &amp;lt;code&amp;gt;&amp;amp;lt;pipelineFilename&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-se &amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the default source encoding to &amp;lt;code&amp;gt;&amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-te &amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the default target encoding to &amp;lt;code&amp;gt;&amp;amp;lt;encoding&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-sl &amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the source language using &amp;lt;code&amp;gt;&amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-tl &amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the target language using &amp;lt;code&amp;gt;&amp;amp;lt;langCode&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-opt &amp;amp;lt;optionFilename&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the options file to use for the utility to execute. Use the &amp;lt;code&amp;gt;-np&amp;lt;/code&amp;gt; flag to be prompted or not to modify the options when the command line is executed. The options file must be for the utility defined with &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. Note that option file are only for utilities, not predefined pipelines.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-log &amp;amp;lt;logFile&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the path to the log file. If not specified &amp;lt;code&amp;gt;{user.home}/rainbowBatchLog.txt&amp;lt;/code&amp;gt; is used.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-np&amp;lt;/code&amp;gt;&lt;br /&gt;
| No prompt for utility's options.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-o &amp;amp;lt;outputFile&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the output file. If this option is not used and an input file is specified, the output file path and name is build based on the output options of the project (loaded or default).  If this option is specified before an input file is provided, an error will be reported in the log.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-pd &amp;amp;lt;directory&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the parameters directory (the location where the filter parameters files are stored). You can use &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (dot) to specify the current directory. By default, if not project is loaded, the default parameters directory is the user home directory.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-ir &amp;amp;lt;directory&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the input root directory for the first input list. You can use &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (dot) to specify the current directory. This value is also used to set the &amp;lt;code&amp;gt;${inputRootDir}&amp;lt;/code&amp;gt; variable that can be used in some path parameters.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-rd &amp;amp;lt;directory&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets the root directory. You can use &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; (dot) to specify the current directory. This value is also used to set the &amp;lt;code&amp;gt;${rootDir}&amp;lt;/code&amp;gt; variable that can be used in some path parameters.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;-? or -h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Opens this help page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are some example of command lines in Windows. They assume Rainbow is installed in &amp;lt;code&amp;gt;C:\rnb&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt;java -jar \rnb\lib\rainbow.jar -x TextRewriting -sl EN -tl FR myInput.xlf -o myOutput.xlf&lt;br /&gt;
&lt;br /&gt;
The command-line above executes the Text Rewriting predefined pipeline with the source language set to EN and the target language set to FR. The input document is the XLIFF file &amp;lt;code&amp;gt;myInput.xlf&amp;lt;/code&amp;gt;, and the modified file is saved as &amp;lt;code&amp;gt;myOutput.xlf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt;java -jar \rnb\lib\rainbow.jar -x TranslationComparison -sl EN -tl FR -pd . myHumanTrans.xlf myMachineTrans.txt -fc okf_regex@myText&lt;br /&gt;
&lt;br /&gt;
The command-line above executes the Translation Comparison predefined pipeline with the source language set to EN and the target language set to FR. The current folder (&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;) is specified as the parameters directory. The input file &amp;lt;code&amp;gt;myHumanTrans.xlf&amp;lt;/code&amp;gt; is the input document for the &amp;lt;cite&amp;gt;Input List 1&amp;lt;/cite&amp;gt;, and the default XLIFF filter configuration assigned to it. The input file &amp;lt;code&amp;gt;myMachineTrans.txt&amp;lt;/code&amp;gt; is the input document for the &amp;lt;cite&amp;gt;Input List 2&amp;lt;/cite&amp;gt;, and the custom filter parameters &amp;lt;code&amp;gt;okf_regex@myText.fprm&amp;lt;/code&amp;gt; is associated with it. No utility options are specified, so the use will be prompted to set the options.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt;java -jar \rnb\lib\rainbow.jar -h&lt;br /&gt;
&lt;br /&gt;
The command-line above opens this help page.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
On '''macOS''', go to /Applications, ~/Applications, or wherever you installed Okapi and replace the &amp;quot;java -jar \rnb\lib\rainbow.jar&amp;quot; part above with &amp;quot;Rainbow.app/Contents/MacOS/rainbow.sh&amp;quot;. For example:&lt;br /&gt;
&lt;br /&gt;
/Applications $ Rainbow.app/Contents/MacOS/rainbow.sh -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Rainbow]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Markdown_Filter&amp;diff=751</id>
		<title>Markdown Filter</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Markdown_Filter&amp;diff=751"/>
		<updated>2018-09-06T18:55:34Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Filters Header}}&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
The Markdown Filter is an Okapi component for extracting translatable text from Markdown files. See https://en.wikipedia.org/wiki/Markdown for more information about the format.&lt;br /&gt;
Markdown is a family of formats, not all of them mutually compatible.  This filter is designed to work with markdown based on the [http://commonmark.org CommonMark] specification, with additional features to support [https://guides.github.com/features/mastering-markdown/ GitHub-flavored Markdown].&lt;br /&gt;
&lt;br /&gt;
==Processing Details==&lt;br /&gt;
&lt;br /&gt;
===Input Encoding===&lt;br /&gt;
&lt;br /&gt;
The filter decides which encoding to use for the input file using the following logic:&lt;br /&gt;
&lt;br /&gt;
If the file has a Unicode Byte-Order-Mark:&lt;br /&gt;
Then, the corresponding encoding (e.g. UTF-8, UTF-16, etc.) is used.&lt;br /&gt;
Otherwise, the input encoding used is the default encoding that was specified when setting the filter options.&lt;br /&gt;
&lt;br /&gt;
===HTML Elements===&lt;br /&gt;
The HTML Inline Elements, i.e. the tags, and the HTML Block, a chunk of text sandwiched between a block-forming start tag and its corresponding end tag, are processed by the HTML filter. The HTML filter to use can be customized separately.&lt;br /&gt;
&lt;br /&gt;
===Inline Codes===&lt;br /&gt;
The [[HTML_Filter#Inline_Code_Finder|Inline Code Finder]] is supported by this filter. &lt;br /&gt;
&lt;br /&gt;
The subfilter applies to the translatable text within the proper part of Markdown document. It does not apply to the HTML inline tags or HTML blocks. For that, you would need to enable and specify the inline code pattern for the HTML filter separately, name the configuration as okf_html@''arbitary-name''.fprm, and specify that name for the htmlSubfilter parameter.&lt;br /&gt;
&lt;br /&gt;
Note, the support of the Inline Code Finder was temporarily unavailable in some snapshot builds of version 0.36, but it has been restored.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
; Translate Hyperlink URLs (translateUrls)&lt;br /&gt;
: By default, URLs in link and image statements are not exposed for translation.  If this option is enabled, they will be extracted.  &amp;lt;i&amp;gt;Note&amp;lt;/i&amp;gt;: URLs are currently extracted inline in their containing segment, rather than as a subflow. Default: false&lt;br /&gt;
&lt;br /&gt;
; REGEX Pattern for Translatable URLs (urlToTranslatePattern)&lt;br /&gt;
: When translateUrls=true, only the URLs that match this REGEX will be extracted. Default: .+ (all URLs)&lt;br /&gt;
&lt;br /&gt;
; Translate Code Blocks (translateCodeBlocks)&lt;br /&gt;
: This option controls whether the contents of fenced code blocks are exposed for translation. Default: true&lt;br /&gt;
&lt;br /&gt;
; Translate YAML Metadata Header (translateImageAltText)&lt;br /&gt;
: Some markdown formats support a [http://pandoc.org/MANUAL.html#extension-yaml_metadata_block YAML Metadata Header] that contains key/value data. By default, this header is not exposed for translation. When the &amp;quot;Translate YAML Metadata Header&amp;quot; option is enabled, the header will be parsed and the metadata values will be exposed for translation. Default: false&lt;br /&gt;
&lt;br /&gt;
; Translate Image Alt Text (translateImageAltText)&lt;br /&gt;
: The alt text for a graphic image in the form of &amp;lt;nowiki&amp;gt;![alt text](https://foo.com/images/bar.jpg)&amp;lt;/nowiki&amp;gt; or as the alt attribute of an img tag &amp;lt;nowiki&amp;gt;&amp;lt;img src=&amp;quot;https://foo.com/images/bar.jpg&amp;quot; alt=&amp;quot;alt text&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt; will be extracted if this parameter is true. Default: true.&lt;br /&gt;
&lt;br /&gt;
; HTML Subfilter Configuration ID (htmlSubfilter)&lt;br /&gt;
: The custom configuration ID of the HTML filter that will be called to process HTML contents within Markdown documents. The configuration file must be saved in a known location with ''.fprm'' suffix. Specify nothing to use the default HTML filter configuration tailored for the Markdown filter. Default: (empty)&lt;br /&gt;
&lt;br /&gt;
; Enter non translatable block quotes (nonTranslateBlocks)&lt;br /&gt;
: This option prevents some block quotes from translation. Block quotes that start with one of comma separated strings will not be extracted. Default: (empty - contents in all block quotes will be extracted) &lt;br /&gt;
&lt;br /&gt;
; Use Code Finder (useCodeFinder)&lt;br /&gt;
: Determines whether to use the Inline Code Finder or not. Default: false&lt;br /&gt;
&lt;br /&gt;
; Number of Code Finder Rules (codeFinderRules.count)&lt;br /&gt;
: The number of rules, i.e. regular expression patterns. Default: 1&lt;br /&gt;
&lt;br /&gt;
; Code Finder Rule ''N'' (codeFinderRules.rule''N'') &lt;br /&gt;
: ''N''th matching pattern for codes where ''N''=0,1,2...&lt;br /&gt;
&lt;br /&gt;
; Sample Text (codeFinderRules.sample)&lt;br /&gt;
: Sample text to test the rules on UI. &lt;br /&gt;
&lt;br /&gt;
; Use All Rules (codeFinderRules.useAllRulesWhenTesting)&lt;br /&gt;
: Determines whether to apply all rules when testing on UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
&lt;br /&gt;
=== Subflows are Not Supported ===&lt;br /&gt;
&lt;br /&gt;
When there is a subflow of text in the middle of the main text, the subflow will be inter-mixed with the main flow of text.  For example, for this run of Markdown text:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please click ![The Information desk logo](images/circled-i.jpg) for help.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The extracted text in the XLIFF file will look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please click &amp;lt;x id=&amp;quot;1&amp;quot;/&amp;gt;The Information desk logo&amp;lt;x id=&amp;quot;2/&amp;gt; for help.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Filters]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
	<entry>
		<id>http://okapiframework.org/wiki/index.php?title=Markdown_Filter&amp;diff=750</id>
		<title>Markdown Filter</title>
		<link rel="alternate" type="text/html" href="http://okapiframework.org/wiki/index.php?title=Markdown_Filter&amp;diff=750"/>
		<updated>2018-09-06T18:52:19Z</updated>

		<summary type="html">&lt;p&gt;Kuro2: Updating to match with M36 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Filters Header}}&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
The Markdown Filter is an Okapi component for extracting translatable text from Markdown files. See https://en.wikipedia.org/wiki/Markdown for more information about the format.&lt;br /&gt;
Markdown is a family of formats, not all of them mutually compatible.  This filter is designed to work with markdown based on the [http://commonmark.org CommonMark] specification, with additional features to support [https://guides.github.com/features/mastering-markdown/ GitHub-flavored Markdown].&lt;br /&gt;
&lt;br /&gt;
==Processing Details==&lt;br /&gt;
&lt;br /&gt;
===Input Encoding===&lt;br /&gt;
&lt;br /&gt;
The filter decides which encoding to use for the input file using the following logic:&lt;br /&gt;
&lt;br /&gt;
If the file has a Unicode Byte-Order-Mark:&lt;br /&gt;
Then, the corresponding encoding (e.g. UTF-8, UTF-16, etc.) is used.&lt;br /&gt;
Otherwise, the input encoding used is the default encoding that was specified when setting the filter options.&lt;br /&gt;
&lt;br /&gt;
===HTML Elements===&lt;br /&gt;
The HTML Inline Elements, i.e. the tags, and the HTML Block, a chunk of text sandwiched between a block-forming start tag and its corresponding end tag, are processed by the HTML filter. The HTML filter to use can be customized separately.&lt;br /&gt;
&lt;br /&gt;
===Inline Codes===&lt;br /&gt;
The [[HTML_Filter#Inline_Code_Finder|Inline Code Finder]] is supported by this filter. &lt;br /&gt;
&lt;br /&gt;
The subfilter applies to the translatable text within the proper part of Markdown document. It does not apply to the HTML inline tags or HTML blocks. For that, you would need to enable and specify the inline code pattern for the HTML filter separately, name the configuration as okf_html@''arbitary-name''.fprm, and specify that name for the htmlSubfilter parameter.&lt;br /&gt;
&lt;br /&gt;
Note, the support of the Inline Code Finder was temporarily unavailable in some snapshot builds of version 0.36, but it has been restored.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
; Translate Hyperlink URLs (translateUrls)&lt;br /&gt;
: By default, URLs in link and image statements are not exposed for translation.  If this option is enabled, they will be extracted.  &amp;lt;i&amp;gt;Note&amp;lt;/i&amp;gt;: URLs are currently extracted inline in their containing segment, rather than as a subflow. Default: false&lt;br /&gt;
&lt;br /&gt;
; REGEX Pattern for Translatable URLs (urlToTranslatePattern)&lt;br /&gt;
: When translateUrls=true, only the URLs that match this REGEX will be extracted. Default: .+ (all URLs)&lt;br /&gt;
&lt;br /&gt;
; Translate Code Blocks (translateCodeBlocks)&lt;br /&gt;
: This option controls whether the contents of fenced code blocks are exposed for translation. Default: true&lt;br /&gt;
&lt;br /&gt;
; Translate YAML Metadata Header (translateImageAltText)&lt;br /&gt;
: Some markdown formats support a [http://pandoc.org/MANUAL.html#extension-yaml_metadata_block YAML Metadata Header] that contains key/value data. By default, this header is not exposed for translation. When the &amp;quot;Translate YAML Metadata Header&amp;quot; option is enabled, the header will be parsed and the metadata values will be exposed for translation. Default: false&lt;br /&gt;
&lt;br /&gt;
; Translate Image Alt Text (translateImageAltText)&lt;br /&gt;
: The alt text for a graphic image in the form of &amp;lt;nowiki&amp;gt;![alt text](https://foo.com/images/bar.jpg)&amp;lt;/nowiki&amp;gt; or as the alt attribute of an img tag &amp;lt;nowiki&amp;gt;&amp;lt;img src=&amp;quot;https://foo.com/images/bar.jpg&amp;quot; alt=&amp;quot;alt text&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt; will be extracted if this parameter is true. Default: true.&lt;br /&gt;
&lt;br /&gt;
; HTML Subfilter Configuration ID (htmlSubfilter)&lt;br /&gt;
: The custom configuration ID of the HTML filter that will be called to process HTML contents within Markdown documents. The configuration file must be saved in a known location with ''.fprm'' suffix. Specify nothing to use the default HTML filter configuration tailored for the Markdown filter. Default: (empty)&lt;br /&gt;
&lt;br /&gt;
; Enter non translatable block quotes (nonTranslateBlocks)&lt;br /&gt;
: This option prevents some block quotes from translation. Block quotes that start with one of comma separated strings will not be extracted. Default: (empty - contents in all block quotes will be extracted) &lt;br /&gt;
&lt;br /&gt;
; Use Code Finder (useCodeFinder)&lt;br /&gt;
: Determines whether to use the Inline Code Finder or not. Default: false&lt;br /&gt;
&lt;br /&gt;
; Number of Code Finder Rules (codeFinderRules.count)&lt;br /&gt;
: The number of rules, i.e. regular expression patterns. Default: 1&lt;br /&gt;
&lt;br /&gt;
; Code Finder Rule ''N'' (codeFinderRules.rule''N'') &lt;br /&gt;
: ''N''th matching pattern for codes where ''N''=0,1,2...&lt;br /&gt;
&lt;br /&gt;
; Sample Text (codeFinderRules.sample)&lt;br /&gt;
: Sample text to test the rules on UI. &lt;br /&gt;
&lt;br /&gt;
; Use All Rules (codeFinderRules.useAllRulesWhenTesting)&lt;br /&gt;
: Determines whether to apply all rules when testing on UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
&lt;br /&gt;
=== Subflows are Not Supported ===&lt;br /&gt;
&lt;br /&gt;
When there is a subflow of text in the middle of the main text, the subflow will be inter-mixed with the main flow of text.  For example, for this run of Markdown text:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Please click ![The Information desk logo](images/circled-i.jpg) for help.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The extracted text in the XLIFF file will look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
Please click &amp;lt;x id=&amp;quot;1&amp;quot;/&amp;gt;The Information desk logo&amp;lt;x id=&amp;quot;2/&amp;gt; for help.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Filters]]&lt;/div&gt;</summary>
		<author><name>Kuro2</name></author>
	</entry>
</feed>