pre=deploy

This commit is contained in:
2025-11-24 17:00:20 +09:00
parent 240864617f
commit 9106af4f8e
14 changed files with 1979 additions and 26 deletions

View File

@@ -0,0 +1,225 @@
# Чеклист локализации
## Фаза 1: Инфраструктура ✅ ЗАВЕРШЕНО
- [x] Добавить колонку `lang` в таблицу `users`
- [x] Создать миграцию `sql/add_user_language.sql`
- [x] Применить миграцию к БД
- [x] Создать `LanguageHandlers`
- [x] Добавить методы в `ProfileService` (getUserLanguage, updateUserLanguage)
- [x] Интегрировать выбор языка в `/start`
- [x] Добавить обработку callback `set_lang_*`
- [x] Обновить `ru.json` (секция language)
- [x] Обновить `en.json` (секция language)
- [x] Создать документацию
- [x] Создать скрипт поиска хардкода
- [x] Протестировать выбор языка
## Фаза 2: Замена хардкод-текстов ⚠️ В ПРОЦЕССЕ
### Приоритет 1: Обработчики (HIGH)
#### callbackHandlers.ts (90 текстов)
- [ ] Просмотр профилей (showProfile, showNextCandidate) - ~15 текстов
- [ ] Редактирование профиля (edit_name, edit_age, edit_bio) - ~20 текстов
- [ ] Лайки и матчи (handleLike, handleMatch) - ~10 текстов
- [ ] VIP функции (handleVIPSearch, translateProfile) - ~15 текстов
- [ ] Меню и кнопки - ~20 текстов
- [ ] Прочие обработчики - ~10 текстов
**Прогресс:** 0/90 (0%)
#### messageHandlers.ts (21 текст)
- [ ] Создание профиля (handleCreateProfile) - ~8 текстов
- [ ] Ввод данных профиля (name, age, city, bio) - ~8 текстов
- [ ] Валидация ввода - ~5 текстов
**Прогресс:** 0/21 (0%)
#### notificationHandlers.ts (31 текст)
- [ ] Настройки уведомлений - ~15 текстов
- [ ] Меню уведомлений - ~10 текстов
- [ ] Обработка включения/выключения - ~6 текстов
**Прогресс:** 0/31 (0%)
### Приоритет 2: Сервисы (MEDIUM)
#### notificationService.ts (22 текста)
- [ ] Уведомления о лайках - ~8 текстов
- [ ] Уведомления о матчах - ~8 текстов
- [ ] Уведомления о сообщениях - ~6 текстов
**Прогресс:** 0/22 (0%)
### Приоритет 3: Контроллеры (MEDIUM)
#### vipController.ts (21 текст)
- [ ] VIP поиск - ~10 текстов
- [ ] Фильтры - ~8 текстов
- [ ] Перевод анкет - ~3 текста
**Прогресс:** 0/21 (0%)
#### profileEditController.ts (21 текст)
- [ ] Редактирование полей - ~15 текстов
- [ ] Валидация - ~6 текстов
**Прогресс:** 0/21 (0%)
### Приоритет 4: Команды (LOW)
#### commandHandlers.ts (6 текстов)
- [ ] Справка (/help) - ~3 текста
- [ ] Команды - ~3 текста
**Прогресс:** 0/6 (0%)
### Прочие файлы (LOW)
- [ ] enhancedChatHandlers.ts (4 текста)
- [ ] likeBackHandler.ts (2 текста)
**Прогресс:** 0/6 (0%)
**ИТОГО ФАЗА 2:** 0/239 (0%)
## Фаза 3: Переводы ⏳ НЕ НАЧАТО
### Базовые секции (для всех 9 языков)
- [ ] **language.*** - Секция управления языком
- [ ] es (Español)
- [ ] fr (Français)
- [ ] de (Deutsch)
- [ ] it (Italiano)
- [ ] pt (Português)
- [ ] ko (한국어)
- [ ] zh (中文)
- [ ] ja (日本語)
- [ ] kk (Қазақша)
- [ ] uz (O'zbek)
### Полные переводы
После завершения Фазы 2, перевести все новые ключи:
- [ ] **es.json** (Español) - 0% готовности
- [ ] **fr.json** (Français) - 0% готовности
- [ ] **de.json** (Deutsch) - 0% готовности
- [ ] **it.json** (Italiano) - 0% готовности
- [ ] **pt.json** (Português) - 0% готовности
- [ ] **ko.json** (한국어) - 0% готовности
- [ ] **zh.json** (中文) - 0% готовности
- [ ] **ja.json** (日本語) - 0% готовности
- [ ] **kk.json** (Қазақша) - 0% готовности
- [ ] **uz.json** (O'zbek) - 0% готовности
**Примечание:** Нанять native speakers или использовать профессиональные сервисы перевода.
## Фаза 4: Дополнительные функции ⏳ НЕ НАЧАТО
- [ ] Добавить кнопку "🌍 Язык" в настройки
- [ ] Создать команду `/language`
- [ ] Добавить автоопределение языка по `msg.from.language_code` (опционально)
- [ ] Написать тесты для локализации
- [ ] Создать админ-панель для управления переводами (опционально)
## Прогресс по файлам
| Файл | Текстов | Заменено | % | Статус |
|------|---------|----------|---|--------|
| callbackHandlers.ts | 90 | 0 | 0% | ⏳ Не начато |
| notificationHandlers.ts | 31 | 0 | 0% | ⏳ Не начато |
| notificationService.ts | 22 | 0 | 0% | ⏳ Не начато |
| messageHandlers.ts | 21 | 0 | 0% | ⏳ Не начато |
| vipController.ts | 21 | 0 | 0% | ⏳ Не начато |
| profileEditController.ts | 21 | 0 | 0% | ⏳ Не начато |
| commandHandlers.ts | 6 | 0 | 0% | ⏳ Не начато |
| enhancedChatHandlers.ts | 4 | 0 | 0% | ⏳ Не начато |
| likeBackHandler.ts | 2 | 0 | 0% | ⏳ Не начато |
**ОБЩИЙ ПРОГРЕСС:** 0/218 (0%)
*(Исключены скрипты: cleanDb.ts, createTestData.ts, getDatabaseInfo.ts, enhanceNotifications.ts, add-premium-columns.ts)*
## Оценка времени
| Фаза | Задача | Время | Статус |
|------|--------|-------|--------|
| 1 | Инфраструктура | 4-6 ч | ✅ Завершено |
| 2 | Замена хардкода | 15-22 ч | ⏳ 0% |
| 3 | Переводы (9 языков) | 18-27 ч | ⏳ 0% |
| 4 | Доп. функции | 3-5 ч | ⏳ 0% |
**ИТОГО:** 40-60 часов работы
**ВЫПОЛНЕНО:** ~5 часов (инфраструктура)
**ОСТАЛОСЬ:** ~35-55 часов
## Еженедельные цели
### Неделя 1 (текущая)
- [x] Создать инфраструктуру локализации
- [ ] Заменить тексты в callbackHandlers.ts (90 текстов)
- [ ] Заменить тексты в messageHandlers.ts (21 текст)
**Цель:** Завершить 111 замен (46% от общего)
### Неделя 2
- [ ] Заменить тексты в notificationHandlers.ts (31 текст)
- [ ] Заменить тексты в notificationService.ts (22 текста)
- [ ] Заменить тексты в контроллерах (42 текста)
**Цель:** Завершить 95 замен (40% от общего)
### Неделя 3
- [ ] Заменить оставшиеся тексты (12 текстов)
- [ ] Начать переводы базовых секций (language.*)
- [ ] Перевести 3-4 языка
**Цель:** Завершить замены (100%), переводы (40%)
### Неделя 4
- [ ] Завершить переводы всех 9 языков
- [ ] Добавить кнопку смены языка в настройки
- [ ] Финальное тестирование
- [ ] Деплой в production
**Цель:** 100% готовности системы локализации
## Метрики качества
- [ ] Все хардкод-тексты заменены (0/218)
- [ ] Все языковые файлы содержат одинаковые ключи (0/10)
- [ ] Нет TypeScript ошибок
- [ ] Нет runtime ошибок при переключении языков
- [ ] Все кнопки и меню работают на всех языках
- [ ] Документация обновлена
- [ ] Написаны тесты (опционально)
## Как обновлять этот файл
После замены текстов в файле, обновите прогресс:
```markdown
#### callbackHandlers.ts (90 текстов)
- [x] Просмотр профилей (showProfile, showNextCandidate) - ~15 текстов ✅
- [ ] Редактирование профиля (edit_name, edit_age, edit_bio) - ~20 текстов
...
**Прогресс:** 15/90 (17%) ⚠️ В процессе
```
## Примечания
- **⏳** = Не начато
- **⚠️** = В процессе
- **✅** = Завершено
- **❌** = Заблокировано
---
**Последнее обновление:** 06.11.2025
**Статус проекта:** Фаза 1 завершена, Фаза 2 готова к старту
**Общий прогресс:** ~10% (инфраструктура готова)