<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-4345066302652424538.post5953542191088281304..comments</id><updated>2009-04-04T16:35:18.599+02:00</updated><category term='Personal'/><category term='Python'/><category term='This blog'/><category term='Development'/><category term='DSNP'/><category term='Internet'/><category term='Django'/><category term='IT'/><category term='Applications'/><category term='Django-i18n'/><category term='Systems'/><category term='Google'/><category term='Google App Engine'/><category term='Offtopic'/><title type='text'>Comments on The Python &amp;amp; Marc Garcia: Translating Django apps. Good practices</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vaig.be/feeds/5953542191088281304/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html'/><author><name>Marc Garcia</name><uri>http://www.blogger.com/profile/01286849404527531329</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-1491403042903279133</id><published>2009-04-04T16:35:00.000+02:00</published><updated>2009-04-04T16:35:00.000+02:00</updated><title type='text'>it is not clear how to keep the translations for t...</title><content type='html'>it is not clear how to keep the translations for the applications separately inside of one project.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/1491403042903279133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/1491403042903279133'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1238855700000#c1491403042903279133' title=''/><author><name>vak</name><uri>http://www.blogger.com/profile/13157594553222689990</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-417516615'/></entry><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-8075002983554147457</id><published>2008-09-23T02:50:00.000+02:00</published><updated>2008-09-23T02:50:00.000+02:00</updated><title type='text'>Hi Robert,&lt;br&gt;&lt;br&gt;there is no TransSlugField inclu...</title><content type='html'>Hi Robert,&lt;br&gt;&lt;br&gt;there is no TransSlugField included in transdb, so you won't be able to use it directly. I don't know how much difficult will be implementing a slugfield using a TransCharField, probably not so much.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/8075002983554147457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/8075002983554147457'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1222131000000#c8075002983554147457' title=''/><author><name>Marc Garcia</name><uri>http://vaig.be</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1246759765'/></entry><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-9213849898059585866</id><published>2008-09-22T15:51:00.000+02:00</published><updated>2008-09-22T15:51:00.000+02:00</updated><title type='text'>As for TransDB.&lt;br&gt;&lt;br&gt;Can I use it with slugfield...</title><content type='html'>As for TransDB.&lt;br&gt;&lt;br&gt;Can I use it with slugfield ?&lt;br&gt;As far as I know there should be an sql index created for slugfield,&lt;br&gt;which means I can't store it as it's stored as dict.&lt;br&gt;&lt;br&gt;Please correct me if I'm wrong.&lt;br&gt;&lt;br&gt;Thanks!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/9213849898059585866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/9213849898059585866'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1222091460000#c9213849898059585866' title=''/><author><name>Robert</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1574382971'/></entry><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-9223108173561173875</id><published>2008-08-14T00:39:00.000+02:00</published><updated>2008-08-14T00:39:00.000+02:00</updated><title type='text'>Thanks for your comment David, I escaped the chara...</title><content type='html'>Thanks for your comment David, I escaped the characters to let user see it as is.&lt;br&gt;&lt;br&gt;I didn't know that in French you use a space before the colon. This make my example be useless... I don't want to know how can it be in Chinese... :)&lt;br&gt;&lt;br&gt;For the dynamic string using names parameters (f.e. "My name is %(person_name)s") and also with comments should be enough for more cases.&lt;br&gt;&lt;br&gt;Of course it's really difficult to have a i18n that works in all languages. And I'm not a real expert...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/9223108173561173875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/9223108173561173875'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1218667140000#c9223108173561173875' title=''/><author><name>Marc Garcia</name><uri>http://vaig.be</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2005992147'/></entry><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-5268173411286172538</id><published>2008-08-04T08:00:00.000+02:00</published><updated>2008-08-04T08:00:00.000+02:00</updated><title type='text'>Your "native language" doesn't need to be "copy-re...</title><content type='html'>Your "native language" doesn't need to be "copy-ready" text in any language! You can use a string that is more descriptive of the way the text will be used, then translate it to all your languages, even your native one. In the "play" example, you might have the strings:&lt;br&gt;&lt;br&gt;"play [a musical instrument]"&lt;br&gt;"play [a sport]"&lt;br&gt;"play [intransitive]"&lt;br&gt;&lt;br&gt;You translate all of them to "play" in English, but "jugar" and "tocar", etc., as appropriate.&lt;br&gt;&lt;br&gt;In that example, you might want to use a string interpolation (e.g., "play %(musical_instrument)s"), in case a target language has unusual rules about how the phrase is formed.&lt;br&gt;&lt;br&gt;Still, all this semi-automatic internationalization stuff is really automated code-writing for natural-language generation. We have a few barely-adequate domain-specific languages (gettext and string interpolation, locale-specific currency, etc.), but the problem really requires the full power of programming. More on that later, perhaps.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/5268173411286172538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/5268173411286172538'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1217829600000#c5268173411286172538' title=''/><author><name>Ken Arnold</name><uri>http://kcarnold.blogspot.com/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1718464398'/></entry><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-494615891528955651</id><published>2008-08-03T17:20:00.000+02:00</published><updated>2008-08-03T17:20:00.000+02:00</updated><title type='text'>Excellent writeup Marc.  This is quite helpful.</title><content type='html'>Excellent writeup Marc.  This is quite helpful.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/494615891528955651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/494615891528955651'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1217776800000#c494615891528955651' title=''/><author><name>Empty</name><uri>http://blog.michaeltrier.com</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-114864478'/></entry><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-7717690765125059795</id><published>2008-08-03T06:01:00.000+02:00</published><updated>2008-08-03T06:01:00.000+02:00</updated><title type='text'>thanks for the demonstration!&lt;br&gt;it saves quite a ...</title><content type='html'>thanks for the demonstration!&lt;br&gt;it saves quite a lot of time</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/7717690765125059795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/7717690765125059795'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1217736060000#c7717690765125059795' title=''/><author><name>sean</name><uri>http://www.appoil.com</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2028542917'/></entry><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-4927777266389386264</id><published>2008-08-03T03:35:00.000+02:00</published><updated>2008-08-03T03:35:00.000+02:00</updated><title type='text'>Thanks for the correction Matthias, already correc...</title><content type='html'>Thanks for the correction Matthias, already corrected it.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/4927777266389386264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/4927777266389386264'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1217727300000#c4927777266389386264' title=''/><author><name>Marc Garcia</name><uri>http://vaig.be</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1859834308'/></entry><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-2234628899962466976</id><published>2008-08-02T14:31:00.000+02:00</published><updated>2008-08-02T14:31:00.000+02:00</updated><title type='text'>Very good tips, but I think you've got the last on...</title><content type='html'>Very good tips, but I think you've got the last one backwards: It's actually _less_ work to change a string from a translation than from the main language. Otherwise, thanks for the round-up.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/2234628899962466976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/2234628899962466976'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1217680260000#c2234628899962466976' title=''/><author><name>Matthias Kestenholz</name><uri>http://spinlock.ch/blog/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-665265574'/></entry><entry><id>tag:blogger.com,1999:blog-4345066302652424538.post-4673352906793888235</id><published>2008-08-01T22:44:00.000+02:00</published><updated>2008-08-01T22:44:00.000+02:00</updated><title type='text'>Very cool tips!&lt;br&gt;gracias&lt;br&gt;SAn</title><content type='html'>Very cool tips!&lt;br&gt;gracias&lt;br&gt;SAn</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/4673352906793888235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4345066302652424538/5953542191088281304/comments/default/4673352906793888235'/><link rel='alternate' type='text/html' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html?showComment=1217623440000#c4673352906793888235' title=''/><author><name>SAn</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://vaig.be/2008/08/translating-django-apps-good-practices.html' ref='tag:blogger.com,1999:blog-4345066302652424538.post-5953542191088281304' source='http://www.blogger.com/feeds/4345066302652424538/posts/default/5953542191088281304' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2056811391'/></entry></feed>
