Pontoon enables localizers to translate web apps and web sites in place with context and spatial limitations right in front of them. A full list of extracted strings is also available, to help with strings that are hard to reach, e.g. error messages and the <title>
tag. Localizer Docs.
To enable localization of your site with Pontoon, include a script to overcome cross frame scripting, and Pontoon will autodetect strings. Or, to make the best out of Pontoon, fully prepare your site with hooks that will mark strings for localization and include all the neccessary tags. Developer Docs.
Pontoon is based on Playdoh, so it's easy to set it up. Follow the steps below.
- Clone this repository or your fork:
git clone --recursive https://github.com/mathjazz/pontoon.git
cd pontoon
- Create and set up virtual environment:
virtualenv --no-site-packages env
source env/bin/activate
pip install -r requirements/compiled.txt -r requirements/prod.txt
- Configure settings:
cp settings/local.py-dist settings/local.py
- Set up database:
mysql.server start
mysql -u root -e 'CREATE DATABASE pontoon CHARACTER SET utf8;'
./manage.py syncdb --noinput && ./manage.py migrate
mysql -u root pontoon -e 'ALTER TABLE base_entity CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;'
mysql -u root pontoon -e 'ALTER TABLE base_translation CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;'
- Populate database with test project:
./manage.py update_projects
- Run development server:
./manage.py runserver
- Point your browser to http://localhost:8000
For admin access, create admin account with ./manage.py createsuperuser
.
Mac users: see workarounds for possible issues with installing requirements or syncing database.
MICROSOFT_TRANSLATOR_API_KEY
: set Microsoft Translator API key to use machine translation.GOOGLE_ANALYTICS_KEY
: set Google Analytics key to use Google Analytics.MOZILLIANS_API_KEY
: set Mozillians API key to grant permission to Mozilla localizers.
To sync your repository with upstream changes, just update the code using git:
git pull && git submodule sync --quiet && git submodule update --init --recursive
This software is licensed under the New BSD License. For more information, read the file LICENSE
.