Translating the Evolution skin

Enter Your Query:
Use '%' for wildcards and quotes for "exact phrases"

Top Level » DirectAdmin » Skin » Evolution

Translating the Evolution skinLast Modified: May 29, 2020, 7:37 pm
The Evolution skin uses a .pot file for the bulk of the translations.

Let's assuming you want to create a Russian translation:

Translation file should be taken from


and when translated, uploaded to languages, eg:


. Then the skin will start showing it up. There is no automatic way to convert old language files to new ones, however, there are many programs that support PO translations, so, it should be easier to create a new one, by copy-pasting the old translations from the text files.

Login page translation file should be taken from


and when translated, uploaded to languages, eg:


Internal Translation

The directadmin and dataskq binaries have strings hardcoded internally, so other means are needed to load translations.
As of DirectAdmin 1.61.1, we will support gettext which is a very common means of translating these types of trings.
See this guide on creating your own internal.po translation:

old: no longer recommended:
Internal translation could still be done in:


if needed, however the .po files will already contain the translation from internal/en/*, so you should be able to do just the .po translation for everything.  It basically translates en » ru on the client side, after en transmission to the client.  Adding the internal/ru/* would only be needed if that's not working correctly, in which case pure ru is sent in the html, and translation on the client side is not needed (only for those internal texts).


Note, you can use specific List of Locale ID (LCID) values, just find your specific locale name from the file:


For example, there are several variants of "en", eg:

en_CA=English (Canada)
en_GB=English (United Kingdom)
en_IE=English (Ireland)

where you'd use the underscore '_' character (and not the dash '-' as some use).
You do not need to use a more specific _XX code for the language, usually just the main one is fine (eg: 'en') but in some cases, the wording may be specific enough such that you would want different language packs for the different countries/dialects, in which case you can use these extra codes for your language pack (eg: en_CA, eh?).

Sharing your translation

Once you've completed your translation, if you wish to share your work with the community, please post it to the Evolution Skin Forum.  Read the top "Translating the Evolution Skin" for information on how to format your post and the basic rules to keep things somewhat consistent.
Related Helpfiles
Translating internal strings: gettext

© 2018 JBMC Software, Suite 173  3-11 Bellerose Drive, St Albert, AB  T8N 1P7  Canada.  Mon-Fri 9AM-5PM MST