I promised to add multilingual support. Now that time has come. However, while diving into the code, I also rewrote a couple of system modules. That's how release 3.6.6 turned into a triple update: multilingual support, interface fixes, and a new plugin.
π Full Multilingual Support
Starting from this version, the interface and system dialogs can be displayed in multiple languages. English remains the default, but I've included a Russian language pack with the distribution.
I extracted over 4000 strings from the interface for the English pack. The switching mechanism relies on user settings and loads the appropriate language file, which is a set of PHP variables like $lang1234 = βSOME TEXTβ.
π Lang Editor Plugin for Managing Translations
Editing 4000 strings manually is insane, so I built a special plugin. It can:
- Create and copy language packs.
- Edit variables directly from the interface.
- Automatically generate ready-to-use PHP code (plain or with echo for HTML/JS).
- Make third-party plugins multilingual.
How it works:
type the text, press Enter β the variable is created, and the ready-made code is already in your clipboard. You can click variable names on the left to copy them, or use buttons on the right for complete constructs. It's incredibly convenient.
π§© Updated Plugin Architecture
To make multilingual support work seamlessly, I had to revisit the plugins. Now the architecture correctly loads language files in any existing plugin (except the Template one).
π§ System Module Fixes
While translating the interface, I decided to fix some old issues:
Disk Manager: Fixed mounting issues with LVM volumes and editing /etc/fstab.
LVM Manager: Rewrote the mounting logic and synchronization with fstab.
RAID Manager: System disks are no longer shown in the list of available devices, preventing fatal errors.
Mount Manager: Completely reworked the logic for mount/unmount operations.
Hostname & Domain: Fixed the hostname editing function. Values are now correctly written to /etc/hostname and /etc/hosts without duplicates.
π About the Translation
Translating 4000 strings manually would be crazy. I fed the text to an AI, and voila β a complete translation in minutes. It's machine translation, so there might be minor inaccuracies. However, you can easily fix any text using the Lang Editor directly in the web interface. Found a weird phrase? Open the plugin, find the variable, fix it β done.
How to Switch the Language?
For new installations: language selection appears at the first step of the installer.
For updates: change the language in the system settings under the interface section.
What's Next?
I remember mentioning support for new OS versions. It looks like I have more work to do. I'd appreciate it if you report any bugs or translation errors.
*Useful Links:
*
Forum section for languages: https://mini-bucket.ru/community/community/languages/
If you already have Mini Bucket installed, the update is available in the interface under the Update section.

Top comments (0)