Here is the basic process:
- Receiving mail from the ddts
Pass the whole mail (i.e. with header and Mime parts) you received from the ddts to the standard
input of this script, providing the parse command.
If it finds descriptions to translate, it creates a package.todo file for each of them in your
Base_dir/tr directory, diffing it with the preceding you have already translated if it exists.
If it finds descriptions to review, it creates a package.todo file for each of them in your
Base_dir/rev directory. If a preceding review exists, it diffs both and write the diff or set the
description as reviewed if there is no difference.
If it finds a bug report, it creates a package.bug file in your Base_dir/bug directory, it merges all
bug reports to ease corrections. It also tries to detect collisions (see below).
- Working with the files
- Translating
Rename the package.todo file in your Base/tr directory into package.tr.
Edit it with your favorite text editor.
- Reviewing
Rename the package.todo file in your Base_dir/rev directory into package.rev. Do not edit the
package file (with no extension), it is used internally by ddtc.
Edit it with your favorite text editor. You can add comments that will be sent to the translator
by adding lines beginning with `>> ' (your $Comment variable contents followed by a mandatory
space character).
If a translation has already been reviewed and has been modified the script show you the
differences between both versions. Lines beginning with `>>--' correspond to your last version
you reviewed, replace this by `+>--' if you think the translator is still wrong. Lines beginning
with `>>++' are the new translator's version, replace this by `+>++' if you agree with the
translator. Of course, if you still disagree with the translator, you can add comments as
indicated above.
- Fixing bugs
Rename the package.bug file in your Base_dir/bug directory into package.fix.
Edit it with your favorite text editor. It contains all changes and comments of the reviewers.
Lines beginning with `>>' are comments and doesn't have to be removed. Lines beginning with
`>>X+' are suggested corrections, replace this by `+>X+' if you want to validate it. Lines
beginning with `>>--' are your last translation, replace this by `+>--' if you don't want to
accept suggested corrections.
Run the script providing the fix command. It creates a new package.tr file in your Base_dir/tr
directory containing the unchanged lines and the lines you have selected.
To prevent collisions (reviewers sending review based on a different version than yours), don't
send fixed descriptions too often (once a day should be fine), retrieve your mails and parse them
just before fixing, send the fixed description as soon as possible afterward.
- Sending files back to the ddts
Run the script providing the mail command.
It sends descriptions from package.tr and package.rev files back to the ddts renaming them into
package.sent and closing bugs if necessary.
- Sending commands to the server
Run the script providing the commands you want to be sent to the server. It checks the commands and
send them to the server.
Available commands:
section sectionname
sget packagename
get packagename
get numberofpackages
review packagename
review numberofpackages
getbug listofbugnumbers
btsclose listofbugnumbers
notification listoflanguages
listtranslatedpackages
status
noneveraguide
neveraguide
noguide
guide
In each set: sget/get/review/getbug/btsclose/notification, noneveraguide/neveraguide and
noguide/guide, only the first found command is used. The script automatically adds language, encoding
and mail address (Mail_in) if requested, noguide is default.
Due to server limitation, to avoid risk of deny of service attack, you cannot receive for more than 9
new documents at the same time. The script does not check for this, but the server will.
For sget, get, review, status and listtranslatedpackages you have either to define the $Language
variable in you .ddtcrc configuration file, or to provide a language extension via the --lang or -l
option.
- Cleaning directories
Run the script providing the clean command.
It removes unnecessary files in ddtc directories but temporary one as this directory should be a
system wide temporary directory cleaned via system scheduled threads, but for debugging reason.
- Getting statistics about my work
Run the script providing the stats command.
It prints figures based on file counts, it may not be accurate if directory cleaning has not been
made before.