# 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