Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/components/ouisync/security/changes/?format=api&page=3
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 306,
    "next": "https://hosted.weblate.org/api/components/ouisync/security/changes/?format=api&page=4",
    "previous": "https://hosted.weblate.org/api/components/ouisync/security/changes/?format=api&page=2",
    "results": [
        {
            "unit": "https://hosted.weblate.org/api/units/106678720/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T14:06:18.629785+01:00",
            "action": 5,
            "target": "Вам не нужно беспокоиться о конфликтах между различными репликами: в бэкенде синхронизация выполняется таким образом, чтобы избежать конфликтов и расхождений. То, что Вы видите, когда открываете Ouisync, - это то, что мы называем “снимком”: представление всего дерева каталогов в определенный момент времени для Вас. Каждое изменение файловой системы (на Вашем устройстве или на устройствах Ваших коллег) приводит к созданию нового “снимка”.",
            "id": 77179116,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77179116/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678719/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T14:03:46.769785+01:00",
            "action": 5,
            "target": "Когда Вы предоставляете общий доступ к хранилищу своему партнеру, это создает “точную копию” (\"реплику\") Вашего хранилища. Структура хранилища хранится в так называемых файлах “индексов” - когда устройства партнёров подключаются, они сначала обмениваются этими индексами. Если что-то было изменено в одной из реплик, Ouisync загрузит недостающие блоки. Ouisync всегда сначала загружает каталоги и только после - сами файлы. Это помогает Ouisync корректно восстанавливать Ваши данные из блоков, не искажая их. Кроме того, это делается без утечки информации пользователям, у которых нет доступа “на чтение” к Вашим хранилищам.",
            "id": 77179084,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77179084/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678718/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T14:01:33.533225+01:00",
            "action": 5,
            "target": "Как происходит синхронизация?",
            "id": 77179062,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77179062/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678717/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T14:01:25.350925+01:00",
            "action": 5,
            "target": "Линейный набор блоков будет называться blob. Blob'ы (также известные как \"большие двоичные объекты\") могут представлять файлы и каталоги. Файловый blob является более простым: он состоит из заголовка, содержащего размер файла, разрешения и метки времени. Blob каталога представляет собой список имен файлов, присутствующих в каталоге, а также локаторы, указывающие на отдельные blob'ы файлов.",
            "id": 77179060,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77179060/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678716/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:59:10.203949+01:00",
            "action": 5,
            "target": "Что такое \"blob\"?",
            "id": 77179026,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77179026/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678715/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:58:39.338372+01:00",
            "action": 5,
            "target": "![image]{1}",
            "id": 77179018,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77179018/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678714/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:58:28.232292+01:00",
            "action": 5,
            "target": "_ Представьте, что Вы устраиваете большую свадебную вечеринку, на которую приглашаете множество гостей. Те, кто уже организовывал подобные мероприятия, знают, как трудно распределить надлежащие места для всех гостей, учитывая их отношения, интересы и так далее. Кстати, Вам также необходимо сообщить эту информацию официантам, которые должны быть внимательны и помнить, у кого из гостей аллергия или диетические предпочтения. А поскольку ваши гости - VIP-персоны, Вы не хотите раскрывать официантам их настоящие имена, поэтому придумываете случайные псевдонимы и записываете их на этих красивых карточках с распределением мест. Итак, если мы будем придерживаться этой метафоры, идентификатором блока будет псевдоним, написанный на карточке рядом с местом Вашего гостя, а “локатором” будет карта всех столов с правильно распределенными местами._",
            "id": 77179014,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77179014/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678713/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:57:42.097696+01:00",
            "action": 2,
            "target": "Каждый файл и каждый каталог, хранящиеся в Ouisync, разделены на относительно небольшие (например, 32 КБ) блоки постоянного размера. Каждый блок имеет идентификатор блока (\"Block ID\", генерируемый генератором случайных чисел), который помогает Ouisync идентифицировать эти блоки. Все блоки хранятся вместе с файлом под названием “locator”. Локатор - это своего рода “карта”, которая указывает, где расположен каждый блок относительно других блоков. Однако, чтобы не раскрывать эту структуру агентам, не обладающим секретным ключом, локаторы не хранятся обычным текстом, а закодированы.",
            "id": 77179004,
            "action_name": "Translation changed",
            "url": "https://hosted.weblate.org/api/changes/77179004/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678713/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:57:17.349451+01:00",
            "action": 2,
            "target": "Каждый файл и каждый каталог, хранящиеся в Ouisync, разделены на относительно небольшие (например, 32 КБ) блоки постоянного размера. Каждый блок имеет идентификатор блока (\"Block ID\", генерируемый генератором случайных чисел), который помогает Ouisync идентифицировать эти блоки. Все блоки хранятся вместе с файлом под названием “locator”. Локатор - это своего рода “карта”, которая указывает, где расположен каждый блок относительно других блоков. Однако, чтобы не раскрывать эту структуру агентам, не обладающим секретным ключом, локаторы не хранятся обычным текстом, но зашифрованы.",
            "id": 77178997,
            "action_name": "Translation changed",
            "url": "https://hosted.weblate.org/api/changes/77178997/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678713/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:56:47.220791+01:00",
            "action": 5,
            "target": "Каждый файл и каждый каталог, хранящиеся в Ouisync, разделены на относительно небольшие (например, 32 КБ) блоки постоянного размера. Каждый блок имеет идентификатор блока (\"Block ID\", генерируемый генератором случайных чисел), который помогает Ouisync идентифицировать эти блоки. Все блоки хранятся вместе с файлом под названием “locator”. Локатор - это своего рода “карта”, которая указывает, где расположен каждый блок относительно других блоков. Однако, чтобы не раскрывать эту структуру агентам, не обладающим секретным ключом, локаторы не хранятся напрямую, а кодируются.",
            "id": 77178990,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77178990/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678712/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:55:02.602408+01:00",
            "action": 5,
            "target": "Что такое Блок?",
            "id": 77178963,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77178963/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678711/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:54:52.577718+01:00",
            "action": 5,
            "target": "Для _хэширования_ Ouisync использует хэш-функцию [BLAKE3]{1}, которая [считается]{2} стабильно более быстрой на разных платформах и размерах входных данных.",
            "id": 77178960,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77178960/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678710/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:54:32.803591+01:00",
            "action": 5,
            "target": "_В состоянии покоя_ Oyisync шифрует данные с помощью [ChaCha20]{1}. В этом случае «Ключ чтения» используется в качестве симметричного ключа шифрования/дешифрования. Ключи аутентифицируются с использованием подписей Ed25519, при этом «ключ записи» является закрытым ключом.",
            "id": 77178957,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77178957/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678709/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:53:25.285009+01:00",
            "action": 5,
            "target": "_При передаче_ Ouisync использует фреймворк [Noise protocol]{1}, в частности [шаблон NNpsk0]{2}. Это позволяет Ouisync генерировать эфемерные ключи с предварительно раскрытым (pre-shared) ключом. Предварительно раскрытый (pre-shared) ключ в Ouisync - это идентификатор (ID) хранилища. Noise поддерживает взаимную и дополнительную аутентификацию, скрытие идентификационных данных, прямую секретность, нулевое шифрование в оба конца и другие расширенные криптографические функции.",
            "id": 77178943,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77178943/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678708/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:48:43.427237+01:00",
            "action": 5,
            "target": "Какие алгоритмы шифрования используются?",
            "id": 77178888,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77178888/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678707/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:48:35.004804+01:00",
            "action": 5,
            "target": "Данные шифруются как _в состоянии покоя_ (при простом хранении), так и _при передаче_ (во время передачи данных). Важно отметить, что Ouisync может синхронизироваться без расшифровки, и ни одному устройству не нужно знать ключ расшифровки для выполнения синхронизации. Имена файлов, содержимое файлов и даже размеры файлов и структура каталогов скрыты от узлов, не обладающих ключом шифрования. Таким образом, партнёры, имеющие только слепой доступ к Вашим хранилищам, не смогут видеть ни содержимое Ваших хранилищ, ни их структуру.",
            "id": 77178885,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/77178885/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678707/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "author": "https://hosted.weblate.org/api/users/serbul/?format=api",
            "timestamp": "2024-01-13T13:48:34.993650+01:00",
            "action": 45,
            "target": "",
            "id": 77178884,
            "action_name": "Contributor joined",
            "url": "https://hosted.weblate.org/api/changes/77178884/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2024-01-10T20:06:16.774793+01:00",
            "action": 17,
            "target": "",
            "id": 76894719,
            "action_name": "Changes committed",
            "url": "https://hosted.weblate.org/api/changes/76894719/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678706/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/xeniax/?format=api",
            "author": "https://hosted.weblate.org/api/users/xeniax/?format=api",
            "timestamp": "2024-01-09T21:19:58.732780+01:00",
            "action": 5,
            "target": "Когда вы делитесь хранилищем в определенном режиме (редактирование, чтение или слепой режим) Ouisync генерирует ключи (так называемые \"токены\"), которыми вы можете поделиться со своими коллегами в виде ссылки или QR-кода. Когда вы импортируете хранилище с помощью такого токена, ваше устройство получает возможность расшифровать каталоги и файлы в этом хранилище (за исключением режима Blind).",
            "id": 76860047,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/76860047/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678705/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/xeniax/?format=api",
            "author": "https://hosted.weblate.org/api/users/xeniax/?format=api",
            "timestamp": "2024-01-09T21:12:46.815038+01:00",
            "action": 5,
            "target": "Ouisync предлагает пользователям безопасный способ обмена и синхронизации данных между устройствами. Из-за распределенной (одноранговой) природы Ouisync, в которой возможны одновременные изменения файлов и каталогов, структура каталогов Ouisync довольно сложна. Если два или более пользователей одновременно изменяют файл в каталоге, архитектура Ouisync гарантирует, что информация не будет потеряна. Более того, Ouisync защищает содержимое (файлы и хранилища) и структуру ваших файловых систем, применяя сквозное шифрование.",
            "id": 76859889,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/76859889/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678704/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": "https://hosted.weblate.org/api/users/xeniax/?format=api",
            "author": "https://hosted.weblate.org/api/users/xeniax/?format=api",
            "timestamp": "2024-01-09T21:10:10.340438+01:00",
            "action": 5,
            "target": "Шифрование в распределенной системе обмена файлами",
            "id": 76859861,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/76859861/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-24T17:02:10.687790+02:00",
            "action": 17,
            "target": "",
            "id": 69749881,
            "action_name": "Changes committed",
            "url": "https://hosted.weblate.org/api/changes/69749881/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678666/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-24T13:29:53.770604+02:00",
            "action": 5,
            "target": "لازم نیست نگران تداخل بین کپی‌های (replicas) مختلف باشید: در سمت سرور‌ (backend)، فرآیند همگام‌سازی به گونه‌ای انجام می‌شود که از تداخلات و مغایرت‌ها جلوگیری شود. چیزی که هنگام باز کردن Ouisync می‌بینید، همان چیزی است که ما آن را «نمای اجمالی» یا «اسنپ‌شات» می‌نامیم: نمای شما از کل درخت دایرکتوری در یک لحظه خاص از زمان. هر تغییر در سیستم فایل (در دستگاه شما یا دستگاه‌های همتایان شما) منجر به یک «اسنپ‌شات» جدید می‌شود.",
            "id": 69741553,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69741553/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678665/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-24T13:20:04.952587+02:00",
            "action": 5,
            "target": "هنگامی که یک مخزن را با همتایان خود به اشتراک می‌گذارید، این یک \"کپی\" از مخزن شما ایجاد می‌کند. ساختار مخزن در فایل‌های به‌اصطلاح «شاخص یا ایندکس» ذخیره می‌شود - وقتی دستگاه‌های همتا در حال اتصال هستند، ابتدا آن شاخص (ایندکس)‌ها را مبادله می‌کنند. اگر چیزی در یکی از کپی‌ها اصلاح شده باشد، Ouisync بلوک‌های گمشده را دانلود می‌کند. Ouisync همیشه ابتدا دایرکتوری‌ها و سپس خود فایل‌ها را دانلود می‌کند. این به Ouisync کمک می‌کند تا داده‌های شما را به‌درستی از بلوک‌ها بازسازی کند، بدون اینکه آن‌ها را خراب کند. علاوه بر این، این کار بدون نشت اطلاعات به کاربرانی انجام می‌شود که دسترسی «خواندنی» به مخازن شما ندارند.",
            "id": 69741353,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69741353/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678664/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-24T11:12:06.099048+02:00",
            "action": 5,
            "target": "همگام‌سازی چگونه انجام می‌شود؟",
            "id": 69737107,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69737107/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678663/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-24T11:11:43.292576+02:00",
            "action": 5,
            "target": "مجموعه خطی از بلوک‌ها را Blob می‌نامند. Blob‌ها می‌تواند فایل‌ها و دایرکتوری‌ها را نمایش دهد. ‌Blob فایل ساده‌تر است: از یک سرتیتر حاوی اندازه فایل، مجوزها و یک مهر زمانی تشکیل شده است. ‌Blob دایرکتوری فهرستی از نام فایل های موجود در یک دایرکتوری و همچنین مکان‌یابی‌هایی را نشان می‌دهد که به تک تک Blobهای فایل اشاره می‌کنند.",
            "id": 69737101,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69737101/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678662/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-24T11:08:19.836051+02:00",
            "action": 5,
            "target": "بلاب (blob) چیست؟",
            "id": 69737053,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69737053/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678661/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-24T11:02:18.294088+02:00",
            "action": 5,
            "target": "{تصویر}",
            "id": 69736680,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69736680/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678660/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-24T11:02:00.083223+02:00",
            "action": 5,
            "target": "تصور کنید که یک جشن عروسی بزرگ را سازماندهی می‌کنید، جایی که مهمانان زیادی را دعوت می‌کنید. کسانی که قبلاً این نوع رویدادها را سازماندهی کرده‌اند، می‌دانند که تعیین صندلی‌های مناسب برای همه مهمانان با توجه به روابط، علایق و غیره چقدر سخت است. به هر حال، شما باید اطلاعات لازم را به پیشخدمت‌ها نیز منتقل کنید، آن‌ها باید مراقب باشند و به یاد داشته باشند که کدام مهمان دارای آلرژی یا ترجیح غذایی خاصی است. و از آن‌جایی که مهمانان شما VIP هستند، نمی‌خواهید نام واقعی آن‌ها را برای پیشخدمت‌ها فاش کنید، بنابراین نام مستعار تصادفی خلق می‌کنید و آن‌ها را روی کارت‌های اختصاصی زیبا در محل نشستن مهمانان می‌نویسید. بنابراین، اگر به این استعاره استناد کنیم، شناسه بلوک یک نام مستعار خواهد بود که روی کارتی در کنار صندلی مهمان شما نوشته شده است، و «مکان‌یاب» نقشه‌ای از همه میزها با صندلی‌هایی است که به درستی اختصاص داده شده‌اند.",
            "id": 69736678,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69736678/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678659/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:55:17.868891+02:00",
            "action": 5,
            "target": "هر فایل و هر دایرکتوری ذخیره‌شده در Ouisync به بلوک‌های نسبتاً کوچک (به عنوان مثال ۳۲ کیلوبایت) با اندازه ثابت تقسیم می‌شود. هر بلوک دارای یک شناسه بلوک (تولید شده از طریق یک مولد تصادفی اعداد) است که به Ouisync کمک می‌کند تا این بلوک‌ها را شناسایی کند. همه بلوک‌ها در کنار فایلی به نام مکان‌یاب (locator) ذخیره می‌شوند. مکان‌یاب نوعی «نقشه» است که نشان می‌دهد هر بلوک با توجه به بلوک‌های دیگر در کجا قرار دارد. با این حال، برای آشکار نشدن این ساختار برای عواملی که کلید مخفی را ندارند، مکان‌یاب‌ها مستقیماً ذخیره نمی‌شوند، بلکه کدگذاری می‌شوند.",
            "id": 69710299,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69710299/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678658/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:49:23.532138+02:00",
            "action": 5,
            "target": "بلوک چیست؟",
            "id": 69710204,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69710204/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678657/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:49:10.864746+02:00",
            "action": 5,
            "target": "برای پروسه  درهم سازی (hashing)، اپلیکیشن Ouisync بر تابع هش [BLAKE3] {1} متکی است، که همواره [مطرح می‌شود]{2}  که در پلتفرم‌ها و اندازه‌های ورودی مختلف سریع‌تر است.",
            "id": 69710200,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69710200/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678656/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:45:33.113836+02:00",
            "action": 5,
            "target": "در حالت استراحت، اپلیکیشن Oyisync اطلاعات را با استفاده از [ChaCha20]{1} رمزنگاری می‌کند. در این مورد از «کلید خواندنی» به عنوان کلید متقارن رمزنگاری/رمزگشایی استفاده می‌شود. کلیدها با استفاده از امضاهای Ed25519 و «کلید نوشتنی» به عنوان کلید خصوصی تأیید می‌شوند.",
            "id": 69710158,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69710158/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678655/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:44:16.610992+02:00",
            "action": 5,
            "target": "در حالت انتقال، Ouisync از چارچوب [پروتکل نویز]{۱}، به‌ویژه [الگوی NNpsk0] استفاده می‌کند. این به Ouisync اجازه می‌دهد تا کلیدهای موقتی را با یک کلید از پیش به‌اشتراک‌گذاشته‌شده تولید کند.  کلید از پیش به‌اشتراک‌گذاشته‌شده در Ouisync شناسه مخزن است. نویز از احراز هویت متقابل و اختیاری، پنهان کردن هویت، محرمانگی پیشرو، رمزنگاری صفر رفت و برگشتی و سایر ویژگی‌های رمزنگاری پیشرفته پشتیبانی می‌کند.",
            "id": 69710145,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69710145/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678654/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:35:05.802341+02:00",
            "action": 5,
            "target": "کدام الگوریتم‌های رمزنگاری استفاده می‌شود؟",
            "id": 69709813,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69709813/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678653/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:34:39.385994+02:00",
            "action": 5,
            "target": "اطلاعات هم در حالت استراحت (وقتی  ذخیره می‌شوند) و هم در حال انتقال (در حین انتقال اطلاعات) رمزنگاری می‌شوند. نکته مهم، Ouisync می‌تواند بدون رمزگشایی همگام‌سازی شود و هیچ دستگاهی برای انجام همگام‌سازی نیازی به دانستن کلید رمزگشایی ندارد. \nنام فایل‌ها، محتویات فایل و حتی اندازه فایل‌ها و ساختار دایرکتوری‌ها از همتایان که دارای کلید رمزنگاری نیستند، پنهان است. بنابراین، همتاهایی که فقط دسترسی کور Blind به مخازن شما دارند، نمی‌توانند محتوای مخازن شما و ساختار آن‌ها را ببینند.",
            "id": 69709803,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69709803/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678652/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:30:56.328790+02:00",
            "action": 5,
            "target": "هنگامی که یک مخزن را در یک حالت خاص (نوشتنی، خواندنی، یا کور Blind) به اشتراک می‌گذارید، Ouisync کلیدهایی را تولید می‌کند (که «توکن‌ها» نامیده می‌شوند) که می‌توانید آن‌ها را به‌عنوان پیوند (لینک) یا به‌عنوان کد QR با همتایان خود به اشتراک بگذارید. وارد کردن یک مخزن با استفاده از یک رمز به دستگاه شما این امکان را می‌دهد که دایرکتوری‌ها و فایل‌های خود را رمزگشایی کند (به جز در حالت کور Blind).",
            "id": 69709754,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69709754/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678651/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:29:38.527818+02:00",
            "action": 5,
            "target": "اپلیکیشن Ouisync به کاربران راهی امن برای به‌اشتراک‌گذاری و همگام‌سازی داده‌ها در دستگاه‌ها ارائه می‌دهد. با توجه به ماهیت توزیع‌شده (همتا‌به‌همتا) Ouisync، که در آن تغییرات هم‌زمان در فایل‌ها و دایرکتوری‌ها امکان‌پذیر است، ساختار دایرکتوری Ouisync کاملاً پیچیده است. هر زمان که دو یا چند کاربر فایلی را در یک دایرکتوری به‌طور همزمان تغییر دهند، معماری Ouisync تضمین می‌کند که هیچ اطلاعاتی از بین نرود. علاوه بر این، Ouisync همچنین از محتوا (فایل ها و مخازن) و ساختار سیستم‌های فایل شما با اجرای رمزنگاری سرتاسری محافظت می‌کند.",
            "id": 69709736,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69709736/?format=api"
        },
        {
            "unit": "https://hosted.weblate.org/api/units/106678650/?format=api",
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "author": "https://hosted.weblate.org/api/users/Kian-ASL19/?format=api",
            "timestamp": "2023-10-23T17:05:31.327304+02:00",
            "action": 5,
            "target": "رمزنگاری در یک سیستم به‌اشتراک‌گذاری فایل توزیع‌شده",
            "id": 69709168,
            "action_name": "Translation added",
            "url": "https://hosted.weblate.org/api/changes/69709168/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/uk/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:51:06.928705+02:00",
            "action": 0,
            "target": "",
            "id": 68008128,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68008128/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:51:06.879206+02:00",
            "action": 0,
            "target": "",
            "id": 68008127,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68008127/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/my/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:51:06.825628+02:00",
            "action": 0,
            "target": "",
            "id": 68008125,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68008125/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fr/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:51:06.777685+02:00",
            "action": 0,
            "target": "",
            "id": 68008124,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68008124/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fa/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:51:06.731851+02:00",
            "action": 0,
            "target": "",
            "id": 68008123,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68008123/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/es/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:51:06.683030+02:00",
            "action": 0,
            "target": "",
            "id": 68008122,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68008122/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/en/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:51:06.621172+02:00",
            "action": 0,
            "target": "",
            "id": 68008121,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68008121/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/uk/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:06:11.295746+02:00",
            "action": 0,
            "target": "",
            "id": 68006524,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68006524/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/ru/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:06:11.245588+02:00",
            "action": 0,
            "target": "",
            "id": 68006522,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68006522/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/my/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:06:11.186521+02:00",
            "action": 0,
            "target": "",
            "id": 68006521,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68006521/?format=api"
        },
        {
            "unit": null,
            "component": "https://hosted.weblate.org/api/components/ouisync/security/?format=api",
            "translation": "https://hosted.weblate.org/api/translations/ouisync/security/fr/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2023-10-12T01:06:11.133473+02:00",
            "action": 0,
            "target": "",
            "id": 68006520,
            "action_name": "Resource updated",
            "url": "https://hosted.weblate.org/api/changes/68006520/?format=api"
        }
    ]
}