Customizing FOSSBilling

Using FOSSBilling in Your Language

Installing a new language

By default, FOSSBilling includes all of the official translation files in its releases. If you have a custom translation, you can submit it to the official repository using the instructions provided in the lower steps.

To install your custom translation, simply upload the translation files to the /locale directory of your FOSSBilling instance and the translation will be automatically detected by FOSSBilling. Please note that you may need to add an entry to the /locale/locales.php file in order for your translation to appear with its title in its native language, although this is not required for the translation to function, and this file will be overridden when FOSSBilling is updated.

The file structure of your newly installed translation should be as follows (example for English):

  • /locale/
    • /locale/en_US/
      • /locale/en_US/LC_MESSAGES/
      • /locale/en_US/LC_MESSAGES/ - The compiled translation. This is needed for FOSSBilling to use the translation.
      • /locale/en_US/LC_MESSAGES/messages.po - The source for the translation. This is not needed for FOSSBilling to use the translation, but it does allow developers to build off of your translation easily.

Contributing to the official translations

Existing translations

Contributing to translations that already exist within FOSSBilling is easy! Simple go to (opens in a new tab) and create an account with Crowdin. From there, you will be able to review the existing translations and contribute to them.

New translations

If you haven't already created a new translation file for FOSSBilling yet, but would like to start one, simply join our discord (opens in a new tab) and ask in the #localization channel for the new language to be added to Crowdin. Once we've added it, you'll be able to login to Crowdin and contribute to the translation from there.

If you already have a completed custom translation

If you've already created a custom translation and would like to add it to the official FOSSBilling translations, you'll need to add them to our locale repo (opens in a new tab) through a pull request. When submitting a pull request to submit a new locale, do not include the compiled .mo file. The compiled files are automatically generated when new commits are added to the repository. Once we merge the new translation into the official ones, we will add them to Crowdin at which point they will be available for crowdsourced contributions.

If you have any questions or issues with the above steps, please join our discord (opens in a new tab) and request assistance.

Changing the default language

The default locale that FOSSBilling uses is defined inside of the config.php file. For example: this is the default you'll find after a fresh install of FOSSBilling: 'locale' => 'en_US'

To Change the default, change the en_US to match the folder name of your translation. For example, vi_VN for the Vietnamize translation.

Removing a language

To remove a translation from FOSSBilling, simply delete the folder that has it from the /locale/ folder. Please keep in mind, all official translations are included as part of the FOSSBilling release and will be restored when you update. At some point, an option to disable a language will be added, however that is not done yet.