Change "Virtual Server" to "Domain"

I totally accept and support the fact Virtualmin uses the correct naming, virtual servers, for the concept that is called “domains”, “websites” in other control panel types. After all to host a website on any server you need to create a respective virtual host for a respective domain name on the Apache configuration, so it is in fact a virtual server.

However, after couple years of using Vitualmin/Webmin/Cloudmin, we’ve come to the conclusion that it is just too much time consuming to overcome the incorrect habit of calling virtual servers as domains, imposed by the whole industry to the absolute majority of regular users. Whatever detailed documentation we provide to customers and refer to the following line on

cPanel refers to accounts as "Domains", while Virtualmin uses the term "Virtual Servers".

we have to deal with this naming confusion issue with almost every single new user of Virtualmin. Things especially get confused with customers who use virtual private servers by Cloudmin, even though Cloudmin avoids calling virtual private servers as virtual private servers (using just systems instead), it is quite confusing for some customers to differ virtual servers from virtual private servers .

We understand that we can’t ask Virtualmin to change its naming concept, however we really hope that it is possible for the Virtlualmin creators’ to make such key strings on Virtualmin UI as “virtual server”, “Virtualmin”, “Webmin”, “sub-server” available for replacing per user likings.

For example, in Drupal world almost anything on Drupal UI is possible to replace with some custom naming. It would be just great if Virtualmin would allow the same. In that case, some Virtualmin users would be able just to replace all the occurrences of virtual server’s and sub-server’s to domain’s and sub-domain’s respectively and thus be finally done with customers get constantly confused about correct Virtualmin terminology with incorrect naming, which however and unfortunately has already become industry standards.

Thanks for your thoughts! I can’t make any promises, but I’ll pass them along.


I know nothing of how webmin/virtualmin is programed, but I would suggest avoiding unnecessary overhead at all costs. I find the major drawback of a CMS like joomla is the way it will write, then overwrite, and override the overwrite with another overwrite. while it is nice to be able to edit and change every little aspect of a system, waiting for it to load sucks.

keep it simple. I would normally suggest a simple find and replace, but again, I don’t know what virtualmin/webmin is written in. At most if this could be done with a single variable file that would be nice.

less is more! keep it light, you don’t need a system to control a system that runs a few programs that don’t actually require the original system.

I love virtualmin/webmin so far. (it’s been less than a month, and I have a few sites up and running already) It kicks the crap out of cPanel and every other open source panel going. keep up the good work.

Interestingly, Jamie tells me that this is already possible :slight_smile:

Virtualmin currently has a system for handling different languages, and language customizations. So what you could do is simply make language customizations.

Jamie tells me that it’s a matter of copying this file:

cp /usr/libexec/webmin/virtual-server/lang/en /etc/webmin/virtual-server/custom-lang

And then, edit /etc/webmin/virtual-server/custom-lang, and you can make your desired language changes.


Wow, that is really cool! Going to try try right away!

Edit: Having trouble in getting newly created custom langauge reflected in Webmin UI. I copied the file as you suggested, then restarted Webmin, but whatever I do it is not coming up in the list of available languages in Webmin > Webmin > Change Language and Theme

For some reason my instance of Webmin doesn’t take effect for any language change in Webmin > Webmin > Change Language and Theme. I tried to set several different languages present in the system, for example, German, and, unfortunately, nothing is changed. What could be the problem in my case?

I just gave it a try, and the first few times, mine did not change either, BUT it was my error.

Make sure you choose the bullet “Personal choice …” and then choose the language in the drop down list. Then refresh the whole page.

Hi Eric,

Could you please confirm the copy path should be “/etc/webmin/virtual-server/custom-lang” and not “/usr/libexec/webmin/virtual-server/lang/custom-lang”? The option for custom language is not showing up in UI’s language selector. What should be a language name in the list?

Another strange thing is that if I login to Webmin through IP address of the server like https://guest-system-ip:10000 and change to any language then I see no effect. However, If I login to the same system (KVM guest) through Cloudmin’s “Open Webmin” link like https://cloudmin-ip:10000/servers/link.cgi/138378065872550, then I can change language. Can’t understand why so.

Hi Eric,

I’ve copied /usr/libexec/webmin/virtual-server/lang/en to /etc/webmin/virtual-server/custom-lang and edited /etc/webmin/virtual-server/custom-lang as you instructed, namely replaced Create Virtual Server to Create Domain wiht no luck. Restarting Webmin or even rebooting the VPS doesn’t help.

Could you please help me to get this work? Thanks.

It only starts changing strings if I edit /usr/libexec/webmin/virtual-server-theme/lang/en But I really don’t want to edit core files. There should be some kind of custom-lang overriding approach.

It worked for me when I performed these steps:

  • cp /usr/libexec/webmin/virtual-server/lang/en /etc/webmin/virtual-server/custom-lang

  • Restart Webmin with: /etc/init.d/webmin restart

I didn’t even find that I needed to change the language within Webmin, my custom changes began working after making changes to the custom-lang file.

For example, I searched for this particular line in the custom-lang file:

form_header=New virtual server details

And changed that to:

form_header=New domain details

After doing that, I went into “Create Virtual Server” in Virtualmin, and it showed “New domain details” at the top of the Create Virtual Server form.



I now see where is the confusion. The described method indeed changes some elements in the right frame window, however it does not UI strings on the left frame. Remember my main goal was to replace “Create Virtual Server” to “Create Domain”. So changing that string in /etc/webmin/virtual-server/custom-lang doesn’t change it in the left frame.

Please let me know how could I change strings in the main menu on the left frame? Thank you very much!

I’ve finally got it. I needed to create “/etc/webmin/virtual-server-theme” directory and copy /usr/libexec/webmin/virtual-server-theme/lang/en to /etc/webmin/virtual-server-theme/custom-lang.

Thank you very much for pointing me to the right direction.

Sounds like you’re spot on!

I had asked Jamie about your question, and he indeed said what you just said above –

mkdir /etc/webmin/virtual-server-theme cp /usr/libexec/webmin/virtual-server-theme/lang/en /etc/webmin/virtual-server-theme/custom-lang

I was able to modify lot’s of things to make it much easier for end-user, however even after looking high and law everywhere in /lang/en files couldn’t find the one which is responsible for the following strings in Webmin’s UI:

[–] Webmin
Webmin Actions Log
Webmin Configuration
Webmin Servers Index
Webmin Users

Could Webmin creators to point which file I should look into? Thanks!

Those strings are part of Webmin.

You can search for them running a command such as this:

`find /usr/libexec/webmin/ -name en | xargs grep ‘Webmin Configuration’

For that particular example, it shows that file being available here:


Thanks Eric, however unfortunately copying /usr/libexec/webmin/webmin/lang/en to /etc/webmin/webmin/custom-lang and modifying “Webmin Configuration” string doesn’t take any effect. IT also doesn’t change if I modify it directly in /usr/libexec/webmin/webmin/lang/en.

here is difficult… and you should make it easier, instead

i have 2 webmin locations: /usr/libexec/webmin and /etc/webmin

  • i need 6 languages for my clients
  • e. g. i need to translate “Edit Users” and others in Virtualmin (virtual-server) for users…

what i have to copy and exactly WHERE? What is the correct destination for the language file (FROM/TO) and remember that are 6 languages to translate from english… i don’t need only “custom-lang”
IMO the documentation should be more clear about this

thank you

p.s.: and what about the theme? why any theme has its own language? this way is a mess… really…too many lang dirs…too many locations
in this way i’m not able to understand what string matches what translation… this type of traslation system IMO has to be changed soon. Only ONE location for any string…