<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2014. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="STYLESHEET" href="../book.css" type="text/css">
<script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"></script>
<title>Globalization Preferences</title>
</head>
<body>

<h1>Globalization Preferences</h1>

<p>On the
<a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.ui.preferencePages.Globalization)")'>
<img src="PLUGINS_ROOT/org.eclipse.help/command_link.svg" alt="command link">
<strong>General &gt; Globalization</strong></a>
preference page, you can set various parameters affecting the rendering of your data.
</p>
<p>Note that for new values to take effect, you must restart Eclipse.</p>

<h2>Unicode locale extensions</h2>

<p>Specifies various regional or cultural preferences (such as calendar type, currency, etc.) as detailed at
<a href="http://userguide.icu-project.org/locale#TOC-Keywords" target="_blank">http://userguide.icu-project.org/locale#TOC-Keywords</a>.<br>
The standard for keywords and values that can be used in this field is detailed in
<a href="http://www.unicode.org/reports/tr35/#Key_And_Type_Definitions_">http://www.unicode.org/reports/tr35/#Key_And_Type_Definitions_</a>.
</p>

<p>Sample value: <code>fr@collation=phonebook;calendar=islamic-civil</code></p>

<h2>Graphical layout direction</h2>

<p>Sets the global layout direction for graphical user interface (GUI) elements.</p>

<ul>
	<li><em>OS Default</em> - default flow of GUI elements as determined by the operating system</li>
	<li><em>Left to right</em> - flow of GUI elements is from left to right. This is a standard appearance for GUIs presented in English or any Latin script based language.</li>
	<li><em>Right to left</em> - flow of GUI elements is from right to left. This is a standard appearance for GUIs presented in Arabic or Hebrew languages.</li>
</ul>

<h2>Enable bidirectional support</h2>

<p>If this option is unchecked (default value), Eclipse doesn't modify the display of bidirectional text and provides the default operating system behavior.
</p>

<p>If bidirectional support is enabled (checked):</p>

<ul>
	<li>Eclipse will assure proper display of structured text such as file paths, URLs, etc.</li>
	<li>In addition, you can choose the preferred text direction for unstructured text:
	<ul>
		<li><em>Contextual</em> - text direction depends on the given text</li>
		<li><em>Left to right</em> - left to right text direction</li>
		<li><em>Right to left</em> - right to left text direction</li>
		<li><em>OS Default</em> - default text direction provided by the operating system</li>
	</ul>
	</li>
</ul>

</body>
</html>