One of the nice things about free software is that it's possible to contribute in so many ways. In this article, I will try to share with you the translation adventure in the GNOME desktop environment.

Where are the gnome translations?

The main translation repository of the GNOME desktop environment l10n.gnome.org website and the translations are transferred to the repositories of the relevant applications through this site.

When we enter the site, a simple interface welcomes us. Next to the logo are the Teams, Languages, Release kits, Modules links, and the Sign in link in the upper right corner.

  • Teams: It contains the translated languages ​​and their coordinators, as well as links to the profile page of the relevant translation team.
  • Languages: Contains links to follow the latest translation changes with RSS.
  • Release kits: You can access some information about GNOME versions and their translation status.
  • Modules: Lists the names and links of translated applications and libraries.

From Teams page to Turkish page we click.

Gnome Turkish translation team

Gnome Turkey Twitter account: It is the social media account where the latest translations and new version announcements are shared.

Telegram Channel: It is a Telegram channel where you can ask questions and find answers quickly, such as getting help on GNOME, contributing to translation.

Email List: Public correspondence is archived a message grubthat's it. It works the same as Telegram channel and you can get results faster than Telegram channel and it is not archived publicly either.

details As for the links that appear below:

Report a Translation Error It is possible to report errors about translated applications on the GNOME translation site using the link.

Show Existing Errors You can look at the opened error reports from the link.

Coordinator You can see the name of Muhammet Kara Bey, who has contributed to GNOME translations for a long time.

Gnome versions and translation processes

The ones on the left in the middle must have caught your attention as well. Let me try to explain:

GNOME 42/43 (stable/development): The main applications that you can contribute to current and GNOME translations are at the top and the version with the largest number. In addition to this version, most of the time development is written as stable. The release calendar for GNOME 43 has started, there's You can see it.

GNOME 41 (old stable) / GNOME 40 (old stable): These release kits with old stable or old stable refer to GNOME versions that no longer accept translations. You should report the errors you find in the translations of GNOME official applications to the stable version.

Gnome Circle It is a relatively new entity and aims to bring new applications and libraries to the GNOME ecosystem. Currently, 40 applications and 5 libraries are included in this ecosystem. Translations of 14 of these applications are done under l10n (localization). Some applications use online translation platforms. Circle applications do not have to be kept above l10n.

GNOME Infrastructure Under it are translations of frameworks such as the l10n.gnome.org site. In order to contribute in this field, it is useful to know GNOME applications well. There are also translations of some pages and applications such as jhbuild and the lGNOME Library (help.gnome.org). Providing translation support to these two is not on the priority to-do list.

GIMP and Friends in the part GIMP app The translations for the long-awaited Development version are found here, along with the translations for the stable version.

Emin Tufan Çetin, who has been translating this application for a long time to contribute to GIMP translations, and Sabri Unal It's worth contacting.

Extra GNOME Applications (stable) part is for archival purposes and translations are done in the Extra GNOME Applications branch under one.

Extra GNOME Applications It's much easier to provide translation support to GNOME core applications than it is to translate GNOME core applications. Some of the applications in this section may also be part of the main distribution in older GNOME versions. For example, the Gedit application has just been moved to this section. The GNOME text editor applet is now preferred over Gedit.

Applications in the Extra section do not have to follow the GNOME release calendar. This is the best starting point with the Circle applications to contribute to GNOME translations.

Librem 5 – Purism The translations in the section are a phone project with security and privacy priority. Librem 5 Projectbelongs to. Librem 5 translations were made by Emin Tufan Çetin. It is a good idea to contact him to contribute.

freedesktop.org (non-GNOME) The translations in the section are kept here as a mirror only. To contribute, it is necessary to follow the instructions on each project's own site.

not seen in picture Team membership section contains links to current Warehouse officials, supervisors and translators.

In Turkish, the warehouse official is Emin Tufan Çetin, who also performs auditing and post-reading. It is also one of the most active GNOME translators.

Shall we move on to the translation now?

Register

