diff --git a/Dockerfile b/Dockerfile index 17be08b..66bb368 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ARG APP_PATH=/opt/outline ARG SRC_PATH=./outline -FROM node:24.16.0 AS build +FROM node:26.3.0 AS build ARG CDN_URL ARG APP_PATH ARG SRC_PATH @@ -9,6 +9,7 @@ WORKDIR $APP_PATH COPY ${SRC_PATH}/package.json ${SRC_PATH}/yarn.lock ${SRC_PATH}/.yarnrc.yml ./ COPY ${SRC_PATH}/patches ./patches ENV NODE_OPTIONS='--max-old-space-size=24000' +RUN npm install -g corepack RUN corepack enable && \ yarn install --immutable --network-timeout 1000000 && \ yarn cache clean @@ -19,7 +20,7 @@ COPY ./translation/ru.json ./shared/i18n/locales/ru_RU/translation.json RUN yarn build && \ yarn workspaces focus --production -FROM node:24.16.0-slim AS release +FROM node:26.3.0-slim AS release RUN apt-get update && \ apt-get install -y curl && \ rm -rf /var/lib/apt/lists/* diff --git a/Dockerfile.dev b/Dockerfile.dev index 60476d6..f9d54f4 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,7 +1,7 @@ ARG APP_PATH=/opt/outline ARG SRC_PATH=./outline -FROM node:24.16.0 +FROM node:26.3.0 ARG APP_PATH ARG SRC_PATH ARG CDN_URL @@ -9,6 +9,7 @@ WORKDIR $APP_PATH COPY ${SRC_PATH}/package.json ${SRC_PATH}/yarn.lock ${SRC_PATH}/.yarnrc.yml ./ COPY ${SRC_PATH}/patches ./patches ENV NODE_OPTIONS='--max-old-space-size=24000' +RUN npm install -g corepack RUN corepack enable && \ yarn install --immutable --network-timeout 1000000 && \ yarn cache clean diff --git a/README.md b/README.md index b106c1a..43a0564 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,8 @@ ```yaml services: outline: - image: flameshikari/outline-ru:1.9.0 - # image: ghcr.io/flameshikari/outline-ru:1.9.0 + image: flameshikari/outline-ru:1.9.1 + # image: ghcr.io/flameshikari/outline-ru:1.9.1 env_file: ./docker.env expose: - 3000 @@ -93,7 +93,7 @@ services: 2. Пулл изменений в подмодуле и переключение на последний доступный тег: ```sh - git submodule foreach 'git pull --rebase --tags && git checkout v1.9.0' + git submodule foreach 'git pull --rebase --tags && git checkout v1.9.1' ``` 3. Запуск контейнеров: diff --git a/outline b/outline index f0f935e..8170639 160000 --- a/outline +++ b/outline @@ -1 +1 @@ -Subproject commit f0f935e38e8ceb396580fb0222a31b208fb0d269 +Subproject commit 8170639085963919945138328bc4d199b11fd781 diff --git a/translation/merge.py b/translation/merge.py index a16d6c8..9c5b9ac 100755 --- a/translation/merge.py +++ b/translation/merge.py @@ -29,23 +29,10 @@ with open(ru_json_path) as target: for key, value in en_json.items(): - # skip x_plural strings - if key.endswith('_plural'): - continue - # keep translated strings - elif key in ru_json.keys(): + if key in ru_json.keys(): translated_lines[key] = ru_json[key] - # process plurals - elif key in en_json.keys() and f'{key}_plural' in en_json.keys(): - for i in range(0, 3): - plural = f'{key}_{i}' - if plural in ru_json.keys(): - translated_lines[plural] = ru_json[plural] - else: - untranslated_lines[plural] = placeholder - else: untranslated_lines[key] = placeholder diff --git a/translation/ru.json b/translation/ru.json index fc74144..f9b8ece 100644 --- a/translation/ru.json +++ b/translation/ru.json @@ -188,6 +188,7 @@ "Collection": "Коллекция", "Collections": "Коллекции", "Debug": "Отладка", + "Date": "Дата", "Document": "Документ", "Search results": "Результаты поиска", "Documents": "Документы", @@ -467,6 +468,7 @@ "Site title": "Название сайта", "Show last modified": "Показать последний изменённый", "Display the last modified timestamp on the shared page": "Показывать метки времени последнего изменения на общей странице", + "More information": "Больше информации", "Show table of contents": "Показать оглавление", "Display the table of contents on documents by default": "Показывать оглавление в документах по умолчанию", "Behavior": "Действие", @@ -579,6 +581,7 @@ "Replacement": "Замена", "Replace": "Заменить", "Replace all": "Заменить все", + "Options": "Параметры", "Go to link": "Перейти по ссылке", "Open link": "Открыть ссылку", "Remove link": "Удалить ссылку", @@ -602,6 +605,7 @@ "Sorry, that link won’t work for this embed type": "К сожалению, эта ссылка не работает для такого типа встраивания", "Upload file": "Загрузить файл", "Paste a {{service}} link…": "Вставить ссылку {{service}}…", + "Suggestions": "Предложения", "More options": "Больше параметров", "Type '/' to insert": "Наберите '/' для вставки", "Keep typing to filter": "Продолжайте печатать для фильтрации", @@ -627,6 +631,10 @@ "Page break": "Разрыв страницы", "Current date": "Текущая дата", "Toggle block": "Переключить блок", + "Big toggle heading": "Большой переключатель заголовка", + "Medium toggle heading": "Средний переключатель заголовка", + "Small toggle heading": "Маленький переключатель заголовка", + "Extra small toggle heading": "Очень маленький переключатель заголовка", "Info notice": "Уведомление с деталями", "Success notice": "Уведомление об успехе", "Warning notice": "Предупреждение", @@ -659,8 +667,11 @@ "Distribute columns": "Распределить столбцы", "Export as CSV": "Экспортировать в CSV", "Delete table": "Удалить таблицу", + "Align": "Выравнять", + "Sort": "Сортировать", "Sort ascending": "Сортировка по возрастанию", "Sort descending": "Сортировка по убыванию", + "Background": "Фон", "Toggle header": "Переключить заголовок", "Insert after": "Вставить после", "Insert before": "Вставить до", @@ -1027,6 +1038,8 @@ "Signing in": "Вход", "You can safely close this window once the Outline desktop app has opened": "Вы можете безопасно закрыть это окно после открытия настольного приложения Outline", "Choose workspace": "Выбрать рабочее пространство", + "Enter the address of an Outline workspace to connect": "Введите адрес рабочего пространства Outline для подключения.", + "This doesn’t appear to be a valid installation": "Похоже, это некорректная установка.", "Choose a workspace": "Выберите рабочее пространство", "Choose an {{ appName }} workspace or login to continue connecting this app": "Выберите рабочее пространство {{ appName }} или войдите для подключения этого приложения", "Create workspace": "Создать рабочее пространство", @@ -1413,6 +1426,7 @@ "When enabled, users can delete their own account from the workspace": "Разрешить пользователям удалять свою учетную запись из рабочего пространства.", "Email address visibility": "Видимость почты", "Controls who can see user email addresses in the workspace": "Определяет, кто может видеть почту пользователя в рабочем пространстве", + "Controls who can add comments to documents": "Определяет, кто может добавлять комментарии к документам", "Collection creation": "Создание коллекции", "Allow editors to create new collections within the workspace": "Разрешить редакторам создавать новые коллекции в рабочем пространстве.", "Workspace creation": "Создание рабочего пространства", @@ -1803,22 +1817,12 @@ "Write a caption": "Напишите подпись", "Add title": "Добавить заголовок", "Add content": "Добавить содержимое", - "Date": "Дата", - "More information": "Больше информации", - "Options": "Параметры", - "Suggestions": "Предложения", - "Big toggle heading": "Большой переключатель заголовка", - "Medium toggle heading": "Средний переключатель заголовка", - "Small toggle heading": "Маленький переключатель заголовка", - "Extra small toggle heading": "Очень маленький переключатель заголовка", - "Align": "Выравнять", - "Sort": "Сортировать", - "Background": "Фон", - "Enter the address of an Outline workspace to connect": "Введите адрес рабочего пространства Outline для подключения.", - "This doesn’t appear to be a valid installation": "Похоже, это некорректная установка.", - "{{ count }} member_0": "{{ count }} участник", - "{{ count }} member_1": "{{ count }} участника", - "{{ count }} member_2": "{{ count }} участников", - "Controls who can add comments to documents": "Определяет, кто может добавлять комментарии к документам", - "Tomorrow": "Завтра" + "Tomorrow": "Завтра", + "View comment thread": "Посмотреть ветку комментария", + "Show comment marker": "Показать маркер комментария", + "Display a marker beside lines in the editor that contain comments.": "Отображать маркер рядом со строками в редакторе, содержащими комментарии.", + "Import a zip file of Markdown documents exported from Slab – collections, posts, and images will be imported. In Slab, open the admin settings and use the <1>Export option to download an archive of your content.": "Импортируйте ZIP-архив документов Markdown, экспортированных из Slab — будут импортированы коллекции, записи и изображения. В Slab откройте настройки администратора и используйте опцию <1>Export, чтобы загрузить архив вашего контента.", + "Drag and drop the zip file exported from Slab, or click to upload": "Перетащите ZIP-архив, экспортированный из Slab, или нажмите кнопку загрузки", + "Import a zip file of Markdown documents exported from Slab": "Импортируйте ZIP-архив документов Markdown, экспортированных из Slab", + "Click to copy": "Скопировать" }