Add Russian documentation translation (#365)

* Translate config.md to russian

* Translate docs/import_ru.md to russian

* Translate docs/key-binding.md to russian

* Translate docs/list_ru.md to russian

* Correct misprint in config_ru.md

* Translate docs/search.md to russian

* Translate docs/server_ru.md to russian

* Translate docs/shell-completions.md to russian

* Translate docs/stats.md to russian

* Translate docs/sync.md to russian

* Add .idea/ to .gitignore

* Translated files are placed in a separate folder

* Correct misprint (~~истоии~~ => истории). Correct links between files

Co-authored-by: BigProject404 <bigproject404@yandex.ru>
This commit is contained in:
mb6ockatf 2022-04-30 23:51:50 +03:00 committed by GitHub
parent 40efdd11ce
commit 6e280e253a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 542 additions and 2 deletions

2
.gitignore vendored
View File

@ -1,6 +1,4 @@
/target
*/target
.env
# JetBrains IDEs
.idea/

146
docs/ru/config_ru.md Normal file
View File

@ -0,0 +1,146 @@
# Конфигурация
Autin использует два файла конфигурации. Они хранятся в `~/.config/atuin/`. Данные
хранятся в `~/.local/share/atuin` (если не определено другое в XDG\_\*).
Путь до катклога конфигурации может быть изменён установкой
параметра `ATUIN_CONFIG_DIR`. Например
```
export ATUIN_CONFIG_DIR = /home/ellie/.atuin
```
## Пользовательская конфигурация
```
~/.config/atuin/config.toml
```
Этот файл используется когда клиент работает на локальной машине (не сервере).
See [config.toml](../atuin-client/config.toml) for an example
### `dialect`
Этот параметр контролирует как [stats](stats.md) команда обрабатывает данные.
Может принимать одно из двух допустимых значений:
```
dialect = "uk"
```
или
```
dialect = "us"
```
По умолчанию - "us".
### `auto_sync`
Синхронизироваться ли автоматически если выполнен вход. По умолчанию - да (true)
```
auto_sync = true/false
```
### `sync_address`
Адрес сервера для синхронизации. По умолчанию `https://api.atuin.sh`.
```
sync_address = "https://api.atuin.sh"
```
### `sync_frequency`
Как часто клиент синхронизируется с сервером. Может быть указано в
понятном для человека формате. Например, `10s`, `20m`, `1h`, и т.д.
По умолчанию `1h`
Если стоит значение 0, Autin будет синхронизироваться после каждой выполненной команды.
Помните, что сервера могут иметь ограничение на количество отправленных запросов.
```
sync_frequency = "1h"
```
### `db_path`
Путь до базы данных SQlite. По умолчанию это
`~/.local/share/atuin/history.db`.
```
db_path = "~/.history.db"
```
### `key_path`
Путь до ключа шифрования Autin. По умолчанию,
`~/.local/share/atuin/key`.
```
key = "~/.atuin-key"
```
### `session_path`
Путь до серверного файла сессии Autin. По умолчанию,
`~/.local/share/atuin/session`. На самом деле это просто API токен.
```
key = "~/.atuin-session"
```
### `search_mode`
Определяет, какой режим поиска будет использоваться. Autin поддерживает "prefix",
текст целиком (fulltext) и неточный ("fuzzy") поиск. Режим "prefix" производит
поиск по "запрос\*", "fulltext" по "\*запрос\*", и "fuzzy" использует
[вот такой](#fuzzy-search-syntax) синтаксис.
По умолчанию стоит значение "prefix"
### `filter_mode`
Фильтр, по-умолчанию использующийся для поиска
| Столбец 1 | Столбец 2 |
|------------------|----------------------------------------------------------|
| global (default) | Искать историю команд со всех хостов, сессий и каталогов |
| host | Искать историю команд с этого хоста |
| session | Искать историю команд этой сессии |
| directory | Искать историю команд, выполненных в текущей папке |
Режимы поиска могут быть изменены через ctrl-r
```
search_mode = "fulltext"
```
#### fuzzy search syntax
Режим поиска "fuzzy" основан на
[fzf search syntax](https://github.com/junegunn/fzf#search-syntax).
| Токен | Тип совпадений | Описание |
|-----------|----------------------------|-------------------------------------|
| `sbtrkt` | fuzzy-match | Всё, что совпадает с `sbtrkt` |
| `'wild` | exact-match (В кавычках) | Всё, что включает в себя `wild` |
| `^music` | prefix-exact-match | Всё, что начинается с `music` |
| `.mp3$` | suffix-exact-match | Всё, что заканчивается на `.mp3` |
| `!fire` | inverse-exact-match | Всё, что не включает в себя `fire` |
| `!^music` | inverse-prefix-exact-match | Всё, что не начинается с `music` |
| `!.mp3$` | inverse-suffix-exact-match | Всё, что не заканчивается на `.mp3` |
Знак вертикальной черты означает логическое ИЛИ. Например, запрос ниже вернет
всё, что начинается с `core` и заканчивается либо на `go`, либо на `rb`, либо на `py`.
```
^core go$ | rb$ | py$
```
## Серверная конфигурация
`// TODO`

27
docs/ru/import_ru.md Normal file
View File

@ -0,0 +1,27 @@
# `atuin import`
Autin может импортировать историю из "старого" файла истории
`atuin import auto` предпринимает попытку определить тип командного интерфейса
(через \$SHELL) и запускает нужный скрипт импорта.
К сожалению, эти файлы содержат не так много информации, как Autin, так что не
все функции будут доступны с импортированными данными.
# zsh
```
atuin import zsh
```
Если у вас есть HISTFILE, то эта команда должна сработать. Иначе, попробуйте
```
HISTFILE=/path/to/history/file atuin import zsh
```
Этот параметр поддерживает как и упрощённый, так и полный формат.
# bash
TODO

39
docs/ru/key-binding_ru.md Normal file
View File

@ -0,0 +1,39 @@
# Key binding
По умолчанию, Autin будет переназначать <kbd>Ctrl-r</kbd> и клавишу 'стрелка вверх'.
Если вы не хотите этого, установите параметр ATUIN_NOBIND прежде чем вызывать `atuin init`
Например,
```
export ATUIN_NOBIND="true"
eval "$(atuin init zsh)"
```
Таким образом вы можете разрешить переназначение клавиш Autin, если это необходимо.
Делайте это до инициализирующего вызова.
# zsh
Autin устанавливает виджет ZLE "\_atuin_search_widget"
```
export ATUIN_NOBIND="true"
eval "$(atuin init zsh)"
bindkey '^r' _atuin_search_widget
# зависит от режима терминала
bindkey '^[[A' _atuin_search_widget
bindkey '^[OA' _atuin_search_widget
```
# bash
```
export ATUIN_NOBIND="true"
eval "$(atuin init bash)"
# Переопределите ctrl-r, и любые другие сочетания горячих клавиш тут
bind -x '"\C-r": __atuin_history'
```

11
docs/ru/list_ru.md Normal file
View File

@ -0,0 +1,11 @@
# Вывад истории на экран
```
atuin history list
```
| Аргумент | Описание |
|----------------|--------------------------------------------------------------------------------|
| `--cwd/-c` | Каталог, историю команд которой необходимо вывести (по умолчанию все каталоги) |
| `--session/-s` | Выводит историю команд только текущей сессии (по умолчанию false) |
| `--human/-h` | Читаемый формат для времени и периодов времени (по умолчанию false) |

39
docs/ru/search_ru.md Normal file
View File

@ -0,0 +1,39 @@
# `atuin search`
```
atuin search <query>
```
Поиск в Atuin также поддерживает wildcards со знаками `*` или `%`.
По умолчанию, должен быть указан префикс (т.е. все запросы автоматически дополняются wildcard -ами)
| Аргумент | Описание |
|--------------------|---------------------------------------------------------------------------------------------|
| `--cwd/-c` | Каталог, для которого отображается история (по умолчанию, все каталоги)) |
| `--exclude-cwd` | Исключить команды которые запускались в этом каталоге (по умолчанию none) |
| `--exit/-e` | Фильтровать по exit code (по умолчанию none) |
| `--exclude-exit` | Исключить команды, которые завершились с указанным значением (по умолчанию none) |
| `--before` | Включить только команды, которые были запущены до указанного времени (по умолчанию none) |
| `--after` | Включить только команды, которые были запущены после указанного времени (по умолчанию none) |
| `--interactive/-i` | Открыть интерактивный поисковой графический интерфейс (по умолчанию false) |
| `--human/-h` | Использовать читаемое формавтирование для времени и периодов времени (по умолчанию false) |
## Примеры
```
# Начать интерактивный поиск с текстовым пользовательским интерфейсом
atuin search -i
# Начать интерактивный поиск с текстовым пользовательским интерфейсом и уже введённым запросом
atuin search -i atuin
# Искать по всем командам, начиная с cargo, которые успешно завершились
atuin search --exit 0 cargo
# Искать по всем командам которые завершились ошибками и были вызваны в текущей папке и были запущены до первого апреля 2021
atuin search --exclude-exit 0 --before 01/04/2021 --cwd .
# Искать по всем командам, начиная с cargo, которые успешно завершились и были запущены после трёх часо дня вчера
atuin search --exit 0 --after "yesterday 3pm" cargo
```

160
docs/ru/server_ru.md Normal file
View File

@ -0,0 +1,160 @@
# `atuin server`
Autin позволяет запустить свой собственный сервер синхронизации, если вы
не хотите использовать мой :)
Здесь есть только одна субкоманда, `atuin server start`, которая запустит
Autin http-сервер синхронизации
```
USAGE:
atuin server start [OPTIONS]
FLAGS:
--help Prints help information
-V, --version Prints version information
OPTIONS:
-h, --host <host>
-p, --port <port>
```
## config
Серверная конфигурация лежит отдельно от файла пользовательсокй, даже если
это один и тот же бинарный файл. Серверная конфигурация лежит в `~/.config/atuin/server.toml`.
Этот файл выглядит как-то так:
```toml
host = "0.0.0.0"
port = 8888
open_registration = true
db_uri="postgres://user:password@hostname/database"
```
Конфигурация так же может находииться в переменных окружения.
```sh
ATUIN_HOST="0.0.0.0"
ATUIN_PORT=8888
ATUIN_OPEN_REGISTRATION=true
ATUIN_DB_URI="postgres://user:password@hostname/database"
```
### host
Адрес хоста, который будет прослушиваться сервером Autin
По умолчанию это `127.0.0.1`.
### post
POST, который будет прослушиваться сервером Autin.
По умолчанию это `8888`.
### open_registration
Если `true`, autin будет разрешать регистрацию новых пользователей.
Установите флаг `false`, если после создания вашего аккаута вы не хотите, чтобы другие
могли пользоваться вашим сервером.
По умолчанию `false`.
### db_uri
Действующий URI postgres, где будет сохранён аккаунт пользователя и история.
## Docker
Поддерживается образ Docker чтобы сделать проще развертывание сервера в контейнере.
```sh
docker run -d -v "$USER/.config/atuin:/config" ghcr.io/ellie/atuin:latest server start
```
## Docker Compose
Использование вашего собственного docker-образа с хостингом вашего собственного Autin может быть реализовано через
файл docker-compose.
Создайте файл `.env` рядом с `docker-compode.yml` с содержанием наподобие этому:
```
ATUIN_DB_USERNAME=atuin
# Choose your own secure password
ATUIN_DB_PASSWORD=really-insecure
```
Создайте `docker-compose.yml`:
```yaml
version: '3.5'
services:
atuin:
restart: always
image: ghcr.io/ellie/atuin:main
command: server start
volumes:
- "./config:/config"
links:
- postgresql:db
ports:
- 8888:8888
environment:
ATUIN_HOST: "0.0.0.0"
ATUIN_OPEN_REGISTRATION: "true"
ATUIN_DB_URI: postgres://$ATUIN_DB_USERNAME:$ATUIN_DB_PASSWORD@db/atuin
postgresql:
image: postgres:14
restart: unless-stopped
volumes: # Don't remove permanent storage for index database files!
- "./database:/var/lib/postgresql/data/"
environment:
POSTGRES_USER: $ATUIN_DB_USERNAME
POSTGRES_PASSWORD: $ATUIN_DB_PASSWORD
POSTGRES_DB: atuin
```
Запустите службы с помощью `docker-compose`:
```sh
docker-compose up -d
```
### Использование systemd для управления сервером Autin
`systemd` юнит чтобы управлять службами, контролируемыми `docker-compose`:
```
[Unit]
Description=Docker Compose Atuin Service
Requires=docker.service
After=docker.service
[Service]
# Where the docker-compose file is located
WorkingDirectory=/srv/atuin-server
ExecStart=/usr/bin/docker-compose up
ExecStop=/usr/bin/docker-compose down
TimeoutStartSec=0
Restart=on-failure
StartLimitBurst=3
[Install]
WantedBy=multi-user.target
```
Включите и запустите службу командой:
```sh
systemctl enable --now atuin
```
Проверьте, работает ли:
```sh
systemctl status atuin
```

View File

@ -0,0 +1,20 @@
# `atuin gen-completions`
[Shell completions](https://en.wikipedia.org/wiki/Command-line_completion) для Atuin
могут бять сгенерированы путём указания каталога для вывода и желаемого shell через субкомманду `gen-completions`.
```
$ atuin gen-completions --shell bash --out-dir $HOME
Shell completion for BASH is generated in "/home/user"
```
Возможные команды для аргумента `--shell`могут быть следующими:
- `bash`
- `fish`
- `zsh`
- `powershell`
- `elvish`
Также рекомендуем прочитать [supported shells](./../../README.md#supported-shells).

40
docs/ru/stats_ru.md Normal file
View File

@ -0,0 +1,40 @@
# `atuin stats`
Atuin также может выводить статистику, основанную на истории. Пока что в очень простом виде,
но скоро должно появиться больше возможностей.
Статистика выводится пока только на английском
Statistics in english only
# TODO
```
$ atuin stats day last friday
+---------------------+------------+
| Statistic | Value |
+---------------------+------------+
| Most used command | git status |
+---------------------+------------+
| Commands ran | 450 |
+---------------------+------------+
| Unique commands ran | 213 |
+---------------------+------------+
$ atuin stats day 01/01/21 # also accepts absolute dates
```
Также, может быть выведена статистика всей известной Autin истории:
```
$ atuin stats all
+---------------------+-------+
| Statistic | Value |
+---------------------+-------+
| Most used command | ls |
+---------------------+-------+
| Commands ran | 8190 |
+---------------------+-------+
| Unique commands ran | 2996 |
+---------------------+-------+
```

60
docs/ru/sync_ru.md Normal file
View File

@ -0,0 +1,60 @@
# `atuin sync`
Autin может сделать резервную копию вашей истории на сервер чтобы обеспечить использование
разными компьютерами одной и той же истории. Вся история будет зашифрована двусторонним шифрованием,
так что сервер _никогда_ не получит ваши данные!
Можно сделать свой сервер (запустив `atuin server start`, об этом написано в других
файлах документациии), но у меня есть свой https://api.atuin.sh. Это серверный адрес по умолчанию,
который может быть изменён в [конфигурации](config_ru.md). Опять же, я е_ могу получить ваши данные
и они мне не нужны.
## Частота синхронизации
Синхронизация будет происходить автоматически, если обратное не было указано в конфигурации.
Отконфигурировать сей параметр можно в [config](config_ru.md)
## Синхронизация
Синхронизироваться также можно вручную, используя команду `atuin sync`
## Регистрация
Можно зарегистрировать аккаунт для синхронизации:
```
atuin register -u <USERNAME> -e <EMAIL> -p <PASSWORD>
```
Имена пользователей должны быть уникальны, и электронная почта должна использваться
только для срочных уведомлений (изменения политик, нарушения безопасности и т.д.)
Псоле регистрации, вы уже сразу вошли в свой аккаунт :) С этого момента синхронизация
будет проходить автоматически
## Ключ
Поскольку все данные шифруются, Autin при работе сгенерирует ваш ключ. Он будет сохранён в
каталоге с данными Autin (`~/.local/share/atuin` на системах с GNU/Linux)
Также можно сделать это самим:
```
atuin key
```
Никогда не передавайте никому этот ключ!
## Вход
Если вы хотите войти с другого компьютера, вам потребуется ключ безопасности (`atuin key`).
```
atuin login -u <USERNAME> -p <PASSWORD> -k <KEY>
```
## Выход
```
atuin logout
```