start

# Spec: Software requirements for a Mozilla Pootle server

# Objectives

A Pootle server that hosts localisations for the Mozilla software, most notabaly Firefox and Thunderbird. But also with theses services:

- Download of CVS ready localisation
- Download of PO tarballs of all languages (incouding those not currently using PO)
- KDE style statistics pages
- Download of XPIs for languages in development
- Report critical errors

# Software Requirements

## Distro

- FTP and HTTP
- Pootle

## moz2po

Bug #129 is a met a bug that covers all issues related to localisation of ALL Mozilla files that need localisation

## Scripts

### CVS syncing

A simple script to conect to Mozilla and update mozilla/ and l10n/ modules. It should cope with multiple branches. A simple text configuration file should specify real brnach names and their humna readable name. eg MOZILLA_1_8_0_BRANCH = Mozilla 1.5.x

Adding a new branch should simply be a matter of adding to the config file and letting the scripts runs their course

### Generate POT files

    make -f tools/l10n/l10n.mk create-en-US
    moz2po -P l10n/en-US pot

### PO Generation

This script create the POT files, packages them for potential download and also shifts those copies onto the FTP and HTTP servers.

Similarly PO files are generated. The script need to be able to determine what languages are present in CVS. We need to distinguish between languages in Pootel and those in CVS as we migh tnot want to update PO files for active PO languages. We might need however to do this if someone directly updates source in Mozilla CVS. In this case we might need to rely on Pootles merging ability. This needs to be checked/tested

The PO files should be zipeed and also placed ready for potential download

### Critical Error report

Not Critical:

Give the output of pofilter in a human readable form so a non PO person can also get value by seeing critical error: variables, escapes, etc

### XPI creation

This script must use po2moz to create testing XPIs for developers to download. We might need to create a template XPI to allow easy creation. And also an XPI per branch. The script should now what template XPI to use.

It will probaby be good to use Alberto’s requested build requester to allow similar offline creation of these files.

there may be scripts floating around that can convert from XPI layout to CVS. We should investigate and repurpose if they suite our needs.

### Roundtrip

if things get dammaged then people don’t trust our tools. This set of scripts needs to be run regularly on the server when:

- Toolkit change
- Another point release of stable branch occurs
- Every week on HEAD

The idea is to pick up changes that look like we are breaking things. Log bugs against those issues and fix them. Ideally in a roundtrip there should be no difference between the input and the output files.

## Statitics

Implement the PHP stats generation that is used by KDE

This requires investigating into how we can specify modules. It would be good to be able to cleanly break items into toolkit/ firefox/ and thunderbird/ that way users have a very good picture of the general staus

## Plan of action

A prioritised list of issues for the server. moz2po issues have mostly been identified during setu pwe’ll detect others.

1. CVS syncing
2. Pack CVS dirs
3. PO and POT generation
4. Pack PO dirs
5. Stats
6. Roundtrip
7. Setup FTP & HTTP servers
8. Publish CVS and PO archives
9. XPI creation
10. Critical error report