Localizing FeedDemon

Among the trickier things in software development is getting your application translated into different languages.  Beyond making sure you provide enough white space in your UI for longer strings of translated text, simply getting your app localized can be an awful lot of effort, and it often causes your product to be delayed while the translators do their work.

The traditional Windows approach is to store displayed text in a separate resource DLL that's linked to your application at runtime.  Instead of taking this approach with FeedDemon, though, I chose to store language strings in an external XML file (an "FDLANG") which is parsed at startup.  This way, third parties can create translations using any editor they like, and no extra compilation is required.

FeedDemon is designed to recognize hyperlinks to FDLANG files, so installing a new language file is incredibly simple – just click the FDLANG hyperlink, and FeedDemon will download the language file and ask whether you want to use it right away.

If you'd like to try this yourself, stop by the FeedDemon Language Files Page to download and install additional languages.

All of these language files were created by individuals who simply wanted to see FeedDemon support their native language.  It's a tedious process translating so much text, and we owe these folks a great deal of thanks for spending their time doing this.

PS: If you're thinking about creating your own translation, be sure to modify the constant value named S_TranslatorCredit in the FDLANG file.  This value appears at the top of FeedDemon's "About" box so you can get some credit for your work.

PPS: If you change languages and want to switch back to English, look for the "Language" submenu:

15 thoughts on “Localizing FeedDemon

  1. i really prefer java style resource bundles for this.
    what encoding are you using? does windows handle the rest of the l10n bits?

  2. What about right-to-left languages?
    I would like to translate the gui to Hebrew but just translating the strings won’t do, the gui has to be able to change all the menus from ltr to rtl display.

  3. It would be nice to be able to find the downloadable languages from somewhere in the menu…
    I’m working on a Dutch translation myself, about 75% done. If someone wants to help, contact me :)

  4. Rijk, if you’re reading this, you can contact me through the contact form on my weblog. I’d be glad to give you a helping hand, a Dutch version of FeedDemon would be great! :-)

  5. FeedDemon is my favorite RSS-reader, and i will glad if you add my translation.
    PS. Sorry for my previous “cracks”, nothing personal ;)

  6. While translating in romanian I noticed a “problem” with the software. Although the language file is in UTF-8 format, the interface of FD is not fully Unicode compatible. I could tell that because it does not support two romanian letters with diacritics, S and T with comma below. Actually I’m posting this from within FD so I cannot write the two letters, because it displays question marks instead. I used a well-known workaround for the translation in the form of the letters S and T with cedilla (Ş and Ţ), which ressemble very much S and T with comma (the cedilla is fused to the bottom of the letters, while the comma is not fused), so very few romanians will notice the difference.
    But the problem still exists. Windows Vista comes with a romanian keyboard layout that uses S and T with comma below ( http://en.wikipedia.org/wiki/%C8%9A ) and unfortunately FD does not allow writing those two letters (for example while posting a blog comment). I think FD should be made fully Unicode compatible in the future if this is possible, of course. I know that Unicode compatibility is also dependent on the compiler and more generally on the tools used for programming.

  7. @MunteAlb: first off, thanks for creating a Romanian translation! Does the problem you’re seeing occur throughout FeedDemon, or is it just in specific places in the UI?

  8. Yes, the problem occurs throughout all the interface of FD. I cannot use the letters Ș and Ț (S/T-with comma) when I want to create a new folder and name it, when I want to rename a feed, or when I want to write something on a webpage from inside FD’s internal browser (for this post I am using the Maxthon browser). Inside FD I can only use the closely resembling letters Ş and Ţ (S/T-with cedilla), but these are not the correct romanian letters.
    The big problem is the fact that under Vista (or under the upcoming XP SP3) the romanian keyboard layout included in the OS defaults to S/T-with comma, which is perfect from the point of view of the romanian language, but is bad for many computer programs that do not recognize these two letters, because they are displayed well only by those programs that are fully-compatible with Unicode.
    The problem is known and is not the fault of the OS (Vista or XP displays well Ș and Ț everywhere). Michael Kaplan (The “Font Specialist” at MS) wrote on the subject:
    http://blogs.msdn.com/michkap/archive/2007/05/01/2367135.aspx
    I had the same problem with many programs, for example with the e-mail client iScribe. Its author contacted Michael Kaplan for a solution. The response was:
    http://blogs.msdn.com/michkap/archive/2007/09/27/5141426.aspx
    From my discussion with various software authors it seems that the problem is caused by the programming tools used.
    =====================
    On a similar note I wanted to tell you that a portion of the FD’s interface does not support anything than ANSI encoding. I am speaking about the page that appears when someone clicks on the New Browser Tab button (“You’ve opened a new tab in FD” Tabbed browser tips, etc.). On that page I cannot use diacritics at all, not even Ş/Ţ (S/T-with cedilla), that are supported on the rest of FD’s interface. You can see some strange signs if you use the romanian language file and also the polish language file.
    This morning I have modified the first version of romanian language file and removed the diacritics from the portion that supports only ANSI (approx. 10 lines of text). I have already attached the corrected file in the forum thread. Thanks for adding the romanian language file on the page with translations, but please remove the current file and replace it with the new file attached in the thread.

  9. @MunteAlb: Thanks for the details – until I read those blog posts, I wasn’t aware of the problems so many applications have involving Romanian characters.
    Unfortunately, the source of these problems in FeedDemon is the programming tool (Delphi), which currently doesn’t support Unicode in the UI. When Unicode does work in FeedDemon’s UI, it’s because I use owner-draw to output it there myself (not fun!). The good news is that an upcoming version of Delphi will be fully Unicode-enabled, so hopefully we can put these problems behind us in a future version.
    BTW, I updated your translation on the language files page yesterday.

Comments are closed.