<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>

<h2>Spotlight: On Developers and Technology</h2>
<p><i>2002-02-20</i> 
<p>&nbsp; 
<h4>Spotlight 20: On Community Localizations--Hungarian</h4>
<p>The L10N project includes both localization and internationalization efforts. 
  And it has lately become a scene of some very exciting activity. OpenOffice.org 
  now has a community-sponsored Hungarian localization (translation and adaptation) 
  of the code. This in itself is quite good; but what is nothing short of amazing 
  is the speed with which it was made: less than a week. <i>Considerably</i> less 
  than a week. </p>
<p>I will let Noll Janos, who sent this account in to the <a href="http://l10n.openoffice.org.">L10N</a> 
  mailing list to tell the story*:</p>
<blockquote> 
  <p>Hi! </p>
  <p>Maybe this is a bit off-topic, but I think you'd all be somewhat interested...</p>
  <p>Several people in Hungary have had enough of not having a free, open translation 
    of the OpenOffice[.org] suite. (We have seen a now about 20% [of a] free translation, 
    which began 8 months ago; it is being coordinated partly by Magosanyi Arpad, 
    who is marked as the Hungarian contact person on the OpenOffice.org website. 
    This project is independent of him.) </p>
  <p>Let's start with the &quot;story&quot; part: We (3 people) decided that we 
    would do the translation from null, in just 3 days!</p>
  <p>Yes, that's right, 3 days, from the 1st of February to the 4th February. 
    We got a machine-equipped room from the Technical University of Budapest, 
    several sponsors took care of the food (mostly pizza) and drink (soft drinks, 
    cola).</p>
  <p>The project began on last Friday afternoon, and lasted until Monday morning, 
    and was mostly nonstop. About 12-16 people were in the project room at a time, 
    and about a 100 people collaborated over the 'net, using our special PHP/CGI 
    script. We translated the approximately 21000 strings that the localize tool 
    had extracted, in about 36 hours, then we proceeded to building, testing and 
    correcting the result. </p>
  <p>We didn't translate the help (and the &quot;long&quot; tooltips), and didn't 
    localize the &quot;files&quot; (autotext templates, etc.), but I think even 
    without these, this is a pretty good result. We have a webpage written in 
    Hungarian language on <a href="http://office.fsf.hu">http://office.fsf.hu</a>. 
    I don't think this will interest you, and some photos: <a href="http://office.fsf.hu/work/photos/%20">http://office.fsf.hu/work/photos/.</a></p>
  <p>We have appeared in several newsites here, and also had an appearance in 
    the public radio.</p>
</blockquote>
<p>The full exchange, starting with Noll's account, can be read on the <a href="http://l10n.openoffice.org/servlets/BrowseList?listName=dev&by=thread&from=5629">thread</a>. 
</p>
<p>I'll add that the importance of this project, and the ease with which it was 
  executed, can't be overemphasized. OpenOffice.org is an international program 
  and project; that it can be localized in three blistering days is remarkable, 
  and that there are people out there who not only know how to do this but are 
  willing to contribute so importantly to the project is very encouraging.</p>
<p>Congratulations!</p>
<p>-Louis Su&aacute;rez-Potts<br>
  Community Manager</p>
<p>*Edited slightly.</p>
<p><a href="spotlightindex.html">Spotlight Index</a></p>
</body>
</html>

