A (very) brief guide to translating the NetBSD Website into German

Jan Schaumann <jschauma@netmeister.org>


Contents

CVS Setup

We maintain the translated documents in the same directory structure as the actual website. This makes it easy to modify the sources and stay in synch with the rest of the site. In order to create a translation of a page, you will either need a CVS account on our designated machine, or you can submit CVS patches via email. If you would like to get a CVS account to commit changes directly, please contact Jan Schaumann <jschauma@netmeister.org>.

The general procedure to translate a page is basically the same. First of all, you will need to check out the ``htdocs'' module. To do so, please set your CVSROOT to :pserver:anoncvs@netbsd.netmeister.org:/home/cvs and issue the command:

 $ cvs login

When prompted for a password, simply hit <return>. After this, you can check out the module using

 $ cvs checkout htdocs

This will create a directory ``htdocs'' in the current directory and store all the files in this directory. Now change into the directory ``htdocs/de'', which is where the German documents live.

Changing existing files

If you have encountered spelling errors or want to change anything else (for example, adjust a link), simply edit the file with your favorite editor.

Translating a new file

To translate a new file, please first make sure that nobody else is working on this file. We usually try to post who's working on which files to http://www.netmeister.org/misc/netbsd/. If nobody appears to have claimed the section you intend to translate, please send an email to netbsd-docs-de@cs.stevens-tech.edu to inform the other translators.

Copy the file(s) you wish to translate into place from the english directory tree - you may need to create directories accordingly. For example:

 $ pwd
 /home/you/htdocs/de/
 $ mkdir foo
 $ cp ../foo/* foo
 $ cd foo

When you edit the files, please pay attention if the file has a comment stating that you should be editing not bar.html but rather bar.list and run make afterwards!

Translate the files

If you want, you can use the shell-script translate.sh, which resides in htdocs/de, to initiate the translation-process. This script copies the file, which is given as the first and only argument, into the current directory and performs some of the actions described below. In particular, it adjusts the img src tags, the html tag and copies the original CVS tag. However, be careful to check these changes when you start the translation.

As you translate the file, please consult your dictionary of choice frequently. It may be helpful to have http://babelfish.altavista.com walk over the site1. Occasionally, Babelfish comes up with good phrases - however, more often than that, it creates horrible translations, so please be careful!

Run a spell-checker over the document. Re-read it again. View it on a browser and read it carefully again.

Adjust a few tags

Almost every German text contains a few characters that are not part of the plain ASCII set, such as the Umlauts (ä, ö, ü). You can choose to represent these using HTML entities, or to enter them directly.

When using HTML entities such as &auml; be careful: I usually tend to forget the next letter, so that I type f&uuml; instead of f&uuml;r.

When entering special characters directly, please remember to add the following tag to the <HEAD>:

     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

Note that you should not use ISO-8859-15 as the charset. Even though this would be the best charset to represent all special characters commonly encountered in German documents (such as the Euro-symbol), not all browsers are able to handle this charset. Therefore, please use ISO-8859-1 and use numeric entity references when you need to include a character from a different charset.

Finally, adjust the HTML tag to read <HTML lang="de">. Contrary to what I had written in here originally, the DOCTYPE tag should remain untouched, that is it should end in //EN> rather than //DE>. The reason for this is that the ``EN'' in the DOCTYPE tag does not specify the language used in the document, but the language used in the DTD definition. The language used in the document is then specified in the <HTML> tag as described above.

Adjust the links

You need to adjust the links to other pages! Some of the pages linked to from this page may have been translated, in which case, the relative URL should be just fine. However, if the link has not been translated yet, we need to direct the user to the english original. Be careful when adjusting the links, particularly to pages in the same directory that have not been translated yet. For example, if you are in the directory /home/you/htdocs/de/foo and the page contains a link to ../bar/baz.html, you will need to change it to ../../bar/baz.html. If the page contains a link to baz.html (that is, to a file in the current directory), you need to change it to ../../foo/baz.html.

Images can easily be adjusted by simply prepending a ../ to the src="../images/foo.gif".

After you have translated a page it may be necessary to adjust the links to this page - as the page had not been translated before, other pages may still link to the english original. Change into the root directory of the German translation (/home/you/htdocs/de/) and search through all files in this directory tree for links to your page and make the necessary adjustments.

Include the original Version

Please always include a comment which explains which exact english version the document is based on. For example:
     $NetBSD: index.html,v 1.13 2001/12/01 18:39:10 jschauma Exp $<br>
     <!-- Based on english version:                                   -->
     <!--   NetBSD: index.html,v 1.611 2001/11/30 19:30:43 dent Exp $ -->
If you are familiar with CVS or RSC, you will recognize the format. NetBSD's CVS server has been configured to use the "$Netbsd: ... $" tag rather than the "$Id: ... $" tag, so that the proper revision number etc. are substituted when you commit the file - the second tag will remain untouched, as it is not prepended with the "$" sign. Obviously, it's important to remove the "$" from the original tag so that this will not be updated and it remains obvious upon which original version the document is based.

Guidelines and Caveats

There are a few instances where we choose not to translate a certain phrase either because it sounds awkward in German or simply because there is no adequate translation. In other instances, we translate a certain phrase in always the same way, to guarantee consistency among the different pages. Please go through the following lists carefully as you translate - if you have questions regarding a certain phrase or know of a better way to deal with one, please send an email to the mailing list.

Very general things

English Words/Phrases

Some words or phrases can not or should not always be translated. In general, if there is a name or a phrase that could not be translated and it is not a common english phrase used in German, it should be left untranslated, but placed within a <cite> tag. Note that we should capitalize english nouns nonetheless - it just looks better in German. For example, the sentence ``Security issues in NetBSD are handled by the NetBSD security officer.'' might be translated as ``Fragen zur Sicherheit werden bei NetBSD vom <cite>NetBSD Security Officer</cite> gehandelt.''.

Phrases that remain unchanged

Common phrases

Tricky business

Submit your changes

After you have carefully evaluated your work and find it ready for the world to review, you need to commit the changes. There are two ways:

You have a CVS account

If you have a CVS account, change into the root directory of the German translation and do a cvs update -dP. It is important that you update your copy of the module before you commit. Then determine which files are not yet in the CVS repository (ie which ones you created), add them and finally commit your changes:
 $ pwd
 /home/you/htdocs/de/
 $ cvs update -dP
 $ cvs add foo
 $ cvs add foo/bar.list
 $ cvs add foo/bar.html
 $ cvs add foo/Makefile
 $ cvs -f commit

Please add an explanatory comment when CVS asks you.

You do not have a CVS account

The steps here are similar:
 $ cd /home/you/htdocs/de/
 $ cvs update -dP
 $ cvs diff -u -R -N > ../../mychanges.diff

Please see cvs(1) and http://www.cvshome.org for details of CVS. The generated patch can now be sent via email to either Jan Schaumann <jschauma@netmeister.org> or our Mailing-List <netbsd-docs-de@cs.stevens-tech.edu>.

Done

Congratulations, we're done. The commited changes will show up on http://netbsd.netmeister.org/de/ the following day, and, if approved, will be commited to the original document-tree soon after, so that they show up under http://www.netbsd.org/de/.

Footnotes

... site1
remember, the files you're translating are all available at http://www.netbsd.org


Jan Schaumann 2002-01-19