Mapforge is an open source project. Every contribution helps: a bug report, a feature proposal, a translation, a documentation fix or code.
Use GitHub Discussions for questions, ideas and feedback.
- Search the open issues for your problem.
- If there is no issue, open a new issue.
- Add the steps to reproduce the problem, the expected result and the actual result (screenshots if available).
- Add your browser and your operating system.
Do not put a private map link into an issue. Everybody can read the issue and then edit your map.
Before you start, read DEVELOPMENT.md. It explains the setup of a development environment.
- Fork the repository and create a branch.
- Make your change. Keep it small and limited to one topic.
- Add a test for new behavior.
- Run the linters:
bin/rubocop,npm run lint:jsandnpm run lint:css. - Run the tests:
bin/rspec. - Open a pull request and describe your change.
GitHub Actions runs the linters and the tests for each pull request.
Mapforge uses gettext. The locale files are in locale/<lang>/app.po.
- To improve a translation, edit the
msgstrlines in the file of your language. - To add a language, copy
locale/app.pottolocale/<lang>/app.poand translate it.
Mapforge uses the AGPL v3 license.