# Translations
This guide walks you through configuring PanelAlpha in multiple languages. While PanelAlpha defaults to English, the client area can be fully customized and translated.
# Overview
PanelAlpha supports multilingual configurations through language files controlling:
- Client area interface — All user-facing text and menus
- Email templates — Automated notifications and communications
- Admin area messages — System messages and notifications
The system automatically detects RTL (right-to-left) languages and adjusts the interface accordingly.
# Language File Structure
Language files are stored in /opt/panelalpha/app/packages/api/resources/lang. Each language has its own subdirectory containing:
- api — API message translations
- clientarea/translation.json — Client area interface translations
- email-templates — Email template files
- auth.php, pagination.php, passwords.php, validation.php — System files
# Directory Permissions
Important: Ensure proper permissions:
chmod 755 /opt/panelalpha/app/packages/api/resources/lang/{language_code}
chmod 755 /opt/panelalpha/app/packages/api/resources/lang/{language_code}/api
chmod 755 /opt/panelalpha/app/packages/api/resources/lang/{language_code}/clientarea
chmod 755 /opt/panelalpha/app/packages/api/resources/lang/{language_code}/email-templates
Replace {language_code} with your target language code (for example de, es, fr).
# Available Translations
Ready-made translations are available from the PanelAlpha GitHub repository (opens new window). Currently supported:
- German (de) — Deutsche Übersetzung
- Spanish (es) — Traducción en español
- French (fr) — Traduction française
- Italian (it) — Traduzione italiana
- Brazilian Portuguese (pt_BR) — Tradução em português brasileiro
Each package contains client area translations, email template translations, and a README with installation instructions.
Important: These translations were prepared using automated tools. Review them before production use and contribute improvements.
# Installation
Automatic Installation
Download the script:
curl -sL -o /opt/panelalpha/sync-translations.sh https://raw.githubusercontent.com/panelalpha/PanelAlpha-Translations/refs/heads/main/scripts/sync-translations.shRun the script with the desired language:
bash /opt/panelalpha/sync-translations.sh --lang "{language_code}"Replace
{language_code}withde,es,fr,it, orpt_BR.
Manual Installation
- Download the language files from the repository.
- Copy files to your server's language directory.
- Set permissions:
chmod -R 755 /opt/panelalpha/app/packages/api/resources/lang/<language_code> - Synchronize notifications:
docker compose -f /opt/panelalpha/app/docker-compose.yml exec -T api php artisan notifications:sync - Configure the client area language (see Changing the Client Area Language).
# Contributing
Contribute updates or new translations via the PanelAlpha Translations Repository (opens new window).
Editing Existing Translations:
- Fork the repository.
- Edit the translation files in your forked repository.
- Commit the changes.
- Describe your changes and press Propose Changes.
- Submit a pull request.
Adding a Translation for an Unavailable Language:
- Fork the repository and create a new file.
- Create the language path using the appropriate language code.
- Provide translations using original files as reference. Only modify the right side of the
=sign.
- Commit the changes and press Propose Changes.
- Submit a pull request.
# Language Configuration
# Admin Area Configuration
Set the default language for all clients:
- Navigate to Configuration → General → Client Area
- Select Default Language from the dropdown
- Save the configuration
This language applies to all new client registrations and serves as the fallback.
# Client Area Language Selection
Clients can choose their preferred language in several ways:
# Login Page Selection
# Footer Language Selector
# Account Settings
- Navigate to Account Details → Personal Information
- Select Language from the dropdown
- Save changes
Note: When a client changes their language preference, it affects both the client area interface and email notifications.
# Troubleshooting
# Common Issues
# Permissions Errors
Problem: Translation files not loading Solution: Verify directory permissions are set to 755:
chmod -R 755 /opt/panelalpha/app/packages/api/resources/lang/{language_code}
# Missing Translations
Problem: Some text still appears in English Solution: Check for missing keys in translation files and ensure all required files are present.
# Notifications Not Translated
Problem: Email notifications still in default language Solution: Run the notifications sync command:
docker compose -f /opt/panelalpha/app/docker-compose.yml exec -T api php artisan notifications:sync
# Language Not Appearing in Dropdown
Problem: New language doesn't show in selection Solution:
- Verify proper directory structure
- Check file permissions
- Restart PanelAlpha containers if necessary
# Getting Help
If you encounter translation issues:
- Check the Troubleshooting Center
- Review file permissions and directory structure
- Verify all required translation files are present
- Contact our support team (opens new window)