blob: 1d6ca9380ea61aaed71d9bfa7e4aed5918e90ccd [file] [log] [blame]
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>Translate Task</title>
<link rel="stylesheet" type="text/css" href="../stylesheets/antmanual.css">
</head>
<body>
<h2><a name="translate">Translate</a></h2>
<h3>Description</h3>
<p>Identifies keys in files delimited by special tokens
and translates them with values read from resource bundles.
</p>
<p>
A resource bundle contains locale-specific key-value pairs.
A resource bundle is a hierarchical set of property files.
A bundle name makes up its base family name. Each file that
makes up this bundle has this name plus its locale. For example,
if the resource bundle name is MyResources, the file that contains
German text will take the name MyResources_de. In addition to
language, country and variant are also used to form the files in
the bundle.
</p>
<p>
The resource bundle lookup searches for resource files with various
suffixes on the basis of (1) the desired locale and (2) the default
locale (basebundlename), in the following order from lower-level
(more specific) to parent-level (less specific):
</p>
<pre>
basebundlename + &quot;_&quot; + language1 + &quot;_&quot; + country1 + &quot;_&quot; + variant1
basebundlename + &quot;_&quot; + language1 + &quot;_&quot; + country1
basebundlename + &quot;_&quot; + language1
basebundlename
basebundlename + &quot;_&quot; + language2 + &quot;_&quot; + country2 + &quot;_&quot; + variant2
basebundlename + &quot;_&quot; + language2 + &quot;_&quot; + country2
basebundlename + &quot;_&quot; + language2
</pre>
<p>
The file names generated thus are appended with the string &quot;.properties&quot;
to make up the file names that are to be used.
</p>
<p>
File encoding is supported. The encoding scheme of the source files,
destination files and the bundle files can be specified.
Destination files can be explicitly overwritten using the
<var>forceoverwrite</var> attribute. If <var>forceoverwrite</var>
is false, the destination file is overwritten only if either the
source file or any of the files that make up the bundle have been
modified after the destination file was last modified.
</p>
<p>
<em>New in Ant 1.6:</em><br/>
Line endings of source files are preserved in the translated files.
</p>
<p><a href="../CoreTypes/fileset.html">FileSet</a>s are used to select files to
translate.
</p>
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">todir</td>
<td valign="top">Destination directory where destination files are
to be created.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">starttoken</td>
<td valign="top">The starting token to identify keys.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">endtoken</td>
<td valign="top">The ending token to identify keys.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">bundle</td>
<td valign="top">Family name of resource bundle.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">bundlelanguage</td>
<td valign="top">
Locale specific language of resource bundle. Defaults to
default locale's language.
</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">bundlecountry</td>
<td valign="top">
Locale specific country of resource bundle. Defaults to
default locale's country.
</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">bundlevariant</td>
<td valign="top">
Locale specific variant of resource bundle. Defaults to
the default variant of the country and language being used.
</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">srcencoding</td>
<td valign="top">Source file encoding scheme. Defaults to
system default file encoding.</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">destencoding</td>
<td valign="top">Destination file encoding scheme. Defaults to
source file encoding.</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">bundleencoding</td>
<td valign="top">Resource Bundle file encoding scheme. Defaults to
source file encoding.</td>
<td valign="top" align="center">No</td>
</tr>
<tr>
<td valign="top">forceoverwrite</td>
<td valign="top">Overwrite existing files even if the destination
files are newer. Defaults to &quot;no&quot;.</td>
<td valign="top" align="center">No</td>
</tr>
</table>
<h3>Parameters specified as nested elements</h3>
<h4>fileset</h4>
<p><a href="../CoreTypes/fileset.html">FileSets</a> are used to select files that
contain keys for which value translated files are to be generated.
</p>
<h3>Examples</h3>
<p><b>Translate source file encoded in english into its japanese
equivalent using a resource bundle encoded in japanese.
</b></p>
<pre>
&lt;translate toDir=&quot;$(dest.dir}/ja&quot;
starttoken=&quot;#&quot;
endtoken=&quot;#&quot;
bundle=&quot;resource/BaseResource&quot;
bundlelanguage=&quot;ja&quot;
forceoverwrite=&quot;yes&quot;
srcencoding=&quot;ISO8859_1&quot;
destencoding=&quot;SJIS&quot;
bundleencoding=&quot;SJIS&quot;&gt;
&lt;fileset dir=&quot;${src.dir}&quot;&gt;
&lt;include name=&quot;**/*.jsp&quot;/&gt;
&lt;/fileset&gt;
&lt;/translate&gt;
</pre>
<hr>
<p align="center">Copyright &copy; 2001-2003 Apache Software Foundation. All rights
Reserved.</p>
</body>
</html>