<?xml version="1.0" encoding="UTF-8"?>
<chapter id="details.formats">
<chapterinfo>
  <authorgroup>
    <author
>&Thomas.Baumgart; &Thomas.Baumgart.mail; </author>
    <author
>&Jack.H.Ostroff; &Jack.H.Ostroff.mail; </author>
  </authorgroup>
  <date
>1 грудня 2024 року</date>
  <releaseinfo
>5.2.0</releaseinfo>
</chapterinfo>
<title
>Формати файлів</title>

<para
>Якщо ви не накажете програмі використовувати <link linkend="details.database"
>реляційну базу даних</link
>, &kmymoney; зберігатиме ваші дані у файлі, назва якого, типово, завершуватиметься суфіксом <filename class="extension"
>.kmy</filename
>. Крім того, коли ви запускатимете &kmymoney;, якщо ви не використовуєте <link linkend="firsttime.launch"
>параметр командного рядка</link
>, за допомогою якого можна вказати програмі файл, який слід завантажити, програма відкриє останній з файлів, з якими ви працювали. Важливо пам'ятати, що &kmymoney; може зберігати ваші фінансові дані у файлах декількох типів. </para>

<para
>У цьому розділі описано формати файлів, у яких &kmymoney; може зберігати дані у постійній формі. Також обговорено резервне копіювання ваших даних. </para>

<sect1
><title
>Формати файлів даних</title>
<para
>Загалом, &kmymoney; зберігає власні дані у формі документа &XML;. Залежно від поточного формату, який встановлюється у налаштуваннях &kmymoney;, буде записано такий документ &XML;: <itemizedlist
> <listitem
><para
>звичайний текстовий файл у кодуванні UTF-8,</para
></listitem
> <listitem
><para
>стиснений файл з використанням стискання GZIP,</para
></listitem
> <listitem
><para
>шифрований файл з використанням шифрування GPG або</para
></listitem
> <listitem
> <para
>анонімний звичайний текстовий файл у кодуванні UTF-8, але із шифруванням усіх особистих даних. </para
> </listitem
> </itemizedlist
> Кожен з цих форматів докладно описано у наступних розділах. </para>

<sect2 id="details.formats.plain"
><title
>Звичайний текстовий файл </title>
<para
>Розміри файлів, збережених у цьому форматі, є найбільшими, оскільки не виконується ніякого стискання. Цей формат не призначено для звичайного користування, його передбачено лише з метою усування вад у програмі та забезпечення можливості зміни файлів вручну. Якщо ви завершите назву файла суфіксом <filename class="extension"
>.xml</filename
>, файл буде збережено саме у цьому форматі. <note
> <para
>Ми не рекомендуємо звичайним користувачам змінювати файл вручну. Подібні зміни слід вносити, лише якщо ви повністю розумієте внутрішню роботу &kmymoney; або отримали настанови від розробників щодо подібних змін. Будь ласка, не звинувачуйте розробників &kmymoney;, якщо ви самі вручну пошкодите або знищите свої дані: ми вас попереджали! </para>
</note>
</para>
</sect2>

<sect2 id="details.formats.compressed"
><title
>Стиснутий GZIP файл</title>
<para
>Це звичайний формат, який використовується &kmymoney; для збереження даних у файлах з суфіксом назви <filename class="extension"
>.kmy</filename
>. </para>

<note>
  <para
>Якщо було вказано <link linkend="details.formats.encrypted"
>шифрування</link
> у налаштуваннях, файл буде збережено у зашифрованому вигляді, як це описано у наступному розділі. </para>
</note>

