diff --git a/upload/devcraft/locales/ru_RU/dle-api.xliff b/upload/devcraft/locales/ru_RU/dle-api.xliff new file mode 100644 index 00000000..8f4c9bfc --- /dev/null +++ b/upload/devcraft/locales/ru_RU/dle-api.xliff @@ -0,0 +1,2 @@ + +API-ключAPI-ключНовыйНовыйЗагрузка…Загрузка…КлючКлючКопироватьКопироватьКогдаКогдаИстекаетИстекаетУровеньУровеньЗапросить ключЗапросить ключОдобритьОдобритьОтказатьОтказатьМетод не разрешёнМетод не разрешёнДопустимоДопустимоМаршрут не найденМаршрут не найденНеверный или неактивный API-ключНеверный или неактивный API-ключНеверный логин или парольНеверный логин или парольНет API-ключа пользователя и гостевого ключаНет API-ключа пользователя и гостевого ключаНеверный client_id или client_secretНеверный client_id или client_secretКлиент не разрешает grant_type=client_credentialsКлиент не разрешает grant_type=client_credentialsAPI-ключ клиента неактивенAPI-ключ клиента неактивенНужны оба: client_id и client_secretНужны оба: client_id и client_secretКлиент не разрешает grant_type=passwordКлиент не разрешает grant_type=passwordНеверный clientНеверный clientКлиент не разрешает grant_type=authorization_codeКлиент не разрешает grant_type=authorization_codeКод недействителенКод недействителенredirect_uri не совпадаетredirect_uri не совпадаетОшибка проверки PKCEОшибка проверки PKCEAPI-ключ неактивенAPI-ключ неактивенRefresh token недействителенRefresh token недействителенСвязанный access token не найденСвязанный access token не найденКлиент или ключ неактивенКлиент или ключ неактивенКлиент не разрешает grant_type=refresh_tokenКлиент не разрешает grant_type=refresh_tokenНеизвестный или неактивный client_idНеизвестный или неактивный client_idУ клиента не задан redirect_uriУ клиента не задан redirect_uriredirect_uri не совпадает с зарегистрированным у клиентаredirect_uri не совпадает с зарегистрированным у клиентаПопытка взлома!Попытка взлома!Неподдерживаемый credential_typeНеподдерживаемый credential_typeУкажите credential_type или grant_typeУкажите credential_type или grant_typeНужны client_id и redirect_uriНужны client_id и redirect_uriАвторизация пройдена, но сброшена в демо-режимеАвторизация пройдена, но сброшена в демо-режимеНеизвестная таблицаНеизвестная таблицаЗапись не найденаЗапись не найденаНужен fields{} или name+valueНужен fields{} или name+valueПоле не найденоПоле не найденоНужен multipart field fileНужен multipart field fileНовость не найденаНовость не найденаМетод требует значениеМетод требует значениеНельзя выполнить операцию: не задан первичный ключ.Нельзя выполнить операцию: не задан первичный ключ.Неизвестная колонка «{column}» для таблицы {table}Неизвестная колонка «{column}» для таблицы {table}Нет права «{action}» на таблицу «{table}»Нет права «{action}» на таблицу «{table}»Неизвестный методНеизвестный методБезопасностьБезопасностьАлгоритм HMACАлгоритм HMACАлгоритм для генерации API-ключей.Алгоритм для генерации API-ключей.СекретСекретСекретная строка для HMAC. Оставьте пустым для автогенерации при сохранении.Секретная строка для HMAC. Оставьте пустым для автогенерации при сохранении.Длина ключаДлина ключаДлина генерируемого API-ключа.Длина генерируемого API-ключа.Маскировать чувствительные поляМаскировать чувствительные поляЗадано DEMO_MODE в .env — маскирование принудительно включено.Задано DEMO_MODE в .env — маскирование принудительно включено.Скрывать пароли, IP и хеши в ответах API (CRUD).Скрывать пароли, IP и хеши в ответах API (CRUD).OAuth2OAuth2TTL access token (сек)TTL access token (сек)Время жизни access token в секундах.Время жизни access token в секундах.Уровни доступаУровни доступаУровень доступа по умолчаниюУровень доступа по умолчаниюИспользуется при самогенерации ключа и если группа DLE не привязана на странице синхронизации.Используется при самогенерации ключа и если группа DLE не привязана на странице синхронизации.Профиль пользователяПрофиль пользователяПоказывать блок API-ключа в профилеПоказывать блок API-ключа в профилеЕсли выключено — блок виден только при включённой самогенерации / заявке. Ключ берётся из таблицы api_keys.Если выключено — блок виден только при включённой самогенерации / заявке. Ключ берётся из таблицы api_keys.Разрешить пользователям генерировать ключРазрешить пользователям генерировать ключЕсли выключено — кнопка запроса не показывается; ключ выдаёт администратор.Если выключено — кнопка запроса не показывается; ключ выдаёт администратор.Уведомления о заявкахУведомления о заявкахУведомлять по почте при заявке на ключУведомлять по почте при заявке на ключЛС на сайте при заявке на ключЛС на сайте при заявке на ключГруппы DLEГруппы DLEПолучатели уведомлений о заявках.Получатели уведомлений о заявках.ПользователиПользователиДополнительные получатели уведомлений о заявках (по user_id).Дополнительные получатели уведомлений о заявках (по user_id).PM: тема заявкиPM: тема заявкиТема личного сообщения для администраторов о новой заявке на API-ключ.Тема личного сообщения для администраторов о новой заявке на API-ключ.Плейсхолдеры заявки (PM)Плейсхолдеры заявки (PM)Заявка на API-ключЗаявка на API-ключPM: текст заявкиPM: текст заявкиТекст личного сообщения администраторам о новой заявке на API-ключ.Текст личного сообщения администраторам о новой заявке на API-ключ.Уведомления о решенииУведомления о решенииУведомлять по почте об одобрении / отказеУведомлять по почте об одобрении / отказеЛС об одобрении / отказеЛС об одобрении / отказеPM: тема одобренияPM: тема одобренияТема личного сообщения пользователю при одобрении API-ключа.Тема личного сообщения пользователю при одобрении API-ключа.Плейсхолдеры одобрения (PM)Плейсхолдеры одобрения (PM)API-ключ одобренAPI-ключ одобренPM: текст одобренияPM: текст одобренияТекст личного сообщения пользователю при одобрении API-ключа.Текст личного сообщения пользователю при одобрении API-ключа.PM: тема отказаPM: тема отказаТема личного сообщения пользователю при отказе в API-ключе.Тема личного сообщения пользователю при отказе в API-ключе.Плейсхолдеры отказа (PM)Плейсхолдеры отказа (PM)API-ключ отклонёнAPI-ключ отклонёнPM: текст отказаPM: текст отказаТекст личного сообщения пользователю при отказе в API-ключе.Текст личного сообщения пользователю при отказе в API-ключе.Ваша заявка на API-ключ отклонена.Ваша заявка на API-ключ отклонена.Email-шаблоныEmail-шаблоныEmail: тема заявкиEmail: тема заявкиТема письма администраторам о новой заявке на API-ключ.Тема письма администраторам о новой заявке на API-ключ.Плейсхолдеры заявки (email)Плейсхолдеры заявки (email)Email: тело заявкиEmail: тело заявкиHTML или текст письма администраторам о новой заявке на API-ключ.HTML или текст письма администраторам о новой заявке на API-ключ.Email: тема одобренияEmail: тема одобренияТема письма пользователю при одобрении API-ключа.Тема письма пользователю при одобрении API-ключа.Плейсхолдеры решения (email)Плейсхолдеры решения (email)Email: тема отказаEmail: тема отказаТема письма пользователю при отказе в API-ключе.Тема письма пользователю при отказе в API-ключе.Email: тело решенияEmail: тело решенияHTML или текст письма пользователю при одобрении либо отказе в API-ключе.HTML или текст письма пользователю при одобрении либо отказе в API-ключе.Неофициальное REST/SDK API для DLE: ключи, OAuth2 Bearer, /api/v2Неофициальное REST/SDK API для DLE: ключи, OAuth2 Bearer, /api/v2ГлавнаяГлавнаяAPI-ключиAPI-ключиСинхронизация с группамиСинхронизация с группамиЗаявки на ключЗаявки на ключOAuth-клиентыOAuth-клиентыНастройкиНастройкиЖурнал измененийЖурнал измененийСписок API-ключейСписок API-ключейАктивенАктивенПользовательПользовательДействияДействияДаДаПраваПраваОтключитьОтключитьУдалитьУдалитьКлючей пока нетКлючей пока нетСоздать ключСоздать ключПоказать формуПоказать формуСкрыть формуСкрыть формуУровень доступаУровень доступа— вручную / без уровня —— вручную / без уровня —При выборе уровня флаги own_only/cheater берутся из уровня. Без уровня — матрица scopes ниже.При выборе уровня флаги own_only/cheater берутся из уровня. Без уровня — матрица scopes ниже.СоздатьСоздатьСохранитьСохранитьОтменаОтменаПрава доступа к таблицам (если уровень не задан или для legacy-ключей)Права доступа к таблицам (если уровень не задан или для legacy-ключей)Чтение — просмотр; Запись — создание; Правка — изменение; Удаление — удаление. При уровне с cheater матрица игнорируется.Чтение — просмотр; Запись — создание; Правка — изменение; Удаление — удаление. При уровне с cheater матрица игнорируется.ТаблицаТаблицаЧтениеЧтениеВключить всеВключить всеЗаписьЗаписьПравкаПравкаУдалениеУдалениеСписок таблиц SchemaRegistry пустСписок таблиц SchemaRegistry пустЕсли группа не привязана — при самогенерации используется уровень по умолчанию из настроек; на ключах уровень задаётся вручную.Если группа не привязана — при самогенерации используется уровень по умолчанию из настроек; на ключах уровень задаётся вручную.Группа DLE → уровень доступаГруппа DLE → уровень доступаГруппаГруппа— не задано —— не задано —Группы не найденыГруппы не найденыЭндпоинты Authorization ServerЭндпоинты Authorization ServerСкопируйте URL для интеграции внешних OAuth-клиентов (DLE = IdP).Скопируйте URL для интеграции внешних OAuth-клиентов (DLE = IdP).Сохраните client_secret сейчасСохраните client_secret сейчасон показывается один раз и больше не будет доступен.он показывается один раз и больше не будет доступен.СкрытьСкрытьИмяИмяИзменитьИзменитьКлиентов пока нетКлиентов пока нетСоздать клиентСоздать клиентOAuth-клиент выдаёт access_token для вызовов /api/v2. Права запросов берёт из выбранного API-ключа (scopes). После создания сохраните client_id и client_secret — секрет больше не показывается.OAuth-клиент выдаёт access_token для вызовов /api/v2. Права запросов берёт из выбранного API-ключа (scopes). После создания сохраните client_id и client_secret — секрет больше не показывается.Редактирование: название, API-ключ, Redirect URI, grant types и активность. client_id не меняется; секрет — только через «Пересоздать client_secret».Редактирование: название, API-ключ, Redirect URI, grant types и активность. client_id не меняется; секрет — только через «Пересоздать client_secret».Идентификатор клиента не меняется. Секрет можно перевыпустить кнопкой ниже — старый сразу перестанет работать.Идентификатор клиента не меняется. Секрет можно перевыпустить кнопкой ниже — старый сразу перестанет работать.Пересоздать client_secretПересоздать client_secretНовый секрет покажется один раз над таблицей. Обновите его во всех приложениях, которые используют этого клиента.Новый секрет покажется один раз над таблицей. Обновите его во всех приложениях, которые используют этого клиента.НазваниеНазваниеНапр. Mobile app, CI, PostmanНапр. Mobile app, CI, PostmanТолько для списка в админке. На выдачу токенов не влияет. Если пусто — подставится client_id.Только для списка в админке. На выдачу токенов не влияет. Если пусто — подставится client_id.— выберите —— выберите —Обязательно. Определяет, к каким таблицам и с какими правами (read/write/delete) сможет обращаться Bearer-токен этого клиента. Ключ создаётся на вкладке «Ключи».Обязательно. Определяет, к каким таблицам и с какими правами (read/write/delete) сможет обращаться Bearer-токен этого клиента. Ключ создаётся на вкладке «Ключи».Redirect URIRedirect URIСсылка http(s). Нужна для grant authorization_code. Должна точно совпадать с redirect_uri при /oauth/authorize и обмене кода. Для password / client_credentials можно оставить пустым.Ссылка http(s). Нужна для grant authorization_code. Должна точно совпадать с redirect_uri при /oauth/authorize и обмене кода. Для password / client_credentials можно оставить пустым.Grant typesGrant typesсервер-сервер без пользователясервер-сервер без пользователялогин/пароль пользователя DLEлогин/пароль пользователя DLEбраузерный OAuth-код (нужен Redirect URI)браузерный OAuth-код (нужен Redirect URI)обновление access_tokenобновление access_tokenКакие способы получения токена разрешены этому клиенту. Хотя бы один обязателен.Какие способы получения токена разрешены этому клиенту. Хотя бы один обязателен.Неактивный клиент не сможет получать новые токены.Неактивный клиент не сможет получать новые токены.Заявки на API-ключЗаявки на API-ключСтатусСтатусДатаДатаОтклонитьОтклонитьЗаявок нетЗаявок нетСорт.Сорт.Премод.Премод.Уровней пока нетУровней пока нетСоздать уровеньСоздать уровеньСортировкаСортировкаПремодерация заявок на ключПремодерация заявок на ключТолько свои записиТолько свои записиПолный доступ (cheater)Полный доступ (cheater)Маскировать IPМаскировать IPМаскировать пароли/хешиМаскировать пароли/хешиМаскировать лишние ПДнМаскировать лишние ПДнScopes уровня (read / write / edit / delete)Scopes уровня (read / write / edit / delete)API v2 (/api/v2) на CycleORM из DevCraft Admin.API v2 (/api/v2) на CycleORM из DevCraft Admin.OAuth2 Authorization Server: authorize, token, revoke; доступ только через Bearer.OAuth2 Authorization Server: authorize, token, revoke; доступ только через Bearer.credential_type api_key|auth|oauth_client; ресурсы только AuthToken; GET /me и /oauth/userinfo.credential_type api_key|auth|oauth_client; ресурсы только AuthToken; GET /me и /oauth/userinfo.OAuth AS discovery, authorize по сессии DLE, копируемые endpoint URL.OAuth AS discovery, authorize по сессии DLE, копируемые endpoint URL.Уровни доступа, синхронизация с группами, заявки на ключ, профиль (public AJAX).Уровни доступа, синхронизация с группами, заявки на ключ, профиль (public AJAX).DEMO_MODE / DLEAPI_SECURE из .env; email-шаблоны через install.xml.DEMO_MODE / DLEAPI_SECURE из .env; email-шаблоны через install.xml.Fluent-билдеры prepareNewPost / prepareNewUser / preparePlugin / prepareNewUsergroup (in-process и HTTP SDK).Fluent-билдеры prepareNewPost / prepareNewUser / preparePlugin / prepareNewUsergroup (in-process и HTTP SDK).Каталог Schema таблиц DLE в api/includes/Schemas.Каталог Schema таблиц DLE в api/includes/Schemas.OpenAPI (swagger-php) и документация OAD в mhdocs.OpenAPI (swagger-php) и документация OAD в mhdocs.Загрузка файлов через штатный пайплайн DLE.Загрузка файлов через штатный пайплайн DLE.Фильтр постов по одной категории при нескольких (FIND_IN_SET / issue #12).Фильтр постов по одной категории при нескольких (FIND_IN_SET / issue #12).Админ-модуль DleApi для DevCraft Admin ≥ 200.4.0 (только конфигурация).Админ-модуль DleApi для DevCraft Admin ≥ 200.4.0 (только конфигурация).HTTP /table/{name}: интроспекция таблиц вне SchemaRegistry + TableScopeGuard.HTTP /table/{name}: интроспекция таблиц вне SchemaRegistry + TableScopeGuard.SDK facades: DcApi::news() / user() / comment() / conversation() / plugin() / file() / staticPage() / schema().SDK facades: DcApi::news() / user() / comment() / conversation() / plugin() / file() / staticPage() / schema().Fluent CRUD на AbstractTableSchema (with / create / save / delete / filter / fromArray).Fluent CRUD на AbstractTableSchema (with / create / save / delete / filter / fromArray).GET-кэш TableQuery через CacheControl (dle_api_query, TTL).GET-кэш TableQuery через CacheControl (dle_api_query, TTL).Админка: multi получатели уведомлений, WYSIWYG для PM; panel-title через caption.Админка: multi получатели уведомлений, WYSIWYG для PM; panel-title через caption.Админка: FormPanel ключей/уровней/OAuth свёрнут на узком экране (Metro d-none / d-block-md).Админка: FormPanel ключей/уровней/OAuth свёрнут на узком экране (Metro d-none / d-block-md).Совместимость с DLE 20.0 (xfields.json, dual category, conversations).Совместимость с DLE 20.0 (xfields.json, dual category, conversations).Таблицы api_keys / api_scope / OAuth создаются Cycle-миграциями DevCraft (Models + AbstractEntity), а не DDL в install.xml.Таблицы api_keys / api_scope / OAuth создаются Cycle-миграциями DevCraft (Models + AbstractEntity), а не DDL в install.xml.Scopes: колонка edit; own_only/cheater на уровне; trailing slash на всех маршрутах v2.Scopes: колонка edit; own_only/cheater на уровне; trailing slash на всех маршрутах v2.OpenAPI: описание ApiError без PHPDoc {@see}; Schema без пометки install.php.OpenAPI: описание ApiError без PHPDoc {@see}; Schema без пометки install.php.API v1 (Slim + Illuminate Capsule, X-Api-Key) полностью удалён.API v1 (Slim + Illuminate Capsule, X-Api-Key) полностью удалён.Приём сырого API-ключа как Bearer на ресурсах /table.Приём сырого API-ключа как Bearer на ресурсах /table.Оптимизация кода под PHP 8.2Оптимизация кода под PHP 8.2Минимально поддерживаемая версия DLE - 16.0Минимально поддерживаемая версия DLE - 16.0Изменён список алгоритмов на hash_hmac_algosИзменён список алгоритмов на hash_hmac_algosУбрана процедура проверки атрибута в таблицеУбрана процедура проверки атрибута в таблицеОптимизирован кодОптимизирован кодГенерация ключа привязана к времениГенерация ключа привязана к времениДобавлена возможность добавлять ключи независимо от пользователя => для этого нужно выбрать в меню пользователя "Гость / Неавторизованный"Добавлена возможность добавлять ключи независимо от пользователя => для этого нужно выбрать в меню пользователя "Гость / Неавторизованный"Добавлена возможность генерировать свои рутеры на основе базы данных => читайте документациюДобавлена возможность генерировать свои рутеры на основе базы данных => читайте документациюОбновлены данные для таблиц базы данныхОбновлены данные для таблиц базы данныхОбновлена документация APIОбновлена документация APIМинимальные требования к серверу поднял до минимально требуемой версии от DLE-News -> 7.4, возможно не будет работать на версиях ниже 15.хМинимальные требования к серверу поднял до минимально требуемой версии от DLE-News -> 7.4, возможно не будет работать на версиях ниже 15.хБезопасный вывод данных (IP, пароли и хэш суммы)Безопасный вывод данных (IP, пароли и хэш суммы)Добавлена функция вывода только принадлежащих API-ключу записейДобавлена функция вывода только принадлежащих API-ключу записейДобавлена функция массовых действий (удаление, (де-)активация, снятие / добавление ограничение, снятие / удаление администраторских ограничений)Добавлена функция массовых действий (удаление, (де-)активация, снятие / добавление ограничение, снятие / удаление администраторских ограничений)Для удаления новостей была использована функция движкаДля удаления новостей была использована функция движкаДля удаления комментариев была использована функция движкаДля удаления комментариев была использована функция движкаИзменил нумерование версийИзменил нумерование версийcomposer настроил под версию PHP 5.6composer настроил под версию PHP 5.6Были исправлены несколько багов, спасибо @jyaraliБыли исправлены несколько багов, спасибо @jyaraliИсправлена проверка ключей в базе данныхИсправлена проверка ключей в базе данныхДобавлена проверка по длине значения для типа "string"Добавлена проверка по длине значения для типа "string"Массивы с ячейками таблиц были обновлены до значений DLE 14.1 (на ранние версии DLE это никак не влияет)Массивы с ячейками таблиц были обновлены до значений DLE 14.1 (на ранние версии DLE это никак не влияет)Для пользователей был использован штатный API класс самой DLE, чтобы авторизовать и регистрировать пользователейДля пользователей был использован штатный API класс самой DLE, чтобы авторизовать и регистрировать пользователейДля авторизации пользователей нужно при помощи метода POST указать следующий путь URL: api/v1/users/auth. В заголовке обязательно должны быть значения имя пользователя и его пароль в незакодированном виде.Для авторизации пользователей нужно при помощи метода POST указать следующий путь URL: api/v1/users/auth. В заголовке обязательно должны быть значения имя пользователя и его пароль в незакодированном виде.Для регистрации пользователя нужно при помощи метода POST указать следующий путь URL: api/v1/users/register. В заголовке нужно указать имя пользователя, пароль, электронную почту и ID группы пользователей.Для регистрации пользователя нужно при помощи метода POST указать следующий путь URL: api/v1/users/register. В заголовке нужно указать имя пользователя, пароль, электронную почту и ID группы пользователей.При регистрации и авторизации возвращается массив данных об этом пользователеПри регистрации и авторизации возвращается массив данных об этом пользователеПервая стандартная версияПервая стандартная версиягостьгостьDLE APIDLE APIГенерация ключа запрещенаГенерация ключа запрещенаУ вас уже есть активный API-ключУ вас уже есть активный API-ключНе задан уровень доступа по умолчаниюНе задан уровень доступа по умолчаниюЗаявка уже ожидает рассмотренияЗаявка уже ожидает рассмотренияЗаявка отправлена на модерациюЗаявка отправлена на модерациюОшибкаОшибкаНекорректный идентификаторНекорректный идентификаторЗаявка не найденаЗаявка не найденаЗаявка уже обработанаЗаявка уже обработанаОдобреноОдобреноОтклоненоОтклоненоКлюч созданКлюч созданRedirect URI должен быть ссылкой http(s)Redirect URI должен быть ссылкой http(s)Выберите хотя бы один grant_typeВыберите хотя бы один grant_typeУкажите действующий API-ключУкажите действующий API-ключКлиент не найденКлиент не найденКлиент сохранёнКлиент сохранёнСинхронизация сохраненаСинхронизация сохраненаКлюч не найденКлюч не найденСхема настроек недоступнаСхема настроек недоступнаФайл конфигурации недоступен для записиФайл конфигурации недоступен для записиКаталог конфигурации недоступен для записиКаталог конфигурации недоступен для записиВсе поля недействительныВсе поля недействительныВниманиеВниманиеЧастичное сохранение с ошибкамиЧастичное сохранение с ошибкамиСохраненоСохраненоКлюч сохранёнКлюч сохранёнКлюч удалёнКлюч удалёнclient_secret пересозданclient_secret пересозданКлюч включёнКлюч включёнКлюч отключёнКлюч отключёнУдаленоУдаленоТребуется авторизацияТребуется авторизацияНедостаточно правНедостаточно правНельзя запрашивать ключ за другого пользователяНельзя запрашивать ключ за другого пользователяНе удалосьНе удалосьНедостаточно прав для модерацииНедостаточно прав для модерацииЗаявка не найдена или уже обработанаЗаявка не найдена или уже обработанаУровень не найденУровень не найденУкажите название уровняУкажите название уровняOAuth-клиент созданOAuth-клиент созданКлиент удалёнКлиент удалёнИстория измененийИстория изменений \ No newline at end of file