1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-01-01 11:32:34 +01:00

doc: explain how to help translating the Window Maker project

Removed the information dispatched in the many po/README files and created
a more elaborate chapter in the README.i18n file to explain the process
involved to participate.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
This commit is contained in:
Christophe CURIS
2015-01-20 22:04:09 +01:00
committed by Carlos R. Mafra
parent 58854cab9b
commit 2429d5e196
5 changed files with 179 additions and 80 deletions

View File

@@ -1,9 +1,3 @@
Instructions for translating po files can be found in the po/README directory
in the top of the WindowMaker source tree.
All files are in UTF-8
File Language Note Current Maintainer
------------------------------------------------------------------------------
ca.po Catalan Ernest Adrogué <eadrogue@gmx.net>

View File

@@ -1,21 +1,3 @@
General instructions for translating po files can be found in the po/README directory
in the top of the WindowMaker source tree. To update one of the WPrefs.app
translations (e.g. the German) do this:
1) make WPrefs.pot
2) edit the file WPrefs.pot, adding new translated strings or correcting
previous entries
3) msgmerge de.po WPrefs.pot > de.po.new
4) After checking de.po.new is OK, rename it to de.po to overwrite the
previous file.
All files are now in UTF-8
File Language Current Maintainer
------------------------------------------------------------------------------
pt.po Portuguese Eliphas Levy Theodoro <eliphas@conectiva.com.br>

View File

