Fixing "No Language Defined" Error in VestaCP
Check If Language Files Exist
VestaCP language files are stored in:
For related VestaCP topics in this cluster, see Missing Language Files (variant) and Not Recognizing Language.
/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).
Set the Default Language in VestaCP
If the language file exists but isn't loading, manually set the language.
Edit the Vesta Configuration File
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
Fix File Permissions
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
Reinstall Missing Language Files
If the language folder is empty or corrupted, reinstall it.
Download the Language Pack
cd /usr/local/vesta/web/
git clone https://github.com/serghey-rodin/vesta.git vesta-lang
Move the Language Files
cp -r vesta-lang/web/lang/ /usr/local/vesta/web/
Remove Unnecessary Files
rm -rf vesta-lang
Restart VestaCP
systemctl restart vesta
Now your language settings should be restored!
Summary of Fixes
| 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!


