Next: , Up: PO Files and Team


2.3.6.1 Adopting GNUmakefile.team For a Specific Team

To adjust the makefile for your team, you need to edit two variables.

TEAM
Set this to the language code, like bg or pt-br.
wwwdir
The relative or absolute path to the working copy of the master `www' repository. So if you have checked out your project's Sources repository at ~/projects/www-lang and the `www' Web repository at ~/projects/www, the value of wwwdir should be ../www/ or /home/user/projects/www/. Note the slash at the end, it is important.

Technically speaking, two variants of one language sharing the same project and repository (such as zh-cn and zh-tw) are not supported—patches welcome. As a workaround, there could be two directories with two GNUmakefiles and each directory having its own tree.

Some variables are specified on the command line, and alter the behavior of the build process.

VERBOSE=yes
Print more information from cvs, svn and msgmerge; off by default. Note that VERBOSE can be defined to any string, it will have the same effect.
VCS=yes
Update both `www' and `www-lang' repositories, then commit the merged PO files in the latter repository. By default, there is no VCS interaction. The VCS of the translation project repository is determined automatically; currently only CVS, Subversion, GNU Bzr, GNU Arch and Mercurial (Hg) repositories are supported.

Caution: The makefile rule will commit all local changes, not only those that resulted from running msgmerge. Thus, it is better to use a separate working copy dedicated solely for this purpose.

Targets in GNUmakefile.team
update
Updates the repositories. Does nothing unless VCS=yes.
sync
Merges all available PO files from the corresponding POT in `www'.
report
Verifies which translations are complete, and prints a list (with statistics) of those that need to be updated.

make VCS=yes is the recommended command to be run periodically. To check the status of the translations, run make report.

Feel free to replace all strings with equivalents in your native language and of course—do not hesitate to extend this file and modify it as much as you like. For example, useful extra functionality would be a target that will check which files have not yet been committed in the official repository, or which files have to be updated there (i.e. they were updated by the team members but not installed by the coordinator). Either way, if you come up with something interesting, it would be nice to send a message to bug-gnun@gnu.org, so that GNUmakefile.team gets updated for all teams' benefit.