public
Fork of winterstream/translate
Description: Toolkit assisting in the localization of software
Homepage: http://translate.sourceforge.net/wiki/toolkit/index
Clone URL: git://github.com/translateorgza/translate.git
walter_l (author)
Wed Apr 29 08:55:01 -0700 2009
commit  f56006f89056c21a58d4eac3193e7bcfc10c5dcc
tree    ffb6a68e097c6c1a8ac7dbbce97a0e91f20d566c
parent  55013e14bff1e42866fa1666348fcc830235b708
name age message
file .cvsignore Tue Oct 07 08:36:56 -0700 2008 ignore generated files git-svn-id: https://tra... [dupuy]
file COPYING Tue Dec 23 05:19:19 -0800 2003 Initial revision git-svn-id: https://translat... [davidfraser]
file CREDITS Mon Oct 06 05:37:14 -0700 2008 Credit Miklos for work on version control git-... [friedelwolff]
file ChangeLog Wed Feb 04 07:35:47 -0800 2009 Update ChangeLog before release of version 1.3.... [friedelwolff]
file ChangeLog.pre-0.9 Mon Jun 19 03:49:01 -0700 2006 Update pre-0.9 ChangeLog up until 0.8 release 2... [friedelwolff]
file README Tue Mar 10 02:31:38 -0700 2009 More notes on lxml and OSX git-svn-id: https:/... [friedelwolff]
file TESTING Thu Aug 14 07:33:12 -0700 2008 Some notes for testing. See bug 475 for the ins... [friedelwolff]
file __init__.py Mon Jan 12 07:00:31 -0800 2009 __version__.ver -> __version__.sver + __version... [walter_l]
file __version__.py Wed Feb 04 05:01:14 -0800 2009 Version 1.3.0 git-svn-id: https://translate.sv... [friedelwolff]
directory convert/ Thu Mar 19 06:11:22 -0700 2009 don't assume template_store supports poheader j... [alaaosh]
directory doc/ Tue Nov 18 09:34:13 -0800 2008 Add scripts and config to generate epydoc docum... [dwaynebailey]
directory filters/ Wed Apr 15 09:03:16 -0700 2009 Fix docstring git-svn-id: https://translate.s... [dwaynebailey]
file i18n.py Sun Jan 11 22:00:38 -0800 2009 gettext.install define _ so we don't need to re... [dwaynebailey]
directory lang/ Thu Apr 23 01:45:25 -0700 2009 Plural information for Neapolitan (nap) git-sv... [friedelwolff]
directory misc/ Wed Apr 08 03:22:25 -0700 2009 - translate/misc/rich.py - Contained confusing ... [walter_l]
directory po/ Sat Jan 10 07:28:53 -0800 2009 Introduce some localisation framework. Make all... [dwaynebailey]
directory search/ Thu Apr 09 07:40:06 -0700 2009 under mod_wsgi check for apache instead of _apa... [alaaosh]
directory services/ Thu Jan 29 07:08:12 -0800 2009 add psyco support git-svn-id: https://transla... [alaaosh]
directory share/ Tue Sep 30 12:42:59 -0700 2008 remove second "second" from comment add 'th' to... [dupuy]
directory storage/ Wed Apr 29 08:55:01 -0700 2009 If we couldn't find an ancestor to insert the t... [walter_l]
directory tests/ Wed Dec 17 03:13:50 -0800 2008 Factor out file name constats and do proper mod... [friedelwolff]
directory tools/ Fri Apr 24 09:03:27 -0700 2009 StringElem's first argument containing the new ... [walter_l]
Translate Toolkit
-----------------

The Translate Toolkit is a set of software and documentation designed to help
make the lives of localizers both more productive and less frustrating.  
The Toolkit is part of the translate.sourceforge.net project, 
hosted at http://translate.sourceforge.net/

The software includes programs to covert localization formats to the common 
PO, and emerging XLIFF format.  There are also programs to check and manage PO 
and XLIFF files.  Online documentation includes guides on using the tools, 
running a localization project and how to localize various projects from 
OpenOffice.org to Mozilla.

