π Outline Ρ ΡΡΡΡΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ

ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π² Outline ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° Π² Π²Π΅ΡΡΠΈΠΈ 0.71.0 ΠΏΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ.
- ΠΎΠ±ΡΠ°Π· Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Docker Hub ΠΈ GHCR
- Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ Π²Π·ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
- ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ
Warning
ΠΠ΅ΡΠ΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΠΠ―ΠΠΠ’ΠΠΠ¬ΠΠ Π΄Π΅Π»Π°ΠΉΡΠ΅ Π±ΡΠΊΠ°ΠΏ!
Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ image ΡΠΊΠ°ΠΆΠΈΡΠ΅ flameshikari/outline-ru:latest (ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² latest Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠ΅Π³ΠΎΠ²). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
services:
outline:
image: flameshikari/outline-ru:1.5.0
# image: ghcr.io/flameshikari/outline-ru:1.5.0
env_file: ./docker.env
expose:
- 3000
volumes:
- storage-data:/var/lib/outline/data
depends_on:
- postgres
- redis
...- ΡΡΡΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ β translation/ru.json
- Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ β outline/shared/i18n/locales/en_US/translation.json
- Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» β translation/tmp.json (ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ)
Π‘ΠΊΡΠΈΠΏΡ translation/merge.py ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΠΈ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ». Π‘ΠΊΡΠΈΠΏΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²/ΠΎΠΏΡΠΈΠΉ, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ (Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ) ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ
- ΡΠ΄Π°Π»ΡΠ΅Ρ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ
- Π΅ΡΠ»ΠΈ Π² ΡΡΡΡΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ key/value ΠΏΠ°ΡΡ, ΡΠΎ ΠΎΠ½ΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
HTMLΠΈΠ»ΠΈAPI) ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ - Π½ΠΎΠ²ΡΠ΅ Π½Π΅ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ
Π’Π°ΠΊΠΆΠ΅ ΡΠΊΡΠΈΠΏΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Ρ ΡΡΡΡΠΈΠΊΡΠΎΠΌ
_plural(Π°Π½Π³Π». ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ) Π² ΡΡΡΠΎΠΊΠΈ Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΡΡΡΡΠΈΠΊΡΠ°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠ°Π΄Π΅ΠΆΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Π΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:Π‘ΡΡΠΎΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠΌ:
{ // ... "{{ count }} comment_0": "[NOT TRANSLATED]", "{{ count }} comment_1": "[NOT TRANSLATED]", "{{ count }} comment_2": "[NOT TRANSLATED]" // ... }ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°:
{ // ... "{{ count }} comment_0": "{{ count }} ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ", // Π΅Π΄. ΡΠΈΡΠ»ΠΎ, ΠΈΠΌ. ΠΏΠ°Π΄Π΅ΠΆ "{{ count }} comment_1": "{{ count }} ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ", // Π΅Π΄. ΡΠΈΡΠ»ΠΎ, ΡΠΎΠ΄. ΠΏΠ°Π΄Π΅ΠΆ "{{ count }} comment_2": "{{ count }} ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²" // ΠΌΠ½. ΡΠΈΡΠ»ΠΎ, ΡΠΎΠ΄. ΠΏΠ°Π΄Π΅ΠΆ // ... }ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² i18next Ρ JSON-ΡΠΎΡΠΌΠ°ΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ 3
-
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ:
git clone --recurse-submodules git@github.com:flameshikari/outline-ru.git
-
ΠΡΠ»Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠ΅Π³:
git submodule foreach 'git pull --rebase --tags && git checkout v1.5.0' -
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²:
docker compose up -d --build
ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Outline Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅; Π²Ρ ΠΎΠ΄ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ OpenID Connect ΠΏΠΎΠ΄ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ/ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ
outline. -
Π€ΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ translation/merge.py:
python translation/merge.py
ΠΠΎΡΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΡΡΠΎΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» ΡΡΡΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°. ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΡΡΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΡ ΠΎΡΠΊΡΡΡΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄.
{ // ... "{{ count }} comment": "{{ count }} comment", "{{ count }} comment_plural": "{{ count }} comments" // ... }