VideoLAN, a project and a non-profit organization.

VideoLAN internationalization

VLC media player localization howto

VLC media player is translated using GNU Gettext. The whole translation is divided in a bunch of strings. All these are grouped in a .po file.

How to translate strings?

Edit the appropriate file (for instance fr.po for French translation). Write the translation of "msgid" strings into the "msgstr" field You can always ask for assistance.

You can edit .po files with poEdit.

How to start a new language?

If there is no localization file for your language, send a mail to In return we will send you a localization file.

How to test your localization on UNIX?

You must install the gettext package. See your UNIX distribution, or the Gettext website.

Use the script attached:
./ <LANG>.po.
Copy the resulting file to /usr/local/share/locale/<LANG>/LC_MESSAGES.

How to test your localization on macOS?

If you do not have GNU gettext installed (you'd probably know if you had it :), you must download its binaries from our website:

Extract them into the current directory: tar xvzf gettext-macosx.tar.gz.

Use the script attached:
setenv PATH gettext-macosx:$PATH
setenv DYLD_LIBRARY_PATH=gettext-macosx
./ <LANG>.po

Copy the resulting file to /usr/local/share/locale/<LANG>/LC_MESSAGES.

Dealing with fuzzy translation

A fuzzy translation is an untranslated string for which gettext did an automatic suggestion, but needs your confirmation. They are marked with the "#, fuzzy" comment. If you think the suggestion is OK, or if you fixed the suggestion, do not forget to remove the "#, fuzzy" comment.

Written by Christophe Massiot <massiot at via dot ecp dot fr> and Derk-Jan Hartman <hartman at videolan dot org>.