Translate Toolkit & Pootle

Tools to help you make your software local

User Tools


Software >> VLC >> Files

The vlc.pot file is quite large at 29765 words. We've split it up into 21 smaller files, but if you submit or share your translation, you should share the single vlc.po file… and on this page we'll explain how to do it :-)

This information is really only for translation leaders or people who don't use the Pootle server even though they use our files.

Also visit the main page for VLC on this wiki.

The POT split into 21 files

To facilitate volunteer translation, we've broken the official vlc.pot file up into two groups of files totalling 21 files. The way we did it, is described here.

The file splitting and copying and stuff has already been done by the Decathlon project leader on Pootle, so don't worry about it.

The interface files

  • GUI.po (5071 words) -- All strings whose locations contain “gui”; the C-string is also present in this file. Translate this and VLC will appear to be fully translated.
  • control.po (1148 words) -- All strings whose locations do not contain “gui” but do contain “control”.
  • misc.po (1034 words) -- All strings whose locations do not contain either “gui” or “control”, but do contain “modules/misc”.

There is no overlap between these three files. In other words, no strings that occur in one of them occur in any of the others.

The "other" file

  • other.po (6552 words) -- All strings whose locations do not contain “gui”, “control”, or “modules”. Resist the temptation to translate this file last.

The modules files

(Technically speaking, the three interface files are also modules.)

  • access.pot (4061 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/access”.
  • access_filter.pot (121 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/access_filter”.
  • access_output.pot (365 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/access_output”.
  • audio_filter.pot (607 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/audio_filter”.
  • audio_mixer.pot (10 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/audio_mixer”.
  • audio_output.pot (407 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/audio_output”.
  • codec.pot (2821 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/codec”.
  • demux.pot (1288 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/demux”.
  • meta_engine.pot (107 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/meta_engine”.
  • mux.pot (598 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/mux”.
  • packetizer.pot (43 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/packetizer”.
  • services_discovery.pot (209 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/services_discovery”.
  • stream_out.pot (1201 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/stream_out”.
  • video_chroma.pot (25 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/video_chroma”.
  • video_filter.pot (3458 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/video_filter”.
  • video_output.pot (1011 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/video_output”.
  • visualization.pot (242 words) -- All strings whose locations do not “gui”, “control” or “misc”, but do contain “modules/visualization”.

You'll notice that these files's strings are not mutually exclusive. There is a slight overlap of about 10% in their texts. Therefore you cannot simply copy them all into one file and expect there to be no duplicates. The way to merge them, is described below (using pot2po).

Generating/creating the translated vlc.po file

The Notepad method

The so-called Notepad method is to copy the contents of all files into one big file. Since there is a slight overlap in the 17 module files, and since PO files are not allowed to have duplicate entries, you can't use the Notepad method to create the translated vlc.po file.

The po2tmx/pot2po method

The way to put the translations from the 21 files into the translated vlc.po file, is by creating a TM and pre-translating the official POT file. In fact, this can also be done if VLC should ever release a new POT file while you're still working on the old PO files.

First, get the latest vlc.pot file.

Put all the existing translations (PO files) in a folder, eg “mytranslations”. Using the Translate Toolkit, do this (where xx is your target language code):

po2tmx -l xx -i mytranslations -o myTM.tmx

Then, put myTM.tmx and vlc.pot in a single folder, and do this:

pot2po --tm=myTM.tmx -i vlc.pot -o vlc_mylanguage.po

Since you're using a TMX file created by the Translate Toolkit itself, and not a TMX file you got from elsewhere, the pre-translation will be 100% successful. Strings for which no translations are found, will be translated with fuzzy matches (this can be disabled, read the helpfile).

One last thing...

One final thing to do before sending the translated PO file back to the VLC people is this: Find the string that looks like this:

msgid "C"
msgstr ""

and put your language code in the msgstr. For example, Afrikaans would be:

msgid "C"
msgstr "af"