The "No Language Defined" error in VestaCP occurs when the control panel cannot find or load the language files. This issue is commonly caused by:
VestaCP language files are stored in:
/usr/local/vesta/web/lang/
Run the following command to check if the language files exist:
ls -lah /usr/local/vesta/web/lang/
If you see files like en.php, ru.php, etc., proceed to Step 2.
If the folder is empty, reinstall the language files (see Step 4).
If the language file exists but isn't loading, manually set the language.
nano /usr/local/vesta/conf/vesta.conf
Find the LANGUAGE setting:
LANGUAGE='en'
If it's missing, add:
LANGUAGE='en'
Replace 'en' with your preferred language (ru, es, fr, etc.).
Save and restart VestaCP:
systemctl restart vesta
If the language files exist but still don't load, fix the permissions.
Run:
chown -R root:root /usr/local/vesta/web/lang/
chmod -R 755 /usr/local/vesta/web/lang/
Restart VestaCP after fixing permissions:
systemctl restart vesta
If the language folder is empty or corrupted, reinstall it.
cd /usr/local/vesta/web/
git clone https://github.com/serghey-rodin/vesta.git vesta-lang
cp -r vesta-lang/web/lang/ /usr/local/vesta/web/
rm -rf vesta-lang
systemctl restart vesta
Now your language settings should be restored!
| Issue | Fix |
|---|---|
| Missing language files | Run git clone to restore language files |
| Incorrect language setting | Set LANGUAGE='en' in /usr/local/vesta/conf/vesta.conf |
| File permissions issue | Run chown -R root:root /usr/local/vesta/web/lang/ |
| VestaCP not recognizing language | Restart VestaCP with systemctl restart vesta |
Now VestaCP should display the correct language!