+---
+title: Notes for Translators
+category: Contributing
+layout: default
+SPDX-License-Identifier: LGPL-2.1-or-later
+---
+
# Notes for Translators
systemd depends on the `gettext` package for multilingual support.
they can be used by systemd software. (This step is also useful to confirm the
syntax of the `*.po` files is correct.)
-# Creating a New Translation
+## Creating a New Translation
To create a translation to a language not yet available, start by creating the
initial template:
This will generate file `po/systemd.pot` in the source tree.
-Then simply copy it to a new <code><i>${lang_code}</i>.po</code> file, where
-<code><i>${lang_code}</i></code> is the two-letter code for a language
+Then simply copy it to a new `${lang_code}.po` file, where
+`${lang_code}` is the two-letter code for a language
(possibly followed by a two-letter uppercase country code), according to the
ISO 639 standard.
In short:
-<pre>
-$ cp po/systemd.pot po/<i>${lang_code}</i>.po
-</pre>
+```
+$ cp po/systemd.pot po/${lang_code}.po
+```
-Then edit the new <code>po/<i>${lang_code}</i>.po</code> file (for example,
+Then edit the new `po/${lang_code}.po` file (for example,
using the `poedit` GUI editor.)
-# Updating an Existing Translation
+## Updating an Existing Translation
Start by updating the `*.po` files from the latest template:
touched. Remember to undo the changes to the other `*.po` files (for instance,
using `git checkout -- po/` after you commit the changes you do want to keep.)
-# Recompiling Translations
+## Recompiling Translations
You can recompile the `*.po` files using the following command: