[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

pod://ddtc.fr.1.pod ddtc.fr.5.pod



Hello,

These are the manpages for version 0.10 of ddtc. Please could you
proofread them, they are translated from the original french ones so you
should have to :) change things so they will sound more english (add
phrasal verbs and so on).


Nicolas Bertolissio
-- 
#!/usr/bin/perl

=head1 NAME

ddtc - ddts client tool to help translators and reviewers.

=head1 SYNOPSIS

ddtc [OPTIONS] COMMAND [ARGUMENTS]

=head1 DESCRIPTION

This script helps both translators and reviewers with parsing mails from the
ddts, splitting them into individual package files, sending reviews and
patching buggy translations.

Before sending back the translation or the review to the server, the script
performs a few tests on it and does not sent it if one of the following
succeeds:

=over 4

=item - number of paragraphs is differents in the description and its translation,

=item - line lenght is more than 80 characters,

=item - I<E<lt>tabE<gt>> character is found,

=item - line starts with a dot (I<.>) followed by other charecters.

=back

=head1 COMMANDS

Here is the basical process:

=over 4

=item - 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 I<parse> command.

If it finds descriptions to translate, it creates a F<package.todo> file for
each of them in your F<Tr_dir> directory, diffing it with the preceeding you
have already translated if it exists.

If it finds descriptions to review, it creates a F<package.todo> file for each
of them in your F<Rev_dir> directory. If a preceeding 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 F<package.bug> file in your F<Bug_dir>
directory, it merges all bug reports to ease corrections. It also tries to
detect collisions (see below).

=item - Working with the files

=over 4

=item - Translating

Rename the F<package.todo> file in your F<Tr_dir> directory into F<package.tr>.

Edit it with your favorite text editor.

=item - Reviewing

Rename the F<package.todo> file in your F<Rev_dir> directory into
F<package.rev>.

Edit it with your favorite text editor. You can add comments that will be sent
to the translator by adding lines beginning with `B<E<gt>E<gt> >' (your
I<$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
`B<E<gt>E<gt>-->' correspond to your last version you reviewed, replace this by
`B<+E<gt>-->' if you think the translator is still wrong.  Lines beginning with
`B<E<gt>E<gt>++>' are the new translator's version, replace this by
`B<+E<gt>++>' if you agree with the translator.  Of wourse, if you still
disagree with the translator, you can add comments as indicated above.

=item - Fixing bugs

Rename the F<package.bug> file in your F<Bug_dir> directory into F<package.fix>.

Edit it with your favorite text editor. It contains all changes and comments of
the reviewers.

Lines beginning with `B<E<gt>E<gt>>' are comments and doesn't have to be
removed. Lines beginning with `B<E<gt>E<gt>X+>' are suggested corrections,
replace this by `B<+E<gt>X+>' if you want to validate it. Lines beginning with
`B<E<gt>E<gt>-->' are your last translation, replace this by `B<+E<gt>-->' if
you don't want to accept suggested corrections.

Run the script providing the I<fix> command. It creates a new F<package.tr>
file in your F<Tr_dir> 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.

=back

=item - Sending files back to the ddts

Run the script providing the I<mail> command.

It sends descriptions from F<package.tr> and F<package.rev> files back to the
ddts renaming them into F<package.sent> and closing bugs if necessary.

=item - 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:

=over 4

=item section I<section name>

=item sget I<package name>

=item get I<package name>

=item get I<number of packages>

=item review I<package name>

=item review I<number of packages>

=item getbug I<list of bug numbers>

=item btsclose I<list of bug numbers>

=item notification I<list of languages>

=item listtranslatedpackages

=item status

=item noneveraguide

=item neveraguide

=item noguide

=item guide

=back

In each set: I<sget>/I<get>/I<review>/I<getbug>/I<btsclose>/I<notification>,
I<noneveraguide>/I<neveraguide> and I<noguide>/I<guide>, only the first found
command is used. The script automatically adds language, encoding and mail
address (I<Mail_in>) if requested, I<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 I<sget>, I<get>, I<review> and I<status> you have either to define the
I<$Language> variable in you F<.ddtcrc> configuration file, or to provide a
language extension via the I<--lang> or I<-l> option.

=item - Cleaning directories

Run the script providing the I<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.

=item - Getting statistics about my work

Run the script providing the I<stats> command.

It prints figures based on file counts, it may not be accurate if directory
cleaning has not been made before.

=back

=head1 OPTIONS

Verbosity level:

=over 4

=item I<-q, --quiet>

quiet mode

=item I<-v>

verbose, start at level I<$Debug + 1>, add more for more verbosity (see below)

=item I<--verbose n>

set verbosity level to I<n> (see below)

=back

cc mails to one-self:

=over 4

=item I<-s, --mail-self>

send mails also to oneself

=item I<-n, --nomail-self>

don't send mails to oneself

=back

other:

=over 4

=item I<-l, --lang>

language extension to use when asking for new documents to translate or to
review

=item I<--ddtc-bug>

send review in special format. Ask your language coordinator before using
this option.

=item I<--noddtc-bug>

send review in standard format.

=item I<-V, --version>

print version and exit

=item I<-h, --help>

print usage and exit

=back

=head2 Verbosity Level

=over 4

=item I<0> quiet

only warnings and errors

=item I<1> normal