<para
>Якщо ви бажаєте зазирнути всередину стиснутого GZIP файла, перейменуйте його так, щоб назва завершувалася суфіксом <filename class="extension"
>.gz</filename
> (наприклад, <filename
>myfinances.kmy</filename
> слід перейменувати на <filename
>myfinances.kmy.gz</filename
>), потім скористайтеся програмою <command
>gunzip</command
> для розпакування файла і перегляньте його вміст. Вам не потрібно знову стискати ці дані для того, щоб завантажити їх до &kmymoney;, оскільки &kmymoney; може читати і нестиснуті дані. Якщо ж ви знову збережете ці дані, їх знову буде стиснуто. Скористайтеся суфіксом назви <link linkend="details.formats.plain"
>.xml</link
>, щоб наказати програмі зберегти дані у нестиснутому форматі. </para>
</sect2>

<sect2 id="details.formats.encrypted"
><title
>Зашифрований GPG файл</title>
<para
>Використання формату файлів, зашифрованого GPG, є дуже безпечним методом зберігання ваших особистих фінансових даних на вашому пристрої зберігання. Якщо наказати &kmymoney; за допомогою діалогового вікна параметрів зберегти ваші дані зашифрованими, програма зашифрує дані за допомогою GPG і попередньо наданого вами ключа для зберігання. Під час відкриття зашифрованого файла вам слід вказати пароль, потрібний для відкриття вашого сховища ключів. Сам зашифрований файл буде збережено у форматі <emphasis
>захищеного GPG ASCII</emphasis
>. <note
> <para
>Під час шифрування за допомогою GPG відбувається стискання файла за допомогою gzip, отже додаткове стискання стає непотрібним. </para>
  </note>
</para>

<sect3 id="details.formats.encrypted.gpgkeys"
><title
>Ключі GPG</title>
<para
>Якщо ви ще не робили цього для шифрування вашої електронної пошти, вам слід створити пару ключів для того, щоб скористатися можливістю шифрування &kmymoney; за допомогою GPG. Крім того, у вашій системі має бути встановлено <application
>GPG</application
>. </para>

<para
>Докладні настанови щодо способів створення пари ключів та роботи з нею не є предметом цього підручника. Короткі настанови з цього питання можна знайти за адресою <ulink url="https://www.gnupg.org/documentation/howtos.en.html"
>https://www.gnupg.org/documentation/howtos.en.html</ulink
>. Крім того, на сайтах більшості дистрибутивів &Linux; містяться настанови щодо користування GPG у відповідному дистрибутиві. </para>
</sect3>

<sect3 id="details.formats.encrypted.keysettings"
><title
>Встановлення ключів у &kmymoney;</title>
<para
>На сторінці шифрування діалогового вікна параметрів передбачено спадний список, за допомогою якого ви зможете обрати ключ для шифрування та розшифрування. Крім того, буде показано поле для введення тексту, у яке ви можете ввести ідентифікатор ключа, якого немає у спадному списку. У цьому полі ви можете вказати ідентифікатор ключа, адресу електронної пошти, пов’язану з цим ключем, або будь-який інший чинний ідентифікатор ключа GPG. Після введення вами ідентифікатора ключа &kmymoney; перевірить його чинність і покаже зелену позначку, якщо відповідний ключ буде знайдено. <caution
> <para
>Переконайтеся, що у вас є обидва ключі: відкритий і закритий для цього ідентифікатора. Якщо у вас не буде закритого ключа для введеного ідентифікатора, згодом ви не зможете відкрити збережений файл. </para>
  </caution>
</para>
</sect3>

<sect3 id="details.formats.encrypted.recoverkey"
><title
>Ключ відновлення &kmymoney;</title>
<para
>Крім того, на цій сторінці діалогового вікна параметрів ви можете вказати програмі, що слід використовувати додаткове шифрування за допомогою ключа відновлення &kmymoney;. Ви зможете скористатися цим пунктом, якщо відповідний ключ зберігається у вашому сховищі ключів <application
>GPG</application
>. Позначення цього пункту надасть вам змогу відновити ваші дані, навіть якщо ви втратите ваш закритий ключ. Це можна буде зробити, оскільки дані буде зашифровано не лише вашим власним ключем, але і ключем відновлення &kmymoney;. Цей ключ доступний лише обраним розробникам &kmymoney; (на травень 2024 року термін дії ключа збігає 7 січня 2025 року). </para>

