start

# Specifications

These are the specifications for the project broken in to broad and roughly sequential sections. Tasks will be made into links when we write the low level spec. Completed tasks with be marked using strikethrough.

What following are the implemenation specifications. Please look at the Functional Specificaions for an overview of what WordForge will do.

For information on the level of conformance / level of completion of different standards and storage formats, see conformance.

# Basics

- Validate current TMX implemenation
- Validate current XLIFF implemenation
- Abstract PO and XLIFF base classes to be interchangeable
- Refactor convertors to be pluggable

# Stabalisation of Pootle

- Simplify UI
- Easy install on Windows
- Out of the box operating without config editing
- Use ISO639 for languages in addition to manual entry
- Implement plural forms storage class
- Correct plural form translating
- Web-based upload of files
- Sorrect pot2po to update existing work correctly

# Pootle Interface (Cleanup of existing)

- Mockup translation interface
- Mockup user and rights management
- Mockup user setttings
- Mockup package upload and download
- Mockup registration screens and process

# Payloads

- Spec TMX and TBX subset integration into XLIFF files
- Spec interoperability of XLIFF and PO for payload carrying
- Payload sanity check are the files too big

# Translation Memory

- Ensure po2tmx can carry and preserve all possible data
- Integration of TMX download into Pootle
- Storing TM in Pootle for use by Pootle
- Capture and store additional TMX information that we can get from edits in Pootle
- Optimise for speed issues on large TMX files
- Payload subset extraction and integration into downloaded XLIFF file
- Reviewing, fixing, approving of existing TM data
- TM Editing rights
- Inflow editor to allow for approval of all new TM data
- Backflow of TM corrections to mark broken strings for review
- Implement text matching algorithms for fuzzy matching of suggestions
- Integration of TM supplied suggestions into user interface
- Allow TM correction from translation interface

# Glossary

- Implement TBX standard (basic)
- Basic CSV to TBX
- Basic PO to TBX
- Command line tool for potential glossary word and phrase extractor
- Storing TBX data in Pootle
- Payload subset extraction and integration into downloaded XLIFF file
- Integrate glossary suggestions into Pootle translation interface
- Pootle interface to create, edit and maintain glossary
- Glossary management rights
- Backflow of corrected glossary entries to mark existing items for review
- Ability for translators to nominate a glossary word while translating

# Pootle groundwork

- Integrate templating engine
- Investigate migrating some data to crossplatform DB
- Refactor classes

# Pootle the editor (Basic)

- Searching should produce a filtered list
- Block reservation of editing texts to prevent editing conflicts

# Pootle liason (Basic)

- Mockup or check project addition interface
- Mockup upload web interface
- Mockup download web interface
- Validate that pootle can manage required rights for project liason functionality
- Create project creation interface
- Create web based data upload interface
- Create web based language download interface

# Pootle liason (Enhanced)

- Spec upload and download protocol
- Script automatic upload tool for reuse by upstream projects
- Script automatic upload tool for reuse by upstream projects
- Mockup requirement and prioritisation interface
- Create requirement and prioritisation interface
- Goals integrate with language level direction setting
- Allow downloads based on requirements or goals

# Pootle liason (Advanced)

- Smooth liason handover or transfer
- Allow multiple liasons

# Pootle the editor (Feedback enhancements)

- Mockup language and source string feedback
- Capture translators language specific or source string feedback

# Pootle language management (Basic)

- Language manager can approve users as translators
- Language manager can set project and intra project goals
- Goals shapped by project liason minimum requirements

# Pootle language management (Enhanced)

- Progress statistics for translators and project
- Atainability inicators (as this speed will you make the goal)

# Pootle Workflow (Pre)

- Investigate LISA workflow stadards
- Spec workflow stations handoffs and commands
- Spec workflow payload storage

# Pootle Workflow (Basics)

- Review exsiging rights management against needs
- Implement missing rights management for defined workflow
- Implement payload storage of worflow data
- Implement workflow

# Pootle Workflow (Enhanced)

- Implement other workflow flows

# Pootle for Newbies

- Translation sandpit or low priority tasks
- Flag newbies and allow detailed feedback
- Earn credit to move to higher levels of responsibility

# Distributed Pootles

- Define project sharing data
- Implement master and slave Pootle arrangements
- Implement sharing of TMX and TBX data between Pootle instances
- Work out a system of rights sharing
- Allow local localisation of a project on a master

# Pootle as a standalone editor

- Simple Windows installer
- Icons launching, etc
- Download files for editing
- Sync completed work

# Pootle for reviewers

- Validate approve and reject functionality
- Define review process for rejected items
- Allow rejection with message feedback

# Pootle the editor (AJAX)

- Ajax implementation for Pootle
- Ajax enable message stepping and block reservation
- Ajax TM so that TM works in background
- Ajax Glossary so that word lookup is performed in the background
- Visual location in file indicator and file completion indicator

# Statistics

- Comply with LISA standards in pocount
- Make pocount work with other formats without format conversion

# Pootle Statistics

- Pull LISA like counts for any project
- Visual representation of progress (compare KDE stats system)
- Balanced resource balanced statistics for projects, people and teams

# Pootle Roles

- Which roles exist
- Different usage scenarios and permissions