DDTC.1(1)
π DDTC π
okay bestie, welcome to ddtc (that's the manual page for it, in the 1 section, just so we're on the same page) β the ddts client tool that helps translators and reviewers do their thing. no cap, it's lowkey iconic.
β¨ NAME β¨
ddtc β the ddts client tool that helps translators and reviewers. that's the whole vibe. π
πΈ SYNOPSIS πΈ
ddtc [OPTIONS] COMMAND [ARGUMENTS]
π¦ DESCRIPTION π¦
so this script is literally here to help translators AND reviewers β it parses mails from the ddts, splits them into individual package files, sends reviews, and patches buggy translations. multitasking queen behavior. π
before it sends your translation or review back to the server, it runs a few tests on it, and if any one of these succeeds, it does not send it:
- the number of paragraphs is different in the description and its translation,
- line length is more than 80 characters,
- a
<tab>character is found, - a line starts with a dot (
.) followed by other characters.
it can also be run in interactive mode if no command is provided. in that case, menus are displayed to prompt the user for commands. very demure, very mindful. π
π COMMANDS π
here's the basic process, bestie:
- 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
parsecommand.
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 writes the diff or sets 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.todofile in yourBase/trdirectory intopackage.tr.
- Translating rename the
edit it with your favorite text editor. slay.
- Reviewing rename the
package.todofile in yourBase_dir/revdirectory intopackage.rev. do not edit the package file (with no extension), it is used internally byddtc.
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 shows 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. no drama, just receipts. π
- Fixing bugs rename the
package.bugfile in yourBase_dir/bugdirectory intopackage.fix.
edit it with your favorite text editor. it contains all changes and comments of the reviewers.
lines beginning with `>>' are comments and don'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. timing is everything, fr fr. β°
- Sending files back to the ddts run the script providing the
mailcommand.
it sends descriptions from package.tr and package.rev files back to the ddts renaming them into package.sent and closing bugs if necessary. bye bestie, it's been real. π«Ά
- Sending commands to the server run the script providing the commands you want to be sent to the server. it checks the commands and sends them to the server.
available commands:
section section name
sget package name
get package name
get number of packages
review package name
review number of packages
getbug list of bug numbers
btsclose list of bug numbers
notification list of languages
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. π nine. that's the limit. don't test it.
for sget, get, review, status and listtranslatedpackages you have either to define the $Language variable in your .ddtcrc configuration file, or to provide a language extension via the --lang or -l option. pick one, bestie, you can't skip both.
- Cleaning directories run the script providing the
cleancommand.
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
statscommand.
it prints figures based on file counts, it may not be accurate if directory cleaning has not been made before. it's giving "numbers, but make them approximate". π
π OPTIONS π
verbosity level:
-q,--quietβ quiet mode π€«-vβ verbose, start at level$Debug+ 1, add more for more verbosity (see below)--verbose nβ set verbosity level ton(see below)
cc mails to one-self:
-s,--mail-selfβ send mails also to oneself-n,--nomail-selfβ don't send mails to oneself
other:
-l,--langβ language extension to use when asking for new documents to translate or to review--ddtc-bugβ send review in special format. ask your language coordinator before using this option. π--noddtc-bugβ send review in standard format.-V,--versionβ print version and exit-h,--helpβ print usage and exit
π₯ Verbosity Level π₯
0quiet β only warnings and errors1normal β package names, reviewer/translator names and bugs numbers2reserved β for internal use3debug normal β names of subroutines4debug verbose β names and short arguments of subroutines5debug very verbose β names, arguments and return values of subroutines9debug don't send mails β same as5but send mails to oneself instead of ddts
level 5 and 9 are really verbose, so you should direct the output to a file. like, seriously. your terminal will not survive otherwise. π
β 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.
π AUTHOR π
Nicolas Bertolissio <bertol@debian.org>
and that's the whole page, bestie β written by Nicolas Bertolissio <bertol@debian.org>, running on perl v5.40.1, dated 2026-01-16, and filed under DDTC.1(1). go forth and translate, you absolute icon. πβ¨π¦
π¦ where this page comes from
- ubuntu resolute: ddtc 0.17.5build1 Β· GPL-2.0-or-later
- ubuntu stonking: ddtc 0.17.5build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms