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

2.14 Localization

2.14.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 catalog metadata <languages/> tag, used to identify bundled translations.

2.14.2 Example file

A localization metainfo file can look like this:

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

  <extends>org.kde.plasmashell</extends>
  <extends>org.kde.gwenview.desktop</extends>
  <extends>org.kde.dolphin.desktop</extends>
  ...

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

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

  <languages>
    <lang>de_DE</lang>
    <lang percentage="96">de_AT</lang>
    <lang percentage="100">de</lang>
    ...
  </languages>
</component>

2.14.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.

<id/> 

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.

<extends/> 

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

<languages/> 

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:

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

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/>.