<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vincent Gable's Blog &#187; i18n</title>
	<atom:link href="http://vgable.com/blog/tag/i18n/feed/" rel="self" type="application/rss+xml" />
	<link>http://vgable.com/blog</link>
	<description>my weblog.</description>
	<lastBuildDate>Tue, 29 Nov 2011 22:20:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>When In Doubt, UTF8</title>
		<link>http://vgable.com/blog/2009/07/03/when-in-doubt-utf8/</link>
		<comments>http://vgable.com/blog/2009/07/03/when-in-doubt-utf8/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 17:16:59 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ASCII]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Unicode]]></category>
		<category><![CDATA[UTF8]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/?p=339</guid>
		<description><![CDATA[/* If you are uncertain of the correct encoding, you should use UTF-8, */ /* which is the encoding designated by RFC 2396 as the correct encoding */ /* for use in URLs.… */ &#8211; CFURL.h This echos my experience, when in doubt, choose UTF8 for the web. UTF8 is backwards compatible with 7-bit ASCII [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<pre>
/* If you are uncertain of the correct encoding, you should use UTF-8, */
/* which is the encoding designated by <a href="http://www.faqs.org/rfcs/rfc2396.html">RFC 2396</a> as the correct encoding */
/* for use in URLs.… */
</pre>
</blockquote>
<p>&#8211; <a href="http://www.opensource.apple.com/source/CF/CF-476.15/CFURL.h"><code>CFURL.h</code></a></p>
<p>This echos my experience, <strong>when in doubt, choose <a href="http://en.wikipedia.org/wiki/UTF-8">UTF8</a> for the web</strong>. UTF8 is backwards compatible with 7-bit ASCII (eg. &#8216;A&#8217; is 0&#215;41 in ASCII and UTF8).</p>
<p>But know that UTF8 is a variable-length encoding: non-ASCII <strong>characters maybe represented by > 1 byte</strong>. As a general rule with Unicode, I <strong>do <em>not</em> expect a <code>char</code> or <code>wchar_t</code> to always map to a character in a string</strong>. Encoding details can be messy, e.g. &#8220;É&#8221; might be represented as one character, or two composed characters &#8220;´E&#8221;. It never hurts to <a href="http://www.codinghorror.com/blog/archives/001084.html">brush up on Unicode</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2009/07/03/when-in-doubt-utf8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pre-announcing Prometheus</title>
		<link>http://vgable.com/blog/2009/04/10/pre-announcing-prometheus/</link>
		<comments>http://vgable.com/blog/2009/04/10/pre-announcing-prometheus/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 20:59:29 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Prometheus]]></category>
		<category><![CDATA[Wikipedia]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/2009/04/10/pre-announcing-prometheus/</guid>
		<description><![CDATA[For the past month I have been working on my first iPhone application, code-named Prometheus. It&#8217;s a dedicated editor for Simple English Wikipedia. Simple Wikipedia The Simple English Wikipedia is a wikipedia written in simplified English, using only a few common words, simple grammar, and shorter sentences. The goal is for it to be as [...]]]></description>
			<content:encoded><![CDATA[<p>For the past month I have been working on my first iPhone application, code-named Prometheus. It&#8217;s a dedicated editor for <a href="http://simple.wikipedia.org/wiki/Main_Page">Simple English Wikipedia</a>.</p>
<h3>Simple Wikipedia</h3>
<p>The <a href="http://simple.wikipedia.org/wiki/Main_Page">Simple English Wikipedia</a> is a wikipedia written in <a href="http://simple.wikipedia.org/wiki/Simple_English#Simple_English">simplified English</a>, using only a few common words, simple grammar, and shorter sentences.  The goal is for it to be <strong>as accessible as possible</strong>. That&#8217;s something that <a href="http://vgable.com/blog/2009/03/13/reasons-to-want-to-design-for-accessibility/">really resonates with me</a>. There are many reasons why I think it&#8217;s an important project, but I&#8217;ll only briefly mention one sappy example.</p>
<p><strong>Children</strong> can&#8217;t understand all of the <a href="http://www.wikipedia.org/">Grown Up Wikipedia</a>. Simple Wikipedia helps put more knowledge within their reach. I started writing weekly reports in the 5th grade. I&#8217;m sure many schools make students start sooner, and certainly I had to write infrequent reports much earlier. An encyclopedia at a 4th grade reading level would have been a fantastic tool to learn more about the world.</p>
<h3>Prometheus</h3>
<p><a href="http://www.theoi.com/Titan/TitanPrometheus.html">In Greek mythology Prometheus</a> was, &#8220;the Titan god of forethought and the creator of mankind. He cheated the gods on several occasions on behalf of man, including the theft of fire.&#8221;</p>
<p>Similarly, the Prometheus iPhone app brings knowledge from the <a href="http://en.wikipedia.org/wiki/Main_Page">American-English Wiki Gods</a> the to <a href="http://vgable.com/blog/2008/09/26/simple-english/">the majority of the world that does not speak English natively</a>. </p>
<p>Given <a href="http://daringfireball.net/2008/11/iphone_likeness">the platform</a>, I believe enabling small quick edits is the best way to go.  I want to make it easy for a native English speaker to spend 30 seconds correcting grammar while waiting in line.</p>
<p>With more constrained language, writing-aids become even more helpful. Surprisingly, I find myself using a thesaurus <em>more</em> when writing Simple English, to be sure I&#8217;m using the clearest synonym I can. There&#8217;s a lot more an application like Prometheus can do to help, because it&#8217;s not targeting a complex language.</p>
<h3>Roadmap</h3>
<p>I&#8217;ll be brutally honest, the first release is not going to have any fancy analytical features I originally envisioned. My goal is to get a 1.0 release out quickly, then iterate on the feedback and what I learn. I also have a selfish motivation here, because <a href="http://hirevincent.com">I&#8217;m looking for a job</a>, and not having something in the App Store yet has been a big barrier.</p>
<p>What I can promise for 1.0 is</p>
<ul>
<li> A greatly streamlined interface, as compared to editing through Safari.
<li> A safe, save-free, experience, where nothing you write is lost if you suddenly have to quit and do something else.
<li> Shake to load a random page. (Look, I know that&#8217;s nothing to brag about. But it <em>is</em> something Safari can&#8217;t do.)
<li> A $0 price tag.
</ul>
<p>I&#8217;m trying to <strong>have 1.0 ready in about a moth</strong>, but that&#8217;s an aggressive goal.</p>
<p>Beyond that I would like to add a &#8220;simple-checker&#8221; that can flag complex terms, and a mechanism for as-you-type suggestions of more common terms. But both of these are technically challenging, and my main priority will be building on what I&#8217;ve learned by putting something in front of people.</p>
<h3>Teaser</h3>
<p>Here&#8217;s a picture of what I have running today.</p>
<div style="text-align:left;"><img src="http://vgable.com/blog/wp-content/uploads/2009/04/prerelease.jpg" alt="prerelease.jpg" border="0" width="386" height="742" /></div>
<p>I have a lot to say about the evolving design in future posts.  But this should an you an idea of what I&#8217;m shooting for &#8212; as minimal an interface as I can manage, hopefully condensed into one toolbar.</p>
<p><strong>I don&#8217;t have an icon yet, if you can help there please let me know</strong>. Unfortunately this is a free project all around, so I&#8217;m not in a position to hire someone. My current idea for an icon is a hand<br />
holding a <a href="http://ancienthistory.about.com/cs/grecoromanmyth1/a/prometheus.htm">fennel stalk with fire inside</a>, much like an olympic torch. <strong>I&#8217;d love to hear your ideas</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2009/04/10/pre-announcing-prometheus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Perils of Localization</title>
		<link>http://vgable.com/blog/2008/11/04/the-perils-of-localization/</link>
		<comments>http://vgable.com/blog/2008/11/04/the-perils-of-localization/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 21:12:04 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Epic Fail]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Internationalization]]></category>
		<category><![CDATA[L10n]]></category>
		<category><![CDATA[Localization]]></category>
		<category><![CDATA[Translation]]></category>
		<category><![CDATA[Welsh]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/2008/11/04/the-perils-of-localization/</guid>
		<description><![CDATA[The sign below is supposed to say ‘No entry for heavy goods vehicles. Residential site only’ in English and Welsh. Unfortunately the Welsh version says ‘I am not in the office at the moment. Send any work to be translated’. Story from the BBC (Via Successful Software.)]]></description>
			<content:encoded><![CDATA[<p>The sign below is supposed to say ‘No entry for heavy goods vehicles. Residential site only’ in English and Welsh.</p>
<p style="text-align:center;"><img title="localization" src="http://newsimg.bbc.co.uk/media/images/45162000/jpg/_45162744_-2.jpg" alt="localization"/></p>
<p>Unfortunately the Welsh version says ‘I am not in the office at the moment. Send any work to be translated’.</p>
<p><a href="http://news.bbc.co.uk/1/hi/wales/7702913.stm" target="_self">Story from the BBC</a></p>
<p>(Via <a href="http://successfulsoftware.net">Successful Software</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2008/11/04/the-perils-of-localization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple English</title>
		<link>http://vgable.com/blog/2008/09/26/simple-english/</link>
		<comments>http://vgable.com/blog/2008/09/26/simple-english/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 17:49:47 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Quotes]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Internationalization]]></category>
		<category><![CDATA[Linguistics]]></category>
		<category><![CDATA[Simplicity]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/2008/09/26/simple-english/</guid>
		<description><![CDATA[There are 400 million native English speakers, but over a billion people who speak English as a second language. &#8230; At any given instant on this planet, most people who are speaking English are not native speakers. &#8230; Perhaps we should take a good look at common forms of incorrect grammar and see if they [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>There are 400 million native English speakers, but over a billion people who speak English as a second language. &#8230; At any given instant on this planet, most people who are speaking English are <em>not</em> native speakers.</p>
<p>&#8230;</p>
<p>Perhaps we should take a good look at common forms of incorrect grammar and see if they actually make our language easier to learn. Maybe we should give a loose leash to those who are trying to make English more accessible.</p>
<p><strong>I am going to try to use simple language and limited slang in my writing. When one considers the population of the world, it seems rather rude to address only the native English speakers.</strong>
</p></blockquote>
<p>&#8211;<a href="http://www.possibleprobable.com/?p=76">Aaron Hillegass</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2008/09/26/simple-english/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hardwired Strings</title>
		<link>http://vgable.com/blog/2008/08/20/hardwired-strings/</link>
		<comments>http://vgable.com/blog/2008/08/20/hardwired-strings/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 03:36:02 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Internationalization]]></category>
		<category><![CDATA[L10n]]></category>
		<category><![CDATA[Localization]]></category>
		<category><![CDATA[Translation]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/2008/08/20/hardwired-strings/</guid>
		<description><![CDATA[With every programming language/development environment I know of, you have to do extra work to make a string localizable. For example, errorMessage = NSLocalizedString(@"This is hard!",@""); not simply, errorMessage = @"This is hard!"; And it&#8217;s not just extra work, it&#8217;s a ridiculous amount of work. E.g. to create an Objective-C string, you just put an [...]]]></description>
			<content:encoded><![CDATA[<p>With every programming language/development environment I know of, you have to do <em>extra work</em> to make a string localizable.  For example, <br />
<code>errorMessage = <strong>NSLocalizedString(</strong>@"This is hard!"<strong>,@"");</strong></code><br />
not simply,<br />
<code>errorMessage = @"This is hard!";</code></p>
<p>And it&#8217;s not just extra work, it&#8217;s a <em>ridiculous amount of work.</em>  E.g. to create an Objective-C string, you just put an <code>@</code> in front of a standard C string.  But to create a localized string, you have to surround your string in <code>()</code>&#8216;s, and prefix it with a seventeen character mixed-case function-name, and finally add an empty &#8220;note&#8221; for the translator.  (Rarely, you may <em>want</em> to add a note for the translator, and it&#8217;s good that you can, but you should not be <em>forced</em> to write something when it is not necessary.)</p>
<p>There isn&#8217;t really an excuse for this; it&#8217;s just how languages have lazily evolved.</p>
<p>Non-localizable (&#8220;hardcoded&#8221;) strings are a <em>huge</em> issue, even though they are trivially simple for <em>programmers</em> to fix.  The problem is that translators do not work with source code, they work with resource files.  So when they find a &#8220;hardwired&#8221; string that must be changed in code, they <em>tell a programmer to fix it</em>. And that communication is slow and costly.  Especially when you consider that good localizers are probably native to the place they are localizing for &#8212; meaning that having a real-time conversation involves at least one party staying up past 3AM.</p>
<p>I dream of a day where <code>"this would be localized by default"</code>; <code>"and"("syntactic sugar for adding optional translator notes would be there too")</code>; and creating <code>C"literal C-strings"</code> would be easy.</p>
<p>&#8220;Unicode support libraries&#8221; are doomed to institutionalized-failure, because they will never make it <em>easier</em> to do the right thing.  It must be so easy to create a localizable program that you wouldn&#8217;t dream of doing anything else.</p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2008/08/20/hardwired-strings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Localizing In Xcode</title>
		<link>http://vgable.com/blog/2008/08/20/localizing-in-xcode/</link>
		<comments>http://vgable.com/blog/2008/08/20/localizing-in-xcode/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 18:38:49 +0000</pubDate>
		<dc:creator>Vincent Gable</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Interface Builder]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Quotes]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Internationalization]]></category>
		<category><![CDATA[L10n]]></category>
		<category><![CDATA[Localization]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://vgable.com/blog/2008/08/20/localizing-in-xcode/</guid>
		<description><![CDATA[Let me say this again in slow motion: NEVER type in ANY English string without typing NSLocalizedString() around it! This will save you SO MUCH HASSLE later on when your app is popular. Remember that enterprising polyglots can localize your code from just the binary you ship if you follow a few rules of localization, [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Let me say this again in slow motion: <strong>NEVER type in ANY English string without typing <code>NSLocalizedString()</code> around it!</strong> This will save you SO MUCH HASSLE later on when your app is popular. Remember that enterprising polyglots can localize your code from <em>just the binary you ship</em> if you follow a few rules of localization, so you may wake up one day and find that someone from across the world has mailed you a your app in another language. It&#8217;s a fuzzy feeling and it gets you instant market-share.
</p></blockquote>
<p>&#8211;<a href="http://www.wilshipley.com/blog/2006/12/pimp-my-code-part-13-pimp-before.html">Wil Shipley</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vgable.com/blog/2008/08/20/localizing-in-xcode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

