MediaPortal Windows Media Center
MediaPortal Wiki > MediaPortal 2 > Contribute > Development > Concepts > Localization


Was this page helpful?
Redirected from 2 MEDIAPORTAL 2/Contribute/Development/3 Concepts/Localization


    This page describes how localization takes place in MediaPortal 2. It describes localization at a high level. To get more detailed information about the concrete files/syntax/services, see the technical localization docs.


    In MediaPortal 2, all screens are localized. A coder must use localization placeholders when writing text to any screen. Localization placeholders look like this: [Home.Welcome]

    Each localization string consists of a section name (here: Home) and a string name (here: Welcome).

    Localized strings can be used by many resources:

    • Screens
    • Code
    • Workflow resources

    Strings files

    Each plugin in MediaPortal 2 can bring its own localization strings. Localization string files are registered in the plugin descriptor file. For each supported language, there is one strings file per plugin.

    Localized format strings

    Simple localization strings only contain a text which will be presented to the user whereever a localized string is written in the skin or in the code. But we also support format strings of the form

    <String Name="ServerFormatText" Text="'{0}' at host {1}" /><!-- {0} = server name, {1} = host name -->

    Such format strings can only be used in the code because in the skin, there is no means to fill in the placeholders.

    Organization of localization strings

    The SkinBase plugin brings some default strings like Yes, No, Cancel etc. into the system. Those default strings should be used whenever possible. For other strings, plugins should have their own resources. Reusing strings should be done if it makes sense, but don't overstate it. There are situations where it absolutely makes sense to have two different resources which are translated into exactly the same text. For example when you want to localize a main menu item and a workflow state navigation display label (that text displayed in the navbar). Even if both should display Tetris at the GUI, a translator might want to use different texts like Play tetris for the menu and Tetris for the navbar label. Even if in the default english language, some texts are identical, maybe in some different language they aren't.

    Log output text language

    Log output should not be localized. It should be hard coded in American English text.

    Running the latest version?

    V1.7.0 - released April 2014
    Releasenews | Download
     | Requirements
    Contact |  Press