Week-5: Explaining project
Tags: outreachy, gnome, gtranslator, gtk
Published: 2022-07-07 16:17:07

> 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uampodxkmmkpr03k27x9.png)
 
I am taking example of [rythmbox](https://gitlab.gnome.org/GNOME/rhythmbox/-/blob/master/po/hi.po) po [file](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html) 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o6h4gl7hk403328lduml.png)

<br>

- 
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).
<br>

- 
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)
<br>

> 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 .

<br>

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

<br>

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

<br>

---

## 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](https://matrix.to/#/#gtranslator:gnome.org) 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.

<br>

## 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 .

---