Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.1.1 & Your IP : 18.119.122.86
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
systemd /
Delete
Unzip
Name
Size
Permission
Date
Action
CODING_STYLE.md.gz
9.98
KB
-rw-r--r--
2022-03-11 12:48
DISTRO_PORTING.md
3.24
KB
-rw-r--r--
2022-03-11 12:48
ENVIRONMENT.md.gz
5.8
KB
-rw-r--r--
2022-03-11 12:48
GVARIANT-SERIALIZATION.md.gz
1.76
KB
-rw-r--r--
2022-03-11 12:48
HACKING.md.gz
4.54
KB
-rw-r--r--
2022-03-11 12:48
NEWS.Debian.gz
1.54
KB
-rw-r--r--
2023-11-21 20:35
NEWS.gz
220.17
KB
-rw-r--r--
2023-11-21 20:57
README.Debian.gz
2.02
KB
-rw-r--r--
2023-09-26 13:17
README.gz
5.64
KB
-rw-r--r--
2022-03-11 12:48
TRANSIENT-SETTINGS.md.gz
3
KB
-rw-r--r--
2022-03-11 12:48
TRANSLATORS.md
2.41
KB
-rw-r--r--
2022-03-11 12:48
UIDS-GIDS.md.gz
6.34
KB
-rw-r--r--
2022-03-11 12:48
changelog.Debian.gz
4.55
KB
-rw-r--r--
2023-11-21 20:57
copyright
10.64
KB
-rw-r--r--
2023-11-21 20:35
Save
Rename
--- title: Notes for Translators category: Contributing layout: default --- # 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: ``` $ meson compile -C build/ systemd-pot ``` 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 (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> Then edit the new <code>po/<i>${lang_code}</i>.po</code> file (for example, using the `poedit` GUI editor.) ## Updating an Existing Translation Start by updating the `*.po` files from the latest template: ``` $ meson compile -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: ``` $ meson compile -C build/ systemd-gmo ``` The resulting files will be saved in the `build/po/` directory.