People have already translated Producing Open Source Software into other languages, and further translations are currently in progress. If you'd like to start a translation, help one make progress, or improve a completed one, please let us know. We'll give you commit access to the book's repository and put you on a mailing list with other translators. Our goal is to make it as easy as possible for you to translate. We can host the results here when they're ready, but are also happy to link out to other sites if the translators for that language prefer some other location as the main site for the translation.
These guidelines assume you're familiar with using the Subversion version control system. If you're not, don't worry: we'll find a way to make it easy for you to work on the translation, either by teaching you some Subversion, or by arranging things so that you don't have to use Subversion.
First, get a username and password for repository access by asking here. Then check out a working copy of the relevant translation directory, named after the two-letter standard language code. In this example, it's zh for Chinese:
$ svn checkout http://svn.red-bean.com/repos/producingoss/trunk/zh/ $ cd zh
The chapters are named ch00.xml, ch01.xml, etc (and there are a few other XML files, for the table of contents and the appendices). Just edit each file, replacing English text with the target language. (If your software asks you what format to save in, choose "UTF8" or "UTF-8".)
Once you've done enough work and you're ready to save, commit the changes to the repository:
$ svn commit -m "Translated some more of Chapter 2." ch02.xml
At any time, you can "update" to bring down the changes other people may have made:
$ svn update
You can use the ViewVC tool here just to check if your work is there or to see the modifications list and differences between them.
Here are more detailed instructions, for translators who don't have prior Subversion experience. (These are taken from an email I posted to the translators mailing list, and were written for a translator working under Microsoft Windows. The full archives of that list are here. -Karl Fogel).
Subversion (http://subversion.apache.org/, also called "SVN") is a version control system, which is used to keep track of all changes to the book. The "master copy" of the book is stored, as XML files, in a central repository here: http://svn.red-bean.com/repos/producingoss/trunk/ You can browse the repository with your web browser; Subversion also knows how to request a copy of the book from that location. In SVN-speak, we say "check out" for "request a copy". It's like checking out a book from the library. To check out, you first install Subversion software (the Subversion "client") on your own computer, and have that client request a copy of the book from the repository. The client you should use is TortoiseSVN (I'm assuming you're on a Windows machine). TortoiseSVN is at http://tortoisesvn.tigris.org/. It self-installs like other Windows software. (Using TortoiseSVN is pretty easy -- you can press F1 at any time, also there are manuals in various languages at http://tortoisesvn.net/support. I've only read the English, but I highly recommend it, see http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html, especially http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-basics.html for a basic introduction to SVN.) Fortunately, you don't need to read all those manuals right now. I'll just tell you how to get started :-). After installing TortoiseSVN, use Windows Explorer to choose a folder where you want to put your copy of the book (this will be called your "working copy"). Right click to pop up the context menu, and select TortoiseSVN --> Checkout This will bring up a dialog box, asking you for a URL and a checkout directory. For the URL, use http://svn.red-bean.com/repos/producingoss/trunk/ and for the checkout folder, pick any name you want (TortoiseSVN will create this folder on your local disk). I recommend ProducingOSS or something like that. Note that you'll only do this checkout process once. After that, you'll be using: TortoiseSVN --> Update whenever you want to pull changes from the repository into your working copy. (This is to stay up-to-date with what the other translators are doing, especially in your language.) The initial checkout may take a while, because it gets both the English and all the translation folders. (Technically, there are ways to limit it to just your language folder, but I'm assuming you have a reasonable amount of disk space and prefer to keep things simple, so let's just check out the entire book tree.) Let's say you have checked out into the folder "ProducingOSS". Inside that folder you'll see things like this: ProducingOSS\en ProducingOSS\da ProducingOSS\ja ProducingOSS\es ... etc ... ProducingOSS\en\ch00.xml ProducingOSS\en\ch01.xml ProducingOSS\en\ch02.xml ... etc ... ProducingOSS\es\ch00.xml ProducingOSS\es\ch01.xml ProducingOSS\es\... ... etc ... ProducingOSS\pl\ch00.xml ProducingOSS\pl\ch01.xml ProducingOSS\pl\... ... etc ... etc, etc. The only files you need to worry about are the ones in your language folder ("es"). Most of the files in "es" will still be in English -- they are direct copies of the English files, and they need to be translated. So just edit one in your favorite text editor, translating as much as you want. When you're done with a session, it's time to send your changes back to the repository -- that is, to "commit" your changes. Committing stores your changes permanently, and makes them available to all the other translators. Committing also causes an email to be sent to this mailing list, showing everyone what you translated; this makes it easier for people to review each others' work and get a sense of general progress. In TortoiseSVN, you commit by right-clicking and choosing TortoiseSVN --> Commit It will ask you for a message (known as a "log message"), a short note that explains what you changed. You can just say "Translated 9 more paragraphs" or whatever. Your log message can be in the language you're translating to, or in English, that's the choice of you and your language team. Periodically, you should also do TortoiseSVN --> Update to pull changes from the repository into your working copy. I recommend doing this right before you sit down to do some translation, that's often enough.
Back to the Producing Open Source Software home page.