GIT for translators

This is a guide for people wanting to translate ROX-Filer (or other ROX projects using GIT) into other languages.

Getting the program to be translated

You'll need a copy of GIT before you start. e.g.

$ apt-get install git-core

Start by getting a copy of the ROX-Filer repository:

$ git clone git://repo.or.cz/rox-filer.git

This creates a directory called "rox-filer":

$ cd rox-filer

You can now build and run the filer as usual:

$ ./ROX-Filer/AppRun

Creating or updating a translation

To make a translation, edit the ROX-Filer/src/po/*.po file; see Internationalisation for details.

To see what you changed:

$ git diff

To save your changes (just to your local computer):

$ git commit -a

Enter a log message, e.g. "Updated Chinese translation". You don't need to add your name to the message, because it's recorded automatically.

To see your new commit:

$ git log

Check that the 'Author' field is correct!

Publishing your updates

To create a patch to email:

$ git format-patch origin/master
0001-Updated-Chinese-translation.patch

You can send this file to the mailing list.

To publish your changes directly, you'll need write access to a repository. You can either create your own, or ask for access to the main one. To use ours, go here:

http://repo.or.cz/

Register yourself as a user and then write to the ROX mailing list to tell us your username. You'll be added as a user of the rox-filer/translations project.

Tell GIT about the translations project (replace user with the name you registered):

$ git remote add translations git+ssh://user@repo.or.cz/srv/git/rox-filer/translations.git

You can then push your changes directly to this project, like this (replace chinese with your language):

$ git push -f translations master:refs/heads/chinese

(-f means "force". You only need it the first time, to create the new branch.)

Then post to the rox-devel mailing list telling us to pull from this branch (tell us the name you used).

Updating to a new version

To update to the latest version of the program, do a pull:

$ git pull