# phase

phase is a script that allows you to perform a number of tasks on a set of PO files that have been broken into phases. You can create a ZIP file for a phase, run checks against a phase, review a phase, edit files in a phase, etc. All the tasks that would be involved in sending work to various translators, receiving work, checking it and committing to CVS.

## Prerequisites

- An environment that will run bash
- diff
- cvs

## Latest Version

phase is not currently distributed as part of the toolkit. You can get the latest version from Git

## Usage

    phase <command> [options]

Mostly the usage follows the format of:

    phase <command> <language-dir> <phaselist> <phase-name>
    phase <command> <language-dir> <phase-name>

A full list of commands and options can be seen by running:

    phase --help

## Commands

These are the commands that you can use:

- makephaselist <new-phase-list-name> – creates a phase list
- listphases <phase-list> – lists the different phases that appear in the phase-list file
- listfiles <phase-list> <phase-name> – list all files for the given phase in the phase-list file
- checkphaselist <language-dir> <phase-list> – checks to see which files are not included in the phaselist
- countpo <language-dir> <phase-list> <phase-name> – counts PO file in the given phase
- countpot <template-dir> <phase-list> <phase-name> – counts POT file in the given phase
- missingpo <language-dir> <phase-list> <phase-name> – lists files that have not been returned for a phase
- packpot <template-dir> <phase-list> <phase-name> – packs all POT files for a given phase into a ZIP file
- packpo <language-dir> <phase-list> <phase-name> – packs all PO files for a given phase into a ZIP file
- packall <template-dir> <phase-list> – packs all phases found in the phase list
- packallpo <language-dir> <phase-list> – packs all phases found in the phase list for the given language
- countmismatch <language-dir> <template-dir> <phase-list> <phase-name> – compares the source word count between PO and POT to determine if there are any file errors.
- editpo <language-dir> <phase-list> <phase-name> – edit the PO files in a phase
- editpochecks <language> <phase-name> – edit the PO checks output by checkpo
- editconflicts <language-dir> <phase-list> <phase-name> – edit the extracted conflict items
- checkpo <language-dir> <phase-list> <phase-name> [pofilter options] – run pofilter checks against the given phase
- mergepo <language> <phase-name> – merge the checks back into the main language directory
- conflictpo <language-dir> <phase-list> <phase-name> [poconflict options] – run poconflict checks against the given phase
- diffpo <language-dir> <phase-list> <phase-name> – perform a cvs diff for the phase
- cvslog <language-dir> <phase-list> <phase-name> – perform a cvs log against files in the phase
- lastlog <language-dir> <phase-list> <phase-name> – retrieves the last cvs log entry for each file in a phase
- cvsadd <languages-dir> <phase-list> <phase-name> – CVS adds files and directories that are not already in CVS
- diffpo <language-dir> <phase-list> <phase-name> – perform a cvs diff for the phase
- reviewpo <language-dir> <phase-list> <phase-name> [pofilter options] – extract items marked for review for the given phase
- editreviews <language-dir> <phase-list> <phase-name> – edit the extracted review items
- countreviews <language-dir> <phase-list> <phase-name> – count the number of strings and words under review
- checkinpo <language-dir> <phase-list> <phase-name> – cvs checkin the files in the given phase
- creategsi <language-dir> <en-US.gsi> <traget-language> – creates a BZ2 GSI/SDF file for the language against the en-US GSI file
- reviewsinout <language> <phase-name> – counts the number of review files returned vs sent and shows which are missing
- reviewsdiff <language> <phase-name> – create a diff between what was sent for review and what was returned

## Bugs

There are probably lots mostly the bug is that the command line options are pretty inconsistent