<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tech.churchofjesuschrist.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dspayne</id>
	<title>TechWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://tech.churchofjesuschrist.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dspayne"/>
	<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/Special:Contributions/Dspayne"/>
	<updated>2026-04-23T22:44:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Encoding_(Internationalization_best_practices)&amp;diff=41533</id>
		<title>Encoding (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Encoding_(Internationalization_best_practices)&amp;diff=41533"/>
		<updated>2013-05-15T17:04:09Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Unicode Compliance Checklist (draft) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Managed &#039;&#039;&#039;encoding&#039;&#039;&#039; ensures that text-based information can be given to and received from global users. This page outlines best practices for encoding.&lt;br /&gt;
&lt;br /&gt;
==Unicode ==&lt;br /&gt;
------------------&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use Unicode internally and support the character encodings of external systems as needed.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This practice allows you to pivot between a variety of character sets. Unicode provides the maximum flexibility for managing character encodings. Not doing this can cause data loss because Unicode is a superset of other encoding schemes. If you are interacting with legacy, non-Unicode systems, you may need to do conversions between Unicode and other encodings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA: Identify the need to support international data. Identify the need to support non-Unicode character encodings (like data being transferred to/from other systems).&lt;br /&gt;
* Developer: Use software that uses Unicode. Use methods that support Unicode. Avoid manipulating your data in ways that are specific to a non-Unicode character set. See the [http://site.icu-project.org ICU library].&lt;br /&gt;
* DBA: Configure the data store to use Unicode.&lt;br /&gt;
* Tester: Ensure QA tools are Unicode enabled. Include non-ASCII, Unicode characters in test cases. Test encoding conversions. See the [http://site.icu-project.org/ ICU library].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://unicode.org Unicode Consortium], [http://docs.oracle.com/javase/tutorial/i18n/text/unicode.html Java Tutorials (Unicode)], [http://docs.oracle.com/javase/tutorial/i18n/text/convertintro.html Java Tutorials (conversions)]&lt;br /&gt;
&lt;br /&gt;
==Unicode Compliance Checklist (draft)==&lt;br /&gt;
---------------------&lt;br /&gt;
&#039;&#039;UTF-8 is the international encoding standard when dealing with all languages. The Church targets a worldwide audience and UTF-8 meets the need. UTF-16 and other multibyte encodings have byte-order dependencies. UTF-8 is byte-order independent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Standard: Use UTF-8 as our standard encoding.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;New work&#039;&#039;: Use UTF-8. Convert to/from other encodings only when necessary (i.e. 3rd party or legacy solution requires it). Data sent over the network or written to disk must be in UTF-8 encoding. Document exceptions.&lt;br /&gt;
* &#039;&#039;Legacy work&#039;&#039;: Document exceptions or plans to comply.&lt;br /&gt;
* &#039;&#039;3rd party&#039;&#039;: buy solutions that are Unicode enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Database Layer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Character set: The database character set is Unicode compliant. For example:&lt;br /&gt;
** Oracle: Choose &amp;lt;code&amp;gt;AL32UTF8&amp;lt;/code&amp;gt;&lt;br /&gt;
** SQL Server: Unicode compliance is managed in tables only&lt;br /&gt;
** MySQL: default-character-set should be &amp;lt;code&amp;gt;utf8&amp;lt;/code&amp;gt; and default-collation should be &amp;lt;code&amp;gt;utf8_unicode_ci&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Table configuration: The database tables are Unicode compliant. For example: &lt;br /&gt;
** Oracle&lt;br /&gt;
*** Set the length semantics using the &amp;lt;code&amp;gt;NLS_LENGTH_SEMANTICS&amp;lt;/code&amp;gt; initialization parameter.&lt;br /&gt;
*** Specify &amp;lt;code&amp;gt;CHAR&amp;lt;/code&amp;gt; length semantics (rather than &amp;lt;code&amp;gt;BYTE&amp;lt;/code&amp;gt;) in &amp;lt;code&amp;gt;CREATE TABLE&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ALTER TABLE&amp;lt;/code&amp;gt; statements.&lt;br /&gt;
** SQL Server&lt;br /&gt;
*** Set each table to &amp;lt;code&amp;gt;nvarchar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;nchar&amp;lt;/code&amp;gt;&lt;br /&gt;
** MySQL &lt;br /&gt;
*** All tables should inherit UTF-8 settings from the server settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application Layer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Presentation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Fonts &amp;amp; Rendering: Ability to display all characters from the Unicode spectrum on the same screen at the same time. This must include Asian characters.&lt;br /&gt;
** Note: Ensure selected fonts contain the character glyphs described by the Unicode code points for supported languages.&lt;br /&gt;
** Note: the above section seems like a good high-level objective that belongs in a general Internationalization document, and is not applicable to the decision to specifically use UTF-8.&lt;br /&gt;
* Compliant applications should explicitly declare the character set as UTF-8. Exceptions should be documented.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Processing&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Parsing: Retain Unicode data integrity. More specifically, only use Unicode string manipulation functions.&lt;br /&gt;
**Respect Unicode character boundaries (do not cut in the middle of characters)&lt;br /&gt;
**Don’t assume all characters are on the Basic Multilingual Plane. Recognize that you may need to support surrogate pairs (aka supplementary characters). &lt;br /&gt;
* Conversions: always go to/from UTF-8.&lt;br /&gt;
** Be aware that occasionally double-conversions happen because multiple software layers believe they must perform the conversion.&lt;br /&gt;
* String Handling: Don&#039;t make assumptions about upper/lower. &lt;br /&gt;
** Store original strings; don’t convert to upper/lower case.&lt;br /&gt;
** Note: the above section seems like a good high-level objective that belongs in a general Internationalization document, and is not applicable to the decision to specifically use UTF-8.&lt;br /&gt;
* Only use Unicode string manipulation functions.&lt;br /&gt;
** Don&#039;t try to normalize your data sets at the string level. [clarify this] Note: sometimes normalization can be helpful when searching across Unicode data, to normalize both the criteria and the return data so the system can recognize a match.&lt;br /&gt;
* Input: Allow at least any UTF-8 character to be input. (Verify composite/supplementary characters)&lt;br /&gt;
* Output: Provide output in the encoding needed by the consuming software or hardware.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Development&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Technology (Java, OpenWeb, .NET, PHP, etc.): library calls and methods must support Unicode (UTF-8 support where available).&lt;br /&gt;
* Confirm that UTF-8 is the default editor encoding for the LDS Tech version of Eclipse IDE, and any other development tools provided by the Java Stack, .Net Stack, or Open Web Stack.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;3rd Party&amp;lt;/u&amp;gt; (includes applications, browser, ESB, tools, etc. ) &lt;br /&gt;
&lt;br /&gt;
* Must be Unicode compliant (store, render, process via UTF-8 Unicode)&lt;br /&gt;
* Vendor must supply UTF-8 Unicode compliance settings/configuration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Server Layer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* OS: must be Unicode compliant [Open issue: are there any configuration issues where an installer needs to specify to use the Unicode functionality?]&lt;br /&gt;
** Windows Server&lt;br /&gt;
** Linux&lt;br /&gt;
** Apple&lt;br /&gt;
* Web Server: must be Unicode compliant and configured for UTF-8&lt;br /&gt;
** Tomcat [Is UTF-8 the current default?]&lt;br /&gt;
** Apache [same as above?]&lt;br /&gt;
** IIS [same as above?]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Content Storage&amp;lt;/u&amp;gt; (MarkLogic, SharePoint, Drupal, NAS, etc.)&lt;br /&gt;
&lt;br /&gt;
* Metadata: input, store and read via UTF-8&lt;br /&gt;
* File: retain file integrity whether UTF-8 or not for storage. Any other use, convert to UTF-8. Note that unique file/directory naming conventions per file system create a superset of reserved characters across Windows Linux and MacOS file systems. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Communication&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Hardware&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Load Balancer: Must be Unicode compliant (store, render, process via Unicode)&lt;br /&gt;
** F5 configuration files&lt;br /&gt;
** Any generated pages should be UTF-8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Web Services&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Transport protocol: must be UTF-8&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Devices&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Understand how UTF-8 solutions will work on target devices.&lt;br /&gt;
* Any device that interprets user data and metadata as part of its operation must be Unicode compliant. Management interfaces that do not touch end user data/metadata typically do not need to be Unicode compliant (such as configuring the device operational parameters). This is a decision the Church must make based on the international mix of IT administrators that will be involved in field IT operations.&lt;br /&gt;
* SMS?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Security&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[Get Code Security’s input on this.]&lt;br /&gt;
&lt;br /&gt;
* Prior to validation, normalize to the UTF-8 shortest form.&lt;br /&gt;
* User credential processing for authentication and identification systems must be Unicode compliant. Any identity related information must also be stored and processed in Unicode.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Validation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Use sample Unicode string set in testing. Include Chinese, Japanese, Korean, Russian, Khmer characters at a minimum. Include composite characters. [Insert example strings for testing here.]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Domain Names&#039;&#039;&#039;&lt;br /&gt;
* Non-ASCII domain names are now available. Consider purchasing domain names that represent non-Latin writing system versions of the Church’s name.&lt;br /&gt;
&lt;br /&gt;
==Character support==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that the product can display or receive as input any non-control character in the active coded character set.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To display text, technology products must provide support for at least one coded character set (preferably Unicode). One would assume that whenever a coded character set is active, the user can enter -- and the application can display -- all of the characters of that character set. However, if the developers were not thinking about international users, their product may not offer the user a way to access the characters he or she needs or would like to use.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* BA/IxD: Ensure that language requirements are understood and documented.&lt;br /&gt;
&lt;br /&gt;
* Developer: Support the input, output, and processing of all characters in the set even if your product only uses a subset of those characters. The ISO/IEC 8859-1 international standard (8-Bit Single-Byte) can address the dominant languages of users in Western Europe, Canada, and the USA. The English version of your product may use only a subset of the total characters in the set, but you must ensure users have a way to enter characters not readily accessible from an English keyboard, like the letter &amp;quot;ï&amp;quot; as in the name &amp;quot;Loïc.&amp;quot; In Windows, holding down the left &amp;quot;Alt&amp;quot; key while typing decimal digits using the numeric keypad on the keyboard can be used as an alternative method of entering characters. So, for example, to enter the letter &amp;quot;ï&amp;quot;, you would press the left Alt key, type &amp;quot;139&amp;quot; and then release Alt.&lt;br /&gt;
&lt;br /&gt;
* Tester: Test applications and sites to ensure that non-English characters available in the active character set can be input (where appropriate) and will properly display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/f4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Character validation ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t assume an English character set when validating characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To validate user input to ensure that only acceptable characters are entered, we check to see if the input character is numeric, alphabetic, alphanumeric, or some other type. Because different scripts have their own ways of defining character types, this character validation must be based on that script&#039;s definitions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* BA/IxD: Ensure that internationalization/Unicode is called out in requirements.&lt;br /&gt;
* Developer: Developers with less experience writing global software might want to validate a character by comparing it with character constants. Here are some Java examples:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=java&amp;gt;&lt;br /&gt;
char ch;&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
// This code is WRONG!&lt;br /&gt;
&lt;br /&gt;
// check if ch is a letter&lt;br /&gt;
if ((ch &amp;gt;= &#039;a&#039; &amp;amp;&amp;amp; ch &amp;lt;= &#039;z&#039;) || (ch &amp;gt;= &#039;A&#039; &amp;amp;&amp;amp; ch &amp;lt;= &#039;Z&#039;))&lt;br /&gt;
    // ...&lt;br /&gt;
&lt;br /&gt;
// check if ch is a digit&lt;br /&gt;
if (ch &amp;gt;= &#039;0&#039; &amp;amp;&amp;amp; ch &amp;lt;= &#039;9&#039;)&lt;br /&gt;
    // ...&lt;br /&gt;
&lt;br /&gt;
// check if ch is a whitespace&lt;br /&gt;
if ((ch == &#039; &#039;) || (ch ==&#039;\n&#039;) || (ch == &#039;\t&#039;))&lt;br /&gt;
    // ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
: This code (preceding) works &#039;&#039;only&#039;&#039; with English and a few other languages. To internationalize this example, replace it with the following statements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=java&amp;gt; &lt;br /&gt;
char ch;&lt;br /&gt;
// ...&lt;br /&gt;
&lt;br /&gt;
// This code is OK!&lt;br /&gt;
&lt;br /&gt;
if (Character.isLetter(ch))&lt;br /&gt;
    // ...&lt;br /&gt;
&lt;br /&gt;
if (Character.isDigit(ch))&lt;br /&gt;
    // ...&lt;br /&gt;
&lt;br /&gt;
if (Character.isSpaceChar(ch))&lt;br /&gt;
    // ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
: The Character methods rely on the Unicode Standard determe character properties. In Java, char values represent Unicode characters. &#039;&#039;If you check char properties with the appropriate Character method, your code will work with all major languages.&#039;&#039; For example, the &amp;lt;code&amp;gt;Character.isLetter&amp;lt;/code&amp;gt; method returns true if the character is a letter in Spanish, German, Chinese, Arabic, or another language.&lt;br /&gt;
 &lt;br /&gt;
: Here are some useful Character comparison methods. The Character API documentation fully specifies the methods.&lt;br /&gt;
&amp;lt;source lang=java&amp;gt;&lt;br /&gt;
 isDigit&lt;br /&gt;
 isLetter&lt;br /&gt;
 isLetterOrDigit&lt;br /&gt;
 isLowerCase&lt;br /&gt;
 isUpperCase&lt;br /&gt;
 isSpaceChar&lt;br /&gt;
 isDefined&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
: The &amp;lt;code&amp;gt;Character.getType&amp;lt;/code&amp;gt; method returns the Unicode category of a character. Each category corresponds to a constant defined in the Character class. For example, for the character A, &amp;lt;code&amp;gt;getType&amp;lt;/code&amp;gt; returns the &amp;lt;code&amp;gt;Character.UPPERCASE_LETTER&amp;lt;/code&amp;gt; constant. For a complete list of the category constants, see the Character API documentation. Here is an example that uses the &amp;lt;code&amp;gt;getType&amp;lt;/code&amp;gt; method and the Character category constants. All of the expressions in these if statements are true:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=java&amp;gt;&lt;br /&gt;
if (Character.getType(&#039;a&#039;) == Character.LOWERCASE_LETTER)&lt;br /&gt;
    // ...&lt;br /&gt;
&lt;br /&gt;
if (Character.getType(&#039;R&#039;) == Character.UPPERCASE_LETTER)&lt;br /&gt;
    // ...&lt;br /&gt;
&lt;br /&gt;
if (Character.getType(&#039;&amp;gt;&#039;) == Character.MATH_SYMBOL)&lt;br /&gt;
    // ...&lt;br /&gt;
&lt;br /&gt;
if (Character.getType(&#039;_&#039;) == Character.CONNECTOR_PUNCTUATION)&lt;br /&gt;
    // ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tester: Ensure that character validation is being done properly.&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/f5.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/charintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Unused code points ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t assign characters to unused code points in a registered coded character set.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using Unicode and are not using its Private Use Area (PUA), this topic will not be an issue. It applies only in cases where a developer is using other coded character sets.&lt;br /&gt;
&lt;br /&gt;
Essentially, if a developer uses an unused code point of a coded characters set for his/her own purpose, an update to the coded character set can overwrite that assignment causing problems for the application.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Developer: The best practice is to use Unicode. If the character you need is not supported by Unicode and you must use the PUA, you&#039;ll need to ensure that both sender and receiver agree with how to use that character. Using an unused code point in a registered coded character set is just problematic. Let&#039;s say you want to distinguish an uppercase letter &amp;quot;O&amp;quot; from the number &amp;quot;0&amp;quot; by using the character &amp;quot;Ø&amp;quot; as zero. You assign that to an unused code point. Later, an update to the coded character set assigns &amp;quot;β&amp;quot; to that code point and now your application is displaying &amp;quot;β&amp;quot; everywhere you used to have &amp;quot;Ø&amp;quot;.&lt;br /&gt;
* Tester: Verify that the developer has not assigned any characters to unused code point in a registered coded character set.&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/f8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Encoding identification ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Identify the character encoding of the data.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written.&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/f9.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Multibyte character interpretation ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t misinterpret a multibyte character as individual bytes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written.&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/g2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Multibyte character handling ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Always treat a multibyte character as a unit.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written.&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/g3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Space for bytes ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Manage space to accommodate the number of bytes that result from coded character set conversions.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written.&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/g5.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Complex scripts ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Handle complex scripts when necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written.&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688137 Microsoft]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41532</id>
		<title>Technology (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41532"/>
		<updated>2013-05-15T16:51:17Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Maintain */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Technology&#039;&#039;&#039; choices impact our ability to provide cultural sensitivity and localizability.&lt;br /&gt;
&lt;br /&gt;
==Create==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to create products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Localize==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to localize products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Store==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to store product data are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Publish==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to publish products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Maintain==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to maintain products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41531</id>
		<title>Technology (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41531"/>
		<updated>2013-05-15T16:51:08Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Publish */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Technology&#039;&#039;&#039; choices impact our ability to provide cultural sensitivity and localizability.&lt;br /&gt;
&lt;br /&gt;
==Create==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to create products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Localize==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to localize products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Store==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to store product data are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Publish==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to publish products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Maintain==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to maintain products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41530</id>
		<title>Technology (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41530"/>
		<updated>2013-05-15T16:50:54Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Store */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Technology&#039;&#039;&#039; choices impact our ability to provide cultural sensitivity and localizability.&lt;br /&gt;
&lt;br /&gt;
==Create==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to create products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Localize==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to localize products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Store==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to store product data are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Publish==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to publish products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maintain==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to maintain products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41529</id>
		<title>Technology (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41529"/>
		<updated>2013-05-15T16:50:46Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Localize */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Technology&#039;&#039;&#039; choices impact our ability to provide cultural sensitivity and localizability.&lt;br /&gt;
&lt;br /&gt;
==Create==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to create products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Localize==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to localize products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Store==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to store product data are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Publish==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to publish products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maintain==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to maintain products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41528</id>
		<title>Technology (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Technology_(Internationalization_best_practices)&amp;diff=41528"/>
		<updated>2013-05-15T16:50:39Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Create */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Technology&#039;&#039;&#039; choices impact our ability to provide cultural sensitivity and localizability.&lt;br /&gt;
&lt;br /&gt;
==Create==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to create products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Localize==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to localize products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Store==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to store product data are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Publish==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to publish products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Maintain==&lt;br /&gt;
&#039;&#039;&#039;Practice:&#039;&#039;&#039; &#039;&#039;Ensure that all technologies used to maintain products are I18N friendly.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41527</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41527"/>
		<updated>2013-05-15T16:50:21Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Writing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41526</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41526"/>
		<updated>2013-05-15T16:50:12Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Resource/UI map */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41525</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41525"/>
		<updated>2013-05-15T16:50:00Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Change management */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41524</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41524"/>
		<updated>2013-05-15T16:49:52Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Presentation controls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41523</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41523"/>
		<updated>2013-05-15T16:49:40Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Sentences and strings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41522</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41522"/>
		<updated>2013-05-15T16:49:33Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Variables and placeholders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41521</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41521"/>
		<updated>2013-05-15T16:49:25Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Concatenation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41520</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41520"/>
		<updated>2013-05-15T16:49:17Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* File formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41519</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41519"/>
		<updated>2013-05-15T16:49:10Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Pseudo localization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41518</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41518"/>
		<updated>2013-05-15T16:48:57Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Translation v. localization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41517</id>
		<title>Resources (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Resources_(Internationalization_best_practices)&amp;diff=41517"/>
		<updated>2013-05-15T16:48:42Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Resource isolation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; Well-managed &#039;&#039;&#039;resources&#039;&#039;&#039; decrease the cost and increase the quality of the localized product.&lt;br /&gt;
&lt;br /&gt;
==Resource isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate all UI information from the executable code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/resbundle/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Distinguish between translate-only and localizable content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Translation&#039;&#039; is rewriting in one language what was originally written in another. &#039;&#039;Localization&#039;&#039; brings additional cultural aspects into the picture. For example, a first step beyond translation into localization might be to convert distances from miles to kilometers or using a picture of the reader&#039;s local temple rather than the author&#039;s local temple. Or, one might substitute a locally appropriate expression instead of just translating the one used by the author -- like &amp;quot;killing two birds with one stone,&amp;quot; or &amp;quot;bib overalls.&amp;quot; Direct translation of these expressions might not mean anything to the reader. An extreme case of localization might completely replace a US-specific story with a Ghana-specific story that makes the same point. &lt;br /&gt;
&lt;br /&gt;
Some of our content should be translated only -- like scriptures and General Conference talks. Some of our content might be more effective when more fully localized. Indicating if something should be translated or localized -- in the resource file -- provides translators with clearer sense of what&#039;s expected or possible. &lt;br /&gt;
&lt;br /&gt;
It is important to recognize that indicating which resources to translate and which to localize is only part of the solution. The tools and products must also be designed to accommodate such a distinction. That topic is covered under the [[Design_(Internationalization_best_practices)#Translation_v._localization|Design section]] of these internationalization best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Author/creator (individual or organization): Identify which content should be translated-only and which could be localized. Indicate that distinction in the resource files. &lt;br /&gt;
* BA/IxD: Understand if this distinction will be made, and if so, which content is to be translated and which is to be localized. Ensure that is accounted for in product requirements and design.&lt;br /&gt;
* Developer: Ensure that the product is able to treat translatable v. localizable content appropriately in all languages (not all languages and locales may want to treat this content in the same way).&lt;br /&gt;
* Tester: Ensure that requirements are met.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pseudo localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Pseudo-localize your product early.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pseudo localization is a great way to test the internationalization of your product long before it is actually localized. It is a process of replacing localizable strings, data and other resources with pseudo-localized -- or international looking/behaving -- strings, data and other resources. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Use pseudo-localized data and expansion metrics when designing the product.&lt;br /&gt;
* Developer: Create a pseudo-locale and pseudo-language. Set up a build for that pseudo-locale/language. Populate that build environment with pseudo-localized versions of your resource files, data, and other resources (like pictures, CSS files, templates, etc.). Build the pseudo-localized product.&lt;br /&gt;
* Tester: Test the functionality and look/feel of the pseudo-localized product per documented best practices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==File formats==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use file formats that TRL can accept.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688116 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Concatenation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid string concatenation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Variables and placeholders==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;When variables or placeholders are necessary, provide context, unique names, and allow flexible ordering.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/messageintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sentences and strings==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t break sentences into multiple strings.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Make style sheets or other presentation controls available to TRL to provide visual context.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Change management==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Clearly identify changes; avoid minor changes that affect translation already done.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/b5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Resource/UI map==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide translators with a mapping between resources and UI entities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a5.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Writing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Write for an international audience and send it to CUR Editing.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Writing for an international audience starts with the basic principles of good writing. If it&#039;s not well written in the first place, all readers (including translators) will be impacted. But the greater the gap between the writer and the reader, the greater the risk of misunderstanding. A person in the office next door, with whom you&#039;ve worked for years, may find your writing perfectly understandable, but someone who works in a different domain, in a different part of the world may not find it as easy to follow.&lt;br /&gt;
&lt;br /&gt;
Most translators at the Church speak English as a second or third language, and it is likely they learned British English rather than American English. Church translators are asked to translate content from many domains, like doctrine, Church policy, medicine, agriculture, fleet management, technology, facilities maintenance, history, legal, and education. Writing without an international audience in mind can result in 1.) delays as translators spend time trying to understand the English text and asking questions across world time zones, 2.) a bad translation, or 3.) both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* Any role that writes: Follow IBM&#039;s guidelines on [http://www-01.ibm.com/software/globalization/guidelines/guideb.html &#039;&#039;&#039;Writing for an international audience&#039;&#039;&#039;]. This is excellent material on writing in general, but especially if your writing will need to be translated into other languages. It covers grammar, terminology, style, punctuation and packaging. Good writing will improve the speed and accuracy of translation. Here are a few examples:&lt;br /&gt;
** &amp;lt;u&amp;gt;Ambiguous pronouns&amp;lt;/u&amp;gt; usually present challenges for translators. &#039;&#039;They&#039;&#039; cause confusion. In the previous sentence, what does the word &#039;&#039;they&#039;&#039; refer to -- &#039;&#039;pronouns&#039;&#039; or &#039;&#039;translators&#039;&#039;? It&#039;s best to ensure pronouns are not ambiguous.&lt;br /&gt;
** &amp;lt;u&amp;gt;Acronyms and abbreviations&amp;lt;/u&amp;gt; can be a problem for translators. The translator may not understand the abbreviation or acronym. These items may not mean anything in the target language. A translation of the abbreviation or acronym may not be possible or make sense. Not all languages allow abbreviations. Arabic is such a language. In addition, if abbreviations or acronyms are used to shorten an English string to make it &amp;quot;fit,&amp;quot; the combination of text expansion and the possibility that the abbreviation or acronym will need to be spelled out (literally) or explained almost guarantees that the translated string will NOT fit.&lt;br /&gt;
** &amp;lt;u&amp;gt;Colloquialisms and jargon&amp;lt;/u&amp;gt; are difficult to translate. Terms like &amp;quot;bib overalls&amp;quot; have no meaning or equivalent in other parts of the world forcing a translator to do some research, come up with some way to express the intent of the author, and hope that diverting the flow of the message with their explanation doesn&#039;t impact the reader&#039;s understanding of the core message. A translator has similar trouble with jargon. For example, if a translator doesn&#039;t recognize &amp;quot;boot sector&amp;quot; as a technical term (which he/she might need to research), the resulting translation might refer to a portion of a car&#039;s trunk.&lt;br /&gt;
** &amp;lt;u&amp;gt;Using &amp;quot;(s)&amp;quot; to make a term be either singular or plural&amp;lt;/u&amp;gt;. This construct just doesn&#039;t work in most languages because changing from singular to plural often involves more than just adding an &amp;quot;s&amp;quot; or &amp;quot;(e)s&amp;quot; to a noun. Articles, adjectives, and verbs may also need to change.&lt;br /&gt;
* Editor/tester: Ensure that the writer followed IBM&#039;s guidelines.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/guideb.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41516</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41516"/>
		<updated>2013-05-15T16:48:29Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Icons and clip art */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41515</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41515"/>
		<updated>2013-05-15T16:48:22Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* UI controls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41514</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41514"/>
		<updated>2013-05-15T16:48:15Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Translation v. localization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41513</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41513"/>
		<updated>2013-05-15T16:48:07Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Mobile/web resizing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41512</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41512"/>
		<updated>2013-05-15T16:47:59Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Colors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41511</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41511"/>
		<updated>2013-05-15T16:47:51Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Position dependency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41510</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41510"/>
		<updated>2013-05-15T16:47:38Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Text expansion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41509</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41509"/>
		<updated>2013-05-15T16:47:32Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* String buffers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41508</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41508"/>
		<updated>2013-05-15T16:47:24Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Text in graphics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41507</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41507"/>
		<updated>2013-05-15T16:47:16Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Presentation controls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41506</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41506"/>
		<updated>2013-05-15T16:47:07Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Code/feature isolation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41505</id>
		<title>Design (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Design_(Internationalization_best_practices)&amp;diff=41505"/>
		<updated>2013-05-15T16:47:00Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Start early */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; World-ready product and UI &#039;&#039;&#039;design&#039;&#039;&#039; ensures that the localized product will look and function as expected by global users and simplifies management of the code base.&lt;br /&gt;
&lt;br /&gt;
==Start early==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Address cultural sensitivity and localizability issues as early as possible.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Internationalization best practices should be implemented intentionally, by design (meaning everybody on the team, not just Designers). Starting early will minimize mistakes and rework. It will minimize the cost of producing a global product. It will improve quality. It will improve the experience of end users. It will improve your translation/localization experience.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Find out if the product will ever use international data or if it will every be localized. If so, the product should be be internationalized -- even if the international data or localization won&#039;t come along until several product versions later. Find out what languages and counries will ever need to be accommodated. Find out what the Translation division will need. Get a design review from the Translation divison.&lt;br /&gt;
* Developer: Ask the Translation division what translatable resource file types they can accept. Send early prototype resource files to the Translation division to validate their ability to accept and process those files. Make sure you know how files will go to Translation and back -- and test it. Understand how you&#039;ll do pseudo-translated builds. Research internationalization practices for the specific programming language you&#039;re using and document them here so your research will benefit others.&lt;br /&gt;
* Tester: Test the product&#039;s ability to manage international data. Set up builds to always language versions of the product -- even before you have translation. Set up and test with pseudo translations that validate character handling and text expansion (horizontal and vertical). Create a repository of international data to use in testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Code/feature isolation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Isolate language/culture-sensitive code or features to make code changes more manageable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Separate the implementation of the language specific functionality and requirements from the main code base by placing them in other modules. By keeping it separate from application logic, it is easier for developers that must maintain the code and add additional languages. &lt;br /&gt;
&lt;br /&gt;
Isolating code intended for multicultural support simplifies design and maintenance. It also aids in ensuring that when work is performed on the multicultural modules that equivalent changes will occur on other related multicultural modules.&lt;br /&gt;
&lt;br /&gt;
Application functionality where this is likely to occur is in searching, sorting, data entry, data storage, and display layout.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that layout logic that is locale specific can be flexible enough to allow for changes due to string content.&lt;br /&gt;
* Developer: Separate out multilanguage support from main application logic. For example a section that may search based on lowercasing contents would need to separate out the logic of lower casing since differing locales  require different techniques. If this logic is intermixed with the search logic it creates unneeded complexity.&lt;br /&gt;
* Tester: Test the multilanguage module separate from the main application to ensure that additions take in account the required supported languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d1.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Presentation controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider style sheets or other presentation controls as part of the UI.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to include: allow swapping the stylesheet by locale, possibly split the stylesheet between colors, font and layout stylesheets&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Text in graphics==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Avoid text in graphics.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The effort required to translate text in a graphic can be significant, not because the act of translation is hard, but replacing the text embedded in a graphic can be difficult and time consuming. Text can be embedded in a graphic in at least two ways: as part of a layer or as part of the image itself. &lt;br /&gt;
&lt;br /&gt;
In the latter case, before a translation can be applied to the graphic, each pixel of the existing text needs to be replaced with a pixel that matches the underlying image before the translated text can be dropped in. In the case of an image where the background is a solid color, this is not a difficult process. But if the underlying image is complex (gradient colors, for example), this can take a great amount of time. When the translated text is applied to the image, re-sizing the graphic may be necessary so it&#039;s large enough to accommodate the translated text. &lt;br /&gt;
&lt;br /&gt;
If the text is on a separate layer, replacing the original text with translated text is not difficult. But the challenge of overall image dimensions must still be considered and perhaps reworked if the translated text doesn&#039;t properly fit on the graphic.&lt;br /&gt;
&lt;br /&gt;
Compounding the difficulty is that many translators do not own or are not accustomed to using graphics-editing applications. So manipulating the graphic will typically require someone else to do the work, and unfortunately that specific task may not fall into anyone&#039;s current job description. Further, the application itself will need to keep track of and use the x number of localized versions of the graphic -- which may require additional coding to ensure the right graphic is used at the right time.&lt;br /&gt;
&lt;br /&gt;
Assume that the average effort to translate embedded text is 15 minutes and that the individuals doing this work are paid $45/hour. Assume there are 50 such images in the application and that the application is being localized into 24 languages. The effort and cost of embedding text in graphics is 300 hours at a cost of $13,500. There&#039;s an additional cost to code and test the functionality to store, retrieve and display the correct graphic from 1,200 potential files.&lt;br /&gt;
&lt;br /&gt;
It is almost always worth spending a little extra time up front to ensure that there is no text embedded in graphics.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: design icons and graphics to not have embedded text.&lt;br /&gt;
* Developer: if text needs to be associated with a graphic, ensure it is handled programmatically rather than as part of the graphic file itself. &lt;br /&gt;
* Tester: check to see whether text on graphics is embedded.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==String buffers==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Watch the size of string buffers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - this refers to code that allocates its own memory for storing strings, for example if a 4 character single-byte string is expected, and the user types in 3 single-byte characters and a double-byte character, the application has to allow for the differences.  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688118 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Text expansion==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the UI to accommodate the text expansion that results from translation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because English is typically more concise than other languages, the result is that translations usually take more space than English. Thus, this concept is usually referred to as &amp;quot;Text Expansion.&amp;quot; But compared with English, other languages may &amp;lt;u&amp;gt;grow or shrink&amp;lt;/u&amp;gt; in &amp;lt;u&amp;gt;length or height&amp;lt;/u&amp;gt; whether &amp;lt;u&amp;gt;text or audio&amp;lt;/u&amp;gt;. For example: &lt;br /&gt;
&lt;br /&gt;
* (Arabic) عائلة&lt;br /&gt;
* семейство (Bulgarian)&lt;br /&gt;
* 家庭 (Chinese)&lt;br /&gt;
* family (English)&lt;br /&gt;
* οικογένεια (Greek)&lt;br /&gt;
* ຄອບຄົວຂອງ (Lao)&lt;br /&gt;
* familia (Spanish)&lt;br /&gt;
&lt;br /&gt;
While translators can sometimes find alternative, shorter ways to translate, often they cannot. The following data from IBM indicates average horizontal text expansion to expect and accommodate in UI design:&lt;br /&gt;
&lt;br /&gt;
* 0-10 characters: 100-200%&lt;br /&gt;
* 11-20 characters: 80-100%&lt;br /&gt;
* 21-30 characters: 60-80%&lt;br /&gt;
* 31-50 characters: 40-60%&lt;br /&gt;
* 51-70 characters: 30-40%&lt;br /&gt;
* 70+ characters: 30%&lt;br /&gt;
&lt;br /&gt;
Ideographic text, like Chinese, Japanese and Korean may require a larger font size in order to be read. Therefore it is important to accommodate this vertical expansion as well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Design applications to accommodate text expansion and contraction in both length and height. This may require a different CSS for some languages. If there is verbal audio component, like a narration, ensure that different durations are anticipated.&lt;br /&gt;
* Developer: Code to accommodate not only the visual expansion designed by the IxD, but also recognize that there will be a byte expansion with the use of multi-byte characters.&lt;br /&gt;
* Tester: Ensure the translations fit correctly visually and/or audibly. This should be done prior to actual translation by using a pseudo translation. Check text entry fields to ensure proper handling of multi-byte characters.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Position dependency==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable functions that depend on UI element location to accommodate changes due to text expansion or mirroring.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: if elements are located differently due to right-to-left or if buttons are positioned due to priority then they may need to be inverted in alternate locales&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a4.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Colors==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Consider the cultural impacts of color.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Color has culture-specific meaning. In a Western culture, we can give a &#039;&#039;&#039;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;w&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;o&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;r&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;d&amp;lt;/span&amp;gt;&#039;&#039;&#039; a &#039;Christmasy&#039; feel simply by coloring it red and green. But that color combination may have other meanings or no meaning at all in other cultures. As we select the color pallet of our sites and products, we should be aware of how those choices will impact users of other cultures. Colors are so varied in their meanings from culture to culture that we may not be able to please everyone, but we should do our best not to make our message difficult to receive by choosing colors that could literally shade or distort our intent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;BA/IxD&#039;&#039;: Understand not only the languages but the cultures of those who will use the product. Then consider cultural meanings of color as you establish your site or product color palette. Refer to the chart at the link below or any other appropriate resource. Examples include: &lt;br /&gt;
** Red -- excitement, danger, love, stop (Western); good luck, celebration (China); bad luck, death (Korea); purity (India); &lt;br /&gt;
** White -- brides, angels, good guys, doctors, peace (Western); white carnation symbolizes death (Japan); funerals (Eastern)&lt;br /&gt;
** Blue -- conservative, corporate (Western); defeat, trouble (Cherokees); color of heaven and spirituality (Iran)&lt;br /&gt;
** Yellow -- hope, caution, cowardice (Western); courage (Japan); nourishment (China); mourning (Egypt)&lt;br /&gt;
* &#039;&#039;Developer&#039;&#039;: Implement colors as indicated by designers.&lt;br /&gt;
* &#039;&#039;Tester&#039;&#039;: Check site or product colors for cultural mismatches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www.informationisbeautiful.net/visualizations/colours-in-cultures/ Colours in Cultures]&lt;br /&gt;
&lt;br /&gt;
==Mobile/web resizing==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate mobile/web resizing issues.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover: importance of reaching mobile audience and how developing a mobile version later if the application is not architected correctly that developing a mobile version would be a duplicate version an app. Possibly cover the need for touch integration (hover state not working)  &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Translation v. localization==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Architect solutions to appropriately use translated or localized content.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written -topics to cover: what does this topic mean? What does &#039;use translated&#039; mean?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==UI controls==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design the layout of UI controls for localizability.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - topics to cover- example: form elements whose labels wrap or overflow layout due to sizing differences &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688120 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Icons and clip art==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Design icons and clip art for international users or facilitate their localization if necessary.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written - be aware that some icons might mean something in one locale, but not convey the same meaning in another locale&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a8.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41504</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41504"/>
		<updated>2013-05-15T16:46:27Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Government regulations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41503</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41503"/>
		<updated>2013-05-15T16:46:18Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Intercharacter gaps (Arabic) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41502</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41502"/>
		<updated>2013-05-15T16:46:10Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Character shaping (Arabic) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41501</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41501"/>
		<updated>2013-05-15T16:46:01Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Graphics and text orientation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41500</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41500"/>
		<updated>2013-05-15T16:45:49Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Directional functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41499</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41499"/>
		<updated>2013-05-15T16:45:28Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Bidirectional attributes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41498</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41498"/>
		<updated>2013-05-15T16:45:10Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Bidirectional text entry */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41497</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41497"/>
		<updated>2013-05-15T16:44:48Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Mirroring */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41496</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41496"/>
		<updated>2013-05-15T16:44:38Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Paper sizes (printer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41495</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41495"/>
		<updated>2013-05-15T16:44:31Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Paper sizes (application) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41494</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41494"/>
		<updated>2013-05-15T16:44:22Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Start or end of line characters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41493</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41493"/>
		<updated>2013-05-15T16:44:06Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Line breaking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41492</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41492"/>
		<updated>2013-05-15T16:43:31Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Spacing and punctuation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41491</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41491"/>
		<updated>2013-05-15T16:43:15Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Keyboards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41490</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41490"/>
		<updated>2013-05-15T16:43:03Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Math formats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41489</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41489"/>
		<updated>2013-05-15T16:42:51Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Units of measure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41488</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41488"/>
		<updated>2013-05-15T16:42:43Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Time zones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41487</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41487"/>
		<updated>2013-05-15T16:42:34Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Phone numbers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41486</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41486"/>
		<updated>2013-05-15T16:42:24Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Addresses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41485</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41485"/>
		<updated>2013-05-15T16:42:11Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Names */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
	<entry>
		<id>https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41484</id>
		<title>Locale (Internationalization best practices)</title>
		<link rel="alternate" type="text/html" href="https://tech.churchofjesuschrist.org/wiki/index.php?title=Locale_(Internationalization_best_practices)&amp;diff=41484"/>
		<updated>2013-05-15T16:42:03Z</updated>

		<summary type="html">&lt;p&gt;Dspayne: /* Numbers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{internationalization}}&lt;br /&gt;
&#039;&#039;&#039;Principle:&#039;&#039;&#039; &#039;&#039;&#039;Locale&#039;&#039;&#039; awareness is fundamental to providing a positive and understandable experience for global users.&lt;br /&gt;
&lt;br /&gt;
==Locale preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect locale and allow the user to set a locale preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688121 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/locale/index.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Language preferences==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Detect language and allow the user to set a language preference if appropriate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c16.html IBM]&lt;br /&gt;
&lt;br /&gt;
==Fonts==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard fonts.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688134 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Sorting==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive sorting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sorting and comparing strings is a language-dependent activity and must be properly handled. What constitutes a sorted list is different for different cultures. For example, vowels with accents fall after the letter &amp;quot;z&amp;quot; in Swedish. But vowels with accents fall after their base vowel in other European languages. Not all languages use an alphabet -- so organizing information alphabetically will not work for all languages. Asian languages sort by various non-alphabetic factors like phoneetics, radical order, number of strokes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: Ensure that organizational and navigational constructs account for different cultural norms. This might mean providing an alphabetical approach for some languages and a different approach where needed.&lt;br /&gt;
* Developer: Be sure to follow the guidelines for handling string collation and comparison in an culturally appropriate way. Information for .NET and Java can be found at the links below. Other technologies should have their own guidelines for internationally appropriate collation. If they do not, perhaps the technology is not appropriate to develop an international application.&lt;br /&gt;
* Tester: Check the application to ensure it appropriately collates various languages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Oracle]&lt;br /&gt;
&lt;br /&gt;
==Searching==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive searching.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/d3.html IBM]&lt;br /&gt;
&lt;br /&gt;
==String comparison==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive string comparison.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688122 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/collationintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Case handling==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive handling of upper and lower case.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688133 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Calendars==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive calendars.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688123 Microsoft]&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive date formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688124 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Time==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive time formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688125 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/dateintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Currency==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive currency formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688126 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials], [http://www.xencraft.com/resources/multi-currency.html XenCraft]&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Provide locale-sensitive number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688127 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/format/numberintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
==Names==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent personal names.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c14.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Addresses==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent address formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688128 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Phone numbers==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard phone number formatting.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688129 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Time zones==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support time zones appropriately.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Units of measure==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-dependent units of measure.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688131 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Math formats==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive math formats.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c8.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Keyboards==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-standard keyboards and IMEs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688135 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spacing and punctuation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-sensitive sentence spacing and punctuation characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c10.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Line breaking==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Support locale-sensitive word and line breaking.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688136 Microsoft], [http://docs.oracle.com/javase/tutorial/i18n/text/boundaryintro.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Start or end of line characters==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Follow locale-specific rules regarding characters that can begin or end a line.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/a11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (application)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Allow locale-standard paper sizes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688130 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paper sizes (printer)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Accommodate local paper sizes in the printer.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/e11.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mirroring==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Enable mirroring awareness (for bi-directional languages.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://msdn.microsoft.com/en-us/goglobal/bb688119 Microsoft]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bidirectional text entry==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Use services provided by the underlying software or platform to support bidirectional text entry.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h1.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Bidirectional attributes==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Maintain bidirectional attributes when processing, exchanging, and presenting text.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h2.html IBM], [https://ldsteams.ldschurch.org/team/i18n/35th%20Internationalization%20and%20Unicode%20Conference%20O/Forms/AllItems.aspx IUC 35 PPTs]&lt;br /&gt;
&lt;br /&gt;
==Directional functions==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t write presentation functions that presume a left to right orientation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h3.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Graphics and text orientation==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Ensure that artwork orientation and text orientation are independently specified.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/h4.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/bidi.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Character shaping (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Rely on services provided by the underlying software or platform to control the shaping of Arabic characters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i1.html IBM], [http://docs.oracle.com/javase/tutorial/i18n/text/shapedDigits.html Java Tutorials]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Intercharacter gaps (Arabic)==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Don&#039;t display intercharacter gaps (Arabic).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/i2.html IBM]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Government regulations==&lt;br /&gt;
&#039;&#039;&#039;Best Practice:&#039;&#039;&#039; &#039;&#039;Recognize that government regulations can be locale dependent.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Overview to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Roles, responsibilities, and examples:&#039;&#039;&#039;&lt;br /&gt;
* BA/IxD: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Developer: &amp;lt;to be written&amp;gt;&lt;br /&gt;
* Tester: &amp;lt;to be written&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Links:&#039;&#039;&#039; [http://www-01.ibm.com/software/globalization/guidelines/c15.html IBM]&lt;/div&gt;</summary>
		<author><name>Dspayne</name></author>
	</entry>
</feed>