1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314
|
This is the module with the sources of the DrGeo manual.
If you wish to work on or to participate in the translation of a
manual, you are suggested to entirely read this document. Also you may
want to read part of this document from time to time.
The various sections of this document explain how is set up the
translation procedure within this module. Some of the paragraphs below
may look a bit difficult to follow, however translating the manual is
one step but keeping a translated version up to date with the source
manual is more difficult. The main purpose of this CVS module
organisation is to have a consistent way to keep track of the update
in the source manual and to apply it to the translated manual.
HOW TO COMPILE MANUAL
---------------------
In top directory:
aclocal
automake
autoconf
./configure --prefix=/usr
cd fr (up to you)
make drgenius.pdf
make drgenius.html
make install (it will install the .html so that Dr.Geo can found it)
DOCUMENT TO TRANSLATE
---------------------
To translate the Dr Geo manual, one file need to get translated:
o the drgenius.tex file, it is the manual source;
LATEX & HYPERLATEX
------------------
LaTeX & HyperLaTeX are used to produce from a single .tex document a
paper version and a html version used as an online help. Common
macros to all the manuals are placed in the drgeniusCommon.tex
file. This file is included near the top of the drgenius.tex
document. The drgenius.tex is the manual. Each national manual has its
own directory -- generally a two letters directory name.
PICTURES
--------
In the manual, the pictures are located in the "figures" directories
of the various manual version. However, while translating the manual,
the c/figures can be used for all manual versions by setting the LaTeX
macro \drgeniusImagePath to the appropriate relative path
"../c/figures".
If you want to get localised pictures as well, create a 'figures'
directory in your locale directory, for example it/figures. Into that
directory copy the c/figures/Makefile. Then in the it/Makefile.am
change '../c/figures' to 'figures'. Then you need to get all the new
shot as .png images into it/figures.
SOURCE MANUAL
-------------
The source manual is the French version -- in the fr directory. This
means this is the version where new stuff is written first.
The international version -- in English -- is in the c directory, we
keep it as best as we can up to date with the French version.
In short, if you can read French, you should update your national
manual from this manual. Otherwise, use the international version in
the C directory.
DR GEO MANUAL VERSION
------------------------
When a manual version is ready (i.e. to be translated to other
languages or up to date with the original version) it is tagged in the
CVS. The tag names are of the form version-X_X where X are
numbers. The first version is always version-1_0.
Examples:
To mark the fr/drgenius.tex ready to be translated to other language
we mark it with the following command:
cvs tag version-1_0 fr/drgenius.tex
To mark the it/drgenius.tex as up to date to the version-1_1 of the
French manual we use the following command:
cvs tag version-1_1 it/drgenius.tex
IMPORTANT NOTE FOR TRANSLATOR
-----------------------------
\xname{} instructions must not be translated. These commands set hooks
for the Dr. Geo on-line help manual. Translating the commands will
just broke the Dr. Geo on-line help system (i.e. the user will not get
the required help section).
STARTING THE TRANSLATION
------------------------
Let's see with an example:
Let's say you want to create a new Dutch version of the manual. The
country code is nl (you may want to have nl_BE and nl_NL)
1. fetch the whole drgenius-man module from the OFSET CVS
cvs -d:ext:hilaire@cvs.sourceforge.net:/cvsroot/ofset co drgenius-man
2. create the manual directory and related data
cd drgenius-man
mkdir nl
3. edit the following files, necessary to resp. autoconf and automake.
a. In configure.ac, add nl/Makefile to the list of AC_CONFIG_FILES:
AC_CONFIG_FILES([
Makefile
c/Makefile
fr/Makefile
...
nl/Makefile)]
b. In Makefile.am, add nl to the list of subdirectories:
SUBDIRS = c es fr ... nl
4. fetch the last stable manual version you want to translate
from. Let's say you want to translate from the French version.
a. First see what the latest stable version of the French manual is
cvs update
cat fr/version
Let's say the previous command returns version-1_2
b. Fetch the French version-1_2 from the CVS and commit
cvs add nl
cd nl
cp ../fr/Makefile.am . (edit the file to set the appropriate path)
(just replace fr by nl)
touch ChangeLog version
cvs get -r version-1_2 -p drgenius-man/fr/drgenius.tex > drgenius.tex
cvs get -r version-1_2 -p drgenius-man/fr/topic.dat > topic.dat
You are ready to translate the drgenius.tex and topic.dat to Dutch.
When translations are done, commit the files to the CVS server:
cvs add drgenius.tex Makefile.am ChangeLog version topic.dat
cvs -z3 commit -m "Initial set-up of the manual."
The add operation is only need once, then updates to the files can
be commited with the commit command.
5. Once the translation is up to date and you are sure about that,
mark it as version-1_2 (do not forget to commit once more before tagging):
echo "version-1_2" > nl/version
cvs -z3 commit "Updated version."
cvs tag version-1_2 nl/drgenius.tex
UPDATING A TRANSLATION
----------------------
The updates of the translated manuals are organised with the TAG
system which comes with CVS. We use this system to mark new manual
version ready to be translated. The last stable version can be found
from the version file within the respective directory of the manual.
In a few words, to update a translated manual from one stable version
to the next stable one of the source language manual, we look at the
differences between the last two stable versions of the source
language manual, then apply this differences to our translated manual.
In the following we will take an example to explain further how to
proceed.
Let's say we have the Dutch manual version-1_1 up to date while the
release version-1_2 of the French source manual is committed into the
CVS.
Note: To know what is the latest stable version of the French source
manual proceed as:
cd your-working-copy
cvs update
cat fr/version
The Dutch maintainer will want to apply to its manual the
differences between the version-1_1 and version-1_2 in the French
manual. All this means the maintainer will need:
- the Dutch manual version-1_1
- the French manual version-1_1
- the French manual version-1_2
Here how we proceed:
cd nl
cvs get -r version-1_1 -p drgenius-man/fr/drgenius.tex > drgenius-1_1.tex
cvs get -r version-1_2 -p drgenius-man/fr/drgenius.tex > drgenius-1_2.tex
Then look at differences with a command like
diff -u drgenius-1_1.tex drgenius-1_2.tex | less
or
diff -u drgenius-1_1.tex drgenius-1_2.tex > diff.txt
Lines deleted from drgenius-1_1.tex begin with the sign '-' and lines
added to drgenius-1_2.tex begin with the sign '+'. Some lines before and
after these changes are the same.
The diff document produced with the diff command may not always be easy
to read. There is an alternative tool to look at the differences. The
section UPDATING A TRANSLATION WITH EMACS explains this tool.
UPDATING A TRANSLATION WITH EMACS
---------------------------------
You can use the GNU Emacs Ediff (Menu Tools->Compare->..) to look at
the differences.
Start Emacs, then go to the menu Tools->Compare->Two Files... (or use
M-x ediff-files).
Select the files nl/drgenius-1_1.tex nl/drgenius-1_2.tex
(Note: Remember, those drgenius-1_1.tex and drgenius-1_2.tex files are
the French versions we fetch from the CVS into the nl directory)
Emacs will show you the differences between these two versions. You
can browse them with 'n' and 'p' ('?' toggle key for help).
You can now open in a third view (C-x 4 f or open a new frame with C-x
5 f) the source of the Dutch source manual (nl/drgenius.tex)
When the translation is up to date, mark it as version-1_2 (do not
forget to commit it a very last time before tagging)
echo "version-1_2" > nl/version
cvs -z3 commit "Updated version."
cvs tag version-1_2 nl/drgenius.tex
Then you can safely delete the drgenius-1_1.tex and drgenius-1_2.tex file
rm nl/drgenius-1_1.tex
rm nl/drgenius-1_2.tex
NOTE: Of course, if you translated from the international version, you
just need to replace every 'fr' by 'c'.
Comment, remarks, proofreading are very welcome to enhance this
document.
IN PROGRESS
-----------
DO NOT READ HERE. Documented function may not work for now.
A more easy way for comparing two versions is to use
vc-minor-mode. With an updated working directory, you have to edit the
last version of drgenius.tex. For example, the mode line contains
somethinglike CVS-1.2 for drgenius-1_2.tex. Then use :
C-x v ~
and type 1.1 to obtain the previous version of the file (see C-h m and
Version Control in the Emacs manual for more help on VC minor mode). A
new buffer is created. Then use :
M-x ediff-buffers
and validate two times (Emacs should propose the correct buffers). You
have now previous version of the file (v1.1) at the top and the last
one (v1.2) at the bottom of the frame. You can browse differences with
'n' and 'p' ('?' toggle key for help).
$Id: README,v 1.12 2003/08/12 14:49:15 hilaire Exp $
|