Skip to content

Centova Cast Language Changes Not Showing Up? Run updatelanguages and Restart

Updated 5 min read

Updated: 8 October 2026 · Applies to: Centova Cast v3 (3.3.4, from Centova documentation); .po checks tested with GNU gettext 0.23.1 on Debian 13 and 0.21 on AlmaLinux 9

Saving an edited language (.po) file is not enough on its own. According to Centova, after any change to the language files you must rebuild Centova Cast's language database with /usr/local/centovacast/sbin/updatelanguages and then restart Centova Cast. Centova names a skipped updatelanguages or a missed restart as the most likely cause. If you did both, check the locale the account uses, the file you edited, syntax errors and the file encoding, as shown below.

All of this needs root access on the Centova Cast server, for example on a Centova Cast dedicated server. On our shared Shoutcast and Icecast hosting or reseller accounts you cannot edit the language files; you can only pick a language for your own account (see step 2), so open a support ticket for anything server-side.

1. Rebuild the language data and restart

Log in over SSH as root and run:

/usr/local/centovacast/sbin/updatelanguages
/usr/local/centovacast/centovacast restart

Centova calls /usr/local/centovacast/centovacast the approved and recommended way to control Centova Cast. systemctl restart centovacast.service on systemd servers and /etc/init.d/centovacast restart on older ones work too (see the Centova restart command, and this fix if /etc/init.d/centovacast does not exist). Then reload the panel without the browser cache, or open it in a private window.

2. Check which language the account really uses

Your edits only appear for accounts that use the locale you edited.

  • The server default is the LOCALE= line in /usr/local/centovacast/etc/centovacast.conf (for example LOCALE=en_US). See it with:
    grep '^LOCALE=' /usr/local/centovacast/etc/centovacast.conf
  • Each account can override it with its own Locale setting: for a stream owner under Configuration > Settings, on the Stream tab; for an administrator by editing the account's settings, also on the Stream tab.
  • Make sure you edited the files in that locale's folder, for example /usr/local/centovacast/system/i18n/locale/de_DE/, and not the English files in template/, which Centova provides as the starting point for new translations.

3. Check that you edited the right file and the right line

According to Centova, each English string appears only once, in the most public file it is used in: external.po (login and public pages), user.po (client area), common.po (shared areas), admin.po, error.po, messages.po, util.po and billing.po. A string shown both to clients and to the admin is in user.po, not admin.po. Find it with:

grep -rn --include='*.po' 'msgid "SMTP password"' /usr/local/centovacast/system/i18n/locale/de_DE/

Put your translation on the msgstr line only. The msgid line must stay in English, and placeholders such as %s must stay in your translation.

4. Check the file for errors

Centova's language files use the standard GNU gettext format, so the gettext tools can check them. Install them with dnf install gettext (AlmaLinux, Rocky Linux) or apt install gettext (Debian, Ubuntu), or run the checks on any Linux computer. On our test copy of a German admin.po:

$ msgfmt --check-format --statistics -o /dev/null admin.po
3 translated messages.

These are the mistakes we reproduced and what the tools printed (paths shortened):

  • Missing closing quote: admin.po:8: end-of-line within string and msgfmt: found 1 fatal error.
  • The same string translated twice: admin.po:15: duplicate message definition...
  • A msgid changed by mistake: compare your file with the English template using msgcmp de_DE/admin.po template/admin.po. It printed this message is used but not defined in .../de_DE/admin.po for the changed entry, and nothing (exit code 0) for a correct file.
  • Not saved as UTF-8: file -i admin.po showed charset=iso-8859-1 and msgfmt reported invalid multibyte sequence. Centova Cast works only in UTF-8, so convert the file with iconv -f ISO-8859-1 -t UTF-8 admin.po > admin-utf8.po, check it and put it in place (see extended characters showing up incorrectly).
  • Fuzzy entries: a translation marked #, fuzzy (Poedit's "needs work") was counted as 1 fuzzy translation, and standard gettext tools leave such entries out. Centova does not document how it treats them, so finish the translation and remove the flag.

Placeholders are checked only on entries marked #, c-format: without that mark, a translation with a missing %s passed msgfmt in our test, so check placeholders by eye as well. After fixing anything, run updatelanguages and restart again (step 1).

5. Keep a copy of your translations

Keep your edited .po files somewhere outside /usr/local/centovacast as well, so you can put them back if an update or a reinstall replaces the language files. Centova recommends Poedit for editing; a UTF-8 text editor also works.

Related: Centova Cast v3 localization (creating a new language), enabling a bundled language and changing the date and time format.

Official documentation: Centova: Centova Cast v3 Localization, Centova: Changing Languages, Centova: Controlling Centova Cast.

?האם התשובה שקיבלתם הייתה מועילה

Still stuck? Open a ticket