DC++ changing the internationalization capabilities

The next version of DC++ will feature a change in its structure for internationalization (i18n).

This all is possible thanks to gettext, which is a tool for allowing applications i18n in a very standardized manner, and is available on a multitude of platforms.

Before, all visible strings in DC++ had to be written and stored in a specific manner, where we used XML files to use the texts. This could be annoying, as you needed to constantly check what a string was called when you wanted to use it.

In the next version all text are going to be written directly as the code is lined up. This does not change the fact that DC++ will still support i18n. However, all of the XML files are going to render useless, as DC++ will drop its support for it.

The new format is .pot or .po, and our Launchpad translation site will allow you to translate strings in a much faster way; Strings that also exist in other applications are crosslinked to the DC++ project as suggestions, so for some stuff you don’t even need to input anything. It’s just to click on a particular field.

There’s as of yet no tool to convert the XML files to .pot (or .po) files. So if anyone’s up to some work, we’ll publish your tool, allowing people to do the conversion.

Don’t forget that you can make topic suggestions for blog posts in our “Blog Topic Suggestion Box!”

2 Responses to DC++ changing the internationalization capabilities

  1. renatux says:

    I write some code that converts the XML files to po.

    This requires the XML file base (Example.xml) and language translation XML (.xml).

    Hopefully serve something.

    Please, see http://rnt.bla.cl/dcpp-xml2po/


  2. Fredrik Ullner says:

    Nice, renatux.

    arne also published his tool at http://dcplusplus.sf.net/x2po.py , with the instructions “download language file, make sure it’s utf-8, run script twice, done…” and that “you need to place it in the dc++ folder with a recent Example.xml around…” (You need Python to be installed to run it.)

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: