<?xml version="1.0" encoding="utf-8"?>
<!--
  SPDX-License-Identifier: CC-BY-SA-3.0
  SPDX-FileCopyrightText: 2021, 2022, 2023 Philip Withnall <philip@tecnocode.co.uk>
  SPDX-FileCopyrightText: 2021, 2022, 2024 Will Thompson <wjt@endlessos.org>
  SPDX-FileCopyrightText: 2024 Milan Crha <mcrha@redhat.com>
  SPDX-FileCopyrightText: 2024 Sid <sidtosh4@gmail.com>
-->
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="software-metadata" xml:lang="uk">

  <info>
    <link type="guide" xref="index"/>

    <credit type="author">
      <name>Філіп Візналл</name>
      <email its:translate="no">philip@tecnocode.co.uk</email>
    </credit>
    <credit type="author">
      <name>Вілл Томпсон</name>
      <email its:translate="no">wjt@endlessos.org</email>
    </credit>
    <credit type="author">
      <name>Мілан Чрха</name>
      <email its:translate="no">mcrha@redhat.com</email>
    </credit>

    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>

    <desc>Як у <app>Програмах</app> використано метадані</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Юрій Чорноіван</mal:name>
      <mal:email>yurchor@ukr.net</mal:email>
      <mal:years>2024</mal:years>
    </mal:credit>
  </info>

  <title>Метадані програм</title>
  <links type="section"/>

  <section id="screenshots">
    <title>Скріншоти</title>
    <media type="image" src="figures/app-screenshot.png" style="floatend floatright" mime="image/png" its:translate="no"/>
    <p><app>Програми</app> показують знімки вікна програми на сторінці з подробицями щодо неї. Зазвичай це знімки всіляких вікон програми, щоб можна було швидко дізнатись про можливості програми, її вигляд тощо.</p>
    <p>Коли у файлі метаданих декілька знімків вікно, їх буде показано у <app>Програмах</app> у форматі «каруселі».</p>
    <p>У випадку, якщо файл метаданих не містить жодного знімка, буде показано піктограму-замінник, як нижче, з написом <code>Немає знімків</code>:</p>
    <media type="image" src="figures/scalable/symbolic/image-missing-symbolic.svg" width="96" mime="image/svg" its:translate="no"/>
    <note>
      <p>Піктограма-замінник може виглядати інакше, якщо ви користуєтеся нетиповою темою піктограм.</p>
    </note>
    <p>З розвитком інтерфейсу програми знімки вікон можуть застарівати. Тому, навіть якщо <app>Програми</app> показують знімки вікон певної програми, важливо перевірити, чи є ці знімки актуальними.</p>
    <p>Ви можете удосконалити дані щодо знімка вікна програми:</p>
    <list>
      <item>
	<p><link xref="#how-to-add-missing-app-screenshots">Як додати знімки вікон</link></p>
      </item>
    </list>
  </section>

  <section id="app-context-bar">
    <title>Панель контексту програм</title>
    <p>Панель контексту програм у <app>Програмах</app> є набором плиток на сторінці подробиць програми, де буде показано вказані нижче дані.</p>
    <list>
      <item>
	<p><link xref="#storage">Сховище даних</link></p>
      </item>
      <item>
	<p><link xref="#safety">Безпека</link></p>
      </item>
      <item>
	<p><link xref="#hardware-support">Підтримка апаратної частини</link></p>
      </item>
      <item>
	<p><link xref="#age-rating">Віковий рейтинг</link></p>
      </item>
    </list>

    <p its:locNote="Translators: Refer https://gitlab.gnome.org/GNOME/gnome-software/-/wikis/Help-Translation-Notes for steps to localize 'figures/app-context-bar.png' image.">Ось панель контексту програм для програми <app>Програми</app>:</p>
    <p><media type="image" src="figures/app-context-bar.png" mime="image/png" its:translate="yes"/></p>


    <p its:locNote="Translators: This text needs to be adjusted for RTL languages as the tiles will be reversed in the UI.">Плитки буде показано у вказаному вище порядку (починаючи з плитки <code>Сховище даних</code> ліворуч).</p>
    <p>Докладні відомості щодо кожної плитки наведено нижче.</p>
  </section>

  <section id="storage">
    <title>Сховище даних</title>
    <p><app>Програми</app> показують плитку сховища даних на сторінці подробиць щодо програми. Якщо програму не встановлено, тут буде показано оцінку потрібного розміру отриманих даних для встановлення програми. Якщо програму встановлено, тут буде показано місце на диску, яке займають файли програми.</p>
    <p>Розміри буде обчислено на основі даних, які надано модулем обробки <app>Програм</app> (зокрема flatpak або RPM), а не на основі даних, які вказано у метаданих програми. Редагування файла метаданих програми нічого не змінить на цій плитці. Тут його включено для повноти.</p>
  </section>

  <section id="safety">
    <title>Безпека</title>
    <p><app>Програми</app> показують плитку безпеки на сторінці подробиць щодо програми. Тут буде наведено резюме щодо того, слід вважати програму безпечною для встановлення і запуску, чи слід мати певні перестороги щодо довіри цій програмі.</p>
    <p>На цій плитці поєднано відомості щодо прав доступу, яких програма потребуватиме для роботи (зокрема прав доступу до читання ваших файлів) із відомостями щодо способу розробки програми. Вільне програмне забезпечення, початковий код якого доступний до читання будь-кому, може бути безпечнішим за закрите, оскільки початковий код таких програм є придатним до вивчення.</p>
    <p>У вікні, яке буде відкрито у відповідь на натискання плитки, буде показано списки різних прав доступу, які потрібні для роботи програми, а також деякі відомості щодо ліцензування та середовища виконання.</p>
    <p>Ви можете удосконалити дані щодо захисту:</p>
    <list>
      <item>
	<p><link xref="#how-to-fix-incorrect-safety-and-permissions-information">Як виправити неправильні відомості щодо захисту та прав доступу</link></p>
      </item>
    </list>
  </section>

  <section id="hardware-support">
    <title>Підтримка апаратної частини</title>
    <p><app>Програми</app> покажуть плитку підтримки обладнання на сторінці з відомостями щодо програми. Тут буде поєднано відомості щодо вимог до апаратного забезпечення програми та апаратних можливостей комп'ютера з метою акцентування несумісностей чи невідповідностей вимогам — або щоб вказати, що програма має працювати правильно без несумісностей.</p>

    <p>Програмний код спрямовано на пошук вказаного нижче обладнання. Перелік може бути розширено у майбутньому.</p>
    <list>
      <item><p>Чи наявна або потрібна підтримка сенсорної панелі, миші або клавіатури</p></item>
      <item><p>Чи потрібен ігровий пульт</p></item>
      <item><p>Мінімальний та рекомендований розмір дисплея, до якого може бути масштабовано вікно програми</p></item>
    </list>

    <p>Надійних способів визначити, чи <em>використано</em> ігровий пульт, оскільки часто пульти лишаються від'єднаними від комп'ютера, оскільки вони не потрібні для звичайного користування комп'ютером.</p>
    <p>У вікні, яке буде показано у відповідь на натискання плитки, буде показано різні апаратні вимоги програми та те, чи усі з них виконано.</p>
    <p>Ви можете удосконалити відомості щодо обладнання:</p>
    <list>
      <item>
	<p><link xref="#how-to-add-missing-hardware-information">Як додати пропущені відомості щодо обладнання</link></p>
      </item>
    </list>
  </section>

  <section id="age-rating">
    <title>Віковий рейтинг</title>
    <p><app>Програми</app> показують плитку вікових обмежень на сторінці подробиць щодо програми. Тут буде показано віковий діапазон користувачів, для яких призначено програму, на основі даних щодо вмісту програми, які надаються самою програмою. Резюме цих даних буде наведено у форматі, подібному до вікових обмежень ігор або фільмів у вашій країні.</p>
    <p>Наприклад, буде акцентовано, містить гра насильство або чи показує програма рекламу у своєму вікні.</p>
    <p>У вікні, яке буде показано у відповідь на натискання плитки, буде показано списки різних типів вмісту програми та дані щодо того, наскільки критичним є вплив вмісту на користувача.</p>
    <p>Ви можете удосконалити дані щодо вікових обмежень:</p>
    <list>
      <item>
	<p><link xref="#how-to-add-missing-content-rating-information">Як додати пропущені дані щодо вікових обмежень</link></p>
      </item>
    </list>
  </section>

  <section id="license">
    <title>Ліцензування</title>
    <media type="image" src="figures/scalable/license-community-built.svg" style="floatend floatright" mime="image/svg" its:translate="no"/>
    <media type="image" src="figures/scalable/license-proprietary-and-special.svg" style="floatend floatright" mime="image/svg" its:translate="no"/>
    <p><app>Програми</app> показують плитку, що вказує на те, чи є програма <link href="https://en.wikipedia.org/wiki/Free_and_open-source_software">вільним програмним забезпеченням</link>, чи її ліцензування є пропрієтарним, особливим або невідомим. На цій плитці буде показано докладніші відомості щодо ліцензування проєкту. Також на цій плитці буде показано список певних переваг вільного програмного забезпечення. <link xref="software-licensing#introduction">Дізнатися більше</link></p>
    <p>Іноді дані щодо ліцензування програми є неправильними, і програми, які насправді є вільним програмним забезпеченням, буде показано як «пропрієтарні». Так само, іноді дані щодо ліцензування є невідомими.</p>
    <p><app>Програми</app> підсвічують програми із вільним ліцензуванням і з відкритим кодом зеленим кольором, програми із пропрієтарним та особливим ліцензуванням — жовтим кольором, як це показано тут, Програми із невідомим ліцензуванням буде позначено сірим кольором.</p>
    <p>Ви можете додати або удосконалити дані щодо ліцензування:</p>
    <list>
      <item>
	<p><link xref="#how-to-fix-incorrect-licensing-information">Як виправити неправильні відомості щодо ліцензування</link></p>
      </item>
    </list>
  </section>

  <section id="links">
    <title>Посилання</title>
    <media type="image" src="figures/scalable/links.svg" style="floatend floatright" mime="image/svg" its:translate="no"/>
    <p><app>Програми</app> показують список посилань на ресурси програми на плитці посилань. Буде показано такі посилання:</p>
    <table>
      <tr>
	<td><p><media type="image" src="figures/scalable/symbolic/webpage-symbolic.svg" mime="image/svg" its:translate="no"/></p></td>
	<td><p>Посилання на сайт</p></td>
      </tr>
      <tr>
	<td><p><media type="image" src="figures/scalable/symbolic/donate-symbolic.svg" mime="image/svg" its:translate="no"/></p></td>
	<td><p>Посилання на сторінку пожертв</p></td>
      </tr>
      <tr>
	<td><p><media type="image" src="figures/scalable/symbolic/translations-symbolic.svg" mime="image/svg" its:translate="no"/></p></td>
	<td><p>Посилання на сторінку надсилання перекладів</p></td>
      </tr>
      <tr>
	<td><p><media type="image" src="figures/scalable/symbolic/computer-fail-symbolic.svg" mime="image/svg" its:translate="no"/></p></td>
	<td><p>Посилання на сторінку звітування про вади</p></td>
      </tr>
      <tr>
	<td><p><media type="image" src="figures/scalable/symbolic/help-link-symbolic.svg" mime="image/svg" its:translate="no"/></p></td>
	<td><p>Посилання на довідку</p></td>
      </tr>
      <tr>
	<td><p><media type="image" src="figures/scalable/symbolic/contact-symbolic.svg" mime="image/svg" its:translate="no"/></p></td>
	<td><p>Посилання на контактні дані</p></td>
      </tr>
    </table>
    <p>Буде показано деякі або усі ці посилання, залежно від того, чи вказано їх у файлі metainfo програми.</p>
    <p>У випадку, якщо файл метаданих не містить жодного посилання, буде показано показану нижче плитку зі знаком питання.</p>
    <media type="image" src="figures/scalable/no-links.svg" style="floatend floatright" mime="image/svg" its:translate="no"/>
    <p>Ви можете удосконалити посилання:</p>
    <list>
      <item>
	<p><link xref="#how-to-add-missing-links">Як додати пропущені посилання</link></p>
      </item>
    </list>
  </section>

  <section id="carousel-tile">
    <title>Плитка-карусель</title>
    <media type="image" src="figures/carousel.png" style="floatend floatright" mime="image/png" its:translate="no"/>
    <p>Програми, які рекомендують автори <app>Програм</app> буде показано у форматі каруселі у верхній частині головного вікна, як це показано тут. У кожної плитки каруселі колір тла визначається автоматично на основі видобутих з піктограми програми кольорів. Іноді цей колір тла є не зовсім правильним для програми, і його має бути явним чином розробником програми.</p>
    <p>Набір рекомендованих програм визначається супровідниками дистрибутива Linux.</p>
    <p>Ви можете удосконалити плитку-карусель:</p>
    <list>
      <item>
	<p><link xref="#how-to-set-the-carousel-tile-background-colour">Як встановити колір тла плитки каруселі</link></p>
      </item>
    </list>
  </section>

  <section id="where-metadata-comes-from">
    <title>Джерела метаданих</title>
    <p>Метадані, що використовуються для визначення, яке обладнання потрібне для роботи програмного забезпечення, для якої вікової групи користувачів призначено програмне забезпечення, і які фактори впливають на безпеку встановлення програми, усі походять з файла metainfo програмного забезпечення.</p>
    <p>Файл metainfo є файлом XML. Формат файла визначається <link href="https://www.freedesktop.org/software/appstream/docs/">специфікацією AppStream</link>.</p>
    <p>Див. <link href="https://gitlab.gnome.org/GNOME/nautilus/-/blob/main/data/org.gnome.Nautilus.metainfo.xml.in.in">файл metainfo для програми «Файли GNOME»</link>.</p>
    <note style="tip">
      <p><em>appdata</em> застаріле позначення <em>metainfo</em>.</p>
    </note>
  </section>

  <section id="what-happens-if-metadata-is-missing">
    <title>Що трапляється, якщо метаданих не вистачає</title>
    <p>Якщо для програми не вказано якихось метаданих, <app>Програми</app> можуть лише вгадувати, якими вони можуть бути, а отже не зможуть показати достатньо інформації у своєму інтерфейсі. Здогадки, які використано у <app>Програмах</app>, засновано на факті, що більшу частину програмного забезпечення створено для робочих станцій.</p>
    <p><em style="strong">Ви можете удосконалити метадані програми!</em></p>
  </section>

  <section id="how-to-contribute-missing-information">
    <title>Як надати відомості, яких не вистачає</title>
    <p>Якщо ви виявите, що на сторінці програми немає певних відомостей або якісь відомості є неправильними, ви можете допомогти в один з двох способів:</p>
    <list type="numbered">
      <item>
	<p>Ви можете повідомити про пропущені або неправильні дані у системі стеження за вадами відповідної програми, щоб їх міг виправити розробник.</p>
      </item>
      <item>
	<p>Ви можете додати пропущені або виправити неправильні дані власноруч. Див. <em style="strong">настанови</em> нижче, щоб дізнатися, як це зробити.</p>
      </item>
    </list>

    <p>Для обох способів вам спочатку слід знайти сторінку проєкту програми. Посилання на сторінку проєкту типово можна знайти на сторінці програми, <link xref="#links">як це показано тут</link>. Якщо це не так, вам доведеться знайти її за допомогою простого пошуку у Google.</p>

    <p>Код програм типово розміщується на <link href="https://gitlab.com/explore?sort=stars_desc">GitLab</link> або <link href="https://github.com/explore">GitHub</link>. Наприклад, код програм GNOME зберігається на <link href="https://gitlab.gnome.org/GNOME?sort=stars_desc">gitlab.gnome.org</link>.</p>
  </section>

  <section id="how-to-add-missing-app-screenshots">
    <title>Як додати пропущені знімки вікон програми</title>
    <p>Дані щодо знімків вікон програми зберігаються в елементі <link href="https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html#tag-dapp-screenshots"><code>&lt;screenshots&gt;</code></link> у тезі <code>&lt;component&gt;</code> програми у її файлі metainfo.</p>
    <p>Рекомендуємо використовувати для програми від 5 до 10 знімків вікон. Ідеальні знімки вікон мають формат PNG зі співвідношенням сторін і мінімальною шириною у 620 пікселів.</p>
    <p>Наприклад, ось записи знімків вікон для програми <app>Програми</app>:</p>
    <code mime="application/xml">
