<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: My solution to the localization horror story</title>
	<atom:link href="http://ginstrom.com/scribbles/2007/10/11/my-solution-to-the-localization-horror-story/feed/" rel="self" type="application/rss+xml" />
	<link>http://ginstrom.com/scribbles/2007/10/11/my-solution-to-the-localization-horror-story/</link>
	<description>Random scribbling about programming, translation, and Japan</description>
	<lastBuildDate>Fri, 03 Feb 2012 09:05:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Leo</title>
		<link>http://ginstrom.com/scribbles/2007/10/11/my-solution-to-the-localization-horror-story/comment-page-1/#comment-74</link>
		<dc:creator>Leo</dc:creator>
		<pubDate>Fri, 12 Oct 2007 13:18:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/10/11/my-solution-to-the-localization-horror-story/#comment-74</guid>
		<description>My solutions to this problem:

A. Use concise texts that work in any language with any number, such as:
&quot;Deleted comments: %s&quot;

or

B. Use more elaborate wording for very user friendly languages and localize your code with it:

output := &quot;Thank you, my friend! &quot;
if (n == 0)
  output += &quot;Unfortunately I couldn&#039;t delete anything.&quot;
elseif (n == 1)
  output += &quot;At your request I deleted one message.&quot;
else
  output += &quot;At your request I deleted &quot; + n + &quot;messages.&quot;

Then add complexity to code and translation when there is need.
If you are going to put that effort into your UI texts then you can as well afford coding the exceptions.

All other approaches are either too complicated or limited IMHO.</description>
		<content:encoded><![CDATA[<p>My solutions to this problem:</p>
<p>A. Use concise texts that work in any language with any number, such as:<br />
&#8220;Deleted comments: %s&#8221;</p>
<p>or</p>
<p>B. Use more elaborate wording for very user friendly languages and localize your code with it:</p>
<p>output := &#8220;Thank you, my friend! &#8221;<br />
if (n == 0)<br />
  output += &#8220;Unfortunately I couldn&#8217;t delete anything.&#8221;<br />
elseif (n == 1)<br />
  output += &#8220;At your request I deleted one message.&#8221;<br />
else<br />
  output += &#8220;At your request I deleted &#8221; + n + &#8220;messages.&#8221;</p>
<p>Then add complexity to code and translation when there is need.<br />
If you are going to put that effort into your UI texts then you can as well afford coding the exceptions.</p>
<p>All other approaches are either too complicated or limited IMHO.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Ginstrom</title>
		<link>http://ginstrom.com/scribbles/2007/10/11/my-solution-to-the-localization-horror-story/comment-page-1/#comment-73</link>
		<dc:creator>Ryan Ginstrom</dc:creator>
		<pubDate>Thu, 11 Oct 2007 22:22:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/10/11/my-solution-to-the-localization-horror-story/#comment-73</guid>
		<description>@Reginald

Well, even with the worst-case Russian scenario, I&#039;d imagine that even going up to 10,000 wouldn&#039;t contain more than a couple of hundred exceptions. That doesn&#039;t sound too bad to me.

But yes, maybe in seriously degenerate cases you could write a rule. When all you have to deal with is singular/plural, or even singular/dual/plural, then it&#039;s a no brainer (IMO).

The article also mentioned the case of &quot;Scanned 0 directories&quot; being &quot;Did not scan any directories&quot; in Italian -- the concrete translations would handle that as well.</description>
		<content:encoded><![CDATA[<p>@Reginald</p>
<p>Well, even with the worst-case Russian scenario, I&#8217;d imagine that even going up to 10,000 wouldn&#8217;t contain more than a couple of hundred exceptions. That doesn&#8217;t sound too bad to me.</p>
<p>But yes, maybe in seriously degenerate cases you could write a rule. When all you have to deal with is singular/plural, or even singular/dual/plural, then it&#8217;s a no brainer (IMO).</p>
<p>The article also mentioned the case of &#8220;Scanned 0 directories&#8221; being &#8220;Did not scan any directories&#8221; in Italian &#8212; the concrete translations would handle that as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reginald Drake</title>
		<link>http://ginstrom.com/scribbles/2007/10/11/my-solution-to-the-localization-horror-story/comment-page-1/#comment-72</link>
		<dc:creator>Reginald Drake</dc:creator>
		<pubDate>Thu, 11 Oct 2007 22:11:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/10/11/my-solution-to-the-localization-horror-story/#comment-72</guid>
		<description>&quot;Even so, however, it should be possible to give translations for up to some reasonable number — say, 10,000 directories.&quot;

Aww no, doing that for the dozens of situations that even a small application would contain is a terrible waste of resources. The idea of translating specific cases instead of trying to generalise for nouns and grammatical roles is probably a good idea, but I&#039;d add some way to dispatch on numbers, rather than on expanded text -- you&#039;d only need a few functions per language, which could categorize the numbers.</description>
		<content:encoded><![CDATA[<p>&#8220;Even so, however, it should be possible to give translations for up to some reasonable number — say, 10,000 directories.&#8221;</p>
<p>Aww no, doing that for the dozens of situations that even a small application would contain is a terrible waste of resources. The idea of translating specific cases instead of trying to generalise for nouns and grammatical roles is probably a good idea, but I&#8217;d add some way to dispatch on numbers, rather than on expanded text &#8212; you&#8217;d only need a few functions per language, which could categorize the numbers.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

