Interface translation

From Inkscape Wiki
Revision as of 18:43, 6 June 2023 by Moini (talk | contribs) (→‎6. Exchange the file on GitLab)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Go back to the main Translation information page.

Main translation files

1. Coordinate

As there may be other persons also currently working on the translation to your language, as a first step, please let your colleagues on the translators mailing list know that you'd like to start working on your language's translation, and coordinate your efforts (e.g. divide the work, set up a review system, … ). You can also check the mailing list archives to see whether there may be others who have started working on it recently. You can also ask for help finding previous translators for your language in the chat, to join their team.

2. Get the file

Get the most up-to-date translation files from GitLab's automatic builds:

For the main development branch: https://gitlab.com/inkscape/inkscape/-/jobs/artifacts/master/download?job=translations

For release branches: https://gitlab.com/inkscape/inkscape/-/jobs/artifacts/<branch name>/download?job=translations

The name of the release branch is usually something like '1.0.x' or '1.1.x'. You can ask on the mailing list or in the chat which branch is the current translation target.

In some cases, this will give a 'Page not found' error. In that case, visit the main Inkscape repository page on GitLab, select the correct branch at the top, then on the right side, click on the download icon and select to download the 'translations' artifact.

Unzip the downloaded file and select the po file for your language from it.

3. Translate

Translate the file for your language from the archive above with your favorite translation software.

Tip: if you encounter a case where, in the English text, the order of formatting arguments (numbers or text snippets that will be inserted into the string when the program runs) is different from the order in your language, and the arguments are not numbered in the original string, you can try this.

4. Test

  1. Make sure you have the release of Inkscape you are translating installed. If you're translating the coming release, pick a pre-release and compile it.
  2. Compile your PO file to .mo. Some translation tools (e.g. Poedit) have an option for that.
  3. Find and replace your language's .mo file. It is a file named ‘locale/your_language/LC_MESSAGES/inkscape.mo’, in the directory listed under Edit > Preferences > System > Inkscape Data in Inkscape.
    Note: This will not work with the snap, .dmg, AppImage or flatpak version of Inkscape, but only with a version that has been properly installed on your system and with extracted binary archives (zip files for Windows) or self-compiled versions. In some cases, you may need administrator privileges to edit files in said directory.
  4. Rename the original inkscape.mo file to inkscape.mo.bak and save your compiled .mo file into its place as inkscape.mo instead
  5. Then start Inkscape and you'll see your strings!

5. Get a GitLab account

If you don't have an account yet, now is the time to create one

6. Exchange the file on GitLab

For Inkscape 1.3.x, visit https://gitlab.com/inkscape/inkscape/-/blob/1.3.x/po/<your_locale>.po

For the main development branch, go to https://gitlab.com/inkscape/inkscape/-/blob/master/po/<your_locale>.po

Click on the "Replace" button and upload your translated file.

Enter your commit message below (something like "Update <your_locale>"). Choose a name for your branch. Do not use the same name as the target branch, but something like 'es_translations_for_1.3'.

7. Make a merge request

Click on the "Create merge request" button.

In the form, check 'Allow commits from members who can merge to the target branch' and also 'squash commits'.

Submit the merge request.