Annotation of www/translation-explained.html, Revision 1.4
1.1 saad 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2: "http://www.w3.org/TR/html4/loose.dtd">
3: <html>
4: <head>
5: <title>Contributing to the OpenBSD Translation Effort</title>
6: <link rev="made" href="mailto:www@openbsd.org">
7: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
8: <meta name="resource-type" content="document">
9: <meta name="description" content="Contributing to the OpenBSD Translation effort">
10: <meta name="keywords" content="openbsd,translation,documentation">
11: <meta name="distribution" content="global">
12: <meta name="copyright" content="This document copyright 2000-2005 by OpenBSD.">
13: </head>
14:
15: <body bgcolor="#FFFFFF" text="#000000" link="#23238E">
16: <a href="index.html"><img alt="[OpenBSD]" height="30" width="141" src="images/smalltitle.gif" border="0"></a>
17: <!-- Passes validator.w3.org, please keep it this way;
18: please, use a max of 72 chars per line -->
19:
1.2 saad 20: <!-- NOTE TO TRANSLATORS
21: As obvious as it may seem, this page must NOT be translated
22: -->
23:
1.1 saad 24: <h2><font color="#e00000">Contributing to the OpenBSD Translation Effort</font></h2>
25:
26: <hr>
27:
28: <center>
29: <cite>?Nec verbum verbo curabis reddere fidus interpres?</cite>
30: </center>
31:
32: <hr>
33:
34: <h3>Table Of Contents</h3>
35: <ul>
36: <li><a href="#Intro">Introduction</a>
37: <li><a href="#Purpose">Purpose</a>
38: <li><a href="#Maintenance">Maintenance</a>
39: <li><a href="#Joining">Joining the Translation Team</a>
40: <li><a href="#CVS">Using CVS</a>
41: <li><a href="#Guidelines">Translation Guidelines</a>
42: </ul>
43:
44: <hr>
45:
46: <h3><font color="#0000e0"><a name="Intro">Introduction</a></font></h3>
47:
48: <p>
49: This document contains hopefully all the information you need to
50: contribute to the OpenBSD translation effort as described in <a
1.3 saad 51: href="translation.html">Translation of the OpenBSD documentation</a>.
52: Please read this document carefully and if you still have questions,
53: don't hesitate to contact <a href="translation.html#WHO">the translation
1.1 saad 54: coordinators</a>.
55:
56: <p>
57:
58: <h3><font color="#0000e0"><a name="Purpose">Purpose</a></font></h3>
59:
60: <p>
61: The purpose for translating
62: <a href="http://www.openbsd.org/">OpenBSD</a> web pages and other
63: documents is to help those who don't speak nor understand English use
64: OpenBSD or, if they do, they might feel more comfortable through reading
65: in their own language. So, by translating you are not only helping the
66: <a href="http://www.openbsd.org/">OpenBSD project</a> to expand, but you
67: are also helping people to become hooked to the system.
68:
69: <p>
70: And of course, you'll gain good knowledge through reading and
71: translating at the same time.
72:
73: <p>
74: It's important to note that besides <a
75: href="http://www.openbsd.org/">OpenBSD</a>, the OpenBSD project has
76: several websites for associated projects that you may want to translate:
77: <ul>
78: <li><a href="http://www.openssh.com/">OpenSSH</a>
79: <li><a href="http://www.openntpd.com/">OpenNTPD</a>
80: <li><a href="http://www.openbgpd.com/">OpenBGPD and OpenOSPFD</a>
81: <li><a href="http://www.opencvs.com/">OpenCVS</a>
82: </ul>
83:
84: <h3><font color="#0000e0"><a name="Maintenance">Maintenance</a></font></h3>
85:
86: <p>
87: Just translating a few web pages, or even translating the whole site
1.3 saad 88: including the <a href="faq/">F.A.Q.</a>, is <strong>ABSOLUTELY
89: NOT</strong> enough. Actually, you could be doing more wrong than good.
90: <strong>Maintaining the translation up to date is just as
91: important</strong>. Always remember that offering outdated information
92: will just misguide people.
1.1 saad 93:
94: <p>
95: If you are not going to keep your work updated, the translation itself
96: will be pointless. Join us only if you think you're going to commit
97: yourself to your work.
98:
99: <p>
100: <strong>Think first how much time you will be able to dedicate to the
101: translation. If you only have some small spare time, don't go overboard
102: and translate several files you won't be able to maintain
103: later.</strong>
104:
105: <p>
106: Some files are easier to maintain than others, either because they are
107: small, or because they don't get updated too often. For instance, <a
1.3 saad 108: href="plat.html">plat.html</a> is a small file, and it doesn't get
109: modified often. On the opposite side, <a href="plus.html">plus.html</a>
110: is a heavy file to translate; it grows bigger and bigger from one
111: version release to another, and the technical and slang wording used is
112: very difficult to translate with accuracy.
1.1 saad 113:
114: <p>
1.3 saad 115: Needless to say, some files take precedence over anothers. Such is the
116: case of <a href="index.html">index.html</a> ... or did you think
117: otherwise?
1.1 saad 118:
119: <h3><font color="#0000e0"><a name="Joining">Joining the Translation
120: Team</a></font></h3>
121:
122: <p>
123: Before joining the translation team, you must make sure that you have
124: the proper environment for translation. The required environment is
125: constituted of the following elements:
126: <ul>
127: <li>an OpenBSD box running a <strong>stable</strong> and
128: <strong>maintained</strong> release
129: <li>OpenSSH
130: <li>CVS
131: <li>a text editor such as vi, vim, mg, etc.
132: <li>an HTML link checker such as linkchecker (available in the ports
133: collection)
134: <li>an HTML validation program such as validate (available in the ports
135: collection)
136: </ul>
137:
138: <p>
139: Once you have the proper environment, you need commit access to the
140: Steelix CVS repository if you want to commit your work directly.
141: Otherwise, you can send them to another translator or one of the
142: translation coordinators to commit them for you (with due credit of
143: course). See <a href="translation.html#WHO">Who is doing this?</a> for
144: more information about the translators and translation coordinators.
145:
146: <p>
147: The Steelix CVS repository, located at <em>steelix.kd85.com</em> is the
148: CVS repository used for translation. The translation work is not
149: committed directly to the OpenBSD CVS repository. Rather, the
150: translation coordinators synchronize the two repositories on a timely
151: basis after checking the new commits.
152:
153: <p>
154: To commit on the Steelix CVS repository you will need an account on
155: <em>steelix.kd85.com</em>. To setup your account, contact one of the
156: <a href="translation.html#WHO">translation coordinators</a>. If he
157: agrees on giving you an account, you will need to give him the following
158: information by email:
159: <ul>
160: <li>Your full name (first name, last name). No surname/scene name is
161: accepted.
162: <li>A permanent email address on which you can be contacted regarding
163: translation work.
164: <li>A list of three Unix account named sorted by order of preference.
165: <li>Your SSH2 DSA public key as an attached file and its SHA-1
166: associated hash. A minimum length of 1024 bits is required for the
167: key.
168: </ul>
169:
170: <p>
171: <strong><font color="#ff0000">Warning:</font></strong> you are fully
172: responsible for the security of your working environment and your SSH2
173: DSA key.
174:
175: <p>
176: Our experience shows that some people request an account, commit some
177: work and then vanish without giving any good reason. Creating your
178: account and maintaining the account database is extra work for the
179: translation coordinators. So they might ask you to send the files to
180: another translator that will validate your work and your commitment to
181: the translation effort. This way, we make sure you are here to stay.
182:
183: <p>
184: Once a translation coordinator creates your account, he will notify you
185: by email. The final step before starting to use the CVS repository is to
186: join <i>wwwcvs@drowzee.kd85.com</i>, the translation mailing list. This
187: is a closed, moderated mailing list on which all changes made to the
188: Steelix CVS repository along with any translation related discussions
189: are posted. To join, please send an email to
190: <i>majordomo@drowzee.kd85.com</i> with a body containing <i>subscribe
191: wwwcvs</i>.
192:
193: <h3><font color="#0000e0"><a name="CVS">Using CVS</a></font></h3>
194:
195: <p>
196: Now we'll walk you through the basic CVS operations you need to perform
197: as a translator. If you want to have a more in-depth look into CVS
198: usage, please see the
199: <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&sektion=1">cvs</a>
200: manual page and read
201: <a href="http://cvsbook.red-bean.com/">Open Source Development with CVS,
202: 3rd Edition</a>, a free CVS online book by Karl Fogel and Moshe Bar.
203:
204: <p>
205: You must have a fresh checkout (<em>CVS download</em>, also called a
206: <i>working copy</i> in CVS terminology) of two CVS modules on your disk.
207: These are:
208: <ul>
209: <li>The <i>www translation</i> CVS module. This module must be obtained
210: from <i>steelix.kd85.com</i>, the OpenBSD translation CVS server.
211: This is the module on which all translation work happens.
212: <li>The <i>www</i> CVS module. This module must be obtained from one of
213: the many <a href="anoncvs.html"> anonymous OpenBSD CVS mirrors</a>
214: out there. This will be your source for the original english files
215: that you need to translate.
216: </ul>
217:
218: <p>
219: <strong><font color="#ff0000">Note:</font></strong> while the <i>www
220: translation</i> CVS module holds also the english files, they must not
221: be used since they are rarely kept in sync with the english files found
222: on the anonymous OpenBSD CVS mirrors.
223:
224: <p>
225: The checkouts and later operations are performed using SSH for
226: transport, as you might have guessed after reading the <a
227: href="#Joining">Joining the Translation Team</a> section.
228:
229: <p>
230: Let's see how the checkouts are performed.
231:
232: <h4>Initial checkout of the 'www translation' CVS module</h4>
233: We will assume that you are going to put all the translation work files
234: and directories under <i>/home/username/devel/openbsd/</i>. Of course,
235: this is absolutely not a requirement. This scheme is solely used for the
236: examples below. Change as needed.
237:
238: <p>
239: Issue the following commands to checkout the <i>www translation</i> CVS
240: module from <i>steelix.kd85.com</i>:
241:
242: <pre>
243: $ cd /home/username/devel/openbsd/
244: $ cvs -d "username@steelix.kd85.com" checkout -d "steelix-www" www
245: </pre>
246:
247: <p>
248: The latter command will connect to <i>steelix.kd85.com</i> using SSH as
249: user <i>username</i> to retrieve a working copy of the <i>www
250: translation</i> CVS module and store it under <i>steelix-www</i>.
251:
252: <p>
253: The SSH authentication is set up to use your SSH2 key, which requires
254: you to enter your passphrase to proceed. SSH is used for checkout and
255: all other CVS operations. By default, this will ask you everytime for
256: your passphrase. To save some typing, you might want to load your SSH2
257: private key in
258: <i><a
259: href="http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-agent&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html">ssh-agent</a></i> using <i>keychain</i> (available in the ports collection) or some
260: home-cooked recipe.
261:
262: <p>
263: After successfully entering your passphrase, CVS will proceed with
264: checking out your working copy. Depending on your connection speed, this
265: operation may take some time to complete.
266:
267: <p>
268: Once the checkout terminates, you will have a <strong>working copy of
269: the www translation CVS module</strong>.
270:
271: <h4>Initial checkout of the 'www' CVS module</h4>
272: To obtain a working copy of the <i>www</i> CVS module, you need to find
273: out an OpenBSD anonymous CVS mirror near you that is updated frequently.
274: Suppose you are located in Germany. According to the <a
275: href="anoncvs.html">OpenBSD AnonCVS</a> page,
276: <i>anoncvs2.de.openbsd.org</i> looks like a good candidate. It is
277: maintained by one of the OpenBSD developers (Alexander von Gernler) and
278: updated every 2 hours. Moreover, it offers CVS through SSH. Let's use it
279: to obtain the working copy of the <i>www</i> CVS module:
280:
281: <pre>
282: $ cd /home/username/devel/openbsd
283: $ cvs -d "anoncvs@anoncvs2.de.openbsd.org:/cvs" get -d "openbsd-www" www
284: </pre>
285:
286: <p>
287: The latter command will connect to
288: <i>anoncvs@anoncvs2.de.openbsd.org</i> using SSH as user <i>anoncvs</i>
289: to retrieve a working copy of the <i>www </i> CVS module and store it
290: under <i>openbsd-www</i>. SSH won't ask for authentication since we are
291: using an anonymous CVS account. Depending on your connection speed, this
292: operation may take some time to complete.
293:
294: <p>
295: Once the checkout terminates, you will have a <strong>working copy of
296: the www CVS module</strong>.
297:
298: <h4>Organization of the 'www' CVS module</h4>
299: <a name="sections"></a>
300: The <i>www</i> CVS module that the OpenBSD and associated projects'
301: websites are made of is constituted of ten sections:
302: <ul>
303: <li>[base]
304: <li>[faq]
305: <li>[openbgpd]
306: <li>[opencvs]
307: <li>[openntpd]
308: <li>[openssh]
309: <li>[openssh-usage]
310: <li>[papers]
311: <li>[pf]
312: <li>[porting]
313: </ul>
314:
315: <p>
316: <strong>[base]</strong>
317: represents
318: <a href="http://www.openbsd.org/">http://www.openbsd.org/</a> and
319: everything under it <strong>except</strong> for the FAQ available at
1.3 saad 320: <a href="faq/">http://www.openbsd.org/faq/</a>.
1.1 saad 321:
322: <p>
323: <strong>[faq]</strong>
324: represents
1.3 saad 325: <a href="faq/">http://www.openbsd.org/faq/</a>
1.1 saad 326: and everything under it <strong>except</strong> for the PF User Guide
327: available at
1.4 ! saad 328: <a href="faq/pf/">http://www.openbsd.org/faq/pf/</a>.
1.1 saad 329:
330: <p>
331: <strong>[openbgpd]</strong>
332: represents
333: <a href="http://www.openbgpd.org/">http://www.openbgpd.org/</a>
334: and the associated subdirectories.
335:
336: <p>
337: <strong>[opencvs]</strong>
338: represents
339: <a href="http://www.opencvs.org/">http://www.opencvs.org/</a>
340: and the associated subdirectories.
341:
342: <p>
343: <strong>[openntpd]</strong>
344: represents
345: <a href="http://www.openntpd.org/">http://www.openntpd.org/</a>
346: and the associated subdirectories.
347:
348: <p>
349: <strong>[openssh]</strong>
350: represents
351: <a href="http://www.openssh.com/">http://www.openssh.com/</a>
352: and the associated subdirectories <strong>except</strong> the usage
353: subdirectory.
354:
355: <p>
356: <strong>[openssh-usage]</strong>
357: represents
358: <a href="http://www.openssh.com/usage/">http://www.openssh.com/usage/</a>.
359:
360: <p>
361: <strong>[papers]</strong>
362: represents
1.3 saad 363: <a href="papers/">http://www.openbsd.org/papers/</a> and the associated
364: subdirectories.
1.1 saad 365:
366: <p>
367: <strong>[pf]</strong>
368: represents
1.3 saad 369: <a href="faq/pf/">http://www.openbsd.org/faq/pf/</a> and everything
370: under it.
1.1 saad 371:
372: <p>
373: <strong>[porting]</strong>
374: represents
1.3 saad 375: <a href="porting/">http://www.openbsd.org/porting/</a> and the
376: associated subdirectories.
1.1 saad 377:
378: <p>
379: Translated pages in a given language for a given section are located
380: under a subdirectory in that section. The subdirectory name is the
381: two-letter
382: <a href="http://lcweb.loc.gov/standards/iso639-2/englangn.html">ISO 639-1 language code</a>
383: of the language. For example, french [faq] pages are located under
1.3 saad 384: <a href="faq/fr/">http://www.openbsd.org/faq/fr/</a>.
1.1 saad 385:
386: <p>
387: The <i>www translation</i> CVS module is organized in an identical
388: fashion. While the <i>www</i> CVS module is your source for the english
389: original files that you need to translate or sync against, the <i>www
390: translation</i> CVS module will host all your translation work as we
391: mentioned earlier.
392:
393: <h4>Working on the 'www translation' module</h4>
394: You <strong>must not</strong> touch any file within the first level of
395: any <a href="#sections">section</a> of the <i>www translation</i> CVS
396: module. If, by mistake, you edited and modified one of the files in the
397: first level, don't edit it back to reverse those changes, the timestamps
398: will have changed and you will mess the remote repository next time you
399: <kbd>'cvs up - PAd'</kbd> followed by <kbd>'cvs commit'</kbd>. Instead,
400: just <kbd>rm -f</kbd> that file and follow the instructions to <a
401: href="#update">update</a>. An update from the CVS repository will
402: restore that file on your working copy. Likewise, avoid changing the
403: files from languages other than yours.
404:
405: <p>
406: You must do your work within your language directory. If it doesn't
407: exist yet, you can read how to <a href="#add">add</a> a new directory
408: or file in the next section.
409:
410: <p>
411: Thus, for a given language such as Spanish, the language directory will
412: be denoted by the two-letter
413: <a href="http://lcweb.loc.gov/standards/iso639-2/englangn.html">ISO
414: 639-1 language code</a>, <i>es/</i> in this case, and files will be
415: organized as follows:
416: <ul>
417: <li><em>steelix-www/es/</em> - www.openbsd.org/es/ files.
418: <li><em>steelix-www/faq/es/</em> - www.openbsd.org/faq/es/ files.
419: <li><em>steelix-www/openssh/es/</em> - www.openssh.com/es/ files.
420: <li>...
421: </ul>
422:
423: <p>
424: This is important to remember as far as relative <a
425: href="#Links">links</a> go.
426:
427: <a name="add"></a>
428: <h4>Adding directories and files</h4>
429: Suppose that there was no Spanish directory as yet under the
430: <strong>[pf]</strong> section. We would create it first on our local
431: repository:
432:
433: <pre>
434: $ cd ~/devel/openbsd/steelix-www/faq/pf
435: $ mkdir es
436: </pre>
437:
438: and then we would have to <strong>add</strong> it to the CVS repository:
439:
440: <pre>
441: $cvs add es
442: </pre>
443:
444: <p>
445: That was easy. Next we would copy a english original file that we would
446: like to translate from the <i>www</i> module (e.g.
447: <i>openbsd-www/faq/pf/index.html</i>) into the es/ directory and would
448: add it as well:
449:
450: <pre>
451: $ cd ~/devel/openbsd
452: $ cp -p openbsd-www/faq/pf/index.html steelix-www/faq/pf/es/
453: $ cd steelix-www/faq/pf/es
454: $ cvs add index.html
455: </pre>
456:
457: <p>
458: <strong>Note<sup>(1)</sup></strong>: while <kbd>cvs add</kbd>'ing a
459: directory will change the remote repository straight away, it won't do
460: so if we were adding a file until we run the <a
461: href="#commit">commit</a> command.
462:
463: <p>
464: <strong>Note<sup>(2)</sup></strong>: see the <kbd>rm</kbd> option on the
465: cvs manual page to know how to remove a file or directory.
466:
467: <a name="update"></a>
468: <h4>Updating files</h4>
469: If, while standing at <em>steelix-www/</em>, we ran the command and options:
470:
471: <pre>
472: $ cd ~/devel/openbsd/steelix-www
473: $ cvs up -PAd
474: </pre>
475:
476: the effect would be twofold:
477:
478: <ul>
479: <li>All changes made by others to the <i>www translation</i> module on
480: the CVS repository would be automatically applied to our working
481: copy. The working copy <strong>will</strong> change.
482: <li>All changes made by us to our working copy <em>would be ready to be
483: "uploaded"</em> to the CVS repository. The <i>www translation</i>
484: module on the CVS repository <strong>will not</strong> change until
485: we run the <a href="#commit">commit</a> command.
486: </ul>
487:
488: <p>
489: <strong>Note:</strong> it is suggested to run this command before we
490: start making changes to our working copy, so we can see what changes
491: have been made by others and avoid conflicts.
492:
493: <a name="commit"></a>
494: <h4>Committing changes</h4>
495: This is the mother of all commands:
496:
497: <pre>
498: $ cd faq/pf/es
499: $ cvs commit
500: </pre>
501:
502: <p>
503: This command will load an editor such as <i>vi</i> so you can enter a
504: commit message. This message will allow others to have an idea of the
505: change(s) that you've made. It is automatically posted to the
506: translation mailing list.
507:
508: <p>
509: Needless to say that you only commit when you feel your changes should
510: definetely go into the <i>www translation</i> of the CVS repository.
511:
512: <a name="revert"></a>
513: <h4>Reverting a change</h4>
514: If you have committed a file in a wrong directory, or which has
515: problems, you have to revert the commit as soon as possible. To do
516: such thing with <i>badfile</i>, you can do:
517:
518: <pre>
519: $ cvs log badfile
520: </pre>
521:
522: <p>
523: At the top of the output, you can see the latest revision of the file
524: (your latest modifications). For example, <i>1.192</i>. You have to
525: checkout the previous revision and commit it to fix the issue.
526:
527: <pre>
528: $ rm badfile
529: $ cvs co -r1.191 badfile
530: </pre>
531:
532: <p>
533: <i>1.191</i> is just the previous revision before <i>1.192</i>. Now, you
534: have it in your working copy and you can commit to restore things.
535:
536: <pre>
537: $ cvs commit -m "restoring previous version" badfile
538: </pre>
539:
540: <h3><font color="#0000e0"><a name="Guidelines">Translation
541: Guidelines</a></font></h3>
542:
543: <p>
544: Following is a set of general translation guidelines that will help you
545: get your job as a translator done correctly.
546:
547: <h4>Stick to translating the pages!</h4>
548: <strong>Although we really welcome any help to make the webpages better,
549: your job as a translator is _NOT_ to enhance the pages with pictures,
550: tags, email adresses or anything else that hasn't been in the page
551: before!</strong>.
552:
553: <h4>Translation Tags</h4>
554: If you have freshly translated a page to your language you would like to
555: see it committed. And it should and will be maintained. To make this
556: easier and let everybody see who committed this page and follow changes
557: using CVS we use some special tags at the end of the page.
558:
559: <p>
560: We simply enhance the original $OpenBSD$ tag with two more
561: lines, in which we document from which version our translated file comes
562: from and which version of the translation it is.
563:
564: <p>
565: A typical OpenBSD ID tag looks like this:
566:
567: <pre><small>
568: $OpenBSD: index.html,v1.330 2001/04/24 07:11:44 jufi Exp $
569: <small>
570: </pre>
571:
572: From this, you must change the opening and closing <tt>$</tt>'s and
573: change them to an opening ``<tt>Originally [</tt>'' and closing
574: ``<tt>]</tt>'', and add a <tt>$Translation$</tt> and an
575: <tt>$OpenBSD$</tt> ID tags. Since the <tt>Originally</tt> and
576: <tt>$Translation$</tt> tags are used by translators only, you
577: must comment them so they don't appear when the pages are displayed on a
578: browser:
579:
580: <pre><small>
581: <!--
582: Originally [OpenBSD: index.html,v 1.347 ]<br>
583: $Translation$<br>
584: -->
585: $OpenBSD$
586: </small>
587: </pre>
588:
589: Notice that we've also added the <tt><br></tt> tags here, which
590: are needed to have each ID tag on a separate line of its own. And we've
591: also stripped off part of the original OpenBSD ID tag, as that bit is
592: not really needed.
593:
594: <p>
595: As for the <tt>$Translation$</tt> and
596: <tt>$OpenBSD$</tt> tags, the Steelix and OpenBSD CVS servers
597: will take care of each respectively. So, next time you modify that file,
598: all you will have to do is to replace the content within the
599: <tt>Originally [blah... ]</tt> ID tag again.
600:
601: <p>
602: But you should check from file to file whether there's everything all
603: right and compare to other files, your own ones or even those from
604: other languages.
605:
606: <p>
607: <strong><font color="#ff0000">Note:</font></strong> the amount and
608: places of spaces and words are absolutely precise and not to be changed!
609: Otherwise you will find your file not recognized correctly by the
610: scripts which build the <a
611: href="http://steelix.kd85.com/translation/status.html">status page</a>!
612:
613: <p>
614: It is really helpful to have a look at the pages of the other
615: translators, and watch how they did it.
616:
617: <a name="Links"></a>
618: <h4>Links</h4>
619: When translating a file from the original English html file to another
620: language, we also need to change the relative links to have them point
621: to the right file they reference.
622:
623: <p>
624: As a first example, let's suppose you are translating the
625: <i>index.html</i> file, and you find a link to the orders.html file like
626: this:<br> <tt><strong><a href="orders.html">orders.html</a></strong></tt>.
627:
628: <p>
629: This means that it will link <em>index.html</em> to
630: <em>orders.html</em> <strong>if they are in the same directory
631: level!</strong>. So, if you dont have an <em>orders.html</em> file
632: translated yet in your language directory, it will point to a non-
633: existent file. Just go one directory back to link it to the file in the
634: English directory for this example case:<br> <tt><strong><a
635: href="../orders.html">orders.html</a></strong></tt>.
636:
637: <p>
638: When you have the <em>orders.html</em> file translated and already in
639: your language directory, you can then strip the
640: <tt><strong>../</strong></tt> off and let it point to your directory.
641:
642: <p>
643: For a file in the <em>faq/</em> directory, this is a bit different,
644: since your language directory will be something like <em>faq/de/</em>.
645: So, if you were translating <em>faq1.html</em> and found a link to the
646: <em>faq2.html</em> like this:<br>
647: <tt><strong><a href="faq2.html">faq2.html</a></strong></tt>
648:
649: <p>
650: you would have to go back one level as in the previous example to link
651: to the English file (or none if you already have faq2.html translated in
652: your language directory).<br> BUT, if you had to link from your faq
653: language directory to a file, say, in the first level directory (e.g.
654: <em>orders.html</em>), you would have to go back <strong>2
655: levels</strong>:<br> <tt><strong><a
656: href="../../orders.html">orders.html</a></strong></tt>.
657:
658: <p>
659: AND, if <em>orders.html</em> were a translated file, then you would have
660: to go back two levels and then one level forwards to your language
661: directory:<br> <tt><strong><a
662: href="../../de/orders.html">orders.html</a></strong></tt>.
663:
664: <p>
665: we know this looks messy, but you will get used to it and the best you
666: can do to avoid errors is to check links before you commit (and as you
667: are at it, also check the id tags).
668:
669: <p>
670: One final note on links: links must *always* be relative, except for
671: external links and links from www.OpenBSD.org to www.OpenSSH.com and
672: vice versa.
673:
674: <h4>Links to images</h4>
675: You'll find most images inside the <em>images/</em> directory. In fact,
676: all images are kept in there, except for <em>back.gif</em>, which is
677: <em>openbsd-www/back.gif</em>.
678:
679: <p>
680: This means that when a file is translated and goes into its language
681: directory, the links to the images <i>must</i> be changed too. So, the
682: most commonly used image on the website looks like this on any original
683: file:
684:
685: <pre><a href="index.html"><img height="24" width="24" src=<strong>"back.gif"</strong> alt="OpenBSD"></a>
686: </pre>
687:
688: <p>
689: but since the translated file will be placed on a different directory,
690: you will have to change the link to <em>back.gif</em> to get it right:
691:
692: <pre><a href="index.html"><img height="24" width="24" src=<strong>"../back.gif"</strong> alt="OpenBSD"></a>
693: </pre>
694:
695: <p>
696: For the remaining cases, where images are kept in the <em>images/</em>
697: directory:
698:
699: <pre><a href="art1.html"><img border="0" src=<strong>"images/openbsd-logo.gif"</strong> height="195"
700: width="520" alt="[OpenBSD 2.7]"></a>
701: </pre>
702:
703: <p>
704: should be changed to:
705:
706: <pre><a href="art1.html"><img border="0" src=<strong>"../images/openbsd-logo.gif"</strong> height="195"
707: width="520" alt="[OpenBSD 2.7]"></a>
708: </pre>
709:
710: <p>
711: This is easy when dealing with normal web pages, but if the file is in
712: the <em>faq</em> or <em>openssh</em> directories, then you have to use
713: something like:
714:
715: <pre><a href="art1.html"><img border="0" src=<strong>"../../images/openbsd-logo.gif"</strong> height="195"
716: width="520" alt="[OpenBSD 2.7]"></a>
717: </pre>
718:
719: <h4>Accentuated letters</h4>
720: Since some languages such as French makes extensive usage of accentuated
721: letters, a translator must make sure that the accents on the letters are
722: put in the right places and in the right styles (é not è
723: in a word such as "problème"). The HTML code must not
724: contain the accentuated letters in HTML codification format (such
725: "&eacute;" for "é").
726:
727: <h4>Punctuation</h4>
728: There are also differences in punctuation between English and other
729: languages. And you need to respect them. Take French for example. The
730: "!", "?", ":" signs always take a space
731: before and a space after as in "Le français est une
732: sacrée langue ! n'est-ce pas ?".
733:
734: <h4>Line wrapping</h4>
735: Verify that your HTML editor wrap lines correctly at 80 columns. If your
736: editor can't do that, there are other ways to do this such as using the
737: Text::Autoformat Perl module. We won't be accepting uncorrectly wrapped
738: files anymore since it requires non-wanted extra work from the
739: coordinators.
740:
741: <h4>English words</h4>
742: English words that cannot be easily translated or that should be kept
743: as-is for clarity must be double-quoted.
744:
745: <h4>Spell checking</h4>
746: It is highly recommended to use a spell checker in order to validate
747: your work.
748:
749: <h4>Link checking</h4>
750: It is highly recommended to use a link checker such as the
751: <a href="http://linkchecker.sourceforge.net/">linkchecker</a> program
752: (available in the ports collection) to verify the links in the
753: translated files.
754:
755: <h4>Mistakes and typos in the original versions</h4>
756: As in any translation work, you may notice mistakes and/or typos in the
757: original english version of the file that you are currently translating.
758: Please report them back to one of the maintainers (No diffs please. Send
759: an email with the lines where the problem is and the suggested
760: solution). It really helps the project to keep up with the quality
761: standards it strives to maintain.
762:
763: <h4>Translation status</h4>
764: The <a href="http://steelix.kd85.com/translation/status.html">OpenBSD
765: Translation Status </a> page helps translators follow the translation
766: status. It is generated hourly using <i>makereport</i>, a Perl script
767: that you can find in the <i>trtools</i> module on the Steelix CVS
768: repository. You can run <i>makereport</i> by yourself if you want to
769: have more frequent status updates or want to generate a status page only
770: for your language.
771:
772: <p>
773:
774: <hr>
775: <a href="index.html"><img height="24" width="24" src="back.gif"
776: border="0" alt="OpenBSD"></a>
777: <a href="mailto:www@openbsd.org">www@openbsd.org</a>
778: <br>
779: <small>
1.4 ! saad 780: $OpenBSD: translation-explained.html,v 1.3 2005/06/28 08:58:20 saad Exp $
1.1 saad 781: </small>
782:
783: </body>
784: </html>