- UploadsRepo: локальный клон, fetch не чаще fetch_interval, ls-tree -z (пробелы/кириллица), cat-file, последний коммит по пути; git без shell, ssh с -F /dev/null (без конфига хоста) - «📝 Коммит»: папки/файлы с размерами, ⬆️ Вверх, страницы по 20, карточка файла с последним коммитом, «👁 Показать» (<pre> или документом); в кнопках только индексы - ключ для контейнера: GIT_SSH_KEY_B64 → временный файл 0600 (смонтированный файл хоста контейнерному uid не прочитать); volume /data для клона - тесты на настоящем bare-репозитории во временной папке Refs #8 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
81 lines
3.6 KiB
YAML
81 lines
3.6 KiB
YAML
# Тексты интерфейса бота. Ключи читает app/texts.py; отсутствующий ключ — ошибка при старте.
|
||
|
||
menu:
|
||
commit: "📝 Коммит"
|
||
status: "🩺 Статус"
|
||
logs: "📜 Логи"
|
||
alerts: "🚨 Алерты"
|
||
members: "👥 Участники"
|
||
back: "⬅️ Назад"
|
||
cancel: "✖️ Отмена"
|
||
placeholder: "Выберите раздел"
|
||
|
||
start:
|
||
welcome: |-
|
||
Привет! Я tgit — git в телеграме.
|
||
|
||
📝 Коммит — изменить файлы и запушить
|
||
🩺 Статус — контейнеры и их health
|
||
📜 Логи — хвост, свой grep или вопрос агенту
|
||
🚨 Алерты — падения, перегрузка, список
|
||
no_access: "Доступ к боту — только по приглашению. Попросите QR-код у администратора."
|
||
invite_rejected: "Приглашение недействительно: истекло, уже использовано или ссылка неверная. Попросите новое у администратора."
|
||
|
||
help:
|
||
text: |-
|
||
/menu — главное меню из любого места
|
||
/help — эта справка
|
||
|
||
Разделы открываются кнопками внизу. В любом шаге есть «⬅️ Назад» и «✖️ Отмена».
|
||
|
||
section:
|
||
commit: "📝 Коммит\n\nРаздел в разработке."
|
||
status: "🩺 Статус\n\nРаздел в разработке."
|
||
logs: "📜 Логи\n\nРаздел в разработке."
|
||
alerts: "🚨 Алерты\n\nРаздел в разработке."
|
||
members: "👥 Участники\n\nРаздел в разработке."
|
||
cancelled: "Отменено. Главное меню — кнопками внизу."
|
||
|
||
members:
|
||
title: "👥 Участники: {count}"
|
||
line: "{icon} {name}{username} · с {joined} · был(а) {seen}"
|
||
never: "—"
|
||
invite: "➕ Пригласить"
|
||
revoke: "🚫 {name}"
|
||
confirm: "Отозвать доступ у {name}? Его черновик удалится, кнопки перестанут работать."
|
||
confirm_yes: "Да, отозвать"
|
||
confirm_no: "Нет"
|
||
revoked: "Доступ отозван: {name}."
|
||
not_revoked: "Нельзя отозвать: администратор или уже без доступа."
|
||
invite_caption: |-
|
||
Приглашение в tgit — отсканируйте QR или откройте ссылку:
|
||
{link}
|
||
|
||
Одноразовое, действует до {expires} UTC.
|
||
|
||
commit:
|
||
title: "📝 Коммит · /{path}"
|
||
empty: "Папка пуста."
|
||
page: "Стр. {page} из {pages}"
|
||
up: "⬆️ Вверх"
|
||
prev: "◀️"
|
||
next: "▶️"
|
||
dir_button: "📁 {name}"
|
||
file_button: "📄 {name} · {size}"
|
||
new_file: "➕ Новый файл"
|
||
new_dir: "📁 Новая папка"
|
||
file_card: |-
|
||
📄 /{path}
|
||
Размер: {size}
|
||
last_commit: |-
|
||
Последний коммит: {sha} · {author} · {date}
|
||
{subject}
|
||
no_commits: "Коммитов по файлу нет."
|
||
view: "👁 Показать"
|
||
replace: "✏️ Заменить"
|
||
delete: "🗑 Удалить"
|
||
to_dir: "⬅️ К папке"
|
||
soon: "Будет в следующей версии."
|
||
unavailable: "Репозиторий загрузок недоступен, попробуйте через минуту."
|
||
sent_as_file: "Файл большой или бинарный — отправил документом."
|