Files
tg_tinder_bot/docs/LOCALIZATION_CHECKLIST.md
2025-11-24 17:00:20 +09:00

9.0 KiB
Raw Permalink Blame History

Чеклист локализации

Фаза 1: Инфраструктура ЗАВЕРШЕНО

  • Добавить колонку lang в таблицу users
  • Создать миграцию sql/add_user_language.sql
  • Применить миграцию к БД
  • Создать LanguageHandlers
  • Добавить методы в ProfileService (getUserLanguage, updateUserLanguage)
  • Интегрировать выбор языка в /start
  • Добавить обработку callback set_lang_*
  • Обновить ru.json (секция language)
  • Обновить en.json (секция language)
  • Создать документацию
  • Создать скрипт поиска хардкода
  • Протестировать выбор языка

Фаза 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 (текущая)

  • Создать инфраструктуру локализации
  • Заменить тексты в 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 ошибок при переключении языков
  • Все кнопки и меню работают на всех языках
  • Документация обновлена
  • Написаны тесты (опционально)

Как обновлять этот файл

После замены текстов в файле, обновите прогресс:

#### callbackHandlers.ts (90 текстов)
- [x] Просмотр профилей (showProfile, showNextCandidate) - ~15 текстов ✅
- [ ] Редактирование профиля (edit_name, edit_age, edit_bio) - ~20 текстов
...

**Прогресс:** 15/90 (17%) ⚠️ В процессе

Примечания

  • = Не начато
  • ⚠️ = В процессе
  • = Завершено
  • = Заблокировано

Последнее обновление: 06.11.2025
Статус проекта: Фаза 1 завершена, Фаза 2 готова к старту
Общий прогресс: ~10% (инфраструктура готова)