At its core the software contains a set of classes for handling various 
localization storage formats: DTD, properties, OpenOffice.org GSI/SDF,
CSV, MO, Qt .ts, TMX, TBX, WordFast txt, Gettext .mo, Windows RC, and 
of course PO and XLIFF.  It also provides scripts to convert between 
these formats.

Also part of the Toolkit are Python programs to create word counts, merge
translations and perform various checks on translation files.


Download
--------
The latest version of the Translate Toolkit can be downloaded from:
http://sourceforge.net/project/showfiles.php?group_id=91920

The latest documentation is always available at:
http://translate.sourceforge.net/wiki/toolkit/index
Documentation is also included in the doc directory.


Copying
-------
The Translate Toolkit is developed and Copyright:
  Zuza Software Foundation (Translate.org.za), and
  St James Software

and is released under the GPL license.

The Translate Toolkit Documentation is Copyright:
  Dwayne Bailey
  Javier SOLA
  David Fraser
  Friedel Wolff
  and others

and is released under the GPL.

Where useful emails have been quoted we have attempted to preserve the authors
name and assume that their work may be republished.

Joining the Translate Project
-----------------------------
If you would like to join the translate project mailing list then visit:
http://lists.sourceforge.net/lists/listinfo/translate-devel

The vision of the Translate Project is to be a meta project for localizers
built on the premise that your language deserves to be a project on its own
right not a poor cousin of the main project.

Most projects are inattentive to the needs and difficulties experienced by
localizers. To that end the aim is to work towards creating tools and
documentation that allows localizers to focus on what they do best: translating
software.

Requirements
------------
Python 2.4 or later is recommended.

The Toolkit mostly still works using Python 2.3 but is now most extensively 
tested using Python 2.4.  If you experience any errors and are using Python 2.2 
or 2.3, please first check that the error also occurs in 2.4 or 2.5 before 
reporting it as a bug.

The package lxml is needed for XML file processing. Version 1.3.4 and upwards 
should work, but lxml 2.1.0 or later is strongly recommended.
http://codespeak.net/lxml/
Depending on your platform, the easiest way to install might be through your
system's package management. Alternatively you can try
  easy_install lxml
which should install the newest version from the web. See the easy_install
documentation for more details on how to force installation of a certain
version, or to specify upgrade options, etc.

For Mac OSX, the following pages might be of help:
http://codespeak.net/lxml/build.html#providing-newer-library-versions-on-mac-os-x
http://codespeak.net/lxml/installation.html#macos-x

The package lxml has dependencies on libxml2 and libxslt. Please check the lxml
site for the recommended versions of these libraries if you need to install
them separately at all. Most packaged versions of lxml will already contain
these dependencies.

Python 2.5 includes pysqlite, but pysqlite2 needs to be installed if you are 
using an older version of Python.
http://www.initd.org/tracker/pysqlite/wiki/pysqlite

When the environment variable USECPO is set to 1, the toolkit will attempt to 
use libgettextpo from the gettext-tools package (it might have a slightly 
different name on your distribution). This can greatly speed up access to PO 
files, but has not yet been tested as extensively. Feedback is most welcome.

Psyco can help to speed up several of the programs in the toolkit. It is
optional, but highly recommended.
http://psyco.sourceforge.net/

The python wrapper to htmltidy is needed for po2html.
http://utidylib.berlios.de/

The package iniparse is necessary for ini2po and po2ini.
http://code.google.com/p/iniparse/

The python-Levenshtein package will improve performance for fuzzy matching if
it is available. This can improve the performance of pot2po, for example.  It 
is optional and no functionality is lost if it is not installed, only speed.
https://sourceforge.net/project/showfiles.php?group_id=91920&package_id=260161

Functions in the lang.data module can supply functions to translate language 
names using the iso-codes package. It can even translate names in the format 
  Language (Country)
such as
  English (South Africa)
This is used by Pootle 1.0 and later. If the package is not installed, the 
language names will simply appear in English. It is therefore recommended you 
install the iso-codes package for your distribution, but it is optional.
Alternatively, it is also available from
http://packages.debian.org/unstable/source/iso-codes

