<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Arindam's Weblog &#187; Programming</title>
	<atom:link href="http://arindamghosh.wordpress.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://arindamghosh.wordpress.com</link>
	<description>The programmers' Kafe-Koffee</description>
	<lastBuildDate>Wed, 20 May 2009 08:30:18 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='arindamghosh.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/f3188a063d936b44cbabdc9df044d598?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Arindam's Weblog &#187; Programming</title>
		<link>http://arindamghosh.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://arindamghosh.wordpress.com/osd.xml" title="Arindam&#8217;s Weblog" />
		<item>
		<title>Initial release of the i18n branch of osm rails-port</title>
		<link>http://arindamghosh.wordpress.com/2008/09/11/initial-release-of-thee-i18n-branch-of-osm-rails-port/</link>
		<comments>http://arindamghosh.wordpress.com/2008/09/11/initial-release-of-thee-i18n-branch-of-osm-rails-port/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 03:34:02 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/?p=154</guid>
		<description><![CDATA[Now, we have a working i18n branch for the osm rails_port. This setup is done by using globalize and click-to-globalize plugins. As of now all/most strings of website can be translated using the present translation interface. We even have l10n statistics, translation update feeds and more&#8230;
SVN Branch: [http://svn.openstreetmap.org/sites/rails_port_branches/i18n/]
Wikipage: [http://tinyurl.com/osm-i18n]
More detailed writeup: [http://makghosh.googlepages.com/gsoc-writeup.pdf]
Loads of thanks to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=154&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Now, we have a working i18n branch for the osm rails_port. This setup is done by using globalize and click-to-globalize plugins. As of now all/most strings of website can be translated using the present translation interface. We even have l10n statistics, translation update feeds and more&#8230;</p>
<p><strong>SVN Branch:</strong> [<a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/" target="_blank">http://svn.openstreetmap.org/sites/rails_port_branches/i18n/</a>]</p>
<p><strong>Wikipage:</strong> [<a href="http://tinyurl.com/osm-i18n">http://tinyurl.com/osm-i18n</a>]</p>
<p><strong>More detailed writeup:</strong> [<a href="http://makghosh.googlepages.com/gsoc-writeup.pdf" target="_blank">http://makghosh.googlepages.com/gsoc-writeup.pdf</a>]</p>
<p>Loads of thanks to my mentor <a href="http://brainoff.com">Mikel Maron</a> and the entire osm community for guiding and helping me out in internationalizing the rails-port <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Another major chunk of work that will follow this is, map-tile localization. Also there are some enhancements to be done, listed in <a href="http://wiki.openstreetmap.org/index.php/Internationalization#Things_to_do">todo section</a> of the wikipage. So discussions are open. And, i&#8217;m really glad that I passed my final evaluation of Google SoC, thanks again goes to my mentor <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It was a rocking summer!!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/154/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/154/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=154&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2008/09/11/initial-release-of-thee-i18n-branch-of-osm-rails-port/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>
	</item>
		<item>
		<title>Language filtering of diary entries!!</title>
		<link>http://arindamghosh.wordpress.com/2008/08/24/language-filtering-of-diary-entries/</link>
		<comments>http://arindamghosh.wordpress.com/2008/08/24/language-filtering-of-diary-entries/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 20:06:57 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/?p=119</guid>
		<description><![CDATA[This feature was originally proposed by Dan Karran as a comment in one of my earlier posts. Anyway, so here we have &#8220;show all / filter by my language&#8221; tags in the user diaries&#8217; pages. By default, all entries are shown. We can click on &#8216;filter by my language&#8217; so as filter the posts by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=119&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This feature was originally proposed by <a href="http://www.dankarran.com/">Dan Karran</a> as a <a href="http://arindamghosh.wordpress.com/2008/07/22/users-language-preference-added-in-osm-rails-port/">comment in one of my earlier posts</a>. Anyway, so here we have &#8220;show all / filter by my language&#8221; tags in the user diaries&#8217; pages. By default, all entries are shown. We can click on &#8216;filter by my language&#8217; so as filter the posts by the locale selected by the user in his preferences. We can also have feeds for these filtered entries. The screen-shot of current diary entries page,</p>
<div id="attachment_120" class="wp-caption aligncenter" style="width: 510px"><a href="http://farm4.static.flickr.com/3178/2789658619_c2627ffb24_o.png"><img class="size-large wp-image-120" src="http://arindamghosh.files.wordpress.com/2008/08/screenshot-filter.png?w=500&#038;h=322" alt="openstreetmap-language-filter-diary-entries" width="500" height="322" /></a><p class="wp-caption-text">Image #1: openstreetmap-language-filter-diary-entries</p></div>
<p>And for this we need to specify the language of each diary entry. So new entry page has an option or rather a dropdown menu from where we select the language of the entry. This preference, by default takes the value of user&#8217;s current locale and is saved in language column of diary_entries table. The screen-shot of &#8216;new diary entry&#8217; is as follows,</p>
<div id="attachment_121" class="wp-caption aligncenter" style="width: 510px"><a href="http://farm4.static.flickr.com/3088/2790506904_f18f60cd2b_o.png"><img class="size-large wp-image-121" src="http://arindamghosh.files.wordpress.com/2008/08/screenshot-de.png?w=500&#038;h=285" alt="openstreetmap-new-diary-entry" width="500" height="285" /></a><p class="wp-caption-text">Image #2: openstreetmap-new-diary-entry</p></div>
<p>Also put up your suggestions&#8230; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/119/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/119/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=119&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2008/08/24/language-filtering-of-diary-entries/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>

		<media:content url="http://arindamghosh.files.wordpress.com/2008/08/screenshot-filter.png?w=500" medium="image">
			<media:title type="html">openstreetmap-language-filter-diary-entries</media:title>
		</media:content>

		<media:content url="http://arindamghosh.files.wordpress.com/2008/08/screenshot-de.png?w=500" medium="image">
			<media:title type="html">openstreetmap-new-diary-entry</media:title>
		</media:content>
	</item>
		<item>
		<title>Localization Statistics</title>
		<link>http://arindamghosh.wordpress.com/2008/08/24/l10n-statistics/</link>
		<comments>http://arindamghosh.wordpress.com/2008/08/24/l10n-statistics/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 19:56:18 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/?p=114</guid>
		<description><![CDATA[After translation updates, I did the l10n statistics. This basically give the translators an idea of number of pending/completed strings and percentage of localization done for all locales currently supported by the app.  For this i created a Statistics table in database using migration. Now the statistics are updated when user clicks on the l10n [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=114&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>After translation updates, I did the l10n statistics. This basically give the translators an idea of number of pending/completed strings and percentage of localization done for all locales currently supported by the app.  For this i <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/db/migrate/013_create_statistics.rb">created a Statistics table</a> in database using migration. Now the statistics are updated when user clicks on the l10n link on his/her home page. The logic (in <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/app/controllers/translate_controller.rb">TranslateController#stats</a>) is if the current language of the user is not present in the statistics table, it is added. Otherwise normally the values are updated with the help of globalize_translations table. The screen-shot of the l10n statistics,</p>
<div id="attachment_115" class="wp-caption aligncenter" style="width: 510px"><a href="http://farm4.static.flickr.com/3149/2790270774_527a6e8221_o.png"><img class="size-large wp-image-115" src="http://arindamghosh.files.wordpress.com/2008/08/screenshot-l10n-statistics.png?w=500&#038;h=238" alt="openstreetmap-l10n-statistics" width="500" height="238" /></a><p class="wp-caption-text">Image #1: openstreetmap-l10n-statistics</p></div>
<p>Its&#8217; the &#8216;l10n statistics&#8217; that apears first when the translator clicks on l10n link in his/her home page. Another nifty feature is that, s/he can view the sort the l10n statistics in two ways, &#8216;by percentage&#8217; or &#8216;by number of completed strings&#8217; in descending order. Also, every locale has a link to the pending/completed strings page associated with the numbers.</p>
<p>Apart from this, i have kept this l10n statistics page (without those pending/completed strings link) visible to all users, just to motivate more of them into translation. The screenshot of user&#8217;s home page with l10n link (view rendered in bn-IN locale as you can see one string i translated for example),</p>
<div id="attachment_116" class="wp-caption aligncenter" style="width: 510px"><a href="http://farm4.static.flickr.com/3133/2789453431_82a03b3067_o.png"><img class="size-large wp-image-116" src="http://arindamghosh.files.wordpress.com/2008/08/screenshot-example.png?w=500&#038;h=265" alt="openstreetmap-l10n-example" width="500" height="265" /></a><p class="wp-caption-text">Image #2: openstreetmap-user-home-bengali-partial</p></div>
<p>The difference between user/translator is done by tr_status column in user table,</p>
<p>0 = User<br />
1 = Translator<br />
2 = l10n Admin (proposed)</p>
<p><strong>Todo: </strong>For now, the tr_status is updated manually. We have thought about a admin page for the l10n admin where s/he can add/remove translators, add/remove coordinators etc. Thoughts??</p>
<p>Please put up your comments or suggestions&#8230;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/114/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/114/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=114&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2008/08/24/l10n-statistics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>

		<media:content url="http://arindamghosh.files.wordpress.com/2008/08/screenshot-l10n-statistics.png?w=500" medium="image">
			<media:title type="html">openstreetmap-l10n-statistics</media:title>
		</media:content>

		<media:content url="http://arindamghosh.files.wordpress.com/2008/08/screenshot-example.png?w=500" medium="image">
			<media:title type="html">openstreetmap-l10n-example</media:title>
		</media:content>
	</item>
		<item>
		<title>Translation updates via RSS</title>
		<link>http://arindamghosh.wordpress.com/2008/08/24/translation-updates-via-rss/</link>
		<comments>http://arindamghosh.wordpress.com/2008/08/24/translation-updates-via-rss/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 19:47:16 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/?p=100</guid>
		<description><![CDATA[Its&#8217; been a while since i last posted an update. So now, I need to open-discuss all my exploits for last 2-3 weeks. I owe lot of thanks to my mentor Mikel Maron for helping  me out in testing different features, pointing out some important bugs, suggesting new features and how to code/implement them. Now, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=100&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Its&#8217; been a while since i last posted an update. So now, I need to open-discuss all my exploits for last 2-3 weeks. I owe lot of thanks to my mentor <a href="http://brainoff.com">Mikel Maron</a> for helping  me out in testing different features, pointing out some important bugs, suggesting new features and how to code/implement them. Now, coming straight to the point, with help of <a href="http://www.globalize-rails.org/">globalize plugin</a> in <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/vendor/plugins/globalize/">osm rails-port</a>, we now have translation feeds. I mean now translators can now have rss feeds for their default language (say spanish (es-ES)), both for pending and completed strings. These are the strings generated or rather added in the globalize_translations table while different views are rendered in that locale.</p>
<p>We have the entire list of pending or completed strings for a particular locale (which is actually the language chosen in user settings page) paginated in groups of ten, which is in turn available as updates by rss feeds. We can simply move to &#8220;older strings / newer strings&#8221; accordingly. For doing these i needed to add <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/app/controllers/translate_controller.rb">translate_controller.rb</a>, <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/app/views/translate/">corresponding views</a> and also updated the <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/config/routes.rb">routes.rb</a> as required. The screen-shot of the &#8220;l10n home&#8221; that we have in osm rails-port now,</p>
<div id="attachment_108" class="wp-caption aligncenter" style="width: 510px"><a href="http://farm4.static.flickr.com/3213/2789324363_bc9b4678e4_o.png"><img class="size-full wp-image-108" src="http://arindamghosh.files.wordpress.com/2008/08/screenshot-openstreetmap-l10n-home1.png?w=500&#038;h=376" alt="openstreetmap-l10n-home-pending-strings" width="500" height="376" /></a><p class="wp-caption-text">Image #1: openstreetmap-l10n-home-pending-strings-with-rss</p></div>
<p>Also, each string has a link that opens up the translation interface where we can view the string and add/update the translation for that particular string. For this purpose, I have used a <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/app/views/translate/view.rhtml">form</a>, where we can type-in the translation for the string in the translators&#8217; locale. When we add/update translation for a string, its&#8217; updated in the database and if everything works fine, we are confirmed by a flash notice &#8220;Translation was updated successfully&#8221;. The next time we open the corresponding view, we find the string translated. Here&#8217;s the screenshot of the translation interface,</p>
<div id="attachment_110" class="wp-caption aligncenter" style="width: 510px"><a href="http://farm4.static.flickr.com/3020/2790192328_f772d334c3_o.png"><img class="size-large wp-image-110" src="http://arindamghosh.files.wordpress.com/2008/08/screenshot-update-string.png?w=500&#038;h=279" alt="openstreetmap-translation-interface" width="500" height="279" /></a><p class="wp-caption-text">Image #2: openstreetmap-translation-interface</p></div>
<p>There are some languages which are common to multiple countries. So i had to update the views so that locale without any country tag can be added. I mean earlier, Spanish(es-ES) &amp; German(de-DE) etc got to have the country tag. But now languages like Arabic(ar) common to multiple countries <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/config/environment.rb">can also be added</a>.</p>
<p><strong>Todo:</strong> Now this web-based translation is actually meant to be handled by the ajax in-place-editor of click-to-globalize. Because it places the translatable strings in context, as an advantage. But the problems with CtG are partially fixed. More on this at a later post. So we need the in-place editor start working. Although, the existing translation interface will stay on, so that translators can update translation of any string on the go, if needed just by checking the feeds. They don&#8217;t have to search for the concerned view! Thoughts??</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/100/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/100/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=100&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2008/08/24/translation-updates-via-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>

		<media:content url="http://arindamghosh.files.wordpress.com/2008/08/screenshot-openstreetmap-l10n-home1.png" medium="image">
			<media:title type="html">openstreetmap-l10n-home-pending-strings</media:title>
		</media:content>

		<media:content url="http://arindamghosh.files.wordpress.com/2008/08/screenshot-update-string.png?w=500" medium="image">
			<media:title type="html">openstreetmap-translation-interface</media:title>
		</media:content>
	</item>
		<item>
		<title>User&#8217;s language preference added in osm rails-port</title>
		<link>http://arindamghosh.wordpress.com/2008/07/22/users-language-preference-added-in-osm-rails-port/</link>
		<comments>http://arindamghosh.wordpress.com/2008/07/22/users-language-preference-added-in-osm-rails-port/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 09:43:56 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[GSoC]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/?p=77</guid>
		<description><![CDATA[In last couple of days, I added the user language preference in the osm rails-port. It is basically implemented by a drop-down menu in the settings page of the user, from where he can easily select &#38; save the desired locale. When the selection is saved, it&#8217;s saved in the database where a locale column [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=77&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In last couple of days, I added the <strong>user language preference</strong> in the <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/">osm rails-port</a>. It is basically implemented by a drop-down menu in the settings page of the user, from where he can easily select &amp; save the desired locale. When the selection is saved, it&#8217;s saved in the database where a locale column has been added to user table by migration (<a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/db/migrate/012_add_user_locale.rb">012_add_user_locale.rb</a>).  The drop-down menu is implemented in the view (<a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/app/views/user/account.rhtml">account.rhtml</a>) by a helper method called &#8220;<a href="http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M001749">select</a>&#8221; as given,</p>
<p><code>select ("user", "locale", { "English(US)" =&gt; "en-US", "Bengali(IN)" =&gt; "bn-IN", "Hindi(IN)" =&gt; "hn-IN", "Spanish" =&gt; "es-ES" })</code></p>
<p>Correspondingly, the user&#8217;s model &amp; controller has been updated. Here, i have used a hash within the select method for specifying languages, which can be easily replaced by a hash variable defined in config/environment.rb for convinience. Another approach maybe to find all the locale codes from globalize_translation table migrated by the globalize plugin using &#8220;<a href="http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M001750">collection_select</a>&#8221; helper method. But, in the previous one we actually will have the flexibility to add only those languages we prefer (it may be based on availabity of translations or rather request for the language branch by an l10n team).</p>
<p>This language preference option is somewhat independant of the plugin problems. But the locale-routing part is yet to be decided, regarding how to do that, because click-to-globalize also implements some sort of routing associated with locale_controller.rb. The screenshot of the user settings page:</p>
<div id="attachment_78" class="wp-caption aligncenter" style="width: 460px"><a href="http://arindamghosh.files.wordpress.com/2008/07/osm-edit-account.png"><img class="size-full wp-image-78" src="http://arindamghosh.files.wordpress.com/2008/07/osm-edit-account.png?w=450&#038;h=263" alt="User's language preference added!" width="450" height="263" /></a><p class="wp-caption-text">User&#39;s language preference added.</p></div>
<p>More importantly, a sort of <strong>bug that came with the globalize plugin</strong> as i have <a href="http://arindamghosh.wordpress.com/2008/07/13/globalization-of-views-done/">posted earlier</a> (<a href="http://makghosh.fedorapeople.org/osm/error.log">error log</a>) is <strong>now fixed</strong>. As it can seen in the log, while I tried to create a new user, <code>&lt;% error_messages_for 'user' %&gt;</code> is called in the <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/app/views/user/new.rhtml">app/view/user/new.rhtml</a>. Now, globalize plugin <a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/vendor/plugins/globalize/lib/globalize/rails/active_record_helper.rb.bak">overrides</a> the &#8220;<a href="http://api.rubyonrails.org/classes/ActionView/Helpers/ActiveRecordHelper.html#M001670">error_messages_for</a>&#8221; helper method for it&#8217;s own requirements. The helper method tried to execute <code>nil.errors?</code> (from the error log) which is quite obvious, since the object user is created after rendering the view and resulted with errors. I first tried to take care of this by a small change in <a title="old version" href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/vendor/plugins/globalize/lib/globalize/rails/active_record_helper.rb.bak">active_record_helper.rb</a> within the globalize plugin:</p>
<p><code>return "" if object_name.nil?</code></p>
<p>But it didn&#8217;t do much good. Later i found a better fix from rails-forum which actually worked flawlessly. Here&#8217;s the <a title="newer version" href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/vendor/plugins/globalize/lib/globalize/rails/active_record_helper.rb">new </a><a title="newer version" href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/vendor/plugins/globalize/lib/globalize/rails/active_record_helper.rb">active_record_helper.rb</a>. So one of the two big problems i previously blogged with these plugins is solved. Since, globalize started working i could also test the views related to &#8216;user&#8217;. There were some sillymistakes for example, forgot to use to_s in @user.messages.size in the globalized view.</p>
<p><code>"You have %s new messages and".t(nil,@user.new_messages.size.to_s) + " %s old messages".t(nil,(@user.messages.size - @user.new_messages.size).to_s)</code></p>
<p>I have commited all these updates in the i18n branch. Also, apart from the inherent loopholes in click-to-globalize, we are also focussing on other areas that needs to addressed including translation notifications etc. Please put up your comments and suggestions <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/77/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/77/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=77&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2008/07/22/users-language-preference-added-in-osm-rails-port/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>

		<media:content url="http://arindamghosh.files.wordpress.com/2008/07/osm-edit-account.png" medium="image">
			<media:title type="html">User's language preference added!</media:title>
		</media:content>
	</item>
		<item>
		<title>Globalization of views done</title>
		<link>http://arindamghosh.wordpress.com/2008/07/13/globalization-of-views-done/</link>
		<comments>http://arindamghosh.wordpress.com/2008/07/13/globalization-of-views-done/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 20:11:55 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/?p=75</guid>
		<description><![CDATA[Today i finished commiting all the globalized views. You check them out in the svn: [http://svn.openstreetmap.org/sites/rails_port_branches/i18n/app/views]. Some of the views have simply &#60;%= "text to globalize".t -%&#62; things and some also have &#60;%= "Hello, %s".t(nil,@user.name) -%&#62; sprinf() like stuff. This basically means that whenever translations are available in the database, they get rendered into the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=75&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today i finished commiting all the globalized views. You check them out in the svn: [<a href="http://svn.openstreetmap.org/sites/rails_port_branches/i18n/app/views">http://svn.openstreetmap.org/sites/rails_port_branches/i18n/app/views</a>]. Some of the views have simply <code>&lt;%= "text to globalize".t -%&gt;</code> things and some also have <code>&lt;%= "Hello, %s".t(nil,@user.name) -%&gt;</code> sprinf() like stuff. This basically means that whenever translations are available in the database, they get rendered into the pages for that particular locale. But now, the next step is to add a mechanism to feed translations and change/preference of user&#8217;s locale, which we decided to be handled by click-to-globalize plugin.</p>
<p>Currently, it&#8217;s giving some serious problem like [<a href="http://makghosh.fedorapeople.org/osm/ctg-error.log">http://makghosh.fedorapeople.org/osm/ctg-error.log</a>]. I talked with svenfuchs in #rubyonrails to know that the latest globalize plugin has been moved to the <a href="http://github.com/yannlugrin/globalize/tree">github</a>. Hope this will solve the problem somewhat. And also while creating a new user <a href="http://makghosh.fedorapeople.org/osm/error.log">a nil object NoMethodError</a> is caught by the exception. I&#8217;m looking into these for a fix ASAP. It would be great if someone can help me to sort this out.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/75/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/75/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=75&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2008/07/13/globalization-of-views-done/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>
	</item>
		<item>
		<title>Update 101: &#8220;The magic has begun&#8221;</title>
		<link>http://arindamghosh.wordpress.com/2008/05/30/update-101-the-magic-has-begun/</link>
		<comments>http://arindamghosh.wordpress.com/2008/05/30/update-101-the-magic-has-begun/#comments</comments>
		<pubDate>Thu, 29 May 2008 23:20:08 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/?p=62</guid>
		<description><![CDATA[All these days i was continuously working setting up the infrastructure ready, doing custom setups and testing things for the i18n of openstreetmap, more precisely setting up internationalization in rails which will comprise a major chunk of my gsoc project.
I started off by setting up an osm local install on my desktop earlier this month. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=62&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>All these days i was continuously working setting up the infrastructure ready, doing custom setups and testing things for the i18n of openstreetmap, more precisely setting up internationalization in rails which will comprise a major chunk of <a href="http://code.google.com/soc/2008/streetmap/appinfo.html?csaid=C0A25FBD41B8B932" target="_self">my gsoc project</a>.</p>
<p>I started off by setting up an osm local install on my desktop earlier this month. That was something because there different set of things to look after and configure each of them properly. I got little stuck with the <a href="http://svn.openstreetmap.org/applications/utils/mod_tile/" target="_self">mod_tile</a> thingy&#8230;the configs. I just couldn&#8217;t find where was some hard-coded paths renderd daemon was trying to access. Thanks to <a href="http://wiki.openstreetmap.org/index.php/User:TomH">TomH</a> &amp; Alex, for mentioning about gen_tile.cpp. I thought all of these paths should be placed in render_config.h  and even made a patch of it (to ease my work) but later learnt and/or realized that they are meant to serve some greater purpose like module options actually.</p>
<p>So, crossing all this, when rails together with mapnik powered on for the first time i was awestruck. I just wanted to laugh&#8230;whew!! Then after some discussions with my mentor <a href="http://brainoff.com" target="_self">Mikel Maron</a>, we looked up at the different options available. He gave me a <a href="http://wiki.rubyonrails.org/rails/pages/InternationalizationComparison" target="_self">comparative study</a> of different ways to internationalize rails. I kinda liked two amongst them namely, <a href="http://globalize.rubyforge.org/" target="_self">globalize-rails</a> and <a href="www.yotabanana.com/hiki/ruby-gettext.html?ruby-gettext" target="_self">ruby-gettext</a> (which i had proposed earlier). So as planned, I somewhat did some quick hacky test setups to test both of them. Though they weren&#8217;t free of problems, but as of now, i simply like the robustness of globalize combined with click-to-globalize plugin. Also the the fact that globalize currently supports more languages give it a plus. <a href="http://www.artweb-design.de/2006/11/10/get-on-rails-with-globalize-comprehensive-writeup">Sven Fuchs</a> has written some really cool tutorials&#8230;.thanks to him because i don&#8217;t know for some reason whatsoever i&#8217;m not getting the <a href="http://www.globalize-rails.org" target="_self">www.globalize-rails.org</a>. Anyway, the current state is i&#8217;m trying to setup globalize in the rails_port of osm now. Its&#8217; bound to have lots&#8217; of problem&#8230;need to fix them. Another concern is that about the translators&#8217; accounts. Whether it will be wiki-like so that anyone can put up translations or the traditional translation groups somewhat moderated. Though this will come at a later stage.</p>
<p>In the meantime, i actually upgraded my desktop to an <a href="http://processorfinder.intel.com/details.aspx?sSpec=SLAPP" target="_self">E8200 2.66 GHz proc.</a> + DG33FB motherboard + 2 GB combination and its&#8217; showing some real power. So, another ordeal that came up of nowhere was shifting the entire setup to the new hdd. It made me remember of the osm vmware image that Milo van der Linden talked about in the early stages of the project. There was some real hike in the rendering speed compared to my 5-yrs old celeron 1.7 GHz mobo.</p>
<p>But now, my 6th semester exams are scheduled from 3rd-13th of June and i&#8217;m really getting low working hours now <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  I will also put up a wikipage regarding i18n sooner than later. Loads of work still left&#8230;</p>
<p>Among other news, my activity oriented tutorials are up on the <a href="http://edu.kde.org" target="_self">edu.kde.org</a> &#8230;lots of thanks to <a href="http://annma.blogspot.com/" target="_self">Anne Marie (annma)</a> for putting them up. I just love the logo guy pointing to the tutorials. Hopefully, i&#8217;ll try to put more of them. And more recently <a href="http://debayan.wordpress.com" target="_self">Debayan</a> from <a href="www.nitdgp.ac.in">NIT-DGP</a> has put up the 3rd ntp pool server for India (<a href="http://indradg.randomink.org/blog/archives/99">with my WBUT starting the spur as always</a>). I can now three ntp servers in <a href="http://www.pool.ntp.org/zone/in" target="_self">http://www.pool.ntp.org/zone/in.</a></p>
<p><span style="color:#ff0000;"><strong>Update:</strong></span> Also as a matter of fact, globalize-rails now supports much more languages compared to ruby-gettext. And when combined with click-to-globalize plugin, i can see that we can even actually chip in translations from a WebUI&#8230;.which is pretty cool <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/62/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/62/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=62&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2008/05/30/update-101-the-magic-has-begun/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>
	</item>
		<item>
		<title>i18n in OpenStreetMap</title>
		<link>http://arindamghosh.wordpress.com/2008/04/23/i18n-in-openstreetmap/</link>
		<comments>http://arindamghosh.wordpress.com/2008/04/23/i18n-in-openstreetmap/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 15:08:10 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[FOSS]]></category>
		<category><![CDATA[GSoC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenStreetMap]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/?p=61</guid>
		<description><![CDATA[Yesterday, as an interesting twist of events my Google SoC proposal for OSM was accepted. Its&#8217; about &#8220;Internationalization setup of osm web pages and map tiles&#8220;. Thanks to my mentor Mikel Maron and the entire OSM community. Its&#8217; going to be a rocking summer  
Internationalization of openstreetmap have diverse aspects hidden in it ranging [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=61&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yesterday, as an interesting twist of events <a href="http://code.google.com/soc/2008/streetmap/appinfo.html?csaid=C0A25FBD41B8B932" target="_self">my Google SoC proposal</a> for <a href="http://openstreetmap.org" target="_self">OSM</a> was accepted. Its&#8217; about &#8220;<a href="http://wiki.openstreetmap.org/index.php/GSoC_Applications_2008#Internationalization_setup_for_OSM_web_pages_and_map_tiles_Arindam_Ghosh" target="_self">Internationalization setup of osm web pages and map tiles</a>&#8220;. Thanks to my mentor <a href="http://brainoff.com/weblog/" target="_self">Mikel Maron</a> and the entire OSM community. Its&#8217; going to be a rocking summer <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Internationalization of openstreetmap have diverse aspects hidden in it ranging from web pages localization, rendering localized map tiles including rendering of complex Indic scripts. And we will take up a phased approach and see what&#8217;s possible within the stipulated timeframe.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/61/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/61/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=61&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2008/04/23/i18n-in-openstreetmap/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>
	</item>
		<item>
		<title>Insight into KGeography</title>
		<link>http://arindamghosh.wordpress.com/2007/12/26/insight-into-kgeography/</link>
		<comments>http://arindamghosh.wordpress.com/2007/12/26/insight-into-kgeography/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 10:30:45 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/2007/12/26/insight-into-kgeography/</guid>
		<description><![CDATA[ 						KGeography is a geography learning tool integrated with KDE-Edu. It helps a student to learn geography in a playful way. But it still doesn&#8217;t has all the maps as yet. How to add them? For adding a new map in KGeography, we need two things. One, the map (say in a file called mapname.png) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=48&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> 						<a href="http://kgeography.berlios.de/" title="Homepage">KGeography</a> is a geography learning tool integrated with KDE-Edu. It helps a student to learn geography in a playful way. But it still doesn&#8217;t has all the maps as yet. How to add them? For adding a new map in KGeography, we need two things. One, the map (say in a file called mapname.png) and secondly, a kgm file (whose name should be mapname.kgm) to integrate the map with kgeography. Once we have them we can easily add them in its&#8217; home directory (default: <code>/usr/share/apps/kgeography</code>). Now, what kgeography does is an image-processing. It distinguishes a division of the map by its&#8217; RGB values. Then it identifies the division by Name, Capital, Flag etc parameters given in the kgm file for that division.</p>
<p>So, for adding a map we need to do following things:</p>
<p>1.  First, <b>create the map using GIMP, Kolourpaint</b> or any other picture editors. Getting a political outline will be the best idea. I couldn&#8217;t get one atleast for India. So a good idea will be superimpose a blank outline map over a descriptive political map (in two layers to be precise). Assign separate colours for every division. Care should be taken that no two regions should have same colours. Ofcourse, handdrawn &amp; scanned political outline maps may be an option and there is no real restriction on the scale of the maps.</p>
<p>2.  Next, comes <b>the integration part or the kgm file</b>. So lemme show the basic structure of the .kgm file:</p>
<blockquote><p><code>&lt;map&gt;</code></p>
<blockquote><p><code>&lt;mapFile&gt;mapname.png&lt;/mapFile&gt;<br />
&lt;name&gt;MapName&lt;/name&gt;<br />
&lt;division&gt;</code></p>
<blockquote><p><code>&lt;name&gt;DivisionName&lt;/name&gt;<br />
&lt;flag&gt;flagname.png&lt;/flag&gt;<br />
&lt;capital&gt;CapitalName&lt;/capital&gt;<br />
&lt;color&gt;</code></p>
<blockquote><p><code>&lt;red&gt;255&lt;/red&gt;<br />
&lt;green&gt;255&lt;/green&gt;<br />
&lt;blue&gt;255&lt;/blue&gt;</code></p></blockquote>
<p><code>&lt;/color&gt;</code></p></blockquote>
<p><code>&lt;/division&gt;<br />
...............................<br />
//Other divisions<br />
...............................</code></p></blockquote>
<p><code>&lt;/map&gt;</code></p></blockquote>
<p>A kgm file begins with &lt;map&gt; and ends with &lt;/map&gt;. Inside of those tags there are:</p>
<ul>
<li>&lt;mapFile&gt; and &lt;/mapFile&gt;: the name of the file (without any path) containing the map image, e.g. “india.png”.</li>
<li>&lt;name&gt; and &lt;/name&gt;: the name of map, e.g. “India”.</li>
<li>A &lt;division&gt; and &lt;/division&gt; for each division in the map.</li>
</ul>
<p>Now, each division has these tags:</p>
<ul>
<li>&lt;name&gt; and &lt;/name&gt;: the name of the division, e.g. “West Bengal”.</li>
<li>&lt;capital&gt; and &lt;/capital&gt;: the name of the capital of the division, e.g. “Kolkata”.</li>
<li>&lt;ignore&gt; and &lt;/ignore&gt;: can be set to yes, allowClickMode and no. If this tag is set to yes then the division will be ignored when asking for divisions in that map. It is then as if this division does not exist in KGeography quiz modes. If this tag is set to allowClickMode then KGeography will ask for the division in the Click Division in Map&#8230; mode but not in other quiz modes. Setting this tag to no means the division will appear in all modes (browse and quizzes). This tag is optional and when there is no &lt;ignore&gt; tag that means as it is set to no. For example “Egypt” has this tag set to yes in the “Asia” map which means that “Egypt” will not be part of any quiz in the “Asia” map. Also this tag is set to yes for frontiers or oceans.</li>
</ul>
<blockquote><p><code>&lt;division&gt;</code></p>
<blockquote><p><code>&lt;name&gt;Not a Nation&lt;/name&gt;<br />
&lt;ignore&gt;yes&lt;/ignore&gt;<br />
&lt;color&gt;</code></p>
<blockquote><p><code>.........................................</code></p></blockquote>
<p><code>&lt;/color&gt;</code></p></blockquote>
<p><code>&lt;/division&gt;</code></p></blockquote>
<ul>
<li>&lt;flag&gt; and &lt;/flag&gt;: the file (without any path) containing the flag of the division, e.g. “india.png” in asia map. This tag is optional. Not needed for the divisions whose &lt;ignore&gt; tag is set to yes.</li>
<li>&lt;color&gt; and &lt;/color&gt;: the color the division has in the map.</li>
</ul>
<p>The color is defined using three tags:</p>
<ul>
<li>&lt;red&gt; and &lt;/red&gt;: red component of the color. Valid values are between 0 and 255.</li>
<li>&lt;green&gt; and &lt;/green&gt;: green component of the color. Valid values are between 0 and 255.</li>
<li>&lt;blue&gt; and &lt;/blue&gt;: blue component of the color. Valid values are between 0 and 255.</li>
</ul>
<p>All names should be in english. But when number of divisions are too much it will be better to <b>automate the task of creating kgm file with a bash script</b> (will post lil&#8217;bit later). I checked out the helper tool in kgeography handbook which wasn&#8217;t effective enough even on the existing maps.</p>
<p><u><b>Update:</b></u> Now, this post may not be enough to dive into this work. So, I created a sort of presentation concentrating on how to add the map of India. It&#8217;s still unfinished. But you can have the first cut from here: [<a href="http://makghosh.googlepages.com/addmaps.pdf">http://makghosh.googlepages.com/addmaps.pdf</a>]. The best way to see it is as a presentation in kpdf.</p>
<p>Well, I divided the task in 3 days:</p>
<ol>
<li>Day 1: Create the political map of India (done)</li>
<li>Day 2: Color the divisions of the map (done)</li>
<li>Day 3: Create the .kgm file (not completed)</li>
</ol>
<p>Have fun!! And do post any comments or improvements <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=48&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2007/12/26/insight-into-kgeography/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>
	</item>
		<item>
		<title>Problem with ltspinfo!!</title>
		<link>http://arindamghosh.wordpress.com/2007/09/03/problem-with-ltspinfo/</link>
		<comments>http://arindamghosh.wordpress.com/2007/09/03/problem-with-ltspinfo/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 11:11:32 +0000</pubDate>
		<dc:creator>Arindam Ghosh</dc:creator>
				<category><![CDATA[LTSP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://arindamghosh.wordpress.com/2007/09/03/problem-with-ltspinfo/</guid>
		<description><![CDATA[Lately I was trying to create a shutdown/reboot module for Fl_TeacherTool. I recently talked with its developer Robert Arkiletian and realised that &#8220;ltspinfo&#8221; can be accessed by non-root users even. The shutdown/reboot module is a cool feature for fl_teachertool but would create a problem if non-root users gain access and shutdown terminals at their will. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=27&subd=arindamghosh&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Lately I was trying to create a shutdown/reboot module for Fl_TeacherTool. I recently talked with its developer Robert Arkiletian and realised that &#8220;ltspinfo&#8221; can be accessed by non-root users even. The shutdown/reboot module is a cool feature for fl_teachertool but would create a problem if non-root users gain access and shutdown terminals at their will. But this problem has to solved. So, I am analyzing the code of ltsp-ltspinfod and may make changes in it as required to curb this problem.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/arindamghosh.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/arindamghosh.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arindamghosh.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arindamghosh.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arindamghosh.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arindamghosh.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arindamghosh.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arindamghosh.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arindamghosh.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arindamghosh.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arindamghosh.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arindamghosh.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arindamghosh.wordpress.com&blog=903749&post=27&subd=arindamghosh&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://arindamghosh.wordpress.com/2007/09/03/problem-with-ltspinfo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ce25508645f8f838080566e4c4df9ebf?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">makghosh</media:title>
		</media:content>
	</item>
	</channel>
</rss>