Update and improve translation-help.asciidoc
This commit is contained in:
parent
f13d7d480c
commit
08070e9abe
1 changed files with 34 additions and 28 deletions
|
@ -4,10 +4,10 @@ Pacman - Translating
|
||||||
This document is here to guide you in helping translate pacman messages,
|
This document is here to guide you in helping translate pacman messages,
|
||||||
libalpm messages, and the manual pages for the entire pacman package.
|
libalpm messages, and the manual pages for the entire pacman package.
|
||||||
|
|
||||||
We are currently using https://www.transifex.com/[Transifex] as the translation
|
We are currently using https://app.transifex.com/[Transifex] as the translation
|
||||||
platform for pacman and libalpm. You will need to sign up for an account there
|
platform for pacman and libalpm. You will need to sign up for an account there
|
||||||
and then register with a translation team on the
|
and then register with a translation team on the
|
||||||
https://www.transifex.com/projects/p/archlinux-pacman/[pacman project page].
|
https://explore.transifex.com/toofishes/archlinux-pacman/[pacman project page].
|
||||||
|
|
||||||
NOTE: This may be old information due to our switch to Transifex, but the
|
NOTE: This may be old information due to our switch to Transifex, but the
|
||||||
gettext website is a very useful guide to read before embarking on translation
|
gettext website is a very useful guide to read before embarking on translation
|
||||||
|
@ -31,7 +31,7 @@ either be hand-edited, or modified with a tool such as poedit, gtranslator or
|
||||||
kbabel. Using a translation tool tends to make the job easier.
|
kbabel. Using a translation tool tends to make the job easier.
|
||||||
|
|
||||||
Please read up on Transifex usage using the
|
Please read up on Transifex usage using the
|
||||||
https://docs.transifex.com/[Transifex Help] if you are not familiar.
|
https://help.transifex.com/[Transifex Help] if you are not familiar.
|
||||||
|
|
||||||
Transifex provides a command-line client to help with translations. Here is
|
Transifex provides a command-line client to help with translations. Here is
|
||||||
an example set of commands if you have a source code checkout and are not
|
an example set of commands if you have a source code checkout and are not
|
||||||
|
@ -56,19 +56,19 @@ Pre-release Updates
|
||||||
|
|
||||||
A week or two before each release, the codebase will go into a string freeze
|
A week or two before each release, the codebase will go into a string freeze
|
||||||
and an email will be sent to the mailto:pacman-dev@lists.archlinux.org[pacman-dev]
|
and an email will be sent to the mailto:pacman-dev@lists.archlinux.org[pacman-dev]
|
||||||
mailing list asking for translations. This email will have a prefix of
|
mailing list asking for translations. An announcement in Transifex is also made,
|
||||||
*[translation]* for anyone looking to set up an email filter.
|
which reaches everyone that is member of the translation team.
|
||||||
|
|
||||||
At this time, the latest `.po` language files will be made available at the
|
At this time, the latest `.po` language files will be made available at the
|
||||||
Transifex project page. Each language will have two files available (back-end
|
Transifex project page. Each language will have three files available (libalpm,
|
||||||
and front-end). Translators interested in helping are encouraged to use the
|
pacman and pacman-scripts). Translators interested in helping are encouraged to use the
|
||||||
features of Transifex to let others know they are currently translating their
|
features of Transifex to let others know they are currently translating their
|
||||||
language.
|
language.
|
||||||
|
|
||||||
Once a translator has completed the translation (*OR* realizes they do not have
|
Once a translator has completed the translation offline (*OR* realizes they do not have
|
||||||
time to finish), please upload your progress back to the Transifex site.
|
time to finish), please upload your progress back to the Transifex site.
|
||||||
|
|
||||||
NOTE: Please upload your translations as soon as possible- this will give other
|
NOTE: Please upload your translations as soon as possible - this will give other
|
||||||
speakers of your language time to review your translations and update them as
|
speakers of your language time to review your translations and update them as
|
||||||
necessary.
|
necessary.
|
||||||
|
|
||||||
|
@ -80,21 +80,25 @@ repository.
|
||||||
|
|
||||||
git clone https://gitlab.archlinux.org/pacman/pacman.git
|
git clone https://gitlab.archlinux.org/pacman/pacman.git
|
||||||
|
|
||||||
Next, you will need to run `./autogen.sh` and `./configure` in the base
|
Next, you will need to configure the build environment. From the base directory,
|
||||||
directory to generate the correct Makefiles. At this point, all necessary
|
run:
|
||||||
make targets will be generated and we can begin updating the translation
|
|
||||||
files.
|
|
||||||
|
|
||||||
We need to first update the main message catalog file. Navigate into either the
|
meson setup . build
|
||||||
`lib/libalpm/po` or `po` directory depending on which translation you wish to
|
|
||||||
work on first, and execute the following command. If you are working in the
|
|
||||||
`po/` tree, replace 'libalpm.pot' with 'pacman.pot':
|
|
||||||
|
|
||||||
make libalpm.pot-update
|
If any required dependencies are missing, please install. After that,
|
||||||
|
update the template translation (.pot) files to the latest state of
|
||||||
|
the source code by running:
|
||||||
|
|
||||||
Next, update your specific language's translation file:
|
meson compile -C build pacman-scripts-pot pacman-pot libalpm-pot
|
||||||
|
|
||||||
make <po file>-update
|
We need to first update the main message catalog file. Navigate into either
|
||||||
|
the `lib/libalpm/po`, `scripts/po` or `src/pacman/po` directory depending
|
||||||
|
on which translation you wish to work on first, and execute the following
|
||||||
|
command to update your specific language's translation file
|
||||||
|
(replace `lang_code` with your language code e.g. 'pt_BR', and `pot_file`
|
||||||
|
with `libalpm.pot`, `pacman.pot` or `pacman-scripts.pot`):
|
||||||
|
|
||||||
|
msgmerge --update --previous <lang_code>.po <pot_filename>.pot
|
||||||
|
|
||||||
At this point, you can do the translation. To submit your changes, either email
|
At this point, you can do the translation. To submit your changes, either email
|
||||||
the new `.po` file to the mailing-list with *[translation]* in the subject, or
|
the new `.po` file to the mailing-list with *[translation]* in the subject, or
|
||||||
|
@ -103,7 +107,7 @@ submit a Git-formatted patch (please do not include any `.pot` file changes).
|
||||||
As a shortcut, all translation files (including `.pot` files) can be updated
|
As a shortcut, all translation files (including `.pot` files) can be updated
|
||||||
with the following command:
|
with the following command:
|
||||||
|
|
||||||
make update-po
|
./build-aux/update-po
|
||||||
|
|
||||||
Adding a New Language
|
Adding a New Language
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -112,10 +116,10 @@ Making a new language is not too hard, but be sure to follow all the steps.
|
||||||
You will have to do the following steps in both the `lib/libalpm/po/` and `po/`
|
You will have to do the following steps in both the `lib/libalpm/po/` and `po/`
|
||||||
directories, substituting where appropriate. First, edit the `LINGUAS` file and
|
directories, substituting where appropriate. First, edit the `LINGUAS` file and
|
||||||
add your new language code at the bottom. Next, run the following command,
|
add your new language code at the bottom. Next, run the following command,
|
||||||
substituting 'libalpm.pot' or 'pacman.pot' for potfile depending on which
|
substituting `libalpm.pot` or `pacman.pot` for potfile depending on which
|
||||||
directory you are currently working in:
|
directory you are currently working in:
|
||||||
|
|
||||||
msginit -l <lang code> -o <lang code>.po -i <potfile>
|
msginit -l <lang_code> -o <lang_code>.po -i <potfile>
|
||||||
|
|
||||||
You can then also add your language code to the end of the `LINGUAS` file
|
You can then also add your language code to the end of the `LINGUAS` file
|
||||||
located in each po directory.
|
located in each po directory.
|
||||||
|
@ -137,11 +141,13 @@ following two translations are equivalent:
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"This is a test translation"
|
"This is a test translation"
|
||||||
|
|
||||||
If you want to test the translation (for example, the front-end one):
|
If you want to test the translation (copy the .po file you want to test,
|
||||||
|
you may ignore the rest), replacing `<lang_code>` accordingly:
|
||||||
|
|
||||||
rm *.gmo stamp-po
|
meson compile -C build pacman-scripts-gmo pacman-gmo libalpm-gmo
|
||||||
make
|
cp ./build/lib/libalpm/po/<lang_code>/LC_MESSAGES/libalpm.mo /usr/share/locale/<lang_code>/LC_MESSAGES/libalpm.mo
|
||||||
cp <lang code>.gmo /usr/share/locale/<lang code>/LC_MESSAGES/pacman.mo
|
cp ./build/scripts/po/<lang_code>/LC_MESSAGES/pacman-scripts.mo /usr/share/locale/<lang_code>/LC_MESSAGES/pacman-scripts.mo
|
||||||
|
cp ./build/src/pacman/po/<lang_code>/LC_MESSAGES/pacman.mo /usr/share/locale/<lang_code>/LC_MESSAGES/pacman.mo
|
||||||
|
|
||||||
|
|
||||||
Translating Manpages
|
Translating Manpages
|
||||||
|
|
Loading…
Add table
Reference in a new issue