docs: translate README to Russian
This commit is contained in:
197
README.md
197
README.md
@@ -1,171 +1,174 @@
|
||||
# Daily Timer
|
||||
|
||||
A desktop application for managing daily standup meetings with time tracking, participant management, and statistics.
|
||||
Десктопное приложение для проведения daily standup митингов с отслеживанием времени, управлением участниками и статистикой.
|
||||
|
||||
## Features
|
||||
## Возможности
|
||||
|
||||
- ⏱️ **Timer Display** - Large, visible timer for current speaker with progress bar
|
||||
- 👥 **Participant Management** - Predefined list with configurable time limits per person
|
||||
- 🔄 **Speaking Queue** - Visual queue with ability to reorder, skip, or move speakers
|
||||
- ⏭️ **Skip Function** - Move unprepared participants to end of queue
|
||||
- ✅ **Attendance Tracking** - Mark participants as present/absent before meeting
|
||||
- ⚠️ **Time Warnings** - Visual and audio alerts when time is running out
|
||||
- 📊 **Statistics** - Track meeting duration, overtime, and individual performance
|
||||
- 📈 **History** - View past meetings with detailed breakdowns
|
||||
- 💾 **Export** - Export data in JSON or CSV format
|
||||
- 🔊 **Sound Notifications** - Configurable audio alerts
|
||||
- ⏱️ **Таймер** — крупный таймер текущего спикера с прогресс-баром
|
||||
- 👥 **Управление участниками** — список с настраиваемым лимитом времени для каждого
|
||||
- 🔄 **Очередь выступлений** — визуальная очередь, можно менять порядок
|
||||
- ⏭️ **Пропуск** — переместить неготового участника в конец очереди
|
||||
- ✅ **Отметка присутствия** — пометить кто есть/отсутствует перед митингом
|
||||
- ⚠️ **Предупреждения** — визуальные и звуковые оповещения когда время заканчивается
|
||||
- 📊 **Статистика** — длительность митингов, превышения, показатели участников
|
||||
- 📈 **История** — просмотр прошлых митингов с детальной разбивкой
|
||||
- 💾 **Экспорт** — экспорт данных в JSON или CSV
|
||||
- 🔊 **Звуковые уведомления** — настраиваемые звуковые оповещения
|
||||
|
||||
## Screenshots
|
||||
## Скриншоты
|
||||
|
||||
_(Coming soon)_
|
||||
_(Скоро)_
|
||||
|
||||
## Requirements
|
||||
## Требования
|
||||
|
||||
- macOS 10.15+ (Catalina or later)
|
||||
- macOS 10.15+ (Catalina и выше)
|
||||
- Go 1.21+
|
||||
- Node.js 18+
|
||||
- Wails CLI v2
|
||||
|
||||
## Installation
|
||||
## Установка
|
||||
|
||||
### Install Wails CLI
|
||||
### Установка Wails CLI
|
||||
|
||||
```bash
|
||||
go install github.com/wailsapp/wails/v2/cmd/wails@latest
|
||||
```
|
||||
|
||||
### Clone and Build
|
||||
### Клонирование и сборка
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-username/daily-timer.git
|
||||
git clone https://git.movida.biz/bell/daily-timer.git
|
||||
cd daily-timer
|
||||
|
||||
# Initialize project
|
||||
# Инициализация проекта
|
||||
make init
|
||||
|
||||
# Development mode
|
||||
# Режим разработки
|
||||
make dev
|
||||
|
||||
# Build for production
|
||||
# Сборка для production
|
||||
make build
|
||||
```
|
||||
|
||||
The built application will be in `build/bin/`.
|
||||
Собранное приложение будет в `build/bin/`.
|
||||
|
||||
### macOS Gatekeeper
|
||||
|
||||
Since the app is not signed with an Apple Developer certificate, macOS may show "app is damaged" error. To fix:
|
||||
Приложение не подписано Apple Developer сертификатом, поэтому macOS может показать ошибку "приложение повреждено". Исправление:
|
||||
|
||||
```bash
|
||||
# Remove quarantine attribute
|
||||
# Убрать атрибут карантина
|
||||
xattr -cr "Daily Timer.app"
|
||||
```
|
||||
|
||||
Or right-click the app → Open → Open (first launch only).
|
||||
Или: правый клик → Открыть → Открыть (только при первом запуске).
|
||||
|
||||
## Usage
|
||||
## Использование
|
||||
|
||||
### Setup Meeting
|
||||
### Подготовка митинга
|
||||
|
||||
1. **Add Participants** - Enter names and set individual time limits
|
||||
2. **Set Meeting Limit** - Configure total meeting duration (default: 15 minutes)
|
||||
3. **Arrange Order** - Drag to reorder speaking sequence
|
||||
4. **Mark Attendance** - Toggle present/absent status
|
||||
1. **Добавить участников** — ввести имена и установить лимиты времени
|
||||
2. **Установить общий лимит** — настроить длительность митинга (по умолчанию: 15 минут)
|
||||
3. **Упорядочить** — перетащить для изменения порядка выступлений
|
||||
4. **Отметить присутствие** — переключить статус присутствия/отсутствия
|
||||
|
||||
### During Meeting
|
||||
### Во время митинга
|
||||
|
||||
1. Click **Start Meeting** to begin
|
||||
2. Timer shows current speaker with countdown
|
||||
3. Click **Next Speaker** to advance (or press ⌘N)
|
||||
4. Click **Skip** to move current speaker to end of queue
|
||||
5. Use **Pause/Resume** for interruptions
|
||||
6. Click **Stop** to end meeting early
|
||||
1. Нажать **Начать митинг**
|
||||
2. Таймер показывает текущего спикера с обратным отсчётом
|
||||
3. Нажать **Следующий** для перехода (или ⌘N)
|
||||
4. Нажать **Пропустить** чтобы переместить спикера в конец очереди
|
||||
5. Использовать **Пауза/Продолжить** для прерываний
|
||||
6. Нажать **Стоп** для досрочного завершения
|
||||
|
||||
### Keyboard Shortcuts
|
||||
### Горячие клавиши
|
||||
|
||||
| Key | Action |
|
||||
| ----- | ------------ |
|
||||
| ⌘N | Next Speaker |
|
||||
| ⌘S | Skip Speaker |
|
||||
| Space | Pause/Resume |
|
||||
| ⌘Q | Stop Meeting |
|
||||
| Клавиша | Действие |
|
||||
| ------- | ----------------- |
|
||||
| ⌘N | Следующий спикер |
|
||||
| ⌘S | Пропустить |
|
||||
| Space | Пауза/Продолжить |
|
||||
| ⌘Q | Остановить митинг |
|
||||
|
||||
### Statistics
|
||||
### Статистика
|
||||
|
||||
- View historical meeting data in the **History** tab
|
||||
- Filter by date range
|
||||
- Export to JSON or CSV for external analysis
|
||||
- Track participant overtime frequency and average speaking time
|
||||
- Просмотр истории в вкладке **История**
|
||||
- Фильтрация по датам
|
||||
- Экспорт в JSON или CSV для анализа
|
||||
- Отслеживание превышений и среднего времени выступлений
|
||||
|
||||
## Configuration
|
||||
## Конфигурация
|
||||
|
||||
Settings are stored in `~/Library/Application Support/DailyTimer/`:
|
||||
Настройки хранятся в `~/Library/Application Support/DailyTimer/`:
|
||||
|
||||
- `daily-timer.db` - SQLite database with all data
|
||||
- `sounds/` - Custom sound files (optional)
|
||||
- `daily-timer.db` — SQLite база данных со всеми данными
|
||||
- `sounds/` — кастомные звуковые файлы (опционально)
|
||||
|
||||
### Custom Sounds
|
||||
### Кастомные звуки
|
||||
|
||||
Place custom MP3 files in the sounds directory:
|
||||
Положить MP3 файлы в директорию sounds:
|
||||
|
||||
- `warning.mp3` - Plays when time is running low
|
||||
- `timeup.mp3` - Plays when speaker time expires
|
||||
- `meeting_end.mp3` - Plays when meeting ends
|
||||
- `warning.mp3` — воспроизводится когда время заканчивается
|
||||
- `timeup.mp3` — воспроизводится когда время спикера истекло
|
||||
- `meeting_end.mp3` — воспроизводится при завершении митинга
|
||||
|
||||
## Development
|
||||
## Разработка
|
||||
|
||||
### Project Structure
|
||||
### Структура проекта
|
||||
|
||||
```
|
||||
daily-timer/
|
||||
├── main.go # Wails application entry point
|
||||
├── main.go # Точка входа Wails приложения
|
||||
├── internal/
|
||||
│ ├── app/ # Application logic and Wails bindings
|
||||
│ ├── models/ # Data models
|
||||
│ ├── storage/ # SQLite database layer
|
||||
│ └── timer/ # Timer logic with events
|
||||
│ ├── app/ # Логика приложения и Wails bindings
|
||||
│ ├── models/ # Модели данных
|
||||
│ ├── storage/ # Слой работы с SQLite
|
||||
│ └── timer/ # Логика таймера с событиями
|
||||
├── frontend/
|
||||
│ ├── src/
|
||||
│ │ ├── App.svelte # Main application
|
||||
│ │ └── components/ # UI components
|
||||
│ └── wailsjs/ # Generated Go bindings
|
||||
├── wails.json # Wails configuration
|
||||
├── Makefile # Build commands
|
||||
│ │ ├── App.svelte # Главный компонент
|
||||
│ │ └── components/ # UI компоненты
|
||||
│ └── wailsjs/ # Сгенерированные Go bindings
|
||||
├── wails.json # Конфигурация Wails
|
||||
├── Makefile # Команды сборки
|
||||
└── README.md
|
||||
```
|
||||
|
||||
### Commands
|
||||
### Команды
|
||||
|
||||
```bash
|
||||
make dev # Start development with hot reload
|
||||
make build # Build production binary
|
||||
make test # Run tests
|
||||
make fmt # Format code
|
||||
make lint # Run linters
|
||||
make clean # Clean build artifacts
|
||||
make dev # Запуск разработки с hot reload
|
||||
make build # Сборка production бинарника
|
||||
make test # Запуск тестов
|
||||
make fmt # Форматирование кода
|
||||
make lint # Запуск линтеров
|
||||
make clean # Очистка артефактов сборки
|
||||
```
|
||||
|
||||
## Roadmap
|
||||
### Релиз
|
||||
|
||||
- [ ] Drag-and-drop participant reordering
|
||||
- [ ] Telegram integration (send meeting summary)
|
||||
- [ ] Calendar integration (auto-schedule)
|
||||
- [ ] Team templates
|
||||
- [ ] Cloud sync
|
||||
- [ ] Windows/Linux support
|
||||
```bash
|
||||
# 1. Создать тег версии
|
||||
git tag -a v0.2.0 -m "Описание релиза"
|
||||
git push origin v0.2.0
|
||||
|
||||
## License
|
||||
# 2. Собрать и опубликовать
|
||||
GITEA_TOKEN=<token> make release-publish
|
||||
```
|
||||
|
||||
MIT License - see [LICENSE](LICENSE) for details.
|
||||
## Планы
|
||||
|
||||
## Contributing
|
||||
- [ ] Drag-and-drop для порядка участников
|
||||
- [ ] Интеграция с Telegram (отправка сводки митинга)
|
||||
- [ ] Интеграция с календарём (авто-расписание)
|
||||
- [ ] Шаблоны команд
|
||||
- [ ] Облачная синхронизация
|
||||
- [ ] Поддержка Windows/Linux
|
||||
|
||||
1. Fork the repository
|
||||
2. Create a feature branch
|
||||
3. Make your changes
|
||||
4. Run tests and linting
|
||||
5. Submit a pull request
|
||||
## Лицензия
|
||||
|
||||
## Support
|
||||
MIT License — см. [LICENSE](LICENSE).
|
||||
|
||||
For issues and feature requests, please use GitHub Issues.
|
||||
## Поддержка
|
||||
|
||||
Для багов и запросов функций используйте GitHub Issues.
|
||||
|
||||
Reference in New Issue
Block a user