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 vlc-devel@videolan.org 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 vlc-devel@videolan.org. 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 convert-po.sh script attached:
./convert-po.sh <LANG>.po.
Copy the resulting vlc.mo 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: http://download.videolan.org/pub/videolan/devtools/gettext-macosx.tar.gz

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

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

Copy the resulting vlc.mo 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>.