To contribute to translations, you must first register. To the registration page hidden in the login button we are coming. We fill out the form, click on the link in the e-mail and activate the account. Then log in to the site and create our profile. we are completing (It is important to add a Name and Surname). Then we select the translation team we want to join and Turkish We can go back to the page.

Finding Application/Module to Translate

Since Circle applications contain relatively few values ​​to be translated, it will be easier to start the translation here. We enter and we see a screen like this.

I have hidden the completed modules from the link on the right so that they fit on the screen. There are various applications where we can contribute translation.

The percent sign in the Statistics column indicates the percent of completion of the translation, the green numbers show how many strings have been translated, the yellow numbers show how many strings have been translated as fuzzy (i.e. need revision), and the red numbers show how many strings have not been translated at all. In the Status and Date section, there is additional information.

It will be easier to complete an incomplete translation than to start a new translation. The Secrets app seems to be translatable. Click on the application and come to the details.

There are two download icons under the top bar with the application name, which branch it is and grammar information. Below that are statistics on strings and words.

We choose "Overtake the translation" from the action section and without adding a new file, we leave a short comment in the comment section and press the send button. Now we can start the translation.

Important warning:

After you take the translation, no one else can take action in this module until you upload your translation or undo the action on you. For this reason, I recommend that you upload the translation you have received to the site at the end of the day, even if it is not completely finished.

How to convert po files?

Click on the second download button and save the opened po file to the computer. Among the applications that are widely used to edit po files, Poedit stands out with its multi-platform support. There are also Gtranslator (GNOME) and Localized (KDE) applications. You can download the latest versions of the three apps as a flatpak on Flathub.org. download and install possible. I personally use Poedit and recommend it to you too.

After installing the application, we open the .po file with Poedit. First, we enter our name/surname and the e-mail address to be used for communication in the information about the translator under Edit > Preferences > General from the menu. This information will in a way replace our signature. We turn off the "Automatically compile MO file when saving" option. We won't be dealing with MO files.

Then again, we enable the View > Untranslated Strings on Top option from the menu. This will make it easier to find strings with missing translations.

The line marked in blue indicates which line we are on. In the source text section, there is the text that needs to be translated, and in the translation section, there is the previous translation marked as fuzzy. The previous source text is in the lower column on the right.

When you compare, you can see that only one word is converted from uppercase to lowercase. In the translation, it is necessary to protect up to the uppercase / lowercase letter order. It is possible to leave notes for future translations using the add comment button. When we make the necessary translation change, the work required button in our example will cease to be yellow marked and become a normal button.

The Study Required button is used to mark the translation as fuzzy. Untranslated strings are not displayed as translated by programs.

Definitely Not To Be Forgotten:

Rather than making a poor quality or incomplete translation, it is better not to translate the programs at all or to remain fuzzy. A poorly translated string can take many years to notice. The person who will use the program in their own language may have to change their language preference due to bad translations.

In the right column, you can see that the Suggestions section is empty. Poedit offers Translation Memory support. Translation supports make use of previously translated translations and offer you partial or complete translations as suggestions.

You can see that there are names and e-mail addresses opposite the translator-credits value that appears at the top of the image. This information is used to list the translators of the application. As the GNOME Turkey team, we attach importance to the fact that the information in this field belongs to people who have contributed greatly to the translation.

Another point to be considered while translating is accelerators. Accelerators are letters that start with an underscore, and they become visible when you press the alt key on the keyboard. They make it easy to access menus or related item. If there is an accelerator in the translation, it should be tried to be assigned to a suitable letter. It should be tried not to be assigned to letters specific to Turkish or to very thin letters such as ı, i, l, and if possible, try to be assigned to the letters at the beginning of the sentence.

When translating, it is necessary to pay attention to how the word was used in the same application before. Sometimes even a very common word can be used in a special sense or with another, less common translation. It is useful to search within the file on this subject. After clicking on the translation field to search, you can get help from the window that opens by pressing ctrl+f.

Changes should not be made to the translated values ​​without consulting previous translators. Such changes are deemed unnecessary unless there is obvious error. Changing the established translation may sometimes require updating the translations of the help files as well.

