Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]

2.13 Localization

2.13.1 Localization

The localization component type describes language packs for individual software components or groups of software components. A language pack includes anything necessary to localize a software component for a specific language and/or country. This is usually translations, but may also be translated media content, currency information and other things. A localization component extends one or multiple other components and defines the languages it provides via its languages tag.

Language packs can ship one or more metainfo files as /usr/share/metainfo/%{id}.metainfo.xml.

Do not confuse language packs with the software collection <languages/> tag, used to identify bundled translations.

2.13.2 Example file

A localization metainfo file can look like this:

<?xml version="1.0" encoding="UTF-8"?>
<component type="localization">
  <name>KDE German Language</name>
  <summary>German localization for the KDE desktop and apps</summary>


  <url type="homepage">http://i18n.kde.org/team-infos.php?teamcode=de</url>

  <developer_name>The KDE German L10N team</developer_name>

    <lang percentage="96">de_AT</lang>
    <lang percentage="100">de</lang>

2.13.3 File specification

Note that the XML root must have the type property set to localization. This clearly identifies this metainfo document as describing a language pack.


For localizations, the value of the <id/> tag must follow the reverse-DNS scheme as described for generic components. Ideally, the name of the component this language pack is for should be suffixed with .l10n.%{lang}, where %{lang} is the language code of the language pack.

For example, if your applications component-id is org.gimp.gimp the ID of the German language pack for GIMP should be org.gimp.gimp.l10n.de.


The extends tags contain all the components this language pack can be used with.


This tag gives information about the locale a localization component provides support for.

The tag is allowed to only occur once per component, and contains multiple <lang/> child nodes, which have a language code (https://www.gnu.org/software/gettext/manual/html_node/Language-Codes.html) as value. Each <lang/> node may have a percentage property, which describes the percentage value to which a component has been translated.

Tag example:

  <lang percentage="94">de_AT</lang>

For a component of type localization, the following tags are required and must be present for a valid document: <id/>, <name/>, <summary/>, <metadata_license/>, <extends/>, <languages/>.