The package vobject is needed for ical2po and po2ical.  Versions from
0.6.0 have been tested, 0.6.5 is required to fix a Lotus Notes related
calendars.
http://vobject.skyhouseconsulting.com/

The subtitle editing program Gaupol is needed for sub2po and
po2sub. some unicode encoded files (including most files from
http://dotsub.com) require latest development version of Gaupol.
http://home.gna.org/gaupol/
You will also need the 'Universal Encoding Detector'
http://chardet.feedparser.org/

The programs have been tested on Linux and Windows.


Installation
------------

To install the Translate Toolkit

* Windows
Double Click on translate-toolkit-N.N-setup.exe (the larger download file).
This installer contains all dependencies you will need, including Python. To 
use any of the command line tools, just type their name in a command window.
For example:
  moz2po --version

Alternatively you can install the smaller translate-toolkit-N.N.N.win32.exe
This needs an existing Python installation, and assumes you will install all 
the dependencies yourself. You will probably need to edit your PATH environment
variable to be able to use the tools in any command window. 

* Linux
tar xzf translate-N.N.tar.gz
cd translate-N.N
su -c ./setup.py install

If you get this error along the lines of
Unable to open /usr/lib/python2.N/config/Makefile (no such file or directory)
while running setup.py, you need to install python-dev or libpython2.N-devel
package. Try to install python2.N-dev or libpython2.N-devel or something 
similar with your distribution's package manager.


Bugs
----
We think there might be some :)

Please send your bug reports to:
  translate-devel at lists.sourceforge.net
or report them at our bugzilla server at
  http://bugs.locamotion.org/

Some help in writing useful bug reports are mentioned here:
  http://translate.sourceforge.net/wiki/developers/reporting_bugs

Documentation
-----------
Please read our documentation online at 
  http://translate.sourceforge.net/wiki/toolkit/index
There they are constantly being updated. Please feel free to contribute new 
sections and suggest corrections.

Most tools support the options --help and --manpage of which the output is 
automatically generated. The output of --manpage produces output suitable for 
formatting as a standard manpage. This can be viewed on UNIX platforms with 
  nroff -Tutf8 -mandoc
With pot2po as example:
  pot2po --manpage| /usr/bin/nroff -Tutf8 -mandoc|less
This is probably most useful for packagers to help them generate manual pages 
for the packaged versions.

Program overview
----------------

Use --help to find the syntax and options for all programs.

* Converters
oo2po    - convert between OpenOffice.org GSI files and PO
oo2xliff - convert between OpenOffice.org GSI files and XLIFF
moz2po   - convert from a Mozilla XPI file and PO.  Including unpacking
           and building a translated XPI.
csv2po   - convert PO format to CSV for editing in a spreadsheet program
php2po   - PHP localisable string arrays converter.
ts2po    - convert Qt Linguist (.ts) files to PO
txt2po   - convert simple text files to PO
html2po  - convert HTML to PO (beta)
xliff2po - XLIFF (XML Localisation Interchange File Format) converter
prop2po  - convert Java .properties files to PO
po2wordfast - Wordfast Translation Memory converter
po2tmx   - TMX (Translation Memory Exchange) converter
pot2po   - PO file initialiser
csv2tbx  - Create TBX (TermBase eXchange) files from Comma Separated Value (CSV) files
ini2po   - convert .ini files to to PO
ical2po  - Convert iCalendar files (*.ics) to PO

* Tools (Quality Assurance)
pofilter - run any of the 40+ checks on your PO files
pomerge  - merge corrected translations from pofilter back into your existing
           PO files.
poconflicts - identify conflicting use of terms
porestructure - restructures po files according to poconflict directives
pogrep   - find words in PO files

* Tools (Other)
pocompile - create a Gettext MO files from PO or XLIFF files
pocount   - count translatable file formats (PO, XLIFF)
podebug   - Create comment in your PO files' msgstr which can then be used to quickly 
            track down mistranslations as the comments appear in the application.
posegment - Break a PO or XLIFF files into sentence segments, useful 
            for creating a segmented translation memory.
poswap    - uses a translation of another language that you would rather use 
            than English as source language
poterminology - analise PO or POT files to build a list of frequently occuring
                words and phrases