If you wish to help with the development of translations of Cacti from English to other languages, the Cacti Group has simplified the process for you.
You simply have to goto the following Web Site and create an account. Cacti Translation Site. From there, you can simply select what you want translated, and the push the "translate" button on your language of choice, and the beauty of the translation is that if the string that you tranlate is in another plugin, it can also be automatically translated at the same time.
If you make a change to the translations, they are automatically committed
back to GitHub programatically. To install the new language strings,
you simply have to update the
locales directory from the latest
GitHub branch that you were translating.
locales directory has two separate subdirectories. They are:
# ls -1 locales/
The LC_MESSAGES includes the compiled language files, and the po
directory includes not only the base Cacti translation file
cacti.pot, but all currently supported languages as well.
If you are making changes to the core Cacti code that involve new
strings to be translated, you have to ensure that your Pull Request
includes an updated
cacti.pot file. To update the
file, you simply open a shell and change to the
directory and run the script
build_gettext.sh. It will scan
the Cacti source code for all strings to be internationalized
and update the
If you include the updated file in your pull request, it will keep the development engine running smooth.
You may use other tools to Translate Cacti as well. One popular tool is PO Editor, you can download it here: Poedit Pro. The tool does work well and also run machine translations for you at an added cost.
If you choose to use that route, you will need to still have a Cacti Translation
account. From there, you can upload your modified
language.po files into
the interface directly. See the Weblate documentation on how to upload your
Once Poedit is installed, open it, and select File -> New from POT/PO file, and select the cacti.pot file. When you click 'Open', it will ask you for what language you are translating to. Cacti uses the dual syntax of Language (Country). So, for French, you would select 'French (France)'.
Once you have done that, you can start your translation. You will select each phrase one at a time, and enter in the translation in your language.
You should save your work often.
You can test your work on a test installation. Upload both .mo and .po files to your test installation and change your user profile to use the language you have just updated.
Cacti and its plugins get updates very often. To make sure the translations
are up to date, the translator should download the latest version and run
build_gettext.sh to create an up-to-date version of cacti.pot.
The PO Editor will create both a PO and MO file every time you save the file.
The final name of the file will have to be changed to Cacti's standard naming.
For example, Poedit saves the file from the example above as
Cacti will need these files name in hyphenated format, so:
fr-FR.po. Make that note especially if you are starting a new language.
As Cacti is GPL2.0+, you acknowledge, by sigining up to the Cacti Weblate site, that your contributions will be GPL2.0+ as well.