<!--
This file is generated during the build by processing Component class annotations.
Please do not edit it directly.
-->
<html>
    <head>
		<title>i18n</title>
	</head>

	<body>
		<h1>Tag Name: i18n</h1>
		<h2>Description</h2>
		<p>
		<!-- START SNIPPET: tagdescription -->
		Get a resource bundle and place it on the value stack
		<!-- END SNIPPET: tagdescription -->
		</p>

		<h2>Attributes</h2>
		<!-- START SNIPPET: tagattributes -->
		<table width="100%">
			<tr>
				<th align="left" valign="top"><h4>Name</h4></th>
				<th align="left" valign="top"><h4>Required</h4></th>
				<th align="left" valign="top"><h4>Default</h4></th>
				<th align="left" valign="top"><h4>Evaluated</h4></th>
				<th align="left" valign="top"><h4>Type</h4></th>
				<th align="left" valign="top"><h4>Description</h4></th>
			</tr>
				<tr>
					<td align="left" valign="top">id</td>
					<td align="left" valign="top">false</td>
					<td align="left" valign="top"></td>
					<td align="left" valign="top">false</td>
					<td align="left" valign="top">String</td>
					<td align="left" valign="top">id for referencing element. For UI and form tags it will be used as HTML id attribute</td>
				</tr>
				<tr>
					<td align="left" valign="top">name</td>
					<td align="left" valign="top"><strong>true</strong></td>
					<td align="left" valign="top">String</td>
					<td align="left" valign="top">false</td>
					<td align="left" valign="top">String</td>
					<td align="left" valign="top">Name of ressource bundle to use (eg foo/bar/customBundle)</td>
				</tr>
		</table>
		<!-- END SNIPPET: tagattributes -->
	</body>
</html>