<para
>За звичайних умов ви відкриватимете/зберігатимете/закриватимете ваші файли у звичайному режимі. У критичному випадку втрати вашого ключа ви зможете зв’язатися з одним з розробників, який має доступ до ключа відновлення &kmymoney; і попросити допомоги у відновленні ваших даних. Зв’язатися з розробниками можна за допомогою надсилання повідомлення електронної пошти до списку листування розробників &kmymoney; за адресою &devlist;. </para>

<para
>Щоб отримати ключ відновлення, перейдіть до сторінки <ulink url="https://kmymoney.org/recovery.html"
>ключа відновлення KMyMoney</ulink
> вебсайта &kmymoney;. Скопіюйте і збережіть <quote
>PGP PUBLIC KEY BLOCK</quote
> (разом із рядками <quote
>BEGIN</quote
> і <quote
>END</quote
>) до текстового файла, а потім імпортуйте його за допомогою gpg. </para>

<para
>Пам'ятайте, що розробник зможе допомогти у відновленні ваших даних, лише якщо ваш файл даних було справді зашифровано з використанням ключа відновлення на додачу до вашого власного ключа. </para>
</sect3>
</sect2>

<sect2 id="details.formats.anonymous"
><title
>Анонімний файл</title>
<para
>Цей формат не призначено для звичайного зберігання даних. Він підтримується для того, щоб у разі виникнення проблем ви могли надіслати команді розробників &kmymoney; ваш файл без відкриття жодних ваших фінансових конфіденційних даних. Наприклад, при збереженні буде змінено назву установи, назву рахунку, платника і назви категорій на рядки у форматі «I000001» або «A000001». Подібну операцію буде виконано над усіма даними, зокрема номерами рахунків. Крім того, суми операцій буде змінено на випадкові. </para>

<para
>Якщо вас про це попросять розробники, скористайтеся пунктом меню <guimenuitem
>Зберегти як...</guimenuitem
> для збереження даних у анонімному форматі (виберіть фільтр <literal role="filter"
>Анонімні файли</literal
>). Суфікс назви файла буде автоматично змінено на <filename class="extension"
>.anon.xml</filename
>. </para>

<para
>Щоб переконатися, що після заміни даних на анонімні проблеми не зникли, спробуйте завантажити до програми анонімний файл і відтворити проблему. Якщо проблема відтворюється, надішліть файл до списку листування розробників за адресою &devlist; для подальшого вивчення. Якщо проблема зникає після завантаження анонімного файла… що ж доведеться шукати її причину у якийсь інший спосіб. </para>
</sect2>

<sect2
><title
>Розташування файлів даних</title>
<para
>Усі перераховані вище типи файлів можна зберігати на локальному жорсткому диску, портативному пристрої, наприклад флеш-накопичувачі USB, або у мережі. Залежно від вашої операційної системи, перед використанням може виникнути потреба у пов'язуванні або монтуванні віддаленого сховища даних. </para>

<note
><title
>Обмеження у Windows</title>
  <para
>У &Windows;, щоб скористатися місцем у мережі або віддаленим файлом, відповідний каталог має бути пов'язано із літерою диска. </para>
</note>

</sect2>
</sect1>

<sect1 id="details.formats.backup"
><title
>Резервне копіювання</title>
<para
>Ми не будемо намагатися переконати вас у тому, що створення резервних копій ваших даних є надзвичайно доброю ідеєю; сподіваємося, ви вже в цьому переконалися. У цьому розділі описано три способи зробити це, і ви можете скористатися одним, двома або навіть усіма трьома з них. Зауважте, що йдеться про резервне копіювання файла даних; якщо ви використовуєте модуль SQL для зберігання своїх даних, ознайомтеся із документацією до цієї системи бази даних, щоб отримати настанови щодо створення резервних копій. </para>