@@ -61,7 +61,8 @@ with this program, see file COPYING for details.
@titlepage
@title Window Maker Internationalisation
@subtitle A guide to enable support for language translations
@subtitle in @sc{Window Maker}.
@subtitle in @sc{Window Maker} and to the contributors
@subtitle who want to help translating.
@author Christophe CURIS
@page
@@ -79,7 +80,8 @@ Published by The Window Maker team on @today{}.
@ifclear cctexi2txt
A guide to enable support for language translations
in @sc{Window Maker}.
in @sc{Window Maker} and to the contributors
who want to help translating.
@end ifclear
@end ifnottex
@@ -96,6 +98,7 @@ This manual is for Window Maker, version @value{version}.
* Enabling Languages support:: How to compile Window Maker with i18n support
* Choosing the Language:: When installed, how to run wmaker with your language
* Troubleshooting:: Some points to check if you have problems
* Contribute to Translations:: What to do if you want to help translating
@end menu
@@ -338,5 +341,179 @@ value. If you don't know what is the correct value, unset it.
@end itemize
@c ------------------------------------------------------------------ Contribute to Translations ---
@node Contribute to Translations
@chapter Contribute to Translations
You may have noticed that many translations are not up to date, because the code has evolved but the
persons who initially contributed may not have had the time to continue, so any help is welcome.
@c ------------------------------------------------------------------ Install the latest sources ---
@section Install the latest sources
If you want to contribute, the first step is get the development branch of the code;
this is done using @command{git}.
If you do not feel confident at all with using @command{git}, you may also try to ask for a
@emph{snapshot} on the developer's mailing list @value{emailsupport}.
With @command{git} the procedure is:
@example
# Get your working copy of the sources
git clone git://repo.or.cz/wmaker-crm.git
# Go into that newly created directory
cd wmaker-crm
# Switch to the branch where everything happens
git checkout next
# Generate the configuration script
./autogen.sh
@end example
Now you should have an up-to-date working copy ready to be compiled;
you will not need to go the full way but you should run the @command{configure} script, so it will
create the @file{Makefile}s, and you may want to compile the code once so it will not do it again
automatically later while you are doing something else:
@example
# Setup the build, enabling at least the language you want to work on
./configure LINGUAS="<list of iso 639 country code>"
# Compile the code once
make
@end example
@c ------------------------------------------------------------------- Updating the Translations ---
@section Updating the Translations
The typical process for translating one program is:
@itemize @bullet
@item
generate a POT file (PO Template):
this is done with @command{xgettext} which searches for all the strings from the sources that can be
translated;
@item
update the PO file for your language:
this is done with @command{msgmerge} which compares the PO file and aligns it to the latest
template;
@item
edit the new PO file:
this is done by you with your favourite editor, to add the missing @code{msgstr}, review the
possible @emph{fuzzy matches}, ...
@item
check the PO file:
unfortunately there is no definitive method for this;
@item
submit your contribution to the project:
this is done with @command{git}.
@end itemize
In @sc{Window Maker}, you have actually 4 @code{po} files to take care of:
@itemize @minus
@item @file{po/@emph{<lang>}.po}: for @sc{Window Maker} itself
@item @file{WPrefs.app/po/@emph{<lang>}.po}: for the Preference Editor program
@item @file{WINGs/po/@emph{<lang>}.po}: for the graphic toolkit library
@item @file{util/po/@emph{<lang>}.po}: for the command-line tools of @sc{Window Maker}
@end itemize
Please note that the encoding should be set to @emph{UTF-8} as this is now the standard.
If you think an error message is too obscure, just ask on the developer mailing list
@value{emailsupport}: in addition to clarifications there's even a chance for the original message
to be improved!
You may find some information on working with @code{po} file in the
@uref{https://www.gnu.org/software/gettext/manual/html_node/Editing.html,GNU gettext documentation}.
@c ------------------------------------------------------------------------- Checking the Result ---
@section Checking the Result
In the @sc{Window Maker} build tree you also have another target that can help you, it is
@command{make check}.
At current time, it does not check much, but if during the @command{make update-lang} new @code{po}
file have been created you may get some errors, because you have to add these new files to the
variable @var{EXTRA_DIST} in the corresponding @file{Makefile}.
If you do not feel confident about doing it, do not worry, just tell about it when you submit your
work, and some developer on the mailing list will just be happy to do it for you when integrating
your valuable contribution (we always like when someone helps making @sc{Window Maker} better).
@c ---------------------------------------------------------------- Submitting your Contribution ---
@section Submitting your Contribution
@emph{Preliminary Remark}: if the update process made changes in a @code{po} file but you did not
change any @code{msgstr} content, it is probably a good idea to not submit the changes to that
@code{po} file because it would just add noise.
When you feel ready to send your changes, the first step is to prepare them.
This is done with @command{git}: if you have not run the @command{git gui} previously then it is a
good time to do it now.
This window offers you the possibility to show your changes and to decide what you want to send.
The window is divided in 4 panes:
@itemize @bullet
@item
top-right show the current changes you have selected, for review
(and also for cherry-picking stuff if you want to select precisely)
@item
top-left ("Unstaged Changes") the list of files with changes to be send,
you can click on the name of the file to see the changes,
you can click on the icon of the file if you want to send all the changes in this file;
an icon in blue shows a file that have been changed and an icon in black shows a file that is new
@item
bottom-left ("Staged Changes") the list of files with changes that you have chosen to send so far,
you can click on the file name to view these changes,
you can click on the icon if you want to remove the changes from this file from the list to send
@item
bottom-right ("Commit Message") the message you want to attach to your changes when you submit them
to the development team
@end itemize
The idea here is to pick your changes to the @code{po} files;
for the @emph{commit message} you may wish to stuck to a simple, single line:
@quotation
"Updated translations for @emph{<lang>}"
@end quotation
The penultimate step is to click on the button @key{Sign Off} (it will add a line in the commit
message), and then click on the button @key{Commit}.
From this time, the commit message will clear itself and the "Staged Changes" also, showing that
your action was done.
You may now quit the @command{git gui}, the final step begins by running this command:
@example
git format-patch HEAD^
@end example
This will generate a file named like @file{0001-@emph{updated-translations-for-XX}.patch}
which contains your changes, ready for sending.
The goal will now be to email this file to @value{emailsupport}.
If you feel confident in having @command{git} send it for you, you may want to read the file
@file{The-perfect-Window-Maker-patch.txt} to see how to configure @command{git} for mailing, so you
can run:
@example
git send-email 0001-@emph{updated-translations-for-XX}.patch
@end example
@c ------------------------------------------------------------------------------------- The End ---
@bye

View File

@@ -1,8 +1,3 @@
Translated Message Catalog Files
================================
All files are now in UTF-8.
File Language Note Current Maintainer
------------------------------------------------------------------------------
ja.po Japanese 1 ABE Shige <sabe@ibm.net>
@@ -70,48 +65,7 @@ characters.
3. Uses iso8859-2 character set.
If you want to translate WindowMaker messages to some other language:
1 - type make WindowMaker.pot
2 - translate WindowMaker.pot like:
msgid "%s aborted.\n"
msgstr "%s abortado.\n"
where msgid is the original message and msgstr is the translated
message. PLEASE DO NOT TOUCH THE msgid LINES.
The info pages for gettext has more detailed information on how to
do translations.
3 - (maintainer only) put the locale name in configure.ac, in the list of
supported locales
Then rename the WindowMake.pot file to the language code
with a .po extension, reconfigure WindowMaker and run
make install.
To update an already translated message file use the msgmerge command. As in:
msgmerge pt.po WindowMaker.pot > pt.po.new
If you use an older version of gettext, the command is tupdate, instead
of msgmerge.
Notes:
- if you think an error message is too obscure just ask me about it.
- you don't need to translate every single word. Some words/expressions are
easier to understand in the original English form than in our
native languages.
- some strings used in dialog panels and other GUI parts are limited by
the size of the widget. Unfortunately, the only way to verify that is by
trial and error.
- you can use characters other than standard ASCII, if needed. Keep in mind
that if error messages that are output to stdout (instead of in a GUI dialog)
is translated using some character set different than ASCII, it will require
that the terminal from where wmaker is launched be able to display such
characters. For example, if you translate _all_ messages to greek, you'll
need to run wmaker from a xterm that can display greek.
- if you update a translation of someone else, please contact the current
maintainer, so that we don't have duplicate work. Also put a "history" log in
the top of the file, like:
@@ -124,8 +78,6 @@ the top of the file, like:
#
You may also want to translate the menu definition file.
Send the translated files to me, so that I can include them
in the next distribution.
--
Alfredo Kojima <kojima@windowmaker.info>

View File

@@ -1,9 +1,3 @@
Instructions for translating po files can be found in the po/README directory
in the top of the WindowMaker source tree.
All files are in UTF-8
File Language Note Current Maintainer
------------------------------------------------------------------------------
nl.po Dutch Alwin <translations@ziggo.nl>