Keeping it running

Languages

On this page

AIO Video keeps each language as one file in the languages/ folder, named after its code: en.json, bn.json, ar.json. A file holds the language's name, whether it is written right to left, whether it is offered to visitors, and the phrases it translates. A phrase without a translation simply stays in English, so a half-finished language never breaks anything.

The script ships with English (languages/en.json) and Bengali (languages/bn.dist.json, more than 450 phrases: the menus, buttons, watch page, sign-in, upload, Studio, wallet, membership, times and counts). A .dist.json file is the script's own copy: your translations go into bn.json beside it and win over it, so an update that brings a fresh bn.dist.json never touches what you wrote.

Admin → Settings → Languages

  • The site speaks: the site's own language, chosen from the files.
  • Let visitors choose: a language picker (a globe and a list) appears in the top bar of both themes, under the side menu and in the footer, with every language marked Offered to visitors. The choice is kept for a year in the visitor's browser.
  • Collect phrases while people browse: every piece of text a page shows that no language has yet is written into languages/_phrases.json, which fills the list to translate. What members wrote - video titles, channel names, descriptions, comments - is left out. Turn it off again once you have them.
  • The language files: a table with each language's name, code, number of phrases and whether it is right to left, with Translate beside each, and Add a language below.

The languages/ folder must be writable for the panel to save a file. Admin → System status shows whether it is (Folder: languages).

Adding a language

Add a language asks for:

  • Name, as people call it, for example বাংলা.
  • Code: two letters such as bn, hi, ar or es (a form like pt-br works too). It becomes languages/<code>.json.
  • Start from: an empty list, or a copy of a language you already have.
  • Written right to left, for Arabic, Urdu or Persian.

Add it writes the file and opens it for translating.

Translating

The language's own page has a tab for every language, plus + Add.

  1. Look for a phrase finds a word in either language. Only the ones left shows just the phrases with no translation yet; Show them all brings the rest back.
  2. Change the Name, Written right to left or Offered to visitors at the top if needed.
  3. Type the translations in the right-hand column, beside the English. The first 400 phrases are shown; use the search box for the others. Emptying a box removes that translation.
  4. Add a phrase by hand takes an English phrase and its translation.
  5. Press Save the language.

Remove this language deletes the file. The site's own language cannot be removed: choose another one first.

Finding every phrase at once

Below the list of a language, Find the phrases in the site's files reads the pages, both themes and every plugin for the English they show visitors, and adds what is new to the list (about 800 phrases). Then Only the ones left shows what still needs a translation.

A phrase may hold {n} for a number. {n} views translated as {n} বার দেখা হয়েছে turns "1.2K views" into "1.2K বার দেখা হয়েছে", and {n} days ago does the same for dates - also when the number sits inside a longer line such as "1.2K views · 3 days ago". A phrase for exactly one (1 view) can have its own line.

What the files change (since 1.15.0)

The pages are written in English and translated on their way to the visitor: every piece of text between tags, and the placeholder, tooltip and button words, that is a phrase of the visitor's language is replaced by its translation. Both themes, every page of the site and the plugins' public pages are covered; the admin panel stays in English. Video titles, channel names, descriptions and comments are never translated, and neither are scripts. The page says <html lang="bn">, and a language marked Written right to left turns the page right to left (dir="rtl"). A site whose languages translate nothing works exactly as before - nothing extra runs.

Which language a visitor gets: the site's own language (The site speaks), unless Let visitors choose is on and the visitor picked another one.

Making the site speak your language now

Everything you write yourself is shown exactly as you wrote it, in any alphabet. Bengali, Arabic, Hindi and the rest need the PHP extension mbstring, which Admin → System status checks. Write these in your own language:

WhatWhere
Site name, tagline, description, footer line and linksSettings → General
Announcement, maintenance pageSettings → Content
Your pages (About, Terms, Privacy)Admin → Pages
Category namesAdmin → Categories
Titles of the home page blocksSettings → Home page
Package names, lines and descriptionsAdmin → Packages
Every e-mail the site sendsSettings → E-mail → Edit
What's new entriesAdmin → What's new
Contact subjects, ticket departmentsSettings → Support
The cookie noteSettings → Speed & security
The word beside the logo (YouTube theme)Admin → Themes → Settings

Members' videos, comments and channel names keep their own language too. A video title in Bengali gives a Bengali address, vowel signs included, so links stay readable.

Tips

  • Do not put your own words into en.json: an update brings a fresh copy of that file. Your own language files (bn.json, ar.json ...) are not part of the package, so an update leaves them alone; the script's Bengali comes as bn.dist.json, under yours.
  • Keep a copy of languages/ with your backups.
  • E-mail subjects in any alphabet are encoded correctly, so templates written in Bengali arrive as written.
← Back to AIO Video All chapters Updated 16 October 2026
Chat with Faruk
Faruk's Assistant Online — AI Powered