<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: A new Web-based localization tool</title>
	<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/</link>
	<description>We cook up tasty Web apps.</description>
	<pubDate>Thu, 28 Aug 2008 02:33:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Eduardo Bacchi Kienetz</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-1280</link>
		<dc:creator>Eduardo Bacchi Kienetz</dc:creator>
		<pubDate>Wed, 11 Jun 2008 03:31:17 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-1280</guid>
		<description>Whenever it is released as open source, please send me an e-mail so I'll post a new in Brazilian Portuguese.</description>
		<content:encoded><![CDATA[<p>Whenever it is released as open source, please send me an e-mail so I&#8217;ll post a new in Brazilian Portuguese.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cross Lingual Wiki Engine Project at Codefest 2008 &#124; Montreal Tech Watch</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-791</link>
		<dc:creator>Cross Lingual Wiki Engine Project at Codefest 2008 &#124; Montreal Tech Watch</dc:creator>
		<pubDate>Mon, 07 Jan 2008 01:45:09 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-791</guid>
		<description>[...] have already mentionned The Code Kitchen&#8217;s efforts in building a tool for localizing applications and how they provide multiple languages for their main product, [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] have already mentionned The Code Kitchen&#8217;s efforts in building a tool for localizing applications and how they provide multiple languages for their main product, [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wishcow</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-787</link>
		<dc:creator>wishcow</dc:creator>
		<pubDate>Fri, 21 Dec 2007 19:10:28 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-787</guid>
		<description>Hi Duncan,

We are working on an internationalized project http://www.traxtuff.com
our main difficulty is having to generate the po files from the project, sending them to the translators (a.k.a friends) and having to integrate them back into the project.

Our lead developer also decided that he really needs an html based po editor (great minds think alike).

It would have been cool to allow the translators to connect to our development site's html based "translation server" and let them translate the project directly, they can then see the results of the translation immediately without having to send us (the programmers) the translation files first.

That's why hosting the "translation server" inside our code is crucial, since it would have to synchronize automatically with code changes. 

If you are interested in turning this into an open source project, we would be happy to help out with the development - providing we have the same goals :) 

The mockup looks really cool by the way.</description>
		<content:encoded><![CDATA[<p>Hi Duncan,</p>
<p>We are working on an internationalized project <a href="http://www.traxtuff.com" rel="nofollow">http://www.traxtuff.com</a><br />
our main difficulty is having to generate the po files from the project, sending them to the translators (a.k.a friends) and having to integrate them back into the project.</p>
<p>Our lead developer also decided that he really needs an html based po editor (great minds think alike).</p>
<p>It would have been cool to allow the translators to connect to our development site&#8217;s html based &#8220;translation server&#8221; and let them translate the project directly, they can then see the results of the translation immediately without having to send us (the programmers) the translation files first.</p>
<p>That&#8217;s why hosting the &#8220;translation server&#8221; inside our code is crucial, since it would have to synchronize automatically with code changes. </p>
<p>If you are interested in turning this into an open source project, we would be happy to help out with the development - providing we have the same goals <img src='http://www.thecodekitchen.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The mockup looks really cool by the way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mikko Ohtamaa</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-773</link>
		<dc:creator>Mikko Ohtamaa</dc:creator>
		<pubDate>Fri, 23 Nov 2007 10:15:54 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-773</guid>
		<description>My great vision:

- Each text editor has Wikipedia-like account (can be anonymous too)

- All entries are stored in the database

- You can plug-in the translation machine to any web server (PHP/Python/Java). it uses its own backend and the embedding is done with simple server-side hooks and few Javascript files 

- Everyone can edit entries. However, there is some kind of trust mechanism preventing vandalism. For example, anonymous edits need to be confirmed and users need to earn some trust points to make non-reviewed edits

- The site texts can be rolled out regularly (once in a day) or manually by generating gettext .po files from the database 

- The web page itself may have Javascript-based pop-up interface for text editing. For example, in the bottom right corner you have an icon which opens a dialog box with text editing capabilities:

     - Choose languages (you can see few languages at a time)

     - Browse language entries for this page. The dialog loads them asynchronously via AJAX

     - Click any text to see its translation information in the target languages. The matching between actual web page visible text and gettext database entry can be done by heurestic matching (regexp can fill those %s in gettext) or by hidden embedded translation information on the page (e.g. a javascript snipped containing page entry -&#62; gettext id mappings)

    - You can change the text instantly. However, the change is visible only for yourself until it's reviewed and rolled out 

   - You can save entries to database, see entry history and other version control and translation management specific actions using asynchronous Javascript calls</description>
		<content:encoded><![CDATA[<p>My great vision:</p>
<p>- Each text editor has Wikipedia-like account (can be anonymous too)</p>
<p>- All entries are stored in the database</p>
<p>- You can plug-in the translation machine to any web server (PHP/Python/Java). it uses its own backend and the embedding is done with simple server-side hooks and few Javascript files </p>
<p>- Everyone can edit entries. However, there is some kind of trust mechanism preventing vandalism. For example, anonymous edits need to be confirmed and users need to earn some trust points to make non-reviewed edits</p>
<p>- The site texts can be rolled out regularly (once in a day) or manually by generating gettext .po files from the database </p>
<p>- The web page itself may have Javascript-based pop-up interface for text editing. For example, in the bottom right corner you have an icon which opens a dialog box with text editing capabilities:</p>
<p>     - Choose languages (you can see few languages at a time)</p>
<p>     - Browse language entries for this page. The dialog loads them asynchronously via AJAX</p>
<p>     - Click any text to see its translation information in the target languages. The matching between actual web page visible text and gettext database entry can be done by heurestic matching (regexp can fill those %s in gettext) or by hidden embedded translation information on the page (e.g. a javascript snipped containing page entry -&gt; gettext id mappings)</p>
<p>    - You can change the text instantly. However, the change is visible only for yourself until it&#8217;s reviewed and rolled out </p>
<p>   - You can save entries to database, see entry history and other version control and translation management specific actions using asynchronous Javascript calls</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Law</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-772</link>
		<dc:creator>Simon Law</dc:creator>
		<pubDate>Fri, 23 Nov 2007 01:06:07 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-772</guid>
		<description>Well, you could supply the same interface as libgettext, but make it database-backed.  Because all of your translations are already stored in a database with your current tool, right?  Or, the simpler hack would be to atomically replace the .mo files after someone has done a translation.

I'm not sure generic automated spam detection would work so well with something like this.  Maybe you'd want to run the translated text past an online dictionary, to see if it matches up a high percentage of the right words?

Evan's idea of building a reputation system is a good idea.</description>
		<content:encoded><![CDATA[<p>Well, you could supply the same interface as libgettext, but make it database-backed.  Because all of your translations are already stored in a database with your current tool, right?  Or, the simpler hack would be to atomically replace the .mo files after someone has done a translation.</p>
<p>I&#8217;m not sure generic automated spam detection would work so well with something like this.  Maybe you&#8217;d want to run the translated text past an online dictionary, to see if it matches up a high percentage of the right words?</p>
<p>Evan&#8217;s idea of building a reputation system is a good idea.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Duncan Moore</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-771</link>
		<dc:creator>Duncan Moore</dc:creator>
		<pubDate>Fri, 23 Nov 2007 00:53:03 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-771</guid>
		<description>First, a clarification: I'm not sure that the point-and-click idea is compatible with what our tool would offer, since Gettext uses a language file hosted separately from the interface and the messages displayed are generated dynamically. But the idea of a point-and-click approach is interesting in terms of facilitating a more multilingual Web.

Good point about the spam aspect! I'm sure the Defensio system could be brought to bear for something like this, though, from what I understand of their product (which we are now using on this blog!).

If I clicked on a page to translate it, though, where would the translated text be stored, and how would it be displayed when someone wanted to view that language version later? The wiki approach might be a solution. I had an interesting conversation recently with Evan Prodromou about how one might create a reputation tool that would encourage more widespread translation of wiki entries. The concept of reputation/trusted status and/or voting heuristics for quality control is interesting.

À suivre !</description>
		<content:encoded><![CDATA[<p>First, a clarification: I&#8217;m not sure that the point-and-click idea is compatible with what our tool would offer, since Gettext uses a language file hosted separately from the interface and the messages displayed are generated dynamically. But the idea of a point-and-click approach is interesting in terms of facilitating a more multilingual Web.</p>
<p>Good point about the spam aspect! I&#8217;m sure the Defensio system could be brought to bear for something like this, though, from what I understand of their product (which we are now using on this blog!).</p>
<p>If I clicked on a page to translate it, though, where would the translated text be stored, and how would it be displayed when someone wanted to view that language version later? The wiki approach might be a solution. I had an interesting conversation recently with Evan Prodromou about how one might create a reputation tool that would encourage more widespread translation of wiki entries. The concept of reputation/trusted status and/or voting heuristics for quality control is interesting.</p>
<p>À suivre !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Law</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-770</link>
		<dc:creator>Simon Law</dc:creator>
		<pubDate>Thu, 22 Nov 2007 23:15:48 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-770</guid>
		<description>Duncan,

Well, you could always put the translations under a permissive license, like Wikipedia does for its articles.  I don't think you have to make it a web standard at first, especially since web standards often need a reference implementation before you start the process.

What's probably going to be the biggest issue for translation like this is having to revert spam.  I guess you could have trusted translators (maybe registered users or power users?) since random people updating your translations probably isn't the way to go.

You might also have a UI issue when people accidentally double-click on some text.

Simon</description>
		<content:encoded><![CDATA[<p>Duncan,</p>
<p>Well, you could always put the translations under a permissive license, like Wikipedia does for its articles.  I don&#8217;t think you have to make it a web standard at first, especially since web standards often need a reference implementation before you start the process.</p>
<p>What&#8217;s probably going to be the biggest issue for translation like this is having to revert spam.  I guess you could have trusted translators (maybe registered users or power users?) since random people updating your translations probably isn&#8217;t the way to go.</p>
<p>You might also have a UI issue when people accidentally double-click on some text.</p>
<p>Simon</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Duncan Moore</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-769</link>
		<dc:creator>Duncan Moore</dc:creator>
		<pubDate>Thu, 22 Nov 2007 23:13:54 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-769</guid>
		<description>Hi Mikko, and sorry about the belated reply. 

Thanks for the offer for testing! We'll keep that in mind when we're ready to open it up to third parties.

Interesting ideas about point-and-click translation for websites... For this to work, I imagine that it would have to become a Web standard first, no? Then there's the issue of copyright, as well as whether this approach would work with dynamically-generated sites.

Food for thought, in any case!</description>
		<content:encoded><![CDATA[<p>Hi Mikko, and sorry about the belated reply. </p>
<p>Thanks for the offer for testing! We&#8217;ll keep that in mind when we&#8217;re ready to open it up to third parties.</p>
<p>Interesting ideas about point-and-click translation for websites&#8230; For this to work, I imagine that it would have to become a Web standard first, no? Then there&#8217;s the issue of copyright, as well as whether this approach would work with dynamically-generated sites.</p>
<p>Food for thought, in any case!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mikko Ohtamaa</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-767</link>
		<dc:creator>Mikko Ohtamaa</dc:creator>
		<pubDate>Mon, 19 Nov 2007 19:09:53 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-767</guid>
		<description>Hi Duncan,

How about this wild feature: just point and click any web page text to translate it? Anyone could do Wiki style editing and the final translation could be determined by voting/heurestics to prevent vandalism.

For example, translation ids could be embedded to web page code using Javascript and then a click causes a pop-up Javascript window loading where you can instantly translate text to another language. Or a simple search could find the original text string.

Ps. If you want some (commercial) testing ground for your product I could have one small client doing Russian translations for few websites. I think we are going wth in-house tool unless we find something similar you have described here.</description>
		<content:encoded><![CDATA[<p>Hi Duncan,</p>
<p>How about this wild feature: just point and click any web page text to translate it? Anyone could do Wiki style editing and the final translation could be determined by voting/heurestics to prevent vandalism.</p>
<p>For example, translation ids could be embedded to web page code using Javascript and then a click causes a pop-up Javascript window loading where you can instantly translate text to another language. Or a simple search could find the original text string.</p>
<p>Ps. If you want some (commercial) testing ground for your product I could have one small client doing Russian translations for few websites. I think we are going wth in-house tool unless we find something similar you have described here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BarCampMontreal3 report &#171; Marc-André Cournoyer&#8217;s blog</title>
		<link>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-600</link>
		<dc:creator>BarCampMontreal3 report &#171; Marc-André Cournoyer&#8217;s blog</dc:creator>
		<pubDate>Sun, 04 Nov 2007 03:04:14 +0000</pubDate>
		<guid>http://www.thecodekitchen.com/blog/2007/09/21/a-new-web-based-localization-tool/#comment-600</guid>
		<description>[...] the logo and the name, because it&#8217;s all layers, API, something-I-forgot, plugins. It&#8217;s multilingual, has a couple of plugins for analytic, CRM and Google Maps. He also did a demo of it by sending and [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] the logo and the name, because it&#8217;s all layers, API, something-I-forgot, plugins. It&#8217;s multilingual, has a couple of plugins for analytic, CRM and Google Maps. He also did a demo of it by sending and [&#8230;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
