Today is a very special day for us. We have a double release to announce!
First, the long awaited add-ons website is now ready for you to use. You will already find a lot of extensions on it since we took care of uploading more than 200 of them. Think about browsing the experimental add-ons, a lot of them are still marked as such. The add-ons website is at this address: https://addons.instantbird.org/.
And last, but not least, Instantbird 0.2 alpha 1 is now ready for you to try it! There’s a lot of new interesting stuff in this one. Here are some of them, read the release notes for more:
- It is ready to be localized (and you can try an experimental French language pack),
- Improved conversations: you can change conversation styles, smiley themes are now handled.
- We implemented a ‘magic’ copy/paste feature that will allow you to have pretty quotes out of messages copied from Instantbird. Some bugs may still exist in this.
- As usual, we took great care of stability issues, so Instantbird 0.2 alpha 1 is already more stable than 0.1.3.1 at this point, so don’t hesitate to give it a try!
You can download the alpha and read the release notes from here.
In our roadmap we stated that for 0.2 we were going to improve the conversation window, and especially make it customizable. Let’s show you an overview of what we did.
People are used to see little images like in conversations instead of the plain text version
:-). Testers of Instantbird 0.1.* have probably noticed that this feature was missing. No more.
Instantbird 0.2 supports smileys, and has a theme system for them. Creating a new smiley theme is easy: it is just a bunch of images and a file (JSON format) describing how to use them, bundled into an XPI file.
As you may (or may not) know, we previously wrote that Instantbird 0.1.* was not localizable. The reason evoked for this was the use of gettext by libpurple, which is not compatible with the way XUL applications are localized. I’m going to give more details about the issue, and explain how we solved it for Instantbird 0.2.
Comparison of translation systems used by Mozilla and libpurple:
Inside libpurple, localizable strings are just marked by
For example, you can find this in the code:
description = _("Unknown error");
During the compilation, _() is expanded by the C preprocessor to a call to a gettext function. Gettext tools can analyze the source code, find all strings enclosed in _() markers, and produce a translation template. This template (a .pot file) is then handed to translators, who translate the strings and then provide a .po file for their language.