Contribution Guide

ABP is an open source and community driven project. This guide is aims to help anyone wants to contribute to the project.

ABP Community Website

If you want to write articles or how to guides related to the ABP Framework and ASP.NET Core, please submit your article to the website.

Code Contribution

You can always send pull requests to the GitHub repository.

  • Fork the ABP repository from GitHub.
  • Build the repository using the /build/build-all.ps1 -f for one time.
  • Make the necessary changes, including unit/integration tests.
  • Send a pull request.

When you open a solution in Visual Studio, you may need to execute dotnet restore in the root folder of the solution for one time, after it is fully opened in the Visual Studio. This is needed since VS can't properly resolves local references to projects out of the solution.

GitHub Issues

Before making any change, please discuss it on the Github issues. In this way, no other developer will work on the same issue and your PR will have a better chance to be accepted.

Bug Fixes & Enhancements

You may want to fix a known bug or work on a planned enhancement. See the issue list on Github.

Feature Requests

If you have a feature idea for the framework or modules, create an issue on Github or attend to an existing discussion. Then you can implement it if it's embraced by the community.

Document Translation

You may want to translate the complete documentation (including this one) to your mother language. If so, follow these steps:

  • Clone the ABP repository from Github.
  • To add a new language, create a new folder inside the docs folder. Folder names can be "en", "es", "fr", "tr" and so on based on the language (see all culture codes).
  • Get the "en" folder as a reference for the file names and folder structure. Keep the same naming if you are translating the same documentation.
  • Send a pull request (PR) once you translate any document. Please translate documents & send PRs one by one. Don't wait to finish translations for all documents.

There are some fundamental documents need to be translated before publishing a language on the ABP documentation web site:

  • Index (Home)
  • Getting Started
  • Web Application Development Tutorial

A new language is published after these minimum translations have been completed.

Resource Localization

ABP framework has a flexible localization system. You can create localized user interfaces for your own application.

In addition to that, the framework and the pre-build modules have localized texts. As an example, see the localization texts for the Volo.Abp.UI package.

Using the "abp translate" command

This is the recommended approach, since it automatically finds all missing texts for a specific culture and lets you to translate in one place.

  • Clone the ABP repository from Github.
  • Install the ABP CLI if you haven't installed before.
  • Run abp translate -c <culture-name> command for your language in the root folder of the abp repository. For example, use abp translate -c fr for French. Check this document to find the culture code for your language.
  • This command creates a file in the same folder, named abp-translation.json. Open this file in your favorite editor and fill the missing text values.
  • Once you done the translation, use abp translate -a command to apply changes to the related files.
  • Send a pull request on GitHub.

Manual Translation

If you want to make a change on a specific resource file, you can find the file yourself, make the necessary change (or create a new file for your language) and send a pull request on GitHub.

Bug Report

If you find any bug, please create an issue on the Github repository.

Was this page helpful?
Please make a selection.
Thank you for your valuable feedback!

Please note that although we cannot respond to feedback, our team will use your comments to improve the experience.

In this document
Mastering ABP Framework Book
Mastering ABP Framework

This book will help you gain a complete understanding of the framework and modern web application development techniques.