When the translation process is finished, the Verify button should be clicked and the translation should be verified. In case of an error, Poedit will throw an error. If you enable View > Strings With Errors On Top from the menu, potentially faulty strings will be listed at the top. Poedit may not always give the correct result. Some warnings may be insignificant. You will have to decide on a case-by-case basis.

Finally, we can save our file. We are almost ready to submit translations for review.

This time we open the po file with a UTF-8 supported text editor and add our name to the bottom of the translators list in the header/header section. If our name is already in the list, we take it to the bottom and add the year the translation was made at the end. Do not change other names and e-mail addresses that appear in the list, these are the signatures of the translators.

We come back to the l10n.gnome.org site and select the "Upload new translation" option from the action section, write the necessary comment if we wish, select the file and press the submit button and send it.

Our new screenshot will appear as above.

You can follow the actions that have taken place in the Actions (Previous action history) section. In general, translations are not approved directly and there will be improvements that you are asked to make for correction. In this case, you will receive a notification by e-mail.

Next to our review are two downloads worth explaining, and again the classic green, yellow and red numbers. The first file is the file you sent, and the second file is the file where the translation changes that have occurred in the application over time are applied. The numbers will differ depending on this situation. The number next to the word difference allows you to see the differences of the changes made. After your translation is approved, you can use these differences to examine the changes made on the translation and be more careful about these issues in future translations.

Further processing: translation memory and translation file verification

It is possible to create a translation memory for poedit. We come to the GNOME stable release page and click on the "Download all po files" link at the bottom. We extract the downloaded files from compressed format to normal folder. Then we open a .po file in the Poedit program and enable Menu > Edit > Preferences > CW > Use translation memory. Press the Manage button and select all GNOME .po files from the window that opens via "Import Translation Files". Translations will be imported. It is also possible to get errors during the transfer process.

The profiler application provided by Translate House allows performing various tests on .po files. It is available in Pardus repositories and can be installed by searching the repositories in Synaptic or the application store. Just enter the following command from the terminal.

sudo apt-get install translate-toolkit

Then we add the following aliases to the end of the .bashrc file under our home folder and save and close.

alias potestgnome="pofilter --gnome -t accelerators $1 --output result.txt.po" alias potestgnomebig="pofilter --gnome $1 --output result_big.txt.po"

Thanks to these two alias, we can test our .po files without doubting how they were used. We come to the directory where the po file is located, open a terminal and give our commands.

potestgnome filename.po potestgnomebig filename.po

Two new files will be created in the directory where the commands are running. Although the files have the extension po, we prefer to open them with a text editor.

We see complaints about accelerators in the result.txt.po file.

# (pofilter) accelerators: Accelerator '_' appears before an invalid accelerator character 'Ö' #: data/gtk/settings_dialog.ui:155 msgid "_Special Characters" msgid "_Special Characters"

In this example, we see that the letter O is used for the accelerator. If this error is in the part we translated ourselves, we can solve this problem by assigning an accelerator to the letter z that comes after the letter Ö.

The result_big.txt.po file contains other warnings as well as complaints about accelerators. These warnings may not always be exact truths that must be followed.

# (pofilter) simplecaps: Different capitalization #: data/gtk/create_database.ui:57 msgid "_Keyfile" msgid "_Keyfile"

For example, in this example, the original string consists of one word, while the translation consists of two words. We know from the use of the accelerator that it is or could be a menu sentence, and most of the time, the Title Layout is preferred for the translation of the sentences in the menus. In other words, this warning does not indicate a critical error.

Likewise, we can see warnings such as "Different capitalization" in the file. These are often not important depending on the situation. “Different spacing around punctuation” often doesn't make sense. The "unchanged: Consider translating" alert names can give us false warnings about translating the standards, it doesn't matter. Warnings that may be important include using a double accelerator in a sentence, or using or not using an unneeded accelerator.

Conclusion

Software translation is an art that requires attention as well as fun. In this article, I tried to explain as much as I can how you can contribute to GNOME translations. If you have any questions about translations, do not hesitate to ask them on the GNOME Turkey telegram channel.