<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">There are a couple of approaches that we are currently using in some projects for I18N/L10N compliance (and one of them is documented in the developer's guide):<DIV><BR class="khtml-block-placeholder"></DIV><DIV><DIV>(i) JBossTS uses the I18N/L10N framework developed by HP in 2000 to do automatic generation of resource bundles and logging within the code you use them. Although we only have English RBs at the moment, in the past we've had over a dozen different translations.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>(ii) David Ward has been working on a new project for internationalization that uses some of the ideas in (i), but is more of a superset approach. Sacha asked me to work with David on requirements and useability (amongst other things) with a view to developing something that all of our projects can use. It's a slow process, given other factors.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Take a look at (i) (it's all in public svn) and talk to David.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Mark.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR><DIV><DIV>On 27 Jul 2007, at 09:49, Jens Petersen wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Hi,</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I would like to ask about and start some discussion about localization (translation) of JBoss projects.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I think there is going to be an increasing need for localization of JBoss projects, so probably it is a good time to start thinking about how to do internationalization of projects in a way that is optimal for developers, translators and users.<SPAN class="Apple-converted-space">  </SPAN>I think there are two sides to this: (1) the process of getting translations done and integrated into svn and releases and (2) the java library used to substitute the translations at runtime.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">For (1), the translation process, in the Open Source world a lot of translation is done using .po files.<SPAN class="Apple-converted-space">  </SPAN>First the strings that need to be translated are extracted from the source using xgettext to generate a so-called POT file, which is the skeleton used to generate the .po files for each language that is to be translated.<SPAN class="Apple-converted-space">  </SPAN>Finally the translated .po files are committed in the version control system along with the ResourceBundles generated from them.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">(2) would then require using Gettext in the Java modules that require translations and marking the strings to be translated appropriately so that they can be extracted automatically for translation.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">That is a brief sketch of how would could use Gettext to handle the translations.<SPAN class="Apple-converted-space">  </SPAN>It might also be possible to use XLiff later to generate the ResourceBundles for translations directly.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">How does that idea sound?</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Ideas, comments, other suggestions and feedback are most welcome.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Jens Petersen</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Internationalization Team</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Red Hat</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">jboss-development mailing list</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:jboss-development@lists.jboss.org">jboss-development@lists.jboss.org</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="https://lists.jboss.org/mailman/listinfo/jboss-development">https://lists.jboss.org/mailman/listinfo/jboss-development</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> </BLOCKQUOTE></DIV><BR><DIV> <SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><DIV>----</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Mark Little</DIV><DIV><A href="mailto:mlittle@redhat.com">mlittle@redhat.com</A></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>JBoss, a Division of Red Hat</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, </DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">SI4 1TE, United Kingdom. </DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Registered in UK and Wales under Company Registration No. 3798903 </DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Directors: Michael Cunningham (USA), Charlie Peters (USA) and David Owens (Ireland)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><BR class="Apple-interchange-newline"></SPAN></SPAN> </DIV><BR></DIV></DIV></BODY></HTML>