&lt;screenshots&gt;
  &lt;screenshot type="default"&gt;
    &lt;image&gt;https://gitlab.gnome.org/GNOME/gnome-software/raw/HEAD/data/metainfo/ss-overview.png&lt;/image&gt;
    &lt;caption&gt;Overview panel&lt;/caption&gt;
  &lt;/screenshot&gt;
  &lt;screenshot&gt;
    &lt;image&gt;https://gitlab.gnome.org/GNOME/gnome-software/raw/HEAD/data/metainfo/ss-details.png&lt;/image&gt;
    &lt;caption&gt;Details panel&lt;/caption&gt;
  &lt;/screenshot&gt;
&lt;/screenshots&gt;</code>
</section>

  <section id="how-to-fix-incorrect-safety-and-permissions-information">
    <title>Як виправити неправильні відомості щодо захисту та прав доступу</title>
    <p>Відомості щодо безпеки і прав доступу для програми походять із різних джерел, залежно від того, як запаковано програму. Для традиційно запакованих програм, наприклад у форматі RPM або DEB, немає доступної інформації про безпеку чи права доступу, і ви нічого не зможете зробити, щоб додати її до програми.</p>
    <p>Для пакунків flatpak дані беруть з <link href="https://docs.flatpak.org/en/latest/manifests.html">маніфеста flatpak</link> програми. Ці дані вказують на «дірки» у пісочниці, які потрібні для роботи програми. Кожна з цих «дірок» типово знижує показаний рівень захисту програми у <app>Програмах</app> — пересуваючи її рейтингом від «безпечної» до «потенційно небезпечної» чи «небезпечної».</p>
    <p>Щоб удосконалити рівень захисту програми, пісочниця для неї має бути якомога щільнішою. Слід вилучити зайві <link href="https://docs.flatpak.org/en/latest/sandbox-permissions.html">права доступу у пісочниці</link> і використати <link href="https://docs.flatpak.org/en/latest/desktop-integration.html#portals">портали</link> замість прав доступу пісочниці там, де це можливо. Використання порталів не знижує показаний рівень безпеки програми у <app>Програмах</app>.</p>
    <p>Наприклад, якщо програма вимагає доступу до читання і запису в усій файловій системі (<code>--filesystem=host</code>), чи справді він їй потрібен — можливо, їй потрібен доступ до файлів у декількох певних місцях? Якщо це так, можна скористатися <link href="https://docs.flatpak.org/en/latest/desktop-integration.html#portals">файловим порталом</link> або можна визначити точніше <link href="https://docs.flatpak.org/en/latest/sandbox-permissions.html#filesystem-access">права доступу до файлової системи</link>.</p>
    <p>Якщо програма працює у Wayland, а можливість роботи у X11 є лише резервною, без використання особливих можливостей X11, можливо, вона використовуватиме <code>--socket=fallback-x11</code>, а не <code>--socket=x11</code>?</p>
    <p>Настанови щодо специфічних прав доступу або інших форматів пакування може бути додано тут пізніше.</p>
    <p>Інформація для подальшого ознайомлення:</p>
    <list>
      <item>
	<p><link href="https://docs.flatpak.org/en/latest/sandbox-permissions.html"/></p>
      </item>
      <item>
	<p><link href="https://docs.flatpak.org/en/latest/manifests.html"/></p>
      </item>
      <item>
	<p><link href="https://docs.flatpak.org/en/latest/desktop-integration.html#portals"/></p>
      </item>
    </list>
  </section>

  <section id="how-to-add-missing-hardware-information">
    <title>Як додати пропущені відомості щодо обладнання</title>
    <p>Дані щодо обладнання для програми зберігаються в елементах <link href="https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-relations"><code>&lt;requires&gt;</code>, <code>&lt;recommends&gt;</code> і <code>&lt;supports&gt;</code></link> у тезі <code>&lt;component&gt;</code> програми файла metainfo.</p>
    <p><app>Програми</app> обробляють елементи <link href="https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-relations-control"><code>&lt;control&gt;</code></link> і <link href="https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-relations-display_length"><code>&lt;display_length&gt;</code></link>.</p>
    <p>Див. приклади метаданих у <link href="https://tecnocode.co.uk/2021/07/12/add-metadata-to-your-app-to-say-what-inputs-and-display-sizes-it-supports/">цьому</link> або <link href="https://blogs.gnome.org/tbernard/2021/09/07/ready-for-software-41/#device-support">цьому дописі у блозі</link>.</p>
  </section>

  <section id="how-to-add-missing-content-rating-information">
    <title>Як додати пропущені дані щодо вікових обмежень</title>
    <p>Дані щодо вікових обмежень програми зберігаються в елементі <link href="https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-content_rating"><code>&lt;content_rating&gt;</code></link> у тезі <code>&lt;component&gt;</code> програми у її файлі metainfo.</p>
    <p>Для заповнення цього елемента слід використовувати стандарт OARS 1.1. Якщо елемент <code>&lt;content_rating&gt;</code> не вказано, вікові обмеження програми лишаться невідомими. Якщо елемент вказано, але він є порожнім, програма не містить нічого, що є неприпустимим для будь-якого кола користувачів.</p>
    <p>Скористайтеся <link href="https://hughsie.github.io/oars/">генератором OARS</link> для створення відповідних відомостей щодо вікових обмежень для програми.</p>
  </section>

  <section id="how-to-fix-incorrect-licensing-information">
    <title>Як виправити неправильні відомості щодо ліцензування</title>
    <p>Дані щодо ліцензування програми зберігаються в елементі <link href="https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-project_license"><code>&lt;project_license&gt;</code></link> у тезі <code>&lt;component&gt;</code> програми у її файлі metainfo.</p>
    <p>Вмістом цього елемента має бути <link href="https://spdx.org/specifications">виразом SPDX</link>, який описує «основну» ліцензію проєкту. Типово, це мають бути умови ліцензування коду без умов ліцензування документації або допоміжних даних.</p>
    <p>Якщо вираз SPDX є єдиною ліцензією або об'єднанням за допомогою «or» декількох ліцензій, які усі є <link href="https://spdx.org/licenses/">схваленими FSF або OSI</link>, програма вважається «вільним програмним забезпеченням» і на плитці ліцензування буде зазначено саме це. Якщо ж це не так, програма вважатиметься «пропрієтарною».</p>
    <p>Якщо програму показано як «пропрієтарну», а ви вважаєте, що це не так, ймовірно, до елемента <code>&lt;project_license&gt;</code> включено умови ліцензування документації до проєкту. Вилучіть ці умови.</p>
    <p><link href="https://gitlab.gnome.org/GNOME/meld/-/issues/579">Наприклад</link>, змініть ліцензування метаданих з:</p>
    <code mime="application/xml">&lt;project_license&gt;GPL-2.0+ and CC-BY-SA-3.0&lt;/project_license&gt;</code>
    <p>на</p>
    <code mime="application/xml">&lt;project_license&gt;GPL-2.0+&lt;/project_license&gt;</code>
    <p>Інформація для подальшого ознайомлення:</p>
    <list>
      <item>
	<p><link href="https://tecnocode.co.uk/2021/07/05/dont-generally-put-cc-by-sa-in-appdata/">Не вписуйте (загалом) ліцензування документації до appdata</link></p>
      </item>
      <item>
	<p><link href="https://github.com/ximion/appstream/issues/312"/></p>
      </item>
    </list>
  </section>

  <section id="how-to-add-missing-links">
    <title>Як додати пропущені посилання</title>
    <p>Посилання для програми зберігають як елементи <link href="https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-url"><code>&lt;url&gt;</code></link> у тезі <code>&lt;component&gt;</code> файла metainfo програми.</p>
    <p>Додайте якомога більше типів посилань, які документовано у <link href="https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-url">специфікації appstream</link>. Якщо відповідної сторінки для певного типу посилань немає, не слід його включати.</p>
    <p>Наприклад, ось посилання на ресурси для програми <app>Програми</app>:</p>
    <code mime="application/xml">