<sect2
><title
>Розташування файла резервної копії</title>
<para
>Якщо вам потрібна резервна копія ваших даних, щоб підтвердити деякі аспекти ваших фінансів у попередній момент часу або повернутися до попереднього стану, наприклад, щоб скасувати імпорт великої кількості даних до не того облікового запису, це не має значення чи є резервна копія локальною чи збереженою в іншому місці, наприклад на долученому диску у мережі. Однак якщо вам потрібна резервна копія для відновлення після втрати даних у разі, наприклад, збою диска, важливо, щоб резервна копія була <emphasis
>не</emphasis
> на тому самому диску, що й ваш основний файл даних. На випадок більшої катастрофи, наприклад пожежі в будинку, вам знадобиться резервна копія, збережена у вогнетривкому сейфі або в фізично іншому місці. Будь ласка, майте це на увазі під час створення стратегії резервного копіювання. </para>
</sect2>

<sect2
><title
>Автозбереження</title>
<para
>&kmymoney; має можливість автоматично зберігати копію файла даних з регулярними інтервалами. Це також можна зробити після закриття програми, якщо дані змінилися. Цю поведінку можна налаштувати у <link linkend="details.settings.general.global"
>діалоговому вікні налаштувань, розділ «Загальне», вкладка «Загальне»</link
> &kmymoney;. </para>
</sect2>

<sect2
><title
>Копіювання файлів</title>
<para
>Якщо ви не використовуєте сховище SQL, ваші дані можуть бути стиснуті та зашифровані, але зберігатимуться у звичайному файлі. Щоразу, коли ви зберігаєте свої дані за допомогою пункту меню <menuchoice
><guimenu
>Файл</guimenu
><guimenuitem
>Зберегти</guimenuitem
></menuchoice
>, усі ваші дані записуватимуться до файла, замінюючи попередню версію. Найпростіший спосіб створити резервну копію ваших даних — створити копію цього файла. Одна копія може навіть мати ту саму назву файла, якщо вона зберігається в іншій теці, ніж ваш початковий файл, але якщо ви збираєтеся зберігати кілька копій, має сенс включити певну версію поточної дати та часу в кожну назву файла. Ви можете зберегти їх на диску у мережі, USB-накопичувачі або навіть оптичному пристрої. Основним недоліком цього методу є те, що вам потрібно відстежувати всі резервні копії, але він забезпечує найбільшу гнучкість. </para>
</sect2>

<sect2
><title
>Команда резервного копіювання</title>
<para
>Щоб полегшити справи, ви можете скористатися пунктом меню <menuchoice
> <guimenu
>Файл</guimenu
> <guimenuitem
>Резервна копія</guimenuitem
> </menuchoice
>. </para>

<screenshot>
  <screeninfo
>Резервна копія файла</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="file-backup.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>Резервна копія файла</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para
>Коли ви натиснете <guibutton
>Гаразд</guibutton
> &kmymoney; створить копію вашого файла даних із додаванням до назви дати (у форматі РРРР-ММ-ДД). Зауважте, що це означає, що цим методом можна створити лише одну резервну копію на день. Якщо ви вже створили резервну копію того самого дня, &kmymoney; запитає, бажаєте ви замінити попередню резервну копію чи слід скасувати дію. </para>

<para
>&kmymoney; збереже цей файл до каталогу, указаного в полі <guilabel
>Точка монтування</guilabel
>. Ви можете вручну ввести повний шлях до каталогу або натиснути кнопку <guibutton
>Вибрати...</guibutton
> і перейти до нього за допомогою засобу навігації файловою системою. Каталог може бути на локальному пристрої зберігання даних або це може бути тека у мережі. </para>

<para
>Якщо вказаний каталог насправді є точкою монтування для пристрою зберігання даних, який не завжди монтується, ви можете позначити пункт <guilabel
>Змонтувати цей каталог до створення резервної копії</guilabel
>. Не використовуйте це для звичайного спільного доступу до файлів у мережі, який монтується завжди. </para>
</sect2>
</sect1>
</chapter>
