Transvision is a Web application targeting the Mozilla localization community, created and maintained by the French Mozilla community (https://www.mozfr.org).
The main purpose of Transvision is to provide a specialized search engine to find localized strings in Mozilla code repositories for all Mozilla products (Firefox, Thunderbird, Firefox OS, Seamonkey…) and websites (currenty only www.mozilla.org is supported) via a Web interface. There are also side-features such as checks for common typographical errors for some languages, validity checks for localized access keys in the UI, or comparison views between Mozilla repository channels (Nightly/Aurora/Beta/Release).
Transvision is written in PHP, the string extraction is done with the Silme library (Python) and server install/maintenance scripts are in Bash.
Transvision is available at: https://transvision.mozfr.org
Transvision Beta is available at: https://transvision-beta.mozfr.org
Transvision was created by Philippe Dessante, from the French Mozilla localization team.
Lead developer since version 1.0 : Pascal Chevrel (pascal AT mozilla DOT com).
The Transvision team uses Git and GitHub for both development and issue tracking.
- If you'd like to contribute code back to us, you can do it using a Pull Request.
- We generate automatic documentation of Transvision classes.
- If you want to chat with the team, you can find us on IRC in (#transvision channel on irc.mozilla.org server).
- If you want to file a bug Create a new issue on github or contact the team.
- Bash scripting support
- Python
- PHP >= 5.4
- Composer (Dependency Manager for PHP, http://getcomposer.org/)
- mercurial, git, svn to check out data sources (only for a Full installation for production)
- php5-xsl and GraphViz packages for generating the documentation with phpDocumentor
- Apache with mod_rewrite activated
- Fork the Transvision Project into your GitHub account.
- Clone your fork to your machine.
- Copy app/config/config.ini-dist to app/config/config.ini and adapt the variables to your system.
- Run first "app/scripts/setup.sh", then "app/scripts/glossaire.sh". This process will take some time as it downloads the source code for all Mozilla products (~20GB of data).
- Install Composer (Dependency Manager for PHP, http://getcomposer.org/) and run "php composer.phar install" (or "composer install" if installed globally) inside the web folder.
- You can run Transvision in your local machine either with the
start.sh
script or withphp -S localhost:8082 -t web/ app/inc/router.php
and opening http://localhost:8082/ with your browser. To bound PHP internal web server to 0.0.0.0 usestart.sh -remote
: server will be accessible from other devices in the LAN, or from the host machine in case Transvision is running inside a Virtual Machine.
- Fork the Transvision Project into your GitHub account.
- Clone your fork to your machine.
- Run "start.sh". This process may take some time as it downloads a snapshot of data from Transvision server (~400MB). It will also download Composer, the PHP dependency manager, and install the dependencies needed. A config file located in app/config/config.ini will be created automatically. Once this is done, PHP development server will be launched and you can visit http://localhost:8082/ with your browser.
Note that if you launch start.sh again after the installation, it will not download again all the data, composer and dependencies, it will only launch the development server.
- To update Transvision glossary, run "app/scripts/glossaire.sh" (only for full installations) .
- Add Transvision parent project as a remote repository called 'upstream' (this is a one time operation):
git remote add upstream git@github.com:mozfr/transvision.git
- Update your master branch to the latest version of Transvision every time you want to do some dev work:
git checkout master
git pull upstream master
Then switch to a new branch where you will work on the patch you want to propose:
git checkout -b my_new_branch
- Launch unit tests:
php vendor/atoum/atoum/bin/atoum -d tests/units/
- Update dependencies with composer:
php composer.phar update
or, if Composer is installed globally:
composer update
- Check our Coding Standards before submitting pull requests.
MPL 2