<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.meego.com/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.meego.com/index.php?title=Special:Contributions/Nathanielchen&amp;feed=atom&amp;limit=50&amp;target=Nathanielchen&amp;year=&amp;month=</id>
		<title>MeeGo wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.meego.com/index.php?title=Special:Contributions/Nathanielchen&amp;feed=atom&amp;limit=50&amp;target=Nathanielchen&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Special:Contributions/Nathanielchen"/>
		<updated>2013-05-21T14:52:28Z</updated>
		<subtitle>From MeeGo wiki</subtitle>
		<generator>MediaWiki 1.16.2</generator>

	<entry>
		<id>http://wiki.meego.com/User:Nathanielchen</id>
		<title>User:Nathanielchen</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/User:Nathanielchen"/>
				<updated>2011-06-21T19:58:15Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Nathaniel Chen==&lt;br /&gt;
* Release Engineering Intern&lt;br /&gt;
&lt;br /&gt;
==Pages Created==&lt;br /&gt;
[[Coding rules]]&lt;br /&gt;
&lt;br /&gt;
[[Localization]]&lt;br /&gt;
&lt;br /&gt;
[[Internationalization]]&lt;br /&gt;
&lt;br /&gt;
[[Unicode]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Internationalization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Localization</id>
		<title>Localization</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Localization"/>
				<updated>2011-06-21T19:56:51Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Localization (L10N) is the process of customizing or translating the separated data and resources needed for a specific language-locale pair. &lt;br /&gt;
When thinking of localization, most people think of translation, but that’s just the tip of the iceberg. Localization is the culmination of many other activities: Unicode, Project management, Globalization, Internationalization, Vendor management, L10n engineering, Translation memory, Content management, ROI, Machine translation, QA, L10n tools, and Architecture.&lt;br /&gt;
&lt;br /&gt;
For up-to-date proceedings and time-sensitive information, see [[Localization team]]&lt;br /&gt;
&lt;br /&gt;
==Mapping Development to L10N Milestones==&lt;br /&gt;
[[Image:Localization diagram.jpg|thumb|center|500px|Mapping development]]&lt;br /&gt;
&lt;br /&gt;
==String changes: Why a String Freeze is so Important==&lt;br /&gt;
The purpose of a string freeze is to help ensure high quality translations in the final release, by giving translators adequate time to finish their work and to guarantee that this work will end up in the final release. It also gives the QA teams time to test and validate the localized versions of the software.&lt;br /&gt;
&lt;br /&gt;
The basic unit for most translation memory tools is a sentence, so changing just one word in a sentence will mean the translation software flags the whole sentence as “updated.” Never assume changes will be as simple as a quick Search &amp;amp; Replace. &lt;br /&gt;
&lt;br /&gt;
Bottom line: To minimize translation costs and to ensure product quality, limit the number of updates and translation passes. Remember, EIJAL (English is just another language).&lt;br /&gt;
&lt;br /&gt;
For more information on string freezes, see [[String Freeze Policy]]&lt;br /&gt;
&lt;br /&gt;
==More information==&lt;br /&gt;
For more localization references, see [[:Category:Localization]&lt;br /&gt;
&lt;br /&gt;
[[Category:Localization]]&lt;br /&gt;
[[Category:Internationalization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Unicode</id>
		<title>Unicode</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Unicode"/>
				<updated>2011-06-21T18:43:13Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: Created page with &amp;quot;One of the worst mistakes to make is to write software that is not Unicode-enabled. Basically, Unicode provides a unique number for every character, no matter what the platform, ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;One of the worst mistakes to make is to write software that is not Unicode-enabled. Basically, Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. (http://www.unicode.org/).&lt;br /&gt;
A really good quick explanation of Unicode is here: http://www.joelonsoftware.com/articles/Unicode.html&lt;br /&gt;
&lt;br /&gt;
Unicode characters are used in URLs too, so make sure your code supports these:&lt;br /&gt;
* http://日立.com/ (Hitachi Japan)&lt;br /&gt;
* http://ايكيا‎.com (Arabic transliteration of IKEA)&lt;br /&gt;
* http://икеа.com (Russian transliteration of IKEA) &lt;br /&gt;
* http://宜家.com/ (IKEA China)&lt;br /&gt;
&lt;br /&gt;
IDNs are supported by all modern browsers and email programs.&lt;br /&gt;
&lt;br /&gt;
==International Components for Unicode (ICU)==&lt;br /&gt;
The International Components for Unicode (ICU) software consists of components (subroutines, modules) that are available as source code and portable to different operating systems. ICU was originally written in Java, and later support to C and C++ has been added. The Java version is called ICU4J, and the C and C++ version is ICU4C.&lt;br /&gt;
&lt;br /&gt;
ICU contains software components for several purposes:&lt;br /&gt;
* Basic text: Unicode text handling, character properties, character code conversions&lt;br /&gt;
* Text analysis: Unicode regular expressions and characters, operations on collections of characters, and detection of word and line boundaries&lt;br /&gt;
* Sorting and searching: language-sensitive collation and searching&lt;br /&gt;
* Transformations: normalization forms, case mappings, transliterations&lt;br /&gt;
* Locales: general locale data and resource bundle architecture&lt;br /&gt;
* Complex text layout: Hebrew, Arabic, Indic, Thai&lt;br /&gt;
* Time and date: representation of and operations on dates and times in multiple calendars and time zones&lt;br /&gt;
* Formatting and parsing: reading and writing dates, times, numbers, currencies, messages, and rule-based patterns&lt;br /&gt;
&lt;br /&gt;
[[Category:Internationalization]]&lt;br /&gt;
[[Category:Localization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/User:Nathanielchen</id>
		<title>User:Nathanielchen</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/User:Nathanielchen"/>
				<updated>2011-06-21T18:33:16Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: /* Pages Created */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Nathaniel Chen==&lt;br /&gt;
* Release Engineering Intern&lt;br /&gt;
&lt;br /&gt;
==Pages Created==&lt;br /&gt;
[[Coding rules]]&lt;br /&gt;
&lt;br /&gt;
[[Localization]]&lt;br /&gt;
&lt;br /&gt;
[[Internationalization]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Internationalization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Internationalization</id>
		<title>Internationalization</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Internationalization"/>
				<updated>2011-06-21T18:32:59Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Internationalization (I18N) is the process of creating a product that is world-ready and customized for a given language and regional market. Truly internationalized software can display any language in any OS. Internationalization effort should start at the beginning of the product planning stage, and should taper off as [[Localization]] effort is beginning. &lt;br /&gt;
&lt;br /&gt;
If internationalization has not been done for a product, the product may: &lt;br /&gt;
* Not be localizable&lt;br /&gt;
* Cost a lot more to localize, or &lt;br /&gt;
* Not be useable or legal in other countries.&lt;br /&gt;
&lt;br /&gt;
For more information, see [[:Category:Internationalization]]&lt;br /&gt;
&lt;br /&gt;
==Coding Rules==&lt;br /&gt;
[[Coding rules]] help integrate localization and internationalization into the entire development process.&lt;br /&gt;
&lt;br /&gt;
==Locale==&lt;br /&gt;
“Locale” is a term generally used to describe a combination of Region and Language.&lt;br /&gt;
Changing the locale affects such items as:&lt;br /&gt;
* Time/Date Parsing &amp;amp; Formatting&lt;br /&gt;
* Number Parsing &amp;amp; Formatting &lt;br /&gt;
* Currency Formatting&lt;br /&gt;
* String Comparison&lt;br /&gt;
* Sorting&lt;br /&gt;
* Measurements&lt;br /&gt;
* Paper size&lt;br /&gt;
* Calendar&lt;br /&gt;
* IME (Input Method Editor)/Keyboard Layout&lt;br /&gt;
&lt;br /&gt;
Why is locale important?  For example, all the following characters are sorted before B, right?&lt;br /&gt;
&lt;br /&gt;
aÀàÁáÂâÃãÄäÅåĀāĂăĄąǺǻ &lt;br /&gt;
&lt;br /&gt;
Not always:&lt;br /&gt;
* English:		aAÀàÁá…bBcC...RSTUVWXYZ &lt;br /&gt;
* German:		AÄB...NOÖ...SßTUÜV…YZ &lt;br /&gt;
* Swedish/Finnish:	AB...STUVWXYZÅÄÖ &lt;br /&gt;
* Norwegian:	AB...VWXYÜZÆØÅ &lt;br /&gt;
&lt;br /&gt;
Ensuring your code recognizes the locale and is Unicode-enabled takes care of these issues for you.&lt;br /&gt;
&lt;br /&gt;
==Pseudo-translation - Iñtërnâtiônàlizætiøn==&lt;br /&gt;
The English characters in the word “Internationalization” have been replaced with various characters from various languages, in such a way that English readers can still read the text, but that it is clear the word has been changed. This is called pseudo-translation, which is one method of flushing out internationalization defects prior to localization. &lt;br /&gt;
&lt;br /&gt;
==What Gets Translated==&lt;br /&gt;
All visible product elements need to be localized:&lt;br /&gt;
* Installation&lt;br /&gt;
* UI strings&lt;br /&gt;
* Dialog layout&lt;br /&gt;
* Hotkeys and accelerators&lt;br /&gt;
* Help files and documentation&lt;br /&gt;
* Training materials&lt;br /&gt;
* Web marketing content&lt;br /&gt;
* Web support content&lt;br /&gt;
* Graphics&lt;br /&gt;
* Multimedia contents&lt;br /&gt;
* Sometimes log files&lt;br /&gt;
* Licenses and legal text&lt;br /&gt;
&lt;br /&gt;
==Guides==&lt;br /&gt;
Developer guides to internationalization (i18n) within the MeeGo UX project:&lt;br /&gt;
&lt;br /&gt;
* [[QML/Internationalisation|QML Internationalization]]&lt;br /&gt;
* [[QtInternationalization|Qt Internationalization]]&lt;br /&gt;
* [[GtkInternationalization|Gtk Internationalization]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Localization]]&lt;br /&gt;
[[Category: Internationalization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/File:Localization_diagram.jpg</id>
		<title>File:Localization diagram.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/File:Localization_diagram.jpg"/>
				<updated>2011-06-21T18:18:49Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mapping Development to L10N Milestones&lt;br /&gt;
&lt;br /&gt;
[[Category:Localization]]&lt;br /&gt;
[[Category:Internationalization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Localization</id>
		<title>Localization</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Localization"/>
				<updated>2011-06-21T18:16:50Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Localization (L10N) is the process of customizing or translating the separated data and resources needed for a specific language-locale pair. &lt;br /&gt;
When thinking of localization, most people think of translation, but that’s just the tip of the iceberg. Localization is the culmination of many other activities: Unicode, Project management, Globalization, Internationalization, Vendor management, L10n engineering, Translation memory, Content management, ROI, Machine translation, QA, L10n tools, and Architecture.&lt;br /&gt;
&lt;br /&gt;
For up-to-date proceedings and time-sensitive information, see [[Localization team]]&lt;br /&gt;
&lt;br /&gt;
==Mapping Development to L10N Milestones==&lt;br /&gt;
[[Image:Localization diagram.jpg|thumb|center|500px|Mapping development]]&lt;br /&gt;
&lt;br /&gt;
==More information==&lt;br /&gt;
For more localization references, see [[:Category:Localization]&lt;br /&gt;
&lt;br /&gt;
[[Category:Localization]]&lt;br /&gt;
[[Category:Internationalization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/User:Nathanielchen</id>
		<title>User:Nathanielchen</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/User:Nathanielchen"/>
				<updated>2011-06-21T18:16:06Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: /* Pages Created */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Nathaniel Chen==&lt;br /&gt;
* Release Engineering Intern&lt;br /&gt;
&lt;br /&gt;
==Pages Created==&lt;br /&gt;
[[Coding rules]]&lt;br /&gt;
&lt;br /&gt;
[[Localization]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Internationalization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Localization</id>
		<title>Localization</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Localization"/>
				<updated>2011-06-21T18:15:35Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Localization (L10N) is the process of customizing or translating the separated data and resources needed for a specific language-locale pair. &lt;br /&gt;
When thinking of localization, most people think of translation, but that’s just the tip of the iceberg. Localization is the culmination of many other activities: Unicode, Project management, Globalization, Internationalization, Vendor management, L10n engineering, Translation memory, Content management, ROI, Machine translation, QA, L10n tools, and Architecture.&lt;br /&gt;
&lt;br /&gt;
==Mapping Development to L10N Milestones==&lt;br /&gt;
[[Image:Localization diagram.jpg|thumb|center|500px|Mapping development]]&lt;br /&gt;
&lt;br /&gt;
==More information==&lt;br /&gt;
For more localization references, see [[:Category:Localization]]&lt;br /&gt;
&lt;br /&gt;
For up-to-date proceedings and time-sensitive information, see [[Localization team]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Localization]]&lt;br /&gt;
[[Category:Internationalization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/File:Localization_diagram.jpg</id>
		<title>File:Localization diagram.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/File:Localization_diagram.jpg"/>
				<updated>2011-06-21T18:07:12Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: Mapping Development to L10N Milestones&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mapping Development to L10N Milestones&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/User:Nathanielchen</id>
		<title>User:Nathanielchen</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/User:Nathanielchen"/>
				<updated>2011-06-21T17:52:26Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Nathaniel Chen==&lt;br /&gt;
* Release Engineering Intern&lt;br /&gt;
&lt;br /&gt;
==Pages Created==&lt;br /&gt;
[[Coding rules]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Internationalization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Category:Internationalization</id>
		<title>Category:Internationalization</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Category:Internationalization"/>
				<updated>2011-06-21T17:49:27Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: Created page with &amp;quot;==Internationalization== Internationalization (I18N) is the process of creating a product that is world-ready and customized for a given language and regional market.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Internationalization==&lt;br /&gt;
Internationalization (I18N) is the process of creating a product that is world-ready and customized for a given language and regional market.&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Coding_rules</id>
		<title>Coding rules</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Coding_rules"/>
				<updated>2011-06-21T17:42:58Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These coding rules exist to help you plan and execute your project so that localization and internationalization are an integral part of the entire development process. It is important to follow these rules during every stage of the development process.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Area&lt;br /&gt;
!Rule&lt;br /&gt;
|-&lt;br /&gt;
|Unicode Support&lt;br /&gt;
|Use Unicode libraries to ensure proper handling of multilingual content.&lt;br /&gt;
|-&lt;br /&gt;
|String externalization&lt;br /&gt;
|Extract all user-visible strings to an external resource file, such as .PO or .TS. Do not hard code strings, as they will not get translated.&lt;br /&gt;
|-&lt;br /&gt;
|Concatenation&lt;br /&gt;
|Do not construct full sentences through concatenation.&lt;br /&gt;
|-&lt;br /&gt;
|Text in graphics&lt;br /&gt;
|Do not put text in graphics, as it is extremely difficult and expensive to localize.&lt;br /&gt;
|-&lt;br /&gt;
|Text formatting&lt;br /&gt;
|Do not use a hard return to format text. This makes no sense in other languages, and it messes up the translation tools.&lt;br /&gt;
|-&lt;br /&gt;
|UI Layout&lt;br /&gt;
|Ensure that the UI layout is flexible / resizable according to the text content size.&lt;br /&gt;
|-&lt;br /&gt;
|Button labels&lt;br /&gt;
|Use strings in button labels, not graphics.&lt;br /&gt;
|-&lt;br /&gt;
|Locale-aware formatting&lt;br /&gt;
|Always use API functions that are locale sensitive (address, time, dates, currency etc.)&lt;br /&gt;
|-&lt;br /&gt;
|Locale-aware sorting&lt;br /&gt;
|Allow sorting of all lists using a culturally correct collation algorithm (when displaying a list in &amp;quot;alphabetical order&amp;quot;), unless another sorting method is specified.&lt;br /&gt;
|-&lt;br /&gt;
|Language tags&lt;br /&gt;
|Use language tags that comply with BCP 47 / RFC 5646 (http://www.rfc-editor.org/rfc/bcp/bcp47.txt). &amp;quot;en-US&amp;quot;, for example to identify English content as used in the US.&lt;br /&gt;
|-&lt;br /&gt;
|Text support&lt;br /&gt;
|Ensure your application supports the input, storage, and display of text in any available script (Latin, Arabic, Cyrillic, Asian, etc)&lt;br /&gt;
|-&lt;br /&gt;
|Language Detection&lt;br /&gt;
|Ensure your application automatically detects the user-selected language.&lt;br /&gt;
|-&lt;br /&gt;
|Search/sort&lt;br /&gt;
|Ensure your application sorts and searches in the current language. This also means that the end user can search using special characters.&lt;br /&gt;
|-&lt;br /&gt;
|Address and phone number&lt;br /&gt;
|Do not assume US standards (example: requiring the user to enter a state, or allowing only 10 digits for a phone number).&lt;br /&gt;
|-&lt;br /&gt;
|International Domain Names (IDN)&lt;br /&gt;
|Ensure correct rendering of IDN. The IDN should be stored as Unicode. &lt;br /&gt;
|-&lt;br /&gt;
|Email addresses&lt;br /&gt;
|Ensure that your application supports IDN email addresses.&lt;br /&gt;
|-&lt;br /&gt;
|Numbers&lt;br /&gt;
|Support more than just western/Latin based numbering.&lt;br /&gt;
|-&lt;br /&gt;
|No special cases&lt;br /&gt;
|Do not specify any special cases in code for “en-US”.&lt;br /&gt;
|-&lt;br /&gt;
|Time Zone support&lt;br /&gt;
|Allow the user to set time zone. Your software must support multi-zone locales, and the correct processing and storage of time zones.&lt;br /&gt;
|-&lt;br /&gt;
|Unused strings and resources&lt;br /&gt;
|Remove unused strings and resources (reduces number of words to translate).&lt;br /&gt;
|-&lt;br /&gt;
|Graphics&lt;br /&gt;
|Ensure all graphics are culturally neutral and/or configurable.&lt;br /&gt;
|-&lt;br /&gt;
|Code comments&lt;br /&gt;
|Use comments in your code about translatable items. Many translators are NOT technical. Provide context—most of the time, all a translator sees is a text file with strings and no idea of the UI or where this string appears in the product.&lt;br /&gt;
Note: Always provide comments about what %s stands for, or point to the list of items that will be populating the blank areas at runtime.&lt;br /&gt;
|-&lt;br /&gt;
|Grammar&lt;br /&gt;
|Ensure your grammar is correct—get it reviewed before submitting to OBS.&lt;br /&gt;
|-&lt;br /&gt;
|Formatting&lt;br /&gt;
|  &lt;br /&gt;
* Do not mix formatting code html with strings.&lt;br /&gt;
* Do not repeat the same variable in a string. Example: page %s of %s.&lt;br /&gt;
* Do not use parentheses to indicate a potential plural word. Example: You have %s message(s)   Better: You have %s message. You have %s messages.&lt;br /&gt;
|-&lt;br /&gt;
|Text Size&lt;br /&gt;
|If your text box, button, or dialog box is constrained, always let the translators know the maximum number of characters, so they can translate accordingly. However, the best method is to allow for dynamic sizing of all translatable items. If space is very limited even for English, make the text fields like a marquee, so the entire text is displayed completely when tapped, moused over, or highlighted.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Internationalization]]&lt;br /&gt;
[[Category:Localization]]&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Coding_rules</id>
		<title>Coding rules</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Coding_rules"/>
				<updated>2011-06-21T17:41:28Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: Created page with &amp;quot;These coding rules exist to help you plan and execute your project so that localization and internationalization are an integral part of the entire development process. It is imp...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These coding rules exist to help you plan and execute your project so that localization and internationalization are an integral part of the entire development process. It is important to follow these rules during every stage of the development process.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Area&lt;br /&gt;
!Rule&lt;br /&gt;
|-&lt;br /&gt;
|Unicode Support&lt;br /&gt;
|Use Unicode libraries to ensure proper handling of multilingual content.&lt;br /&gt;
|-&lt;br /&gt;
|String externalization&lt;br /&gt;
|Extract all user-visible strings to an external resource file, such as .PO or .TS. Do not hard code strings, as they will not get translated.&lt;br /&gt;
|-&lt;br /&gt;
|Concatenation&lt;br /&gt;
|Do not construct full sentences through concatenation.&lt;br /&gt;
|-&lt;br /&gt;
|Text in graphics&lt;br /&gt;
|Do not put text in graphics, as it is extremely difficult and expensive to localize.&lt;br /&gt;
|-&lt;br /&gt;
|Text formatting&lt;br /&gt;
|Do not use a hard return to format text. This makes no sense in other languages, and it messes up the translation tools.&lt;br /&gt;
|-&lt;br /&gt;
|UI Layout&lt;br /&gt;
|Ensure that the UI layout is flexible / resizable according to the text content size.&lt;br /&gt;
|-&lt;br /&gt;
|Button labels&lt;br /&gt;
|Use strings in button labels, not graphics.&lt;br /&gt;
|-&lt;br /&gt;
|Locale-aware formatting&lt;br /&gt;
|Always use API functions that are locale sensitive (address, time, dates, currency etc.)&lt;br /&gt;
|-&lt;br /&gt;
|Locale-aware sorting&lt;br /&gt;
|Allow sorting of all lists using a culturally correct collation algorithm (when displaying a list in &amp;quot;alphabetical order&amp;quot;), unless another sorting method is specified.&lt;br /&gt;
|-&lt;br /&gt;
|Language tags&lt;br /&gt;
|Use language tags that comply with BCP 47 / RFC 5646 (http://www.rfc-editor.org/rfc/bcp/bcp47.txt). &amp;quot;en-US&amp;quot;, for example to identify English content as used in the US.&lt;br /&gt;
|-&lt;br /&gt;
|Text support&lt;br /&gt;
|Ensure your application supports the input, storage, and display of text in any available script (Latin, Arabic, Cyrillic, Asian, etc)&lt;br /&gt;
|-&lt;br /&gt;
|Language Detection&lt;br /&gt;
|Ensure your application automatically detects the user-selected language.&lt;br /&gt;
|-&lt;br /&gt;
|Search/sort&lt;br /&gt;
|Ensure your application sorts and searches in the current language. This also means that the end user can search using special characters.&lt;br /&gt;
|-&lt;br /&gt;
|Address and phone number&lt;br /&gt;
|Do not assume US standards (example: requiring the user to enter a state, or allowing only 10 digits for a phone number).&lt;br /&gt;
|-&lt;br /&gt;
|International Domain Names (IDN)&lt;br /&gt;
|Ensure correct rendering of IDN. The IDN should be stored as Unicode. &lt;br /&gt;
|-&lt;br /&gt;
|Email addresses&lt;br /&gt;
|Ensure that your application supports IDN email addresses.&lt;br /&gt;
|-&lt;br /&gt;
|Numbers&lt;br /&gt;
|Support more than just western/Latin based numbering.&lt;br /&gt;
|-&lt;br /&gt;
|No special cases&lt;br /&gt;
|Do not specify any special cases in code for “en-US”.&lt;br /&gt;
|-&lt;br /&gt;
|Time Zone support&lt;br /&gt;
|Allow the user to set time zone. Your software must support multi-zone locales, and the correct processing and storage of time zones.&lt;br /&gt;
|-&lt;br /&gt;
|Unused strings and resources&lt;br /&gt;
|Remove unused strings and resources (reduces number of words to translate).&lt;br /&gt;
|-&lt;br /&gt;
|Graphics&lt;br /&gt;
|Ensure all graphics are culturally neutral and/or configurable.&lt;br /&gt;
|-&lt;br /&gt;
|Code comments&lt;br /&gt;
|Use comments in your code about translatable items. Many translators are NOT technical. Provide context—most of the time, all a translator sees is a text file with strings and no idea of the UI or where this string appears in the product.&lt;br /&gt;
Note: Always provide comments about what %s stands for, or point to the list of items that will be populating the blank areas at runtime.&lt;br /&gt;
|-&lt;br /&gt;
|Grammar&lt;br /&gt;
|Ensure your grammar is correct—get it reviewed before submitting to OBS.&lt;br /&gt;
|-&lt;br /&gt;
|Formatting&lt;br /&gt;
|  &lt;br /&gt;
* Do not mix formatting code html with strings.&lt;br /&gt;
* Do not repeat the same variable in a string. Example: page %s of %s.&lt;br /&gt;
* Do not use parentheses to indicate a potential plural word. Example: You have %s message(s)   Better: You have %s message. You have %s messages.&lt;br /&gt;
|-&lt;br /&gt;
|Text Size&lt;br /&gt;
|If your text box, button, or dialog box is constrained, always let the translators know the maximum number of characters, so they can translate accordingly. However, the best method is to allow for dynamic sizing of all translatable items. If space is very limited even for English, make the text fields like a marquee, so the entire text is displayed completely when tapped, moused over, or highlighted.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/User:Nathanielchen</id>
		<title>User:Nathanielchen</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/User:Nathanielchen"/>
				<updated>2011-06-21T16:41:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Nathaniel Chen==&lt;br /&gt;
* Release Engineering Intern&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/User:Nathanielchen</id>
		<title>User:Nathanielchen</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/User:Nathanielchen"/>
				<updated>2011-06-21T16:38:38Z</updated>
		
		<summary type="html">&lt;p&gt;Nathanielchen: Created page with &amp;quot;* Release Engineering Intern&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Release Engineering Intern&lt;/div&gt;</summary>
		<author><name>Nathanielchen</name></author>	</entry>

	</feed>