DEV Community

Cover image for Week-5: Explaining project

Posted on

Week-5: Explaining project

How I learned gtk and got into this internship I have explained in part one of this series .

About Gtranslator

Gtranslator is an application which helps translators to do translation of application from one language to another through po files .

Gtranslator interface

I am taking example of rythmbox po file to explain a bit about GTranslator . Your file name may be in different format ( which does not have git branch and language name) but it should end with .po .

  • Red dotted box labelled 1 in above image denotes , title
  • Red dotted box labelled 2 shows a translation table which on left hand side shows the strings getting used in the codebase of rythmbox (These strings are originally coded by developers these strings are in English in this case) . Right hand side of the table shows translations which are done by translators corresponding to the original message to the language ( as specified in po file i.e. hindi in this case).

  • Red dotted box labelled 3 shows the translation box where translators write translated message corresponding to original message ( In this case the box shows the translated message in Hindi language)

So a general workflow is you go to untranslated message rows in translation table , update their translation and then move to next untranslated message rows .

  • Red dotted box labelled 4 shows translation memory box and notes comments in po file , related to which row you are on .

This project is now in gtk3 and my project in this internship involves porting it from gtk3 to gtk4.

Tips if you are starting to contribute to this project

That's great if you are thinking to contribute to gtranslator , You are most welcome! . You should join gtranslator room , you can ask there for help related to project. You might find some functions which are doing some thing other than what their name indicates , or some other confusing piece of code .. that's fine as this app initially was in gtk2 which then ported to gtk3 and now it is getting port to gtk4, So a lot of change has happened in the codebase.

How's the community and mentors have helped me

Initially I too was confused as the codebase was large and some random functions were there , I communicated with my mentor regarding those and it comes out that it was left over functionality from gtk2 and doesn't need to be used any more.
I then started working on project and pushed some commits , the folks in the gtranslator room were also there and always ready to help me . Even one of the room member reviewed all of my commits and provided me many useful suggestions .
These reviews helped me in identifying my mistakes , pointed me to new components in gtk4 which I could use to fill the gap for the components which are not in gtk4 while they were in gtk3 .

Top comments (0)