ভাষা
প্রতিটি ফেসে ইংরেজি ও বাংলা, বেরোনোর পথে অনুবাদ, ডিকশনারি, Locales পেজ, ভাষা কে বাছে, আর নতুন ভাষা যোগ করা।
AIOhPanel speaks English and Bengali out of the box, on all three faces: the Host Manager, the hosting panel and Webmail. You can add another language, or change any Bengali word, without touching the program files.
How it works
Every page is written in English. After a page is built, the panel looks up each piece of text in the dictionary of the user's language and swaps it: headings, labels, buttons, table headings, placeholders, tool tips and the text of notices. If a phrase is not in the dictionary, the English stays. That is why a new page of a plugin is never broken in Bengali; it just shows English until someone translates it.
Text inside code boxes, scripts and text areas is left alone, so a command, a config line or a file you edit is never changed.
A phrase such as 12 accounts is matched with a template, {n} accounts, so the number can change and the translation still applies. A trailing colon is ignored when matching.
The dictionaries
| File or table | What it is |
|---|---|
languages/bn.dist.json | The Bengali dictionary that ships with the panel. The first entry, _name, is the name shown in the language lists (বাংলা). It is replaced when you update. |
languages/<code>.json | Your own dictionary for a language, in the same format. An update never overwrites it. Use this to add a new language: the file name is the code (hi.json) and _name is its title. |
The ap_translations table | Phrases you edit in the Host Manager. They win over both files and survive updates. |
Order of priority: your edits in the Host Manager, then <code>.json, then the shipped .dist.json.
A dictionary is a plain JSON object of English text to translated text:
{ "_name": "Hindi", "Home": "होम", "Create a New Account": "नया अकाउंट बनाएँ" }
Who chooses the language
- Root and resellers: the user menu in the top bar of the Host Manager lists the languages; click one. It applies to the browser session of that face, and the user's saved locale is the starting value.
- Hosting accounts: Preferences → Change Language in the hosting panel. The host can set the starting language of an account when creating it (field Locale) or in a package.
- The whole server: the setting
locale(English by default) is the language for users who have chosen none, including the sign-in pages.
Locales in the Host Manager
The Locales group has three pages.
- View Available Locales lists every language the panel can find, with its code and how many phrases are translated.
- Edit a Locale shows the phrases of one language in a table: the English text on the left, the translation on the right. Change a row and save; it goes to the
ap_translationstable. Search finds a phrase by English or translated text. A blank translation removes your edit and the shipped one applies again. - Locale Upload / Download exports a language as a JSON or CSV file to send to a translator, and imports one back. Importing adds or replaces phrases in
ap_translations.
Adding a language
- Export the Bengali locale as a template, or copy
bn.dist.jsontolanguages/<code>.jsonand replace the values. - Put the file in the
languagesfolder, or import it on Locale Upload / Download. - The language now appears in the user menu, Change Language and the Locale menu of Create a New Account and Add a Package.
- Open a few pages in that language. Anything still in English is missing from the file: add it with Edit a Locale.
Plugins and themes add their own phrases the same way. Translate them once and they stay.
Notes
- The page language tag
lang="en"becomeslang="bn"when Bengali is on, so screen readers and browsers choose the right font. - Webmail follows the same rule for its own screens. The mail that people write is, of course, not translated.
- The files are UTF-8 without a byte order mark.
হালনাগাদ 2026-11-02