Translation components API.

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

GET /api/components/documentation/articlesrc-scripting_index/changes/?format=api&page=68
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 3424,
    "next": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/changes/?format=api&page=69",
    "previous": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/changes/?format=api&page=67",
    "results": [
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807594/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:37:54.140006Z",
            "action": 2,
            "target": "После написания скрипта его необходимо интегрировать в [.filename]#rc.d#. Ключевой шаг — установка скрипта в [.filename]#/etc/rc.d# (для базовой системы) или [.filename]#/usr/local/etc/rc.d# (для портов). И [.filename]#bsd.prog.mk#, и [.filename]#bsd.port.mk# предоставляют удобные механизмы для этого, и обычно вам не нужно беспокоиться о правильных правах доступа и режиме. Системные скрипты должны устанавливаться из [.filename]#src/libexec/rc/rc.d# через [.filename]#Makefile#, находящийся там. Скрипты портов можно установить с помощью `USE_RC_SUBR`, как описано extref:{porters-handbook}[в Руководстве портера, rc-скрипты].",
            "id": 878463,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878463/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807594/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:40:20.128394Z",
            "action": 2,
            "target": "После написания скрипта его необходимо интегрировать в [.filename]#rc.d#. Ключевой шаг — установка скрипта в [.filename]#/etc/rc.d# (для базовой системы) или [.filename]#/usr/local/etc/rc.d# (для портов). И [.filename]#bsd.prog.mk#, и [.filename]#bsd.port.mk# предоставляют удобные механизмы для этого, и обычно вам не нужно беспокоиться о правильных правах доступа и режиме. Системные скрипты должны устанавливаться из [.filename]#src/libexec/rc/rc.d# через [.filename]#Makefile#, находящийся там. Скрипты портов можно установить с помощью `USE_RC_SUBR`, как описано extref:{porters-handbook}special/[в Руководстве портера, rc-скрипты].",
            "id": 878464,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878464/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807594/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:42:21.815112Z",
            "action": 2,
            "target": "После написания скрипта его необходимо интегрировать в [.filename]#rc.d#. Ключевой шаг — установка скрипта в [.filename]#/etc/rc.d# (для базовой системы) или [.filename]#/usr/local/etc/rc.d# (для портов). И [.filename]#bsd.prog.mk#, и [.filename]#bsd.port.mk# предоставляют удобные механизмы для этого, и обычно вам не нужно беспокоиться о правильных правах доступа и режиме. Системные скрипты должны устанавливаться из [.filename]#src/libexec/rc/rc.d# через [.filename]#Makefile#, находящийся там. Скрипты портов можно установить с помощью `USE_RC_SUBR`, как описано extref:{porters-handbook}special/[в Руководстве FreeBSD по созданию портов, rc-скрипты].",
            "id": 878465,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878465/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807595/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:43:07.797246Z",
            "action": 2,
            "target": "Однако следует заранее продумать место нашего скрипта в последовательности запуска системы.  Скорее всего, обслуживаемый нашим скриптом сервис зависит от других сервисов.  Например, сетевой демон не может работать без поднятых сетевых интерфейсов и маршрутизации.  Даже если сервис, казалось бы, ничего не требует, он вряд ли сможет запуститься до проверки и монтирования основных файловых систем.",
            "id": 878466,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878466/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807596/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:43:21.145526Z",
            "action": 2,
            "target": "Мы уже упоминали man:rcorder[8]. Теперь пришло время рассмотреть его подробнее. В двух словах, man:rcorder[8] принимает набор файлов, анализирует их содержимое и выводит на `stdout` список этих файлов, упорядоченный по зависимостям. Главная идея заключается в том, чтобы хранить информацию о зависимостях _внутри_ файлов, чтобы каждый файл мог описывать только себя. Файл может содержать следующую информацию:",
            "id": 878467,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878467/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807597/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:43:52.832035Z",
            "action": 2,
            "target": "имена \"условий\" (что для нас означает сервисы), которые он __предоставляет__;",
            "id": 878468,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878468/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807598/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:45:22.419040Z",
            "action": 2,
            "target": "имена \"условий\", которые он __требует__;",
            "id": 878469,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878469/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807599/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:45:52.741150Z",
            "action": 2,
            "target": "имена \"условий\", перед которыми должен выполняться этот файл;",
            "id": 878470,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878470/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807600/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:46:02.563542Z",
            "action": 2,
            "target": "дополнительные _ключевые слова_, которые могут использоваться для выбора подмножества из всего набора файлов (man:rcorder[8] может быть настроен с помощью опций для включения или исключения файлов, содержащих указанные ключевые слова.)",
            "id": 878471,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878471/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807601/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:46:15.645065Z",
            "action": 2,
            "target": "Неудивительно, что man:rcorder[8] может обрабатывать только текстовые файлы с синтаксисом, близким к man:sh[1]. То есть специальные строки, понимаемые man:rcorder[8], выглядят как комментарии в man:sh[1]. Синтаксис таких специальных строк довольно жёсткий, чтобы упростить их обработку. Подробности см. в man:rcorder[8].",
            "id": 878472,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878472/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807602/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:46:38.366613Z",
            "action": 2,
            "target": "Помимо использования специальных строк man:rcorder[8], скрипт может настаивать на своей зависимости от другой службы, просто принудительно запуская её. Это может быть необходимо, когда другая служба является опциональной и не запускается самостоятельно, потому что системный администратор ошибочно отключил её в man:rc.conf[5].",
            "id": 878473,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878473/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807603/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:46:43.402973Z",
            "action": 2,
            "target": "С учетом этих общих знаний рассмотрим простой скрипт демона, дополненный зависимостями:",
            "id": 878474,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878474/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807607/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:46:47.148918Z",
            "action": 2,
            "target": "Как и ранее, следует детальный анализ:",
            "id": 878475,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878475/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807608/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:48:38.008224Z",
            "action": 2,
            "target": "➊ Эта строка объявляет названия \"условий\", которые предоставляет наш скрипт. Теперь другие скрипты могут указывать зависимость от нашего скрипта по этим именам.",
            "id": 878476,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878476/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807609/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:48:52.067730Z",
            "action": 2,
            "target": "Обычно скрипт указывает одно предоставленное условие. Однако ничто не мешает нам перечислить несколько условий, например, по причинам совместимости.",
            "id": 878477,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878477/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807610/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:48:59.122172Z",
            "action": 2,
            "target": "В любом случае, название основного или единственного условия `PROVIDE:` должно совпадать с `${name}`.",
            "id": 878478,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878478/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807611/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:54:55.413827Z",
            "action": 2,
            "target": "➋➌ Таким образом, наш скрипт указывает, от каких \"условий\", предоставляемых другими скриптами, он зависит. Согласно строкам, наш скрипт просит man:rcorder[8] разместить его после скрипта(ов), предоставляющих [.filename]#DAEMON# и [.filename]#cleanvar#, но перед тем, который предоставляет [.filename]#LOGIN#.",
            "id": 878479,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878479/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807612/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:55:24.835959Z",
            "action": 2,
            "target": "Строку `BEFORE:` не следует использовать для обхода неполного списка зависимостей в другом скрипте. Правильный случай для использования `BEFORE:` — когда другой скрипт не зависит от нашего, но наш скрипт может выполнить свою задачу лучше, если запустится до другого. Типичный пример из реальной жизни — сетевые интерфейсы и межсетевой экран: хотя интерфейсы не зависят от межсетевого экрана при выполнении своей работы, безопасность системы выиграет, если межсетевой экран будет готов до начала сетевого трафика.",
            "id": 878480,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878480/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807613/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:55:42.946212Z",
            "action": 2,
            "target": "Помимо условий, соответствующих отдельным службам, существуют метаусловия и их \"заглушки\" скриптов, используемые для обеспечения выполнения определённых групп операций в заданном порядке. Они обозначаются именами в [.filename]#ВЕРХНЕМ РЕГИСТРЕ#. Их список и назначение можно найти в man:rc[8].",
            "id": 878481,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878481/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807614/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T19:56:10.250066Z",
            "action": 2,
            "target": "Имейте в виду, что указание имени службы в строке `REQUIRE:` не гарантирует, что служба действительно будет запущена к моменту старта нашего скрипта. Требуемая служба может не запуститься или быть отключена в man:rc.conf[5]. Очевидно, man:rcorder[8] не может отслеживать такие детали, и man:rc[8] тоже этого не делает. Следовательно, приложение, запускаемое нашим скриптом, должно быть способно обрабатывать ситуации, когда требуемые службы недоступны. В некоторых случаях мы можем помочь ему, как описано в crossref:rc-scripting[forcedep, ниже]",
            "id": 878482,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878482/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807615/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:04:08.843810Z",
            "action": 2,
            "target": "[[keywords]]➍ Как мы помним из текста выше, ключевые слова man:rcorder[8] могут использоваться для выбора или исключения некоторых скриптов. А именно, любой потребитель man:rcorder[8] может указать с помощью опций `-k` и `-s`, какие ключевые слова находятся в \"списке сохранения\" и \"списке пропуска\" соответственно. Из всех файлов, подлежащих сортировке по зависимостям, man:rcorder[8] выберет только те, которые имеют ключевое слово из списка сохранения (если он не пуст) и не имеют ключевого слова из списка пропуска.",
            "id": 878483,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878483/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807616/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:04:12.989700Z",
            "action": 2,
            "target": "В FreeBSD, man:rcorder[8] используется [.filename]#/etc/rc# и [.filename]#/etc/rc.shutdown#. Эти два скрипта определяют стандартный список ключевых слов [.filename]#rc.d# FreeBSD и их значения следующим образом:",
            "id": 878484,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878484/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807618/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:04:25.488888Z",
            "action": 2,
            "target": "Сервис не предназначен для окружения man:jail[8]. Процедуры автоматического запуска и остановки будут игнорировать скрипт, если он находится внутри клетки.",
            "id": 878485,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878485/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807620/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:06:53.985453Z",
            "action": 2,
            "target": "Служба должна запускаться вручную или не запускаться вовсе. Процедура автоматического запуска проигнорирует скрипт. В сочетании с ключевым словом [.filename]#shutdown# это может использоваться для написания скриптов, выполняющих действия только при выключении системы.",
            "id": 878486,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878486/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807622/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:07:01.170404Z",
            "action": 2,
            "target": "Этот ключевой параметр должен быть указан __явно__, если службу необходимо остановить перед завершением работы системы.",
            "id": 878487,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878487/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807623/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:09:23.959006Z",
            "action": 2,
            "target": "Когда система собирается завершить работу, выполняется [.filename]#/etc/rc.shutdown#. Предполагается, что большинству скриптов [.filename]#rc.d# в этот момент нечего делать. Поэтому [.filename]#/etc/rc.shutdown# выборочно запускает скрипты [.filename]#rc.d# с ключевым словом [.filename]#shutdown#, фактически игнорируя остальные скрипты. Для ещё более быстрого завершения работы [.filename]#/etc/rc.shutdown# передаёт команду [.filename]#faststop# запускаемым скриптам, чтобы они пропускали предварительные проверки, например, проверку pid-файла. Поскольку зависимые службы должны быть остановлены до своих зависимостей, [.filename]#/etc/rc.shutdown# запускает скрипты в обратном порядке зависимостей. Если вы пишете настоящий скрипт [.filename]#rc.d#, стоит подумать, актуален ли он во время завершения работы системы. Например, если ваш скрипт выполняет свою работу только в ответ на команду [.filename]#start#, то включать это ключевое слово не нужно. Однако если ваш скрипт управляет службой, вероятно, стоит остановить её до того, как система перейдёт к финальной стадии завершения работы, описанной в man:halt[8]. В частности, службу следует останавливать явно, если для её корректного завершения требуется значительное время или специальные действия. Типичный пример такой службы — система управления базами данных.",
            "id": 878488,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878488/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807624/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:09:32.948541Z",
            "action": 2,
            "target": "[[forcedep]]➎ Прежде всего, `force_depend` следует использовать с большой осторожностью. Обычно лучше пересмотреть иерархию конфигурационных переменных для ваших [.filename]#rc.d# скриптов, если они взаимозависимы.",
            "id": 878489,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878489/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807625/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:13:20.791948Z",
            "action": 2,
            "target": "Если вам всё ещё не обойтись без `force_depend`, в примере показано, как вызвать его условно. В примере наш демон `mumbled` требует, чтобы другой демон, `frotz`, был запущен заранее. Однако `frotz` также является опциональным, и man:rcorder[8] ничего не знает о таких деталях. К счастью, наш скрипт имеет доступ ко всем переменным man:rc.conf[5]. Если `frotz_enable` имеет значение true, мы надеемся на лучшее и полагаемся на [.filename]#rc.d#, что `frotz` был запущен. В противном случае мы принудительно проверяем статус `frotz`. Наконец, мы принудительно устанавливаем зависимость от `frotz`, если обнаруживаем, что он не запущен. `force_depend` выдаст предупреждение, так как его следует вызывать только в случае обнаружения неправильной конфигурации.",
            "id": 878490,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878490/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807626/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:13:30.523542Z",
            "action": 2,
            "target": "Придание большей гибкости скрипту rc.d",
            "id": 878491,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878491/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807627/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:15:32.127866Z",
            "action": 2,
            "target": "При вызове во время запуска или завершения работы скрипт [.filename]#rc.d# должен воздействовать на всю подсистему, за которую он отвечает. Например, [.filename]#/etc/rc.d/netif# должен запускать или останавливать все сетевые интерфейсы, описанные в man:rc.conf[5]. Любая из этих задач может быть однозначно указана единственным аргументом команды, таким как `start` или `stop`. Между запуском и завершением работы скрипты [.filename]#rc.d# помогают администратору управлять работающей системой, и именно тогда возникает потребность в большей гибкости и точности. Например, администратор может добавить настройки нового сетевого интерфейса в man:rc.conf[5], а затем запустить его, не затрагивая работу существующих интерфейсов. В следующий раз администратору может потребоваться остановить отдельный сетевой интерфейс. В духе командной строки, соответствующий скрипт [.filename]#rc.d# требует дополнительного аргумента — имени интерфейса.",
            "id": 878492,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878492/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807628/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:16:32.948338Z",
            "action": 2,
            "target": "К счастью, man:rc.subr[8] позволяет передавать любое количество аргументов (в пределах системных ограничений) методам скрипта. Благодаря этому изменения в самом скрипте могут быть минимальными.",
            "id": 878493,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878493/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807629/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:16:51.562699Z",
            "action": 2,
            "target": "Как man:rc.subr[8] может получить доступ к дополнительным аргументам командной строки. Должен ли он просто захватывать их напрямую? Ни в коем случае. Во-первых, функция man:sh[1] не имеет доступа к позиционным параметрам своего вызывающего объекта, но man:rc.subr[8] — это просто набор таких функций. Во-вторых, хороший стиль [.filename]#rc.d# предписывает, что именно главный скрипт должен решать, какие аргументы передавать его методам.",
            "id": 878494,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878494/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807630/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:17:08.365782Z",
            "action": 2,
            "target": "Итак, подход, принятый в man:rc.subr[8], следующий: `run_rc_command` передаёт все свои аргументы, кроме первого, в соответствующий метод в неизменном виде. Первый, опущенный аргумент — это имя самого метода: `start`, `stop` и т.д. Он будет удалён с помощью `shift` в `run_rc_command`, так что то, что было `$2` в оригинальной командной строке, будет представлено как `$1` в методе, и так далее.",
            "id": 878495,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878495/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807631/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:17:14.646043Z",
            "action": 2,
            "target": "Чтобы проиллюстрировать эту возможность, давайте изменим примитивный скрипт-заглушку так, чтобы его сообщения зависели от дополнительных переданных аргументов. Вот как это выглядит:",
            "id": 878496,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878496/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807636/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:17:18.142556Z",
            "action": 2,
            "target": "Какие основные изменения мы можем заметить в скрипте?",
            "id": 878497,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878497/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807637/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:19:13.615696Z",
            "action": 2,
            "target": "➊ Все аргументы, которые вы вводите после `start`, могут стать позиционными параметрами для соответствующего метода. Мы можем использовать их любым способом в соответствии с нашей задачей, навыками и предпочтениями. В текущем примере мы просто передаем все их в man:echo[1] как одну строку в следующей строке — обратите внимание на `$*` в двойных кавычках. Вот как теперь можно вызывать этот скрипт:",
            "id": 878498,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878498/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807640/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:19:43.598165Z",
            "action": 2,
            "target": "➋ То же самое относится к любому методу, который предоставляет наш скрипт, не только к стандартному. Мы добавили пользовательский метод с именем `kiss`, и он может использовать дополнительные аргументы не меньше, чем `start`. Например:",
            "id": 878499,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878499/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807643/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:20:01.774049Z",
            "action": 2,
            "target": "➌ Если мы хотим просто передать все дополнительные аргументы любому методу, мы можем просто заменить `\"$@\"` на `\"$1\"` в последней строке нашего скрипта, где мы вызываем `run_rc_command`.",
            "id": 878500,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878500/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807644/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:20:31.612263Z",
            "action": 2,
            "target": "Программист man:sh[1] должен понимать тонкую разницу между `$*` и `$@` как способами обозначения всех позиционных параметров. Для детального обсуждения обратитесь к хорошему руководству по написанию скриптов на man:sh[1]. _Не используйте_ эти выражения, пока полностью не поймёте их, так как их неправильное применение приведёт к созданию ненадёжных и небезопасных скриптов.",
            "id": 878501,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878501/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807645/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:20:50.774160Z",
            "action": 2,
            "target": "В настоящее время в `run_rc_command` может присутствовать ошибка, которая мешает ему сохранять исходные границы между аргументами. То есть аргументы с встроенными пробелами могут обрабатываться некорректно. Ошибка возникает из-за неправильного использования `$*`.",
            "id": 878502,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878502/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807646/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:20:54.011663Z",
            "action": 2,
            "target": "Подготовка скрипта для сервисных клеток",
            "id": 878503,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878503/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807647/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:22:21.662091Z",
            "action": 2,
            "target": "Скрипты, запускающие долго работающую службу, подходят для клеток служб и должны поставляться с соответствующей конфигурацией клетки службы.",
            "id": 878504,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878504/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807647/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:24:03.609091Z",
            "action": 2,
            "target": "Скрипты, запускающие долго работающую службу, подходят для служебных клеток и должны поставляться с соответствующей конфигурацией сервисной клетки.",
            "id": 878505,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878505/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807648/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:24:36.935646Z",
            "action": 2,
            "target": "Некоторые примеры скриптов, которые не подходят для запуска в сервисной клетке:",
            "id": 878506,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878506/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807649/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:25:15.511960Z",
            "action": 2,
            "target": "любой скрипт, который в команде start только изменяет настройки времени выполнения для программ или ядра,",
            "id": 878507,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878507/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807650/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:25:22.561615Z",
            "action": 2,
            "target": "или пытается что-то смонтировать,",
            "id": 878508,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878508/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807651/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-10T20:25:30.046034Z",
            "action": 2,
            "target": "или находит и удаляет файлы",
            "id": 878509,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878509/?format=api"
        },
        {
            "unit": null,
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2025-08-11T04:45:00.862953Z",
            "action": 17,
            "target": "",
            "id": 878673,
            "action_name": "提交了更改",
            "url": "https://translate-dev.freebsd.org/api/changes/878673/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807652/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-11T07:37:07.327325Z",
            "action": 2,
            "target": "Необходимо предотврарить использование внутри сервисных клеток скриптов, не предназначенных для запуска в сервисной клетке.",
            "id": 878677,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878677/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1807652/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesrc-scripting_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesrc-scripting_index/ru/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
            "timestamp": "2025-08-11T07:37:21.069161Z",
            "action": 2,
            "target": "Необходимо предотвратить использование внутри сервисных клеток скриптов, не предназначенных для запуска в сервисной клетке.",
            "id": 878678,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/878678/?format=api"
        }
    ]
}