&lt;url type="bugtracker"&gt;https://gitlab.gnome.org/GNOME/gnome-software/-/issues&lt;/url&gt;
&lt;url type="contact"&gt;https://discourse.gnome.org/tag/gnome-software&lt;/url&gt;
&lt;url type="contribute"&gt;https://welcome.gnome.org/app/Software/&lt;/url&gt;
&lt;url type="donation"&gt;https://www.gnome.org/donate/&lt;/url&gt;
&lt;url type="homepage"&gt;https://apps.gnome.org/Software&lt;/url&gt;
&lt;url type="translate"&gt;https://l10n.gnome.org/module/gnome-software/&lt;/url&gt;
&lt;url type="vcs-browser"&gt;https://gitlab.gnome.org/GNOME/gnome-software/&lt;/url&gt;</code>
  </section>

  <section id="how-to-set-the-carousel-tile-background-colour">
    <title>Як встановити колір тла плитки каруселі</title>
    <p>Колір тла плитки для каруселі зазвичай видобувається автоматично з піктограми програми. Якщо цей колір є незадовільним, його можна перевизначити за допомогою <link href="https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-branding">елемента <code>&lt;branding/&gt;</code> appstream</link> із оголошеними кольорами (починаючи з випусків 47.x). Перевагою є те, що кольори можна буде використовувати у ширшому діапазоні клієнтів.</p>
    <p>Наприклад, ось деякі записи щодо бренду:</p>
    <code mime="application/xml">
