This is the procedure for preparing and publishing Press Releases at FSFLA. It requires write access to the SVN repository, and it uses scripts in the scripts/bin directory. Add it to your PATH before running any svnwiki-* commands below.


  • Write it up, ideally with participation from Keep the title in the first line or so.
  • If it's a press release, make sure it starts (after the title) with "Location, date—", and that the "About FSFLA", "Press contacts" sections are present.
  • Make sure a Copyright notice and a license are present.
  • Avoid URLs in the middle of the text, especially long ones. Move them to the end of the paragraph, in a separate line, like this:
  • Get at least the last draft into SVN. In the commands below, YYYY-MM stand for the announcement's year and month, id is a string that identifies the announcement (unique within that month), and lg is the language (en, es, pt):
 svn add anuncio/draft/YYYY-MM-id.lg
 svn commit -m "New" anuncio/draft/YYYY-MM-id.lg


  • Prepare the announcement for translation. Arguments to svnwiki-fortrans are positional. Replace any translations you don't have yet with /dev/null.
 svn cp anuncio/draft/YYYY-MM-id.lg trad/YYYY-MM-id
 svnwiki-fortrans anuncio/draft/ \
   anuncio/draft/ \
   anuncio/draft/YYYY-MM-id.en \
   > trad/YYYY-MM-id
  • Add a note about the translation to trad/index, something like:
 * anuncio/[[YYYY-MM-id]] (en=>es,pt)
  • Either replace anuncio/draft/YYYY-MM-id.lg with a link to the translation file:
  • ... or simply remove it:
 svn rm anuncio/draft/YYYY-MM-id.lg
  • Check it all in:
 svn commit -m "Prepare for translation." \
   anuncio/draft/YYYY-MM-id.lg \
   trad/YYYY-MM-id trad/index


  • Adjust trad/index to reflect the change in status.
  • Perform a pre-final review of the translation still in the table form.
  • Issue a call for reviewers some time before the cut-off date/time.
  • Check translations yourself within your abilities.

Preparing for publication

  • Split up the translations. The order of the arguments to svnwiki-detrans matters.
 svn cp trad/YYYY-MM-id anuncio/draft/
 svn cp trad/YYYY-MM-id anuncio/draft/
 svn cp trad/YYYY-MM-id anuncio/draft/YYYY-MM-id.en
 svnwiki-detrans trad/YYYY-MM-id anuncio/draft/YYYY-MM-id.{es,pt,en}
 svn ps svnwiki:title "Title in Spanish" anuncio/draft/
 svn ps svnwiki:title "Title in Portuguese" anuncio/draft/
 svn ps svnwiki:title "Title in English" anuncio/draft/YYYY-MM-id.en
  • Remove the title from the first line of the translations, it's taken care of by the svnwiki:title above.
  • Replace the translation file with:
  • Adjust trad/index
  • Check it all in
 svn commit -m "Finished translation." \
   trad/index trad/YYYY-MM-id \

  • Go through each of the translated files, refilling paragraphs (careful with forced line breaks), making sure there are two blanks after periods (this looks better in the e-mail version), checking style, URLs et al.
  • Assign an official URL to each translation, and update it in the announcement if appropriate.
  • See how the text rendering looks like:
 svnwiki-to-txt < anuncio/draft/YYYY-MM-id.lg
  • Check in after any needed changes.
  • See how the draft looks in a web page.


  • Move the drafts to their final location:
 for lg in es pt en; do
   svn mv anuncio/draft/YYYY-MM-id.$lg anuncio;
  • Adjust the links in trad/index and trad/YYYY-MM-id.
  • Update .latest and run scripts/bin/latest.
  • If we're still using Drupal URLs, add mappings for the node numbers to svnwiki web pages names in .htaccess
  • Check in the changes:
 svn commit -m "Publishing." \
   anuncio/draft/YYYY-MM-id.{es,pt,en} \
   anuncio/YYYY-MM-id.{es,pt,en} \
   trad/index trad/YYYY-MM-id .htaccess
  • Give svnwiki time to generate the html files at the new location.
  • Convert each of the announcement files to text:
 for lg in es en pt; do
   svnwiki-to-txt < anuncio/YYYY-MM-id.$lg \
     > ~/$lg.txt
  • Compose a separate e-mail for each translation, with the following headers:
 Organization: FSF Latin America
 Subject: [lg] Title
  • Add the body from the corresponding lg.txt file.
  • Post it.
  • Check the moderation queue at and approve your postings.
  • Forward the announcement posted by info@ to Save the forwarded messages to lg.fwd.
  • Use scripts/bin/resend-to to send copies of the e-mail posted to prensa to press contacts and mailing lists.
 sed 's, *#.*,,;/^$/d;' internal/prensa/... | \
 xargs -d '\n' scripts/bin/resend-to lg.fwd | sh

Last update: 2009-01-21 (Rev 4696)

svnwiki $Rev: 15576 $