https://github.com/flameshikari/outline-ru
π Outline Ρ ΡΡΡΡΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ
https://github.com/flameshikari/outline-ru
docker outline outline-wiki russian translation wiki
Last synced: 5 months ago
JSON representation
π Outline Ρ ΡΡΡΡΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ
- Host: GitHub
- URL: https://github.com/flameshikari/outline-ru
- Owner: flameshikari
- License: other
- Created: 2024-02-28T15:27:39.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2026-01-21T10:54:49.000Z (5 months ago)
- Last Synced: 2026-01-21T22:06:56.299Z (5 months ago)
- Topics: docker, outline, outline-wiki, russian, translation, wiki
- Language: Python
- Homepage: https://hub.docker.com/r/flameshikari/outline-ru
- Size: 188 KB
- Stars: 102
- Watchers: 6
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π [Outline](https://github.com/outline/outline) Ρ ΡΡΡΡΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ [](https://github.com/flameshikari/outline-ru/actions) [](https://github.com/flameshikari/outline-ru/releases/latest)
## β ΠΠ°ΡΠ΅ΠΌ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π² [Outline](https://github.com/outline/outline) ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° Π² Π²Π΅ΡΡΠΈΠΈ [0.71.0](https://github.com/outline/outline/releases/tag/v0.71.0) ΠΏΠΎ [Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ](https://github.com/outline/outline/discussions/5706).
## π ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
- ΠΎΠ±ΡΠ°Π· Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² [Docker Hub](https://hub.docker.com/r/flameshikari/outline-ru/tags) ΠΈ [GHCR](https://github.com/flameshikari/outline-ru/pkgs/container/outline-ru)
- Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ Π²Π·ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΈΠ· [ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°](https://github.com/outline/outline/commit/228d1faa9fd3cbb82409d98e1443fed65adc5715)
- ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ [ΡΡΡ](https://github.com/flameshikari/outline-ru/discussions/8)
## π³ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
> [!WARNING]
> ΠΠ΅ΡΠ΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ **ΠΠΠ―ΠΠΠ’ΠΠΠ¬ΠΠ** Π΄Π΅Π»Π°ΠΉΡΠ΅ [Π±ΡΠΊΠ°ΠΏ](https://docs.getoutline.com/s/hosting/doc/backups-KZtPOADCHG)!
Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ [ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ](https://docs.getoutline.com/s/hosting/doc/docker-7pfeLP5a8t), ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ `image` ΡΠΊΠ°ΠΆΠΈΡΠ΅ `flameshikari/outline-ru:latest` (ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² `latest` Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· [Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠ΅Π³ΠΎΠ²](https://github.com/flameshikari/outline-ru/tags)). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
```yaml
services:
outline:
image: flameshikari/outline-ru:1.4.0
# image: ghcr.io/flameshikari/outline-ru:1.4.0
env_file: ./docker.env
expose:
- 3000
volumes:
- storage-data:/var/lib/outline/data
depends_on:
- postgres
- redis
...
```
## π οΈ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
### ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
- ΡΡΡΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ β [translation/ru.json](./translation/ru.json)
- Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ β [outline/shared/i18n/locales/en_US/translation.json](https://github.com/outline/outline/blob/main/shared/i18n/locales/en_US/translation.json)
- Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» β [translation/tmp.json]() (ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ)
### ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°
Π‘ΠΊΡΠΈΠΏΡ [translation/merge.py](./translation/merge.py) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΠΈ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ». Π‘ΠΊΡΠΈΠΏΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²/ΠΎΠΏΡΠΈΠΉ, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ (Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ) ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ
- ΡΠ΄Π°Π»ΡΠ΅Ρ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ
- Π΅ΡΠ»ΠΈ Π² ΡΡΡΡΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ key/value ΠΏΠ°ΡΡ, ΡΠΎ ΠΎΠ½ΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `HTML` ΠΈΠ»ΠΈ `API`) ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ
- Π½ΠΎΠ²ΡΠ΅ Π½Π΅ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ
> Π’Π°ΠΊΠΆΠ΅ ΡΠΊΡΠΈΠΏΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Ρ ΡΡΡΡΠΈΠΊΡΠΎΠΌ `_plural` (Π°Π½Π³Π». ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ) Π² ΡΡΡΠΎΠΊΠΈ Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΡΡΡΡΠΈΠΊΡΠ°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠ°Π΄Π΅ΠΆΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Π΅ΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
>
> ```jsonc
> {
> // ...
> "{{ count }} comment": "{{ count }} comment",
> "{{ count }} comment_plural": "{{ count }} comments"
> // ...
> }
> ```
> Π‘ΡΡΠΎΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠΌ:
> ```jsonc
> {
> // ...
> "{{ count }} comment_0": "[NOT TRANSLATED]",
> "{{ count }} comment_1": "[NOT TRANSLATED]",
> "{{ count }} comment_2": "[NOT TRANSLATED]"
> // ...
> }
> ```
> ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°:
> ```jsonc
> {
> // ...
> "{{ count }} comment_0": "{{ count }} ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ", // Π΅Π΄. ΡΠΈΡΠ»ΠΎ, ΠΈΠΌ. ΠΏΠ°Π΄Π΅ΠΆ
> "{{ count }} comment_1": "{{ count }} ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ", // Π΅Π΄. ΡΠΈΡΠ»ΠΎ, ΡΠΎΠ΄. ΠΏΠ°Π΄Π΅ΠΆ
> "{{ count }} comment_2": "{{ count }} ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²" // ΠΌΠ½. ΡΠΈΡΠ»ΠΎ, ΡΠΎΠ΄. ΠΏΠ°Π΄Π΅ΠΆ
> // ...
> }
> ```
> ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: [ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ](https://www.i18next.com/translation-function/plurals#languages-with-multiple-plurals) Π² [i18next](https://www.i18next.com) Ρ [JSON-ΡΠΎΡΠΌΠ°ΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ 3](https://www.i18next.com/misc/json-format#i18next-json-v3)
### ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
1. ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ:
```sh
git clone --recurse-submodules git@github.com:flameshikari/outline-ru.git
```
2. ΠΡΠ»Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠ΅Π³:
```sh
git submodule foreach 'git pull --rebase --tags && git checkout v1.4.0'
```
3. ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²:
```sh
docker compose up -d --build
```
ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Outline Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ [ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅](http://localhost:10240); Π²Ρ
ΠΎΠ΄ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ OpenID Connect ΠΏΠΎΠ΄ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ/ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ `outline`.
4. Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ [translation/merge.py](./translation/merge.py):
```sh
python translation/merge.py
```
ΠΠΎΡΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΡΡΠΎΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» ΡΡΡΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°. ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΡΡΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΡ [ΠΎΡΠΊΡΡΡΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ](http://localhost:10240) ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄.