Pontoon is a translation management system used and developed by the Mozilla localization community. It specializes in open source localization that is driven by the community and uses version-control systems for storing translations.
Check out our documentation to learn how to:
Our installation documentation is available on Read the Docs
:
- For local development, see developer setup using
Docker
- For production installation, see deployment documentation
- For quick and easy deployment on the
Heroku
platform, click this button:
Do you want to help us make Pontoon better? We are very glad!
Start by installing Pontoon locally using Docker. Once you have a working local environment, take a look at our mentored bugs. It is often better to start with those bugs, as they tend to be easier, and someone is committed to helping you get it done. To start working on a bug, verify that it isn't already assigned to someone else, and then ask on the bug for it to be assigned to you.
Before you start writing code, make sure to read our contribution docs. It contains information on how to style code, how to run tests, how to name your commits, etc. All the things you need to know if you want your work to be merged into Pontoon!
Pontoon developers hang around in the #pontoon
channel on Mozilla's IRC server. Please join us there if you want to ask questions!
If you want to go further, you can:
- Check out development roadmap on the wiki
- File a bug
- Check existing bugs
This software is licensed under the New BSD License. For more information, read LICENSE.
To get it running on docker follow these steps:
- setup your ssh
- use
ssh-keyscan -H HOST >> ssh/known_hosts
for known hosts - add your keys - setupssh_config
- create folder
data
(location of Postgres database) - configure ports in
docker-compose.yml
- currently 35146 for django server and 35147 for webpack (default is 8000 / 3000) - I use it in combination with reverse proxy to resolve the ports - configure your environments in
~/docker/config/webapp.env
- important areSECRET_KEY
andSITE_URL
- see mozilla docs for reference (some keys don't work like sshkeys or sshconfig) - set your python version in
./.env
file - e.g.PYTHON_VERSION=3.7.5
- use
docker-compose up
to build and start server
Example nginx config
server {
listen 80;
listen [::]:80;
server_name pontoon.webpage.de;
location / { # for django server
proxy_pass http://localhost:35146;
}
location /sockjs-node { # for websocket connection
proxy_pass http://localhost:35147/sockjs-node;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}