Skip to content

Commit

Permalink
Merge pull request #9 from flameshikari/dev
Browse files Browse the repository at this point in the history
0.78.0
  • Loading branch information
flameshikari authored Jul 20, 2024
2 parents 42bb87d + 1e8a162 commit 7e43e72
Show file tree
Hide file tree
Showing 9 changed files with 140 additions and 31 deletions.
2 changes: 1 addition & 1 deletion .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

## Примечания

За основу взят перевод из [данного коммита](https://github.com/outline/outline/commit/228d1faa9fd3cbb82409d98e1443fed65adc5715), который впоследствии улучшается и переводится здесь. Перевод наверняка не самый точный; буду рад помощи в его улучшении.
За основу взят перевод из [данного коммита](https://github.com/outline/outline/commit/228d1faa9fd3cbb82409d98e1443fed65adc5715), который впоследствии улучшается и переводится здесь. Буду рад помощи в улучшении перевода или сборки; сообщить о некорректном переводе можно [здесь](https://github.com/flameshikari/outline-ru/discussions/8).

Из доступных архитектур контейнера имеются только `amd64` и `arm64`, потому что мультиплатформерная сборка на GitHub Actions с помощью QEMU очень медленная: остальные архитектуры собираются часами либо вовсе зависают намертво.

Expand Down
15 changes: 10 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,13 @@ on:
push:
branches:
- master
paths:
- .github
- shared
- src
- Dockerfile
workflow_dispatch:


env:
REGISTRY: ghcr.io
Expand Down Expand Up @@ -65,11 +70,11 @@ jobs:
cache-to: type=gha,mode=max
tags:
${{ steps.meta.outputs.tags }}

- name: Create Release
uses: softprops/action-gh-release@v2
with:
name: ${{ env.version }}
tag_name: ${{ env.version }}
body: "[Изменения в ${{ env.version }}](https://github.com/outline/outline/releases/tag/v${{ env.version }})"
name: ${{ env.VERSION }}
tag_name: ${{ env.VERSION }}
body: "[Изменения в ${{ env.VERSION }}](https://github.com/outline/outline/releases/tag/v${{ env.VERSION }})"
token: ${{ secrets.TOKEN }}
33 changes: 33 additions & 0 deletions .github/workflows/dry_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Dry Build

on:
push:
branches:
- dev
paths:
- .github
- shared
- src
- Dockerfile

jobs:
build:
name: Dry Build
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build Image
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64
push: false
cache-from: type=gha
cache-to: type=gha,mode=max
14 changes: 10 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
ARG APP_PATH=/opt/outline

FROM node:20-slim as base
FROM node:20-slim AS base
ARG APP_PATH
WORKDIR $APP_PATH

FROM base AS build
COPY ./src/package.json ./src/yarn.lock ./
COPY ./src/patches ./patches
RUN apt-get update && \
apt-get install -y wget && \
rm -rf /var/lib/apt/lists/*
RUN yarn install --no-optional --frozen-lockfile --network-timeout 1000000 && \
yarn cache clean
COPY src .
COPY shared ./shared
ARG CDN_URL
RUN yarn build
RUN rm -rf node_modules
RUN yarn install --production=true --frozen-lockfile --network-timeout 1000000 && \
yarn cache clean
ENV PORT=3000
HEALTHCHECK CMD wget -qO- http://localhost:${PORT}/_health | grep -q "OK" || exit 1

FROM base AS release
ENV NODE_ENV production
ENV NODE_ENV=production
COPY --from=build $APP_PATH/build ./build
COPY --from=build $APP_PATH/server ./server
COPY --from=build $APP_PATH/public ./public
Expand All @@ -29,11 +35,11 @@ RUN addgroup --gid 1001 nodejs && \
chown -R nodejs:nodejs $APP_PATH/build && \
mkdir -p /var/lib/outline && \
chown -R nodejs:nodejs /var/lib/outline
ENV FILE_STORAGE_LOCAL_ROOT_DIR /var/lib/outline/data
ENV FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data
RUN mkdir -p "$FILE_STORAGE_LOCAL_ROOT_DIR" && \
chown -R nodejs:nodejs "$FILE_STORAGE_LOCAL_ROOT_DIR" && \
chmod 1777 "$FILE_STORAGE_LOCAL_ROOT_DIR"
VOLUME /var/lib/outline/data
USER nodejs
EXPOSE 3000
CMD ["yarn", "start"]
CMD ["yarn", "start"]
14 changes: 11 additions & 3 deletions shared/i18n/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// Note: Updating the available languages? Make sure to also update the
// locales array in shared/utils/date.ts to enable translation for timestamps.
export const languageOptions = [
{
label: "Русский (Russian)",
value: "ru_RU",
},
{
label: "English (US)",
value: "en_US",
Expand Down Expand Up @@ -45,6 +49,10 @@ export const languageOptions = [
label: "Nederland (Dutch, Netherlands)",
value: "nl_NL",
},
{
label: "Norsk Bokmål (Norwegian)",
value: "nb_NO",
},
{
label: "Português (Portuguese, Brazil)",
value: "pt_BR",
Expand All @@ -62,8 +70,8 @@ export const languageOptions = [
value: "fa_IR",
},
{
label: "Русский (Russian)",
value: "ru_RU",
label: "Svenska (Swedish)",
value: "sv_SE",
},
{
label: "Türkçe (Turkish)",
Expand All @@ -79,4 +87,4 @@ export const languageOptions = [
},
];

export const languages: string[] = languageOptions.map((i) => i.value);
export const languages = languageOptions.map((i) => i.value);
75 changes: 58 additions & 17 deletions shared/i18n/locales/ru_RU/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
"Unstar": "Убрать из избранного",
"Delete": "Удалить",
"Delete collection": "Удалить коллекцию",
"New template": "Новый шаблон",
"Delete comment": "Удалить комментарий",
"Copy ID": "Скопировать ID",
"Clear IndexedDB cache": "Очистить кэш IndexedDB",
"IndexedDB cache cleared": "Кэш IndexedDB очищен",
Expand Down Expand Up @@ -60,7 +62,6 @@
"Print document": "Печать документа",
"Import document": "Импорт документа",
"Templatize": "Шаблонизировать",
"New template": "Новый шаблон",
"Create template": "Создать шаблон",
"Open random document": "Открыть случайный документ",
"Search documents for \"{{searchQuery}}\"": "Поиск документов для {{searchQuery}}»",
Expand Down Expand Up @@ -186,8 +187,6 @@
"{{ userName }} created": "{{ userName }} создан",
"You published": "Вы опубликовали",
"{{ userName }} published": "{{ userName }} опубликован",
"You saved": "Вы сохранили",
"{{ userName }} saved": "{{ userName }} сохранен",
"Never viewed": "Не просмотрено",
"Viewed": "Просмотрено",
"in": "в",
Expand All @@ -207,8 +206,6 @@
"Title": "Заголовок",
"Published": "Опубликовано",
"Include nested documents": "Включить вложенные документы",
"Emoji Picker": "Выбор эмодзи",
"Remove": "Удалить",
"Module failed to load": "Произошла ошибка во время загрузки модуля",
"Loading Failed": "Ошибка загрузки",
"Sorry, part of the application failed to load. This may be because it was updated since you opened the tab or because of a failed network request. Please try reloading.": "К сожалению, части приложения не удалось загрузиться. Это могло произойти из-за того, что страница обновилась с тех пор, как была открыта или из-за проблем в отправке сетевого запроса. Пожалуйста, попробуйте перезагрузить страницу.",
Expand Down Expand Up @@ -245,10 +242,11 @@
"{{authorName}} created <3></3>": "{{authorName}} создал <3></3>",
"{{authorName}} opened <3></3>": "{{authorName}} открыл <3></3>",
"Show menu": "Показать меню",
"Choose an icon": "Выберите значок",
"Filter": "Фильтр",
"Loading": "Загрузка",
"Remove": "Удалить",
"All": "Все",
"Search Results": "Результаты поиска",
"Select a color": "Выберите цвет",
"Loading": "Загрузка",
"Search": "Поиск",
"Permission": "Право доступа",
"View only": "Только просмотр",
Expand Down Expand Up @@ -454,7 +452,6 @@
"Sort in sidebar": "Сортировка в боковой панели",
"Alphabetical sort": "Сортировка по алфавиту",
"Manual sort": "Ручная сортировка",
"Delete comment": "Удалить комментарий",
"Comment options": "Настройки комментариев",
"Document restored": "Документ восстановлен",
"Document options": "Параметры документа",
Expand All @@ -466,8 +463,8 @@
"Delete group": "Удалить группу",
"Group options": "Параметры группы",
"Member options": "Параметры участников",
"New child document": "Новый вложенный документ",
"New document in <em>{{ collectionName }}</em>": "Новый документ в <em>{{ collectionName }}</em>",
"New child document": "Новый вложенный документ",
"Notification settings": "Настройки уведомлений",
"Revision options": "Настройка версии",
"Share link revoked": "Ссылка общего доступа отозвана",
Expand Down Expand Up @@ -495,7 +492,6 @@
"left a comment on": "оставил комментарий в",
"shared": "поделенный",
"invited you to": "пригласил Вас в",
"API Key created": "Ключ API создан",
"Name your key something that will help you to remember it's use in the future, for example \"local development\" or \"continuous integration\".": "Назовите свой ключ так, чтобы не забыть о его предназначении в будущем. Например. «локальная разработка» или «непрерывная интеграция».",
"The document archive is empty at the moment.": "Архив документов на данный момент пуст.",
"Collection menu": "Меню коллекции",
Expand Down Expand Up @@ -755,11 +751,7 @@
"We were unable to find the page you’re looking for.": "Нам не удалось найти нужную вам страницу.",
"Search titles only": "Искать только в названиях",
"No documents found for your search filters.": "Не найдено документов по вашим фильтрам поиска.",
"Search Results": "Результаты поиска",
"API Keys": "Ключи API",
"Create personal API keys to authenticate with the API and programatically control\n your workspace's data. API keys have the same permissions as your user account.\n For more details see the <em>developer documentation</em>.": "Создавайте ключи API для аутентификации с помощью API и программируемого управления\n данными Вашего рабочего пространства. Ключи API имеют те же разрешения, что и Ваш аккаунт пользователя.\n Более подробную информацию смотрите в <em>документации разработчика</em>.",
"Active": "Активный",
"API token copied to clipboard": "Токен API скопирован в буфер обмена",
"Copied": "Скопировано",
"Revoking": "Отзыв",
"Are you sure you want to revoke the {{ tokenName }} token?": "Вы уверены, что хотите отозвать токен {{ tokenName }}?",
Expand Down Expand Up @@ -808,6 +800,7 @@
"Admins": "Администраторы",
"Editors": "Редакторы",
"All status": "Все статусы",
"Active": "Активный",
"Settings saved": "Настройки сохранены",
"Logo updated": "Логотип обновлен",
"Unable to upload new logo": "Не удалось загрузить новый логотип",
Expand Down Expand Up @@ -842,7 +835,6 @@
"New group": "Новая группа",
"Groups can be used to organize and manage the people on your team.": "Группы могут быть использованы для организации и управления людьми в Вашей команде.",
"No groups have been created yet": "Пока что не создано ни одной группы",
"All": "Все",
"Create a group": "Создать группу",
"Quickly transfer your existing documents, pages, and files from other tools and services into {{appName}}. You can also drag and drop any HTML, Markdown, and text documents directly into Collections in the app.": "Быстро переносите существующие документы, страницы и файлы из других инструментов и сервисов в {{appName}}. Вы также можете перетаскивать любые документы HTML, Markdown и текстовые документы непосредственно в Коллекции в приложении.",
"Import a zip file of Markdown documents (exported from version 0.67.0 or earlier)": "Импорт ZIP-архива или документов Markdown (экспортированный из 0.67.0 или более ранней версии)",
Expand All @@ -853,6 +845,7 @@
"Enterprise": "Корпоративная версия",
"Recent imports": "Недавно импортированное",
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Здесь перечислены все, кто вошел в {{appName}}. Возможно, есть другие пользователи, у которых есть доступ через {{signinMethods}}, но они еще не вошли в систему.",
"Filter": "Фильтр",
"Receive a notification whenever a new document is published": "Получать уведомление каждый раз, когда опубликован новый документ",
"Document updated": "Документ обновлен",
"Receive a notification when a document you are subscribed to is edited": "Получать уведомление, когда документ, на который Вы подписаны, был отредактирован",
Expand Down Expand Up @@ -1023,5 +1016,53 @@
"{{ user }} updated {{ timeAgo }}": "{{ user }} обновлен {{ timeAgo }}",
"You created {{ timeAgo }}": "Вы создали {{ timeAgo }}",
"{{ user }} created {{ timeAgo }}": "{{ user }} создан {{ timeAgo }}",
"Uploading": "Идёт загрузка"
"Uploading": "Идёт загрузка",
"Mark as resolved": "Отметить как решённое",
"Thread resolved": "Обсуждение решено",
"Mark as unresolved": "Отметить как нерешённое",
"Search emoji": "Поиск эмодзи",
"Search icons": "Поиск иконок",
"Choose default skin tone": "Выберите цвет кожи по умолчанию",
"Icon Picker": "Выбор иконок",
"Icons": "Иконки",
"Emojis": "Эмодзи",
"Frequently Used": "Часто используемые",
"Smileys & People": "Смайлики и люди",
"Animals & Nature": "Животные и природа",
"Food & Drink": "Еда и напитки",
"Activity": "Активность",
"Travel & Places": "Путешествия и места",
"Objects": "Объекты",
"Symbols": "Символы",
"Flags": "Флаги",
"Suggestions for invitation": "Предложения по приглашению",
"Choose a date": "Выбрать дату",
"API key created": "Ключ API создан",
"Expiration": "Срок действия",
"Never expires": "Никогда не истекает",
"7 days": "7 дней",
"30 days": "30 дней",
"60 days": "60 дней",
"90 days": "90 дней",
"Custom": "Пользовательский",
"No expiration": "Нет срока истечения",
"Resolved comments": "Решённые комментарии",
"View comments": "Посмотреть комментарии",
"View resolved comments": "Посмотреть решённые комментарии",
"No resolved comments": "Нет решённых комментариев",
"available when headings are added": "доступно при добавлении заголовков",
"Collaboration": "Коллаборация",
"API key copied to clipboard": "Ключ API скопирован в буфер обмена",
"Personal keys": "Персональные ключи",
"Last used": "Последний раз использован",
"No expiry": "Нет срока истечения",
"Table of contents position": "Позиция оглавления",
"The side to display the table of contents in relation to the main content.": "Сторона для отображения оглавления относительно основного контента.",
"Left": "Слева",
"Right": "Справа",
"Expired yesterday": "Истёк вчера",
"Expired {{ date }}": "Истёк {{ date }}",
"Expires today": "Истёк сегодня",
"Expires tomorrow": "Истечёт завтра",
"Expires {{ date }}": "Истечёт {{ date }}"
}
4 changes: 4 additions & 0 deletions shared/utils/date.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,13 @@ import {
it,
ja,
ko,
nb,
nl,
ptBR,
pt,
pl,
ru,
sv,
tr,
vi,
uk,
Expand Down Expand Up @@ -169,11 +171,13 @@ const locales = {
it_IT: it,
ja_JP: ja,
ko_KR: ko,
nb_NO: nb,
nl_NL: nl,
pt_BR: ptBR,
pt_PT: pt,
pl_PL: pl,
ru_RU: ru,
sv_SE: sv,
tr_TR: tr,
uk_UA: uk,
vi_VN: vi,
Expand Down
2 changes: 1 addition & 1 deletion src
Submodule src updated 328 files
12 changes: 12 additions & 0 deletions utils/insert_ru_entries.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

CWD="$(cd "$(dirname "${BASH_SOURCE[0]}")"/.. && pwd)"

cat $CWD/src/shared/utils/date.ts | \
sed '/^ pl,/a\ \ ru,' | \
sed '/^ pl_PL: pl,/a\ \ ru_RU: ru,' \
> $CWD/shared/utils/date.ts

cat $CWD/src/shared/i18n/index.ts | \
sed '/^export const languageOptions = \[/a\ \ {\n label: "Русский (Russian)",\n value: "ru_RU",\n },' \
> $CWD/shared/i18n/index.ts

0 comments on commit 7e43e72

Please sign in to comment.