diff --git a/Dockerfile b/Dockerfile
index 4c44f70..17be08b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
ARG APP_PATH=/opt/outline
ARG SRC_PATH=./outline
-FROM node:24.15.0 AS build
+FROM node:24.16.0 AS build
ARG CDN_URL
ARG APP_PATH
ARG SRC_PATH
@@ -19,7 +19,7 @@ COPY ./translation/ru.json ./shared/i18n/locales/ru_RU/translation.json
RUN yarn build && \
yarn workspaces focus --production
-FROM node:24.15.0-slim AS release
+FROM node:24.16.0-slim AS release
RUN apt-get update && \
apt-get install -y curl && \
rm -rf /var/lib/apt/lists/*
diff --git a/README.md b/README.md
index c937b49..8b5d4a7 100644
--- a/README.md
+++ b/README.md
@@ -20,8 +20,8 @@
```yaml
services:
outline:
- image: flameshikari/outline-ru:1.7.1
- # image: ghcr.io/flameshikari/outline-ru:1.7.1
+ image: flameshikari/outline-ru:1.8.0
+ # image: ghcr.io/flameshikari/outline-ru:1.8.0
env_file: ./docker.env
expose:
- 3000
@@ -93,7 +93,7 @@ services:
2. Пулл изменений в подмодуле и переключение на последний доступный тег:
```sh
- git submodule foreach 'git pull --rebase --tags && git checkout v1.7.1'
+ git submodule foreach 'git pull --rebase --tags && git checkout v1.8.0'
```
3. Запуск контейнеров:
diff --git a/outline b/outline
index 04a13de..b2309df 160000
--- a/outline
+++ b/outline
@@ -1 +1 @@
-Subproject commit 04a13de0e7df234141c3d0108a1b8d6cc986b24c
+Subproject commit b2309df76d18991bde369894c8a9054277eae698
diff --git a/translation/ru.json b/translation/ru.json
index 10369f7..113d762 100644
--- a/translation/ru.json
+++ b/translation/ru.json
@@ -301,6 +301,7 @@
"Currently editing": "Сейчас редактируется",
"Currently viewing": "Сейчас просматривается",
"Viewed {{ timeAgo }}": "Просмотрено {{ timeAgo }}",
+ "Uploading… {{ progress }}%": "Загрузка… {{ progress }}%",
"File type not supported. Please use PNG, JPG, GIF, or WebP.": "Тип файла не поддерживается. Пожалуйста, используйте PNG, JPG, GIF или WebP.",
"File size too large. Maximum size is {{ size }}.": "Размер файла слишком большой. Максимальный размер — {{ size }}.",
"Click or drag to replace": "Кликните или перетащите, чтобы заменить",
@@ -389,6 +390,8 @@
"Sorry, an error occurred.": "К сожалению, произошла ошибка.",
"Click to retry": "Кликните, чтобы повторить",
"Back": "Назад",
+ "Manage": "Управлять",
+ "Permissions for {{ userName }} updated": "Права доступа для {{ userName }} обновлены",
"Notification options": "Параметры уведомлений",
"Unknown": "Неизвестно",
"Mentions": "Упоминания",
@@ -422,7 +425,6 @@
"{{ hours }}h {{ minutes }}m read": "{{ hours }}ч {{ minutes }}м чтения",
"{{ hours }}h read": "{{ hours }}ч чтения",
"{{ minutes }}m read": "{{ minutes }}м чтения",
- "Manage": "Управлять",
"All members": "Все участники",
"Everyone in the workspace": "Все в рабочем пространстве",
"{{ count }} member_0": "{{ count }} участник",
@@ -431,6 +433,7 @@
"Public link copied to clipboard": "Публичная ссылка скопирована в буфер",
"Only lowercase letters, digits and dashes allowed": "Допускаются только строчные буквы, цифры и тире",
"Sorry, this link has already been used": "К сожалению, эта ссылка уже используется",
+ "Publish to web": "Опубликовать в сети",
"Allow anyone with the link to access": "Разрешить доступ всем, у кого есть ссылка",
"Publish to internet": "Опубликовать в Интернете",
"All documents in this collection will be shared on the web, including any new documents added later": "Все документы этой коллекции будут опубликованы в Интернете, включая любые новые документы, добавленные позже",
@@ -448,6 +451,12 @@
"Logo": "Логотип",
"Add": "Добавить",
"Add or invite": "Добавить или пригласить",
+ "Sharing settings updated": "Настройки общего доступа обновлены",
+ "Display settings": "Настройки отображения",
+ "Customize how the published document is displayed": "Настройте, как отображается опубликованный документ",
+ "Image options": "Параметры изображения",
+ "Upload": "Загрузить",
+ "Site title": "Название сайта",
"Show last modified": "Показать последний изменённый",
"Display the last modified timestamp on the shared page": "Показывать метки времени последнего изменения на общей странице",
"Show table of contents": "Показать оглавление",
@@ -475,7 +484,6 @@
"Access inherited from collection": "Доступ унаследован от коллекции",
"{{ userName }} was removed from the document": "{{ userName }} был удален из документа",
"Could not remove user": "Не удалось удалить пользователя",
- "Permissions for {{ userName }} updated": "Права доступа для {{ userName }} обновлены",
"Could not update user": "Не удалось обновить пользователя",
"Has access through <2>parent2>": "Имеет доступ через <2>parent2>",
"Suspended": "Отключен",
@@ -538,7 +546,6 @@
"Viewers can only view and comment on documents.": "Наблюдатели могут только просматривать и комментировать документы.",
"Are you sure you want to make {{ userName }} a {{ role }}?": "Вы уверены, что хотите назначить пользователю {{ userName }} роль {{ role }}?",
"I understand, delete": "Я понимаю, удалить",
- "Are you sure you want to permanently delete {{ userName }}? This operation is unrecoverable, consider suspending the user instead.": "Вы уверены, что хотите навсегда удалить пользователя {{ userName }}? Эта операция необратима, вместо этого рассмотрите возможность приостановить аккаунт пользователя.",
"Are you sure you want to suspend {{ userName }}? Suspended users will be prevented from logging in.": "Вы уверены, что хотите приостановить {{ userName }}? Заблокированные пользователи не смогут войти в систему.",
"New name": "Новое имя",
"Name can't be empty": "Имя не может быть пустым",
@@ -559,10 +566,18 @@
"Replacement": "Замена",
"Replace": "Заменить",
"Replace all": "Заменить все",
+ "Go to link": "Перейти по ссылке",
+ "Open link": "Открыть ссылку",
+ "Remove link": "Удалить ссылку",
+ "Formatting controls": "Инструменты форматирования",
+ "Search or paste a link": "Найти или вставить ссылку",
"Image width": "Ширина изображения",
"Width": "Ширина",
"Image height": "Высота изображения",
"Height": "Высота",
+ "Paste a link": "Вставить ссылку",
+ "Delete embed": "Удалить вставку",
+ "Delete image": "Удалить изображение",
"Profile picture": "Фото профиля",
"Create a new doc": "Создать новый документ",
"Create a nested doc": "Создать вложенный документ",
@@ -572,107 +587,78 @@
"Mention": "Упоминание",
"Embed": "Вставить",
"Not supported": "Не поддерживается",
+ "Sorry, that link won’t work for this embed type": "К сожалению, эта ссылка не работает для такого типа встраивания",
"Upload file": "Загрузить файл",
+ "Paste a {{service}} link…": "Вставить ссылку {{service}}…",
"More options": "Больше параметров",
- "Rename": "Переименовать",
- "Insert after": "Вставить после",
- "Insert before": "Вставить до",
- "Move up": "Сдвинуть вверх",
- "Move down": "Сдвинуть вниз",
- "Move left": "Сдвинуть влево",
- "Move right": "Сдвинуть вправо",
- "Align center": "По центру",
- "Align left": "По левому краю",
- "Align right": "По правому краю",
- "Default width": "Стандартная ширина",
- "Full width": "На всю ширину",
- "Bulleted list": "Маркированный список",
- "Todo list": "Список задач",
- "Show {{ count }} completed_0": "Показать {{ count }} выполненное",
- "Show {{ count }} completed_1": "Показать {{ count }} выполненных",
- "Show {{ count }} completed_2": "Показать {{ count }} выполненных",
- "Hide completed": "Скрыть завершённое",
- "Code block": "Блок кода",
- "Copied to clipboard": "Скопировано в буфер",
- "Code": "Код",
- "Comment": "Комментировать",
- "Create link": "Создать ссылку",
- "Edit image URL": "Редактировать URL изображения",
- "Sorry, an error occurred creating the link": "К сожалению, при создании ссылки возникла ошибка",
- "Create a new child doc": "Создать новый дочерний документ",
- "Delete table": "Удалить таблицу",
+ "Type '/' to insert": "Наберите '/' для вставки",
+ "Keep typing to filter": "Продолжайте печатать для фильтрации",
+ "Replace file": "Заменить файл",
"Delete file": "Удалить файл",
"Show preview": "Показать превью",
- "Download file": "Скачать файл",
- "Replace file": "Заменить файл",
- "Delete image": "Удалить изображение",
- "Download image": "Скачать изображение",
- "Replace image": "Заменить изображение",
- "Italic": "Курсив",
- "Sorry, that link won’t work for this embed type": "К сожалению, эта ссылка не работает для такого типа встраивания",
- "File attachment": "Прикрепленные файлы",
- "Embed PDF": "Встроить PDF",
- "Enter a link": "Введите ссылку",
"Big heading": "Большой заголовок",
"Medium heading": "Средний заголовок",
"Small heading": "Малый заголовок",
"Extra small heading": "Очень маленький заголовок",
- "Heading": "Заголовок",
- "Divider": "Разделитель",
- "Image": "Изображение",
- "Sorry, an error occurred uploading the file": "К сожалению, при загрузке файла произошла ошибка",
- "Uploading… {{ progress }}%": "Загрузка… {{ progress }}%",
- "Write a caption": "Напишите подпись",
- "Info": "Информация",
- "Info notice": "Уведомление с деталями",
- "Link": "Ссылка",
- "Highlight": "Выделение",
- "Background color": "Цвет фона",
- "Type '/' to insert": "Наберите '/' для вставки",
- "Keep typing to filter": "Продолжайте печатать для фильтрации",
- "Open link": "Открыть ссылку",
- "Go to link": "Перейти по ссылке",
- "Sorry, that type of link is not supported": "К сожалению, этот тип ссылки не поддерживается",
+ "Todo list": "Список задач",
+ "Bulleted list": "Маркированный список",
"Ordered list": "Нумерованный список",
- "Page break": "Разрыв страницы",
- "Paste a link": "Вставить ссылку",
- "Paste a {{service}} link…": "Вставить ссылку {{service}}…",
- "Placeholder": "Поле для заполнения",
- "Quote": "Цитата",
- "Remove link": "Удалить ссылку",
- "Search or paste a link": "Найти или вставить ссылку",
- "Strikethrough": "Зачеркнуть",
- "Bold": "Жирный",
- "Subheading": "Подзаголовок",
- "Sort ascending": "Сортировка по возрастанию",
- "Sort descending": "Сортировка по убыванию",
+ "Image": "Изображение",
+ "Video": "Видео",
+ "Embed PDF": "Встроить PDF",
+ "File attachment": "Прикрепленные файлы",
"Table": "Таблица",
- "Export as CSV": "Экспортировать в CSV",
- "Toggle header": "Переключить заголовок",
- "Math inline (LaTeX)": "Встроенная математика (LaTeX)",
+ "Quote": "Цитата",
+ "Code block": "Блок кода",
"Math block (LaTeX)": "Математический блок (LaTeX)",
- "Merge cells": "Объединить ячейки",
- "Split cell": "Разделить ячейку",
- "Tip": "Подсказка",
- "Tip notice": "Совет",
- "Warning": "Внимание",
- "Warning notice": "Предупреждение",
- "Success": "Готово",
- "Success notice": "Уведомление об успехе",
+ "Toggle block": "Переключить блок",
+ "Divider": "Разделитель",
+ "Page break": "Разрыв страницы",
"Current date": "Текущая дата",
"Current time": "Текущее время",
"Current date and time": "Текущая дата и время",
- "Indent": "Отступ",
- "Outdent": "Уменьшить отступ",
- "Video": "Видео",
- "None": "Никто",
- "Toggle block": "Переключить блок",
- "Add title": "Добавить заголовок",
- "Add content": "Добавить содержимое",
- "Delete embed": "Удалить вставку",
- "Formatting controls": "Инструменты форматирования",
- "Distribute columns": "Распределить столбцы",
+ "Info notice": "Уведомление с деталями",
+ "Success notice": "Уведомление об успехе",
+ "Warning notice": "Предупреждение",
+ "Tip notice": "Совет",
"Wrap text": "Перенос текста",
+ "Placeholder": "Поле для заполнения",
+ "Bold": "Жирный",
+ "Italic": "Курсив",
+ "Strikethrough": "Зачеркнуть",
+ "Background color": "Цвет фона",
+ "None": "Никто",
+ "Highlight": "Выделение",
+ "Code": "Код",
+ "Heading": "Заголовок",
+ "Subheading": "Подзаголовок",
+ "Merge cells": "Объединить ячейки",
+ "Split cell": "Разделить ячейку",
+ "Outdent": "Уменьшить отступ",
+ "Indent": "Отступ",
+ "Create link": "Создать ссылку",
+ "Comment": "Комментировать",
+ "Align left": "По левому краю",
+ "Align center": "По центру",
+ "Align right": "По правому краю",
+ "Full width": "На всю ширину",
+ "Download image": "Скачать изображение",
+ "Replace image": "Заменить изображение",
+ "Edit image URL": "Редактировать URL изображения",
+ "Default width": "Стандартная ширина",
+ "Distribute columns": "Распределить столбцы",
+ "Delete table": "Удалить таблицу",
+ "Export as CSV": "Экспортировать в CSV",
+ "Sort ascending": "Сортировка по возрастанию",
+ "Sort descending": "Сортировка по убыванию",
+ "Toggle header": "Переключить заголовок",
+ "Insert after": "Вставить после",
+ "Insert before": "Вставить до",
+ "Move left": "Сдвинуть влево",
+ "Move right": "Сдвинуть вправо",
+ "Move up": "Сдвинуть вверх",
+ "Move down": "Сдвинуть вниз",
+ "Rename": "Переименовать",
"Delete Emoji": "Удалить эмодзи",
"Emoji deleted": "Эмодзи удалён",
"I'm sure – Delete": "Я уверен — удалить",
@@ -895,6 +881,8 @@
"Add content to your document, then use headings or dividers to separate it into slides.": "Добавьте содержимое в документ, затем используйте заголовки или разделители для разделения на слайды.",
"Learn more": "Подробнее",
"Backlinks": "Обратные ссылки",
+ "Clear search highlight": "Убрать подсветку поиска",
+ "Warning": "Внимание",
"This document is large which may affect performance": "Этот документ большой и может повлиять на производительность",
"Are you sure about that? Deleting the {{ documentTitle }} document will delete all of its history.": "Вы уверены? Удаление документа {{ documentTitle }} удалит всю его историю.",
"Are you sure about that? Deleting the {{ documentTitle }} document will delete all of its history and {{ any }} nested document._0": "Вы уверены? Удаление документа {{ documentTitle }} удалит всю его историю и {{ any }} вложенный документ.",
@@ -913,8 +901,6 @@
"You’ve not got any drafts at the moment.": "Черновиков пока нет",
"Payment Required": "Требуется оплата",
"No access to this doc": "Нет доступа к этому документу",
- "It doesn’t look like you have permission to access this document.": "Похоже, у вас нет разрешения на доступ к этому документу.",
- "Please request access from the document owner.": "Пожалуйста, запросите доступ у владельца документа.",
"Not found": "Не найдено",
"The page you’re looking for cannot be found. It might have been deleted or the link is incorrect.": "Страница, которую вы ищете, не найдена. Возможно, она была удалена или ссылка неверна.",
"We were unable to load the document while offline.": "Не удалось загрузить документ без сети.",
@@ -964,6 +950,7 @@
"Large header": "Большой заголовок",
"Medium header": "Средний заголовок",
"Small header": "Малый заголовок",
+ "Link": "Ссылка",
"Underline": "Подчеркивание",
"Undo": "Отменить",
"Redo": "Повторить",
@@ -1120,6 +1107,7 @@
"Credentials": "Учетные данные",
"OAuth client ID": "Идентификатор клиента OAuth",
"The public identifier for this app": "Публичный идентификатор для этого приложения",
+ "Copied to clipboard": "Скопировано в буфер",
"OAuth client secret": "Секретный ключ клиента OAuth",
"Store this value securely, do not expose it publicly": "Храните это значение в безопасности, не раскрывайте его публично",
"Where users are redirected after authorizing this app": "Куда перенаправляются пользователи после авторизации этого приложения",
@@ -1166,6 +1154,7 @@
"Created by": "Создал",
"Never": "Никогда",
"Expires": "Истекает",
+ "Preferences saved": "Настройки сохранены",
"Disconnect integration": "Отключить интеграцию",
"Disconnecting": "Отключение",
"Are you sure you want to disconnect the {{ service }} integration?": "Вы уверены, что хотите отключить интеграцию {{ service }}?",
@@ -1353,7 +1342,6 @@
"Unsubscription successful. Your notification settings were updated": "Вы успешно отписались. Ваши настройки уведомлений обновлены",
"Manage when and where you receive email notifications.": "Управляйте, когда и где вы будете получать уведомления на почту.",
"All notifications": "Все уведомления",
- "Preferences saved": "Настройки сохранены",
"Unread count": "Количество непрочитанных",
"Unread indicator": "Индикатор непрочитанного",
"Delete account": "Удалить аккаунт",
@@ -1414,7 +1402,6 @@
"No templates have been created yet": "Шаблоны ещё не созданы.",
"{{ teamName }} is using {{ appName }} to share documents, please login to continue.": "{{ teamName }} использует {{ appName }} для совместной работы с документами. Пожалуйста, войдите, чтобы продолжить.",
"A confirmation code has been sent to your email address, please enter the code below to permanently destroy this workspace.": "Код подтверждения был отправлен на ваш адрес почты. Пожалуйста, введите код ниже, чтобы навсегда удалить это рабочее пространство.",
- "Confirmation code": "Код подтверждения",
"Deleting the <1>{{workspaceName}}1> workspace will destroy all collections, documents, users, and associated data. You will be immediately logged out of {{appName}}.": "Удаление рабочего пространства <1>{{workspaceName}}1> приведет к удалению всех коллекций, документов, пользователей и связанных данных. Вы немедленно выйдете из приложения {{appName}}.",
"Please note that workspaces are completely separated. They can have a different domain, settings, users, and billing.": "Обратите внимание, что рабочие пространства полностью разделены. У них могут быть разные домен, настройки, пользователи и платежные данные.",
"You are creating a new workspace using your current account — {{email}}": "Вы создаете новое рабочее пространство, используя свой текущий аккаунт — {{email}}",
@@ -1775,18 +1762,48 @@
"{{ user }} updated {{ timeAgo }}": "{{ user }} обновил {{ timeAgo }}",
"You created {{ timeAgo }}": "Вы создали {{ timeAgo }}",
"{{ user }} created {{ timeAgo }}": "{{ user }} создал {{ timeAgo }}",
+ "Sorry, an error occurred uploading the file": "К сожалению, при загрузке файла произошла ошибка",
+ "Sorry, that type of link is not supported": "К сожалению, этот тип ссылки не поддерживается",
"Caption": "Подпись",
"Empty diagram": "Пустая диаграмма",
"Double click to edit": "Дважды кликните для редактирования",
"Open": "Открыть",
"Loading": "Загрузка",
"Error loading data": "Не удалось загрузить данные",
- "Publish to web": "Опубликовать в сети",
- "Sharing settings updated": "Настройки общего доступа обновлены",
- "Display settings": "Настройки отображения",
- "Customize how the published document is displayed": "Настройте, как отображается опубликованный документ",
- "Image options": "Параметры изображения",
- "Upload": "Загрузить",
- "Site title": "Название сайта",
- "Clear search highlight": "Убрать подсветку поиска"
+ "Show {{ count }} completed_0": "Показать {{ count }} выполненное",
+ "Show {{ count }} completed_1": "Показать {{ count }} выполненных",
+ "Show {{ count }} completed_2": "Показать {{ count }} выполненных",
+ "Hide completed": "Скрыть завершённое",
+ "Write a caption": "Напишите подпись",
+ "Add title": "Добавить заголовок",
+ "Add content": "Добавить содержимое",
+ "template": "шаблон",
+ "Can view the document": "Может просматривать документ",
+ "Can view and edit the document": "Может просматривать и редактировать документ",
+ "Full access including sharing": "Полный доступ, включая предоставление доступа",
+ "Failed to approve access request": "Не удалось одобрить запрос на доступ",
+ "Access request dismissed": "Запрос на доступ отклонён",
+ "Failed to dismiss access request": "Не удалось отклонить запрос на доступ",
+ "Approve": "Одобрить",
+ "Are you sure you want to permanently delete {{ userName }}? This operation is unrecoverable. Any API keys, webhooks, and integrations they created will stop working — consider suspending the user instead.": "Вы уверены, что хотите окончательно удалить {{ userName }}? Эту операцию нельзя отменить. Все созданные этим пользователем ключи API, веб-хуки и интеграции перестанут работать — возможно, вместо этого стоит заблокировать пользователя.",
+ "was granted access to": "получил доступ к",
+ "requested access to": "запросил доступ к",
+ "is requesting access to": "запрашивает доступ к",
+ "Access request sent": "Запрос на доступ отправлен",
+ "Your request to access this document has been sent. You will be notified once access is granted.": "Ваш запрос на доступ к этому документу отправлен. Вы получите уведомление, когда доступ будет предоставлен.",
+ "It doesn't look like you have permission to access this document. You can request access.": "Похоже, у вас нет прав для доступа к этому документу. Вы можете запросить доступ.",
+ "Access requested": "Доступ запрошен",
+ "Requesting…": "Запрос…",
+ "Request access": "Запросить доступ",
+ "create": "создать",
+ "Full access": "Полный доступ",
+ "Create all data": "Создавать все данные",
+ "Could not load preference": "Не удалось загрузить настройку",
+ "Could not save preference": "Не удалось сохранить настройку",
+ "Open on startup": "Открывать при запуске",
+ "Automatically launch {{ appName }} when you sign in to your computer.": "Автоматически запускать {{ appName }} при входе в систему.",
+ "Uploading {{progress}}%": "Загрузка {{progress}}%",
+ "Document access requested": "Запрошен доступ к документу",
+ "Receive a notification when a user requests access to a document you manage": "Получать уведомления, когда пользователь запрашивает доступ к документу, которым вы управляете",
+ "Webhook delivery over http is insecure, use https if possible": "Доставка веб-хуков по http небезопасна, по возможности используйте https"
}