Internationalization for GNU Radio Companion: German Language Support

  • Greetings all,


    I'm starting a project to internationalize and localize GNU Radio Companion for Japanese. This is being done to support JAMSAT. They have an active and growing GNU Radio community, and native language support would make using GNU Radio Companion a lot easier for them. This became very clear at the 2019 JAMSAT Symposium, during their GNU Radio Workshop.

    I'm not an expert in adding language support, but I have learned how to do it! It's not hard. It's mainly tedious. And it requires a set of really good translations.

    Bear with me if you already know this.

    Adding language support to a program starts out with preparing the source code for multiple languages. This step is usually called "internationalization". It means that all the strings in the source code are marked. After that, a program is run to collect all these strings into a catalog. The catalog has the original strings plus placeholders for translations. This catalog is given to someone that can add the translations.

    Now, this next step I'm somewhat fuzzy on, but you place the file in a location the program can find, add a class that supports translation, and re-build the project.

    We (Open Research Institute) are starting work in coordination with GNU Radio Project, Free Software Foundation, and JAMSAT, on internationalization starting Tuesday 16 April 2019.

    We talked amongst ourselves, and we'd like to know if AMSAT-DL would be interested in helping localize for German?

    The lead architect of GNU Radio Project is German, and is very supportive. I speak intermediate German, and can help here too! But we will need more eyeballs to check the translations, and as GNU Radio continues to rapidly evolve, we will need to keep an "eye" on things and make sure that the translations stay up to date. Maintenance!

    If you would like to be a part of this, or if you just want to express support (that's basically how we're paid! :)) then please send me a DM.



  • We talked amongst ourselves, and we'd like to know if AMSAT-DL would be interested in helping localize for German?

    The lead architect of GNU Radio Project is German, and is very supportive. I speak intermediate German, and can help here too! But we will need more eyeballs to check the translations, and as GNU Radio continues to rapidly evolve, we will need to keep an "eye" on things and make sure that the translations stay up to date. Maintenance!

    Hi Michelle!


    AMSAT-DL would definitely support such an initiative, since P4-A / QO-100 gave SDR software development in general a big boost, for example SDR based drift-compensation, DVB-S2, and so on...


    Indeed we need support from the active community in this forum and among our AMSAT-DL members...


    I thought localisation might have already been done, but although I have installed GNU Radio, I need to work more with it ;-)

    Peter Gülzow | DB2OS | AMSAT-DL President | member since 1983 | JO42VG

  • I'm sure you already know about this, but in case others are reading along and need a place to start:

    The quickest way to get up to speed with GNU Radio is to go through the "Guided Tutorials" at https://wiki.gnuradio.org/inde…utorials#Guided_Tutorials

    They are introduced as for beginners, but I and many other people familiar with GNU Radio use them to review and refresh!

    The PSK demodulation lesson doesn't just teach the ins and outs of GNU Radio. It is also a really good tutorial on the practice (not just theory) of receiving PSK.

  • Mechanism is working! My made-up words are showing up as the menu items. Major bug that had to be overcome? Me trying to do the work of the locale module, which already returns the whole path to the language catalogs. Trying to be super helpful and add more directories to the path meant it was never going to find those catalogs.

  • There was substantial GNU Radio Companion localization progress at GNU Radio SETI Hackfest. The combined catalog of strings is present, translations for more German strings were made, and basic functionality is working. There's some more testing that I want to do before submitting a pull request, and at least one change to simplify the way the module is included in the top of each of the affected scripts.