&lt;branding&gt;
  &lt;color type="primary" scheme_preference="light"&gt;#ff00ff&lt;/color&gt;
  &lt;color type="primary" scheme_preference="dark"&gt;#993d3d&lt;/color&gt;
&lt;/branding&gt;</code>
    <note>
      <p>Зауважте, що атрибут <code>scheme_preference</code> проігноровано, <app>Програми</app> виберуть кращий колір для теми автономно.</p>
    </note>
    <p>Для зворотної сумісності залишено можливість додавати такі XML для елемента <code>&lt;component&gt;</code> metainfo програми:</p>
    <code mime="application/xml">
&lt;custom&gt;
  &lt;value key="GnomeSoftware::key-colors"&gt;[(124, 53, 77), (99, 16, 0)]&lt;/value&gt;
&lt;/custom&gt;</code>
    <p>але елемент <code>&lt;branding/&gt;</code> має вищий пріоритет.</p>
    <p>Значення <code>GnomeSoftware::key-colors</code> є GVariant у форматі тексту з типом <code>a(yyy)</code>. Воно відповідає невпорядкованому набору ключових кольорів програми. Кожен елемент набору є кольором у формі RGB у діапазоні від <code>(0, 0, 0)</code> до <code>(255, 255, 255)</code>.</p>
    <p>Кольори слід вибирати так, щоб вони:</p>
    <list>
      <item>
	<p>Були характерними для програми, певним чином відповідали бренду програми, якщо це можливо.</p>
      </item>
      <item>
	<p>Були контрастними із краєм піктограми програми, щоб коли його використано як колір тло за нею, піктограму можна було розрізнити.</p>
      </item>
      <item>
	<p>Були контрастними з кольором тексту у темі Adwaita (<code>#2e3436</code>) і її темним варіантом (<code>#eeeeec</code>). В основному, це означає, що слід вибрати колір із середнім рівнем яскравості.</p>
      </item>
      <item>
	<p>Контрастність можна перевірити за допомогою <link href="https://flathub.org/apps/org.gnome.design.Contrast/">програми «Контраст»</link>.</p>
      </item>
    </list>
    <p>Слід вказати принаймні один колір. Можна вказати більше, якщо один колір не може задовольнити всім наведеним вище вимогам, і <app>Програми</app> виберуть найпридатніший для використання у плитці каруселі. Якщо вказано точно один колір, його яскравість і насиченість можна змінити для покращення контрастності з кольором переднього плану. Якщо вказано декілька кольорів, буде вибрано той, який найкраще контрастує з кольором переднього плану, а його яскравість і насиченість не буде змінено.</p>
  </section>

  <section id="how-to-test-carousel-tile-background-colour-changes">
    <title>Як виконати тестування кольору тла плитки каруселі</title>
    <p>Внесіть зміни до файла metainfo вашої програми, а потім запустіть <app>Програми</app> так:</p>
    <p><cmd>gnome-software --show-metainfo=<var>/шлях/до/програми.metainfo.xml</var>,icon=<var>/шлях/до/піктограми.png</var></cmd></p>
    <p>Буде показано сторінку подробиць щодо вашої програми. Якщо ви повернетеся до сторінки огляду <app>Програм</app>, ваша програма буде єдиною у каруселі рекомендованих.</p>
  </section>


</page>
