Commit 936be79a authored by hartman's avatar hartman
Browse files

* Added the 'documentation' on strings in our source code and also added

  the file with information on how to make translations.
parent a5ce76c3
Some basic rules and guidelines for handling strings in VLC source code:
- Determine wether your string is user visible (GUI string) or not.
- _("") makes a string translatable and also actually does translation (calls gettext)
- _NS("") is the macosx variant of _(""). it is a short of [NSApp localizedString: ""] There is also a [NSApp delocalizeString:@""] OSX is entirely UTF8 native.
- N_() only makes a string translatable. it is safe to use it in #defines and in arrays. Also use this when translating strings during the creation of config variables.
- User visible strings should start with a capital. (Module descriptions for instance)
- Sentences should end with a '.'
- Menu-items with multiple words Should Uppercase the Big Words (look at your windows/IE menus) (only menu-items)
- msg_* should not be translated and don't have strict punctuation (no . or capitals).
- Write correct american english.
- Beware of duplicity with strings that already occur in other files. Use those when possible.
- When writing descriptions (especially for config options) make the string descriptive. Think to yourself: If the user reads this, will it help him understand this?
- Config options short descriptions should contain range and unit of the option when appropriate. ( 0-360 degrees) ( Hz )
- mms:// http:// UDP RTP are things that don't need translation, neither do variables, config options, module names and module shortcuts.
- Consistent use of terminology throughout the sourcecode
- Try to keep strings UTF8 where possible, to make sure a string can be displayed in chinese just as easily as in english in your window.
- wxU is used for c UTF8 strings to unicode conversion. wxL2U transforms from current locale to unicode.
Create translations for VLC media player
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.
Writing a new localization
If there is no localization file for your language, send a mail to In return we will send you a localization file,
along with a special VLC binary for your tests.
Testing your localization on UNIX
You must install the gettext package. See your UNIX distribution, or
Use the script attached :
./ <LANG>.po
Copy the resulting file to
Testing your localization on Mac OS X
If you do not have GNU gettext installed (you'd probably know if you had
it :), you must download its binaries from our website :
and 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<LANG>/LC_MESSAGES
"fuzzy" translations
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.
[*] Step by step process to localize under Mac OS X (excerpt from a mail) :
cd ~/Desktop
curl -O
tar xzf vlc-po-files.tar.gz
cd vlc-po-files
curl -O
tar xzf gettext-macosx.tar.gz
setenv PATH ./gettext-macosx:$PATH
setenv DYLD_LIBRARY_PATH ./gettext-macosx
[here you copy your it.po file to the vlc-po-files folder on your Desktop]
./ it.po
[here you copy the file to your]
Christophe Massiot <>
Derk-Jan Hartman <hartman at videolan dot org>
$Id: translations.txt,v 1.1 2004/02/04 03:23:25 hartman Exp $
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment