PODEBCONF-REPORT-PO(1)
๐ PODEBCONF-REPORT-PO โ bestie edition (part 1) ๐
okay so you opened the manual for podebconf-report-po, which lives in the po-debconf family, and honestly? it's a whole vibe. let's get into it ๐ซถ
โจ NAME โจ
podebconf-report-po โ send outdated debconf PO files to the last translators. yes, it's literally the girl who forwards the group project doc to everyone who's behind ๐
๐ SYNOPSIS ๐
podebconf-report-po [options]
that's it. that's the whole synopsis. iconic, minimal, main character energy โจ
๐ธ DESCRIPTION ๐ธ
so here's the tea: this program reads a directory full of po files to figure out which ones contain fuzzy or missing translations (aka the ones that are Not Okay). then it launches an editor so you can tweak the mail body and headers, asks you to confirm that yes you really do want to send these mails, and then sends them off to the last translator requesting updates. the mail will contain the PO file that has to be updated, because obviously, we're not gonna make them guess ๐
podebconf-report-po can be called either in the top-level directory, or in debian or debian/po subdirectories. and for non-debconf translations, it can be called from the po directory itself or from its parent directory. flexible queen ๐
it can also be used to send a call for translations to a mailing list. in that case, the POT file will be attached. slay.
different templates exist for translation update requests, request to send updated PO files to a bug report (--submit), or for calls for translations (--call). the template can also be provided by the user, because customization is self-care โจ. see the TEMPLATES section for more info on the templates.
๐ OPTIONS ๐
many options can be set in a configuration file. see section CONFIGURATION FILE. (yes bestie, we love a config file, it's giving organized)
--addlanguageteam=LANGUAGE:LISTโ specify a mailing list for a given language. this mailing list will be added to the CC list for the PO files of this language when--languageteamis used, in addition to the language team specified in the PO file (if these mailing lists differ).
this is useful to keep the specified team informed, and allow a faster reaction when a translator is known to be inactive. keeping people in the loop is literally the whole point ๐ซถ
this option can be specified more than once. the language code and language mailing list are separated by a colon.
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--bts=NUMBERโ after a bug report has been filed (either manually or with the--submitflag) to track down translations,podebconf-report-pocan be run again, but this time with the--bts=NUMBERflag. translators are then requested to respect theReply-To:header field which is set to this bug report, so that all translations are gathered into a single location. one bug, all the replies, no chaos. organization is hot ๐ฅ--call[=MAILING_LIST]โ send a call for translations. if the optional MAILING_LIST argument is not specified, the call for translations is sent to the Debian Internationalization list (debian-i18n@lists.debian.org). shoutout to the i18n girlies ๐
calls for translations are useful to receive translations in new languages.
by default, calls for translation are combined with regular requests for updates sent to translators, for the existing translations. you can disable this default behavior with the --withouttranslators option.
--conf=FILEโ specify the configuration file. by default,podebconf-report-poreads$HOME/.podebconf-report-po.conf. that's the default home, bestie ๐--noconfโ do not read any configuration file. we're going in raw, no config, no notes ๐--deadline=DEADLINEโ specify the deadline for receiving the updated translations (default is no deadline).
this should be a date, which will be prefixed by:
The deadline for receiving the updated translation is
DEADLINE.
if the specified string starts with a '+', it will be interpreted by:
LC_ALL=C date -R -d DEADLINE
if no deadline is specified (and the --nodeadline option is not used), a deadline will be prompted to the user, proposing a default deadline set to +10days. it will literally ask you. respectfully.
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--nodeadlineโ deactivate the deadline indication to translators, and avoid the deadline prompts. no deadline, no stress, no prompts ๐ธ
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--defaultโ do not open the editor and use the template as is. not me skipping the editor ๐
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--nodefaultโ open an editor before sending the email(s). the editor era is back โจ-f,--forceโ send the email(s) without confirmation. bold. brave. sending it fr fr ๐ฅ
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--noforceโ ask for confirmation before sending email(s). we love a consent moment ๐ซถ--from=FROMโ specify the name and the email address of the sender (default is taken from theDEBEMAILandDEBFULLNAMEenvironment variables, or from theEMAILenvironment variable, or is set to the package maintainer if these variables are not set). so basically it'll figure out who you are if you don't tell it ๐
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--gzipโ compress PO files in attachment with"gzip". small file, big vibe ๐
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--nogzipโ do not compress PO files. raw file, raw energy ๐-h,--helpโ print usage information and exit. the classic bestie move when you're lost ๐ญ--langs=LANGUAGESโ specify a list of languages to restrict sending the notification only for these languages. the list of languages is comma separated. the PO files must be named according to these languages, with the.poextension. so like, be precise with your file names, okay?--languageteamโ send the email also to the Language Team as carbon copy.
it is enabled by default. cc'ing the team, as one does ๐
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--nolanguageteamโ do not send the email(s) to the language teams. keeping it private, i see ๐
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--muttโ send the mails withmutt. this set the--postponeargument to$HOME/postponed. mutt girlies rise ๐ฆ--notdebconfโ indicate that it is not a debconf translation.podebconf-report-powill use thetranslator-po,call-po, orsubmit-potemplate (if no other templates are requested in the configuration file or in the command line). these templates do not mention debconf in the subject or mail body and are more suitable for non-debconf translations.
this option also changes the default po directory used by podebconf-report-po (i.e. the --podir option is not needed when the call is done from the po directory itself or from its parent directory).
by default, a debian/po directory is preferred over a po directory. with this option, only the po directory will be considered.
this option is usually not necessary. podebconf-report-po tries to determine the type of translation based on the current directory and the existence of a debian/po or po directory. it's smart, it's got intuition, it's basically psychic ๐ง
--package=PACKAGEโ specify the name of the package (default is the source package name).--podir=DIRโ specify where the PO files are located. by default,podebconf-report-pochecks if it is called from apodirectory, or it searches for adebian/podirectory (this can be disabled with the--notdebconfoption), or for apodirectory. it's gonna find them, don't worry ๐--postpone=MBOXโ do not send emails, append them in MBOX. this file can be used as a postponed mailbox withmutt -p. queued and ready for later, no rush โจ--potfile=POTFILEโ specify the POT file to send to a call for translations (--call). by default,podebconf-report-pouses the POT file of the PO files directory, if there is only one.
this file is also used to find the package's name and version, if none were specified with an option, and if no debian/changelog files were found. multitasking king ๐
--sendmessageโ only send a message, with no attachments. this can be useful when the translators have a commit access to the package repository. no files, just words, we love a text-forward communication style ๐--smtp=SERVERโ specify SMTP server for mailing (default is"localhost").
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--submitโ instead of sending mails to translators, file a bug report against this package to request for translations. this is useful e.g. when preparing non-maintainer uploads to make sure that translations do not get lost. protect the translations at all costs ๐ญ--summaryโ send a status report to the maintainer with the list of emails sent to translators. a little receipts moment ๐งพ
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--nosummaryโ do not send any status report to the maintainer.--utf8โ send the email in UTF-8. this allow non-ascii characters in the mail body and mail header. the editor must support UTF-8. accents, emoji, all of it, allowed ๐
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--noutf8โ send the email(s) inus-ascii. non-ascii characters are replaced by a question mark. so your รฉ becomes a?and honestly? ๐--versionโ print version information and exit.-v,--verboseโ display additional information while running. it'll yap. affectionately.
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--noverboseโ do not use the verbose mode. quiet mode, mystery era ๐--templatecall=TEMPLATEโ specify a file to use as a template for the call for translations email(s). the default template is/usr/share/po-debconf/templates/call.
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--templatesubmit=TEMPLATEโ specify a file to use as a template for the email(s) sent to translators when the--submitoption is used. the default template is/usr/share/po-debconf/templates/submit.
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
--templatetranslators=TEMPLATEโ specify a file to use as a template for the email(s) sent to translators. the default template is/usr/share/po-debconf/templates/translators.
this option can be specified in the configuration file to define default behavior of podebconf-report-po. see section CONFIGURATION FILE below.
โจ bestie check, part 1 is done! more options and sections are coming in part 2, so don't go anywhere ๐
...and yes bestie, this one can also be dropped right into the config file to set the default behavior of podebconf-report-po. The whole tea is spilled in CONFIGURATION FILE below. ๐ซโจ
--template=TEMPLATEโ point at a file and it becomes the template for your email(s). ๐ And listen, if you use this one, it overrides whatever you gave to--templatetranslators,--templatesubmit, or--templatecall. It's giving main character energy and the others just have to deal. ๐
This option can also live in the config file to set the default behavior of podebconf-report-po. See CONFIGURATION FILE below.
--notemplateโ just use the default template, no notes. chill, simple, iconic. ๐--withtranslatorsโ after you send the call for translation, go ahead and send requests for updates to the translators too. ๐
Lowkey important: this option is ignored if --call isn't specified. And it's enabled by default, so you're already doing this unless you say otherwise. ๐
This option can be specified in the configuration file to define default behavior of podebconf-report-po. See CONFIGURATION FILE below.
--withouttranslatorsโ opposite vibe: after a call for translations, do not send translation-update requests to the translators. ๐ซ
This option can be specified in the configuration file to define default behavior of podebconf-report-po. See CONFIGURATION FILE below.
โจ CONFIGURATION FILE โจ
So by default, podebconf-report-po reads $HOME/.podebconf-report-po.conf. That's the spot. ๐ ๐
You can point it somewhere else with --conf, and if you want it to forget the config file ever existed, hit it with --noconf. And ngl, any command line option you pass can override whatever the config file said โ command line stays winning. ๐
The config files accept most of the command line options, just without the leading --:
deadlinenodeadlinesmtpfromverboseforcetemplatetranslatorstemplatesubmittemplatecalltemplatedefaultgziplanguageteamnolanguageteamaddlanguageteamsummaryutf8withouttranslatorswithtranslators
Lines that start with a number sign โ possibly with some spaces before it โ are comments and get ignored entirely. not even read, bestie. ๐
Here's an example, so you can see the vibe:
# This is a comment
smtp smtp.mydomain
from = Me Myself <me@mydomain>
utf8
๐ธ TEMPLATES ๐ธ
The templates you specify with --template, --templatetranslators, --templatesubmit, or --templatecall can contain these tags, and each one gets swapped out like magic โจ:
<from>,<subject>,<reply-to>โ replaced by the corresponding headers of the email(s). ๐ง<filelist>โ what it turns into depends on the mode, okay?- In the default mode, it's replaced by comments showing the list of translators with outdated translations. ๐ฌ
- In
--submitmode, it's replaced by the list of PO files with outdated translations. ๐ - And in
--callmode, it's replaced by the list of PO files found in the PO directory. ๐๏ธ
<reply>โ replaced by a string that indicates how the translators have to reply (e.g. follow the Reply-To tag or sending the PO to a given bug report). ๐ฎ<deadline>โ replaced by a string indicating the deadline for the translation (see--deadline). โฐ<package>โ replaced by the name of the package (if it was detected). ๐ฆ<statistics>โ replaced by the statistics of the PO files found in the PO directory (in the--callmode only). ๐
The /usr/share/po-debconf/templates directory contains the default templates. iykyk. ๐
๐ EXAMPLES ๐
The recommended usage is to call podebconf-report-po from the po directory you want updated:
podebconf-report-po --call
This will send a call for new translations to the <debian-i18n@lists.debian.org> mailing list and will ask translation updates to the previous translators. The language teams will also be notified and should be able to react if the assigned translator is known to be MIA. ๐ (we love a backup plan)
A prompt will ask a deadline to the user โ and the default is to request translations and updates within 10 days. ๐๏ธ
Then an editor will display the message to be sent to the mailing list. When this editor exits, podebconf-report-po will ask confirmation to send the mail to the mailing list. โ๏ธ
If confirmed, another editor will display the message to be sent to the translators and language teams. podebconf-report-po will ask for another confirmation to send the mails to translators and language teams. ๐
You should make a new release with the received translations after the deadline. ๐ no skipping this step fr fr
๐ SEE ALSO ๐
๐ AUTHOR ๐
- Fabio Tranchitella
<kobold@kobold.it>
and that's the whole page, bestie!! ๐ฆ This little masterpiece comes from the 2025-12-07 era and belongs to the PODEBCONF-REPORT-PO(1) crew. go forth and send those translation calls, you absolute icon. ๐โจ๐
๐ฆ where this page comes from
- ubuntu resolute: po-debconf 1.0.22 ยท GPL-2.0-only OR GPL-2.0-or-later
- ubuntu stonking: po-debconf 1.0.22 ยท GPL-2.0-only OR 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