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.
This documentation is outdated. Please refer to the appropriate Wiki page :