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.cu...@free.fr>
---
 WINGs/po/README             |   6 --
 WPrefs.app/po/README        |  18 -----
 doc/build/Translations.texi | 181 +++++++++++++++++++++++++++++++++++++++++++-
 po/README                   |  48 ------------
 util/po/README              |   6 --
 5 files changed, 179 insertions(+), 80 deletions(-)

diff --git a/WINGs/po/README b/WINGs/po/README
index 8554122..d70d960 100644
--- a/WINGs/po/README
+++ b/WINGs/po/README
@@ -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� <eadro...@gmx.net>
diff --git a/WPrefs.app/po/README b/WPrefs.app/po/README
index fe8c594..0b26833 100644
--- a/WPrefs.app/po/README
+++ b/WPrefs.app/po/README
@@ -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 <elip...@conectiva.com.br>
diff --git a/doc/build/Translations.texi b/doc/build/Translations.texi
index ceaa484..1e10a64 100644
--- a/doc/build/Translations.texi
+++ b/doc/build/Translations.texi
@@ -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
diff --git a/po/README b/po/README
index b0c97e9..5c5047a 100644
--- a/po/README
+++ b/po/README
@@ -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 <s...@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 <koj...@windowmaker.info>
diff --git a/util/po/README b/util/po/README
index b0cf777..8e5a388 100644
--- a/util/po/README
+++ b/util/po/README
@@ -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 <translati...@ziggo.nl>
-- 
2.1.4


-- 
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to