package names, reviewer/translator names and bugs numbers

=item I<2> reserved

for internal use

=item I<3> debug normal

names of subroutines

=item I<4> debug verbose

names and short arguments of subroutines

=item I<5> debug very verbose

names, arguments and return values of subroutines

=item I<9> debug don't send mails

same as 5 but send mails to oneself instead of ddts

=back

level 5 and 9 are really verbose, so you should direct the output to a file.

=head1 SEE ALSO

ddtcrc(5).

http://ddtp.debian.org/ddtp-text/misc/ddts-faq.txt.

http://ddtp.debian.org/ddtp-text/guides/guide.txt.

http://ddtp.debian.org/ddtp-text/guides/review.txt.

=head1 AUTHOR

Nicolas Bertolissio <nico.bertol@free.fr>
  
=cut
#!/usr/bin/perl

=head1 NAME

.ddtcrc - ddtc script configuration file.


=head1 DESCRIPTION

This is the configuration file for ddtc. If it exists, it must be at the top of
your home directory (F<$HOME>). This file is optional unless you don't want to
use default values.

Lines beginning with a number sign (`B<#>') and empty lines will be ignored.
Spaces at the begining and the end of a line will also be ignored as well as
tabulators.  If you need spaces at the end or the beginning of a value you can
use apostrophs (`B<">').
An optionline starts with it's name followed by a value. An equalsign is
optional.
A comment starts with the number sign, there can be any number of spaces and/or
tabstops in front of the #.
Some possible examples:

 # this line is ignored
 option   value
 option = value                               # this is a comment
 option        "value ending with space   "

You have to escape number signs with a backslash (`B<\>') to use it in a value.

Default values are provided into square brackets, they should be suitable for
most installations.

=head1 DIRECTORIES

They must be different from each other.

=over 4

=item I<base_dir>

base directory, sub-directory of your F<$HOME> unless an absolute path (i.e.
beginning with `/') is provided [ddts]

=item I<tr_dir>

directory for translations, sub-directory of F<base_dir> unless an absolute
path (i.e. beginning with `/') is provided [tr]

=item I<rev_dir>

directory for reviews, sub-directory of F<base_dir> unless an absolute path
(i.e. beginning with `/') is provided [rev]

=item I<bug_dir>

directory for bug reports, sub-directory of F<base_dir> unless an absolute
(i.e. beginning with `/') path is provided [bug]

=item I<temp_dir>

directory for temporary files, sub-directory of F<base_dir> unless an absolute
(i.e. beginning with `/') path is provided [/var/tmp]

=back

=head1 FILE EXTENSIONS

They must be different from each other.

=over 4

=item I<todo_ext>

extension for descriptions to work on [todo]

=item I<tr_ext>

extension for translated descriptions [tr]

=item I<rev_ext>

extension for reviewed descriptions [rev]

=item I<bug_ext>

extension for bug reports mixing files [bug]

=item I<fix_ext>

extension for fixed bug reports [fix]

=item I<sent_ext>

extension for descriptions sent to the ddts [sent]

=item I<old_ext>

extension for backup files [old]

=item I<lok_ext>

extension for locally accepted descriptions [lok]

=item I<ok_ext>

extension for descriptions which passed the review process [ok]

=back

=head1 OTHERS

=over 4

=item I<comment>

comment string for review, a space character will be added to this string [>>]

=item I<language>

language extension to use when asking for new documents to translate or to
review [none]

=item I<ddtc_bug>

whether reviews are sent in a special way to prevent updating ddts parts
databases or not. [no]

Caution: if set to `B<yes>', the `reply to accept modification' ddts feature
doesn't work anymore and the whole language team should use ddtc. Ask your
language team coordinator before setting this option.

=item I<clean_regex>

regular expression to remove file with I<clean> command
[~\$|\.old\$|\.bak\$]

=item I<debug>

verbosity level (see below) [1]

=item I<editor>

text editor [/usr/bin/sensible-editor]

=item I<mail_out>

your email address [first found in $ENV{EMAIL}, $ENV{DEBEMAIL} or none]

=item I<mail_in>

the mail address you want the ddts to answer to. This is the address the ddts
uses for your identification so you B<must> use this if you need to set
I<mail_out> to another value [I<mail_out>]

=item I<mail_self>

set to `B<yes>' if you want to be sent a copy of outgoing mail [yes]

=item I<mail_encoding>

mail encoding for mime [8bit]

=item I<mail_charset>

mail charset for mime [ISO-8859-1 for lack of charset used by ddts]

=back

=head2 Verbosity Levels

=over 4

=item I<0> quiet

only warnings and errors

=item I<1> normal

package names, reviewer/translator names and bugs numbers

=item I<2> reserved

for internal use

=item I<3> debug normal

names of subroutines

=item I<4> debug verbose

names and short arguments of subroutines

=item I<5> debug very verbose

names, arguments and return values of subroutines

=item I<9> debug don't send mails

same as 5 but send mails to oneself instead of ddts

=back

level 5 and 9 are really verbose, so you should direct the output to a file.

=head1 EXAMPLE

A ddtc configuration example file can be found at
F</usr/share/doc/ddtc/ddtcrc>.

=head1 SEE ALSO

ddtc(1).

=head1 AUTHOR

Nicolas Bertolissio <nico.bertol@free.fr>
  
=cut

Reply to: